Cum funcționează pipeline-ul AI pentru recunoașterea alimentelor: De la fotografie la date nutriționale

O prezentare detaliată a pipeline-ului complet pentru recunoașterea alimentelor prin AI: de la captarea imaginii, extragerea caracteristicilor prin CNN, clasificarea alimentelor, estimarea porțiilor, căutarea în baza de date nutrițională până la calculul final al caloriilor.

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

Atunci când faci o fotografie cu prânzul tău și vezi cum apare o analiză detaliată a macronutrienților în mai puțin de două secunde, este ușor să iei rezultatul ca pe un lucru normal. Totuși, în spatele acestei citiri aparent instantanee se află un pipeline complex care procesează imaginea ta prin captarea de la cameră, preprocesare, inferență prin rețele neuronale, clasificare, estimarea porțiilor, căutarea în baza de date și calculul final al caloriilor, înainte ca orice să ajungă pe ecranul tău. Fiecare etapă rezolvă o problemă distinctă, se bazează pe propriul set de algoritmi și transmite un output specific către etapa următoare.

Acest articol urmărește întreaga călătorie de la apăsarea butonului de declanșare până la eticheta nutrițională. Pe parcurs, vom menționa arhitecturile, tehnicile și compromisurile ingineriei care fac ca fiecare etapă să funcționeze, și vom evidenția inovațiile aduse de Nutrola pentru a îmbunătăți acuratețea și viteza dincolo de normele industriei.

Etapa 1: Captarea imaginii și achiziția de imagine

Totul începe în momentul în care un utilizator deschide vizorul camerei și încadrează o farfurie cu mâncare. Smartphone-urile moderne capturează imagini la rezoluții de 12 până la 48 de megapixeli, generând date brute de senzor care codifică valorile intensității culorii printr-un mozaic de filtre Bayer. Procesorul de semnal de imagine (ISP) al dispozitivului demosaicează aceste date, aplică balansul de alb, reduce zgomotul și produce un fișier standard JPEG sau HEIF în fracțiuni de secundă.

Două caracteristici hardware influențează din ce în ce mai mult această etapă. În primul rând, senzorii LiDAR de pe cele mai recente iPhone Pro și pe unele flagship-uri Android pot captura o hartă de adâncime împreună cu imaginea RGB. Aceste date de adâncime devin valoroase ulterior, în timpul estimării porțiilor. În al doilea rând, dispozitivele cu senzori de timp de zbor oferă informații de adâncime similare, dar mai puțin precise, pe care pipeline-ul le poate folosi atunci când LiDAR nu este disponibil.

Pipeline-ul preia imaginea RGB și, când este disponibil, harta de adâncime ca input asociat. Dacă dispozitivul nu dispune de senzor de adâncime, pipeline-ul continuă cu doar RGB și compensează ulterior folosind estimarea adâncimii monoculare.

Output-ul cheie al acestei etape

O imagine RGB de înaltă rezoluție (și opțional o hartă de adâncime) care reprezintă scena din fața utilizatorului.

Etapa 2: Preprocesarea imaginii

Output-ul brut al camerei nu este pregătit pentru inferența prin rețele neuronale. Preprocesarea transformă imaginea într-un tensor standardizat așa cum se așteaptă modelul.

Redimensionare și decupare

Cele mai multe modele de recunoaștere a alimentelor acceptă input la o rezoluție fixă, de obicei 224x224, 384x384 sau 512x512 pixeli, în funcție de arhitectură. Pipeline-ul redimensionează imaginea la această rezoluție țintă, păstrând raportul de aspect, aplicând letterboxing sau decupare centrală după cum este necesar. Interpolarea bicubică este metoda standard de resampling, deoarece păstrează detaliile fine ale texturii mai bine decât alternativele bilineare.

Normalizare

Valorile pixelilor sunt convertite din intervalul 0-255 în numere în virgulă mobilă și apoi normalizate folosind media și deviația standard pe canale ale setului de date de antrenament. Pentru modelele pre-antrenate pe ImageNet, se aplică valorile canonice de normalizare (media de [0.485, 0.456, 0.406] și deviația standard de [0.229, 0.224, 0.225] pentru canalele R, G și B, respectiv). Această normalizare centrează distribuția input-ului în jurul zero și o scalează la varianță unitară, stabilizând fluxul gradientului în timpul antrenamentului și asigurând un comportament consistent în inferență.

Spațiul de culoare și artefactele de augmentare

În timpul antrenamentului, pipeline-ul aplică o augmentare extinsă a datelor: rotații aleatorii, flip-uri orizontale, jitter de culoare, estompare gaussiană și patch-uri de decupare. La momentul inferenței, aceste augmentări sunt dezactivate, dar modelul a învățat să fie invariant la tipurile de zgomot vizual pe care le simulează. Aceasta înseamnă că o fotografie făcută sub lumina caldă a unui restaurant și o fotografie făcută sub lumina rece a unui birou fluorescent vor produce ambele reprezentări fiabile ale caracteristicilor.

Output-ul cheie al acestei etape

Un tensor normalizat în virgulă mobilă cu dimensiuni spațiale fixe, pregătit pentru rețeaua neuronală de bază.

Etapa 3: Extragerea caracteristicilor CNN

Aceasta este nucleul computațional al pipeline-ului. O rețea neuronală convoluțională profundă (sau din ce în ce mai mult un transformator de viziune) procesează tensorul preprocesat și produce un vector dens de caracteristici care codifică conținutul vizual al imaginii într-o formă pe care capetele de clasificare și detecție ulterioare o pot interpreta.

Arhitecturi de bază

Mai multe arhitecturi de bază s-au dovedit eficiente pentru recunoașterea alimentelor:

EfficientNet folosește scalarea compusă pentru a echilibra adâncimea, lățimea și rezoluția de input a rețelei. EfficientNet-B4 și B5 sunt alegeri populare deoarece oferă o acuratețe puternică la un cost computațional fezabil pe hardware mobil, atunci când sunt combinate cu cuantizarea. Nutrola utilizează o arhitectură de bază derivată din EfficientNet care a fost ajustată pe un set de date propriu de imagini cu alimente, obținând un compromis favorabil între latență și acuratețea top-1.

Transformatoarele de viziune (ViT) împart imaginea în patch-uri de dimensiuni fixe (de obicei 16x16 pixeli), proiectează fiecare patch într-un embedding și procesează secvența de embeddings prin straturi de auto-atentie multi-head. ViT-urile excelează în captarea relațiilor spațiale pe distanțe lungi, de exemplu, înțelegând că discul maroniu de lângă frunzele verzi este un chiftea de hamburger și nu un biscuit de ciocolată, deoarece contextul înconjurător include o chiflă și salată. Modelele hibride precum DeiT (Data-efficient Image Transformer) și Swin Transformer au redus cerințele de date și costul computațional al ViT-urilor pure, făcându-le viabile pentru sistemele de recunoaștere a alimentelor în producție.

MobileNetV3 este optimizat pentru inferența pe dispozitiv cu convoluții separabile pe adâncime și căutare de arhitectură neuronală conștientă de hardware. Acesta servește ca bază în căile critice de latență, unde modelul trebuie să ruleze complet pe dispozitiv fără o rundă de rețea.

Rețelele de piramidă de caracteristici

Deoarece alimentele pot varia enorm în dimensiunea aparentă într-o singură imagine (o pizza mare lângă o ceașcă mică de sos), pipeline-ul folosește o Rețea de Piramidă de Caracteristici (FPN) pentru a extrage caracteristici la multiple scale spațiale. FPN-ul construiește o cale de sus în jos cu conexiuni laterale din hărțile de caracteristici intermediare ale arhitecturii de bază, producând un set de hărți de caracteristici multi-scale care sunt la fel de expresive în detectarea garniturilor mici și a preparatelor mari.

Output-ul cheie al acestei etape

Un set de hărți de caracteristici multi-scale (sau un singur vector de caracteristici agregat pentru sarcini doar de clasificare) care codifică semantica vizuală a fiecărei regiuni din imagine.

Etapa 4: Clasificarea și detecția alimentelor multi-etichete

Mesele reale conțin rareori un singur aliment. O farfurie tipică de cină poate conține somon la grătar, broccoli aburit, orez brun și o felie de lămâie. Pipeline-ul trebuie să detecteze, să localizeze și să clasifice fiecare aliment distinct din cadru.

Detecția obiectelor cu YOLO și DETR

Pipeline-ul aplică o cap de detecție a obiectelor deasupra hărților de caracteristici extrase. Două familii de detectoare domină acest domeniu:

YOLO (You Only Look Once) efectuează detecția într-o singură trecere prin împărțirea imaginii într-o grilă și prezicerea cutiilor de delimitare și a probabilităților de clasă pentru fiecare celulă a grilei simultan. YOLOv8 și succesoarele sale sunt deosebit de potrivite pentru desfășurarea pe mobil, deoarece procesează întreaga imagine dintr-o singură lovitură, în loc să propună și apoi să rafineze regiunile. Nutrola folosește o cap de detecție derivată din YOLO, ajustată pe peste 15.000 de clase de alimente din diverse bucătării globale.

DETR (Detection Transformer) tratează detecția obiectelor ca o problemă de predicție a seturilor, folosind o arhitectură encoder-decoder bazată pe transformatoare pentru a produce direct un set de detecții fără a necesita cutii de ancorare sau supresie non-maximă. DETR gestionează mai bine alimentele suprapuse decât metodele bazate pe ancorare, deoarece pierderea sa bazată pe seturi evită în mod natural predicțiile duplicate.

Segmentarea semantică pentru preparate mixte

Pentru preparate compuse precum salate, prăjeli și boluri cu cereale, unde ingredientele distincte se suprapun și se amestecă, cutiile de delimitare sunt prea grosiere. Pipeline-ul trece la o ramură de segmentare semantică, adesea bazată pe o arhitectură U-Net sau DeepLabv3+, care clasifică fiecare pixel din imagine. Această clasificare la nivel de pixel permite sistemului să estimeze proporția fiecărui ingredient într-un preparat mixt, chiar și atunci când nu există limite clare care să le separe.

Scoruri de încredere și clasamentul candidaților

Fiecare detecție vine cu un scor de încredere. Pipeline-ul aplică un prag (de obicei între 0.5 și 0.7, în funcție de aplicație) pentru a filtra predicțiile cu încredere scăzută. Când cea mai bună predicție este incertă, sistemul poate prezenta cele mai bune trei până la cinci candidați utilizatorului pentru confirmare, reducând ratele de eroare fără a necesita introducerea manuală.

Motorul de clasificare al Nutrola încorporează un modul de context al utilizatorului care ia în considerare mesele anterioare ale utilizatorului, preferințele culinare, locația geografică și ora din zi. Dacă un utilizator înregistrează frecvent bucătăria mexicană și modelul este nesigur între o tortilla de făină și un naan, modulul de context îndreaptă probabilitatea către tortilla. Această stratificare de personalizare reduce semnificativ ratele de clasificare greșită în timp.

Output-ul cheie al acestei etape

O listă de alimente detectate, fiecare cu o etichetă de clasă, o cutie de delimitare sau o mască de pixel și un scor de încredere.

Etapa 5: Estimarea dimensiunii porției

A ști că o farfurie conține pui la grătar și orez nu este suficient. Pipeline-ul trebuie să estimeze cât din fiecare aliment este prezent, deoarece 100 de grame de piept de pui și 300 de grame de piept de pui diferă cu mai mult de 300 de calorii.

Estimarea adâncimii monoculare

Când nu este disponibil un senzor de adâncime hardware, pipeline-ul folosește un model de estimare a adâncimii monoculare (de obicei bazat pe arhitectura MiDaS sau DPT) pentru a deduce o hartă de adâncime doar din imaginea RGB. Aceste modele învață să prezică adâncimea din indicii contextuali precum suprapunerea obiectelor, dimensiunea relativă, gradientele de textură și punctele de dispariție. Harta de adâncime inferată, deși mai puțin precisă decât datele LiDAR, este suficientă pentru a aproxima forma tridimensională a alimentelor de pe o farfurie.

Scalarea obiectelor de referință

O fotografie nu conține o scară inerentă. Pipeline-ul rezolvă acest lucru prin detectarea obiectelor de referință cu dimensiuni cunoscute în cadru. Farfuriile (de obicei cu un diametru de 25 până la 27 cm), tacâmurile standard, bolurile și chiar marginile smartphone-urilor pot ancorea scala. Prin ajustarea unei elipse la marginea farfuriei detectate și aplicarea geometriei proiective pentru a deduce unghiul de vizualizare, pipeline-ul reconstruiește distanțele reale din măsurătorile pixelilor.

Conversia volumului în greutate

Cu forma tridimensională a alimentului estimată, pipeline-ul calculează volumul prin integrarea profilului de adâncime pe masca de pixel a alimentului. Apoi, convertește volumul în greutate folosind tabele de densitate specifice alimentelor. O cană de spanac frunze cântărește mult mai puțin decât o cană de hummus, așa că căutarea densității este esențială pentru acuratețe.

Nutrola menține o bază de date de densitate proprie care acoperă mii de alimente în diverse stări de preparare (crud, gătit, amestecat, congelat) și o folosește pentru a converti volumele estimate în greutăți în grame cu o fidelitate mai mare decât tabelele de densitate generice.

Output-ul cheie al acestei etape

O greutate estimată în grame pentru fiecare aliment detectat.

Etapa 6: Căutarea în baza de date nutrițională

Cu fiecare aliment clasificat și cântărit, pipeline-ul interoghează o bază de date nutrițională pentru a recupera profilul de macronutrienți și micronutrienți pe 100 de grame din acel aliment.

Arhitectura bazei de date

Baze de date nutriționale de înaltă calitate se bazează pe surse guvernamentale precum USDA FoodData Central, UK Nutrient Databank și echivalentele naționale din zeci de țări. Aceste surse oferă valori nutriționale analizate în laborator pentru mii de alimente într-o formă standardizată.

Baza de date Nutrola depășește aceste surse guvernamentale prin încorporarea datelor furnizate de producători din peste 1.2 milioane de produse de marcă, articole de meniu de restaurant cu informații nutriționale verificate prin parteneriate și intrări trimise de comunitate care trec printr-un pipeline de verificare în mai multe straturi, inclusiv verificarea încrucișată, detectarea anomaliilor și revizuirea de către dieteticieni. Rezultatul este o bază de date unificată de peste 2 milioane de intrări alimentare cu date nutriționale normalizate la un schema consistentă.

Potrivirea fuzzy și rezolvarea entităților

Modelul de clasificare produce o etichetă de aliment precum "pulpa de pui la grătar cu piele" care trebuie să fie potrivită cu intrarea corectă din baza de date. Aceasta este o problemă de rezolvare a entităților non-trivială, deoarece același aliment poate avea zeci de nume în diferite regiuni și limbi. Pipeline-ul folosește căutarea semantică bazată pe embedding pentru a găsi cea mai apropiată intrare din baza de date. Un encoder de text ajustat mapează atât eticheta alimentului prezis, cât și fiecare nume de intrare din baza de date în același spațiu vectorial, iar cel mai apropiat vecin (măsurat prin similaritate cosinus) este selectat.

Când există mai multe potriviri apropiate (de exemplu, "pulpa de pui, la grătar, cu piele" versus "pulpa de pui, la cuptor, pielea mâncată"), sistemul alege intrarea a cărei metodă de preparare se potrivește cel mai bine cu indiciile vizuale detectate în imagine.

Output-ul cheie al acestei etape

Un profil nutrițional complet (calorii, proteine, carbohidrați, grăsimi, fibre și micronutrienți) pe 100 de grame pentru fiecare aliment detectat.

Etapa 7: Calculul macronutrienților și al caloriilor

Ultima etapă computațională este o aritmetică simplă, dar este locul unde erorile din fiecare etapă anterioară se acumulează. Pipeline-ul înmulțește valorile nutriționale pe 100 de grame cu greutatea estimată a fiecărui aliment, apoi adună rezultatele pentru a produce o analiză totală a mesei.

Calculul

Pentru fiecare aliment:

  • Calorii = (gramaj estimat / 100) x calorii pe 100 g
  • Proteine = (gramaj estimat / 100) x proteine pe 100 g
  • Carbohidrați = (gramaj estimat / 100) x carbohidrați pe 100 g
  • Grăsimi = (gramaj estimat / 100) x grăsimi pe 100 g

Aceste valori pe item sunt adunate pentru a produce totalul mesei.

Propagarea erorilor și intervalele de încredere

Deoarece fiecare etapă anterioară introduce o anumită incertitudine, Nutrola nu prezintă o estimare unică ca pe o dogmă. Sistemul calculează intervale de încredere prin propagarea scorului de încredere al clasificării și a incertitudinii estimării porției prin calcul. Dacă încrederea în clasificare este mare, dar estimarea porției este incertă (de exemplu, alimentul este îngrămădit într-un bol adânc care ascunde volumul), sistemul reflectă acest lucru lărgind intervalul de încredere și poate solicita utilizatorului să confirme porția.

Această transparență este o alegere de design deliberată. În loc să prezinte un fals sentiment de precizie, Nutrola arată un interval (de exemplu, "420 până la 510 kcal") atunci când estimările subiacente o justifică, ajutând utilizatorii să dezvolte o înțelegere realistă a consumului lor.

Output-ul cheie al acestei etape

Totalul caloriilor și analiza macronutrienților pentru masă, cu intervale de încredere opționale.

Etapa 8: Afișarea pentru utilizator și înregistrarea

Ultima etapă redă rezultatele în interfața utilizatorului. Alimentele detectate sunt listate cu valorile lor individuale de calorii și macronutrienți, iar totalul mesei este afișat proeminent. Utilizatorul poate atinge orice item pentru a-l corecta sau a ajusta porția, iar aceste corecții sunt integrate în modelele de personalizare pentru a îmbunătăți predicțiile viitoare.

Pe Nutrola, afișajul include un overlay vizual pe fotografia originală care arată cutii de delimitare sau evidențieri ale segmentelor pentru fiecare aliment detectat, făcând imediat clar ce a identificat AI-ul și unde. Această feedback vizuală construiește încredere și face erorile ușor de observat și corectat.

Masa înregistrată este stocată în jurnalul zilnic de nutriție al utilizatorului și contribuie la totalurile curente pentru calorii, proteine, carbohidrați, grăsimi și micronutrienți urmăriți. Datele se sincronizează cu Apple Health, Google Fit și alte platforme conectate prin API-uri standardizate de date de sănătate.

Output-ul cheie al acestei etape

O intrare completă în jurnalul mesei cu date nutriționale pe item și total, overlay-uri vizuale și sincronizare cu platformele de sănătate.

Tabel rezumat al pipeline-ului

Etapă Tehnologie de bază Input Output
1. Captarea imaginii ISP de dispozitiv, senzori LiDAR/ToF Lumină din scenă Imagine RGB + hartă de adâncime opțională
2. Preprocesarea imaginii Redimensionare bicubică, normalizare pe canale Imagine brută Tensor normalizat (de ex., 384x384x3)
3. Extragerea caracteristicilor EfficientNet, ViT, Swin Transformer, FPN Tensor normalizat Hărți de caracteristici multi-scale
4. Clasificarea alimentelor YOLOv8, DETR, DeepLabv3+, context utilizator Hărți de caracteristici Alimente etichetate cu cutii de delimitare/măști
5. Estimarea porțiilor Estimarea adâncimii MiDaS, scalarea referințelor, tabele de densitate RGB + adâncime + măști de alimente Greutate în grame pe aliment
6. Căutarea în baza de date Căutare semantică bazată pe embedding, baze de date USDA/marcate Etichete alimentare + indicii de preparare Profile nutriționale pe 100 g
7. Calculul caloriilor Aritmetică ponderată, propagarea incertitudinii Estimări în grame + profile nutriționale Total calorii și macronutrienți cu intervale de încredere
8. Afișarea pentru utilizator Redare UI, API-uri de sincronizare date de sănătate Date nutriționale calculate Intrare în jurnalul mesei cu overlay vizual

Unde se încadrează inovațiile Nutrola

Mai multe dintre etapele descrise mai sus includ inovații specifice implementării Nutrola:

Contextul de clasificare personalizat. Modulul de context al utilizatorului din Etapa 4 folosește datele istorice ale meselor, preferințele culinare, locația și ora din zi pentru a dezambigui predicțiile nesigure. Acest lucru nu este standard în majoritatea pipeline-urilor de recunoaștere a alimentelor și produce îmbunătățiri măsurabile în acuratețea din lumea reală comparativ cu modelele fără context.

Baza de date de densitate proprie. Conversia volumului în greutate din Etapa 5 se bazează pe o bază de date de densitate care acoperă alimentele în multiple stări de preparare. Sistemele generice folosesc adesea o densitate medie unică pe aliment, ceea ce introduce erori sistematice pentru articole precum legumele gătite versus cele crude sau conservele scurse versus cele necurățate.

Afișaj conștient de încredere. În loc să arate un singur număr de calorii, Nutrola evidențiază incertitudinea atunci când aceasta există. Această abordare onestă reduce frustrarea utilizatorului atunci când estimările par eronate, deoarece intervalul în sine comunică faptul că sistemul este mai puțin sigur cu privire la un anumit item.

Bază de date nutrițională unificată din multiple surse. Baza de date cu 2 milioane de intrări din Etapa 6 îmbină datele de laborator guvernamentale, datele produselor de marcă și trimiterile comunității verificate într-o schemă normalizată unificată, oferind pipeline-ului acces la mult mai multe intrări alimentare decât orice sursă unică oferă.

Învățare continuă din corecții. Fiecare corecție a utilizatorului din Etapa 8 este integrată în modelele de clasificare și porție în timpul ciclurilor de reantrenament periodice, creând un mecanism prin care acuratețea se îmbunătățește pe măsură ce baza de utilizatori crește.

Considerații privind latența și inferența pe dispozitiv

Latența de la început până la sfârșit contează enorm pentru experiența utilizatorului. Dacă pipeline-ul durează mai mult de două până la trei secunde, utilizatorii îl percep ca fiind lent și pot reveni la înregistrarea manuală. Mai multe strategii de inginerie mențin latența scăzută:

Quantizarea modelului convertește greutățile în virgulă mobilă de 32 de biți în întregi de 8 biți, reducând dimensiunea modelului cu aproximativ 4x și accelerând inferența pe unitățile de procesare neuronală (NPU) mobile cu o pierdere minimă de acuratețe. Nutrola aplică cuantizarea post-antrenament atât pe baza de extragere a caracteristicilor, cât și pe capul de detecție.

Inferența pe dispozitiv elimină complet runda de rețea pentru etapele computațional intensive (extragerea caracteristicilor și detecția). Core ML de la Apple și NNAPI de la Android oferă căi de inferență accelerate de hardware pe care pipeline-ul le vizează. Numai etapele ușoare de căutare în baza de date și calculul caloriilor necesită o apelare la server, iar chiar și acestea pot recurge la un cache local pentru operațiuni offline.

Execuția speculativă începe preprocesarea și extragerea caracteristicilor în timp ce previzualizarea camerei este încă activă, astfel încât, până în momentul în care utilizatorul apasă butonul de declanșare, pipeline-ul a procesat deja parțial cadrul. Această tehnică reduce latența percepută cu câteva sute de milisecunde.

Benchmark-uri de acuratețe și performanță în lumea reală

Pe benchmark-uri academice standard precum Food-101, ISIA Food-500 și Nutrition5k, pipeline-urile moderne ating o acuratețe de clasificare top-1 între 85 și 92 la sută și erori de estimare a porțiilor între 15 și 25 la sută din greutatea reală. Performanța în lumea reală variază deoarece fotografiile trimise de utilizatori sunt mai zgomotoase decât seturile de date curate: iluminare slabă, occludere parțială, unghiuri neobișnuite și preparate regionale neobișnuite degradează toate acuratețea.

Testele interne ale Nutrola pe un set de 50.000 de fotografii reale de utilizatori arată o acuratețe de clasificare top-1 de 89 la sută și o eroare mediană de estimare a porțiilor de 18 la sută. Când se iau în considerare cele mai bune 3 candidați, acuratețea clasificării crește la 96 la sută, motiv pentru care interfața de corecție afișează proeminent sugestii alternative.

Aceste numere continuă să se îmbunătățească cu fiecare ciclu de reantrenament pe măsură ce mecanismul de feedback pentru corecții acumulează mai multe date etichetate din utilizarea din lumea reală.

Întrebări frecvente

Cât durează întregul pipeline de la fotografie la date nutriționale?

Pe smartphone-uri moderne cu hardware dedicat pentru procesare neuronală, pipeline-ul de la început până la sfârșit se finalizează de obicei în 1.0 până la 2.5 secunde. Majoritatea timpului este petrecut pe extragerea caracteristicilor și detecția obiectelor în Etapele 3 și 4. Preprocesarea și calculul caloriilor sunt aproape instantanee, iar căutarea în baza de date adaugă doar 50 până la 150 de milisecunde, în funcție de condițiile de rețea sau de utilizarea unui cache local. Sistemul de execuție speculativ al Nutrola, care începe procesarea previzualizării camerei înainte ca utilizatorul să apese declanșatorul, poate reduce latența percepută la sub un secund în multe cazuri.

Cât de precisă este clasificarea alimentelor AI comparativ cu înregistrarea manuală?

Clasificarea alimentelor AI atinge o acuratețe top-1 între 85 și 92 la sută pe benchmark-uri standard, iar acuratețea top-3 depășește 95 la sută. Înregistrarea manuală, deși teoretic precisă atunci când este realizată cu atenție, suferă de o subraportare sistematică de 10 până la 45 la sută, conform cercetărilor dietetice publicate. În practică, clasificarea AI combinată cu un pas rapid de confirmare a utilizatorului tinde să producă rezultate mai consistente și mai puțin părtinitoare decât introducerea pur manuală, în special pentru utilizatorii care înregistrează mai multe mese pe zi și experimentează oboseală în introducerea datelor.

Ce se întâmplă când AI-ul nu poate identifica un aliment?

Când predicția cu cea mai mare încredere scade sub pragul sistemului, pipeline-ul adoptă o abordare de fallback elegantă. Acesta prezintă cele mai bune trei până la cinci identificări candidate și cere utilizatorului să selecteze corecta sau să introducă manual un nume. Această corecție a utilizatorului este înregistrată și integrată în pipeline-ul de antrenament în timpul următorului ciclu de reantrenament, ceea ce înseamnă că fiecare eșec devine un semnal de antrenament care îmbunătățește predicțiile viitoare. În timp, pe măsură ce aceste corecții se acumulează, acoperirea sistemului pentru alimente neobișnuite și regionale se extinde constant.

Funcționează pipeline-ul diferit pentru preparate mixte precum salatele sau curry-urile?

Da. Pentru preparate mixte unde ingredientele individuale nu sunt separabile spațial, pipeline-ul trece de la detecția prin cutii de delimitare la segmentarea semantică folosind arhitecturi precum DeepLabv3+. Această clasificare la nivel de pixel estimează proporția fiecărui ingredient în zona mixtă. Pentru preparate foarte amestecate, cum ar fi smoothie-urile sau supele piure, unde separarea vizuală este imposibilă, pipeline-ul se bazează pe descompunerea bazată pe rețete: identifică tipul de preparat și apoi folosește un model de rețetă pentru a estima proporțiile probabile ale ingredientelor și profilul nutrițional combinat.

Cum funcționează estimarea porției fără un senzor de adâncime?

Când nu este disponibil un senzor LiDAR sau de timp de zbor, pipeline-ul folosește un model de estimare a adâncimii monoculare (de exemplu, MiDaS sau DPT) pentru a deduce adâncimea aproximativă doar din imaginea RGB. Aceste modele au fost antrenate pe milioane de perechi imagine-adâncime și pot estima forma tridimensională a alimentelor din indicii contextuali precum geometria farfuriei, tiparele umbrelor și gradientele de textură. Sistemul detectează, de asemenea, obiecte de referință cu dimensiuni cunoscute, în special farfurii și tacâmuri, pentru a ancorea scala. Deși estimarea monoculară este mai puțin precisă decât detectarea adâncimii hardware, combinația de indicii de adâncime învățate și scalarea de referință menține estimările porțiilor într-un interval de acuratețe practic pentru urmărirea nutrițională.

Poate pipeline-ul gestiona mai multe farfurii sau mese într-o singură fotografie?

Etapa de detecție a obiectelor este proiectată pentru a gestiona un număr arbitrar de alimente, indiferent dacă acestea se află pe o singură farfurie sau pe mai multe. Capetele de detecție YOLO și DETR scanează întreaga imagine și produc detecții independente pentru fiecare aliment găsit, fie că se află pe o singură farfurie de cină, întinse pe o masă cu mai multe preparate sau aranjate pe un tavă. Fiecare item detectat este procesat independent prin etapele de estimare a porției și calculul caloriilor. Pentru cea mai bună acuratețe, Nutrola recomandă fotografierea fiecărei farfurii sau bol individual pentru a putea calibra scalarea de referință per farfurie, dar sistemul gestionează cu grație scene cu mai multe farfurii atunci când acest lucru nu este practic.

Ești gata să îți transformi urmărirea nutriției?

Alătură-te celor mii care și-au transformat călătoria de sănătate cu Nutrola!