Spisu treści:

Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow.: 4 kroki
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow.: 4 kroki

Wideo: Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow.: 4 kroki

Wideo: Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow.: 4 kroki
Wideo: 29 12 2020 XXXVI Sesja Rady Miejskiej w Bukownie (z napisami) 2024, Listopad
Anonim
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow
Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow

Ta instrukcja opisuje, jak zainstalować OpenCV, Tensorflow i frameworki uczenia maszynowego dla Pythona 3.5, aby uruchomić aplikację Object Detection.

Krok 1: Wymagania

Będziesz potrzebować następujących rzeczy:

  • DragonBoard™ 410c lub 820c;
  • Czysta instalacja Linaro-alip:

    • DB410c: testowane w wersji v431. Link:
    • DB820c: testowane w wersji v228. Link:
  • Karta MicroSD o pojemności co najmniej 16 GB (w przypadku korzystania z modelu 410c);

Pobierz plik (na końcu tego kroku), rozpakuj i skopiuj na kartę MicroSD;Obs: Jeśli używasz DB820c, pobierz plik, rozpakuj i przejdź do /home/*USER*/, aby ułatwić korzystanie z poleceń.

  • koncentrator USB;
  • Kamera USB (zgodna z systemem Linux);
  • Mysz i klawiatura USB;
  • Połączenie internetowe.

Obs: Postępuj zgodnie z instrukcjami w przeglądarce DragonBoard, jeśli to możliwe, ułatwiając kopiowanie poleceń

Krok 2: Montaż karty MicroSD (tylko W/DB410c)

  • Otwórz terminal w Dragonboard;
  • W terminalu uruchom fdisk:

$ sudo fdisk -l

  • Włóż kartę MicroSD do gniazda karty MicroSD DragonBoard;
  • Uruchom ponownie fdisk, szukając nazwy (i partycji) nowego urządzenia na liście (np. mmcblk1p1)

$ sudo fdisk -l

Przejdź do katalogu głównego:

$ cd ~

Utwórz folder:

$ mkdir sdfolder

Zamontuj kartę MicroSD:

$ mount /dev/ sdfolder

Krok 3: Instalowanie wymaganych frameworków

  • Otwórz terminal w Dragonboard;
  • W terminalu przejdź do wybranego katalogu (używając "~" dla 820c i zamontowanej karty SD dla 410c):

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Przejdź do folderu skryptów Object Detector:

$ cd object_detector_tensorflow_opencv/scripts/

Uruchom skrypt konfiguracji środowiska:

$ sudo bash set_Env.sh

Zaktualizuj system:

$ sudo apt aktualizacja

Zainstaluj te pakiety:

$ sudo apt install -y kompilator protobuf gcc-aarch64-linux-gnu

g++-aarch64-linux-gnu debootstrap schroot git curl pkg-config zip rozpakuj python python-pip g++ zlib1g-dev default-jre libhdf5-dev libatlas-base-dev gfortran v4l-utils hdf5* libhdf5* libhdf5* libhdf5-libpng-ake build libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libjpeg-dev libtiff5-dev libavcodec-dev libavformat-dev libswscale-dev libvx4l-dev libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Przejdź do tego katalogu:

$ cd /usr/src

Pobierz Pythona 3.5:

$ sudo wget

Wyodrębnij pakiet:

$ sudo tar xzf Python-3.5.6.tgz

Usuń skompresowany pakiet:

$ sudo rm Python-3.5.6.tgz

Przejdź do katalogu Python 3.5:

$ cd Python-3.5.6

Włącz optymalizacje dla kompilacji Pythona 3.5:

$ sudo./configure --enable-optimizations

Skompiluj Pythona 3.5:

$ sudo make altinstall

Uaktualnij narzędzia pip i setup:

$ sudo python3.5 -m pip install --upgrade pip && python3.5 -m pip install --upgrade setuptools

Zainstaluj numpy:

$ python3.5 -m pip zainstalować numpy

Przejdź do wybranego katalogu:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Pobierz Tensorflow 1.11 whl:

$ wget

Zainstaluj tensorflow:

$ sudo python3.5 -m pip zainstaluj tensorflow-1.11.0-cp35-none-linux_aarch64.whl

Klonuj repozytoria OpenCV i OpenCV Contrib:

$ sudo git clone -b 3.4 https://github.com/opencv/opencv.git && sudo git clone -b 3.4

Przejdź do katalogu:

$ cd opencv

Utwórz katalog kompilacji i przejdź do niego:

$ sudo mkdir build && cd build

Uruchom CMake:

$ sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_java=OFF -D BUILD_opencv_python=OFF -D BUILD_opencv_python3=ON -D PYTHON3_TABELA$. który python3.5) -D PYTHON_INCLUDE_DIR=/usr/local/include/python3.5m/ -D INSTALL_C_EXAMPLES=OFF -D INSTALL_PYTHON3_EXAMPLES=OFF -D BUILD_EXAMPLES=OFF -D WITH_CUDA=OFF WITH -D BUILD_TESTS=OFF -D BUILD_TESTS=OFF -DBUILD_TBB=WŁ -D OPENCV_ENABLE_NONFREE=WŁ -DBUILD_opencv_xfeatures2d=WYŁ -D OPENGL=WŁ -D OPENMP=WŁ -D ENABLE_NEON=WŁ -D BUILD_PERF_TESTS= WYŁ -D BUILD_OPENCV_DNN=WŁ -D. moduły..

Skompiluj OpenCV z 4 rdzeniami:

$ sudo make -j 4

Zainstaluj OpenCV:

$ sudo make zainstaluj

Przejdź do wybranego katalogu:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Przejdź do katalogu skryptów:

$ cd object_detector_tensorflow_opencv/scripts/

Zainstaluj wymagania Python3.5:

$ sudo python3.5 -m pip install -r wymagania.txt --no-cache-dir

Importy testowe:

$ Python3, 5

> importuj cv2 >> importuj tensorflow

Obs: Jeśli cv2 zwraca błąd importu, uruchom make install w folderze kompilacji OpenCV i spróbuj ponownie

Przejdź do wybranego katalogu:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Pobierz repozytorium cocoapi:

$ klon git

Pobierz repozytorium modeli Tensorflow:

$ klon git

Przejdź do tego katalogu:

$ cd cocoapi/PythonAPI

Edytuj plik Makefile, zmieniając python na python3.5 w wierszach 3 i 8, a następnie zapisz plik (na przykładzie nano):

$Nano Makefile

Skompiluj cocoapi:

$ marka sudo

Obs: Jeśli polecenie „make” nie skompiluje się, spróbuj ponownie zainstalować cython za pomocą:

$ sudo python3.5 -m pip install cython

Skopiuj pycocotools do katalogu tensorflow /models/research:

(820c) $ cp -r pycocotools ~/modele/badania/

(410c) $ cp -r pycocotools ~/sdfolder/modele/badania/

Przejdź do wybranego katalogu:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Przejdź do katalogu modeli/badań:

$ modele cd/badania

Skompiluj z protokołem:

$ protoc object_detection/protos/*.proto --python_out=.

Eksportuj zmienną środowiskową:

$ export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

Przetestuj środowisko:

$ python3.5 object_detection/builders/model_builder_test.py

Obs: Musi zwrócić OK, w przeciwnym razie aplikacja nie będzie działać. Jeśli nie, dokładnie szukaj błędów w procesie instalacji wymaganych frameworków

Krok 4: Uruchamianie API do wykrywania obiektów

Uruchamianie API do wykrywania obiektów
Uruchamianie API do wykrywania obiektów

Po skonfigurowaniu wszystkich frameworków możliwe jest teraz uruchomienie API do wykrywania obiektów, które wykorzystuje OpenCV wraz z Tensorflow.

Przejdź do wybranego katalogu:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Przejdź do katalogu wykrywania obiektów:

$ cd object_detector_tensorflow_opencv/

Teraz uruchom aplikację:

$ python3.5 aplikacja.py

Teraz Dragonboard będzie przesyłać strumieniowo wideo przez sieć. Aby zobaczyć wyjściowe wideo, otwórz przeglądarkę w DB i przejdź do „0.0.0.0:5000”.

Zalecana: