CarbCam – Hoe werkt het?
Hoe werkt CarbCam?
CarbCam neemt je foto, stuurt deze naar een AI-service, ontvangt een schatting van de componenten terug, controleert de waarden met standaard voedingswaardedatabanken op plausibiliteit en toont je het resultaat.
Procesoverzicht
Proces in detail
1 Foto-opname & lokaal bijsnijden
De foto blijft eerst volledig op je apparaat. Je kunt hem bijsnijden, draaien, opnieuw maken. Pas bij het tikken op „Analyseren“ wordt er iets geüpload.
2 Server-cache-query (Precheck)
Voordat de afbeelding naar de AI wordt gestuurd, controleert de app via SHA-512-hash en perceptuele hash of een identieke of zeer vergelijkbare foto al in de server-cache staat. Bij een treffer krijg je het opgeslagen resultaat direct terug — zonder een nieuwe AI-aanroep. Een aansluitende Confirm-stap markeert de cache-entry als verbruikt (quota-telling).
3 Upload naar AI-analyse
Als er geen cache-treffer is, wordt de (bijgesneden) foto naar ons analyse-endpoint gestuurd. Daar wordt een Vision-model aangeroepen dat de afbeelding beschrijft en de afzonderlijke componenten benoemt + ruwe hoeveelheden schat.
4 Achtergrond-plausibiliteitscontrole (alleen bij lage confidence)
Als de AI-schatting een lage confidence meldt, start de server op de achtergrond een kruiscontrole tegen voedingswaardedatabanken (USDA FoodData Central, Open Food Facts). De gecorrigeerde waarden worden in de cache opgenomen — bij de volgende treffer op dezelfde of een vergelijkbare foto zie je het verbeterde resultaat. Bij scans met hoge confidence wordt deze stap overgeslagen.
Voor barcodes wordt de Open Food Facts-/USDA-vergelijking echter altijd direct uitgevoerd, omdat de voedingswaardentabel van de fabrikant hier de primaire bron is.
5 Bewerking door jou
Je kunt elke waarde overschrijven — hoeveelheid, KH, kcal, FPE, component. Bij het opslaan worden jouw waarden gebruikt, niet de AI-schatting. De app slaat je totale KH-correctie op (Gebruiker: Xg vs AI: Yg) als verschil voor statistische doeleinden.
6 Opslaan & Nightscout-synchronisatie
Lokaal in een SQLite-databank. Optioneel daarnaast via Nightscout-sync naar je Nightscout-instantie — maar alleen als Note in de Treatment-tabel
(met de tag carbcam resp. 10becarbcam), niet als actief KH-/IE-Treatment.
Je Loop/AAPS/iAPS-berekening wordt door CarbCam-opslag niet beïnvloed — de maaltijd is alleen zichtbaar als notitie.
Gebruik je Managed Nightscout van ns.10be.de, dan is de instelling extra eenvoudig: Nightscout-URL en API-secret invoeren — klaar.
Als je KH actief als Treatment wilt hebben, gebruik dan de Delen-knop in het scanresultaat — die stuurt de KH-waarde via deep-link naar Loop/iAPS/Trio resp. opent het systeem-deelvenster.
Wat is FPE?
FPE staat voor vet-eiwit-eenheden. Ze beschrijven hoeveel energie uit vet en eiwit de bloedsuiker vertraagd beïnvloedt.
Eén FPE komt overeen met ca. 100 kcal uit vet en eiwit. Voorbeeld:
- 30 g vet + 20 g eiwit = (270 + 80) ÷ 100 = 3,5 FPE
Pompgebruikers gebruiken FPE vaak om de verlengde bolus in te stellen (bijv. square-wave of dual-wave). Pengebruikers kunnen FPE als grove indicator gebruiken voor een late correctiesnack of een kleine middagcorrectie.
CarbCam toont de FPE als gele chip in de resultaatkaart. De kleuren van de voedingswaarden:
- KH Koolhydraten
- kcal Calorieën
- FPE Vet-eiwit-eenheden
- Vet Vet
- Eiwit Eiwit
BG-curve bij de maaltijd
Als Nightscout is geconfigureerd, laadt CarbCam de BG-gegevens van je Nightscout-instantie en toont in het geschiedenistabblad onder elke maaltijd de bloedsuikercurve. Het tijdvenster is platformafhankelijk en wordt automatisch rond de maaltijd gekozen. Samen met Nightscout maakt CarbCam gerichte post-maaltijd BG-tracking mogelijk.
Functies van de BG-curve (Nightscout-gegevens):
- Tijdvenster rond de maaltijd (platformafhankelijk)
- Markering voor het maaltijdtijdstip
- Piek-punt kleurgemarkeerd (rood/geel/groen afhankelijk van de hoogte)
- Stijging en eindwaarde als kernmetrieken
- IOB / COB als optionele overlay-lijnen
Nauwkeurigheid
De nauwkeurigheid hangt af van het type maaltijd:
| Type maaltijd | Typische afwijking | Voorbeelden |
|---|---|---|
| Duidelijke porties | ±20 % | Rijst, pasta, brood |
| Complexe maaltijden | ±30 % | Stoofpot, ovenschotels |
| Zeer ongebruikelijk | ±40 % of meer | Onbekende regionale gerechten |
| Verpakte producten | ±5 % | Automatische barcode-herkenning (fabrikantwaarde) |
Wat de nauwkeurigheid verbetert:
- Goed licht & scherpe foto — geen schaduwen over het bord
- Herkenbare componenten — pasta niet in de saus verdrinken
- Groottereferentie — bordrand, bestek, hand in beeld laten
- Standaardgerechten — de AI presteert goed bij bekende gerechten
Wat de nauwkeurigheid verslechtert:
- Buffetbord met veel kleine hoopjes
- Sterk met saus bedekte componenten
- Zeer ongebruikelijke regionale gerechten zonder duidelijke referentiedatabank
- Schuin van de zijkant gefotografeerd zonder groottereferentie
Wat dit betekent voor je bolus:
- Bij normale maaltijden: schatting als startpunt, je eigen kennis erbij betrekken, eventueel waarde corrigeren voordat je opslaat
- Bij kritische bolusbeslissingen (zeer hoge KH, hyporisico): altijd eigen kennis / databank / verpakking erbij nemen
- Met pomp: ervaring opdoen hoeveel jouw maaltijden typisch afwijken — en de schatting dan met je persoonlijke factor corrigeren
Wat gebeurt er offline?
Zonder internetverbinding werken de volgende onderdelen:
- Geschiedenis doorzoeken en filteren
- Items handmatig aanmaken en bewerken
- Stats-tabblad weergeven
- Gegevens exporteren (CSV/JSON)
- Foto’s maken en markeren voor latere analyse
Het volgende vereist een verbinding:
- AI-analyse (foto wordt naar de aanbieder gestuurd)
- Automatische barcode-herkenning (Open Food Facts)
- Nightscout-synchronisatie (BG-curve, Treatment-upload)