Cum estimează AI dimensiunile porțiilor din fotografii: O analiză tehnică detaliată

O privire detaliată asupra modului în care AI folosește estimarea adâncimii, obiectele de referință și modelarea volumului pentru a estima dimensiunile porțiilor de mâncare dintr-o singură fotografie.

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

Identificarea alimentelor de pe farfurie reprezintă doar jumătate din provocarea urmăririi caloriilor cu ajutorul AI. Cealaltă jumătate, poate chiar mai dificilă, constă în a determina cât de multă mâncare este acolo. O porție de paste poate conține 200 de calorii sau 800 de calorii, în funcție de dimensiune. Obținerea unei estimări corecte este ceea ce diferențiază un instrument util de urmărire a nutriției de o simplă noutate.

Acest articol oferă o analiză tehnică detaliată a modului în care sistemele AI estimează dimensiunile porțiilor din fotografii, abordând estimarea adâncimii, scalarea obiectelor de referință, modelarea volumului și provocările continue cu care se confruntă cercetătorii și inginerii în îmbunătățirea acestor estimări.

De ce estimarea porțiilor este mai dificilă decât recunoașterea alimentelor

Recunoașterea alimentelor este, în esență, o problemă de clasificare. Sistemul trebuie să aleagă dintr-un set finit de categorii alimentare. Estimarea porțiilor, pe de altă parte, este o problemă de regresie. Sistemul trebuie să prezică o valoare continuă (grame sau mililitri) doar din informații vizuale.

Mai mulți factori fac această sarcină deosebit de provocatoare:

  • Problema 2D-3D: O fotografie comprimă realitatea tridimensională într-o imagine bidimensională. Informațiile de adâncime sunt pierdute, ceea ce face dificilă distincția între o întindere subțire de mâncare și un morman gros.
  • Densitate variabilă: O cană de frunze verzi și o cană de granola au același volum, dar greutăți și conținut caloric complet diferite. Sistemul trebuie să estimeze atât volumul, cât și densitatea.
  • Distorsiunea perspectivei: Unghiul din care este făcută o fotografie afectează cât de mari apar alimentele. O farfurie fotografiată dintr-un unghi de sus arată diferit față de aceeași farfurie fotografiată dintr-un unghi de 45 de grade.
  • Scalare ambiguă: Fără un obiect de referință cunoscut în cadru, nu există o modalitate de a determina dimensiunea absolută. O fotografie apropiată a unui biscuit mic poate arăta identic cu o fotografie a unei pizza mari, realizată de la distanță.

Estimarea adâncimii dintr-o singură imagine

Una dintre descoperirile cheie care permit estimarea porțiilor din fotografii este estimarea adâncimii monoculare, capacitatea de a deduce informații de adâncime dintr-o singură imagine, fără a necesita camere stereo sau hardware specializat.

Cum funcționează estimarea adâncimii monoculare

Sistemul vizual uman deduce adâncimea din numeroase indicii: suprapunerea obiectelor (obiectele mai apropiate acoperă pe cele mai îndepărtate), dimensiunea relativă (obiectele mai mici sunt de obicei mai departe), gradientele de textură (texturile devin mai fine la distanțe mai mari) și perspectiva atmosferică (obiectele îndepărtate par mai neclare).

Modelele de învățare profundă pot învăța aceste indicii din seturi mari de date de imagini asociate cu hărți de adâncime. Aplicate la fotografia alimentelor, aceste modele pot estima care părți ale unui aliment sunt mai aproape de cameră și care sunt mai departe, reconstruind efectiv forma tridimensională a alimentului dintr-o imagine plată.

Hărțile de adâncime și volumul alimentelor

O hartă de adâncime atribuie o valoare de distanță fiecărui pixel din imagine. Pentru estimarea alimentelor, acest lucru înseamnă că sistemul poate determina că centrul unei farfurii cu supă se află la o adâncime, în timp ce marginea farfuriei se află la o altă adâncime. Diferența dintre aceste adâncimi, combinată cu limitele detectate ale alimentelor, permite sistemului să estimeze volumul.

Camerele moderne de smartphone cu senzori LiDAR (disponibile pe modelele recente de iPhone Pro și iPad Pro) pot captura date reale de adâncime împreună cu imaginea color, oferind informații de adâncime mult mai precise decât estimarea algoritmică. Aplicațiile de urmărire a alimentelor pot profita de acest hardware atunci când este disponibil, revenind la estimarea monoculară pe dispozitivele fără senzori de adâncime.

Scalarea obiectelor de referință

Fără un punct de referință cunoscut, dimensiunea absolută a obiectelor dintr-o fotografie este ambiguă. Scalarea obiectelor de referință rezolvă această problemă prin utilizarea obiectelor cu dimensiuni cunoscute pentru a stabili o scară de dimensiune pentru întreaga imagine.

Obiecte de referință comune

Obiect de referință Dimensiune cunoscută Beneficiul preciziei
Farfurie standard 25-27 cm diametru Stabilește scala generală pentru masă
Furculiță sau lingură ~19 cm lungime Oferă scală chiar și în fotografiile de apropiere
Card de credit 8.56 x 5.4 cm Precise și standardizate universal
Smartphone Variază în funcție de model, dar cunoscut Poate fi detectat și măsurat algoritmic
Mână Variază, dar poate fi estimată din demografie Scalare aproximativă când nu este disponibil alt obiect de referință

Detectarea automată a referințelor

În loc să ceară utilizatorilor să plaseze un card de referință lângă mâncare (ceea ce adaugă fricțiune și descurajează utilizarea), sistemele moderne încearcă să detecteze automat obiecte de referință comune. Farfurii, boluri, ustensile și mese apar frecvent în fotografiile alimentelor și pot servi ca referințe de dimensiune dacă sistemul le poate identifica.

Sistemul de estimare a porțiilor Nutrola caută automat farfurii, boluri și ustensile în cadru pentru a stabili scala. Când aceste obiecte sunt detectate, sistemul folosește dimensiunile lor tipice pentru a calibra dimensiunea alimentelor. Când nu se găsește niciun obiect de referință, sistemul se bazează pe cunoștințele învățate despre porțiile tipice de alimente și poate solicita utilizatorului să confirme.

Calibrarea bazată pe farfurii

O abordare deosebit de eficientă este calibrarea bazată pe farfurii. Farfuriile standard din majoritatea țărilor se încadrează într-un interval restrâns de dimensiuni (25-27 cm în diametru). Prin detectarea conturului eliptic al unei farfurii în imagine și presupunând o dimensiune standard, sistemul poate stabili o scară fiabilă pentru tot ce se află pe farfurie.

Această abordare funcționează bine deoarece farfuriile sunt aproape întotdeauna prezente în fotografiile de masă, forma lor eliptică este ușor de detectat indiferent de unghiul camerei, iar distorsiunea perspectivei elipsei encodează de fapt informații despre unghiul camerei, ceea ce ajută la corectarea efectelor de perspectivă asupra alimentelor.

Tehnici de estimare a volumului

Odată ce sistemul a identificat alimentele, a estimat adâncimea și a stabilit scala, trebuie să combine aceste informații pentru a estima volumul fiecărui aliment.

Primitivii geometrice

O abordare este de a aproxima alimentele ca fiind combinații de forme geometrice simple:

  • Cilindri pentru alimente înalte, cum ar fi băuturi, clătite stivuite sau torturi cu straturi
  • Semisfere pentru alimente rotunde, cum ar fi porții de orez, mormane de piure sau porții de înghețată
  • Prisme dreptunghiulare pentru pâine feliată, brânză în cuburi sau batoane
  • Conuri tronconice pentru boluri de supă sau cereale (forma bolului ajută la definirea volumului)
  • Poliedre neregulate pentru alimente cu forme complexe, cum ar fi pulpele de pui sau fructele întregi

Sistemul se potrivește cu una sau mai multe dintre aceste primitive în regiunea alimentului detectat și calculează volumul din formele ajustate și scala stabilită.

Reconstrucția pe baza voxelilor

O abordare mai sofisticată implică reconstrucția pe baza voxelilor, unde alimentul este modelat ca o rețea tridimensională de cuburi mici (voxeli). Fiecare voxel este clasificat fie ca fiind umplut cu mâncare, fie ca fiind gol, pe baza hărții de adâncime și a măștii de segmentare. Volumul total este apoi suma tuturor voxelilor care conțin alimente.

Această metodă gestionează mai bine formele neregulate decât primitivele geometrice, dar necesită mai multe resurse computaționale. Este deosebit de utilă pentru alimente care nu se conformează formelor simple, cum ar fi o bucată ruptă de pâine sau o felie neregulată de fruct.

Estimarea volumului neural

Cea mai recentă abordare sare complet peste modelarea geometrică explicită. În schimb, o rețea neurală este antrenată end-to-end pentru a prezice volumul alimentelor direct din imagine. Aceste modele învață reprezentări implicite ale geometriei alimentelor din seturi mari de date de imagini alimentare asociate cu măsurători reale ale greutății.

Această abordare a arătat rezultate promițătoare deoarece poate captura indicii vizuale subtile care corelează cu volumul, cum ar fi modul în care lumina se reflectă de pe suprafața unui lichid sau modelul umbrei aruncat de un morman de mâncare. De asemenea, evită acumularea de erori care poate apărea atunci când estimarea adâncimii, segmentarea și ajustarea geometrică sunt efectuate ca pași separați.

De la volum la greutate la calorii

Estimarea volumului nu este ultimul pas. Pentru a calcula caloriile, sistemul trebuie să convertească volumul în greutate (folosind densitatea alimentelor) și greutatea în calorii (folosind datele despre compoziția nutrițională).

Bazele de date despre densitatea alimentelor

Alimentele diferă semnificativ în ceea ce privește densitatea. O cană de ulei cântărește aproximativ 220 de grame, în timp ce o cană de făină cântărește aproximativ 120 de grame, iar o cană de popcorn cântărește aproximativ 8 grame. Datele precise despre densitate sunt esențiale pentru a converti estimările de volum în estimări de greutate.

Sistemele de producție mențin baze de date care corelează articolele alimentare cu densitățile lor, ținând cont de variațiile în metoda de preparare (fiert vs. crud, tăiat vs. întreg) și stilurile comune de servire.

Articol alimentar Densitate (g/mL) Greutatea pentru 1 cană (g) Calorii per cană
Apă 1.00 237 0
Lapte integral 1.03 244 149
Orez alb fiert 0.74 175 205
Spanac crud 0.13 30 7
Unt de arahide 1.09 258 1517
Ulei de măsline 0.92 218 1909

Compoziția nutrițională

Odată ce sistemul are o estimare a greutății în grame, caută compoziția nutrițională pe gram dintr-o bază de date cuprinzătoare despre alimente. Aceste baze de date sunt de obicei derivate din surse autoritare, cum ar fi USDA FoodData Central, completate cu date de la producătorii de alimente și baze de date regionale de nutriție.

Baza de date Nutrola acoperă mai mult de 1.3 milioane de alimente, inclusiv produse de marcă, articole de meniu din restaurante și alimente generice cu profiluri complete de macronutrienți și micronutrienți. Această acoperire cuprinzătoare asigură că, odată ce un articol alimentar și o porție sunt identificate, calculul nutrițional este precis.

Provocările de precizie și modul în care sunt abordate

În ciuda sofisticării acestor tehnici, estimarea porțiilor din fotografii rămâne o știință imperfectă. Înțelegerea surselor de eroare ajută la stabilirea unor așteptări realiste și evidențiază îmbunătățirile continue din domeniu.

Surse cunoscute de eroare

Variația unghiului camerei: Aceeași porție arată diferit în funcție de unghiul din care este realizată fotografia, fie că este din sus, dintr-un unghi de 45 de grade sau din apropierea nivelului mesei. Fotografii din unghiuri de sus oferă, în general, cele mai precise estimări, deoarece minimizează distorsiunea perspectivei, dar mulți utilizatori își țin telefonul la un unghi natural.

Alimente occlude: Alimentele ascunse sub sosuri, brânză sau alte toppinguri nu pot fi măsurate direct vizual. Sistemul trebuie să deducă porția ascunsă pe baza tipului de farfurie vizibil și a preparării tipice.

Containere neregulate: Bolurile, cănile și recipientele non-standard fac scalarea bazată pe farfurii mai puțin fiabilă. O porție mică într-un bol mare arată diferit față de o porție mare într-un bol mic, chiar dacă zona alimentului pare similară.

Diferențele de preparare individuală: Două persoane care prepară "o farfurie de ovăz" pot folosi cantități foarte diferite de ovăz și apă, rezultând aceeași volum aparent, dar conținut caloric diferit.

Strategii pentru îmbunătățirea preciziei

Captura din unghiuri multiple: Unele sisteme cer utilizatorilor să facă fotografii din unghiuri multiple, permițând reconstrucția stereo și estimarea volumului mai precis. Aceasta îmbunătățește semnificativ precizia, dar adaugă fricțiune procesului de înregistrare.

Cicluri de feedback ale utilizatorului: Atunci când utilizatorii își cântăresc alimentele și confirmă sau corectează porția estimată, acest lucru creează date de antrenament care îmbunătățesc modelul în timp. Nutrola încurajează utilizatorii să verifice ocazional porțiile cu o balanță de bucătărie pentru a calibra atât AI-ul, cât și conștientizarea porțiilor proprii.

Priorități contextuale: Sistemul poate folosi informații contextuale pentru a rafina estimările. Dacă un utilizator se află într-un anumit lanț de restaurante, sistemul poate utiliza dimensiunile de servire cunoscute. Dacă un utilizator înregistrează în mod regulat un mic dejun specific, sistemul poate învăța porția lor tipică.

Estimări conștiente de încredere: În loc să prezinte un singur număr, sistemele sofisticate oferă un interval de încredere. Dacă sistemul nu este sigur în legătură cu porția, poate prezenta estimarea ca un interval (de exemplu, 300 până la 450 de calorii) și poate solicita utilizatorului să ofere informații suplimentare.

Standardele actuale de precizie

Cercetările de la Conferința Internațională de Analiză a Imaginilor și Procesare au arătat că sistemele de estimare a volumului alimentelor de vârf ating erori procentuale absolute medii între 15 și 25 la sută. Pentru context, studiile au arătat că dietiștii antrenați care estimează porțiile din fotografii obțin erori de aproximativ 10 până la 15 procente, în timp ce persoanele neantrenate au o medie a erorilor de 30 până la 50 de procente.

Aceasta înseamnă că estimarea porțiilor de către AI este deja semnificativ mai bună decât ceea ce majoritatea oamenilor pot face fără ajutor și se apropie de precizia profesioniștilor antrenați. Combinată cu avantajul de viteză și comoditate, aceasta face ca urmărirea asistată de AI să fie o îmbunătățire substanțială față de înregistrarea manuală pentru majoritatea utilizatorilor.

Rolul calibrării utilizatorului

Un aspect adesea subestimat al estimării porțiilor de către AI este rolul calibrării utilizatorului în timp. Pe măsură ce un utilizator înregistrează mese și oferă ocazional corecturi, sistemul construiește un profil al dimensiunilor porțiilor și preferințelor alimentare tipice.

Pentru utilizatorii regulat, aceasta înseamnă că sistemul devine progresiv mai precis. Dacă obișnuiești să îți servești porții mai mari de orez decât media, sistemul învață să ajusteze estimările în sus pentru orezul tău. Dacă de obicei folosești mai puțin ulei decât rețeta standard, sistemul poate ține cont de acest lucru.

Nutrola valorifică această personalizare pentru a oferi estimări de porții din ce în ce mai adaptate pe măsură ce folosești aplicația. Utilizatorii noi beneficiază de medii la nivel de populație, în timp ce utilizatorii experimentați primesc estimări personalizate calibrate în funcție de obiceiurile lor specifice.

Sfaturi practice pentru estimări mai precise ale porțiilor

Deși AI se ocupă de majoritatea muncii grele, utilizatorii pot îmbunătăți precizia urmând câteva linii directoare simple:

  1. Fotografiază din sus, când este posibil. Fotografii din unghiuri de sus oferă cele mai multe informații despre suprafața alimentelor și minimizează distorsiunea perspectivei.
  2. Include întreaga farfurie în cadru. Marginea farfuriei servește ca un obiect de referință crucial pentru scalare.
  3. Evită fotografiile extreme de apropiate. Sistemul are nevoie de context pentru a evalua dimensiunea. O fotografie care arată doar mâncarea, fără obiecte înconjurătoare, nu oferă nicio referință de scalare.
  4. Fotografiază înainte de a amesteca. O salată cu ingrediente vizibile separate este mai ușor de analizat decât una care a fost amestecată.
  5. Folosește o iluminare bună. Umbrele și lumina slabă pot obstrucționa limitele alimentelor și indicii de adâncime.
  6. Confirmă sau corectează ocazional. Folosirea unei balanțe de bucătărie o dată pe săptămână pentru a verifica estimarea AI ajută la calibrarea atât a sistemului, cât și a intuiției tale.

Întrebări frecvente

Cât de precisă este estimarea porțiilor AI comparativ cu utilizarea unei balanțe de bucătărie?

O balanță de bucătărie oferă o precizie de 1 până la 2 grame, ceea ce este mult mai precis decât orice metodă de estimare vizuală. Estimarea porțiilor de către AI din fotografii atinge, de obicei, o precizie de 15 până la 25 la sută din greutatea reală. Cu toate acestea, avantajul de comoditate al estimării AI (care durează 2 secunde față de 30 de secunde sau mai mult cu o balanță) înseamnă că mai mulți oameni urmăresc efectiv constant, ceea ce contează adesea mai mult pentru rezultatele pe termen lung decât precizia perfectă.

Afectează unghiul camerei precizia estimării porțiilor?

Da, semnificativ. Fotografii din unghiuri de sus (privind direct în jos la farfurie) oferă cea mai bună precizie deoarece arată întreaga suprafață a alimentelor cu distorsiune minimă a perspectivei. Fotografii realizate dintr-un unghi de 45 de grade sunt cele mai comune și produc în continuare estimări bune. Unghiurile foarte joase (aproape de nivelul mesei) sunt cele mai puțin precise, deoarece majoritatea alimentelor sunt occlude de marginea din față a farfuriei.

Poate AI să estimeze porțiile pentru lichide, cum ar fi supele și smoothie-urile?

Lichidele prezintă o provocare unică deoarece volumul lor este determinat de recipientul în care se află, nu de forma lor proprie. Sistemele AI estimează porțiile lichide prin identificarea tipului de recipient și a nivelului de umplere. O farfurie de supă umplută până la margine are un volum diferit față de una umplută pe jumătate. Precizia este, în general, bună atunci când recipientul are o formă standard, dar mai puțin fiabilă cu recipiente neobișnuite.

De ce uneori AI supraestimează sau subestimează porția mea?

Cauzele comune pentru supraestimare includ platingul dens care arată mai mare decât este, garniturile care adaugă volum vizual fără calorii semnificative și utilizarea farfurii mari care fac sistemul să presupună că este prezentă mai multă mâncare. Cauzele comune pentru subestimare includ alimente ascunse sub alte alimente, alimente dense și bogate în calorii care arată mici și stiluri de servire neobișnuite. Oferirea de feedback atunci când estimările sunt greșite ajută sistemul să se îmbunătățească.

Am nevoie de un telefon cu senzor LiDAR pentru o urmărire precisă a porțiilor?

Nu. Deși telefoanele echipate cu LiDAR pot oferi informații de adâncime mai precise, modelele moderne de AI pot estima adâncimea destul de bine dintr-o imagine standard. Diferența de precizie între telefoanele echipate cu LiDAR și cele standard s-a redus pe măsură ce estimarea adâncimii bazată pe software s-a îmbunătățit. Nutrola funcționează precis pe orice smartphone modern.

Cum gestionează sistemul alimentele care sunt stivuite sau stratificate?

Pentru alimentele vizibil stivuite, cum ar fi clătitele sau sandvișurile stratificate, sistemul poate număra straturile și estima grosimea din profilul lateral. Pentru alimentele cu straturi ascunse, cum ar fi lasagna sau burritos, sistemul se bazează pe modele de compoziție învățate care estimează structura internă tipică pe baza exteriorului vizibil și a tipului de farfurie.

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!