Hogyan becsüli meg az AI az adagok méretét fényképek alapján: Műszaki mélymerülés
Részletes betekintés az AI adagméret-becslésének technológiájába, beleértve a mélységbecslést, a referenciaobjektumok használatát és a térfogatmodellezést.
Az AI-alapú kalóriakövetés egyik legnagyobb kihívása az, hogy azonosítsuk, mi van a tányérunkon. A másik, és talán nehezebb feladat, hogy megállapítsuk, mennyi étel van ott. Egy adag tészta lehet 200 kalória vagy akár 800 kalória is, attól függően, mekkora a porció. Az, hogy ezt a becslést pontosan végezzük el, az, ami megkülönbözteti a hasznos táplálkozási nyomkövető eszközöket a puszta újdonságoktól.
Ez a cikk mély technikai betekintést nyújt abba, hogyan becsülik meg az AI rendszerek az adagok méretét fényképek alapján, érintve a mélységbecslést, a referenciaobjektumok skálázását, a térfogatmodellezést és a kutatók, mérnökök előtt álló folyamatos kihívásokat, amelyek célja a becslések pontosságának növelése.
Miért nehezebb az adagok becslése, mint az ételek azonosítása
Az ételek azonosítása alapvetően egy klasszifikációs probléma. A rendszernek egy véges ételkategória halmazból kell választania. Ezzel szemben az adagok becslése regressziós probléma. A rendszernek folyamatos értéket (grammban vagy milliliterben) kell előre jeleznie csupán vizuális információk alapján.
Több tényező is megnehezíti ezt a feladatot:
- A 2D-3D probléma: Egy fénykép a háromdimenziós valóságot kétdimenziós képpé sűríti. A mélységi információk elvesznek, így nehéz megkülönböztetni egy vékony ételszórást egy vastag halomtól.
- Változó sűrűség: Egy csésze leveles zöldség és egy csésze granola ugyanakkora térfogatú, de teljesen eltérő súlyú és kalóriatartalmú. A rendszernek mind a térfogatot, mind a sűrűséget meg kell becsülnie.
- Perspektíva torzítás: Az a szög, ahonnan egy fénykép készült, befolyásolja, hogy az étel mennyire tűnik nagynak. Egy tányér, amit közvetlenül felülről fényképeznek, másképp néz ki, mint ugyanaz a tányér 45 fokos szögből fényképezve.
- Ambiguus skálázás: Ha nincs ismert referenciaobjektum a képen, lehetetlen meghatározni az abszolút méretet. Egy közeli felvétel egy kis sütiről ugyanolyan kinézetű lehet, mint egy távoli felvétel egy nagy pizzáról.
Mélységbecslés egyetlen képből
Az egyik kulcsfontosságú áttörés, amely lehetővé teszi az adagok fényképekből való becslését, a monokuláris mélységbecslés, amely lehetővé teszi a mélységi információk következtetését egyetlen képből, nem igényelve sztereó kamerákat vagy speciális hardvert.
Hogyan működik a monokuláris mélységbecslés
Az emberi látórendszer számos jelből következtet a mélységre: az objektumok átfedése (a közelebbi objektumok eltakarják a távolabbiakat), a relatív méret (a kisebb objektumok általában távolabb vannak), a textúra gradiens (a textúrák finomabbá válnak nagyobb távolságokban) és a légköri perspektíva (a távoli objektumok ködösebbnek tűnnek).
A mélytanuló modellek ezeket a jeleket nagy mennyiségű, mélységtérképekkel párosított képadatbázisból tanulják meg. Amikor az ételfotókra alkalmazzák ezeket a modelleket, képesek megbecsülni, hogy az étel mely részei közelebb vannak a kamerához, és melyek távolabb, hatékonyan rekonstruálva az étel háromdimenziós formáját egy lapos képből.
Mélységtérképek és étel térfogat
A mélységtérkép minden pixelhez távolságértéket rendel. Az étel becsléséhez ez azt jelenti, hogy a rendszer meg tudja határozni, hogy egy tál leves közepe egy mélységben van, míg a tál széle egy másik mélységben. E mélységek közötti különbség, a detected food határvonalakkal együtt, lehetővé teszi a rendszer számára a térfogat becslését.
A modern okostelefonok LiDAR érzékelőkkel (elérhetőek a legújabb iPhone Pro és iPad Pro modelleken) valós mélységi adatokat tudnak rögzíteni a színes kép mellett, sokkal pontosabb mélységi információt biztosítva, mint a csupán algoritmusokkal végzett becslés. Az ételkövető alkalmazások kihasználhatják ezt a hardvert, amikor elérhető, miközben a mélységérzékelő nélküli eszközökön a monokuláris becslésre támaszkodnak.
Referenciaobjektumok skálázása
Ismert referencia pont nélkül az objektumok abszolút mérete a fényképen homályos. A referenciaobjektumok skálázása megoldja ezt a problémát azáltal, hogy ismert méretű tárgyakat használ a teljes kép méretarányának megállapítására.
Gyakori referenciaobjektumok
| Referenciaobjektum | Ismert méret | Pontossági előny |
|---|---|---|
| Standard étkezési tányér | 25-27 cm átmérő | Meghatározza az egész étkezés méretarányát |
| Villa vagy kanál | ~19 cm hosszú | Méretarányt biztosít közeli felvételeknél is |
| Bankkártya | 8.56 x 5.4 cm | Pontos és univerzálisan szabványosított |
| Okostelefon | Modell szerint változó, de ismert | Algoritmikusan észlelhető és mérhető |
| Kéz | Változó, de demográfiai adatokból becsülhető | Megközelítő skálázás, ha nincs más referencia |
Automatikus referencia észlelés
Ahelyett, hogy a felhasználóknak referencia kártyát kellene elhelyezniük az ételük mellett (ami nehezíti a használatot), a modern rendszerek automatikusan próbálják észlelni a közös referenciaobjektumokat. A tányérok, tálak, evőeszközök és asztalok gyakran megjelennek az ételfotókon, és méretreferenciaként szolgálhatnak, ha a rendszer képes azokat azonosítani.
A Nutrola adagméret-becslő rendszere automatikusan keresi a tányérokat, tálakat és evőeszközöket a képen, hogy meghatározza a méretarányt. Amikor ezeket az objektumokat észlelik, a rendszer a tipikus méreteiket használja az ételméretek kalibrálására. Ha nem található referenciaobjektum, a rendszer a tipikus ételadagokról szerzett tanulmányok alapján dolgozik, és kérheti a felhasználót, hogy erősítse meg a becslést.
Tányér alapú kalibrálás
Az egyik különösen hatékony megközelítés a tányér alapú kalibrálás. A legtöbb országban a standard étkezési tányérok egy szűk méret tartományba esnek (25-27 cm átmérő). A rendszer a képben észlelt tányér elliptikus körvonalának észlelésével és a standard méret feltételezésével megbízható méretarányt tud meghatározni minden, a tányéron található étel számára.
Ez a megközelítés jól működik, mert a tányérok szinte mindig jelen vannak az étkezési fényképeken, elliptikus formájuk könnyen észlelhető bármilyen kamera szögből, és az ellipszis perspektíva torzítása valójában információt kódol a kamera szögéről, ami segít a perspektivikus hatások korrekciójában az ételen.
Térfogatbecslési technikák
Miután a rendszer azonosította az ételt, megbecsülte a mélységet és meghatározta a méretarányt, össze kell kombinálnia ezeket az információkat az egyes ételek térfogatának megbecsléséhez.
Geometriai primitívek
Az egyik megközelítés az ételek egyszerű geometriai formák kombinációjaként való közelítése:
- Hengerek a magas ételekhez, mint például italok, rétegezett palacsinták vagy torták
- Félgömbök a kerek ételekhez, mint például rizsgombócok, krumplipüré halmok vagy fagyis adagok
- Téglalap alakú prizma a szeletelt kenyérhez, sajtdarabokhoz vagy rudakhoz
- Truncált kúpok levesek vagy gabonafélék tálakhoz (a tál formája segít meghatározni a térfogatot)
- Irreguláris poliederek bonyolult formájú ételekhez, mint például csirkecombok vagy egész gyümölcsök
A rendszer ezeket a primitíveket illeszti a észlelt étel területére, és a fitted shapes és a meghatározott méretarány alapján számolja ki a térfogatot.
Voxel-alapú rekonstrukció
Egy fejlettebb megközelítés a voxel-alapú rekonstrukció, ahol az ételt egy háromdimenziós kis kockák (voxelek) rácsaként modellezik. Minden voxel az alapján van besorolva, hogy tartalmaz-e ételt vagy üres, a mélységtérkép és a szegmentációs maszk alapján. A teljes térfogat a food-containing voxelek összegéből adódik.
Ez a módszer jobban kezeli az irregularis formákat, mint a geometriai primitívek, de több számítási erőforrást igényel. Különösen hasznos olyan ételek esetében, amelyek nem illeszkednek egyszerű formákhoz, mint például egy tépett kenyérdarab vagy egy szabálytalanul szeletelt gyümölcs.
Neurális térfogatbecslés
A legújabb megközelítés teljesen kihagyja a kifejezett geometriai modellezést. Ehelyett egy neurális hálózatot tanítanak meg end-to-end, hogy közvetlenül a képből jósolja meg az étel térfogatát. Ezek a modellek implicit reprezentációkat tanulnak az étel geometriájáról nagy mennyiségű ételfotó és tényleges súlymérés párosításával.
Ez a megközelítés ígéretes eredményeket mutatott, mert képes megragadni a térfogatot korreláló finom vizuális jeleket, például azt, ahogyan a fény visszaverődik egy folyadék felszínéről vagy az étel halmát árnyékoló mintázatot. Ezenkívül elkerüli azokat a hibákat, amelyek felhalmozódhatnak, amikor a mélységbecslést, szegmentálást és geometriai illesztést külön lépésekként hajtják végre.
Térfogattól a súlyig, majd a kalóriákig
A térfogat becslése nem az utolsó lépés. A kalóriák kiszámításához a rendszernek a térfogatot súlyra (az étel sűrűsége alapján) és a súlyt kalóriákra (a tápanyag-összetétel adatai alapján) kell átváltania.
Étel sűrűségi adatbázisok
A különböző ételek sűrűsége nagyon eltérő lehet. Egy csésze olaj körülbelül 220 grammot nyom, míg egy csésze liszt körülbelül 120 grammot, és egy csésze pattogatott kukorica körülbelül 8 grammot. A pontos sűrűségi adatok elengedhetetlenek a térfogatbecslések súlybecslésekké való átváltásához.
A gyártási rendszerek fenntartanak adatbázisokat, amelyek az ételeket a sűrűségükhöz rendelik, figyelembe véve a készítési módszerek (főzött vs. nyers, aprított vs. egész) és a gyakori adagolási stílusok eltéréseit.
| Étel | Sűrűség (g/mL) | 1 csésze súly (g) | Kalória csészénként |
|---|---|---|---|
| Víz | 1.00 | 237 | 0 |
| Teljes tej | 1.03 | 244 | 149 |
| Főtt fehér rizs | 0.74 | 175 | 205 |
| Nyers spenót | 0.13 | 30 | 7 |
| Mogyoróvaj | 1.09 | 258 | 1517 |
| Olívaolaj | 0.92 | 218 | 1909 |
Tápanyag-összetétel
Miután a rendszernek van egy súlybecslése grammban, megkeresi a tápanyag-összetételt grammonként egy átfogó élelmiszeradatbázisból. Ezek az adatbázisok általában tekintélyes forrásokból, mint például az USDA FoodData Central, származnak, kiegészítve az élelmiszergyártók és regionális táplálkozási adatbázisok adataival.
A Nutrola adatbázisa több mint 1,3 millió ételt tartalmaz, beleértve a márkás termékeket, éttermek menüelemeit és általános élelmiszereket teljes makro- és mikrotápanyag profilokkal. Ez a széleskörű lefedettség biztosítja, hogy miután egy ételt és adagot azonosítottak, a tápanyag-kalkuláció pontos legyen.
Pontossági kihívások és megoldásaik
A technikák kifinomultsága ellenére az adagok fényképekből való becslése továbbra is tökéletlen tudomány. A hibák forrásainak megértése segít reális elvárásokat támasztani, és kiemeli a területen folyamatban lévő fejlesztéseket.
Ismert hibaforrások
Fényképezési szög eltérése: Ugyanaz az adag másképp néz ki attól függően, hogy a fénykép felülről, 45 fokos szögből vagy asztal szintjéről készült. A felülről készült fényképek általában a legpontosabb becsléseket adják, mivel minimalizálják a perspektíva torzítást, de sok felhasználó természetesen a telefonját szögben tartja.
Elfedett étel: Az étel, amely szószok, sajt vagy egyéb feltétek alatt rejtőzik, vizuálisan nem mérhető közvetlenül. A rendszernek a látható ételtípus és a tipikus elkészítési mód alapján kell következtetnie a rejtett részre.
Irreguláris edények: A nem szabványos tálak, bögrék és edények megbízhatatlanabbá teszik a tányér alapú skálázást. Egy kis adag egy nagy tálban másképp néz ki, mint egy nagy adag egy kis tálban, még akkor is, ha az étel területe hasonlónak tűnik.
Egyéni elkészítési eltérések: Két ember, aki "egy tál zabkását" készít, nagyon eltérő mennyiségű zabot és vizet használhat, ami azonos látszó térfogatot, de eltérő kalóriatartalmat eredményez.
A pontosság javításának stratégiái
Több szögből való rögzítés: Néhány rendszer arra kéri a felhasználókat, hogy több szögből készítsenek fényképeket, lehetővé téve a sztereó rekonstrukciót és pontosabb térfogatbecslést. Ez jelentősen javítja a pontosságot, de nehezíti a nyilvántartást.
Felhasználói visszajelzési hurkok: Amikor a felhasználók megmérik az ételüket, és megerősítik vagy korrigálják a becsült adagot, ez olyan tanulási adatokat hoz létre, amelyek javítják a modellt az idő múlásával. A Nutrola ösztönzi a felhasználókat, hogy időnként ellenőrizzék az adagokat egy konyhai mérleggel, hogy kalibrálják mind az AI-t, mind a saját adagérzékelésüket.
Kontekstuális előítéletek: A rendszer kontextuális információkat használhat a becslések finomítására. Ha a felhasználó egy adott étteremláncnál tartózkodik, a rendszer felhasználhatja a már ismert adagméreteket. Ha a felhasználó rendszeresen rögzíti a reggelijét, a rendszer megtanulhatja a tipikus adagját.
Bizonyosságra figyelő becslések: Ahelyett, hogy egyetlen számot mutatnának be, a kifinomult rendszerek bizonyossági tartományt adnak meg. Ha a rendszer nem biztos az adagban, akkor a becslést tartományként mutathatja be (például 300-450 kalória), és kérheti a felhasználót, hogy adjon meg további információt.
Jelenlegi pontossági benchmarkok
A Nemzetközi Képanalízis és Feldolgozási Konferencia kutatásaiból kiderült, hogy a legmodernebb étel térfogatbecslő rendszerek 15-25% közötti átlagos abszolút százalékos hibákat érnek el. Összehasonlításképpen, a tanult dietetikusok, akik fényképek alapján becslik meg az adagokat, körülbelül 10-15% hibát érnek el, míg a képzetlen egyének átlagosan 30-50% hibát produkálnak.
Ez azt jelenti, hogy az AI adagbecslése már jelentősen jobb, mint amit a legtöbb ember egyedül képes elérni, és közelíti a képzett szakemberek pontosságát. A sebesség és a kényelem előnyével kombinálva ez az AI-alapú nyomkövetés jelentős előrelépést jelent a manuális nyilvántartáshoz képest a felhasználók többsége számára.
A felhasználói kalibrálás szerepe
Az AI adagbecslés egyik alulértékelt aspektusa a felhasználói kalibrálás szerepe az idő múlásával. Ahogy a felhasználó étkezéseket rögzít és időnként korrekciókat ad, a rendszer felépíti a tipikus adagméretek és étkezési preferenciák profilját.
A rendszeres felhasználók számára ez azt jelenti, hogy a rendszer fokozatosan egyre pontosabbá válik. Ha általában nagyobb adag rizst szolgálsz fel, mint az átlag, a rendszer megtanulja, hogy felfelé állítsa a rizs becsléseit. Ha általában kevesebb olajat használsz, mint a standard recept, a rendszer ezt is figyelembe tudja venni.
A Nutrola kihasználja ezt a személyre szabást, hogy egyre jobban testreszabott adagbecsléseket nyújtson, minél tovább használod az alkalmazást. Az új felhasználók a populációs szintű átlagokból profitálnak, míg a tapasztalt felhasználók a saját szokásaikhoz kalibrált személyre szabott becsléseket kapnak.
Gyakorlati tippek a pontosabb adagbecslésekhez
Bár az AI a nehéz munkát végzi, a felhasználók javíthatják a pontosságot néhány egyszerű irányelv követésével:
- Fényképezd le felülről, amikor csak lehetséges. A felülről készült fényképek a legtöbb információt nyújtják az étel felületéről, minimalizálva a perspektíva torzítást.
- Tartsd a teljes tányért a képen. A tányér széle kulcsfontosságú referenciaobjektum a skálázáshoz.
- Kerüld az extrém közeli felvételeket. A rendszernek kontextusra van szüksége a méret megítéléséhez. Egy fénykép, amely csak az ételt mutatja, környező objektumok nélkül, nem nyújt méretreferenciát.
- Fényképezd le keverés előtt. Egy saláta, amelyben láthatóak a különálló hozzávalók, könnyebben elemezhető, mint egy, amelyet összekevertek.
- Használj jó világítást. Az árnyékok és a gyenge fény elhomályosíthatják az étel határait és a mélységi jeleket.
- Időnként erősítsd meg vagy korrigáld az adatokat. Ha hetente egyszer használod a konyhai mérleget, hogy ellenőrizd az AI becslését, az segít kalibrálni a rendszert és a saját intuíciódat.
GYIK
Mennyire pontos az AI adagbecslése a konyhai mérleg használatához képest?
A konyhai mérleg 1-2 grammos pontosságot biztosít, ami sokkal pontosabb, mint bármely vizuális becslési módszer. Az AI adagbecslése fényképekből általában 15-25% pontossággal éri el a tényleges súlyt. Azonban az AI becslés kényelmi előnye (ami 2 másodpercet vesz igénybe, szemben a 30 másodpercnél hosszabb idővel a mérleggel) azt jelenti, hogy több ember követi nyomon az étkezéseit, ami gyakran fontosabb a hosszú távú eredmények szempontjából, mint a tökéletes pontosság.
Befolyásolja a fényképezési szög az adagbecslés pontosságát?
Igen, jelentősen. A felülről készült fényképek (amikor közvetlenül a tányérra nézünk) biztosítják a legjobb pontosságot, mivel a legnagyobb felületet mutatják az ételről, minimális perspektíva torzítással. A 45 fokos szögből készült fényképek a leggyakoribbak, és még mindig jó becsléseket adnak. A nagyon alacsony szögből készült fényképek (asztalszint közelében) a legkevésbé pontosak, mivel az étel nagy része el van takarva a tányér elülső szélén.
Képes az AI folyadékok, például levesek és turmixok adagjait is megbecsülni?
A folyadékok egyedi kihívást jelentenek, mivel térfogatukat az edényük határozza meg, nem pedig a saját formájuk. Az AI rendszerek a folyadék adagjait az edény típusa és a töltési szint azonosításával becslik meg. Egy teli tál leves térfogata eltér a félig teli tálétól. Az pontosság általában jó, ha az edény standard formájú, de kevésbé megbízható, ha szokatlan edényekről van szó.
Miért becsüli az AI néha túl vagy alul az adagomat?
A túlbecslés gyakori okai közé tartozik a sűrű tálalás, amely nagyobbnak tűnik, mint amilyen, a díszítések, amelyek vizuális tömeget adnak anélkül, hogy jelentős kalóriát tartalmaznának, és a nagy tányérok használata, amelyek miatt a rendszer azt feltételezi, hogy több étel van jelen. Az alulbecslés gyakori okai közé tartozik az étel, amely más ételek alatt rejtőzik, a sűrű kalóriadús ételek, amelyek kicsinek tűnnek, és a szokatlan tálalási stílusok. A becslések javítása érdekében a felhasználóknak érdemes visszajelzést adniuk, amikor az adatok nem pontosak.
Szükségem van LiDAR érzékelővel rendelkező telefonra a pontos adagkövetéshez?
Nem. Bár a LiDAR érzékelővel rendelkező telefonok pontosabb mélységi információt nyújthatnak, a modern AI modellek meglehetősen jól tudják megbecsülni a mélységet egy standard kamerakép alapján is. A LiDAR érzékelővel rendelkező és a standard telefonok közötti pontossági különbség csökkent, ahogy a szoftver alapú mélységbecslés javult. A Nutrola bármely modern okostelefonon pontosan működik.
Hogyan kezeli a rendszer a rétegezett vagy halmozott ételeket?
A láthatóan halmozott ételek, mint például a palacsinta vagy a rétegezett szendvicsek esetében a rendszer képes számolni a rétegeket és megbecsülni a vastagságot az oldalprofil alapján. Az olyan ételek esetében, amelyek rejtett rétegeket tartalmaznak, mint például a lasagna vagy a burrito, a rendszer a látható külső és az edény típusa alapján becsüli meg a tipikus belső szerkezetet.
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!