Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Táto príručka poskytuje podrobné pokyny o tom, ako nastaviť rozhranie API na detekciu objektov TensorFlow na Raspberry Pi. Podľa krokov v tejto príručke budete môcť svoj Raspberry Pi používať na detekciu objektov na živom videu z webovej kamery Picamera alebo USB. Ručné strojové učenie sa nevyžaduje, ako sa používa v online databáze na detekciu objektov. Môžete detekovať väčšinu predmetov, ktoré sa bežne používajú na celom svete.
Pozrite sa na môj vyššie uvedený obrázok, použili sme myš, Apple a nožnice a objekt sme perfektne detekovali.
Sprievodca prechádza týmito krokmi:
Aktualizujte Raspberry Pi
Nainštalujte TensorFlowInstall OpenCV
Skompilujte a nainštalujte Protobuf
Nastavte adresárovú štruktúru TensorFlow
Detekujte objekty
Krok 1: Aktualizujte Raspberry Pi
Váš Raspberry Pi je potrebné aktualizovať
Krok 1:
Zadajte príkazový terminál, sudo apt-get aktualizácia
A potom Napíšte
sudo apt-get dist-upgrade
To môže trvať dlho, záleží na vašom internete a Raspberry pi
To je všetko, čo ste potrebovali. Dokončili ste aktualizáciu svojho Raspberry pi
Krok 2: Nainštalujte TensorFlow
Teraz nainštalujeme Tensorflow.
Zadajte nasledujúci príkaz, pip3 nainštalujte TensorFlow
TensorFlow tiež potrebuje balík LibAtlas, zadajte nasledujúci príkaz
sudo apt-get install libatlas-base-dev
A zadajte aj nasledujúci príkaz, sudo pip3 inštalovať vankúš lxml jupyter matplotlib cythonsudo apt-get nainštalovať python-tk
Teraz sme dokončili inštaláciu Tensorflow.
Krok 3: Nainštalujte OpenCV
Teraz pracujeme na inštalácii knižnice OpenCV, pretože príklady detekcie objektov TensorFlow používajú na zobrazenie obrázkov matplotlib, ale ja som sa rozhodol cvičiť OpenCV, pretože je jednoduchšie s ním pracovať a mať menej chýb. Musíme teda nainštalovať OpenCV. OpenCV teraz nepodporuje RPI, takže ideme nainštalovať starší Verision.
Teraz pracujeme na inštalácii niekoľkých závislostí, ktoré je potrebné nainštalovať pomocou 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
Nakoniec, teraz môžeme nainštalovať OpenCV zadaním, pip3 nainštalujte opencv-python == 3.4.6.27
To je všetko, teraz sme nainštalovali OpenCV
Krok 4: Nainštalujte Protobuf
Rozhranie API na zisťovanie objektov TensorFlow používa Protobuf, balík, ktorý prevyšuje formát údajov vyrovnávacej pamäte protokolu Google. Musíte skompilovať zo zdroja, teraz to môžete ľahko nainštalovať.
sudo apt-get install protobuf-kompilátor
Akonáhle je to hotové, spustite protoc --version. Mali by ste dostať odpoveď na libprotoc 3.6.1 alebo podobný.
Krok 5: Nastavte štruktúru adresára TensorFlow
Nainštalovali sme všetky balíky, chceme nastaviť adresár pre TensorFlow. Z domovského adresára vytvorte názov adresára s názvom „tensorflow1“, Napíšte nasledujúce, mkdir tensorflow1cd tensorflow1
Teraz si stiahnite TensorFlow zadaním, git clone -hĺbka 1
Chceme upraviť premennú prostredia PYTHONPATH tak, aby smerovala do niektorých adresárov vo vnútri úložiska TensorFlow. PYTHONPATH potrebujeme nastaviť zakaždým. Musíme upraviť súbor.bashrc. Musíme ho otvoriť zadaním textu
sudo nano ~/.bashrc
Na koniec súboru a do posledného riadka pridajte príkaz, ako na horný obrázok, ktorý je označený v červenom poli s farbou.
export PYTHONPATH = $ PYTHONPATH:/home/pi/tensorflow1/models/research:/home/pi/tensorflow1/models/research/slim
Teraz uložte a ukončite. Na kompiláciu súborov vyrovnávacej pamäte protokolu (.proto), ktoré používa rozhranie Object Detection API, musíme použiť protokol Protoc. Súbory.proto sa nachádzajú v adresári /research /object_detection /protos, príkaz chceme vykonať z adresára /research. Zadajte nasledujúci príkaz
cd/home/pi/tensorflow1/models/researchprotoc object_detection/protos/*. proto --python_out =.
Tento príkaz zmení všetky súbory „name“.proto na súbory.py „name_pb2“.
cd/home/pi/tensorflow1/models/research/object_detection
Potrebujeme stiahnuť model SSD_Lite z modelovej zoo TensorFlowdetection. Na to chceme použiť SSDLite-MobileNet, ktorý je najrýchlejším modelom existujúcim pre RPI.
Google neustále vydáva modely so zvýšenou rýchlosťou a výkonom, preto často kontrolujte, či existujú vylepšené modely.
Na stiahnutie modelu SSDLite-MobileNet zadajte nasledujúci príkaz.
wget
tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
Teraz môžeme precvičovať modely Object_Detction!
Už sme skoro hotoví!
Krok 6: Detekcia objektu
Teraz je celá vec nastavená na detekciu objektov spustenia na Pi!
Object_detection_picamera.py detekuje živé objekty z webovej kamery Picamera alebo USB.
Ak používate Picameru, zmeňte konfiguráciu Raspberry Pi v ponuke ako na vyššie uvedenom obrázku označenom červeným políčkom.
Zadajte nasledujúci príkaz a stiahnite súbor Object_detection_picamera.py do adresára object_detection.
wget https://raw.githubusercontent.com/EdjeElectronics/ TensorFlow-Object-Detection-on-the-Raspberry-Pi/master/Object_detection_picamera.py
python3 Object_detection_picamera.py
Zadajte nasledujúci príkaz pre USB kameru
python3 Object_detection_picamera.py --usbcam
Vykoná sa jeden príkaz, po 1 minúte sa otvorí nové okno, ktoré začne rozpoznávať objekty !!!
Krok 7: Problémy a ďakujem
Ak máte nejaké otázky, dajte nám prosím vedieť
E -mail: [email protected]
Ďakujem, Rithik