Inhaltsverzeichnis:
2025 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2025-01-13 06:56
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
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".