8,790 Views
•
13:19 min
•
March 13, 2021
DOI:
På grunn av problemer og kostnader forbundet med manuelle kostholdsvurdering tilnærminger automatiserte løsninger er nødvendig for å lette og fremskynde arbeidet og øke kvaliteten. I dag kan automatiserte løsninger registrere en persons diettinntak på en mye enklere måte, for eksempel ved å ta et bilde med et smarttelefonkamera. I denne artikkelen vil vi fokusere på slike bildebaserte tilnærminger til kostholdsvurdering ved hjelp av dype nevrale nettverk, som representerer toppmoderne i feltet.
Spesielt vil vi presentere tre løsninger, en for matbildegjenkjenning, en for bildesegmentering av matkopier, eller falsk mat, og en for bildesegmentering av ekte mat. Samle en liste over ulike matvarer og drikkevarer som vil være utgangene på matbildegjenkjenningsmodellen. Lagre mat- og drikkelisten i en tekstfil, for eksempel TXT eller CSV.
Legg merke til at tekstfilen som brukes av forfatterne av denne artikkelen kan bli funnet i tilleggsfilene under matvarer dot TXT og inneholder en liste over 520 slovenske matvarer. Skriv eller last ned et Python-skript som bruker Googles api for egendefinert søk til å laste ned bilder av hvert matelement fra listen og lagre dem i en egen mappe for hver matvare. Vær oppmerksom på at Python-skriptet som brukes av forfatterne av denne artikkelen, finner du i tilleggsfilene under nedlasting av bilder dot pi.
Hvis dette skriptet brukes utviklernøkkel variabel utvikler nøkkellinje åtte i Python skriptkode og tilpasset søkemotor-ID variabel CX linje 28 i Python skriptkoden må erstattes med verdier som er spesifikke for Google-kontoen som brukes. Kjør Python-skriptet fra trinn 1.1.3. Opprett en ny versjon av hvert bilde fra matbildedatasettet ved å rotere det med 90 grader ved hjelp av CLoDSA-biblioteket.
Vær oppmerksom på at Python-skriptet som inneholder alle CLoDSA-kommandoene som brukes av forfatterne av denne artikkelen, finnes i en fil som er inkludert i tilleggsfilene under NutriNet understreker augmentation dot pi. Opprett en ny versjon av hvert bilde fra matbildedatasettet ved å rotere det med 180 grader ved hjelp av CLoDSA-biblioteket. Opprett en ny versjon av hvert bilde fra matbildedatasettet ved å rotere det med 270 grader ved hjelp av CLoDSA-biblioteket.
Opprett en ny versjon av hvert bilde fra matbildedatasettet ved å vende det horisontalt ved hjelp av CLoDSA-biblioteket. Opprett en ny versjon av hvert bilde fra matbildedatasettet ved å legge til tilfeldig fargestøy i det ved hjelp av CLoDSA-biblioteket. Opprett en ny versjon av hvert bilde fra matbildedatasettet ved å zoome inn i det med 25 % ved hjelp av CLoDSA-biblioteket.
Lagre bilder fra trinn 1.3.1 til 1.3.6 sammen med de opprinnelige bildene i et nytt datasett for matbilde. Totalt syv varianter per matbilde. Importer datasettet for matbilde fra trinn 1.3.7 til NVIDI-sifremiljøet, og del datasettet i undersett for opplæring, validering og testing.
Kopier og lim inn definisjonsteksten til NutriNet-arkitekturen i NVIDIA-sifre. Legg merke til at NutriNet arkitekturdefinisjonen finnes i tilleggsfilene under NutriNet dot proto TXT. Du kan eventuelt definere treningshyperparametere i NVIDIA-sifre eller bruke standardverdiene.
Hyper-parametrene som brukes av forfatterne av denne artikkelen kan bli funnet i en fil som er inkludert i tilleggsfilene under NutriNet understreker hyper-parametere dot proto TXT. Kjør treningen av NutriNet-modellen. Etter at treningen er fullført, ta den beste NutriNet-modellens iterasjon.
Denne modellen brukes deretter til å teste ytelsen til denne tilnærmingen. Vær oppmerksom på at det finnes flere måter å finne den beste modell iterasjonen på. Se artikkeltekstene for mer informasjon.
Få et datasett med falske matbilder. Merk at forfatterne av denne artikkelen mottok bilder av falsk mat som ble samlet inn i et laboratoriemiljø. Komnter hvert matbilde manuelt på pikselnivå.
Hver piksel i bildet må inneholde informasjon om hvilken matvareklasse den tilhører. Vær oppmerksom på at det er mange verktøy for å oppnå dette. Forfatterne av denne artikkelen brukte JavaScript-segmentets merknad.
Resultatet av dette trinnet er ett merknadsbilde for hvert bilde fra datasettet for matbilde, der hver piksel representerer en av matklassene. Utfør de samme trinnene som i del 1.3, men bare på bilder fra opplæringsdelsettet i datasettet for matbilde. Vær oppmerksom på at med unntak av trinn 1.3.5 må alle dataforstørrelsestrinn utføres på tilsvarende merknadsbilder også.
Utfør de samme trinnene som i del 1.4 med unntak av trinn 1.4.2. I stedet for dette trinnet utfører du trinn 2.3.2 og 2.3.3. Vær oppmerksom på at opplæring hyper-parametere som brukes av forfatterne av denne artikkelen kan bli funnet i filen som er inkludert i tilleggsfilene under FCN-8S understreker hyper-parametere dot proto TXT.
Kopier og lim inn definisjonsteksten til FCN-8S-arkitekturen i NVIDIA-sifre. Skriv inn de forhåndstrente FCN-8S-modellvektene i NVIDIA-sifrene. Vær oppmerksom på at disse modellvektene var forhåndsuttrent på datasettet Pascal visuelle objektklasser og finnes på Internett.
Last ned matbildedatasettet fra nettstedet Food Recognition Challenge. Utfør trinn 1.3.1 til 1.3.4. Vær oppmerksom på at Python-skriptet som inneholder alle CLoDSA-kommandoene som brukes av forfatterne av denne artikkelen, finnes i filen som er inkludert i tilleggsfilene under FRC, understreker augmentation dot pi.
Opprett en ny versjon av hvert bilde fra datasettet for matbilde ved å legge til gaussisk uskarphet i det ved hjelp av CLoDSA-biblioteket. Opprett en ny versjon av hvert bilde fra matbildedatasettet ved å skjerpe det ved hjelp av CLoDSA-biblioteket. Opprett en ny versjon av hvert bilde fra datasettet for matbilde ved å bruke gammakorrigering på det ved hjelp av CLoDSA-biblioteket.
Lagre bilder fra trinn 3.2.1 til 3.2.4 sammen med de opprinnelige bildene i et nytt datasett for matbilde. Totalt åtte varianter per matbilde. Lagre bilder fra trinn 3.2.2 til 3.2.4 sammen med de opprinnelige bildene i et nytt datasett for matbilde.
Totalt fire varianter per matbilde. Endre den eksisterende HTC ResNet 101-arkitekturdefinisjonen fra MM Detection-biblioteket slik at den godtar datasettene for matvarebilde fra trinn 3.1.1, 3.2.5 og 3.2.6. Du kan eventuelt endre HTC ResNet 101-arkitekturdefinisjonen fra trinn 3.3.1 for å definere hyperparametere for opplæring eller bruke standardverdiene.
Vær oppmerksom på at den endrede HTC ResNet 101-arkitekturdefinisjonen finnes i tilleggsfilene under HTC understrekingstegn ResNet 101 dot pi. Kjør opplæringen av HTC ResNet 101-modellen på matbildedatasettene fra trinn 3.1.1 ved hjelp av MM Detection-biblioteket. Når treningen fra trinn 3.3.3 er fullført, kan du ta den beste HTC ResNet 101-modell iterasjonen og finjustere den ved å kjøre neste fase av treningen på matbildedatasettet fra trinn 3.2.5.
Vær oppmerksom på at det finnes flere måter å finne den beste modell iterasjonen på. Se artikkeltekstene for mer informasjon. Dette er relevant for de neste trinnene også.
Når treningen fra trinn 3.3.4 er fullført, kan du ta den beste HTC ResNet 101-modell iterasjonen og finjustere den ved å kjøre neste fase av treningen på matbildedatasettet fra trinn 3.2.6. Når treningen fra trinn 3.3.5 er fullført, kan du ta den beste HTC ResNet 101-modell iterasjonen og finjustere den ved å kjøre neste fase av treningen på matbildedatasettet fra trinn 3.2.5. Når treningen fra trinn 3.3.6 er fullført, kan du ta den beste HTC ResNet 101-modell iterasjonen.
Denne modellen brukes deretter til å teste ytelsen til denne tilnærmingen. Vær oppmerksom på at trinn 3.3.3 til 3.3.7 ga de beste resultatene for formålene som er definert av forfatterne av denne artikkelen. Eksperimentering er nødvendig for hvert datasett for å finne den optimale sekvensen av trenings- og dataforstørrelsestrinn.
Etter å ha testet trendmodellen nutrinet oppnådd en klassifisering nøyaktighet på 86,72% på gjenkjenning datasettet, som var rundt 2% høyere enn AlexNet og litt høyere enn GoogLeNet, som var populære dype nevrale nettverksarkitekturer av den tiden. For å måle nøyaktigheten til FCN-8S falsk mat bilde segmentering modell, pixel nøyaktighet tiltaket ble brukt. Nøyaktigheten av den trente FCN-8S-modellen var 92,18 %Den ResNet-baserte løsningen for segmentering av matbilde ble evaluert ved hjelp av presisjonsmålet som er definert i Food Recognition Challenge.
Ved hjelp av dette tiltaket oppnådde togmodellen en gjennomsnittlig presisjon på 59,2%, som rangerte som nummer to i Food Recognition Challenge. De siste årene har dype nevrale nettverk blitt validert flere ganger som en passende løsning for å gjenkjenne matbilder. Vårt arbeid presentert i denne artikkelen tjener til å ytterligere bevise dette.
Den enkle utgangen mat bildegjenkjenning tilnærming er grei og kan brukes til enkle applikasjoner. Mens matbildesegmenteringstilnærmingen krever mer arbeid med å forberede kommenterte bilder, men det er mye mer aktuelt for virkelige bilder. I fremtiden vil vårt mål være å videre evaluere de utviklede prosedyrene på virkelige bilder.
Det første skrittet mot validering i den virkelige verden ble levert av Food Recognition Challenge, som inkluderte et datasett med matbilder fra den virkelige verden. Men det må jobbes videre for å validere denne tilnærmingen på matbilder fra hele verden og i samarbeid med ernæringsfysiologer.
Målet med arbeidet som presenteres i denne artikkelen er å utvikle teknologi for automatisert anerkjennelse av mat og drikke elementer fra bilder tatt av mobile enheter. Teknologien består av to forskjellige tilnærminger - den første utfører matbildegjenkjenning mens den andre utfører matbildesegmentering.
07:56
Preparation of Liquid Crystal Networks for Macroscopic Oscillatory Motion Induced by Light
Related Videos
11410 Views
09:00
Indoor Experimental Assessment of the Efficiency and Irradiance Spot of the Achromatic Doublet on Glass (ADG) Fresnel Lens for Concentrating Photovoltaics
Related Videos
8750 Views
10:24
Applicability Analysis of Assessment Methods for Morphological Parameters of Corroded Steel Bars
Related Videos
6323 Views
08:49
Impacts of Free-falling Spheres on a Deep Liquid Pool with Altered Fluid and Impactor Surface Conditions
Related Videos
6349 Views
07:49
Automated Deployment of an Internet Protocol Telephony Service on Unmanned Aerial Vehicles Using Network Functions Virtualization
Related Videos
7879 Views
06:40
Automated Delivery of Microfabricated Targets for Intense Laser Irradiation Experiments
Related Videos
4241 Views
05:16
UV-Vis Spectroscopic Characterization of Nanomaterials in Aqueous Media
Related Videos
9105 Views
06:44
3D Printing - Evaluating Particle Emissions of a 3D Printing Pen
Related Videos
8283 Views
10:15
Integration of 5G Experimentation Infrastructures into a Multi-Site NFV Ecosystem
Related Videos
3620 Views
11:16
In vitro Assessment of Aortic Regurgitation Using Four-Dimensional Flow Magnetic Resonance Imaging
Related Videos
3132 Views
Read Article
Cite this Article
Mezgec, S., Koroušić Seljak, B. Deep Neural Networks for Image-Based Dietary Assessment. J. Vis. Exp. (169), e61906, doi:10.3791/61906 (2021).
Copy