Forskningen Bag Nutrola's Fødevaregenkendelsesteknologi

Hvordan identificerer Nutrola mad fra et foto på under 3 sekunder? En dybdegående undersøgelse af computer vision, dyb læring og ernæringsvidenskabelig forskning, der driver vores AI.

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

Når du tager et billede af din middag, og Nutrola leverer en komplet ernæringsoversigt på under tre sekunder, er der årtiers forskning inden for computer vision, ernæringsvidenskab og AI-ingeniørarbejde, der arbejder bag kulisserne. Det, der ser ud til at være et enkelt øjeblik af genkendelse, er faktisk en kaskade af specialiserede modeller, der hver især løser et specifikt videnskabeligt problem. Fra det øjeblik, din kamerablitz går af, til macronæringsværdierne vises på skærmen, passerer dit billede gennem en pipeline bygget på grundforskning fra institutioner som Stanford, MIT, Google DeepMind og ETH Zürich Computer Vision Lab.

Denne artikel følger den pipeline trin for trin og henviser til den virkelige forskning og de tekniske koncepter, der gør Nutrola's fødevaregenkendelse mulig.

Computer Vision Pipeline

Nutrola's fødevaregenkendelse er ikke en enkelt model. Det er en flertrins pipeline, hvor hvert trin håndterer en specifik opgave, og output fra et trin føres ind i det næste.

Trin 1 -- Billedforbehandling. Før nogen neural netværk ser dit foto, gennemgår det rå billede en normalisering. Dette inkluderer ændring af størrelse til en standard inputopløsning, justering af hvidbalance og eksponeringsvariation samt anvendelse af dataforstærkningsmetoder under træning. Forskning af Krizhevsky, Sutskever og Hinton i deres banebrydende 2012 ImageNet-papir viste, at forbehandling og forstærkning dramatisk forbedrer generalisering i dybe konvolutionelle neurale netværk (CNN'er). Moderne pipelines udvider dette med teknikker som CutMix (Yun et al., 2019) og RandAugment (Cubuk et al., 2020), som lærer modellen at være robust over for occlusion og farveskift, der er almindelige i madfotografi.

Trin 2 -- Fødevaredetektion og segmentering. Når billedet er blevet forbehandlet, passerer det gennem en objektdetektionsmodel, der identificerer og lokaliserer hver enkelt fødevare på tallerkenen. Dette trin trækker kraftigt på forskning inden for regionsbaserede konvolutionelle neurale netværk. Faster R-CNN (Ren et al., 2015) etablerede paradigmet for regionsforslagsnetværk, mens nyere arkitekturer som DETR (Carion et al., 2020) fra Facebook AI Research bruger transformer-baseret opmærksomhed til helt at eliminere hånddesignede komponenter som ankerbokse. For pixel-niveau præcision tildeler semantiske segmenteringsmodeller baseret på arkitekturer som DeepLab (Chen et al., 2017) hver pixel i billedet til en fødevarekategori, hvilket er kritisk for blandede retter, hvor ingredienser overlapper.

Trin 3 -- Fødevarekategorisering. Hver detekteret fødevareregion bliver derefter klassificeret. Ryggraden i moderne fødevarekategoriseringsmodeller stammer fra arkitekturer, der er valideret på ImageNet (Deng et al., 2009), datasættet med 14 millioner mærkede billeder, der katalyserede dyb læringsrevolutionen. Fødevarespecifikke datasæt som Food-101 (Bossard et al., 2014), der indeholder 101.000 billeder på tværs af 101 kategorier, og UECFOOD-256 (Kawano og Yanai, 2015), som dækker 256 fødevarekategorier med fokus på japansk køkken, giver de domænespecifikke træningsdata, der er nødvendige for at finjustere disse generelle arkitekturer til fødevaregenkendelse.

Trin 4 -- Portionsestimering. Efter at have identificeret, hvad der er på tallerkenen, estimerer systemet, hvor meget af hver enkelt fødevare der er til stede. Dette er det sværeste uløste problem inden for fødevaregenkendelsesforskning og involverer dybdeestimering og volumetrisk ræsonnering fra et enkelt 2D-billede.

Trin 5 -- Ernæringskortlægning. Endelig bliver den klassificerede fødevare og dens estimerede portionsstørrelse kortlagt til en verificeret ernæringsdatabase for at producere kalorie-, protein-, kulhydrat-, fedt- og mikronæringsværdier.

Hvert af disse trin repræsenterer et distinkt område af aktiv forskning. De følgende sektioner undersøger de mest teknisk udfordrende trin i detalje.

Fødevarekategorisering: Udover "Det er en Salat"

At skelne mellem en salat og en bøf er ligetil for enhver moderne klassifikator. Den virkelige udfordring opstår, når systemet skal adskille visuelt lignende retter: chicken tikka masala versus butter chicken, pad thai versus drunken noodles, eller en græsk salat versus fattoush. Disse retter deler farver, teksturer og strukturelle mønstre, men adskiller sig betydeligt i ingredienser og kaloritæthed.

Transfer Learning og Domæneadaptation

Den standard tilgang til fødevarekategorisering bygger på transfer learning, en teknik formaliseret af Yosinski et al. (2014), hvor en model, der er fortrænet på et stort generelt datasæt som ImageNet, finjusteres på fødevarespecifikke data. De lavere lag i netværket, som opdager kanter, teksturer og grundlæggende former, overfører godt mellem domæner. De højere lag, som koder semantisk betydning, bliver genuddannet til at lære fødevarespecifikke træk som forskellen mellem glansen på en stegt overflade og den matte finish af en dampet.

Forskning af Hassannejad et al. (2016) viste, at finjustering af InceptionV3 på Food-101 opnåede en top-1 nøjagtighed på 88,28 procent, et betydeligt spring i forhold til tidligere håndlavede funktionsmetoder. Mere nylig forskning, der bruger Vision Transformers (Dosovitskiy et al., 2020) og deres fødevarespecifikke varianter, har presset nøjagtigheden på Food-101 over 93 procent.

Multi-Label Kategorisering for Komplekse Tallerkener

Rigtige måltider indeholder sjældent et enkelt element. En typisk middagstallerken kan indeholde grillet laks, bagt asparges, quinoa og en citronsmør sauce. Multi-label kategorisering, hvor et enkelt billede kan modtage flere uafhængige etiketter, løser dette problem. Forskning af Wang et al. (2016) om CNN-RNN-arkitekturer til multi-label billedklassifikation etablerede rammer, der fanger mønstre for etikettekoeksistens. I fødevaredomenet betyder dette, at modellen lærer, at ris og karry ofte optræder sammen, hvilket fungerer som en kontekstuel signal, der forbedrer nøjagtigheden af hver enkelt fødevare.

Nutrola udvider dette med et hierarkisk klassifikationssystem. I stedet for at forudsige en flad etiket, klassificerer systemet først den brede fødevarekategori (korn, protein, grøntsag, sauce) og indsnævrer derefter til den specifikke vare inden for den kategori. Denne to-trins tilgang reducerer forvirringen mellem visuelt lignende elementer fra forskellige kategorier og spejler, hvordan ernæringsdatabaser er organiseret.

Portionsestimering: Den 3D Udfordring

At identificere, hvilken mad der er på en tallerken, løser kun halvdelen af problemet. En 100-grams portion kyllingebryst indeholder 165 kalorier. En 250-grams portion indeholder 412 kalorier. Uden præcis portionsestimering vil selv perfekt fødevareidentifikation give upålidelige kalorieopgørelser.

Monokulær Dybdeestimering

At estimere volumen af mad fra et enkelt 2D-foto kræver, at systemet udleder dybde, et problem kendt som monokulær dybdeestimering. Eigen, Puhrsch og Fergus (2014) offentliggjorde grundlæggende arbejde, der viste, at CNN'er kunne forudsige pixel-for-pixel dybdekort fra enkeltbilleder. Mere nylig forskning fra Ranftl et al. (2021) introducerede MiDaS, en model trænet på blandede datasæt, der producerer robuste relative dybdeestimater på tværs af forskellige scener.

Til fødevareapplikationer gør dybdeestimering det muligt for systemet at skelne mellem et tyndt lag sauce spredt over en tallerken og en dyb skål suppe. Kombineret med den kendte geometri af almindelige referenceobjekter som tallerkener, skåle og bestik, kan dybdekort konverteres til omtrentlige volumenestimater.

Geometriske Tilgange til Volumenestimering

Forskning fra Universitetet i Tokyo (Okamoto og Yanai, 2016) viste, at madvolumen kunne estimeres ved at tilpasse geometriske primitiv, såsom cylindre, halvkugler og rektangulære prismer, til segmenterede fødevareområder. En bunke ris tilnærmer en halvelipsoid. Et glas mælk tilnærmer en cylinder. En skive brød tilnærmer et rektangulært prism.

Disse geometriske tilnærmelser, kombineret med lærte densitetspriorer (systemet ved, at en given volumen kartoffelmos vejer mere end den samme volumen popcorn), producerer vægtestimater, som forskning har vist, falder inden for 15 til 20 procent af den faktiske værdi for de fleste almindelige fødevarer. Nutrola forfiner disse estimater yderligere ved hjælp af en proprietær ensemblemetode, der kombinerer geometrisk ræsonnering med lærte regressionsmodeller trænet på titusinder af fødevarebilleder med kendte vægte.

Referenceobjekt Kalibrering

Nogle fødevaregenkendelsessystemer bruger kendte referenceobjekter i scenen til skala kalibrering. En standard middagstallerken har en diameter på cirka 26 centimeter. Et kreditkort måler 85,6 x 53,98 millimeter. Når systemet registrerer sådanne objekter, kan det etablere en virkelig skala, der betydeligt forbedrer volumen- og vægtestimater. Forskning af Fang et al. (2016) ved Purdue University viste, at tallerkenbaseret kalibrering reducerede portionsestimeringsfejl med cirka 25 procent sammenlignet med ukalibrerede tilgange.

Den Verificerede Database Lag

AI-genkendelse alene er ikke nok til at levere præcise kalorieopgørelser. Selv hvis en model opnår 99 procent nøjagtighed i at identificere grillet kyllingebryst, afhænger den endelige ernæringsoutput helt af kvaliteten af den database, den kortlægger til.

Her adskiller Nutrola's tilgang sig fra mange konkurrenter. De fleste fødevaretracking-apps er afhængige af crowdsourced databaser, hvor enhver bruger kan indsende ernæringsoplysninger. Studier har vist, at crowdsourced fødevaredatabaser har fejlprocenter mellem 15 og 30 procent, med nogle poster, der afviger fra laboratorieverificerede værdier med mere end 50 procent for nøglemakronæringsstoffer.

Nutrola opretholder en 100 procent verificeret ernæringsdatabase. Hver post krydsrefereres med autoritative kilder, herunder USDA FoodData Central, McCance og Widdowson sammensætningstabellerne, der bruges af det britiske National Health Service, og peer-reviewed ernæringsanalyser. Dette betyder, at selv hvis AI-genkendelseslaget introducerer en lille fejlmargin i fødevareidentifikation eller portionsestimering, er de ernæringsdata, det kortlægger til, pålidelige.

Verifikationslaget håndterer også en subtilitet, som rene AI-tilgange overser: tilberedningsmetoden påvirker næringsindholdet. Et 150-grams kyllingebryst, der er grillet, indeholder cirka 165 kalorier, men det samme bryst, der er stegt i olivenolie, indeholder cirka 230 kalorier. Nutrola's database fanger disse tilberedningsafhængige variationer, og genkendelsesmodellen er trænet til at skelne mellem tilberedningsmetoder, når visuelle tegn er til stede, såsom forskellen mellem en grillet overflade og en stegt overflade.

Kontinuerlig Læring og Forbedring

Fødevaregenkendelse er ikke et problem, der er løst én gang og derefter implementeret. Kjøkkener udvikler sig, nye retter dukker op, og brugerforventninger vokser. Nutrola's system er designet til kontinuerlig forbedring gennem flere mekanismer baseret på maskinlæringsforskning.

Aktiv Læring

Aktiv læring, formaliseret af Settles (2009), er en strategi, hvor modellen identificerer de eksempler, den har mindst tillid til, og prioriterer dem til menneskelig gennemgang og mærkning. Når Nutrola's system støder på en ret, det ikke kan klassificere med høj tillid, bliver det billede flaget til ekspertvurdering. Når det er mærket, går det ind i træningspipen, og modellen forbedres netop i de tilfælde, hvor den var svagest.

Denne tilgang er langt mere dataeffektiv end tilfældigt at indsamle flere træningsbilleder. Forskning har konsekvent vist, at aktiv læring kan opnå tilsvarende modelnøjagtighed med 30 til 60 procent mindre mærket data sammenlignet med tilfældig sampling.

Håndtering af Nye Fødevarer og Regionale Kjøkkener

En af de mest betydningsfulde udfordringer inden for fødevaregenkendelse er dækningen af regionale og kulturelt specifikke retter. En model, der primært er trænet på vestligt køkken, kan have svært ved at genkende sydøstasiatiske desserter, vestafrikanske gryderetter eller skandinaviske fermenterede fødevarer. Nutrola adresserer dette gennem målrettede datainnsamlingskampagner fokuseret på underrepræsenterede køkkener, kombineret med few-shot learning teknikker (Wang et al., 2020), der gør det muligt for modellen at lære nye fødevarekategorier fra relativt små antal eksempler.

Brugerfeedback er en kritisk input til denne proces. Når en bruger korrigerer en fejlagtigt identificeret fødevare, føres den korrektion tilbage til træningspipen. Aggeret på tværs af millioner af måltider logget globalt skaber disse korrektioner en kontinuerlig strøm af sandheddata, der dækker præcis de fødevarer, virkelige mennesker spiser i deres daglige liv.

Hvordan Dette Oversættes til Din Tallerken

Den forskning, der er beskrevet ovenfor, giver konkrete fordele, som du oplever hver gang du åbner Nutrola.

Tre-sekunders registrering. Hele pipelinen, fra billedforbehandling til ernæringsopslag, udføres på under tre sekunder på en moderne smartphone. Modeloptimeringsteknikker, herunder kvantisering (Jacob et al., 2018) og neural arkitektur søgning (Zoph og Le, 2017), gør det muligt for komplekse modeller at køre effektivt på mobilhardware uden at gå på kompromis med nøjagtigheden.

Håndtering af komplekse måltider. Multi-label detektion og semantisk segmentering betyder, at du ikke behøver at fotografere hver fødevare separat. Et enkelt foto af en fyldt middagstallerken giver individuelle ernæringsoversigter for hver komponent.

Kryds-køkken nøjagtighed. Kontinuerlig læring og målrettet datainnsamling sikrer, at systemet fungerer, uanset om du spiser sushi i Tokyo, tacos i Mexico City, injera i Addis Ababa eller en søndagssteg i London. Modellen forbedres med hvert måltid, der logges på tværs af Nutrola's globale brugerbase.

Progressiv nøjagtighedsforbedring. Jo mere du bruger Nutrola, jo bedre bliver den, både for dig individuelt og for alle brugere samlet. Aktiv læring sikrer, at modellen fokuserer sin forbedring på de præcise tilfælde, hvor den har mest brug for det.

Verificerede ernæringsdata. I modsætning til apps, der er afhængige af crowdsourced databaser med ukendte fejlprocenter, er hver kalorieopgørelse, Nutrola returnerer, understøttet af laboratorieverificerede ernæringsdata. AI identificerer maden; den verificerede database sikrer, at tallene er korrekte.

FAQ

Hvordan genkender Nutrola's AI mad fra et foto?

Nutrola bruger en flertrins computer vision pipeline. Dit foto passerer først gennem billedforbehandling, derefter gennem en dyb læringsdetektionsmodel, der identificerer og segmenterer hver fødevare på tallerkenen. Hver vare klassificeres ved hjælp af konvolutionelle neurale netværk, der er finjusteret på fødevarespecifikke datasæt, dens portion estimeres ved hjælp af dybde- og volumetrisk ræsonnering, og resultatet kortlægges til Nutrola's verificerede ernæringsdatabase for at producere kalorie- og makronæringsværdier.

Hvor nøjagtig er Nutrola's fødevaregenkendelsesteknologi?

Nutrola's klassifikationsmodeller opnår top-1 nøjagtighedsgrader over 90 procent på standard fødevaregenkendelses benchmarks, med top-5 nøjagtighed, der overstiger 95 procent. For portionsestimering falder systemet typisk inden for 15 til 20 procent af den faktiske vægt, hvilket er sammenligneligt med eller bedre end estimationsnøjagtigheden hos trænede diætister. Kombineret med Nutrola's verificerede database producerer dette kalorieestimater, der er betydeligt mere pålidelige end manuel registrering, som forskning viser undervurderer indtaget med 10 til 45 procent.

Hvilken forskning og hvilke datasæt driver Nutrola's fødevaregenkendelses-AI?

Nutrola's teknologi bygger på grundlæggende forskning inden for computer vision, herunder konvolutionelle neurale netværk valideret på ImageNet, objektdetektionsarkitekturer som Faster R-CNN og DETR, samt fødevarespecifikke datasæt som Food-101 og UECFOOD-256. Systemet trækker også på forskning inden for monokulær dybdeestimering til portionsstørrelse og aktiv læringsforskning til kontinuerlig modelforbedring. Alle ernæringsdata er verificeret mod autoritative kilder som USDA FoodData Central.

Kan Nutrola genkende flere fødevarer på en enkelt tallerken?

Ja. Nutrola bruger multi-label detektion og semantisk segmentering til at identificere og separat analysere hver enkelt fødevare i et enkelt foto. Uanset om din tallerken indeholder to elementer eller otte, isolerer systemet hver enkelt, klassificerer den uafhængigt, estimerer dens portion og returnerer en ernæringsoversigt pr. element samt måltidets total.

Hvordan håndterer Nutrola fødevarer fra forskellige køkkener og kulturer?

Nutrola kombinerer bred dækning af træningsdata med målrettet datainnsamling for underrepræsenterede køkkener og few-shot learning teknikker, der gør det muligt for modellen at lære nye fødevarekategorier fra relativt små antal eksempler. Brugerrettelser fra Nutrola's globale brugerbase føres kontinuerligt tilbage til træningspipen, hvilket sikrer, at nøjagtigheden forbedres for de specifikke retter, folk faktisk spiser på tværs af hver region og madkultur.

Forbedres Nutrola's fødevaregenkendelse over tid?

Ja. Nutrola bruger aktiv læring, en maskinlæringsstrategi, hvor systemet identificerer de billeder, det har mindst tillid til, og prioriterer dem til ekspertvurdering og genuddannelse. Kombineret med aggregeret brugerfeedback fra millioner af måltider logget globalt, betyder dette, at modellen forbedres kontinuerligt. Hvert måltid, du logger, bidrager til at gøre Nutrola's genkendelse mere præcis for alle brugere.

Klar til at forvandle din ernæringsregistrering?

Bliv en del af de tusindvis, der har forvandlet deres sundhedsrejse med Nutrola!