Inhoudsopgave:

Raspberry Pi-objectdetectie - Ajarnpa
Raspberry Pi-objectdetectie - Ajarnpa

Video: Raspberry Pi-objectdetectie - Ajarnpa

Video: Raspberry Pi-objectdetectie - Ajarnpa
Video: Ultrasonic Object Detection - blink LED and beep buzzer 2024, Juli-
Anonim
Raspberry Pi-objectdetectie
Raspberry Pi-objectdetectie

Deze handleiding biedt stapsgewijze instructies voor het instellen van de objectdetectie-API van TensorFlow op de Raspberry Pi. Door de stappen in deze handleiding te volgen, kunt u uw Raspberry Pi gebruiken om objectdetectie uit te voeren op live video vanaf een Picamera of USB-webcam. Handmatige machine learning is niet vereist zoals gebruikt in de online database voor objectdetectie. U kunt de meeste objecten detecteren die wereldwijd veel worden gebruikt.

Raadpleeg mijn bovenstaande foto, we gebruikten een muis, Apple en een schaar en detecteerden het object perfect.

De gids doorloopt de volgende stappen:

Update de Raspberry Pi

Installeer TensorFlowInstalleer OpenCV

Compileer en installeer Protobuf

TensorFlow-directorystructuur instellen

Objecten detecteren

Stap 1: Update Raspberry Pi

Update Raspberry Pi
Update Raspberry Pi

Je Raspberry Pi moet worden bijgewerkt

Stap 1:

Typ de Command-terminal, sudo apt-get update

En typ dan

sudo apt-get dist-upgrade

Dit kan lang duren, hangt af van uw internet en Raspberry pi

Dat is alles wat je nodig hebt, je bent klaar met het bijwerken van je Raspberry pi

Stap 2: Installeer TensorFlow

Installeer TensorFlow
Installeer TensorFlow

Nu gaan we Tensorflow installeren.

Typ dit volgende commando, pip3 installeer TensorFlow

TensorFlow heeft ook het LibAtlas-pakket nodig, typ deze volgende opdracht:

sudo apt-get install libatlas-base-dev

En typ ook dit volgende commando, sudo pip3 installeer kussen lxml jupyter matplotlib cythonsudo apt-get install python-tk

Nu zijn we klaar met het installeren van Tensorflow.

Stap 3: Installeer OpenCV

Installeer OpenCV
Installeer OpenCV

Nu werken we aan het installeren van de OpenCV-bibliotheek omdat de objectdetectievoorbeelden van TensorFlow matplotlib gebruiken om afbeeldingen te tonen, maar ik kies ervoor om OpenCV te oefenen omdat het gemakkelijker is om mee te werken en er minder fouten optreden. We moeten dus OpenCV installeren. Nu ondersteunt OpenCV RPI niet, dus we gaan een oudere versie installeren.

Nu werken we aan het installeren van een paar afhankelijkheden die moeten worden geïnstalleerd via apt-get

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get install libxvidcore-dev libx264-dev

sudo apt-get install qt4-dev-tools libatlas-base-dev

Eindelijk, nu kunnen we OpenCV installeren door te typen, pip3 installeer opencv-python==3.4.6.27

Dat is alles, we hebben nu OpenCV geïnstalleerd

Stap 4: Installeer Protobuf

Installeer Protobuf
Installeer Protobuf

De objectdetectie-API van TensorFlow maakt gebruik van Protobuf, een pakket dat past bij het gegevensformaat Protocol Buffer van Google. U moet vanaf de bron compileren, nu kunt u eenvoudig installeren.

sudo apt-get install protobuf-compiler

Voer protoc --version uit als dat klaar is. U zou een antwoord moeten krijgen van libprotoc 3.6.1 of iets dergelijks.

Stap 5: TensorFlow-directorystructuur instellen

TensorFlow-directorystructuur instellen
TensorFlow-directorystructuur instellen

We hebben alle pakketten geïnstalleerd, we willen een map opzetten voor de TensorFlow. Maak vanuit de thuismap een mapnaam met de naam "tensorflow1", Typ het volgende, mkdir tensorflow1cd tensorflow1

Download nu TensorFlow door te typen, git clone -- depth 1

We willen de PYTHONPATH-omgevingsvariabele wijzigen om naar enkele mappen in de TensorFlow-repository te verwijzen. We hebben PYTHONPATH nodig om elke keer te worden ingesteld. We moeten het.bashrc-bestand aanpassen. We moeten het openen door te typen

sudo nano ~/.bashrc

Voeg aan het einde van het bestand en de laatste regel de opdracht toe, zoals in de bovenste afbeelding die is gemarkeerd in het rode kleurvak.

export PYTHONPATH=$PYTHONPATH:/home/pi/tensorflow1/models/research:/home/pi/tensorflow1/models/research/slim

Nu opslaan en afsluiten. We moeten Protoc gebruiken om de Protocol Buffer(.proto)-bestanden te compileren die worden gebruikt door de Object Detection API. De.proto-bestanden bevinden zich in /research/object_detection/protos, we willen het commando uitvoeren vanuit de directory /research. Typ het volgende commando

cd /home/pi/tensorflow1/models/researchprotoc object_detection/protos/*.proto --python_out=.

Dit commando verandert alle "name".proto-bestanden in "name_pb2".py-bestanden.

cd /home/pi/tensorflow1/models/research/object_detection

We moeten het SSD_Lite-model downloaden van de TensorFlowdetection-modeldierentuin. Hiervoor willen we SSDLite-MobileNet gebruiken, het snelste model dat voor de RPI bestaat.

Google brengt eindeloos modellen uit met verbeterde snelheid en prestaties, dus controleer regelmatig of er verbeterde modellen zijn.

Typ de volgende opdracht om het SSDLite-MobileNet-model te downloaden.

wget

tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz

Nu kunnen we de Object_Detction-modellen oefenen!

We zijn bijna klaar!

Stap 6: Object detecteren

Object detecteren
Object detecteren

Nu is het hele ding ingesteld voor detectie van uitvoeringsobjecten op de Pi!

Object_detection_picamera.py detecteert objecten live vanaf een Picamera- of USB-webcam.

Als je een Picamera gebruikt, verander dan de Raspberry Pi-configuratie in een menu zoals in de bovenstaande afbeelding gemarkeerd in een rood kleurvak.

Typ de volgende opdracht om het bestand Object_detection_picamera.py te downloaden naar de map object_detection.

wget https://raw.githubusercontent.com/EdjeElectronics/ TensorFlow-Object-Detection-on-the-Raspberry-Pi/master/Object_detection_picamera.py

python3 Object_detectie_picamera.py

Typ de volgende opdracht voor USB-camera

python3 Object_detection_picamera.py --usbcam

Het commando wordt uitgevoerd, na 1 minuut gaat er een nieuw venster open waarin de objecten worden gedetecteerd!!!

Stap 7: Problemen en bedankt

Problemen en bedankt
Problemen en bedankt

Laat het me weten als je vragen hebt

E-mail: [email protected]

Bedankt, Rithik

Aanbevolen: