CarbCam: hvordan virker det?
Hvordan virker CarbCam?
CarbCam tager dit foto, sender det til en AI-tjeneste, modtager et estimat af komponenterne, validerer værdierne mod standardernæringsdatabaser og viser dig resultatet.
Procesoverblik
Processen i detaljer
1 Fotooptagelse & lokal billedbeskæring
Fotoet bliver i første omgang helt på din enhed. Du kan beskære, rotere eller tage det om. Intet uploades, før du trykker på “Analysér”.
2 Servercache-forespørgsel (forkontrol)
Før billedet overhovedet sendes til AI'en, kontrollerer appen via SHA-512-hash og perceptuel hash, om et identisk eller meget lignende foto allerede findes i servercachen. Er der et match, får du det gemte resultat tilbage med det samme, uden et nyt AI-kald. Et efterfølgende Bekræft-trin markerer cacheposten som forbrugt (kvotetælling).
3 Upload til AI-analyse
Hvis der ikke er et cachematch, sendes det (beskårne) foto til vores analyseendpoint. Der kaldes en vision-model (Gemini, Claude eller OpenAI, afhængigt af dit valg i appens indstillinger) til at beskrive billedet, navngive de enkelte komponenter og estimere omtrentlige mængder.
4 Baggrundsvalidering (kun ved lav tillid)
Hvis AI-estimatet rapporterer en lav tillid, starter serveren en krydskontrol i baggrunden mod ernæringsdatabaser (USDA FoodData Central, Open Food Facts). De korrigerede værdier føres ind i cachen: næste gang det samme eller et lignende foto matches, ser du det forbedrede resultat. For scanninger med høj tillid springes dette trin over.
For stregkoder udføres Open Food Facts / USDA-sammenligningen derimod altid direkte, da producentens ernæringstabel her er den primære kilde.
5 Din redigering
Du kan overskrive enhver værdi: mængde, kulhydrater, kcal, FPE, komponent. Ved gem bruges dine værdier, ikke AI-estimatet. Appen gemmer din samlede kulhydratkorrektion (Bruger: Xg vs AI: Yg) som en difference til statistiske formål.
6 Gem & Nightscout-synkronisering
Lokalt i en SQLite-database. Valgfrit også via Nightscout-synkronisering til din Nightscout-instans, men kun som en note i behandlingstabellen
(med taggen CarbCam), ikke som en aktiv kulhydrat-/insulinbehandling.
Dine Loop/AAPS/iAPS-beregninger påvirkes ikke af CarbCam-gem: måltidet er kun synligt som en note.
Bruger du Managed Nightscout fra ns.10be.de, er opsætningen særligt let: indtast Nightscout-URL og API secret, færdig.
Vil du have kulhydrater aktivt som en behandling, så brug Del-knappen i scanningsresultatet: den sender kulhydratværdien via deep link til AAPS/AndroidAPS, Loop, iAPS eller Trio, eller åbner systemets delingsark.
Hvad er FPE?
FPE står for fedt-protein-enheder. De beskriver, hvor meget energi fra fedt og protein der med forsinkelse påvirker blodsukkeret.
Én FPE svarer til cirka 100 kcal fra fedt og protein. Eksempel:
- 30 g fedt + 20 g protein = (270 + 80) ÷ 100 = 3,5 FPE
Pumpebrugere bruger ofte FPE til at indstille parametrene for forlænget bolus (fx firkant- eller dobbeltbølge). Penbrugere kan bruge FPE som en grov indikator for et sent korrektionsmåltid eller en lille eftermiddagskorrektion.
CarbCam viser FPE som en gul chip i resultatkortet. Ernæringsværdiernes farver:
- Carbs Kulhydrater
- kcal Kalorier
- FPE Fedt-protein-enheder
- Fat Fedt
- Protein Protein
Blodsukkerkurve under måltidet
Når Nightscout er konfigureret, indlæser CarbCam blodsukkerdata fra din Nightscout-instans og viser blodsukkerkurven i historik-fanen under hvert måltid. Tidsvinduet er platformafhængigt og vælges automatisk omkring måltidet. Sammen med Nightscout muliggør CarbCam målrettet blodsukkeropfølgning efter måltider.
Funktioner i blodsukkerkurven (Nightscout-data):
- Tidsvindue omkring måltidet (platformafhængigt)
- Markør for måltidstidspunktet
- Peak-punkt fremhævet med farve (rød/gul/grøn afhængigt af niveau)
- Stigning og slutværdi som nøgletal
- IOB / COB som valgfrie overlay-linjer
Nøjagtighed
Nøjagtigheden afhænger af måltidstypen:
| Måltidstype | Typisk afvigelse | Eksempler |
|---|---|---|
| Tydelige portioner | ±20 % | Ris, pasta, brød |
| Sammensatte måltider | ±30 % | Sammenkogte retter, gratiner |
| Meget usædvanlige | ±40 % eller mere | Ukendte regionale retter |
| Emballerede produkter | ±5 % | Automatisk stregkodegenkendelse (producentværdi via Open Food Facts) |
Hvad forbedrer nøjagtigheden:
- God belysning & skarpt foto: ingen skygger over tallerkenen
- Alle komponenter synlige: drukn ikke pastaen i sauce
- Størrelsesreference: hold tallerkenkanten, bestik eller hånd i billedet
- Standardretter: AI'en er god til velkendte retter
Hvad reducerer nøjagtigheden:
- Buffettallerkener med mange små bunker
- Komponenter dækket kraftigt af sauce
- Meget usædvanlige regionale retter uden en klar referencedatabase
- Fotograferet skråt fra siden uden en størrelsesreference
Hvad det betyder for din bolus:
- For normale måltider: brug estimatet som udgangspunkt, anvend din egen viden, og justér værdien før gem om nødvendigt
- For kritiske bolusbeslutninger (meget mange kulhydrater, hyporisiko): konsultér altid din egen viden / database / emballage
- Med en pumpe: opbyg erfaring med, hvor meget dine måltider typisk afviger, og korrigér så estimatet med din personlige faktor
Hvad sker der offline?
Uden internetforbindelse virker følgende funktioner:
- Gennemse og filtrér historik
- Opret og redigér poster manuelt
- Se statistik-fanen
- Eksportér data (CSV/JSON)
- Tag fotos og sæt dem i kø til senere analyse
Følgende kræver en forbindelse:
- AI-analyse (fotoet sendes til udbyderen)
- Automatisk stregkodeopslag (Open Food Facts)
- Nightscout-synkronisering (blodsukkerkurve, upload af behandling)