Hogyan használja a Nutrola a számítógépes látást és az AI-t több mint 130 000 étel azonosítására

Mélyreható technikai elemzés a Nutrola Snap & Track funkciójának mesterséges intelligenciájáról: hogyan működnek együtt a konvolúciós neurális hálózatok, a többételek észlelése és a porcióbecslés, hogy egyetlen fényképből több mint 130 000 ételt azonosítsanak.

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

A probléma: Miért az ételazonosítás az AI egyik legnehezebb kihívása

Az étel azonosítása fényképeken egyszerűnek tűnik. Az emberek ezt könnyedén megteszik. De a számítógépes látási rendszerek számára az ételazonosítás a legtechnikai szempontból legigényesebb vizuális klasszifikációs feladatok közé tartozik, sokkal nehezebb, mint az arcok, autók vagy kézzel írott szövegek azonosítása.

Az okok tanulságosak:

  • Extrém belső osztályváltozatosság. Egy "saláta" ezer különböző dolgot jelenthet. A Caesar saláta, a görög saláta, a gyümölcssaláta és a dekonstruált Nicoise ugyanabba a kategóriába tartozik, de szinte semmilyen vizuális hasonlóságot nem mutatnak.
  • Magas külső osztályhasonlóság. A krumplipüré és a hummusz szinte azonosnak tűnhet egy fényképen. Ugyanígy néhány leves és turmix tál is. A fehér rizs és a karfiolrizs bizonyos szögekből vizuálisan megkülönböztethetetlen.
  • Deformáció és keveredés. A rugalmas tárgyakkal ellentétben az ételt felvágják, megfőzik, összekeverik, rétegeznek és végtelen kombinációkban tálalják. Egy burrito, egy wrap és egy enchilada azonos összetevőket tartalmazhat különböző szerkezeti konfigurációkban.
  • Kulturális kontextus függősége. Ugyanaz a vizuális megjelenés különböző ételeket jelenthet különböző konyhákban. Egy kerek, lapos kenyér lehet tortilla, roti, pita, palacsinta vagy svéd tunnbrod, mindegyiknek más táplálkozási profilja van.
  • Részleges takarás. Az éttermek tányérján az ételek átfedik egymást, a szószok eltakarják az összetevőket, és a díszítések elrejtik, ami alatta van.

Ezek a kihívások magyarázzák, miért maradt az ételazonosítás évekig lemaradva más számítógépes látási alkalmazásokhoz képest. Azt is megmagyarázza, miért volt szükség egy alapvetően más megközelítésre, mint a hagyományos képkategorizálás.

Az alap: Konvolúciós neurális hálózatok

Hogyan dolgozzák fel a CNN-ek az ételfotókat

A modern ételazonosítás szívében a konvolúciós neurális hálózat (CNN) áll, amely a vizuális adatok feldolgozására kifejlesztett mélytanulási architektúrák egy típusa. A CNN egy képet egy hierarchikus jellemzőkivonási rétegek sorozatán keresztül elemez:

1-3. réteg (Alacsony szintű jellemzők): A hálózat az élek, színek és egyszerű textúrák azonosítására összpontosít. Ezen a szinten észlelheti a tányér körkörös szélét, a főtt hús barna színét vagy a rizs szemcsés textúráját.

4-8. réteg (Középső szintű jellemzők): Ezek a rétegek az alacsony szintű jellemzőket összetettebb mintázatokba kombinálják: a grillezett steak márványozott mintázata, a szendvics rétegezett szerkezete, a szósz fényes felülete vagy a reszelt csirke rostos textúrája.

9-15+ réteg (Magas szintű jellemzők): A legmélyebb rétegek az középső szintű mintázatokat ételspecifikus reprezentációkká állítják össze. A hálózat megtanulja, hogy egy adott textúrák, színek, formák és térbeli elrendezések kombinációja "pad thai"-ra, "margherita pizzára" vagy "csirke tikka masalára" utal.

Az architektúra fejlődése

Az ételazonosításra használt architektúrák az elmúlt évtizedben jelentősen fejlődtek:

Architektúra Év Kulcsinnováció Pontosság az ételazonosításban
AlexNet 2012 Bizonyította, hogy a mély CNN-ek életképesek ~55% top-1 a Food-101-en
VGGNet 2014 Mélyebb hálózatok kis szűrőkkel ~72% top-1 a Food-101-en
GoogLeNet/Inception 2014 Több méretű jellemzőkivonás ~78% top-1 a Food-101-en
ResNet 2015 Átugró kapcsolatok, amelyek lehetővé teszik a sokkal mélyebb hálózatokat ~85% top-1 a Food-101-en
EfficientNet 2019 Mélység/szélesség/felbontás összetett skálázása ~91% top-1 a Food-101-en
Vision Transformers (ViT) 2020 Figyelem mechanizmusok a globális kontextushoz ~93% top-1 a Food-101-en
Modern hibrid architektúrák 2023-2025 CNN-Transformer fúzió régiótudatos figyelemmel ~96%+ top-1 a kibővített adatbázisokon

A Food-101 benchmark (101 étel kategória, 101 000 kép) évekig a standard értékelési adatbázis volt. A modern rendszerek, mint a Nutrola, sokkal nagyobb léptékben működnek, több mint 130 000 azonosítható étellel, amelyek képzési paradigmái messze meghaladják az akadémiai benchmarkokat.

Több étel észlelése: Minden látható a tányéron

Túl a egy étel klasszifikáción

A korai ételazonosító rendszerek egyetlen ételt tudtak azonosítani egy képen. Egy tányér fényképe, amelyen rizs, curry és naan kenyér van, az egyik három elem egyikeként lett klasszifikálva, figyelmen kívül hagyva a többit. A valós étkezések nem ilyen egyszerűek.

A több étel észlelés más architektúrára van szükség. Ahelyett, hogy az egész képet egyetlen kategóriaként klasszifikálná, a rendszernek:

  1. Érdeklődési területeket kell észlelnie (hol találhatók a különböző étkezési elemek a képen?)
  2. Szegmenseket kell létrehoznia (hol ér véget a rizs és hol kezdődik a curry?)
  3. Minden szegmenst függetlenül kell klasszifikálnia (ez a terület rizs, ez csirke curry, ez naan)
  4. Kezelni kell az átfedő elemeket (a curry szósz a rizs tetején a curry része, nem különálló elem)

Tárgyészlelési keretrendszerek az ételhez

A modern több étel észlelés az általános számítógépes látási feladatokhoz eredetileg kifejlesztett tárgyészlelési keretrendszerekre épül:

  • Terület alapú megközelítések (a Faster R-CNN-ből származik) jelölő területeket generálnak és klasszifikálják az egyeseket. Ezek pontosak, de számításigényesek.
  • Egylépéses megközelítések (a YOLO és SSD-ből származik) egyetlen előrehaladási lépésben jósolják meg a keretméreteket és a klasszifikációkat, lehetővé téve a valós idejű észlelést mobil eszközökön.
  • Szemantikai szegmentálási megközelítések (a U-Net és Mask R-CNN-ből származik) pixel szintű ételtérképeket generálnak, pontos határokat adva az elemek között.

A Nutrola Snap & Track rendszere egy hibrid megközelítést alkalmaz, amely optimalizált a mobil feldolgozásra. A folyamat hatékonyan működik az eszközön a kezdeti észleléshez, míg a bonyolult jelenetek vagy kétértelmű elemek esetén szerveroldali feldolgozást végez. Ez gyors felhasználói élményt biztosít, jellemzően két másodpercen belül a fénykép elkészítésétől a táplálkozási elemzésig, miközben megőrzi a magas pontosságot.

Bonyolult étkezési struktúrák kezelése

Néhány étkezés olyan szerkezeti kihívásokat jelent, amelyeket az egyszerű észlelés nem tud megoldani:

  • Rétegezett ételek (lasagna, szendvicsek, burritók): A rendszernek a látható külső jelek és a kontextuális tudás alapján kell következtetnie a belső összetevőkre.
  • Keverék ételek (stir-fry, pörkölt, rakott ételek): Az egyes összetevők egyetlen vizuális tömegbe vannak kombinálva. A rendszer textúraelemzést, színeloszlást és kontextuális előzményeket használ a kompozíció becslésére.
  • Dekonstruált tálalások (tál étkezések, bento dobozok, tapas): Több kis elem külön rekeszekben való észlelése és klasszifikálása szükséges.
  • Italok az étel mellett: A narancslé, a mangó turmix és a thai jeges tea megkülönböztetése szín, átlátszóság, edénytípus és kontextus elemzését igényli.

Képzési adatok: Az azonosítási minőség alapja

Méret és sokféleség követelmények

Egy ételazonosító rendszer csak annyira jó, amennyire az adatok, amelyeken képezték. Egy olyan modell felépítése, amely több mint 130 000 ételt ismer fel 50+ országból, rendkívüli méretű és sokféleségű képzési adatbázist igényel.

A képzési adatok minőségének kulcsfontosságú dimenziói:

Térfogat: A modern ételazonosító modellek milliókban mérhető címkézett ételfotókat igényelnek. Minden étel kategóriának több száz vagy ezer példányra van szüksége, amelyek különböző elkészítéseket, tálalásokat, világítási körülményeket, szögeket és porcióméreteket mutatnak.

Sokféleség: Egy "csirkemell" egy japán konyhában másképp néz ki, mint egy brazil konyhában, amely pedig más, mint egy nigériai konyhában. A képzési adatoknak tükrözniük kell ezt a sokféleséget, különben a modell nem fog működni az általa nem látott konyhákban.

Címke pontosság: Minden képet helyesen kell címkézni a konkrét étel azonosítójával, nem csupán a általános kategóriával. A "grillezett lazac teriyaki szósszal" táplálkozási szempontból eltér a "grillezett lazac citromvajas szósszal" ételtől, és a képzési címkéknek ezt a megkülönböztetést is rögzíteniük kell.

Porcióváltozatosság: Ugyanaz az étel 100g-os és 300g-os porcióban is szerepelnie kell a képzési adatokban, hogy a modell megtanulhassa a mennyiség becslését, nem csupán az azonosítást.

Adatnövelési stratégiák

A nyers adatgyűjtés nem tudja lefedni az összes lehetséges ételmegjelenítést. Az adatnövelési technikák bővítik a hatékony képzési készletet:

  • Geometriai transzformációk: A képek forgatása, tükrözése és méretezése, hogy a modell bármilyen tányérorientációban felismerje az ételeket.
  • Szín- és világítási variációk: A fényerő, kontraszt és fehér egyensúly módosítása, hogy különböző világítási körülményeket szimuláljon (étterem világítása, fluoreszcens konyhai fények, kültéri természetes fény, vaku fényképezés).
  • Szintrikus takarás: Az ételfotók véletlenszerű részeinek elrejtése, hogy a modell megtanulja az elemeket akkor is felismerni, amikor részben el vannak rejtve.
  • Stílusátvitel: Szintetikus képek generálása, amelyek megőrzik az étel identitását, miközben változtatják a hátteret, a tálalási stílust és az edényeket.

Folyamatos tanulás a felhasználói adatokból

Több mint 2 millió aktív felhasználó napi étkezéseket rögzítve a Nutrola rendszere folyamatos visszajelzési hurkot élvez. Amikor egy felhasználó kijavít egy tévesen azonosított ételt, ez a javítás tanulási jelként szolgál. Idővel ez a felhasználói alapú finomítás foglalkozik a széljegyzetekkel és a regionális ételváltozatokkal, amelyeket a kezdeti képzési adatbázis nem tudott teljes mértékben előre jelezni.

Ez különösen értékes:

  • Regionális ételek esetén, amelyek nem jelennek meg az akadémiai ételadatbázisokban
  • Új étkezési trendek (új termékek, fúziós konyhák, vírusos receptek)
  • Márkák specifikus termékei esetén, ahol a csomagolás és a tálalás a regionális piacokkal változik
  • Otthon készített ételek, amelyek másképp néznek ki, mint az étterem tálalásai

Porcióbecslés: A nehezebb probléma

Miért fontosabb a porcióbecslés, mint az azonosítás

Az étel azonosítása csak a probléma fele. A táplálkozási különbség egy 100g-os és egy 250g-os tál tészta között 230 kalória, ami elegendő ahhoz, hogy befolyásolja egy diétát. A porcióbecslés egyetlen fényképből sok szempontból a technikailag legigényesebb kihívás.

Mélység- és méretbecslés

A 2D fénykép hiányolja a mélységi információkat, amelyek szükségesek az ételmennyiség közvetlen méréséhez. A rendszernek a két dimenziós jelekből kell következtetnie a háromdimenziós tulajdonságokra:

  • Referenciaobjektumok: A képen lévő tányérok, tálak, evőeszközök és kezek méretreferenciákat nyújtanak. Egy standard vacsora tányér (kb. 26 cm átmérőjű) rögzíti a méretbecslést mindennek, ami rajta van.
  • Perspektíva geometria: Az a szög, ahonnan a fénykép készült, befolyásolja a látszó méretet. Egy közvetlenül felülről fényképezett tányér másképp néz ki, mint egy 45 fokos szögből fényképezett. A rendszer megbecsüli a kamera szögét és korrigálja a perspektíva torzulását.
  • Étel-specifikus sűrűségi modellek: Ugyanannyi térfogatú saláta és steak teljesen eltérő súlyokkal és kalóriatartalommal rendelkezik. A rendszer étel-specifikus sűrűségi előzményeket alkalmaz az becsült térfogat súlyra való átváltásához.
  • Tanult porció eloszlások: Milliókban rögzített étkezések statisztikai előzményei tájékoztatják a várt porcióméreteket. Ha a modell "zabkása tálat" észlel, tudja, hogy az átlagos adag körülbelül 250g, és ezt az előtétet használja az becslés korlátozására.

Pontossági benchmarkok

Mennyire pontos az AI-alapú porcióbecslés? A kutatási benchmarkok kontextust adnak:

Módszer Átlagos hiba (% a valós súlyhoz képest)
Emberi vizuális becslés (képzetlen) 40-60%
Emberi vizuális becslés (képzett dietetikus) 15-25%
Egylépéses AI becslés (2020-as évek) 20-30%
Egylépéses AI becslés (jelenlegi csúcs, 2025) 10-20%
AI becslés referenciaobjektummal 8-15%
Mért étel mennyiség (arany standard) <1%

A jelenlegi AI rendszerek nem érik el az ételmérleget, de következetesen felülmúlják a képzetlen emberi becsléseket, és megközelítik a képzett dietetikusok pontosságát. A nyomon követési esetek túlnyomó többsége számára ez a pontossági szint elegendő a jelentős táplálkozási betekintések támogatásához.

A táplálkozási térkép réteg

A vizuális azonosítástól a táplálkozási adatokig

A "grillezett csirkemell" azonosítása egy fényképen csak akkor hasznos, ha az azonosítás pontos táplálkozási adatokhoz kapcsolódik. Itt válik fontossá a Nutrola 100%-ban dietetikus által ellenőrzött ételdatabázisa.

A térképezési réteg összekapcsolja minden vizuális klasszifikációt egy specifikus adatbázis-bejegyzéssel, amely tartalmazza:

  • Makrotápanyag-összetétel (kalóriák, fehérjék, szénhidrátok, zsírok)
  • Mikrotápanyag-profil (vitaminok, ásványi anyagok)
  • Tálalási méretváltozatok
  • Elkészítési módszer módosítások (grillezett vs. sült csirkemell jelentősen eltérő zsírtartalommal rendelkezik)
  • Regionális és márka-specifikus változatok

Ez a térképezés nem egyszerű keresési táblázat. A rendszer figyelembe veszi:

  • Főzési módszer észlelése: Vizuális jelek (barnulás, olajfény, égett nyomok) segítenek meghatározni, hogy az ételt grillezték, sütötték, sütötték vagy párolták, mindegyik megváltoztatja a táplálkozási profilt.
  • Szósz és feltét becslés: A látható szószok, öntetek, sajtok és feltétek azonosítása és táplálkozási hozzájárulásuk hozzáadása az alap ételhez.
  • Összetett étkezés becslése: Keverék ételek esetén, ahol a pontos receptek ismeretlenek, a rendszer a tipikus összetételek statisztikai modelljeit használja a makro- és mikrotápanyag tartalom becslésére.

Az ellenőrzés különbsége

Sok ételazonosító rendszer nem ellenőrzött, felhasználók által generált táplálkozási adatbázisokra támaszkodik. Ez egy kumulatív hibát vezet be: még ha a vizuális azonosítás helyes is, a táplálkozási adatok, amelyekhez kapcsolódik, tévesek lehetnek. A Nutrola megközelítése, amely fenntart egy dietetikus által ellenőrzött adatbázist, kiküszöböli ezt a második hibaforrást, biztosítva, hogy a helyes azonosítás helyes táplálkozási információhoz vezessen.

Szélsőséges esetek és folyamatos kihívások

Hol küzdenek a jelenlegi rendszerek

A korlátozásokkal kapcsolatos átláthatóság legalább olyan fontos, mint a képességek kiemelése. A jelenlegi ételazonosító AI, beleértve a Nutrola rendszerét, folyamatos kihívásokkal néz szembe:

  • Rejtett összetevők: Egy smoothie tál táplálkozási tartalma attól függ, hogy mi van benne, ami nem látható a fényképen. A rendszer a gyakori receptmodellekre támaszkodik, és kérheti a felhasználókat további információk megadására.
  • Nagyon hasonló ételek: A vizuálisan azonos ételek megkülönböztetése (pl. hagyományos krumplipüré vs. karfiol püré) néha felhasználói megerősítést igényel.
  • Szokatlan tálalások: Az ismeretlen módon tálalt ételek, mint a molekuláris gasztronómia vagy a rendkívül művészi tálalás, zavarhatják az észlelési rendszereket.
  • Extrém világítási körülmények: Nagyon sötét éttermek vagy erős vaku fényképezés rontja a képminőséget és csökkenti az észlelési pontosságot.
  • Csomagolt ételek látható címkék nélkül: Egy csomagolt szendvics vagy egy zárt tartály korlátozott vizuális információt nyújt.

Hogyan kezeli a Nutrola a bizonytalanságot

Amikor az AI nem biztos az azonosításában, a rendszer több stratégiát alkalmaz:

  1. Top-N javaslatok: Ahelyett, hogy egyetlen azonosításra kötelezné magát, a rendszer a legvalószínűbb lehetőségeket mutatja be, és lehetőséget ad a felhasználónak a helyes kiválasztására.
  2. Tisztázó kérdések: Az AI Diet Assistant további kérdéseket tehet fel: "Ez fehér rizs vagy karfiol rizs?" vagy "Ez krémalapú vagy paradicsomalapú szószt tartalmaz?"
  3. Hangalapú kiegészítés: A felhasználók verbális kontextust adhatnak a fényképhez: készítsenek egy képet, és mondják: "Ez anyukám házi készítésű lencseleves kókusztejjel." A hangbemenet tisztázza a vizuális információt.
  4. Tanulás a javításokból: Minden felhasználói javítás javítja a jövőbeli pontosságot hasonló elemek esetén.

A feldolgozási folyamat: A fényképtől a táplálkozásig kevesebb mint két másodperc alatt

Íme egy leegyszerűsített nézet arról, mi történik, amikor egy Nutrola felhasználó ételfotót készít:

1. lépés (0-200 ms): Kép előfeldolgozás. A fényképet normalizálják méret, tájolás és színkiegyenlítés szempontjából. Alapminőség-ellenőrzések biztosítják, hogy a kép felhasználható legyen.

2. lépés (200-600 ms): Több étel észlelése. Az észlelési modell azonosítja a különböző étkezési elemeket tartalmazó területeket, és kereteket rajzol minden egyes köré.

3. lépés (600-1000 ms): Területenkénti klasszifikáció. Minden észlelt területet a 130 000+ étel taxonómiájához klasszifikálnak. Minden klasszifikációhoz bizalmi pontszámokat rendelnek.

4. lépés (1000-1400 ms): Porcióbecslés. A méret és a súly becslése történik minden észlelt elem esetében mélységi következtetések, referenciaobjektumok méretezése és étel-specifikus sűrűségi modellek alkalmazásával.

5. lépés (1400-1800 ms): Táplálkozási térképezés. Minden klasszifikált és porciózott elemet összekapcsolnak a dietetikus által ellenőrzött adatbázis-bejegyzésével. Az elkészítési módszer módosításait alkalmazzák.

6. lépés (1800-2000 ms): Eredmények összeállítása. A teljes táplálkozási elemzés összeáll, és a felhasználónak bemutatásra kerül, az egyes elemek listájával és a teljes étkezés összefoglalásával.

Az egész folyamat jellemzően kevesebb mint két másodperc alatt befejeződik a modern okostelefonokon, az első észlelés és klasszifikáció az eszközön fut, míg a táplálkozási térképezés a Nutrola felhőalapú adatbázisához kapcsolódik.

Mi jön ezután: Az ételazonosító AI jövője

Feltörekvő képességek

Az ételazonosító AI területe gyorsan fejlődik:

  • Videó alapú nyomon követés, amely az étkezési eseményeket elemzi, nem csupán egyetlen fényképet, javítva a porcióbecslést több nézőpontból
  • Összetevő szintű azonosítás, amely az egyes komponenseket azonosítja kevert ételeken belül, nem pedig egyetlen bejegyzésként kezeli őket
  • Főzési folyamat elemzése, amely képes megbecsülni a táplálkozási változásokat a nyers és főtt állapot között a főzési módszer és időtartam vizuális bizonyítékai alapján
  • AR-támogatott porciómérés, amely okostelefon mélységérzékelőit (LiDAR) használ a pontosabb térfogatbecsléshez
  • Keresztmodalitás tanulás, amely ötvözi a vizuális, szöveges (menük, címkék) és kontextuális (hely, napszak) információkat a pontosabb azonosítás érdekében

A méret előnye

Több mint 2 millió felhasználóval 50+ országban, akik milliókban mérik az étkezéseket, a Nutrola az észlelési rendszere olyan ütemben fejlődik, amelyet az akadémiai kutatás nem tud lépést tartani. Minden rögzített étkezés egy adatpont. Minden javítás egy tanulási jel. Minden új konyha, amellyel találkozik, a modell tudásának bővítése. Ez a flywheel hatás azt jelenti, hogy a rendszer minden hónapban mérhetően pontosabbá válik, különösen a regionális és kulturális ételek hosszú sorozatában, amelyeket a kisebb rendszerek nem tudnak megtanulni.

A lényeg

Az ételazonosító AI az egyik legtechnikai szempontból legnehezebb alkalmazása a számítógépes látásnak, megoldásokat igényel olyan problémákra, amelyekkel a legtöbb képkategorizáló rendszer soha nem találkozik: extrém vizuális változatosság a kategóriákon belül, több étel észlelése zsúfolt tányérokon, háromdimenziós porcióbecslés kétdimenziós képekből és a táplálkozási adatok megbízható térképezése több mint 130 000 ételhez, több tucat konyhából.

A Nutrola Snap & Track funkciójának mögötti technológia a mély konvolúciós neurális hálózatok, a fejlett tárgyészlelési architektúrák, a statisztikai porcióbecslési modellek és a dietetikus által ellenőrzött ételdatabázisok összefonódását képviseli. Az eredmény egy olyan rendszer, amely képes egy hétköznapi fényképet az ebédedről részletes táplálkozási elemzéssé alakítani kevesebb mint két másodperc alatt.

Ez nem tökéletes. Jelenleg egyik rendszer sem az. De elég pontos ahhoz, hogy a táplálkozás nyomon követése gyakorlati lehetőséget biztosítson milliók számára, akik soha nem mérnék meg az ételüket vagy keresnének manuálisan egy adatbázist. És minden nap egyre jobbá válik, tanulva minden étkezésből, amit a felhasználói megosztanak. Ez a jelenlegi képességek és a folyamatos fejlődés kombinációja teszi az AI-alapú ételazonosítást nemcsak technikai teljesítménnyé, hanem praktikus eszközzé a jobb táplálkozás érdekében.

Készen állsz a táplálkozásod nyomon követésének átalakítására?

Csatlakozz ezrekhez, akik a Nutrolával átalakították az egészségügyi útjukat!