Spisu treści:

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

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

Wideo: Wykrywanie obiektów Raspberry Pi: 7 kroków
Wideo: Instalacja Home Assistant na Raspberry Pi 2024, Listopad
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

Zalecana: