Wykrywanie obiektów Raspberry Pi: 7 kroków
Wykrywanie obiektów Raspberry Pi: 7 kroków
Anonim
Wykrywanie obiektów Raspberry Pi
Wykrywanie obiektów Raspberry Pi

Ten przewodnik zawiera instrukcje krok po kroku, jak skonfigurować interfejs API wykrywania obiektów TensorFlow na Raspberry Pi. Wykonując czynności opisane w tym przewodniku, będziesz mógł używać swojego Raspberry Pi do wykrywania obiektów na żywo z kamery internetowej Picamera lub USB. Ręczne uczenie maszynowe nie jest wymagane, ponieważ jest używane w internetowej bazie danych do wykrywania obiektów. Możesz wykryć większość obiektów, które są powszechnie używane na całym świecie.

Proszę odnieść się do mojego powyższego zdjęcia, użyliśmy myszy, jabłka i nożyczek i idealnie wykryliśmy obiekt.

Przewodnik poprowadzi Cię przez następujące kroki:

Zaktualizuj Raspberry Pi

Zainstaluj TensorFlowZainstaluj OpenCV

Skompiluj i zainstaluj Protobuf

Skonfiguruj strukturę katalogów TensorFlow

Wykrywaj obiekty

Krok 1: Zaktualizuj Raspberry Pi

Zaktualizuj Raspberry Pi
Zaktualizuj Raspberry Pi

Twoje Raspberry Pi wymaga aktualizacji

Krok 1:

Wpisz w terminalu poleceń, aktualizacja sudo apt-get

A potem wpisz

sudo apt-get dist-upgrade

To może zająć dużo czasu, zależy od twojego Internetu i Raspberry pi

To wszystko, czego potrzebujesz, zakończyłeś aktualizację swojego Raspberry pi

Krok 2: Zainstaluj TensorFlow

Zainstaluj TensorFlow
Zainstaluj TensorFlow

Teraz zainstalujemy Tensorflow.

Wpisz następujące polecenie, pip3 zainstaluj TensorFlow

TensorFlow potrzebuje również pakietu LibAtlas, wpisz następujące polecenie

sudo apt-get zainstaluj libatlas-base-dev

I wpisz również następujące polecenie, sudo pip3 install pillow lxml jupyter matplotlib cythonsudo apt-get install python-tk

Teraz zakończyliśmy instalację Tensorflow.

Krok 3: Zainstaluj OpenCV

Zainstaluj OpenCV
Zainstaluj OpenCV

Teraz pracujemy nad zainstalowaniem biblioteki OpenCV, ponieważ przykłady wykrywania obiektów TensorFlow używają matplotlib do pokazywania obrazów, ale wolę ćwiczyć OpenCV, ponieważ jest to łatwiejsze w pracy i mniej błędów. Więc musimy zainstalować OpenCV. Teraz OpenCV nie obsługuje RPI, więc zamierzamy zainstalować starszą wersję.

Teraz pracujemy nad zainstalowaniem kilku zależności, które należy zainstalować za pomocą apt-get

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

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

sudo apt-get zainstaluj libxvidcore-dev libx264-dev

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

Wreszcie, teraz możemy zainstalować OpenCV, wpisując, pip3 zainstaluj opencv-python==3.4.6.27

To wszystko, teraz zainstalowaliśmy OpenCV

Krok 4: Zainstaluj Protobuf

Zainstaluj Protobuf
Zainstaluj Protobuf

Interfejs API wykrywania obiektów TensorFlow korzysta z Protobuf, pakietu, który jest wyposażony w format danych Protocol Buffer firmy Google. Musisz skompilować ze źródeł, teraz możesz łatwo zainstalować.

sudo apt-get zainstaluj protobuf-kompilator

Po zakończeniu uruchom protoc --version. Powinieneś otrzymać odpowiedź libprotoc 3.6.1 lub podobnego.

Krok 5: Skonfiguruj strukturę katalogów TensorFlow

Konfigurowanie struktury katalogów TensorFlow
Konfigurowanie struktury katalogów TensorFlow

Zainstalowaliśmy wszystkie pakiety, chcemy ustawić katalog dla TensorFlow. Z katalogu domowego utwórz nazwę katalogu o nazwie „tensorflow1”, Wpisz następujące, mkdir tensorflow1cd tensorflow1

Teraz pobierz TensorFlow, wpisując, git clone --depth 1

Chcemy zmodyfikować zmienną środowiskową PYTHONPATH, aby kierować do niektórych katalogów w repozytorium TensorFlow. Za każdym razem musimy ustawić PYTHONPATH. Musimy dostosować plik.bashrc. Musimy go otworzyć, wpisując

sudo nano ~/.bashrc

Na końcu pliku, w ostatniej linii dodaj polecenie, tak jak na górnym obrazku, który jest zaznaczony na czerwonym polu.

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

Teraz zapisz i wyjdź. Musimy użyć Protoc do skompilowania plików Protocol Buffer(.proto) używanych przez Object Detection API. Pliki.proto znajdują się w /research/object_detection/protos, chcemy wykonać polecenie z katalogu /research. Wpisz następujące polecenie

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

To polecenie zmienia wszystkie pliki "name".proto na pliki "name_pb2".py.

cd /home/pi/tensorflow1/models/badania/wykrywanie_obiektu

Musimy pobrać model SSD_Lite z zoo modeli TensorFlowdetection. W tym celu chcemy użyć SSDLite-MobileNet, który jest najszybszym modelem istniejącym dla RPI.

Google nieustannie wypuszcza modele o zwiększonej szybkości i wydajności, więc często sprawdzaj, czy są jakieś ulepszone modele.

Wpisz następujące polecenie, aby pobrać model SSDLite-MobileNet.

wget

tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz

Teraz możemy przećwiczyć modele Object_Detction!

Już prawie skończyliśmy!

Krok 6: Wykryj obiekt

Wykryj obiekt
Wykryj obiekt

Teraz wszystko jest skonfigurowane do wykrywania obiektów wykonawczych na Pi!

Object_detection_picamera.py wykrywa obiekty na żywo z kamery internetowej Picamera lub USB.

Jeśli używasz Picamery, zmień konfigurację Raspberry Pi w menu jak na powyższym obrazku, zaznaczonym czerwonym kolorem.

Wpisz następujące polecenie, aby pobrać plik Object_detection_picamera.py do katalogu 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

Wpisz następujące polecenie dla kamery USB

python3 Object_detection_picamera.py --usbcam

Czyjaś komenda jest wykonywana, po 1 minucie otworzy się nowe okno, które rozpocznie wykrywanie obiektów!!!

Krok 7: Problemy i dziękuję

Problemy i dziękuję
Problemy i dziękuję

Daj mi znać, jeśli masz jakieś pytania

E-mail: [email protected]

Dziękuję Ci, Rithik