Obsah:
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
Tato příručka poskytuje podrobné pokyny, jak nastavit API pro detekci objektů TensorFlow na Raspberry Pi. Podle kroků v této příručce budete moci pomocí svého Raspberry Pi provádět detekci objektů na živém videu z webové kamery Picamera nebo USB. Ruční strojové učení není vyžadováno, protože se používá v online databázi pro detekci objektů. Můžete detekovat většinu objektů, které se běžně používají po celém světě.
Podívejte se prosím na můj výše uvedený obrázek, použili jsme myš, Apple a Nůžky a objekt jsme detekovali perfektně.
Průvodce prochází následujícími kroky:
Aktualizujte Raspberry Pi
Nainstalujte si TensorFlowInstall OpenCV
Zkompilujte a nainstalujte Protobuf
Nastavte adresářovou strukturu TensorFlow
Detekovat objekty
Krok 1: Aktualizujte Raspberry Pi
Váš Raspberry Pi je třeba aktualizovat
Krok 1:
Zadejte příkazový terminál, sudo apt-get update
A pak zadejte
sudo apt-get dist-upgrade
To může trvat dlouho, záleží na vašem internetu a Raspberry pi
To je vše, co potřebujete, dokončili jste aktualizaci Raspberry pi
Krok 2: Nainstalujte si TensorFlow
Nyní se chystáme nainstalovat Tensorflow.
Zadejte následující příkaz, pip3 nainstalujte TensorFlow
TensorFlow také potřebuje balíček LibAtlas, zadejte následující příkaz
sudo apt-get install libatlas-base-dev
A zadejte také následující příkaz, sudo pip3 install polštář lxml jupyter matplotlib cythonsudo apt-get install python-tk
Nyní jsme dokončili instalaci Tensorflow.
Krok 3: Nainstalujte OpenCV
Nyní pracujeme na instalaci knihovny OpenCV, protože příklady detekce objektů TensorFlow používají matplotlib k zobrazování obrázků, ale já jsem se rozhodl cvičit OpenCV, protože je snazší pracovat a méně chyb. Musíme tedy nainstalovat OpenCV. OpenCV nyní nepodporuje RPI, takže se chystáme nainstalovat starší Verision.
Nyní pracujeme na instalaci několika závislostí, které je třeba nainstalovat pomocí 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
Nakonec můžeme nyní nainstalovat OpenCV zadáním, pip3 install opencv-python == 3.4.6.27
To je vše, nyní jsme nainstalovali OpenCV
Krok 4: Nainstalujte si Protobuf
Rozhraní API pro detekci objektů TensorFlow používá Protobuf, balíček, který překonává datový formát Google Protocol Buffer. Musíte kompilovat ze zdroje, nyní můžete snadno nainstalovat.
sudo apt-get install protobuf-kompilátor
Jakmile je hotovo, spusťte protoc --version. Měli byste dostat odpověď libprotoc 3.6.1 nebo podobnou.
Krok 5: Nastavení struktury adresáře TensorFlow
Nainstalovali jsme všechny balíčky, chceme nastavit adresář pro TensorFlow. Z domovského adresáře vytvořte název adresáře s názvem „tensorflow1“, Zadejte následující, mkdir tensorflow1cd tensorflow1
Nyní si stáhněte TensorFlow zadáním, git clone -hloubka 1
Chceme upravit proměnnou prostředí PYTHONPATH tak, aby směřovala do některých adresářů uvnitř úložiště TensorFlow. PYTHONPATH potřebujeme nastavit pokaždé. Musíme upravit soubor.bashrc. Musíme to otevřít zadáním textu
sudo nano ~/.bashrc
Na konec souboru a poslední řádek přidejte příkaz, jako na horním obrázku, který je označen v červeném poli barvy.
export PYTHONPATH = $ PYTHONPATH:/home/pi/tensorflow1/models/research:/home/pi/tensorflow1/models/research/slim
Nyní uložte a ukončete. Potřebujeme použít Protoc ke kompilaci souborů Protocol Buffer (.proto) používaných rozhraním API pro detekci objektů. Soubory.proto jsou umístěny v /research /object_detection /protos, příkaz chceme spustit z adresáře /research. Zadejte následující příkaz
cd/home/pi/tensorflow1/models/researchprotoc object_detection/protos/*. proto --python_out =.
Tento příkaz změní všechny soubory „name“.proto na soubory.py „name_pb2“.
cd/home/pi/tensorflow1/models/research/object_detection
Potřebujeme stáhnout model SSD_Lite z modelové zoo TensorFlowdetection. K tomu chceme použít SSDLite-MobileNet, což je nejrychlejší model existující pro RPI.
Google donekonečna vydává modely se zvýšenou rychlostí a výkonem, proto často kontrolujte, zda nejsou nějaké vylepšené modely.
Chcete-li stáhnout model SSDLite-MobileNet, zadejte následující příkaz.
wget
tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
Nyní můžeme procvičovat modely Object_Detction!
Jsme téměř hotovi!
Krok 6: Detekce objektu
Nyní je celá věc nastavena pro detekci prováděcích objektů na Pi!
Object_detection_picamera.py detekuje živé objekty z webové kamery Picamera nebo USB.
Pokud používáte Picameru, změňte konfiguraci Raspberry Pi v nabídce jako na výše uvedeném obrázku označeném červeně.
Zadejte následující příkaz a stáhněte soubor Object_detection_picamera.py do adresáře object_detection.
wget https://raw.githubusercontent.com/EdjeElectronics/ TensorFlow-Detection-Object-on-the-Raspberry-Pi/master/Object_detection_picamera.py
python3 Object_detection_picamera.py
Zadejte následující příkaz pro USB kameru
python3 Object_detection_picamera.py --usbcam
Spustí se jeden příkaz, po 1 minutě se otevře nové okno, které začne detekovat objekty !!!
Krok 7: Problémy a děkuji
Pokud máte nějaké dotazy, dejte mi prosím vědět
E -mail: [email protected]
Děkuji, Rithik