Inhaltsverzeichnis:

Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow. - Gunook
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow. - Gunook

Video: Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow. - Gunook

Video: Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow. - Gunook
Video: Platinenkamera VC DragonCam® ft. Snapdragon™ 410 2024, November
Anonim
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow
Objekterkennung mit Dragonboard 410c oder 820c mit OpenCV und Tensorflow

Diese Anleitung beschreibt, wie Sie OpenCV-, Tensorflow- und Machine-Learning-Frameworks für Python 3.5 installieren, um die Objekterkennungsanwendung auszuführen.

Schritt 1: Anforderungen

Sie benötigen die folgenden Elemente:

  • Ein DragonBoard™ 410c oder 820c;
  • Eine saubere Installation von Linaro-alip:

    • DB410c: getestet in Version v431. Link:
    • DB820c: getestet in Version v228. Link:
  • Mindestens eine MicroSD-Karte mit 16 GB Kapazität (bei Verwendung des 410c);

Laden Sie die Datei herunter (am Ende dieses Schritts), entpacken Sie sie und kopieren Sie sie auf die MicroSD-Karte.

  • Ein USB-Hub;
  • Eine USB-Kamera (Linux-kompatibel);
  • Eine USB-Maus und -Tastatur;
  • Eine Internetverbindung.

Obs: Befolgen Sie diese Anweisungen im DragonBoard-Browser, wenn möglich, um das Kopieren der Befehle zu erleichtern

Schritt 2: Einsetzen der MicroSD-Karte (nur W/ DB410c)

  • Öffne das Terminal im Dragonboard.
  • Führen Sie im Terminal fdisk aus:

$ sudo fdisk -l

  • Setzen Sie die MicroSD-Karte in den MicroSD-Kartensteckplatz von DragonBoard ein.
  • Führen Sie fdisk erneut aus und suchen Sie in der Liste nach dem Namen (und der Partition) des neuen Geräts (z. B. mmcblk1p1)

$ sudo fdisk -l

Gehen Sie in das Stammverzeichnis:

$ cd ~

Erstellen Sie einen Ordner:

$ mkdir sdfolder

Montieren Sie die MicroSD-Karte:

$ mount /dev/ sdfolder

Schritt 3: Erforderliche Frameworks installieren

  • Öffne das Terminal im Dragonboard.
  • Gehen Sie im Terminal zu einem ausgewählten Verzeichnis (mit "~" für den 820c und die gemountete SDCard für den 410c):

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Gehen Sie zum Ordner "Object Detector scripts":

$ cd object_detector_tensorflow_opencv/scripts/

Führen Sie das Umgebungs-Setup-Skript aus:

$ sudo bash set_Env.sh

Aktualisieren Sie das System:

$ sudo apt-Update

Installieren Sie diese Pakete:

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

g++-aarch64-linux-gnu debootstrap schroot git curl pkg-config zip entpacken python python-pip g++ zlib1g-dev default-jre libhdf5-dev libatlas-base-dev gfortran v4l-utils hdf5* libhdf5* libpng-dev build-essential 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 libx4dev libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Gehen Sie in dieses Verzeichnis:

$ cd /usr/src

Python 3.5 herunterladen:

$ sudo wget

Entpacken Sie das Paket:

$ sudo tar xzf Python-3.5.6.tgz

Löschen Sie das komprimierte Paket:

$ sudo rm Python-3.5.6.tgz

Gehen Sie zum Python 3.5-Verzeichnis:

$ cd Python-3.5.6

Aktivieren Sie Optimierungen für die Python 3.5-Kompilierung:

$ sudo./configure --enable-optimizations

Kompilieren Sie Python 3.5:

$ sudo mache altinstall

Upgrade von Pip- und Setup-Tools:

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

numpy installieren:

$ python3.5 -m pip install numpy

Gehen Sie in das gewählte Verzeichnis:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Laden Sie Tensorflow 1.11 Whl herunter:

$ wget

Tensorflow installieren:

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

Klonen Sie OpenCV- und OpenCV-Contrib-Repositorys:

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

Gehe zum Verzeichnis:

$ cd opencv

Erstellen Sie ein Build-Verzeichnis und gehen Sie dorthin:

$ sudo mkdir build && cd build

Führen Sie CMake aus:

$ 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_DEFA3=ON -D PYTHON3. welches 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 -D BUILD_TESTSBOFF= - -DBUILD_TBB=ON -D OPENCV_ENABLE_NONFREE=ON -DBUILD_opencv_xfeatures2d=OFF -D OPENGL=ON -D OPENMP=ON -D ENABLE_NEON=ON -D BUILD_PERF_TESTS= OFF -D BUILD_OPENCV_DNNVLES.c_cont_cont_dNN/. Module..

Kompilieren Sie OpenCV mit 4 Kernen:

$ sudo make -j 4

OpenCV installieren:

$ sudo make install

Gehen Sie in das gewählte Verzeichnis:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Gehen Sie zum Skriptverzeichnis:

$ cd object_detector_tensorflow_opencv/scripts/

Python3.5-Anforderungen installieren:

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

Testimporte:

$ python3.5

> cv2 importieren >> Tensorflow importieren

Obs: Wenn cv2 einen Importfehler zurückgibt, führen Sie make install im OpenCV-Build-Ordner aus und versuchen Sie es erneut

Gehen Sie in das gewählte Verzeichnis:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Cocopi-Repository herunterladen:

$ git-Klon

Laden Sie das Tensorflow-Modell-Repository herunter:

$ git-Klon

Gehen Sie in dieses Verzeichnis:

$ cd Cocoapi/PythonAPI

Bearbeiten Sie die Datei Makefile, ändern Sie Python in python3.5 in Zeile 3 und 8 und speichern Sie die Datei (am Beispiel von Nano):

$ nano Makefile

Kompilieren Sie die Cocopi:

$ sudo machen

Obs: Wenn der Befehl "make" nicht kompiliert wird, versuchen Sie, Cython neu zu installieren mit:

$ sudo python3.5 -m pip install cython

Kopieren Sie pycocotools in das Verzeichnis tensorflow /models/research:

(820c) $ cp -r pycocotools ~/models/research/

(410c) $ cp -r pycocotools ~/sdfolder/models/research/

Gehen Sie in das gewählte Verzeichnis:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Gehen Sie zum Verzeichnis Modelle/Forschung:

$ CD-Modelle/Forschung

Kompilieren mit Protokoll:

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

Umgebungsvariable exportieren:

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

Testen Sie die Umgebung:

$ python3.5 object_detection/builders/model_builder_test.py

Obs: Es muss OK zurückgeben, sonst funktioniert die Anwendung nicht. Wenn nicht, suchen Sie bei der Installation der erforderlichen Frameworks sorgfältig nach Fehlern

Schritt 4: Ausführen der Objekterkennungs-API

Ausführen der Objekterkennungs-API
Ausführen der Objekterkennungs-API

Wenn alle Frameworks konfiguriert sind, ist es jetzt möglich, die Objekterkennungs-API auszuführen, die OpenCV zusammen mit Tensorflow verwendet.

Gehen Sie in das gewählte Verzeichnis:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Gehen Sie zum Objekterkennungsverzeichnis:

$ cd object_detector_tensorflow_opencv/

Führen Sie nun die Anwendung aus:

$ python3.5 app.py

Jetzt wird das Dragonboard das Video über das Netzwerk streamen. Um das Ausgabevideo zu sehen, öffnen Sie den Browser in der DB und gehen Sie zu "0.0.0.0:5000".

Empfohlen: