Forskningen Bak Nutrola sin Matgjenkjenningsteknologi
Hvordan gjenkjenner Nutrola mat fra et bilde på under tre sekunder? En grundig gjennomgang av datamaskinsyn, dyp læring og ernæringsforskning som driver vår AI.
Når du tar et bilde av middagen din og Nutrola gir deg en fullstendig ernæringsoversikt på under tre sekunder, er det flere tiår med forskning innen datamaskinsyn, ernæringsvitenskap og AI-teknologi som jobber i bakgrunnen. Det som ser ut som et øyeblikk av gjenkjenning, er faktisk en serie spesialiserte modeller, hver med sitt eget vitenskapelige problem å løse. Fra det øyeblikket kamerablitsen går av, til makronæringsverdiene dukker opp på skjermen, går bildet ditt gjennom en prosess bygget på grunnleggende forskning fra institusjoner som Stanford, MIT, Google DeepMind og ETH Zürichs datamaskinsynlaboratorium.
Denne artikkelen følger denne prosessen steg for steg, med referanser til den virkelige forskningen og de tekniske konseptene som gjør Nutrola sin matgjenkjenning mulig.
Datamaskinsynprosessen
Nutrola sin matgjenkjenning er ikke en enkelt modell. Det er en flertrinnsprosess der hvert trinn håndterer en spesifikk oppgave, og utdataene fra ett trinn går videre til det neste.
Trinn 1 -- Bildebehandling. Før noen nevrale nettverk ser bildet ditt, gjennomgår det råbildet normalisering. Dette inkluderer endring av størrelse til en standard inndataoppløsning, justering av hvitbalanse og eksponeringsvariasjoner, samt anvendelse av dataforsterkning under trening. Forskning av Krizhevsky, Sutskever og Hinton i deres banebrytende 2012 ImageNet-papir viste at forbehandling og forsterkning dramatisk forbedrer generalisering i dype konvolusjonsnevrale nettverk (CNN-er). Moderne prosesser utvider dette med teknikker som CutMix (Yun et al., 2019) og RandAugment (Cubuk et al., 2020), som lærer modellen å være robust mot skjulinger og fargeforandringer som er vanlige i matfotografi.
Trinn 2 -- Matdeteksjon og segmentering. Når bildet er forhåndsbehandlet, går det gjennom en objektdeteksjonsmodell som identifiserer og lokaliserer hvert enkelt matobjekt på tallerkenen. Dette trinnet bygger tungt på forskning innen regionbaserte konvolusjonsnevrale nettverk. Faster R-CNN (Ren et al., 2015) etablerte paradigmet for regionforslagsnettverk, mens nyere arkitekturer som DETR (Carion et al., 2020) fra Facebook AI Research bruker transformerbasert oppmerksomhet for å eliminere håndlagde komponenter som ankerbokser helt. For pikselpresisjon tildeler semantiske segmenteringsmodeller basert på arkitekturer som DeepLab (Chen et al., 2017) hver piksel i bildet til en matkategori, noe som er kritisk for blandede retter der ingredienser overlapper.
Trinn 3 -- Matklassifisering. Hver oppdaget matregion blir deretter klassifisert. Ryggraden i moderne matklassifiseringsmodeller stammer fra arkitekturer validert på ImageNet (Deng et al., 2009), datasettet med 14 millioner merkede bilder som katalyserte dyp læringsrevolusjonen. Matspesifikke datasett som Food-101 (Bossard et al., 2014), som inneholder 101 000 bilder fordelt på 101 kategorier, og UECFOOD-256 (Kawano og Yanai, 2015), som dekker 256 matkategorier med fokus på japansk mat, gir det domene-spesifikke treningsdataene som trengs for å finjustere disse generelle arkitekturene for matgjenkjenning.
Trinn 4 -- Porsjonsestimering. Etter å ha identifisert hva som er på tallerkenen, estimerer systemet hvor mye av hvert element som er til stede. Dette er det vanskeligste uløste problemet innen matgjenkjenningsforskning og involverer dybdeestimering og volumetrisk resonnering fra et enkelt 2D-bilde.
Trinn 5 -- Ernæringskartlegging. Til slutt blir den klassifiserte matvaren og dens estimerte porsjonsstørrelse kartlagt til en verifisert ernæringsdatabase for å produsere verdier for kalorier, protein, karbohydrater, fett og mikronæringsstoffer.
Hvert av disse trinnene representerer et distinkt område av aktiv forskning. Seksjonene nedenfor undersøker de mest teknisk utfordrende trinnene i detalj.
Matklassifisering: Mer Enn "Det Er En Salat"
Å skille en salat fra en biff er enkelt for enhver moderne klassifiserer. Den virkelige utfordringen begynner når systemet må skille mellom visuelt like retter: chicken tikka masala versus butter chicken, pad thai versus drunken noodles, eller en gresk salat versus fattoush. Disse rettene deler farger, teksturer og strukturelle mønstre, men varierer betydelig i ingredienser og kaloriinnhold.
Overføringslæring og Domeneadaptasjon
Den vanlige tilnærmingen til matklassifisering er avhengig av overføringslæring, en teknikk formalisert av Yosinski et al. (2014), der en modell forhåndstrent på et stort generelt datasett som ImageNet finjusteres på matspesifikke data. De lavere lagene i nettverket, som oppdager kanter, teksturer og grunnleggende former, overføres godt mellom domener. De høyere lagene, som koder semantisk mening, blir retrent for å lære matspesifikke funksjoner som forskjellen mellom glansen av en stekt overflate og den matte finishen av en dampet en.
Forskning av Hassannejad et al. (2016) viste at finjustering av InceptionV3 på Food-101 oppnådde en top-1 nøyaktighet på 88,28 prosent, en betydelig forbedring sammenlignet med tidligere håndlagde tilnærminger. Nyere arbeid med Vision Transformers (Dosovitskiy et al., 2020) og deres matspesifikke varianter har presset nøyaktigheten på Food-101 over 93 prosent.
Multi-Label Klassifisering for Komplekse Tallerkener
Virkelige måltider inneholder sjelden bare ett element. En typisk middagstallerken kan inneholde grillet laks, stekt asparges, quinoa og en sitron-smørsaus. Multi-label klassifisering, der et enkelt bilde kan motta flere uavhengige etiketter, løser dette problemet. Forskning av Wang et al. (2016) på CNN-RNN-arkitekturer for multi-label bildeklassifisering etablerte rammer som fanger opp mønstre for etikett-samsvar. I matdomenet betyr dette at modellen lærer at ris og curry ofte vises sammen, noe som fungerer som en kontekstuell signal som forbedrer nøyaktigheten for individuelle matvarer.
Nutrola utvider dette med et hierarkisk klassifiseringssystem. I stedet for å forutsi en flat etikett, klassifiserer systemet først den brede matkategorien (korn, protein, grønnsak, saus), før det snevrer inn til det spesifikke elementet innen den kategorien. Denne to-trinns tilnærmingen reduserer forvirringen mellom visuelt like elementer fra forskjellige kategorier og speiler hvordan ernæringsdatabaser er organisert.
Porsjonsestimering: 3D Utfordringen
Å identifisere hvilken mat som er på en tallerken løser bare halve problemet. En 100-grams porsjon av kyllingbryst inneholder 165 kalorier. En 250-grams porsjon inneholder 412 kalorier. Uten nøyaktig porsjonsestimering gir selv perfekt matidentifikasjon upålitelige kaloritall.
Monokulær Dybdeestimering
Å estimere volumet av mat fra et enkelt 2D-fotografi krever at systemet må anta dybde, et problem kjent som monokulær dybdeestimering. Eigen, Puhrsch og Fergus (2014) publiserte grunnleggende arbeid som viste at CNN-er kunne forutsi piksel-for-piksel dybdekart fra enkeltbilder. Nyere forskning fra Ranftl et al. (2021) introduserte MiDaS, en modell trent på blandede datasett som gir robuste relative dybdeestimater på tvers av ulike scener.
For matapplikasjoner gjør dybdeestimering det mulig for systemet å skille mellom et tynt lag av saus spredd over en tallerken og en dyp bolle med suppe. Kombinert med den kjente geometrien til vanlige referanseobjekter som tallerkener, skåler og bestikk, kan dybdekart konverteres til omtrentlige volumestimater.
Geometriske Tilnærminger til Volumestimering
Forskning fra Universitetet i Tokyo (Okamoto og Yanai, 2016) demonstrerte at matvolum kunne estimeres ved å tilpasse geometriske primtall, som sylindere, halvkuler og rektangulære prismer, til segmenterte matregioner. En haug med ris tilnærmer seg en halvelipsoid. Et glass melk tilnærmer seg en sylinder. En skive brød tilnærmer seg et rektangulært prisme.
Disse geometriske tilnærmingene, kombinert med lærte tetthetspriorer (systemet vet at et gitt volum med potetmos veier mer enn det samme volumet med popcorn), gir vektestimater som forskning har vist å ligge innen 15 til 20 prosent av den faktiske vekten for de fleste vanlige matvarer. Nutrola forbedrer disse estimatene ytterligere ved å bruke en proprietær ensemblemetode som kombinerer geometrisk resonnering med lærte regresjonsmodeller trent på titusenvis av matbilder med kjente vekter.
Referanseobjekt Kalibrering
Noen matgjenkjenningssystemer bruker kjente referanseobjekter i scenen for skalkalibrering. En standard middagstallerken har en diameter på omtrent 26 centimeter. Et kredittkort måler 85,6 x 53,98 millimeter. Når systemet oppdager slike objekter, kan det etablere en virkelig skala som betydelig forbedrer volum- og vektestimater. Forskning av Fang et al. (2016) ved Purdue University viste at tallerkenbasert kalibrering reduserte porsjonsestimeringsfeil med omtrent 25 prosent sammenlignet med ukalibrerte tilnærminger.
Den Verifiserte Databaselaget
AI-gjenkjenning alene er ikke nok til å levere nøyaktige kaloritall. Selv om en modell oppnår 99 prosent nøyaktighet i å identifisere grillet kyllingbryst, avhenger det endelige ernæringsresultatet helt av kvaliteten på databasen den kartlegger til.
Her skiller Nutrola sin tilnærming seg fra mange konkurrenter. De fleste matsporingsapper er avhengige av crowdsourcede databaser der enhver bruker kan sende inn ernæringsinformasjon. Studier har funnet at crowdsourcede matdatabaser inneholder feilprosent mellom 15 og 30 prosent, med noen oppføringer som avviker fra laboratorieverifiserte verdier med mer enn 50 prosent for nøkkelmikronæringsstoffer.
Nutrola opprettholder en 100 prosent verifisert ernæringsdatabase. Hver oppføring er kryssreferert mot autoritative kilder, inkludert USDA FoodData Central, McCance og Widdowson sammensetningstabeller brukt av det britiske helsevesenet, og fagfellevurderte ernæringsanalyser. Dette betyr at selv om AI-gjenkjenningslaget introduserer en liten feilmargin i matidentifikasjon eller porsjonsestimering, er de ernæringsdataene det kartlegger til pålitelige.
Verifiseringslaget håndterer også en subtilitet som rene AI-tilnærminger overser: tilberedningsmetoden påvirker næringsinnholdet. Et 150-grams kyllingbryst som er grillet inneholder omtrent 165 kalorier, men det samme brystet stekt i olivenolje inneholder omtrent 230 kalorier. Nutrola sin database fanger opp disse variasjonene avhengig av tilberedning, og gjenkjenningsmodellen er trent til å skille mellom tilberedningsmetoder når visuelle ledetråder er til stede, som forskjellen mellom en grillet overflate og en stekt overflate.
Kontinuerlig Læring og Forbedring
Matgjenkjenning er ikke et problem som er løst én gang og deretter implementert. Kjøkken utvikler seg, nye retter dukker opp, og brukerforventningene vokser. Nutrola sitt system er designet for kontinuerlig forbedring gjennom flere mekanismer forankret i maskinlæringsforskning.
Aktiv Læring
Aktiv læring, formalisert av Settles (2009), er en strategi der modellen identifiserer eksemplene den er minst trygg på og prioriterer disse for menneskelig gjennomgang og merking. Når Nutrola sitt system møter en rett det ikke kan klassifisere med høy sikkerhet, blir bildet flagget for ekspertvurdering. Når det er merket, går det inn i treningsprosessen, og modellen forbedres akkurat der den var svakest.
Denne tilnærmingen er langt mer dataeffektiv enn å tilfeldig samle flere treningsbilder. Forskning har konsekvent vist at aktiv læring kan oppnå tilsvarende modellnøyaktighet med 30 til 60 prosent mindre merkede data sammenlignet med tilfeldig sampling.
Håndtering av Nye Matvarer og Regionale Kjøkken
En av de største utfordringene innen matgjenkjenning er dekning av regionale og kulturelt spesifikke retter. En modell trent primært på vestlig mat kan slite med søramerikanske desserter, vestafrikanske gryteretter eller skandinaviske fermenterte matvarer. Nutrola adresserer dette gjennom målrettede datainnsamlingskampanjer fokusert på underrepresenterte kjøkken, kombinert med få-shot læringsteknikker (Wang et al., 2020) som lar modellen lære nye matkategorier fra relativt små mengder eksempler.
Brukerfeedback er en kritisk inngang til denne prosessen. Når en bruker korrigerer en feilidentifisert mat, mates den korrigeringen tilbake inn i treningsprosessen. Aggregert over millioner av måltider logget globalt, skaper disse korrigeringene en kontinuerlig strøm av sannhetsdata som dekker nøyaktig de matvarene ekte mennesker spiser i sine daglige liv.
Hvordan Dette Oversettes til Tallerkenen Din
Forskningen beskrevet ovenfor gir konkrete fordeler som du opplever hver gang du åpner Nutrola.
Tre-sekunders logging. Hele prosessen, fra bildebehandling til ernæringsoppslag, utføres på under tre sekunder på en moderne smarttelefon. Optimaliseringsteknikker for modeller, inkludert kvantisering (Jacob et al., 2018) og nevrale arkitektursøk (Zoph og Le, 2017), gjør det mulig for komplekse modeller å kjøre effektivt på mobilmaskinvare uten å ofre nøyaktighet.
Håndtering av komplekse måltider. Multi-label deteksjon og semantisk segmentering betyr at du ikke trenger å fotografere hvert matobjekt separat. Et enkelt bilde av en fylt middagstallerken gir individuelle ernæringsoversikter for hver komponent.
Tverrkulturell nøyaktighet. Kontinuerlig læring og målrettet datainnsamling sikrer at systemet fungerer enten du spiser sushi i Tokyo, tacos i Mexico City, injera i Addis Abeba, eller en søndagsstek i London. Modellen forbedres med hvert måltid logget av Nutrola sin globale brukerbase.
Progressiv nøyaktighetsforbedring. Jo mer du bruker Nutrola, jo bedre blir den, både for deg individuelt og for alle brukere samlet. Aktiv læring sikrer at modellen fokuserer sin forbedring på akkurat de tilfellene der den trenger det mest.
Verifiserte ernæringsdata. I motsetning til apper som er avhengige av crowdsourcede databaser med ukjente feilprosent, er hver kaloritelling Nutrola gir støttet av laboratorieverifiserte ernæringsdata. AI identifiserer maten; den verifiserte databasen sikrer at tallene er riktige.
FAQ
Hvordan gjenkjenner Nutrola sin AI mat fra et bilde?
Nutrola bruker en flertrinns datamaskinsynprosess. Bildet ditt går først gjennom bildebehandling, deretter gjennom en dyp læringsdeteksjonsmodell som identifiserer og segmenterer hvert matobjekt på tallerkenen. Hvert element klassifiseres ved hjelp av konvolusjonsnevrale nettverk finjustert på matspesifikke datasett, porsjonen estimeres ved hjelp av dybde- og volumetrisk resonnering, og resultatet kartlegges til Nutrola sin verifiserte ernæringsdatabase for å produsere kalori- og makronæringsverdier.
Hvor nøyaktig er Nutrola sin matgjenkjenningsteknologi?
Nutrola sine klassifiseringsmodeller oppnår top-1 nøyaktighetsrater over 90 prosent på standard matgjenkjenningsbenchmarker, med top-5 nøyaktighet som overstiger 95 prosent. For porsjonsestimering ligger systemet vanligvis innen 15 til 20 prosent av faktisk vekt, noe som er sammenlignbart med eller bedre enn estimeringsnøyaktigheten til trente dietetikere. Kombinert med Nutrola sin verifiserte database, gir dette kaloriestimater som er betydelig mer pålitelige enn manuell logging, som forskning viser underrapporterer inntak med 10 til 45 prosent.
Hvilken forskning og hvilke datasett driver Nutrola sin matgjenkjennings AI?
Nutrola sin teknologi bygger på grunnleggende forskning innen datamaskinsyn, inkludert konvolusjonsnevrale nettverk validert på ImageNet, objektdeteksjonsarkitekturer som Faster R-CNN og DETR, samt matspesifikke datasett som Food-101 og UECFOOD-256. Systemet trekker også på forskning innen monokulær dybdeestimering for porsjonsstørrelse og aktiv læringsforskning for kontinuerlig modellforbedring. Alle ernæringsdata er verifisert mot autoritative kilder som USDA FoodData Central.
Kan Nutrola gjenkjenne flere matvarer på en enkelt tallerken?
Ja. Nutrola bruker multi-label deteksjon og semantisk segmentering for å identifisere og separat analysere hvert enkelt matobjekt i et enkelt bilde. Enten tallerkenen din inneholder to elementer eller åtte, isolerer systemet hvert enkelt, klassifiserer det uavhengig, estimerer porsjonen, og gir en ernæringsoversikt per element sammen med totalen for måltidet.
Hvordan håndterer Nutrola mat fra forskjellige kjøkken og kulturer?
Nutrola kombinerer bredde-dekning treningsdata med målrettet datainnsamling for underrepresenterte kjøkken og få-shot læringsteknikker som lar modellen lære nye matkategorier fra relativt små mengder eksempler. Brukerkorrigeringer fra Nutrola sin globale brukerbase mates kontinuerlig inn i treningsprosessen, noe som sikrer at nøyaktigheten forbedres for de spesifikke rettene folk faktisk spiser på tvers av hver region og matkultur.
Forbedrer Nutrola sin matgjenkjenning seg over tid?
Ja. Nutrola bruker aktiv læring, en maskinlæringsstrategi der systemet identifiserer bildene det er minst sikkert på og prioriterer disse for ekspertvurdering og retrening. Kombinert med aggregert brukerfeedback fra millioner av måltider logget globalt, betyr dette at modellen kontinuerlig forbedres. Hvert måltid du logger bidrar til å gjøre Nutrola sin gjenkjenning mer nøyaktig for alle brukere.
Klar til å forvandle ernæringssporingen din?
Bli en del av tusenvis som har forvandlet helsereisen sin med Nutrola!