Kuinka tietokonenäkö tunnistaa ruokaa: Teknologia AI-kaloriseurannassa

Tutustu siihen, kuinka konvoluutiohermoverkot ja kuvien luokittelu mahdollistavat AI-ruoan tunnistuksen, jolloin sovellukset kuten Nutrola voivat muuttaa yksinkertaisen valokuvan tarkaksi kaloridataksi.

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

Kun osoitat puhelimesi kameraa ruokapöydälle ja saat heti kalorilaskelman, taustalla toimii monimutkainen tekoälyprosessi. Se, mikä tuntuu yksinkertaiselta napautukselta, sisältää konvoluutiohermoverkkoja, monilabel-kuvanklassifikaatiota ja vuosien tutkimusta tietokonenäöstä. Ymmärtäminen siitä, miten tämä teknologia toimii, auttaa selittämään, miksi AI-pohjainen kaloriseuranta on niin tarkkaa ja miksi se jatkaa kehittymistään.

Tässä artikkelissa pureudutaan ruokantunnistuksen AI:n ytimeen, perusasioista hermoverkoista aina siihen, miten haasteet ruokapöydän sisällön tunnistamisessa ratkaistaan.

Mikä on tietokonenäkö ja miksi se on tärkeää ravitsemuksessa?

Tietokonenäkö on tekoälyn osa-alue, joka opettaa koneita tulkitsemaan ja ymmärtämään visuaalista tietoa todellisesta maailmasta. Vaikka ihmiset erottavat vaivatta kaurapuurokulhon pastalautasesta, tietokoneen opettaminen samaan vaatii miljoonien merkittyjen kuvien käsittelyä ja matemaattisten mallien rakentamista visuaalisista kuvioista.

Ravitsemusseurannassa tietokonenäkö ratkaisee suurimman ongelman ruokavalion itsevalvonnassa: manuaalisen tietojen syöttämisen. Journal of the Academy of Nutrition and Dietetics -lehdessä julkaistut tutkimukset ovat osoittaneet, että manuaalinen ruokapäiväkirjan pitäminen johtaa kalorinsaannin aliraportointiin 10–45 prosenttia. Korvaamalla kirjoitetut kuvaukset valokuvalla, tietokonenäkö poistaa esteet, jotka saavat useimmat ihmiset luopumaan ruokaseurannasta ensimmäisten kahden viikon aikana.

Ongelman laajuus

Ruokantunnistus on yksi haastavimmista kuvanklassifikaatiohaasteista, johtuen valtavasta monimuotoisuudesta:

  • Maailman eri keittiöissä on tuhansia erilaisia ruokia
  • Sama ruoka voi näyttää dramaattisesti erilaiselta valmistustavasta riippuen
  • Valaistus, kulma ja tarjoilu vaikuttavat kaikki ulkonäköön
  • Useat ruoat jakavat usein lautasen, mikä vaatii samanaikaista tunnistamista
  • Annoskoot vaihtelevat jatkuvasti sen sijaan, että ne olisivat siististi luokiteltuja

Huolimatta näistä haasteista nykyaikaiset ruokantunnistusjärjestelmät saavuttavat yli 90 prosentin tarkkuuden top-5 -arvioissa standardeissa, mikä tarkoittaa, että oikea ruokaesine esiintyy järjestelmän viiden parhaan arvauksen joukossa yli yhdeksän kertaa kymmenestä.

Konvoluutiohermoverkot: Ruokantunnistuksen perusta

Lähes jokaisen ruokantunnistusjärjestelmän ytimessä on syväoppimisen arkkitehtuuri, jota kutsutaan konvoluutiohermoverkoksi (CNN). CNN:ien ymmärtäminen on avain siihen, miten puhelimesi voi katsoa kuvaa ja kertoa, että syöt kanan tikka masalaa basmatiriisin kanssa.

Kuinka CNN käsittelee kuvaa

CNN käsittelee kuvaa kerroksittain, joista jokainen on suunniteltu havaitsemaan yhä monimutkaisempia visuaalisia piirteitä:

Kerros 1 - Reunatunnistus: Ensimmäinen konvoluutiokerros oppii havaitsemaan yksinkertaisia reunoja ja väriasteikkoja. Se voi tunnistaa kulhon kaarevan reunan tai lihan ja kastikkeen rajan.

Kerros 2 - Pintarakenteen tunnistus: Syvemmät kerrokset yhdistävät reunoja tekstuureiksi. Verkko alkaa erottaa ruskean riisin jyväistä rakennetta valkoisen riisin sileästä pinnasta tai grillatun kanan kuitumaista rakennetta friteeratun kanan kiiltävästä pinnasta.

Kerros 3 - Muoto- ja kuviointunnistus: Korkeammat kerrokset kokoavat tekstuurit tunnistettaviksi muodoiksi ja kuvioiksi. Pyöreä muoto tietyllä tekstuurilla voidaan luokitella tortillaksi, kun taas pitkänomainen muoto eri tekstuurilla muuttuu leipätikuksi.

Kerros 4 - Esineiden tunnistus: Viimeiset konvoluutiokerrokset yhdistävät kaikki edeltävät tiedot tunnistaakseen kokonaisia ruokia. Verkko on oppinut, että tietty värin, tekstuurin, muodon ja kontekstin yhdistelmä vastaa tiettyä ruokaa.

Poolauksen ja ominaisuuskarttojen rooli

Konvoluutiokerrosten välissä poolauskerrokset vähentävät datan spatiaalista ulottuvuutta säilyttäen samalla tärkeimmät piirteet. Tämä palvelee kahta tarkoitusta: se tekee laskennasta hallittavaa ja tarjoaa tietyn asteisen siirrettävyyden, mikä tarkoittaa, että verkko voi tunnistaa ruokaesineen riippumatta siitä, missä se esiintyy kuvassa.

Jokaisen konvoluutiokerroksen tuotos tunnetaan ominaisuuskarttana. Varhaiset ominaisuuskartat tallentavat matalan tason tietoa, kuten reunoja ja värejä, kun taas myöhemmät ominaisuuskartat koodaavat korkeantason käsitteitä, kuten "tämä alue sisältää spagettia." Tyypillinen ruokantunnistusmalli tuottaa satoja näitä ominaisuuskarttoja jokaisessa kerroksessa.

Suositut CNN-arkkitehtuurit ruokantunnistuksessa

Arkkitehtuuri Vuosi Keskeinen innovaatio Tyypillinen käyttö ruokatekoälyssä
AlexNet 2012 Todisti, että syvät CNN:t toimivat suuressa mittakaavassa Varhaiset ruokantunnistustutkimukset
VGGNet 2014 Näytti, että syvyys on tärkeää Ominaisuuksien poiminta ruokadatasta
GoogLeNet/Inception 2014 Monitasoinen käsittely Tehokas mobiili ruokantunnistus
ResNet 2015 Jäännösliitännät erittäin syville verkoille Korkean tarkkuuden ruokaluokittelu
EfficientNet 2019 Tasapainotettu syvyyden, leveyden ja resoluution skaalaus Nykyaikaiset mobiili ruokantunnistussovellukset
Vision Transformers 2020 Itsehuomiomalli kuvapaloille Huipputason ruokantunnistustutkimus

Luokittelusta monilabel-tunnistukseen

Varhaiset ruokantunnistusjärjestelmät käsittelivät tehtävää yksinkertaisena luokitteluprosessina: annettuna yksi kuva, ennusta yksi ruokamerkki. Mutta todelliset ateriat ovat harvoin niin yksinkertaisia. Tyypillinen lounas voi sisältää pääproteiinia, lisäkkeenä vihanneksia, viljaa ja kastiketta, kaikki samalla lautasella.

Esineiden tunnistus monimutkaisilla lautasilla

Nykyaikaiset ruokantunnistusjärjestelmät käyttävät esineiden tunnistuskehyksiä, jotka voivat tunnistaa ja paikantaa useita ruokaesineitä yhdessä kuvassa. Nämä järjestelmät piirtävät raja-aitoja jokaisen erillisen ruokaesineen ympärille ja luokittelevat ne itsenäisesti.

Arkkitehtuurit kuten YOLO (You Only Look Once) ja Faster R-CNN on mukautettu ruokantunnistukseen. Nämä mallit jakavat kuvan ruudukkoon ja ennustavat sekä ruokaesineiden sijainnin että luokan samanaikaisesti, mahdollistaen reaaliaikaisen käsittelyn mobiililaitteilla.

Semanttinen segmentointi tarkkojen rajojen saavuttamiseksi

Entistä suuremman tarkkuuden saavuttamiseksi jotkut järjestelmät käyttävät semanttista segmentointia, joka luokittelee jokaisen pikselin kuvassa tiettyyn ruokakategoriaan. Tämä on erityisen hyödyllistä sekoitetuissa ruokalajeissa, kuten salaateissa tai wokkeissa, joissa eri ainesosat limittyvät ja sekoittuvat.

Nutrola Snap & Track -ominaisuus käyttää näiden lähestymistapojen yhdistelmää. Kun otat valokuvan ateriastasi, järjestelmä ensin havaitsee yksittäiset ruoka-alueet, sitten luokittelee jokaisen ja lopuksi arvioi kunkin esineen määrän. Tämä monivaiheinen prosessi mahdollistaa järjestelmän käsitellä kaikkea yksinkertaisesta banaanista monimutkaiseen monen ruokalajin ateriaan.

Koulutusdata: Polttoaine tarkalle ruokantunnistukselle

Ruokantunnistusmalli on yhtä hyvä kuin se data, jolla se on koulutettu. Korkealaatuisen ruokakuvadatan kokoaminen on yksi haastavimmista ja resursseja vaativimmista osa-alueista ruokatekoälyn kehittämisessä.

Julkiset vertailudatat

Useat julkiset tietokannat ovat edistäneet ruokantunnistustutkimusta:

  • Food-101: Sisältää 101 000 kuvaa 101 ruokakategoriasta, laajasti käytetty vertailuna
  • ISIA Food-500: Kattaa 500 ruokakategoriaa 400 000 kuvalla, tarjoten laajempaa kattavuutta
  • UEC Food-256: Japanilainen ruokadatasto, jossa on 256 kategoriaa, tärkeä aasialaisen keittiön kattavuuden vuoksi
  • Nutrition5k: Parittaa ruokakuvia tarkkojen ravitsemusmittausten kanssa laboratoriotilanteessa

Ongelma todellisen maailman monimuotoisuudessa

Julkiset tietokannat, vaikka arvokkaita tutkimuksessa, eivät täysin edusta sitä monimuotoisuutta, jota ihmiset syövät ympäri maailmaa. Malli, joka on koulutettu pääasiassa lännen keittiöön, kamppailee kaakkois-aasialaisten ruokien kanssa ja päinvastoin. Siksi tuotantotason ruokantunnistusjärjestelmät täydentävät julkisia tietokantoja omilla käyttäjäkunnilta kerätyillä tiedoilla.

Nutrola palvelee käyttäjiä yli 50 maassa, mikä tarkoittaa, että järjestelmä kohtaa päivittäin valtavan monimuotoisuuden keittiöitä. Tämä globaali käyttäjäkunta tarjoaa jatkuvan virran todellisia ruokakuvia, jotka auttavat mallia parantamaan tunnistustaan kaikissa keittiöissä ajan myötä.

Datan laajentamistekniikat

Koulutusdatan keinotekoisen laajentamisen ja mallin kestävyyden parantamiseksi insinöörit soveltavat erilaisia datan laajentamistekniikoita:

  • Kääntäminen ja kääntäminen: Varmistaa, että malli tunnistaa ruoan mistä tahansa kulmasta
  • Värin häilyttäminen: Simuloi erilaisia valaistusolosuhteita
  • Satunnainen rajaus: Opettaa mallia tunnistamaan osittaisia näkymiä ruoasta
  • Cutout ja mixup: Edistyneet tekniikat, jotka pakottavat mallin keskittymään useisiin erottaviin alueisiin sen sijaan, että se luottaisi yhteen visuaaliseen vihjeeseen

Kuinka Nutrola Snap & Track -teknologia toimii

Nutrola Snap & Track -ominaisuus yhdistää kaikki nämä teknologiat saumattomaksi käyttäjäkokemukseksi. Tässä on, mitä tapahtuu noin kahden sekunnin aikana valokuvan ottamisen ja kalorilaskelman näkemisen välillä:

  1. Kuvan esikäsittely: Valokuva muutetaan ja normalisoidaan hermoverkon odottamaan muotoon. Valaistus- ja väri-korjauksia sovelletaan syötteen standardoimiseksi.

  2. Ruoan tunnistus: Esineiden tunnistusmalli havaitsee erilliset ruoka-alueet kuvassa ja piirtää raja-aitoja jokaisen ympärille.

  3. Luokittelu: Jokainen havaittu alue siirretään luokittelumallin läpi, joka tunnistaa tietyn ruokaesineen. Järjestelmä ottaa huomioon parhaat ehdokkaat ja niiden luottamusarvot.

  4. Annosarviointi: Erillinen malli arvioi jokaisen tunnistetun ruokaesineen tilavuuden ja painon visuaalisten vihjeiden ja viitekokojen perusteella (lisätietoja tästä löytyy kumppanijutustamme annoskokoarvioinnista).

  5. Ravitsemustietojen haku: Tunnistetut ruoat ja arvioidut annoskoot yhdistetään kattavaan ravitsemustietokantaan kalorien, makroravinteiden ja mikroravinteiden laskemiseksi.

  6. Käyttäjän vahvistus: Tulokset esitetään käyttäjälle, joka voi vahvistaa tai korjata tunnistukset. Tämä palautesilmukka parantaa jatkuvasti mallia.

Koko tämä prosessi tapahtuu alle kahdessa sekunnissa, mikä tekee siitä nopeampaa kuin "grillattu kananrinta" kirjoittaminen hakupalkkiin ja kymmenien tulosten selaaminen.

Haasteet ruokantunnistus-AI:ssa

Huolimatta merkittävästä edistyksestä, ruokantunnistus-AI kohtaa edelleen useita haasteita, joita tutkijat ja insinöörit työskentelevät aktiivisesti ratkaistakseen.

Visuaalisesti samankaltaiset ruoat

Jotkut ruoat näyttävät lähes identtisiltä valokuvissa, mutta niillä on hyvin erilaiset ravitsemusprofiilit. Valkoinen riisi ja kukkakaaliriisi, tavallinen pasta ja täysjyväpasta sekä täysrasvainen ja vähärasvainen juusto ovat esimerkkejä visuaalisesti samankaltaisista ruoista, jotka eroavat merkittävästi kaloreissa ja makroravinteissa.

Nykyiset järjestelmät käsittelevät tätä yhdistämällä kontekstuaalisia vihjeitä (mikä muu on lautasella), käyttäjän historiaa (mitä joku tyypillisesti syö) ja kysymällä käyttäjältä vahvistusta, kun luottamus on alhainen.

Sekoitettuja ja kerroksellisia ruokia

Burrito, voileipä tai kerroksellinen laatikko tarjoaa perustavanlaatuisen ongelman: suurin osa ainesosista on piilossa. AI voi nähdä tortillan, mutta ei papuja, juustoa, hapankermaa ja riisiä sen sisällä.

Tämän ratkaisemiseksi mallit oppivat tyypillisen koostumuksen yleisistä ruokalajeista. Kun järjestelmä tunnistaa burriton, se voi päätellä todennäköiset sisäiset ainesosat näkyvän ulkokuoren ja yleisten valmistustapojen perusteella. Käyttäjät voivat sitten säätää tarvittaessa erityisiä täytteitä.

Valaistus- ja ympäristöolosuhteet

Hämärä ravintolavalaistus, kova salama ja väriltään vääristynyt ympäristön valo voivat kaikki vaikuttaa ruoan ulkonäköön. Keltainen valaistus voi saada valkoisen riisin näyttämään sahramiriisiltä, kun taas sinertävä valaistus voi saada punaisen lihan näyttämään ruskealta.

Nykyaikaiset järjestelmät käsittelevät tätä datan laajentamisen ja värinvakaiden ominaisuuksien rakentamisen avulla, jotka keskittyvät enemmän tekstuuriin ja muotoon kuin absoluuttisiin väriarvoihin.

Ruokantunnistusteknologian tulevaisuus

Ruokantunnistus-AI kehittyy nopeasti. Useat nousevat trendit viittaavat siihen, että tulevaisuudessa järjestelmät tulevat entistä kykenevämmiksi:

Videopohjainen tunnistus: Tulevaisuuden järjestelmät saattavat analysoida lyhyitä videoleikkeitä ateriasta yhden kuvan sijaan, tallentaen useita kulmia ja parantaen tarkkuutta.

Lisätty todellisuus -yliopistot: AR voisi tarjota reaaliaikaista ravitsemustietoa, kun skannaat buffetia tai ravintolan ruokalistaa, auttaen sinua tekemään tietoisia valintoja ennen syömistä.

Monimodaaliset mallit: Yhdistämällä visuaalisen tunnistuksen tekstin (ruokalistat, ainesosaluettelot) ja jopa äänen (kysymällä käyttäjältä "lisäsitkö kastiketta?") saadaksesi täydellisemmän käsityksen ateriasta.

Laitteistopohjainen käsittely: Kun mobiilisuorittimet kehittyvät tehokkaammiksi, yhä suurempi osa AI-käsittelystä voi tapahtua suoraan puhelimessa ilman, että kuvia lähetetään palvelimelle, parantaen nopeutta ja yksityisyyttä.

Ainesosatason tunnistus: Siirtyminen ruokalajitason luokittelusta yksittäisten ainesosien ja niiden arvioitujen määrien tunnistamiseen, mahdollistaen tarkempia ravitsemuslaskelmia.

Miksi tarkkuus paranee jatkuvasti

Yksi rohkaisevimmista asioista ruokantunnistus-AI:ssa on sen sisäänrakennettu parannusmekanismi. Joka kerta, kun käyttäjä ottaa valokuvan ja vahvistaa tai korjaa tuloksen, järjestelmä saa merkittyä datan. Kun miljoonat käyttäjät kirjaavat aterioita päivittäin, tuotantojärjestelmät kuten Nutrola keräävät koulutusdataa nopeudella, jota akateeminen tutkimus ei voi saavuttaa.

Tämä luo hyveen kierteen: parempi tarkkuus johtaa enemmän käyttäjiin, enemmän käyttäjiä tuottaa enemmän dataa, enemmän dataa mahdollistaa paremman tarkkuuden. Siksi ruokantunnistus, jonka koet tänään, on merkittävästi parempi kuin mitä oli saatavilla edes vuosi sitten, ja se tulee jatkossakin parantumaan.

UKK

Kuinka tarkka AI-ruokantunnistus on verrattuna manuaaliseen kirjaamiseen?

Tutkimukset ovat osoittaneet, että AI-ruokantunnistus voi saavuttaa yli 90 prosentin tarkkuuden yleisille ruoille, mikä on verrattavissa tai jopa parempaa kuin koulutettujen ravitsemusterapeuttien manuaalisesti arvioidessa annoksia. Manuaalinen kirjaaminen ei-asiantuntijoiden toimesta aliraportoi yleensä kalorinsaantia 10–45 prosenttia, mikä tekee AI-avusteisesta kirjaamisesta luotettavampaa useimmille ihmisille.

Voiko AI-ruokantunnistus toimia eri maiden keittiöissä?

Kyllä, vaikka tarkkuus vaihtelee keittiöittäin käytettävissä olevan koulutusdatan mukaan. Järjestelmät kuten Nutrola, jotka palvelevat globaalia käyttäjäkuntaa yli 50 maassa, parantavat jatkuvasti tunnistustaan monimuotoisista keittiöistä, kun ne keräävät lisää dataa käyttäjiltä ympäri maailmaa. Mitä enemmän tiettyä keittiötä on edustettuna koulutusdatassa, sitä tarkempi tunnistus siitä tulee.

Toimiiko ruokantunnistus-AI offline-tilassa?

Se riippuu toteutuksesta. Jotkut sovellukset käsittelevät kuvia laitteessa optimoitujen mallien avulla, mikä toimii offline-tilassa, mutta saattaa uhrauttaa jonkin verran tarkkuutta. Toiset lähettävät kuvia pilvipalvelimille käsiteltäväksi, mikä vaatii internet-yhteyden, mutta voi käyttää suurempia ja tarkempia malleja. Monet nykyaikaiset sovellukset käyttävät hybridilähestymistapaa, suorittaen alkuperäisen tunnistuksen laitteessa ja tarkentamalla tuloksia pilvikäsittelyn avulla, kun se on saatavilla.

Kuinka AI käsittelee kotiruokia, jotka eivät vastaa ravintolaruokia?

Nykyaikaiset ruokantunnistusjärjestelmät on koulutettu sekä ravintola- että kotiruokakuvilla. Ne tunnistavat yksittäiset komponentit sen sijaan, että yrittäisivät sovittaa täydellistä ruokalajia tietokannan merkintään. Joten kotona valmistettu wokki puretaan näkyviin komponentteihin (kana, parsakaali, riisi, kastike) sen sijaan, että se sovitettaisiin yhteen ruokalistakohteeseen.

Säilytetäänkö ruokakuvieni tiedot yksityisinä?

Yksityisyyskäytännöt vaihtelevat sovelluksesta toiseen. Nutrola on sitoutunut käyttäjien yksityisyyteen ja käyttää ruokakuvia ainoastaan ravitsemusanalyysin ja mallin parantamisen tarkoituksiin. Kuvia käsitellään turvallisesti eikä niitä jaeta kolmansille osapuolille. Käyttäjät voivat tarkistaa yksityisyyskäytännön saadakseen täydelliset tiedot datan käsittelykäytännöistä.

Mitä tapahtuu, kun AI tunnistaa ruoan väärin?

Kun AI tunnistaa ruoan väärin, käyttäjät voivat korjata tuloksen valitsemalla oikean kohteen luettelosta tai kirjoittamalla oikean ruoan. Tämä korjaus toimii arvokkaana koulutusdatana, joka auttaa mallia parantumaan ajan myötä. Mitä enemmän korjauksia järjestelmä saa tietylle ruoalle, sitä nopeammin sen tarkkuus paranee kyseisessä kohteessa.

Valmis muuttamaan ravitsemusseurantaasi?

Liity tuhansien joukkoon, jotka ovat muuttaneet terveysmatkansa Nutrola avulla!