Cum identifică viziunea computerizată alimentele: Tehnologia din spatele urmăririi caloriilor cu AI

Află cum rețelele neuronale convoluționale și clasificarea imaginilor stau la baza recunoașterii alimentelor de către AI, permițând aplicațiilor precum Nutrola să transforme o simplă fotografie în date precise despre calorii.

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

De fiecare dată când îți îndrepți camera telefonului spre o farfurie de mâncare și primești instantaneu o analiză a caloriilor, o rețea sofisticată de procese de inteligență artificială funcționează în fundal. Ceea ce pare a fi o simplă atingere implică rețele neuronale convoluționale, clasificarea imaginilor pe mai multe etichete și ani de cercetări în domeniul viziunii computerizate. Înțelegerea modului în care funcționează această tehnologie ajută la explicarea de ce urmărirea caloriilor cu ajutorul AI a devenit atât de precisă și de ce continuă să se îmbunătățească.

Acest articol descompune tehnologia de bază din spatele recunoașterii alimentelor cu AI, de la elementele fundamentale ale rețelelor neuronale până la provocările specifice de inginerie în identificarea a ceea ce se află pe farfuria ta.

Ce este viziunea computerizată și de ce contează pentru nutriție?

Viziunea computerizată este o ramură a inteligenței artificiale care antrenează mașinile să interpreteze și să înțeleagă informațiile vizuale din lumea reală. În timp ce oamenii pot distinge fără efort o bol de ovăz de o farfurie cu paste, învățarea unui computer să facă același lucru necesită procesarea a milioane de imagini etichetate și construirea de modele matematice ale tiparelor vizuale.

Pentru urmărirea nutrițională, viziunea computerizată rezolvă cea mai mare problemă în auto-monitorizarea dietei: problema introducerii manuale a datelor. Cercetările publicate în Journal of the Academy of Nutrition and Dietetics au arătat că înregistrarea manuală a alimentelor duce la subestimarea consumului de calorii cu 10 până la 45 de procente. Prin înlocuirea descrierilor tastate cu o fotografie, viziunea computerizată elimină fricțiunea care îi determină pe cei mai mulți oameni să abandoneze urmărirea alimentelor în primele două săptămâni.

Scala problemei

Recunoașterea alimentelor este considerată una dintre cele mai dificile provocări de clasificare a imaginilor din cauza diversității implicate:

  • Există mii de feluri de mâncare distincte în diverse bucătării globale
  • Același aliment poate arăta dramatic diferit în funcție de metoda de preparare
  • Iluminarea, unghiul și prezentarea afectează toate aspectul
  • Multe alimente sunt adesea servite pe aceeași farfurie, necesitând identificarea simultană
  • Dimensiunile porțiilor variază continuu, fără a se încadra în categorii clare

În ciuda acestor provocări, sistemele moderne de recunoaștere a alimentelor ating rate de acuratețe de peste 90% în primele cinci sugestii pe standarde de referință, ceea ce înseamnă că alimentul corect apare în primele cinci sugestii ale sistemului de peste nouă ori din zece.

Rețele neuronale convoluționale: Fundamentul recunoașterii alimentelor

La baza aproape tuturor sistemelor de recunoaștere a alimentelor se află un tip de arhitectură de învățare profundă numită rețea neuronală convoluțională, sau CNN. Înțelegerea CNN-urilor este esențială pentru a înțelege cum telefonul tău poate analiza o fotografie și să îți spună că mănânci chicken tikka masala cu orez basmati.

Cum procesează o CNN o imagine

O CNN procesează o imagine printr-o serie de straturi, fiecare dintre ele fiind conceput pentru a detecta caracteristici vizuale din ce în ce mai complexe:

Stratul 1 - Detectarea marginilor: Primul strat convoluțional învață să detecteze margini simple și nuanțe de culoare. Acesta poate recunoaște marginea curbată a unei bol sau limita dintre o bucată de carne și sosul său.

Stratul 2 - Recunoașterea texturii: Straturile mai adânci combină marginile în texturi. Rețeaua începe să distingă textura granuloasă a orezului brun de suprafața netedă a orezului alb sau textura fibrosă a puiului la grătar de luciul crocant al puiului prăjit.

Stratul 3 - Recunoașterea formelor și a tiparelor: Straturile superioare asamblează texturile în forme și tipare recognoscibile. O formă circulară cu o textură specifică ar putea fi clasificată ca o tortilla, în timp ce o formă alungită cu o textură diferită devine un breadstick.

Stratul 4 - Recunoașterea obiectelor: Straturile finale convoluționale combină toate informațiile anterioare pentru a recunoaște alimente complete. Rețeaua a învățat că o combinație specifică de culoare, textură, formă și context corespunde unui anumit aliment.

Rolul pooling-ului și al hărților de caracteristici

Între straturile convoluționale, straturile de pooling reduc dimensiunile spațiale ale datelor, păstrând în același timp cele mai importante caracteristici. Acest lucru servește două scopuri: face calculul gestionabil și oferă un grad de invariabilitate la translatare, ceea ce înseamnă că rețeaua poate recunoaște un aliment indiferent de locul în care apare în cadru.

Ieșirea fiecărui strat convoluțional se numește hartă de caracteristici. Hărțile de caracteristici timpurii captează informații de nivel scăzut, cum ar fi marginile și culorile, în timp ce hărțile de caracteristici ulterioare codifică concepte de nivel înalt, cum ar fi „această zonă conține spaghete”. Un model tipic de recunoaștere a alimentelor generează sute de astfel de hărți de caracteristici la fiecare strat.

Arhitecturi CNN populare utilizate în recunoașterea alimentelor

Arhitectură An Inovație cheie Utilizare tipică în AI-ul alimentar
AlexNet 2012 A demonstrat că CNN-urile profunde funcționează la scară Cercetare timpurie în recunoașterea alimentelor
VGGNet 2014 A arătat că adâncimea contează Extracția de caracteristici pentru seturi de date alimentare
GoogLeNet/Inception 2014 Procesare multi-scală Recunoaștere eficientă a alimentelor pe dispozitive mobile
ResNet 2015 Conexiuni reziduale pentru rețele foarte adânci Clasificare de înaltă acuratețe a alimentelor
EfficientNet 2019 Scalare echilibrată a adâncimii, lățimii, rezoluției Aplicații moderne de recunoaștere a alimentelor pe mobile
Vision Transformers 2020 Auto-atentia pentru patch-uri de imagine Cercetare de vârf în recunoașterea alimentelor

De la clasificare la detecția multi-etichetei

Sistemele timpurii de recunoaștere a alimentelor tratat sarcina ca pe o problemă simplă de clasificare: dată o imagine, prezice un singur eticheta alimentului. Dar mesele reale sunt rareori atât de simple. Un prânz tipic ar putea conține o proteină principală, o garnitură de legume, un aliment de bază și un sos, toate pe aceeași farfurie.

Detecția obiectelor pentru farfurii complexe

Sistemele moderne de recunoaștere a alimentelor folosesc cadre de detecție a obiectelor care pot identifica și localiza mai multe alimente într-o singură imagine. Aceste sisteme trasează cutii de delimitare în jurul fiecărui aliment distinct și le clasifică independent.

Arhitecturi precum YOLO (You Only Look Once) și Faster R-CNN au fost adaptate pentru detecția alimentelor. Aceste modele împart imaginea într-o grilă și prezic simultan atât locația, cât și clasa alimentelor, permițând procesarea în timp real pe dispozitive mobile.

Segmentarea semantică pentru limite precise

Pentru o precizie și mai mare, unele sisteme folosesc segmentarea semantică, care clasifică fiecare pixel din imagine ca aparținând unei categorii alimentare specifice. Acest lucru este deosebit de util pentru preparatele mixte, cum ar fi salatele sau stir-fry-urile, unde ingredientele diferite se suprapun și se amestecă.

Funcția Snap & Track de la Nutrola folosește o combinație a acestor abordări. Atunci când fotografiezi masa ta, sistemul detectează mai întâi regiunile individuale de alimente, apoi le clasifică și, în final, estimează cantitatea fiecărui element prezent. Această conductă în mai multe etape permite sistemului să gestioneze totul, de la o banană simplă până la o masă complexă cu mai multe feluri.

Datele de antrenament: Combustibilul din spatele recunoașterii precise a alimentelor

Un model de recunoaștere a alimentelor este la fel de bun ca datele pe care a fost antrenat. Construirea unui set de date de imagini alimentare de înaltă calitate este unul dintre cele mai provocatoare și consumatoare de resurse aspecte ale dezvoltării AI-ului alimentar.

Seturi de date publice de referință

Mai multe seturi de date publice au condus progresul în cercetarea recunoașterii alimentelor:

  • Food-101: Conține 101.000 de imagini din 101 categorii alimentare, utilizat pe scară largă ca referință
  • ISIA Food-500: Acoperă 500 de categorii alimentare cu 400.000 de imagini, oferind o acoperire mai largă
  • UEC Food-256: Un set de date japonez cu 256 de categorii, important pentru acoperirea bucătăriei asiatice
  • Nutrition5k: Asociază imagini alimentare cu măsurători nutriționale precise dintr-un mediu de laborator

Provocarea diversității din lumea reală

Seturile de date publice, deși valoroase pentru cercetare, nu reprezintă pe deplin diversitatea alimentelor pe care oamenii le consumă în întreaga lume. Un model antrenat în principal pe bucătăria occidentală va avea dificultăți cu preparatele din sud-estul Asiei și invers. De aceea, sistemele de recunoaștere a alimentelor din producție completează seturile de date publice cu date proprietare colectate de la baza lor de utilizatori.

Nutrola servește utilizatori din peste 50 de țări, ceea ce înseamnă că sistemul se confruntă zilnic cu o diversitate enormă de bucătării. Această bază globală de utilizatori oferă un flux continuu de imagini alimentare din lumea reală care ajută modelul să își îmbunătățească recunoașterea în toate bucătăriile de-a lungul timpului.

Tehnici de augmentare a datelor

Pentru a extinde artificial datele de antrenament și a îmbunătăți robustetea modelului, inginerii aplică diverse tehnici de augmentare a datelor:

  • Rotire și răsturnare: Asigură că modelul recunoaște alimentele din orice unghi
  • Modificarea culorii: Simulează diferite condiții de iluminare
  • Decupare aleatorie: Îi învață modelului să recunoască vederi parțiale ale alimentelor
  • Cutout și mixup: Tehnici avansate care forțează modelul să se concentreze pe mai multe regiuni discriminative în loc să se bazeze pe un singur indiciu vizual

Cum funcționează tehnologia Snap & Track de la Nutrola

Funcția Snap & Track de la Nutrola reunește toate aceste tehnologii într-o experiență utilizator fără cusur. Iată ce se întâmplă în cele aproximativ două secunde dintre realizarea unei fotografii și vizualizarea analizei caloriilor:

  1. Preprocesarea imaginii: Fotografia este redimensionată și normalizată la formatul așteptat de rețeaua neuronală. Se aplică corecții de iluminare și culoare pentru a standardiza inputul.

  2. Detectarea alimentelor: Un model de detecție a obiectelor identifică regiunile distincte de alimente din imagine și trasează cutii de delimitare în jurul fiecărei regiuni.

  3. Clasificarea: Fiecare regiune detectată este trecută printr-o rețea de clasificare care identifică alimentul specific. Sistemul ia în considerare cei mai buni candidați și scorurile lor de încredere.

  4. Estimarea porțiilor: Un model separat estimează volumul și greutatea fiecărui aliment identificat pe baza indiciilor vizuale și a dimensiunilor de referință (mai multe detalii în articolul nostru complementar despre estimarea dimensiunii porțiilor).

  5. Căutarea nutrițională: Alimentele identificate și porțiile estimate sunt comparate cu o bază de date nutriționale cuprinzătoare pentru a calcula caloriile, macronutrienții și micronutrienții.

  6. Verificarea utilizatorului: Rezultatele sunt prezentate utilizatorului, care poate confirma sau corecta identificările. Acest ciclu de feedback îmbunătățește continuu modelul.

Întreaga conductă se desfășoară în mai puțin de două secunde, făcând-o mai rapidă decât tastarea „piept de pui la grătar” într-o bară de căutare și derularea prin zeci de rezultate.

Provocările în AI-ul de recunoaștere a alimentelor

În ciuda progreselor remarcabile, AI-ul de recunoaștere a alimentelor se confruntă în continuare cu mai multe provocări la care cercetătorii și inginerii lucrează activ pentru a găsi soluții.

Alimente vizual similare

Unele alimente arată aproape identic în fotografii, dar au profile nutriționale foarte diferite. Orezul alb și orezul de conopidă, pastele obișnuite și pastele din grâu integral, precum și brânza integrală și brânza cu conținut scăzut de grăsimi sunt toate exemple de alimente vizual similare care diferă semnificativ în calorii și macronutrienți.

Sistemele actuale gestionează acest lucru printr-o combinație de indicii contextuale (ce altceva se află pe farfurie), istoricul utilizatorului (ce mănâncă de obicei) și prin solicitarea utilizatorului de a confirma atunci când încrederea este scăzută.

Preparatele mixte și stratificate

Un burrito, un sandviș sau o casserole stratificată prezintă o problemă fundamentală: majoritatea ingredientelor sunt ascunse de vedere. AI-ul poate vedea tortilla, dar nu și fasolele, brânza, smântâna și orezul din interior.

Pentru a aborda acest lucru, modelele învață compoziția tipică a preparatelor comune. Atunci când sistemul identifică un burrito, poate deduce ingredientele interne probabile pe baza exteriorului vizibil și a metodelor de preparare comune. Utilizatorii pot ajusta apoi umpluturile specifice după cum este necesar.

Condiții de iluminare și mediu

Iluminarea slabă din restaurante, flash-ul puternic și lumina ambientală colorată pot afecta aspectul alimentelor. Iluminarea galbenă poate face ca orezul alb să arate ca un orez cu șofran, în timp ce lumina cu tentă albastră poate face ca carnea roșie să pară maronie.

Sistemele moderne abordează acest lucru prin augmentarea datelor de antrenament și prin construirea de caracteristici invariabile la culoare care se concentrează mai mult pe textură și formă decât pe valorile absolute ale culorii.

Viitorul tehnologiei de recunoaștere a alimentelor

AI-ul de recunoaștere a alimentelor evoluează rapid. Mai multe tendințe emergente indică spre sisteme și mai capabile în viitorul apropiat:

Recunoașterea bazată pe video: În loc să analizeze o singură fotografie, sistemele viitoare ar putea analiza un scurt videoclip al unei mese, capturând multiple unghiuri și îmbunătățind acuratețea.

Suprapunerile de realitate augmentată: AR ar putea oferi informații nutriționale în timp real în timp ce scanezi un bufet sau un meniu de restaurant, ajutându-te să iei decizii informate înainte de a mânca.

Modele multimodale: Combinarea recunoașterii vizuale cu textul (meniuri, liste de ingrediente) și chiar audio (întrebând utilizatorul „ai adăugat dressing?”) pentru o înțelegere mai completă a mesei.

Procesare pe dispozitiv: Pe măsură ce procesoarele mobile devin mai puternice, mai mult din procesarea AI poate avea loc direct pe telefon fără a trimite imagini către un server, îmbunătățind viteza și confidențialitatea.

Recunoașterea la nivel de ingredient: Trecerea de la clasificarea la nivel de fel de mâncare pentru a identifica ingrediente individuale și cantitățile lor aproximative, permițând calcule nutriționale mai precise.

De ce acuratețea continuă să îmbunătățească

Unul dintre cele mai încurajatoare aspecte ale AI-ului de recunoaștere a alimentelor este mecanismul său încorporat de îmbunătățire. De fiecare dată când un utilizator face o fotografie și confirmă sau corectează rezultatul, sistemul primește un punct de date etichetat. Cu milioane de utilizatori care înregistrează mese zilnic, sistemele de producție precum Nutrola acumulează date de antrenament într-un ritm pe care cercetarea academică nu îl poate egala.

Acest lucru creează un ciclu virtuos: o acuratețe mai bună duce la mai mulți utilizatori, mai mulți utilizatori generează mai multe date, iar mai multe date permit o acuratețe mai bună. De aceea, recunoașterea alimentelor pe care o experimentezi astăzi este semnificativ mai bună decât ceea ce era disponibil chiar și acum un an și va continua să se îmbunătățească.

Întrebări frecvente

Cât de precisă este recunoașterea alimentelor cu AI comparativ cu înregistrarea manuală?

Studiile au arătat că recunoașterea alimentelor cu AI poate atinge rate de acuratețe de peste 90% pentru alimentele comune, ceea ce este comparabil sau mai bun decât acuratețea dieteticienilor antrenați care estimează manual porțiile. Înregistrarea manuală de către neexperți subraportează de obicei consumul de calorii cu 10 până la 45 de procente, făcând înregistrarea asistată de AI mai fiabilă pentru majoritatea oamenilor.

Poate recunoașterea alimentelor cu AI să funcționeze cu bucătării din întreaga lume?

Da, deși acuratețea variază în funcție de bucătărie, în funcție de datele de antrenament disponibile. Sistemele precum Nutrola, care servesc o bază globală de utilizatori din 50 sau mai multe țări, îmbunătățesc continuu recunoașterea diverselor bucătării pe măsură ce colectează mai multe date de la utilizatori din întreaga lume. Cu cât o bucătărie este mai bine reprezentată în datele de antrenament, cu atât recunoașterea devine mai precisă.

Funcționează AI-ul de recunoaștere a alimentelor offline?

Depinde de implementare. Unele aplicații procesează imaginile pe dispozitiv folosind modele optimizate, ceea ce funcționează offline, dar poate sacrifica o parte din acuratețe. Altele trimit imaginile către servere cloud pentru procesare, ceea ce necesită o conexiune la internet, dar pot folosi modele mai mari și mai precise. Multe aplicații moderne folosesc o abordare hibridă, realizând recunoașterea inițială pe dispozitiv și rafinând rezultatele cu procesarea în cloud atunci când este disponibilă.

Cum gestionează AI-ul mesele gătite acasă care nu se potrivesc cu preparatele din restaurante?

Sistemele moderne de recunoaștere a alimentelor sunt antrenate atât pe imagini de alimente din restaurante, cât și pe cele din gătitul acasă. Ele identifică componentele individuale în loc să încerce să potrivească un fel de mâncare complet cu o intrare din baza de date. Astfel, un stir-fry gătit acasă ar fi descompus în componentele sale vizibile (pui, broccoli, orez, sos) în loc să fie potrivit cu un singur articol din meniu.

Datele mele despre fotografiile alimentelor sunt păstrate private?

Politicile de confidențialitate variază în funcție de aplicație. Nutrola este angajată în protejarea confidențialității utilizatorilor și folosește imaginile alimentelor exclusiv în scopul analizei nutriționale și îmbunătățirii modelului. Imaginile sunt procesate în siguranță și nu sunt partajate cu terțe părți. Utilizatorii pot consulta politica de confidențialitate pentru detalii complete despre practicile de gestionare a datelor.

Ce se întâmplă când AI-ul greșește o identificare a alimentului?

Când AI-ul identifică greșit un aliment, utilizatorii pot corecta rezultatul selectând articolul corect dintr-o listă sau tastând alimentul corect. Această corectare servește ca un punct de date valoros pentru antrenarea modelului, ajutându-l să se îmbunătățească în timp. Cu cât un sistem primește mai multe corecturi pentru un anumit aliment, cu atât acuratețea sa pentru acel articol crește mai repede.

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!