Hur datorseende identifierar mat: Tekniken bakom AI-driven kaloriräkning

Upptäck hur konvolutionella neurala nätverk och bildklassificering driver AI-baserad matigenkänning, vilket gör det möjligt för appar som Nutrola att omvandla ett enkelt foto till exakta kaloridata.

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

Varje gång du riktar telefonkameran mot en tallrik mat och omedelbart får en kaloriöversikt, utlöses en sofistikerad kedja av artificiella intelligensprocesser bakom kulisserna. Det som känns som ett enkelt tryck involverar konvolutionella neurala nätverk, flerlabels bildklassificering och åratal av forskning inom datorseende. Att förstå hur denna teknik fungerar hjälper till att förklara varför AI-driven kaloriräkning har blivit så exakt – och varför den fortsätter att förbättras.

Den här artikeln bryter ner kärntekniken bakom AI-baserad matigenkänning, från de grundläggande byggstenarna i neurala nätverk till de specifika tekniska utmaningarna med att identifiera vad som finns på din tallrik.

Vad är datorseende och varför är det viktigt för näring?

Datorseende är en gren av artificiell intelligens som tränar maskiner att tolka och förstå visuell information från den verkliga världen. Medan människor utan ansträngning skiljer en skål havregrynsgröt från en tallrik pasta, kräver det att lära en dator att göra samma sak att bearbeta miljontals märkta bilder och bygga matematiska modeller av visuella mönster.

För näringsspårning löser datorseende den största smärtpunkten i självmonitorering av kosten: problemet med manuell datainmatning. Forskning publicerad i Journal of the Academy of Nutrition and Dietetics har visat att manuell matloggning leder till underrapportering av kaloriintag med 10 till 45 procent. Genom att ersätta skrivna beskrivningar med ett fotografi tar datorseende bort den friktion som får de flesta att överge matspårning inom de första två veckorna.

Problemets omfattning

Matigenkänning anses vara en av de svårare utmaningarna inom bildklassificering på grund av den enorma variationen som är involverad:

  • Det finns tusentals distinkta rätter från kök världen över
  • Samma mat kan se dramatiskt annorlunda ut beroende på tillagningsmetod
  • Belysning, vinkel och uppläggning påverkar alla utseendet
  • Flera maträtter delar ofta en tallrik, vilket kräver samtidig identifiering
  • Portionsstorlekar varierar kontinuerligt snarare än att falla in i tydliga kategorier

Trots dessa utmaningar uppnår moderna matigenkänningssystem top-5-noggrannhet på över 90 procent i standardiserade benchmark-tester, vilket innebär att rätt matvara finns bland systemets fem bästa gissningar mer än nio gånger av tio.

Konvolutionella neurala nätverk: Grunden för matigenkänning

I hjärtat av nästan varje matigenkänningssystem finns en typ av djupinlärningsarkitektur som kallas konvolutionellt neuralt nätverk, eller CNN. Att förstå CNN:er är nyckeln till att förstå hur din telefon kan titta på ett foto och berätta att du äter chicken tikka masala med basmatiris.

Hur ett CNN bearbetar en bild

Ett CNN bearbetar en bild genom en serie lager, där varje lager är utformat för att upptäcka allt mer komplexa visuella egenskaper:

Lager 1 – Kantdetektering: Det första konvolutionella lagret lär sig att upptäcka enkla kanter och färggradienter. Det kan känna igen den böjda kanten på en skål eller gränsen mellan en köttbit och dess sås.

Lager 2 – Texturigenkänning: Djupare lager kombinerar kanter till texturer. Nätverket börjar skilja den korniga texturen hos råris från den släta ytan hos vitt ris, eller den fibrösa texturen hos grillad kyckling från den glänsande ytan hos friterad kyckling.

Lager 3 – Form- och mönsterigenkänning: Högre lager sätter samman texturer till igenkännbara former och mönster. En cirkulär form med en specifik textur kan klassificeras som en tortilla, medan en avlång form med en annan textur blir en brödpinne.

Lager 4 – Objektigenkänning: De sista konvolutionella lagren kombinerar all föregående information för att känna igen kompletta maträtter. Nätverket har lärt sig att en viss kombination av färg, textur, form och sammanhang motsvarar en specifik matvara.

Poolingens och feature maps roll

Mellan konvolutionella lager minskar pooling-lager datans spatiala dimensioner samtidigt som de viktigaste egenskaperna behålls. Detta tjänar två syften: det gör beräkningen hanterbar och det ger en grad av translationsinvarians, vilket innebär att nätverket kan känna igen en matvara oavsett var den befinner sig i bilden.

Utdata från varje konvolutionellt lager kallas en feature map. Tidiga feature maps fångar information på låg nivå som kanter och färger, medan senare feature maps kodar koncept på hög nivå som "denna region innehåller spagetti". En typisk matigenkänningsmodell genererar hundratals sådana feature maps vid varje lager.

Populära CNN-arkitekturer som används inom matigenkänning

Arkitektur År Viktig innovation Typisk användning inom mat-AI
AlexNet 2012 Bevisade att djupa CNN:er fungerar i stor skala Tidig forskning inom matigenkänning
VGGNet 2014 Visade att djup spelar roll Feature-extraktion för matdataset
GoogLeNet/Inception 2014 Flerskalig bearbetning Effektiv mobil matigenkänning
ResNet 2015 Residuala kopplingar för mycket djupa nätverk Högprecisions matklassificering
EfficientNet 2019 Balanserad skalning av djup, bredd, upplösning Moderna mobila matigenkänningsappar
Vision Transformers 2020 Self-attention för bildregioner Toppmodern forskning inom matigenkänning

Från klassificering till flerlabelsdetektering

Tidiga matigenkänningssystem behandlade uppgiften som ett enkelt klassificeringsproblem: givet en bild, förutsäg en matetikett. Men riktiga måltider är sällan så enkla. En typisk lunch kan innehålla ett huvudprotein, en sida med grönsaker, spannmål och en sås – allt på en tallrik.

Objektdetektering för komplexa tallrikar

Moderna matigenkänningssystem använder ramverk för objektdetektering som kan identifiera och lokalisera flera maträtter inom en enda bild. Dessa system ritar begränsningsrutor runt varje distinkt matvara och klassificerar dem oberoende av varandra.

Arkitekturer som YOLO (You Only Look Once) och Faster R-CNN har anpassats för matdetektering. Dessa modeller delar upp bilden i ett rutnät och förutsäger både placeringen och klassen av maträtter samtidigt, vilket möjliggör bearbetning i realtid på mobila enheter.

Semantisk segmentering för exakta gränser

För ännu större precision använder vissa system semantisk segmentering, som klassificerar varje pixel i bilden som tillhörande en specifik matkategori. Detta är särskilt användbart för blandade rätter som sallader eller wokrätter, där olika ingredienser överlappar och blandas.

Nutrolas Snap & Track-funktion använder en kombination av dessa metoder. När du fotograferar din måltid upptäcker systemet först individuella matregioner, sedan klassificerar det var och en, och slutligen uppskattar det mängden av varje förekommande vara. Denna flerstegsprocess gör det möjligt för systemet att hantera allt från en enkel banan till en komplex flurrättsmåltid.

Träningsdata: Bränslet bakom exakt matigenkänning

En matigenkänningsmodell är bara så bra som den data den tränats på. Att bygga ett högkvalitativt bilddataset för mat är en av de mest utmanande och resurskrävande aspekterna av att utveckla mat-AI.

Offentliga benchmark-dataset

Flera offentliga dataset har drivit framstegen inom forskning om matigenkänning:

  • Food-101: Innehåller 101 000 bilder fördelade på 101 matkategorier, används i stor utsträckning som benchmark
  • ISIA Food-500: Täcker 500 matkategorier med 400 000 bilder och erbjuder bredare täckning
  • UEC Food-256: Ett japanskt matdataset med 256 kategorier, viktigt för täckning av asiatiskt kök
  • Nutrition5k: Parar ihop matbilder med exakta näringsmätningar från en laboratoriemiljö

Utmaningen med verklighetens mångfald

Offentliga dataset, även om de är värdefulla för forskning, representerar inte fullt ut variationen av mat som människor äter runt om i världen. En modell som huvudsakligen tränats på västerländskt kök kommer att ha svårt med sydostasiatiska rätter, och vice versa. Det är därför produktionssystem för matigenkänning kompletterar offentliga dataset med proprietära data som samlats in från deras användarbas.

Nutrola betjänar användare i över 50 länder, vilket innebär att systemet dagligen möter en enorm mångfald av kök. Denna globala användarbas ger en kontinuerlig ström av verkliga matbilder som hjälper modellen att förbättra sin igenkänning av alla kök över tid.

Dataaugmenteringstekniker

För att artificiellt utöka träningsdata och förbättra modellens robusthet tillämpar ingenjörer olika dataaugmenteringstekniker:

  • Rotation och spegling: Säkerställer att modellen känner igen mat från alla vinklar
  • Färgjittering: Simulerar olika ljusförhållanden
  • Slumpmässig beskärning: Lär modellen att känna igen partiella vyer av mat
  • Cutout och mixup: Avancerade tekniker som tvingar modellen att fokusera på flera diskriminerande regioner istället för att förlita sig på en enda visuell ledtråd

Hur Nutrolas Snap & Track-teknik fungerar

Nutrolas Snap & Track-funktion samlar alla dessa tekniker i en sömlös användarupplevelse. Här är vad som händer under de ungefärliga två sekunderna mellan att ta ett foto och att se din kaloriöversikt:

  1. Bildförbehandling: Fotot storleksändras och normaliseras till det format som det neurala nätverket förväntar sig. Ljus- och färgkorrigeringar tillämpas för att standardisera indata.

  2. Matdetektering: En objektdetekteringsmodell identifierar distinkta matregioner i bilden och ritar begränsningsrutor runt var och en.

  3. Klassificering: Varje detekterad region skickas genom ett klassificeringsnätverk som identifierar den specifika matvaran. Systemet beaktar de främsta kandidaterna och deras konfidenspoäng.

  4. Portionsuppskattning: En separat modell uppskattar volymen och vikten av varje identifierad matvara baserat på visuella ledtrådar och referensstorlekar (mer om detta i vår kompletterande artikel om portionsstorleksuppskattning).

  5. Näringsuppslag: De identifierade matvarorna och uppskattade portionerna matchas mot en omfattande näringsdatabas för att beräkna kalorier, makronäringsämnen och mikronäringsämnen.

  6. Användarverifiering: Resultaten presenteras för användaren, som kan bekräfta eller korrigera identifieringarna. Denna feedbackloop förbättrar modellen kontinuerligt.

Hela denna process körs på under två sekunder, vilket gör den snabbare än att skriva "grillad kycklingbröst" i en sökruta och bläddra igenom dussintals resultat.

Utmaningar inom AI-baserad matigenkänning

Trots de anmärkningsvärda framstegen står AI-baserad matigenkänning fortfarande inför flera utmaningar som forskare och ingenjörer aktivt arbetar med att lösa.

Visuellt liknande maträtter

Vissa maträtter ser nästan identiska ut på fotografier men har väldigt olika näringsprofiler. Vitt ris och blomkålsris, vanlig pasta och fullkornspasta, samt fetost och lättost är alla exempel på visuellt liknande maträtter som skiljer sig markant i kalorier och makronäringsämnen.

Nuvarande system hanterar detta genom en kombination av kontextuella ledtrådar (vad mer som finns på tallriken), användarhistorik (vad någon vanligtvis äter) och genom att be användaren bekräfta när konfidensnivån är låg.

Blandade och skiktade rätter

En burrito, en smörgås eller en gratäng i lager utgör ett grundläggande problem: de flesta ingredienserna är dolda från synhåll. AI:n kan se tortillan men inte bönorna, osten, gräddfilen och riset inuti.

För att hantera detta lär sig modeller den typiska sammansättningen av vanliga rätter. När systemet identifierar en burrito kan det dra slutsatser om de troliga inre ingredienserna baserat på det synliga yttre och vanliga tillagningsmetoder. Användare kan sedan justera de specifika fyllningarna efter behov.

Belysning och miljöförhållanden

Dämpad restaurangbelysning, hårt blixtljus och färgtonat omgivningsljus kan alla påverka matens utseende. Gult ljus kan få vitt ris att se ut som saffransris, medan blåtonat ljus kan få rött kött att se brunt ut.

Moderna system hanterar detta genom dataaugmentering av träningsdata och genom att bygga färginvarianta egenskaper som fokuserar mer på textur och form än på absoluta färgvärden.

Framtiden för matigenkänningsteknik

AI-baserad matigenkänning utvecklas snabbt. Flera framväxande trender pekar mot ännu mer kapabla system inom en nära framtid:

Videobaserad igenkänning: Istället för att analysera ett enda foto kan framtida system analysera ett kort videoklipp av en måltid, fånga flera vinklar och förbättra noggrannheten.

Förstärkt verklighet-överlägg: AR skulle kunna ge näringsinformation i realtid när du skannar en buffé eller en restaurangmeny, och hjälpa dig att göra informerade val innan du äter.

Multimodala modeller: Kombinera visuell igenkänning med text (menyer, ingredienslistor) och till och med ljud (fråga användaren "lade du till dressing?") för en mer komplett förståelse av måltider.

Bearbetning på enheten: I takt med att mobila processorer blir kraftfullare kan mer av AI-bearbetningen ske direkt på telefonen utan att skicka bilder till en server, vilket förbättrar både hastighet och integritet.

Igenkänning på ingrediensnivå: Att gå bortom klassificering på rättnivå för att identifiera enskilda ingredienser och deras ungefärliga mängder, vilket möjliggör mer exakta näringsberäkningar.

Varför noggrannheten fortsätter att förbättras

En av de mest uppmuntrande aspekterna av AI-baserad matigenkänning är dess inbyggda förbättringsmekanism. Varje gång en användare tar ett foto och bekräftar eller korrigerar resultatet får systemet en märkt datapunkt. Med miljontals användare som loggar måltider dagligen samlar produktionssystem som Nutrola in träningsdata i en takt som akademisk forskning inte kan matcha.

Detta skapar en positiv spiral: bättre noggrannhet leder till fler användare, fler användare genererar mer data, mer data möjliggör bättre noggrannhet. Det är därför den matigenkänning du upplever idag är avsevärt bättre än vad som var tillgängligt för bara ett år sedan, och den kommer att fortsätta förbättras.

Vanliga frågor

Hur exakt är AI-baserad matigenkänning jämfört med manuell loggning?

Studier har visat att AI-baserad matigenkänning kan uppnå noggrannhetsgrader på över 90 procent för vanliga maträtter, vilket är jämförbart med eller bättre än noggrannheten hos utbildade dietister som manuellt uppskattar portioner. Manuell loggning av icke-experter underrapporterar vanligtvis kaloriintaget med 10 till 45 procent, vilket gör AI-assisterad loggning mer tillförlitlig för de flesta.

Kan AI-baserad matigenkänning fungera med kök från hela världen?

Ja, även om noggrannheten varierar beroende på kök och tillgänglig träningsdata. System som Nutrola som betjänar en global användarbas i 50 eller fler länder förbättrar kontinuerligt sin igenkänning av olika kök i takt med att de samlar in mer data från användare världen över. Ju mer ett kök är representerat i träningsdata, desto mer exakt blir igenkänningen.

Fungerar AI-baserad matigenkänning offline?

Det beror på implementeringen. Vissa appar bearbetar bilder på enheten med optimerade modeller, vilket fungerar offline men kan offra viss noggrannhet. Andra skickar bilder till molnservrar för bearbetning, vilket kräver en internetanslutning men kan använda större och mer exakta modeller. Många moderna appar använder en hybridmetod, där initial igenkänning sker på enheten och resultaten förfinas med molnbearbetning när det är tillgängligt.

Hur hanterar AI hemlagade måltider som inte matchar restaurangrätter?

Moderna matigenkänningssystem är tränade på både restaurang- och hemlagade matbilder. De identifierar enskilda komponenter snarare än att försöka matcha en komplett rätt mot en databaspost. Så en hemlagad wok skulle brytas ner i sina synliga komponenter (kyckling, broccoli, ris, sås) snarare än att matchas mot en enda menypost.

Hålls mina matfotodata privata?

Integritetspolicyer varierar mellan appar. Nutrola är engagerat i användarnas integritet och använder matbilder enbart i syfte att utföra näringsanalys och modellförbättring. Bilder bearbetas säkert och delas inte med tredje part. Användare kan granska integritetspolicyn för fullständiga detaljer om datahantering.

Vad händer när AI:n identifierar en matvara felaktigt?

När AI:n felidentifierar en matvara kan användare korrigera resultatet genom att välja rätt vara från en lista eller skriva in rätt mat. Denna korrigering fungerar som värdefull träningsdata som hjälper modellen att förbättras över tid. Ju fler korrigeringar ett system tar emot för en viss matvara, desto snabbare förbättras dess noggrannhet för den varan.

Redo att förvandla din näringsspårning?

Gå med tusentals som har förvandlat sin hälsoresa med Nutrola!