A Nutrola Ételfelismerő Technológiájának Kutatása

Hogyan ismeri fel a Nutrola az ételeket egy fotóról kevesebb mint 3 másodperc alatt? Mélyreható betekintés a számítógépes látás, mélytanulás és táplálkozástudomány kutatásába, amely az AI-nkat hajtja.

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

Amikor lefotózod a vacsorádat, és a Nutrola kevesebb mint három másodperc alatt visszaadja a teljes tápanyagtartalmat, mögötte évtizedek számítógépes látás kutatása, táplálkozástudomány és AI mérnöki munka áll. Ami elsőre egyetlen pillanatnyi felismerésnek tűnik, valójában egy sor specializált modell láncolata, amelyek mindegyike egy-egy tudományos problémát old meg. A pillanattól kezdve, hogy a fényképezőgép zárja kattog, egészen addig, amíg a makrotápanyag-értékek megjelennek a képernyőn, a képed egy olyan csövön halad keresztül, amely a Stanford, az MIT, a Google DeepMind és az ETH Zürich Számítógépes Látás Laboratóriumának alapkutatásain alapul.

Ez a cikk lépésről lépésre követi ezt a folyamatot, hivatkozva a valós kutatásokra és technikai fogalmakra, amelyek lehetővé teszik a Nutrola ételfelismerését.

A Számítógépes Látás Csővezeték

A Nutrola ételfelismerése nem egyetlen modell. Ez egy többlépcsős csővezeték, ahol minden lépés egy külön feladatot kezel, és az egyik lépés kimenete táplálja a következőt.

1. lépés – Kép Előfeldolgozás. Mielőtt bármelyik neurális hálózat megvizsgálná a fotódat, a nyers kép normalizáláson megy keresztül. Ez magában foglalja a standard bemeneti felbontásra való átméretezést, a fehér egyensúly és az expozíció változásainak kiigazítását, valamint az adatok augmentálását a tanulás során. Krizhevsky, Sutskever és Hinton 2012-es, mérföldkőnek számító ImageNet tanulmányukban bemutatták, hogy az előfeldolgozás és az augmentálás drámaian javítja a mély konvolúciós neurális hálózatok (CNN) általánosítását. A modern csővezetékek ezt továbbfejlesztik olyan technikákkal, mint a CutMix (Yun et al., 2019) és a RandAugment (Cubuk et al., 2020), amelyek megtanítják a modellt, hogy ellenálljon az ételek fényképezésénél gyakori eltakarással és színeltolódásokkal szemben.

2. lépés – Étel Detektálás és Szeletelés. Miután a kép előfeldolgozásra került, egy objektumdetektáló modellhez jut, amely azonosítja és lokalizálja a tányéron lévő különböző ételeket. Ez a lépés nagymértékben támaszkodik a régióalapú konvolúciós neurális hálózatok kutatására. A Faster R-CNN (Ren et al., 2015) megalapozta a régiójavaslat-hálózatok paradigmáját, míg a Facebook AI Research által kifejlesztett DETR (Carion et al., 2020) architektúrák transformer-alapú figyelmet használnak, hogy teljesen megszüntessék a kézi tervezésű komponenseket, mint például az anker dobozokat. A pixel szintű precizitás érdekében a DeepLab (Chen et al., 2017) architektúrákra épülő szemantikai szeletelő modellek minden pixelhez hozzárendelnek egy étel kategóriát, ami kritikus a kevert ételeknél, ahol az összetevők átfedik egymást.

3. lépés – Étel Osztályozás. Minden észlelt ételterületet ezután osztályoznak. A modern ételosztályozók gerince az ImageNet-en (Deng et al., 2009) validált architektúrákból származik, amely egy 14 millió címkézett képet tartalmazó adatbázis, amely katalizálta a mélytanulás forradalmát. Étel-specifikus adatbázisok, mint például a Food-101 (Bossard et al., 2014), amely 101 kategóriában 101 000 képet tartalmaz, és az UECFOOD-256 (Kawano és Yanai, 2015), amely 256 étel kategóriát ölel fel, a japán konyhára fókuszálva, biztosítják a terület-specifikus tanulási adatokat, amelyek szükségesek a generalista architektúrák finomhangolásához az ételfelismeréshez.

4. lépés – Adagbecslés. Miután azonosították, mi található a tányéron, a rendszer megbecsüli, hogy mennyi van az egyes ételekből. Ez a legnehezebb megoldatlan probléma az ételfelismerés kutatásában, és mélységbecslést és térfogat-értelmezést igényel egyetlen 2D képből.

5. lépés – Tápanyagtérkép. Végül a klasszifikált ételt és a becsült adagméretet egy hitelesített tápanyagdátbázishoz térképezik, hogy előállítsák a kalória-, fehérje-, szénhidrát-, zsír- és mikrotápanyag-értékeket.

Ezek a lépések mindegyike egy aktív kutatási területet képvisel. Az alábbi szakaszok részletesen vizsgálják a legtechnikai kihívásokkal teli lépéseket.

Étel Osztályozás: Túl a "Ez egy Saláta" Kijelentésen

Megkülönböztetni egy salátát egy steaktől egyszerű bármely modern osztályozó számára. Az igazi kihívás akkor kezdődik, amikor a rendszernek meg kell különböztetnie a vizuálisan hasonló ételeket: a csirke tikka masalát a vajban sült csirkétől, a pad thaít a részeg tésztától, vagy a görög salátát a fattoushtól. Ezek az ételek megosztják a színeket, textúrákat és szerkezeti mintákat, de jelentősen eltérnek az összetevőikben és kalóriatartalmukban.

Átviteli Tanulás és Domain Adaptáció

Az ételosztályozás standard megközelítése az átviteli tanulásra támaszkodik, egy technikára, amelyet Yosinski et al. (2014) formalizált, ahol egy nagy általános adatbázison, mint az ImageNet, előképzett modellt finomhangolnak étel-specifikus adatokkal. A hálózat alsó rétegei, amelyek az élek, textúrák és alapformák észlelésére szolgálnak, jól átvihetők a különböző domainek között. A magasabb rétegek, amelyek a szemantikai jelentést kódolják, újra tanulják az étel-specifikus jellemzőket, mint például a különbséget a sült felület fényes és a párolt felület matt megjelenése között.

Hassannejad et al. (2016) kutatása bemutatta, hogy az InceptionV3 Food-101-en való finomhangolása 88,28%-os top-1 pontosságot ért el, ami jelentős előrelépés a korábbi kézi jellemzők megközelítésekhez képest. A legújabb munkák, amelyek Vision Transformer-eket (Dosovitskiy et al., 2020) és azok étel-specifikus változatait használják, a Food-101 pontosságát 93% fölé emelték.

Többcímkés Osztályozás Komplex Tányérokhoz

A valódi ételek ritkán tartalmaznak egyetlen elemet. Egy tipikus vacsora tányéron lehet grillezett lazac, sült spárga, quinoa és citromos vajszósz. A többcímkés osztályozás, ahol egyetlen kép több független címkét kaphat, megoldja ezt a problémát. Wang et al. (2016) kutatása a CNN-RNN architektúrákról a többcímkés képklasszifikálás számára keretrendszereket állított fel, amelyek rögzítik a címkék együttes előfordulásának mintáit. Az étel domainben ez azt jelenti, hogy a modell megtanulja, hogy a rizs és a curry gyakran együtt jelenik meg, ami kontextuális jelet ad, amely javítja az egyes étel elemek pontosságát.

A Nutrola ezt egy hierarchikus osztályozási rendszerrel bővíti. Ahelyett, hogy egy lapos címkét jósolna, a rendszer először a széles étel kategóriát (gabona, fehérje, zöldség, szósz) osztályozza, majd szűkíti a konkrét elemre ezen belül. Ez a kétlépcsős megközelítés csökkenti a vizuálisan hasonló elemek közötti zűrzavart, és tükrözi, hogyan vannak szervezve a tápanyagdátbázisok.

Adagbecslés: A 3D Kihívás

Az étel azonosítása a tányéron csak a probléma felét oldja meg. Egy 100 grammos csirkemell 165 kalóriát tartalmaz. Egy 250 grammos adag 412 kalóriát. Pontos adagbecslés nélkül még a tökéletes ételazonosítás is megbízhatatlan kalóriaszámokat eredményez.

Monokuláris Mélységbecslés

Az étel térfogatának megbecslése egyetlen 2D fényképből megköveteli, hogy a rendszer mélységet inferáljon, ezt a problémát monokuláris mélységbecslésnek nevezik. Eigen, Puhrsch és Fergus (2014) alapvető munkát publikált, amely bemutatta, hogy a CNN-ek pixel szintű mélységtérképeket képesek előre jelezni egyetlen képből. A Ranftl et al. (2021) legújabb kutatása bemutatta a MiDaS modellt, amely vegyes adatbázisokon lett betanítva, és robusztus relatív mélységbecsléseket produkál különböző jelenetekben.

Az ételalkalmazások esetében a mélységbecslés lehetővé teszi a rendszer számára, hogy megkülönböztesse a tányérra elosztott vékony szószréteget és egy mély tál levest. A közismert referenciaobjektumok, mint például tányérok, tálak és evőeszközök ismert geometriájával kombinálva a mélységtérképek átalakíthatók hozzávetőleges térfogatbecslésekké.

Geometriai Megközelítések a Térfogatbecsléshez

A Tokiói Egyetem kutatása (Okamoto és Yanai, 2016) bemutatta, hogy az étel térfogata geometriai primitívek, például hengerek, félgömbök és téglatestek illesztésével becsülhető meg a szeletelt ételterületekhez. Egy halom rizs körülbelül fél-ellipszoidnak felel meg. Egy pohár tej körülbelül hengert formál. Egy szelet kenyér körülbelül téglatestet alkot.

Ezek a geometriai közelítések, a tanult sűrűségi előfeltevésekkel kombinálva (a rendszer tudja, hogy egy adott térfogatú pürésített burgonya nehezebb, mint ugyanannyi térfogatú pattogatott kukorica), súlybecsléseket eredményeznek, amelyek a kutatások szerint a legtöbb közönséges étel esetében 15-20%-on belül vannak a valós értékhez képest. A Nutrola ezeket a becsléseket tovább finomítja egy saját fejlesztésű együttes megközelítéssel, amely a geometriai érvelést ötvözi a tanult regressziós modellekkel, amelyeket több tízezer, ismert súlyú étel képpel képeztek.

Referenciaobjektum Kalibrálás

Néhány ételfelismerő rendszer ismert referenciaobjektumokat használ a jelenetben a méret kalibrálására. Egy standard vacsora tányér átmérője körülbelül 26 centiméter. Egy bankkártya mérete 85,6 x 53,98 milliméter. Amikor a rendszer észleli az ilyen objektumokat, valós méretarányt állíthat fel, amely jelentősen javítja a térfogat- és súlybecsléseket. A Purdue Egyetem kutatása (Fang et al., 2016) kimutatta, hogy a tányér alapú kalibrálás körülbelül 25%-kal csökkentette az adagbecslési hibát a kalibrálatlan megközelítésekhez képest.

A Hitelesített Adatbázis Réteg

Az AI felismerés önmagában nem elegendő a pontos kalóriaszámok megadásához. Még ha a modell 99%-os pontossággal azonosítja is a grillezett csirkemellet, a végső tápanyagkimenet teljes mértékben attól függ, hogy milyen minőségű adatbázishoz térképezik.

Itt tér el a Nutrola megközelítése sok versenytársától. A legtöbb ételkövető alkalmazás közösségi adatbázisokra támaszkodik, ahol bármely felhasználó benyújthat tápanyaginformációt. Tanulmányok kimutatták, hogy a közösségi ételdatabázisok hibaarányai 15 és 30% között mozognak, egyes bejegyzések pedig több mint 50%-kal eltérnek a laboratóriumban hitelesített értékektől a kulcsfontosságú makrotápanyagok esetében.

A Nutrola 100%-ban hitelesített tápanyagdátbázist tart fenn. Minden bejegyzést összevetnek a hiteles forrásokkal, beleértve az USDA FoodData Central-t, az Egyesült Királyság Nemzeti Egészségügyi Szolgálata által használt McCance és Widdowson összetételi táblázatokat, valamint a szakmai folyóiratokban megjelent tápanyag-elemzéseket. Ez azt jelenti, hogy még ha az AI felismerési réteg kis hibahatárt is vezet be az étel azonosításában vagy az adag becslésében, a tápanyagtartalom, amelyhez térképezik, megbízható.

A hitelesítési réteg egy olyan finomságot is kezel, amelyet a tisztán AI megközelítések figyelmen kívül hagynak: az elkészítési mód befolyásolja a tápanyagtartalmat. Egy 150 grammos grillezett csirkemell körülbelül 165 kalóriát tartalmaz, de ugyanaz a mell, ha olívaolajban sütik, körülbelül 230 kalóriát. A Nutrola adatbázisa rögzíti ezeket az elkészítési módtól függő eltéréseket, és a felismerési modellt arra képezték ki, hogy megkülönböztesse a főzési módszereket, amikor vizuális jelek állnak rendelkezésre, például a grillezett és a sült felület közötti különbséget.

Folyamatos Tanulás és Fejlesztés

Az ételfelismerés nem egy olyan probléma, amelyet egyszer megoldanak és telepítenek. A konyhák fejlődnek, új ételek jelennek meg, és a felhasználói elvárások növekednek. A Nutrola rendszere folyamatos fejlesztésre van tervezve, több gépi tanuláson alapuló mechanizmus révén.

Aktív Tanulás

Az aktív tanulás, amelyet Settles (2009) formalizált, egy olyan stratégia, ahol a modell azonosítja a legkevésbé biztos példákat, és prioritást ad azok emberi felülvizsgálatának és címkézésének. Amikor a Nutrola rendszere olyan ételt talál, amelyet nem tud magas biztonsággal osztályozni, azt a képet szakértői felülvizsgálatra jelölik. Miután címkézték, belép a tanulási csővezetékbe, és a modell pontosabbá válik éppen azokban az esetekben, ahol a leggyengébb volt.

Ez a megközelítés sokkal adat-hatékonyabb, mint véletlenszerűen több tanulási kép gyűjtése. A kutatások folyamatosan kimutatták, hogy az aktív tanulás 30-60%-kal kevesebb címkézett adatokkal képes elérni az egyenértékű modellpontosságot a véletlenszerű mintavételhez képest.

Új Ételek és Regionális Konyhák Kezelése

Az ételfelismerés egyik legnagyobb kihívása a regionális és kulturálisan specifikus ételek lefedettsége. Egy modell, amelyet elsősorban nyugati konyhán képeztek, nehezen boldogulhat a délkelet-ázsiai desszertekkel, nyugat-afrikai pörköltekkel vagy skandináv erjesztett ételekkel. A Nutrola ezt célzott adatgyűjtési kampányokkal kezeli, amelyek a kevésbé képviselt konyhákra összpontosítanak, kombinálva a few-shot learning technikákkal (Wang et al., 2020), amelyek lehetővé teszik a modell számára, hogy viszonylag kis számú példa alapján új ételkategóriákat tanuljon.

A felhasználói visszajelzés kritikus input ehhez a folyamathoz. Amikor egy felhasználó kijavít egy tévesen azonosított ételt, ez a korrekció visszakerül a tanulási csővezetékbe. A globálisan rögzített milliók étkezéséből aggregálva ezek a korrekciók folyamatos áramlását teremtik a valós adatoknak, amelyek pontosan lefedik azokat az ételeket, amelyeket az emberek a mindennapi életükben fogyasztanak.

Hogyan Térül Ez Vissza a Tányérodra

A fent leírt kutatás konkrét előnyöket nyújt, amelyeket minden alkalommal tapasztalsz, amikor megnyitod a Nutrolát.

Három másodperces naplózás. Az egész csővezeték, a kép előfeldolgozásától a tápanyagkeresésig, kevesebb mint három másodperc alatt végrehajtható egy modern okostelefonon. A modelloptimalizálási technikák, beleértve a kvantálást (Jacob et al., 2018) és a neurális architektúra keresést (Zoph és Le, 2017), lehetővé teszik, hogy összetett modellek hatékonyan fussanak mobil hardveren anélkül, hogy feláldoznák a pontosságot.

Komplex étkezések kezelése. A többcímkés és szemantikai szeletelés azt jelenti, hogy nem szükséges külön-külön lefotózni minden ételt. Egyetlen fénykép egy teli vacsora tányérról egyedi tápanyag-elemzéseket ad minden összetevőre.

Keresztkonyhai pontosság. A folyamatos tanulás és a célzott adatgyűjtés biztosítja, hogy a rendszer jól működjön, akár sushi-t eszel Tokióban, akár tacót Mexikóvárosban, injerát Addisz-Abebában, vagy vasárnapi pörköltet Londonban. A modell minden egyes étkezéssel javul, amelyet a Nutrola globális felhasználói bázisa rögzít.

Fokozatos pontosságnövelés. Minél többet használod a Nutrolát, annál jobbá válik, mind számodra, mind pedig az összes felhasználó számára. Az aktív tanulás biztosítja, hogy a modell a legnagyobb szükségletekkel rendelkező esetekre összpontosítson.

Hitelesített tápanyagdátok. Ellentétben azokkal az alkalmazásokkal, amelyek közösségi adatbázisokra támaszkodnak, ahol ismeretlen hibaarányok vannak, minden kalóriaszám, amelyet a Nutrola visszaad, laboratóriumban hitelesített tápanyagdátokkal van alátámasztva. Az AI azonosítja az ételt; a hitelesített adatbázis biztosítja, hogy a számok helyesek legyenek.

GYIK

Hogyan ismeri fel a Nutrola AI az ételeket egy fényképről?

A Nutrola egy többlépcsős számítógépes látás csővezetékét használja. A fotód először a kép előfeldolgozásán, majd egy mélytanulásos detektáló modellen halad át, amely azonosítja és szeleteli a tányéron lévő ételeket. Minden ételt konvolúciós neurális hálózatok segítségével osztályoznak, amelyeket étel-specifikus adatbázisokon finomhangoltak, az adagját mélység- és térfogatértelmezéssel becslik, és az eredményt a Nutrola hitelesített tápanyagdátbázisához térképezik, hogy előállítsák a kalória- és makrotápanyag-értékeket.

Mennyire pontos a Nutrola ételfelismerő technológiája?

A Nutrola osztályozó modelljei a standard ételfelismerési benchmarkokon 90%-nál magasabb top-1 pontossági arányt érnek el, a top-5 pontosság pedig meghaladja a 95%-ot. Az adagbecslés esetében a rendszer általában 15-20%-on belül van a tényleges súlytól, ami összehasonlítható vagy jobb, mint a képzett dietetikusok becslési pontossága. A Nutrola hitelesített adatbázisával kombinálva ez olyan kalória becsléseket eredményez, amelyek jelentősen megbízhatóbbak, mint a manuális naplózás, amelyről a kutatások kimutatták, hogy 10-45%-kal alábecsüli a bevitt kalóriákat.

Milyen kutatások és adatbázisok támogatják a Nutrola ételfelismerő AI-ját?

A Nutrola technológiája a számítógépes látás alapkutatásain alapul, beleértve a konvolúciós neurális hálózatokat, amelyeket az ImageNet-en validáltak, az objektumdetektáló architektúrákat, mint a Faster R-CNN és a DETR, valamint étel-specifikus adatbázisokat, például a Food-101 és az UECFOOD-256. A rendszer a mélységbecslés kutatásait is felhasználja az adagméretezéshez és az aktív tanulás kutatásait a folyamatos modellfejlesztéshez. Minden tápanyagdátot hiteles forrásokkal, például az USDA FoodData Central-lal vetnek össze.

Képes a Nutrola több ételt azonosítani egyetlen tányéron?

Igen. A Nutrola többcímkés detektálást és szemantikai szeletelést használ, hogy azonosítsa és külön elemezze minden egyes ételt egyetlen fényképen. Akár két, akár nyolc ételt tartalmaz a tányérod, a rendszer izolálja mindegyiket, függetlenül osztályozza, megbecsüli az adagját, és visszaadja az egyes ételek tápanyag-elemzését a teljes étkezés mellett.

Hogyan kezeli a Nutrola a különböző konyhák és kultúrák ételeit?

A Nutrola széleskörű képzési adatokat kombinál a kevésbé képviselt konyhákra irányuló célzott adatgyűjtéssel és few-shot learning technikákkal, amelyek lehetővé teszik a modell számára, hogy viszonylag kis számú példa alapján új ételkategóriákat tanuljon. A Nutrola globális felhasználói bázisából származó felhasználói korrekciók folyamatosan visszakerülnek a tanulási csővezetékbe, biztosítva, hogy a pontosság javuljon a konkrét ételek esetében, amelyeket az emberek valójában fogyasztanak minden régióban és étkezési kultúrában.

A Nutrola ételfelismerése idővel javul?

Igen. A Nutrola aktív tanulást alkalmaz, egy gépi tanulási stratégiát, ahol a rendszer azonosítja a legkevésbé biztos képeket, és prioritást ad azok szakértői felülvizsgálatának és újratanításának. A globálisan rögzített milliók étkezéséből származó aggregált felhasználói visszajelzés kombinálásával a modell folyamatosan fejlődik. Minden étkezés, amelyet rögzítesz, hozzájárul ahhoz, hogy a Nutrola felismerése pontosabbá váljon minden felhasználó számára.

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!