Kom i gang med bildegjenkjenning ved hjelp av TensorFlow og Raspberry Pi

Kom i gang med bildegjenkjenning ved hjelp av TensorFlow og Raspberry Pi / DIY

TensorFlow er Googles Neural Network-bibliotek. Gitt at maskinlæring er den hotteste tingen i dag, er det ingen overraskelse at Google er blant ledere i denne nye teknologien.

I denne artikkelen lærer du hvordan du installerer TensorFlow på Raspberry Pi, og kjør enkel bilde klassifisering på et pre-trent neuralt nettverk.

Starter

For å komme i gang med bildegjenkjenning trenger du en Raspberry Pi (hvilken modell som helst) og et SD-kort med Raspbian Stretch (9.0+) operativsystemet (hvis du er ny i Raspberry Pi, bruk vår installasjonsguide). Oppstart Pi og åpne et terminalvindu. Pass på at Pi er oppdatert, og sjekk din Python-versjon.

sudo apt-få oppdatering python --versjon python3 - versjon

Du kan bruke både Python 2.7 eller Python 3.4+ for denne opplæringen. Dette eksemplet er for Python 3. For Python 2.7, erstatt Python3 med Python, og PIP3 med pip gjennom hele denne opplæringen.

Pip er en pakkebehandling for Python, vanligvis installert som standard på Linux-distribusjoner. Hvis du finner at du ikke har det, følg installasjonen for Linux-instruksjoner Slik installerer du PIP for Python på Windows, Mac og Linux Slik installerer du PIP for Python på Windows, Mac og Linux Mange Python-utviklere stole på et verktøy som heter PIP for Python å gjøre alt mye enklere og raskere. Slik installerer du PIP. Les mer i denne artikkelen for å installere den.

Installere TensorFlow

Installasjon av TensorFlow pleide å være ganske frustrerende, men en nylig oppdatering gjør det utrolig enkelt. Mens du kan følge denne opplæringen uten forkunnskaper, kan det være verdt å forstå grunnleggende om maskinlæring før du prøver det.

Før du installerer TensorFlow, installer du Atlas bibliotek.

sudo apt installer libatlas-base-dev

Når det er ferdig, installer TensorFlow via pip3

pip3 installere - brukerens tensorflow

Dette vil installere TensorFlow for den innloggede brukeren. Hvis du foretrekker å bruke et virtuelt miljø Lær hvordan du bruker Pythons virtuelle miljø Lær hvordan du bruker Pythons virtuelle miljø Uansett om du er en erfaren Python-utvikler, eller du er bare i gang, lærer du å sette opp et virtuelt miljø, er det viktig for alle Python prosjekt. Les mer, endre koden din her for å gjenspeile dette.

Testing TensorFlow

Når den har installert, kan du teste om den fungerer med TensorFlow-ekvivalenten av a Hei Verden!

Fra kommandolinjen opprett et nytt Python-skript ved hjelp av nano eller vim (Hvis du ikke er sikker på hvilken en skal bruke, har de begge fordeler nano vs vim: Terminal Text Editors Sammenlignet nano vs vim: Terminal Text Editors Sammenlignet Selv om Linux har blitt lett nok til praktisk talt alle som skal bruke uten å måtte bruke Terminal, det er noen av oss som regelmessig bruker det eller er nysgjerrige på hvordan man kan kontrollere ... Les mer) og nevne det lett å huske.

sudo nano tftest.py 

Skriv inn denne koden, levert av Google for testing av TensorFlow:

import tensorflow som tf hello = tf.constant ('Hei, TensorFlow!') sess = tf.Session () print (sess.run (hei)) 

Hvis du bruker nano, avslutter du ved å trykke Ctrl + X og lagre filen ved å skrive Y når du blir bedt om det.

Kjør koden fra terminalen:

python3 tftest.py 

Du bør se “Hei, TensorFlow” skrevet ut. Hvis du kjører Python 3.5, får du flere kjøretidsvarsler. Den offisielle TensorFlow-opplæringen bekrefter at dette skjer, og å ignorere det.

Det fungerer! Nå for å gjøre noe interessant med TensorFlow.

Installere Image Classifier

I terminalen lager du en katalog for prosjektet i hjemmekatalogen din og navigerer inn i den.

mkdir tf1 cd tf1 

TensorFlow har et git repository med eksempel modeller å prøve ut. Klon depotet i den nye katalogen:

git klon https://github.com/tensorflow/models.git 

Du vil bruke bildeklassifiseringseksemplet, som du finner på modeller / tutorials / bilde / imagenet. Naviger til den mappen nå:

cd modeller / opplæringsprogrammer / image / imagenet 

Standardbildeklassifiseringsskriptet kjører med et gitt bilde av en panda:

For å kjøre standardbildeklassifiseringen med pandabildet som er oppgitt, skriv inn:

python3 classify_image.py 

Dette mater et bilde av en panda til det nevrale nettverket, som gir gjetninger om hva bildet er med en verdi for sitt sikkerhetsnivå.

Som utgangsbildet viser, gjengde det nevrale nettverket riktig, med nesten 90 prosent sikkerhet. Det trodde også at bildet kunne inneholde et vaniljesapple, men det var ikke veldig trygt med det svaret.

Bruke et egendefinert bilde

Panda-bildet viser at TensorFlow fungerer, men det er kanskje ikke overraskende gitt det er eksemplet prosjektet gir. For en bedre test kan du gi ditt eget bilde til det neurale nettet for klassifisering. I dette tilfellet ser du om TensorFlow-neurale nettet kan identifisere George.

Møt George. George er en dinosaur. For å mate dette bildet (tilgjengelig i beskåret form her) i det nevrale nettet, legg til argumenter når du kjører skriptet.

python3 classify_image.py --image_file = / home / pi / george.jpg 

De image_file = Ved å følge skriptnavnet kan du legge til et hvilket som helst bilde ved hjelp av banen. Lar se hvordan dette nevrale nettet gjorde.

Ikke verst! Mens George ikke er en triceratops, klassifiserte det nevrale nettet bildet som en dinosaur med høy grad av sikkerhet i forhold til de andre alternativene.

TensorFlow og Raspberry Pi, Klar til å gå

Denne grunnleggende implementeringen av TensorFlow har allerede potensial. Denne objektgenkjenningen skjer på Pi, og trenger ingen Internett-tilkobling for å fungere. Dette innebærer at hele prosjektet kan bli bærbart med tilsetning av en Raspberry Pi-kameramodul og en Raspberry Pi-passende batterienhet..

De fleste opplæringsprogrammene klorer bare overflaten av et emne, men det har aldri vært mer enn i dette tilfellet. Maskininnlæring er et utrolig tett emne. En måte å ta kunnskapen din videre, vil være ved å ta en dedikert kurs Disse maskinlæringskursene vil forberede en karrierevei for deg Disse maskinlæringsbanene vil forberede en karrierevei for deg Disse utmerkede kursene for online maskinlæring vil hjelpe deg å forstå ferdighetene som trengs for å starte en karriere i maskinlæring og kunstig intelligens. Les mer . I mellomtiden får du hånd på med maskinlæring og Raspberry Pi med disse TensorFlow-prosjektene du kan prøve deg selv.

Utforsk mer om: Google TensorFlow, Image Recognition, Raspberry Pi.