Hvordan Food Recognition AI Pipeline Fungerer: Fra Foto til Næringsdata
En detaljeret teknisk gennemgang af den komplette food recognition AI pipeline: fra kamerainput gennem CNN-funktionsekstraktion, fødevareklassifikation, portionsestimering og opslagsdatabase til den endelige kalorieberegning.
Når du tager et billede af din frokost og ser en fuld makrooversigt dukke op på under to sekunder, er det let at tage resultatet for givet. Bag den tilsyneladende øjeblikkelige visning ligger der dog en flertrins pipeline, der fører dit billede gennem kamerafangst, forbehandling, neuralt netværksinferens, klassifikation, portionsestimering, databaseopslag og endelig kalorieberegning, før noget når din skærm. Hvert trin løser et specifikt problem, afhænger af sit eget sæt algoritmer og afleverer et specifikt output til næste trin.
Denne artikel følger hele rejsen fra kameraudløser til næringsmærke. Undervejs vil vi nævne de arkitekturer, teknikker og ingeniørmæssige afvejninger, der gør hvert trin muligt, og vi vil fremhæve, hvor Nutrola har introduceret sine egne innovationer for at øge nøjagtigheden og hastigheden ud over branchens normer.
Trin 1: Kamerainput og Billedoptagelse
Alt begynder i det øjeblik, en bruger åbner kameraets søger og rammer en tallerken med mad. Moderne smartphones optager billeder med opløsninger fra 12 til 48 megapixel, hvilket producerer rå sensor data, der koder farveintensitetsværdier gennem et Bayer-filtermosaik. Enhedens billedsignalprocessor (ISP) demosaicerer disse data, anvender hvidbalance, reducerer støj og outputter en standard JPEG- eller HEIF-fil på en brøkdel af et sekund.
To hardwarefunktioner påvirker i stigende grad dette trin. For det første kan LiDAR-sensorer på de nyeste iPhone Pro og udvalgte Android-flagships optage et ledsagende dybdekort sammen med RGB-billedet. Disse dybdata bliver værdifulde senere under portionsestimeringen. For det andet giver enheder med time-of-flight-sensorer lignende, men grovere dybdeoplysninger, som pipelinen stadig kan udnytte, når LiDAR ikke er tilgængelig.
Pipelinen indtager RGB-billedet og, når det er tilgængeligt, dybkortet som et par input. Hvis enheden ikke tilbyder en dybdesensor, fortsætter pipelinen kun med RGB og kompenserer senere ved hjælp af monokulær dybdeestimering.
Nøgleoutput for dette trin
Et højopløseligt RGB-billede (og eventuelt et dybkort), der repræsenterer scenen foran brugeren.
Trin 2: Billedforbehandling
Rå kameradata er ikke klar til neuralt netværksinferens. Forbehandling omdanner billedet til en standardiseret tensor, som modellen forventer.
Ændring af størrelse og beskæring
De fleste food recognition-modeller accepterer input i en fast opløsning, typisk 224x224, 384x384 eller 512x512 pixels afhængigt af arkitekturen. Pipelinen ændrer størrelsen på billedet til denne målopløsning, mens den bevarer billedformatet ved at anvende letterboxing eller centrumbeskæring efter behov. Bicubic interpolation er den standard resamplingmetode, da den bedre bevarer fine teksturdetaljer end bilineære alternativer.
Normalisering
Pixelværdier konverteres fra 0-255 heltalsområdet til flydende tal og normaliseres derefter ved hjælp af den kanalvise gennemsnitsværdi og standardafvigelse fra træningsdatasættet. For modeller, der er fortrænet på ImageNet, anvendes de kanoniske normaliseringsværdier (gennemsnit på [0.485, 0.456, 0.406] og standardafvigelse på [0.229, 0.224, 0.225] for R-, G- og B-kanalerne henholdsvis). Denne normalisering centrerer inputfordelingen omkring nul og skalerer den til enhedens varians, hvilket stabiliserer gradientflowet under træningen og sikrer en konsekvent inferensadfærd.
Farverum og Augmentationsartefakter
Under træningen anvender pipelinen omfattende dataaugmentation: tilfældige rotationer, horisontale vendinger, farveforvrængning, Gaussisk sløring og cutout-patches. Ved inferens er disse augmentationer deaktiveret, men modellen har lært at være invariant over for de former for visuel støj, de simulerer. Dette betyder, at et foto taget under varmt restaurantlys og et foto taget under køligt fluorescerende kontorbelysning begge vil producere pålidelige funktionsrepræsentationer.
Nøgleoutput for dette trin
En normaliseret flydende tensor med faste rumlige dimensioner, klar til den neurale netværksryggrad.
Trin 3: CNN Funktionsekstraktion
Dette er den beregningsmæssige kerne af pipelinen. Et dybt konvolutionelt neuralt netværk (eller i stigende grad en vision transformer) behandler den forbehandlede tensor og producerer en tæt funktionsvektor, der koder det visuelle indhold af billedet i en form, som de efterfølgende klassifikations- og detektionshoved kan fortolke.
Backbone-arkitekturer
Flere backbone-arkitekturer har vist sig effektive til food recognition:
EfficientNet bruger sammensat skalering til at balancere netværksdybde, bredde og inputopløsning. EfficientNet-B4 og B5 er populære valg, fordi de leverer stærk nøjagtighed til en beregningsomkostning, der er overkommelig på mobile enheder, når de kombineres med kvantisering. Nutrola anvender en EfficientNet-afledt backbone, der er finjusteret på et proprietært fødevarebilleddatasæt, hvilket opnår en gunstig afvejning mellem latenstid og top-1 nøjagtighed.
Vision Transformers (ViT) opdeler billedet i faste størrelsespatches (typisk 16x16 pixels), projicerer hver patch ind i en indlejring og behandler sekvensen af indlejringer gennem multi-head self-attention-lag. ViTs excellerer i at fange langdistance rumlige relationer, for eksempel at forstå, at den brune skive ved siden af de grønne blade er en hamburgerpatty snarere end en chokolade småkage, fordi den omgivende kontekst inkluderer en bolle og salat. Hybridmodeller som DeiT (Data-efficient Image Transformer) og Swin Transformer har reduceret datakravene og de beregningsmæssige omkostninger ved rene ViTs, hvilket gør dem levedygtige for produktionssystemer til food recognition.
MobileNetV3 er optimeret til inferens på enheden med dybdeskillede konvolutioner og hardware-bevidst neurale arkitektursøgning. Den fungerer som backbone i latenstidskritiske stier, hvor modellen skal køre helt på enheden uden netværksrundtur.
Feature Pyramid Networks
Da fødevarer kan variere enormt i tilsyneladende størrelse inden for et enkelt billede (en stor pizza ved siden af en lille skål med dip), bruger pipelinen et Feature Pyramid Network (FPN) til at udtrække funktioner på flere rumlige skalaer. FPN bygger en top-down sti med laterale forbindelser fra backbone's mellemste funktionskort, hvilket producerer et sæt af multi-scale funktionskort, der er lige så udtryksfulde til at detektere små garniturer og store hovedretter.
Nøgleoutput for dette trin
Et sæt af multi-scale funktionskort (eller en enkelt pooled funktionsvektor til klassifikationsopgaver) der koder de visuelle semantikker for hver region i billedet.
Trin 4: Multi-Label Fødevareklassifikation og Detektion
Rigtige måltider indeholder sjældent kun én fødevare. En typisk middagstallerken kan indeholde grillet laks, dampet broccoli, brune ris og en citronskive. Pipelinen skal detektere, lokalisere og klassificere hver enkelt fødevare i billedet.
Objektdetektion med YOLO og DETR
Pipelinen anvender et objektdetektionshoved oven på de udtrukne funktionskort. To familier af detektorer dominerer dette område:
YOLO (You Only Look Once) udfører detektion i et enkelt fremadgående pas ved at opdele billedet i et gitter og forudsige grænseboks og klasse sandsynligheder for hver gittercelle samtidig. YOLOv8 og dets efterfølgere er særligt velegnede til mobilimplementering, fordi de behandler hele billedet i et enkelt skud i stedet for at foreslå og derefter forfine regioner. Nutrola bruger et YOLO-afledt detektionshoved, der er finjusteret på over 15.000 fødevareklasser fra globale køkkener.
DETR (Detection Transformer) behandler objektdetektion som et sæt forudsigelsesproblem, der bruger en transformer encoder-decoder-arkitektur til direkte at outputte et sæt detektioner uden behov for ankerbokse eller ikke-maksimal undertrykkelse. DETR håndterer overlappende fødevarer mere elegant end ankerbaserede metoder, fordi dens sætbaserede tab naturligt undgår dublerede forudsigelser.
Semantisk Segmentering for Blandede Retter
For sammensatte retter som salater, stir-fries og kornskåle, hvor distinkte ingredienser overlapper og blander sig, er grænsebokse for grove. Pipelinen skifter til en semantisk segmenteringsgren, ofte baseret på en U-Net eller DeepLabv3+-arkitektur, der klassificerer hver pixel i billedet. Denne pixel-niveau klassifikation giver systemet mulighed for at estimere andelen af hver ingrediens i en blandet ret, selv når der ikke er klare grænser, der adskiller dem.
Tillidsscorer og Kandidatrangering
Hver detektion kommer med en tillidsscore. Pipelinen anvender en tærskel (typisk 0.5 til 0.7 afhængigt af applikationen) for at filtrere lavt tillidsforudsigelser. Når den bedste forudsigelse er usikker, kan systemet præsentere de tre til fem bedste kandidater for brugeren til bekræftelse, hvilket reducerer fejlprocenter uden at kræve manuel indtastning.
Nutrolas klassifikationsmotor inkorporerer en brugerkontekstmæssig modul, der tager højde for brugerens tidligere måltider, køkkenpræferencer, geografiske placering og tidspunkt på dagen. Hvis en bruger ofte registrerer mexicansk køkken, og modellen er usikker mellem en hvedetortilla og en naan, skubber kontekstmodulet sandsynligheden mod tortillaen. Dette personaliseringslag reducerer mærkbart fejlklassifikationsrater over tid.
Nøgleoutput for dette trin
En liste over detekterede fødevarer, hver med en klasselabel, en grænseboks eller pixelmaske og en tillidsscore.
Trin 5: Portionsstørrelsesestimering
At vide, at en tallerken indeholder grillet kylling og ris, er ikke nok. Pipelinen skal estimere, hvor meget af hver fødevare der er til stede, fordi 100 gram kyllingebryst og 300 gram kyllingebryst adskiller sig med mere end 300 kalorier.
Monokulær Dybdeestimering
Når ingen hardware-dybdesensor er tilgængelig, bruger pipelinen en monokulær dybdeestimeringsmodel (ofte baseret på MiDaS eller DPT-arkitekturen) til at udlede et dybkort fra RGB-billedet alene. Disse modeller lærer at forudsige dybde fra kontekstuelle ledetråde som objekt overlapning, relativ størrelse, teksturgradienter og forsvindingspunkter. Det udledte dybkort, selvom det er mindre præcist end LiDAR-data, er tilstrækkeligt til at tilnærme den tredimensionelle form af mad på en tallerken.
Referenceobjekt Skalering
Et fotografi indeholder ingen iboende skala. Pipelinen løser dette ved at detektere referenceobjekter med kendte dimensioner i billedet. Tallerkener (typisk 25 til 27 cm i diameter), standard bestik, skåle og endda smartphonekanter kan forankre skalaen. Ved at passe en ellipse til den detekterede tallerkenkant og anvende projektiv geometri til at udlede synsvinklen, rekonstruerer pipelinen virkelige afstande fra pixelmålinger.
Volumen-til-Vægt Konvertering
Med madens tredimensionelle form estimeret beregner pipelinen volumen ved at integrere dybdeprofilen over madens pixelmaske. Derefter konverteres volumen til vægt ved hjælp af fødevarespecifikke tæthedstabeller. En kop bladgrønt vejer langt mindre end en kop hummus, så tæthedslokaliseringen er essentiel for nøjagtigheden.
Nutrola opretholder en proprietær tæthedsdatabase, der dækker tusindvis af fødevarer i forskellige tilberedningstilstande (rå, kogt, blendet, frosset) og bruger den til at konvertere estimerede volumener til gramvægte med højere nøjagtighed end generiske tæthedstabeller.
Nøgleoutput for dette trin
En estimeret vægt i gram for hver detekteret fødevare.
Trin 6: Opslagsdatabase Lookup
Når hver fødevare er klassificeret og vejet, forespørger pipelinen en næringsdatabase for at hente makronærings- og mikronæringsprofilen pr. 100 gram af den pågældende fødevare.
Databasearkitektur
Højkvalitets næringsdatabaser trækker fra statslige kilder som USDA FoodData Central, UK Nutrient Databank og nationale ækvivalenter fra dusinvis af lande. Disse kilder giver laboratorieanalyserede næringsværdier for tusindvis af fødevarer i standardiseret form.
Nutrolas database går ud over disse statslige kilder ved at inkorporere producentleverede data fra over 1,2 millioner mærkevarer, restaurantmenuer med næringsoplysninger verificeret gennem partnerskaber og samfundsindsendte poster, der gennemgår en flerlagers verifikationspipeline, herunder krydsreferencer, outlier-detektion og diætistgennemgang. Resultatet er en samlet database med over 2 millioner fødevareposter med næringsdata normaliseret til et ensartet skema.
Fuzzy Matching og Entitetsopløsning
Klassifikationsmodellen outputter en fødevarelabel som "grillet kyllingelår med skind", der skal matches til den korrekte databasepost. Dette er et ikke-trivielt entitetsopløsningsproblem, fordi den samme fødevare kan have dusinvis af navne på tværs af regioner og sprog. Pipelinen bruger indlejringsbaseret semantisk søgning til at finde den nærmeste databasepost. En finjusteret tekstencoder kortlægger både den forudsagte fødevarelabel og hvert databasenavn ind i det samme vektorrum, og den nærmeste nabo (målt ved cosinuslighed) vælges.
Når der findes flere nære match (for eksempel "grillet kyllingelår med skind" versus "ristet kyllingelår, skind spist"), vælger systemet den post, hvis tilberedningsmetode bedst matcher de visuelle ledetråde, der er registreret i billedet.
Nøgleoutput for dette trin
En komplet næringsprofil (kalorier, protein, kulhydrater, fedt, fiber og mikronæringsstoffer) pr. 100 gram for hver detekteret fødevare.
Trin 7: Makro- og Kalorieberegning
Det sidste beregningsmæssige trin er ligetil aritmetik, men det er her, fejl fra hvert opstrøms trin akkumuleres. Pipelinen multiplicerer næringsværdierne pr. 100 gram med den estimerede vægt af hver fødevare og summerer derefter resultaterne på tværs af alle varer for at producere en total måltidsoversigt.
Beregningen
For hver fødevare:
- Kalorier = (estimerede gram / 100) x kalorier pr. 100 g
- Protein = (estimerede gram / 100) x protein pr. 100 g
- Kulhydrater = (estimerede gram / 100) x kulhydrater pr. 100 g
- Fedt = (estimerede gram / 100) x fedt pr. 100 g
Disse værdier pr. vare summeres for at producere måltidets total.
Fejlpropagation og Tillidsintervaller
Da hvert opstrøms trin introducerer en vis usikkerhed, præsenterer Nutrola ikke et enkelt punktestimat som sandhed. Systemet beregner tillidsintervaller ved at propagere klassifikations tillidsscoren og portionsestimeringsusikkerheden gennem beregningen. Hvis klassifikations tilliden er høj, men portionsestimatet er usikkert (for eksempel, hvis maden er stablet i en dyb skål, der skjuler volumen), afspejler systemet dette ved at udvide tillidsintervallet og kan bede brugeren om at bekræfte portionen.
Denne gennemsigtighed er et bevidst designvalg. I stedet for at præsentere en falsk følelse af præcision viser Nutrola et interval (for eksempel "420 til 510 kcal"), når de underliggende estimater berettiger det, hvilket hjælper brugerne med at udvikle en realistisk forståelse af deres indtag.
Nøgleoutput for dette trin
Samlede kalorier og makronæringsoversigt for måltidet, med valgfri tillidsintervaller.
Trin 8: Brugerdisplay og Logning
Det sidste trin præsenterer resultaterne i brugergrænsefladen. De detekterede fødevarer listes med deres individuelle kalorie- og makroværdier, og måltidets total vises tydeligt. Brugeren kan trykke på ethvert element for at rette det eller justere portionen, og disse rettelser føres tilbage til personaliseringsmodellerne for at forbedre fremtidige forudsigelser.
På Nutrola inkluderer visningen et visuelt overlay på det originale foto, der viser grænsebokse eller segmenthøjdepunkter for hver detekteret fødevare, hvilket gør det straks klart, hvad AI identificerede og hvor. Denne visuelle feedback opbygger tillid og gør fejl nemme at opdage og rette.
Det registrerede måltid gemmes i brugerens daglige ernæringsjournal og bidrager til løbende totaler for kalorier, protein, kulhydrater, fedt og sporbare mikronæringsstoffer. Data synkroniseres til Apple Health, Google Fit og andre tilsluttede platforme gennem standardiserede sundhedsdata-API'er.
Nøgleoutput for dette trin
En fuldt gengivet måltidslog med per-element og total næringsdata, visuelle overlays og synkronisering til sundhedsplatforme.
Pipeline Resumé Tabel
| Trin | Kerne Teknologi | Input | Output |
|---|---|---|---|
| 1. Kamerainput | Enheds ISP, LiDAR/ToF sensorer | Lys fra scene | RGB-billede + valgfrit dybkort |
| 2. Billedforbehandling | Bicubic resizing, kanalnormalisering | Rå billede | Normaliseret tensor (f.eks. 384x384x3) |
| 3. Funktionsekstraktion | EfficientNet, ViT, Swin Transformer, FPN | Normaliseret tensor | Multi-scale funktionskort |
| 4. Fødevareklassifikation | YOLOv8, DETR, DeepLabv3+, brugerkontekst | Funktionskort | Mærkede fødevarer med grænsebokse/maske |
| 5. Portionsestimering | MiDaS dybdeestimering, reference skalering, tæthedstabeller | RGB + dybde + madmasker | Vægt i gram pr. fødevare |
| 6. Databaseopslag | Indlejringsbaseret semantisk søgning, USDA/mærkede databaser | Fødevarelabels + tilberedningsledetråde | Næringsprofiler pr. 100 g |
| 7. Kalorieberegning | Vægtet aritmetik, usikkerhedspropagation | Gramestimater + næringsprofiler | Samlede kalorier og makroer med tillidsintervaller |
| 8. Brugerdisplay | UI rendering, sundhedsdata synkroniserings API'er | Beregnede næringsdata | Måltidslogindlæg med visuel overlay |
Hvor Nutrolas Innovationer Passer Ind
Flere af de beskrevne trin inkluderer innovationer, der er specifikke for Nutrolas implementering:
Personlig klassifikationskontekst. Brugerkontekstmodulet i Trin 4 bruger historiske måldata, køkkenpræferencer, placering og tidspunkt på dagen til at afklare usikre forudsigelser. Dette er ikke standard i de fleste food recognition-pipelines og giver målbare forbedringer i den virkelige nøjagtighed sammenlignet med kontekstfrie modeller.
Proprietær tæthedsdatabase. Volumen-til-vægt konverteringen i Trin 5 afhænger af en tæthedsdatabase, der dækker fødevarer på tværs af flere tilberedningstilstande. Generiske systemer bruger ofte en enkelt gennemsnitlig tæthed pr. fødevare, hvilket introducerer systematiske fejl for elementer som kogte versus rå grøntsager eller drænede versus ikke-drænede konserverede varer.
Tillidsbevidst display. I stedet for at vise et enkelt kalorienummer, præsenterer Nutrola usikkerhed, når den eksisterer. Denne ærlige tilgang reducerer brugerfrustration, når estimater synes forkerte, fordi intervallet selv kommunikerer, at systemet er mindre sikkert om et bestemt element.
Unified multi-source næringsdatabase. Den 2-million-post database i Trin 6 fusionerer statslige laboratoriedata, mærkevaredata og verificerede samfundsindsendelser til et enkelt normaliseret skema, hvilket giver pipelinen adgang til langt flere fødevareposter end nogen enkelt kilde giver.
Kontinuerlig læring fra rettelser. Hver brugerrettelse i Trin 8 føres tilbage til klassifikations- og portionsmodellerne under periodiske retræningscyklusser, hvilket skaber et flywheel, hvor nøjagtigheden forbedres, efterhånden som brugerbasen vokser.
Latens og On-Device Overvejelser
End-to-end latenstid betyder enormt meget for brugeroplevelsen. Hvis pipelinen tager mere end to til tre sekunder, opfatter brugerne den som langsom og kan vende tilbage til manuel logning. Flere ingeniørstrategier holder latenstiden lav:
Model kvantisering konverterer 32-bit flydende vægte til 8-bit heltal, hvilket reducerer modelstørrelsen med cirka 4x og accelererer inferens på mobile neurale behandlingsenheder (NPU'er) med minimal nøjagtighedstab. Nutrola anvender post-trænings kvantisering på både funktionsudtrækningsryggraden og detektionshovedet.
On-device inferens eliminerer netværksrundtur helt for de beregningsmæssigt intensive trin (funktionsudtrækning og detektion). Apples Core ML og Androids NNAPI giver hardwareaccelererede inferensveje, som pipelinen sigter mod. Kun de lette databaseopslag og kalorieberegningstrin kræver en serveropkald, og selv disse kan falde tilbage til en lokal cache for offline drift.
Spekulativ udførelse begynder forbehandling og funktionsudtrækning, mens kameraets forhåndsvisning stadig er aktiv, så når brugeren trykker på udløserknappen, har pipelinen allerede delvist behandlet rammen. Denne teknik skærer flere hundrede millisekunder af den opfattede latenstid.
Nøjagtighedsbenchmark og Virkelig Ydeevne
På standard akademiske benchmarks som Food-101, ISIA Food-500 og Nutrition5k opnår moderne pipelines top-1 klassifikationsnøjagtighed mellem 85 og 92 procent og portionsestimeringsfejl inden for 15 til 25 procent af den faktiske vægt. Den virkelige ydeevne varierer, fordi brugerindsendte fotos er mere støjende end kuraterede datasæt: dårlig belysning, delvis dækning, usædvanlige vinkler og usædvanlige regionale retter forringer alle nøjagtigheden.
Nutrolas interne test på et tilbageholdt sæt af 50.000 rigtige brugerfotos viser en top-1 klassifikationsnøjagtighed på 89 procent og en median portionsestimeringsfejl på 18 procent. Når de tre bedste kandidater tages i betragtning, stiger klassifikationsnøjagtigheden til 96 procent, hvilket er grunden til, at korrigeringsgrænsefladen tydeligt viser alternative forslag.
Disse tal fortsætter med at forbedre sig med hver retræningscyklus, efterhånden som feedbacksløjfen for rettelser akkumulerer flere mærkede data fra den virkelige brug.
Ofte Stillede Spørgsmål
Hvor lang tid tager hele pipelinen fra foto til næringsdata?
På moderne smartphones med dedikeret neurale behandlingshardware afslutter end-to-end pipelinen typisk på 1,0 til 2,5 sekunder. Det meste af den tid bruges på funktionsudtrækning og objektdetektion i Trin 3 og 4. Forbehandling og kalorieberegning er næsten øjeblikkelige, og databaseopslag tilføjer kun 50 til 150 millisekunder afhængigt af netværksforholdene eller om en lokal cache bruges. Nutrolas spekulative udførelsessystem, der begynder at behandle kameraets forhåndsvisning, før brugeren trykker på udløseren, kan reducere den opfattede latenstid til under et sekund i mange tilfælde.
Hvor præcis er AI fødevareklassifikation sammenlignet med manuel logning?
AI fødevareklassifikation opnår top-1 nøjagtighed mellem 85 og 92 procent på standard benchmarks, og top-3 nøjagtighed over 95 procent. Manuel logning, mens den teoretisk set er præcis, når den udføres omhyggeligt, lider af systematisk underrapportering på 10 til 45 procent ifølge offentliggjorte diætundersøgelser. I praksis har AI-klassifikation kombineret med et hurtigt brugerbekræftelsestrin tendens til at producere mere konsistente og mindre biased resultater end udelukkende manuel indtastning, især for brugere, der registrerer flere måltider om dagen og oplever indtastningstræthed.
Hvad sker der, når AI ikke kan identificere en fødevare?
Når den højeste tillidsforudsigelse falder under systemets tærskel, tager pipelinen en elegant tilbagefaldsmetode. Den præsenterer de tre til fem bedste kandidatidentifikationer og beder brugeren om at vælge den korrekte, eller at skrive et navn manuelt. Denne brugerrettelse logges og føres tilbage til træningspipen under den næste retræningscyklus, hvilket betyder, at hver fejl bliver et træningssignal, der forbedrer fremtidige forudsigelser. Over tid, efterhånden som disse rettelser akkumuleres, udvider systemets dækning af usædvanlige og regionale fødevarer sig støt.
Fungerer pipelinen anderledes for blandede retter som salater eller curryer?
Ja. For blandede retter, hvor individuelle ingredienser ikke er rumligt adskilt, skifter pipelinen fra grænseboksdetektion til semantisk segmentering ved hjælp af arkitekturer som DeepLabv3+. Denne pixel-niveau klassifikation estimerer andelen af hver ingrediens inden for det blandede område. For stærkt blandede retter som smoothies eller purerede supper, hvor visuel adskillelse er umulig, er pipelinen afhængig af opskriftsbaseret dekomposition: den identificerer retstypen og bruger derefter en opskriftsmodel til at estimere de sandsynlige ingrediensproportioner og deres samlede næringsprofil.
Hvordan fungerer portionsestimering uden en dybdesensor?
Når der ikke er LiDAR eller time-of-flight-sensor tilgængelig, bruger pipelinen en monokulær dybdeestimeringsmodel (som MiDaS eller DPT) til at udlede omtrentlig dybde fra RGB-billedet alene. Disse modeller er trænet på millioner af billed-dybde-par og kan estimere den tredimensionelle form af mad fra kontekstuelle ledetråde som tallerkengeometri, skygge mønstre og teksturgradienter. Systemet registrerer også referenceobjekter med kendt størrelse, især tallerkener og bestik, for at forankre skalaen. Selvom monokulær estimering er mindre præcis end hardware-dybdesensing, holder kombinationen af lærte dybdeledetråde og reference skalering portionsestimater inden for et praktisk nøjagtighedsområde for ernæringssporing.
Kan pipelinen håndtere flere tallerkener eller måltider i et enkelt foto?
Objektdetektionsstadiet er designet til at håndtere vilkårligt antal fødevarer, uanset om de ligger på én tallerken eller flere. YOLO- og DETR-detektionhovederne scanner hele billedet og outputter uafhængige detektioner for hver fødevare, der findes, uanset om de er på en enkelt middagstallerken, spredt over et bord med flere retter eller arrangeret på en bakke. Hver detekteret vare behandles uafhængigt gennem portionsestimerings- og kalorieberegningsstadierne. For den bedste nøjagtighed anbefaler Nutrola at fotografere hver tallerken eller skål individuelt, så reference skaleringen kan kalibreres pr. tallerken, men systemet håndterer multi-tallerken scener elegant, når det ikke er praktisk.
Klar til at forvandle din ernæringsregistrering?
Bliv en del af de tusindvis, der har forvandlet deres sundhedsrejse med Nutrola!