Inhoudsopgave:
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
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
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
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
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
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
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
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
Laat het me weten als je vragen hebt
E-mail: [email protected]
Bedankt, Rithik