Spisu treści:
- Krok 1: Wymagania
- Krok 2: Montaż karty MicroSD (tylko W/DB410c)
- Krok 3: Instalowanie wymaganych frameworków
- Krok 4: Uruchamianie API do wykrywania obiektów
Wideo: Wykrywanie obiektów z Dragonboard 410c lub 820c przy użyciu OpenCV i Tensorflow.: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
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
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:
Programowanie zorientowane obiektowo: tworzenie obiektów Metoda/technika uczenia się/nauki przy użyciu dziurkacza kształtów: 5 kroków
Programowanie zorientowane obiektowo: tworzenie obiektów Metoda/technika uczenia się/nauki Korzystanie z dziurkacza kształtowego: Metoda uczenia się/nauczania dla studentów początkujących w programowaniu zorientowanym obiektowo. Jest to sposób na umożliwienie im wizualizacji i zobaczenia procesu tworzenia obiektów z klas.Części:1. EkTools 2-calowy duży stempel; najlepsze są solidne kształty.2. Kawałek papieru lub c
Programowanie obiektowe: tworzenie obiektów Metoda/technika uczenia się/nauki przy użyciu nożyczek: 5 kroków
Programowanie zorientowane obiektowo: tworzenie obiektów Metoda/technika uczenia się/nauki Używanie nożyczek: Metoda uczenia się/nauczania dla studentów początkujących w programowaniu zorientowanym obiektowo. Jest to sposób na umożliwienie im wizualizacji i zobaczenia procesu tworzenia obiektów z klas.Części: 1. Nożyczki (dowolny rodzaj). 2. Kawałek papieru lub karton. 3. Znacznik
Neopixel Ws2812 Rainbow LED Glow z M5stick-C - Uruchamianie Rainbow na Neopixel Ws2812 przy użyciu M5stack M5stick C przy użyciu Arduino IDE: 5 kroków
Neopixel Ws2812 Rainbow LED Glow z M5stick-C | Uruchamianie Rainbow na Neopixel Ws2812 Używając M5stack M5stick C Używając Arduino IDE: Cześć chłopaki, w tej instrukcji dowiemy się, jak używać neopikselowych ws2812 LED lub taśmy LED lub matrycy LED lub pierścienia LED z płytką rozwojową m5stack m5stick-C z Arduino IDE i zrobimy wzór tęczy z nim
Rzeczywistość rozszerzona (AR) dla Dragonboard410c lub Dragonboard820c przy użyciu OpenCV i Pythona 3.5: 4 kroki
Rzeczywistość rozszerzona (AR) dla Dragonboard410c lub Dragonboard820c Korzystanie z OpenCV i Pythona 3.5: W tej instrukcji opisano, jak zainstalować OpenCV, Python 3.5 i zależności dla Pythona 3.5, aby uruchomić aplikację rozszerzonej rzeczywistości
Wykrywanie intruzów Arduino HiFive1 z alertami MQTT przy użyciu ESP32 lub ESP8266: 6 kroków
HiFive1 Wykrywanie intruzów Arduino z alertami MQTT przy użyciu ESP32 lub ESP8266: HiFive1 to pierwsza kompatybilna z Arduino płytka RISC-V zbudowana z procesorem FE310 firmy SiFive. Płyta jest około 20 razy szybsza niż Arduino UNO, ale podobnie jak płyta UNO, nie ma łączności bezprzewodowej. Na szczęście istnieje kilka tań