Jak funguje AI pipeline pro rozpoznávání potravin: Od fotografie k nutričním datům
Podrobný technický přehled kompletního AI pipeline pro rozpoznávání potravin: od vstupu z kamery, přes extrakci funkcí CNN, klasifikaci potravin, odhad porcí, vyhledávání v nutriční databázi až po konečné výpočty kalorií.
Když vyfotíte svůj oběd a během dvou sekund se na obrazovce objeví kompletní makro rozpis, je snadné tento výsledek považovat za samozřejmost. Za tímto zdánlivě okamžitým výstupem se však skrývá vícestupňová pipeline, která zpracovává váš obrázek od zachycení kamery, přes předzpracování, inferenci neuronové sítě, klasifikaci, odhad porcí, vyhledávání v databázi až po konečný výpočet kalorií, než se cokoliv dostane na vaši obrazovku. Každá fáze řeší specifický problém, spoléhá na vlastní sadu algoritmů a předává konkrétní výstup následující fázi.
Tento článek sleduje celou tuto cestu od stisknutí spouště po nutriční štítek. Během této cesty pojmenujeme architektury, techniky a inženýrské kompromisy, které umožňují každé fázi fungovat, a zdůrazníme, kde Nutrola zavedla své vlastní inovace, aby zvýšila přesnost a rychlost nad rámec průmyslových standardů.
Fáze 1: Vstup z kamery a akvizice obrazu
Všechno začíná v okamžiku, kdy uživatel otevře hledáček kamery a zaostří na talíř s jídlem. Moderní chytré telefony zachycují obrázky v rozlišení od 12 do 48 megapixelů, což produkuje surová data senzoru, která kódují hodnoty intenzity barev přes mozaiku Bayerova filtru. Obrazový signální procesor (ISP) zařízení tato data demosaikuje, aplikuje vyvážení bílé, snižuje šum a během zlomku sekundy výstupuje standardní JPEG nebo HEIF soubor.
Dvě hardwarové funkce stále více ovlivňují tuto fázi. První, LiDAR senzory na nedávných iPhone Pro a vybraných vlajkových lodích Android, mohou zachytit doprovodnou hloubkovou mapu spolu s RGB obrazem. Tato hloubková data se stávají cennými při odhadu porcí. Druhá, zařízení s časově letovými senzory poskytují podobné, ale hrubší hloubkové informace, které může pipeline stále využít, když LiDAR není k dispozici.
Pipeline přijímá RGB obraz a, pokud je k dispozici, hloubkovou mapu jako spárovaný vstup. Pokud zařízení nenabízí hloubkový senzor, pipeline pokračuje pouze s RGB a později kompenzuje pomocí odhadu hloubky z jednoho oka.
Klíčový výstup této fáze
Vysoce rozlišený RGB obraz (a volitelně hloubková mapa) reprezentující scénu před uživatelem.
Fáze 2: Předzpracování obrazu
Surový výstup z kamery není připraven pro inferenci neuronové sítě. Předzpracování transformuje obraz na standardizovaný tensor, který model očekává.
Změna velikosti a ořezávání
Většina modelů pro rozpoznávání potravin přijímá vstup v pevném rozlišení, obvykle 224x224, 384x384 nebo 512x512 pixelů v závislosti na architektuře. Pipeline mění velikost obrazu na toto cílové rozlišení při zachování poměru stran, aplikuje letterboxing nebo centrální ořezání podle potřeby. Bicubická interpolace je standardní metodou přepočtu, protože lépe zachovává jemné detaily textury než bilineární alternativy.
Normalizace
Hodnoty pixelů jsou převedeny z celého čísla v rozsahu 0-255 na čísla s plovoucí desetinnou čárkou a poté normalizovány pomocí průměru a směrodatné odchylky kanálů tréninkového datasetu. Pro modely předtrénované na ImageNet jsou aplikovány kanonické normalizační hodnoty (průměr [0.485, 0.456, 0.406] a směrodatná odchylka [0.229, 0.224, 0.225] pro kanály R, G a B). Tato normalizace centruje vstupní distribuci kolem nuly a škáluje ji na jednotkovou varianci, což stabilizuje tok gradientů během trénování a zajišťuje konzistentní chování při inferenci.
Barevný prostor a artefakty augmentace
Během trénování pipeline aplikuje rozsáhlou augmentaci dat: náhodné rotace, horizontální převrácení, barevné jittery, Gaussovské rozostření a výřezy. V době inferencí jsou tyto augmentace zakázány, ale model se naučil být invariantní vůči druhům vizuálního šumu, které simulují. To znamená, že fotografie pořízené při teplém osvětlení restaurace a fotografie pořízené při studeném fluorescenčním osvětlení kanceláře budou obě produkovat spolehlivé reprezentace funkcí.
Klíčový výstup této fáze
Normalizovaný tensor s plovoucí desetinnou čárkou pevných prostorových rozměrů, připravený pro neuronovou síť.
Fáze 3: Extrakce funkcí CNN
Toto je výpočetní jádro pipeline. Hluboká konvoluční neuronová síť (nebo stále častěji transformátor pro zpracování obrazu) zpracovává předzpracovaný tensor a produkuje hustý vektor funkcí, který kóduje vizuální obsah obrazu v podobě, kterou mohou interpretovat následující klasifikační a detekční hlavy.
Architektury Backbone
Několik architektur backbone se ukázalo jako efektivní pro rozpoznávání potravin:
EfficientNet využívá složené škálování k vyvážení hloubky sítě, šířky a vstupního rozlišení. EfficientNet-B4 a B5 jsou oblíbené volby, protože poskytují silnou přesnost při výpočetních nákladech, které jsou proveditelné na mobilním hardwaru v kombinaci s kvantizací. Nutrola používá backbone odvozený od EfficientNet, který byl jemně doladěn na proprietárním datasetu obrázků potravin, čímž dosahuje příznivého kompromisu mezi latencí a přesností top-1.
Vision Transformers (ViT) dělí obraz na fixně velké části (typicky 16x16 pixelů), projektují každou část do embeddingu a zpracovávají sekvenci embeddingů prostřednictvím vrstev multi-head self-attention. ViTs excelují v zachycování dlouhodobých prostorových vztahů, například chápání, že hnědý disk vedle zelených listů je hamburgerová placka, nikoli čokoládový sušenka, protože okolní kontext zahrnuje housku a salát. Hybridní modely jako DeiT (Data-efficient Image Transformer) a Swin Transformer snížily požadavky na data a výpočetní náklady čistých ViT, což je činí životaschopnými pro produkční systémy rozpoznávání potravin.
MobileNetV3 je optimalizován pro inferenci na zařízení s hloubkově separovatelnými konvolucemi a vyhledáváním architektury neuronových sítí přizpůsobeným hardwaru. Slouží jako backbone v cestách kritických na latenci, kde model musí běžet zcela na zařízení bez potřeby síťového kola.
Sítě pyramidových funkcí
Protože potravinové položky mohou v jednom obraze výrazně lišit v zjevné velikosti (velká pizza vedle malé misky s omáčkou), pipeline používá síť pyramidových funkcí (FPN) k extrakci funkcí na více prostorových měřítkách. FPN vytváří top-down cestu s laterálními spojeními z mezilehlých map funkcí backbone, produkující sadu multi-scale feature maps, které jsou stejně expresivní při detekci malých ozdob a velkých hlavních jídel.
Klíčový výstup této fáze
Sada multi-scale feature maps (nebo jeden sloučený vektor funkcí pro úkoly pouze klasifikace) kódující vizuální sémantiku každé oblasti v obraze.
Fáze 4: Klasifikace a detekce potravin s více štítky
Skutečné jídlo málokdy obsahuje pouze jednu potravinovou položku. Typický talíř k večeři může obsahovat grilovaného lososa, dušenou brokolici, hnědou rýži a plátek citronu. Pipeline musí detekovat, lokalizovat a klasifikovat každou odlišnou potravinovou položku v záběru.
Detekce objektů pomocí YOLO a DETR
Pipeline aplikuje detekční hlavu na extrahované feature maps. Dvě rodiny detektorů dominují této oblasti:
YOLO (You Only Look Once) provádí detekci v jednom průchodu tím, že dělí obraz na mřížku a současně předpovídá ohraničující boxy a pravděpodobnosti tříd pro každou buňku mřížky. YOLOv8 a jeho nástupci jsou obzvlášť vhodní pro mobilní nasazení, protože zpracovávají celý obraz najednou, místo aby navrhovali a poté upřesňovali oblasti. Nutrola používá detekční hlavu odvozenou od YOLO, doladěnou na více než 15 000 tříd potravin pokrývajících globální kuchyně.
DETR (Detection Transformer) považuje detekci objektů za problém predikce množin, používající architekturu transformátoru encoder-decoder k přímému výstupu sady detekcí bez potřeby kotvících boxů nebo potlačení maximálních hodnot. DETR se lépe vyrovnává s překrývajícími se potravinami než metody založené na kotvách, protože jeho ztrátová funkce založená na množinách přirozeně zabraňuje duplicitním predikcím.
Sémantická segmentace pro smíšená jídla
Pro složená jídla jako saláty, smažené pokrmy a misky s obilovinami, kde se jednotlivé ingredience překrývají a mísí, jsou ohraničující boxy příliš hrubé. Pipeline přechází na větev sémantické segmentace, často založenou na architektuře U-Net nebo DeepLabv3+, která klasifikuje každý pixel v obraze. Tato klasifikace na úrovni pixelů umožňuje systému odhadnout podíl každé ingredience ve smíšeném jídle, i když neexistují jasné hranice, které by je oddělovaly.
Skórování důvěry a hodnocení kandidátů
Každá detekce přichází s hodnotou důvěry. Pipeline aplikuje prahovou hodnotu (obvykle 0.5 až 0.7 v závislosti na aplikaci) k filtrování nízkodůvěryhodných predikcí. Když je nejvyšší predikce nejistá, systém může uživateli předložit tři až pět nejlepších kandidátů k potvrzení, což snižuje míru chyb bez nutnosti manuálního zadávání.
Klasifikační engine Nutrola zahrnuje modul kontextu uživatele, který zohledňuje uživatelovy předchozí jídla, preference kuchyně, geografickou polohu a denní dobu. Pokud uživatel často zaznamenává mexickou kuchyni a model si není jistý mezi moučnou tortillou a naanem, modul kontextu posune pravděpodobnost směrem k tortille. Tato personalizační vrstva měřitelně snižuje míru chybné klasifikace v průběhu času.
Klíčový výstup této fáze
Seznam detekovaných potravin, každá s názvem třídy, ohraničujícím boxem nebo pixelovou maskou a hodnotou důvěry.
Fáze 5: Odhad velikosti porce
Vědět, že talíř obsahuje grilované kuře a rýži, nestačí. Pipeline musí odhadnout, kolik každé potraviny je přítomno, protože 100 gramů kuřecího prsa a 300 gramů kuřecího prsa se liší o více než 300 kalorií.
Odhad hloubky z jednoho oka
Když není k dispozici hardwarový hloubkový senzor, pipeline používá model odhadu hloubky z jednoho oka (obvykle založený na architektuře MiDaS nebo DPT) k odhadu hloubkové mapy pouze z RGB obrazu. Tyto modely se naučily předpovídat hloubku z kontextových indicií, jako jsou překrývání objektů, relativní velikost, gradienty textury a body zániku. Odhadnutá hloubková mapa, i když je méně přesná než data z LiDARu, je dostatečná k přiblížení trojrozměrného tvaru potravin na talíři.
Měřítko referenčního objektu
Fotografie nemá žádný inherentní měřítko. Pipeline tento problém řeší detekcí referenčních objektů známých rozměrů v záběru. Talíře (typicky 25 až 27 cm v průměru), standardní příbory, mísy a dokonce i okraje chytrého telefonu mohou ukotvit měřítko. Tím, že se na detekovaný okraj talíře přizpůsobí elipsa a aplikuje se projektivní geometrie k odhadu úhlu pohledu, pipeline rekonstruuje skutečné vzdálenosti z měření pixelů.
Převod objemu na hmotnost
S odhadnutým trojrozměrným tvarem potravin pipeline počítá objem integrací hloubkového profilu přes pixelovou masku potravin. Poté převádí objem na hmotnost pomocí tabulek hustoty specifických pro potraviny. Šálek listového špenátu váží mnohem méně než šálek hummusu, takže vyhledávání hustoty je pro přesnost nezbytné.
Nutrola udržuje proprietární databázi hustot pokrývající tisíce potravin v různých přípravných stavech (syrové, vařené, mixované, mražené) a používá ji k převodu odhadovaných objemů na gramové hmotnosti s vyšší přesností než obecné tabulky hustoty.
Klíčový výstup této fáze
Odhadovaná hmotnost v gramech pro každou detekovanou potravinovou položku.
Fáze 6: Vyhledávání v nutriční databázi
Jakmile jsou každá potravinová položka klasifikována a zvážena, pipeline dotazuje nutriční databázi, aby získala profil makro- a mikroživin na 100 gramů této potraviny.
Architektura databáze
Vysoce kvalitní nutriční databáze čerpají z vládních zdrojů, jako je USDA FoodData Central, UK Nutrient Databank a národní ekvivalenty z desítek zemí. Tyto zdroje poskytují laboratorně analyzované nutriční hodnoty pro tisíce potravinových položek ve standardizované formě.
Databáze Nutrola jde nad rámec těchto vládních zdrojů tím, že zahrnuje data poskytovaná výrobci z více než 1,2 milionu značkových produktů, položek z restaurací s ověřenými nutričními informacemi prostřednictvím partnerství a komunitou zaslané záznamy, které prošly vícestupňovým ověřovacím procesem včetně křížového porovnávání, detekce odlehlých hodnot a revize dietologů. Výsledkem je jednotná databáze s více než 2 miliony potravinových záznamů s normalizovanými nutričními daty.
Fuzzy matching a rozlišení entit
Klasifikační model produkuje potravinový štítek jako "grilované kuře s kůží", který musí být spárován se správným záznamem v databázi. To je netriviální problém rozlišení entit, protože stejná potravina může mít desítky názvů napříč regiony a jazyky. Pipeline používá semantické vyhledávání založené na embeddingu k nalezení nejbližšího záznamu v databázi. Jemně doladěný textový enkodér mapuje jak předpovězený potravinový štítek, tak každý název záznamu databáze do stejného vektorového prostoru a vybere nejbližšího souseda (měřeno kosinovou podobností).
Když existuje více blízkých shod (například "grilované kuře s kůží" versus "pečené kuře, kůže snědena"), systém vybírá záznam, jehož metoda přípravy nejlépe odpovídá vizuálním indiciím detekovaným v obraze.
Klíčový výstup této fáze
Úplný nutriční profil (kalorie, bílkoviny, sacharidy, tuky, vláknina a mikroživiny) na 100 gramů pro každou detekovanou potravinovou položku.
Fáze 7: Výpočet makro a kalorií
Poslední výpočetní fáze je jednoduchá aritmetika, ale je to místo, kde se chyby z každé předchozí fáze kumulují. Pipeline násobí nutriční hodnoty na 100 gramů odhadovanou hmotností každé potravinové položky a poté sčítá výsledky napříč všemi položkami, aby vytvořila celkový rozpis jídla.
Výpočet
Pro každou potravinovou položku:
- Kalorie = (odhadované gramy / 100) x kalorie na 100 g
- Bílkoviny = (odhadované gramy / 100) x bílkoviny na 100 g
- Sacharidy = (odhadované gramy / 100) x sacharidy na 100 g
- Tuk = (odhadované gramy / 100) x tuky na 100 g
Tyto hodnoty za jednotlivé položky se sčítají, aby se vytvořil celkový součet jídla.
Propagace chyb a intervaly důvěry
Protože každá předchozí fáze zavádí určitou nejistotu, Nutrola nepředkládá jediný odhad jako dogma. Systém počítá intervaly důvěry tím, že propaguje skóre důvěry klasifikace a nejistotu odhadu porce prostřednictvím výpočtu. Pokud je důvěra klasifikace vysoká, ale odhad porce je nejistý (například jídlo je naskládáno v hluboké misce, která zakrývá objem), systém to odráží tím, že rozšiřuje interval důvěry a může uživatele vyzvat k potvrzení porce.
Tato transparentnost je záměrná designová volba. Místo toho, aby prezentovala falešný pocit přesnosti, Nutrola ukazuje rozsah (například "420 až 510 kcal"), když podkladové odhady to vyžadují, což pomáhá uživatelům vyvinout realistické chápání jejich příjmu.
Klíčový výstup této fáze
Celkové kalorie a makro rozpis pro jídlo, s volitelnými intervaly důvěry.
Fáze 8: Zobrazení a zaznamenání uživatele
Poslední fáze zobrazuje výsledky v uživatelském rozhraní. Detekované potravinové položky jsou uvedeny se svými jednotlivými hodnotami kalorií a makro, a celkový součet jídla je zobrazen prominentně. Uživatel může na jakoukoli položku klepnout, aby ji opravil nebo upravil porci, a tyto opravy se vracejí do personalizačních modelů, aby zlepšily budoucí predikce.
Na Nutrola zahrnuje zobrazení vizuální překryv na původní fotografii, který ukazuje ohraničující boxy nebo segmentační zvýraznění pro každou detekovanou potravinu, což okamžitě ukazuje, co AI identifikovala a kde. Tato vizuální zpětná vazba buduje důvěru a usnadňuje odhalení a opravu chyb.
Zaznamenané jídlo je uloženo v uživatelově deníku výživy a přispívá k běžným součtům pro kalorie, bílkoviny, sacharidy, tuky a sledované mikroživiny. Data se synchronizují s Apple Health, Google Fit a dalšími připojenými platformami prostřednictvím standardizovaných API pro zdravotní data.
Klíčový výstup této fáze
Úplně zpracovaný záznam jídla s nutričními daty za jednotlivé položky a celkovými hodnotami, vizuálními překryvy a synchronizací s platformami pro zdraví.
Shrnutí pipeline
| Fáze | Klíčová technologie | Vstup | Výstup |
|---|---|---|---|
| 1. Vstup z kamery | ISP zařízení, LiDAR/ToF senzory | Světlo ze scény | RGB obraz + volitelná hloubková mapa |
| 2. Předzpracování obrazu | Bicubické změny velikosti, normalizace kanálů | Surový obraz | Normalizovaný tensor (např. 384x384x3) |
| 3. Extrakce funkcí | EfficientNet, ViT, Swin Transformer, FPN | Normalizovaný tensor | Multi-scale feature maps |
| 4. Klasifikace potravin | YOLOv8, DETR, DeepLabv3+, kontext uživatele | Feature maps | Označené potravinové položky s ohraničujícími boxy/maskami |
| 5. Odhad porcí | Odhad hloubky MiDaS, měřítko referencí, tabulky hustoty | RGB + hloubka + masky potravin | Hmotnost v gramech na potravinovou položku |
| 6. Vyhledávání databáze | Semantické vyhledávání založené na embeddingu, USDA/databáze značkových produktů | Potravinové štítky + indície přípravy | Nutriční profily na 100 g |
| 7. Výpočet kalorií | Vážení aritmetiky, propagace nejistoty | Odhady gramů + nutriční profily | Celkové kalorie a makra s intervaly důvěry |
| 8. Zobrazení uživatele | Rendering UI, synchronizace API pro zdravotní data | Vypočtená nutriční data | Záznam jídla s vizuálním překryvem |
Kde se hodí inovace Nutrola
Některé z výše popsaných fází zahrnují inovace specifické pro implementaci Nutrola:
Personalizovaný klasifikační kontext. Modul kontextu uživatele ve Fázi 4 využívá historická data o jídlech, preference kuchyně, polohu a denní dobu k rozlišení nejistých predikcí. To není standardní v většině pipeline pro rozpoznávání potravin a přináší měřitelné zlepšení v reálné přesnosti ve srovnání s modely bez kontextu.
Proprietární databáze hustoty. Převod objemu na hmotnost ve Fázi 5 závisí na databázi hustoty, která pokrývá potraviny v různých přípravných stavech. Obecné systémy často používají průměrnou hustotu pro potravinu, což zavádí systematickou chybu pro položky jako vařená versus syrová zelenina nebo sceděné versus nesceděné konzervované zboží.
Zobrazení s ohledem na důvěru. Místo toho, aby ukazovala jedinou hodnotu kalorií, Nutrola zohledňuje nejistotu, když existuje. Tento upřímný přístup snižuje frustraci uživatelů, když se odhady zdají být nesprávné, protože rozsah sám komunikuje, že systém je méně jistý ohledně konkrétní položky.
Jednotná vícerozdrojová nutriční databáze. Databáze s 2 miliony položek ve Fázi 6 spojuje vládní laboratorní data, data značkových produktů a ověřené příspěvky komunity do jediné normalizované schématu, což dává pipeline přístup k mnohem více potravinovým záznamům, než jakýkoliv jednotlivý zdroj poskytuje.
Nepřetržité učení z oprav. Každá uživatelská oprava ve Fázi 8 se vrací do klasifikačních a odhadových modelů během periodických cyklů opětovného trénování, čímž se vytváří cyklus, ve kterém se přesnost zlepšuje, jak se uživatelská základna rozrůstá.
Latence a úvahy o zařízení
Celková latence je pro uživatelskou zkušenost nesmírně důležitá. Pokud pipeline trvá déle než dvě až tři sekundy, uživatelé ji vnímají jako pomalou a mohou se vrátit k manuálnímu zaznamenávání. Několik inženýrských strategií udržuje latenci nízkou:
Kvantizace modelu převádí 32bitové váhy s plovoucí desetinnou čárkou na 8bitové celá čísla, čímž se velikost modelu sníží přibližně 4x a zrychlí inferenci na mobilních neuronových procesorech (NPUs) s minimálními ztrátami na přesnosti. Nutrola aplikuje kvantizaci po trénování jak na backbone pro extrakci funkcí, tak na detekční hlavu.
Inference na zařízení zcela eliminuje potřebu síťového kola pro výpočetně náročné fáze (extrakce funkcí a detekce). Apple Core ML a Android NNAPI poskytují hardwarově akcelerované cesty pro inferenci, které pipeline cílí. Pouze lehké vyhledávání databáze a fáze výpočtu kalorií vyžadují serverový hovor, a i tyto mohou spadnout zpět na místní cache pro offline provoz.
Spekulativní vykonávání začíná předzpracováním a extrakcí funkcí, zatímco je stále aktivní náhled kamery, takže do okamžiku, kdy uživatel stiskne spoušť, byla pipeline již částečně zpracována. Tato technika zkracuje vnímanou latenci o několik set milisekund.
Benchmarky přesnosti a výkon v reálném světě
Na standardních akademických benchmarkech, jako jsou Food-101, ISIA Food-500 a Nutrition5k, moderní pipeline dosahují přesnosti klasifikace top-1 mezi 85 a 92 procenty a chyby odhadu porcí v rozmezí 15 až 25 procent od skutečné hmotnosti. Výkon v reálném světě se liší, protože fotografie zaslané uživateli jsou hlučnější než kurátorované datasety: špatné osvětlení, částečné zakrytí, neobvyklé úhly a neobvyklá regionální jídla všechny snižují přesnost.
Interní testování Nutrola na vyhrazené sadě 50 000 skutečných uživatelských fotografií ukazuje přesnost klasifikace top-1 89 procent a medián chyby odhadu porcí 18 procent. Když se zohlední tři nejlepší kandidáti, přesnost klasifikace vzrůstá na 96 procent, což je důvod, proč rozhraní pro opravy výrazně zobrazuje alternativní návrhy.
Tato čísla se nadále zlepšují s každým cyklem opětovného trénování, jak se akumuluje více označených dat z reálného použití.
Často kladené otázky
Jak dlouho trvá celá pipeline od fotografie po nutriční data?
Na moderních chytrých telefonech s dedikovaným hardwarem pro neuronové zpracování obvykle končí celá pipeline během 1.0 až 2.5 sekundy. Většina tohoto času je strávena na extrakci funkcí a detekci objektů ve Fázích 3 a 4. Předzpracování a výpočet kalorií jsou téměř okamžité, a vyhledávání databáze přidává pouze 50 až 150 milisekund v závislosti na podmínkách sítě nebo zda je použita místní cache. Spekulativní vykonávací systém Nutrola, který začíná zpracovávat náhled kamery před tím, než uživatel stiskne spoušť, může snížit vnímanou latenci na méně než jednu sekundu v mnoha případech.
Jak přesná je klasifikace potravin pomocí AI ve srovnání s manuálním zaznamenáváním?
Klasifikace potravin pomocí AI dosahuje přesnosti top-1 mezi 85 a 92 procenty na standardních benchmarkech a přesnosti top-3 nad 95 procent. Manuální zaznamenávání, i když teoreticky přesné, když je prováděno pečlivě, trpí systematickým podreportováním od 10 do 45 procent podle publikovaných výzkumů o výživě. V praxi kombinace AI klasifikace s rychlým potvrzovacím krokem uživatele obvykle produkuje konzistentnější a méně zaujaté výsledky než čistě manuální zadávání, zejména pro uživatele, kteří zaznamenávají více jídel denně a zažívají únavu při zadávání.
Co se stane, když AI nedokáže identifikovat potravinovou položku?
Když nejvyšší hodnota důvěry klesne pod prahovou hodnotu systému, pipeline přijme elegantní přístup k zálohování. Představí tři až pět nejlepších kandidátů k identifikaci a požádá uživatele, aby vybral správnou možnost, nebo aby název zadal ručně. Tato uživatelská oprava je zaznamenána a vrací se do tréninkové pipeline během příštího cyklu opětovného trénování, což znamená, že každé selhání se stává signálem pro trénink, který zlepšuje budoucí predikce. V průběhu času, jak se tyto opravy akumulují, se pokrytí systému neobvyklými a regionálními potravinami postupně rozšiřuje.
Funguje pipeline jinak pro smíšená jídla, jako jsou saláty nebo kari?
Ano. Pro smíšená jídla, kde jednotlivé ingredience nejsou prostorově oddělitelné, pipeline přechází z detekce ohraničujících boxů na sémantickou segmentaci pomocí architektur jako DeepLabv3+. Tato klasifikace na úrovni pixelů odhaduje podíl každé ingredience v rámci smíšené oblasti. U silně mixovaných jídel, jako jsou smoothies nebo pyré polévky, kde je vizuální oddělení nemožné, pipeline spoléhá na dekompozici založenou na receptech: identifikuje typ jídla a poté používá model receptu k odhadu pravděpodobných podílů ingrediencí a jejich kombinovaného nutričního profilu.
Jak funguje odhad porcí bez hloubkového senzoru?
Když není k dispozici LiDAR nebo časově letový senzor, pipeline používá model odhadu hloubky z jednoho oka (například MiDaS nebo DPT) k odhadu přibližné hloubky pouze z RGB obrazu. Tyto modely byly trénovány na milionech párů obrázků a hloubek a mohou odhadnout trojrozměrný tvar potravin z kontextových indicií, jako je geometrie talíře, vzory stínů a gradienty textury. Systém také detekuje referenční objekty známých rozměrů, zejména talíře a příbory, aby ukotvil měřítko. I když je odhad z jednoho oka méně přesný než hardwarové hloubkové snímání, kombinace naučených hloubkových indicií a referenčního měřítka udržuje odhady porcí v praktickém rozsahu přesnosti pro sledování výživy.
Může pipeline zpracovat více talířů nebo jídel v jednom obrázku?
Fáze detekce objektů je navržena tak, aby zvládla libovolný počet potravinových položek, ať už jsou na jednom talíři nebo na několika. Detekční hlavy YOLO a DETR procházejí celý obraz a výstupují nezávislé detekce pro každou nalezenou potravinovou položku, ať už jsou na jednom talíři, rozloženy po stole s více pokrmy nebo uspořádány na tácu. Každá detekovaná položka je nezávisle zpracována v fázích odhadu porcí a výpočtu kalorií. Pro nejlepší přesnost Nutrola doporučuje fotografovat každý talíř nebo misku jednotlivě, aby bylo možné kalibrovat referenční měřítko pro každý talíř, ale systém se vyrovnává se scénami s více talíři, když to není praktické.
Připraveni proměnit sledování výživy?
Přidejte se k tisícům, kteří svou cestu ke zdraví proměnili s Nutrola!