Wil je grip krijgen op beeldherkenning?  Dankzij Tensorflow en een Raspberry Pi kun je meteen aan de slag.

Aan de slag met beeldherkenning met TensorFlow en Raspberry Pi

Advertentie TensorFlow is de Neural Network-bibliotheek van Google. Gezien het feit dat machine learning op dit moment het meest populaire is, is het geen verrassing dat Google tot de leiders van deze nieuwe technologie behoort. In dit artikel leert u hoe u TensorFlow op de Raspberry Pi installeert en eenvoudige beeldclassificatie uitvoert op een vooraf opgeleid neuraal netwerk

Advertentie

TensorFlow is de Neural Network-bibliotheek van Google. Gezien het feit dat machine learning op dit moment het meest populaire is, is het geen verrassing dat Google tot de leiders van deze nieuwe technologie behoort.

In dit artikel leert u hoe u TensorFlow op de Raspberry Pi installeert en eenvoudige beeldclassificatie uitvoert op een vooraf opgeleid neuraal netwerk.

Ermee beginnen

Om aan de slag te gaan met beeldherkenning, hebt u een Raspberry Pi (elk model werkt) en een SD-kaart met het Raspbian Stretch (9.0+) besturingssysteem nodig (gebruik onze installatiegids als u nieuw bent bij de Raspberry Pi).

Start de Pi op en open een terminalvenster. Zorg ervoor dat je Pi up-to-date is en controleer je Python-versie.

 sudo apt-get update python --version python3 --version 

U kunt voor deze zelfstudie zowel Python 2.7 of Python 3.4+ gebruiken. Dit voorbeeld is voor Python 3. Voor Python 2.7 vervangt u Python3 door Python en pip3 door pip in deze tutorial.

Pip is een pakketbeheerder voor Python, meestal standaard geïnstalleerd op Linux-distributies.

Als je merkt dat je het niet hebt, volg dan de instructies voor het installeren van Linux Python PIP installeren op Windows, Mac en Linux Python PIP installeren op Windows, Mac en Linux Veel Python-ontwikkelaars vertrouwen op een tool genaamd PIP voor Python om alles eenvoudiger en sneller te maken. Hier leest u hoe u Python PIP installeert. Lees meer in dit artikel om het te installeren.

TensorFlow installeren

Vroeger was het installeren van TensorFlow een behoorlijk frustrerend proces, maar een recente update maakt het ongelooflijk eenvoudig. Hoewel je deze tutorial zonder enige voorkennis kunt volgen, is het misschien de moeite waard om de basisprincipes van machine learning te begrijpen voordat je het uitprobeert.

Installeer de Atlas- bibliotheek voordat u TensorFlow installeert.

 sudo apt install libatlas-base-dev 

Zodra dat is voltooid, installeert u TensorFlow via pip3

 pip3 install --user tensorflow 

Hiermee wordt TensorFlow voor de ingelogde gebruiker geïnstalleerd. Als u liever een virtuele omgeving gebruikt Leer hoe u de virtuele omgeving van Python gebruikt Leer hoe u de virtuele omgeving van Python gebruikt Of u nu een ervaren Python-ontwikkelaar bent of net begint, leren hoe u een virtuele omgeving instelt, is essentieel voor elke Python-project. Lees meer, wijzig hier uw code om dit weer te geven.

TensorFlow testen

Nadat het is geïnstalleerd, kunt u testen of het werkt met het TensorFlow-equivalent van een Hallo wereld!

Maak vanaf de opdrachtregel een nieuw Python-script met behulp van nano of vim (als je niet zeker weet welke je moet gebruiken, hebben ze allebei voordelen) en noem het iets dat je gemakkelijk kunt onthouden.

 sudo nano tftest.py 

Voer deze code in, verstrekt door Google voor het testen van TensorFlow:

 import tensorflow as tf hello = tf.constant('Hello, TensorFlow!') sess = tf.Session() print(sess.run(hello)) 

Als u nano gebruikt, sluit u af door op Ctrl + X te drukken en slaat u uw bestand op door Y te typen wanneer u hierom wordt gevraagd.

Voer de code uit vanaf de terminal:

 python3 tftest.py 

U zou “Hallo, TensorFlow” moeten zien afdrukken.

Als u Python 3.5 gebruikt, krijgt u verschillende runtime-waarschuwingen. De officiële TensorFlow-tutorials erkennen dat dit gebeurt en raden u aan dit te negeren.

TensorFlow en Python3.5 - Onweerstaanbare fout

Het werkt! Nu om iets interessants te doen met TensorFlow.

De Image Classifier installeren

Maak in de terminal een map voor het project in uw thuismap en navigeer erin.

 mkdir tf1 cd tf1 

TensorFlow heeft een git repository met voorbeeldmodellen om uit te proberen. Kloon de repository in de nieuwe map:

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

U wilt het voorbeeld van beeldclassificatie gebruiken, dat u kunt vinden in modellen / tutorials / image / imagenet . Navigeer nu naar die map:

 cd models/tutorials/image/imagenet 

Het standaard classificatiescript voor afbeeldingen wordt uitgevoerd met een meegeleverde afbeelding van een panda:

Tiny TensorFlow Panda

Om de standaard afbeeldingclassificator uit te voeren met de verstrekte panda-afbeelding, voert u het volgende in:

 python3 classify_image.py 

Dit voedt een afbeelding van een panda naar het neurale netwerk, dat gissingen teruggeeft naar wat het beeld is met een waarde voor zijn niveau van zekerheid.

TensorFlow Panda Classificeren van uitvoer

Zoals het uitvoerbeeld laat zien, vermoedde het neurale net correct, met een zekerheid van bijna 90 procent. Het dacht ook dat de afbeelding een vlaappel zou kunnen bevatten, maar hij was niet erg zeker van dat antwoord.

Een aangepaste afbeelding gebruiken

Het panda-imago bewijst dat TensorFlow werkt, maar dat is misschien niet zo verwonderlijk, gezien het voorbeeld dat het project biedt. Voor een betere test kunt u uw eigen afbeelding aan het neurale net geven voor classificatie.

In dit geval zult u zien of het TensorFlow neurale net George kan identificeren.

George de dinosaurus

Ontmoet George. George is een dinosaurus. Als u deze afbeelding (hier in bijgesneden vorm) in het neurale net wilt invoeren, voegt u argumenten toe bij het uitvoeren van het script.

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

Met de afbeelding_bestand = na de scriptnaam kan elke afbeelding per pad worden toegevoegd. Laten we eens kijken hoe dit neurale net deed.

TensorFlow Dinosaur Classificatie-uitvoer

Niet slecht! Hoewel George geen triceratops is, classificeerde het neurale net het beeld als een dinosaurus met een hoge mate van zekerheid in vergelijking met de andere opties.

TensorFlow en Raspberry Pi, klaar voor gebruik

Deze basisimplementatie van TensorFlow heeft al potentieel. Deze objectherkenning gebeurt op de Pi en heeft geen internetverbinding nodig om te functioneren. Dit betekent dat met de toevoeging van een Raspberry Pi-cameramodule en een Raspberry Pi-geschikte batterij, het hele project draagbaar zou kunnen worden.

De meeste tutorials krassen alleen op het oppervlak van een onderwerp, maar het is nooit waarder geweest dan in dit geval. Machine learning is een ongelooflijk dicht onderwerp.

Een manier om uw kennis verder te brengen, is door een speciale cursus te volgen. Deze cursussen voor machinaal leren zullen een carrièrepad voor u voorbereiden. Deze cursussen voor machinaal leren zullen een carrièrepad voor u voorbereiden. Deze uitstekende online cursussen voor machinaal leren helpen u de vaardigheden te begrijpen die nodig zijn om start een carrière in machine learning en kunstmatige intelligentie. Lees verder . Kom in de tussentijd aan de slag met machine learning en de Raspberry Pi met deze TensorFlow-projecten die je zelf kunt proberen.

Ontdek meer over: Google TensorFlow, Image Recognition, Raspberry Pi.