Inhoudsopgave:

Objectdetectie met Dragonboard 410c of 820c met OpenCV en Tensorflow: 4 stappen
Objectdetectie met Dragonboard 410c of 820c met OpenCV en Tensorflow: 4 stappen

Video: Objectdetectie met Dragonboard 410c of 820c met OpenCV en Tensorflow: 4 stappen

Video: Objectdetectie met Dragonboard 410c of 820c met OpenCV en Tensorflow: 4 stappen
Video: DragonBoard 410c Workshop - 96Boards goes to Qualcomm 2024, Juli-
Anonim
Objectdetectie met Dragonboard 410c of 820c met behulp van OpenCV en Tensorflow
Objectdetectie met Dragonboard 410c of 820c met behulp van OpenCV en Tensorflow
Objectdetectie met Dragonboard 410c of 820c met behulp van OpenCV en Tensorflow
Objectdetectie met Dragonboard 410c of 820c met behulp van OpenCV en Tensorflow
Objectdetectie met Dragonboard 410c of 820c met behulp van OpenCV en Tensorflow
Objectdetectie met Dragonboard 410c of 820c met behulp van OpenCV en Tensorflow
Objectdetectie met Dragonboard 410c of 820c met behulp van OpenCV en Tensorflow
Objectdetectie met Dragonboard 410c of 820c met behulp van OpenCV en Tensorflow

Deze instructables beschrijft hoe u OpenCV-, Tensorflow- en machine learning-frameworks voor Python 3.5 installeert om de Object Detection-toepassing uit te voeren.

Stap 1: Vereisten

Je hebt de volgende onderdelen nodig:

  • Een DragonBoard™ 410c of 820c;
  • Een schone installatie van Linaro-alip:

    • DB410c: getest in versie v431. Link:
    • DB820c: getest in versie v228. Link:
  • Minimaal een MicroSD-kaart met een capaciteit van 16 GB (bij gebruik van de 410c);

Download het bestand (aan het einde van deze stap), pak het uit en kopieer het naar de MicroSD-kaart;Obs: Als u een DB820c gebruikt, download het bestand, pak het uit en verplaats het naar /home/*USER*/ om het gebruik van de opdrachten te vergemakkelijken.

  • Een USB-hub;
  • Een USB-camera (compatibel met Linux);
  • Een USB-muis en -toetsenbord;
  • Een internetverbinding.

Obs: volg deze instructies indien mogelijk in de DragonBoard-browser, waardoor het kopiëren van de opdrachten wordt vergemakkelijkt

Stap 2: De MicroSD-kaart monteren (alleen met DB410c)

  • Open de terminal in het Dragonboard;
  • Voer in de terminal fdisk uit:

$ sudo fdisk -l

  • Plaats de MicroSD-kaart in de DragonBoard MicroSD-kaartsleuf;
  • Voer fdisk opnieuw uit en zoek naar de naam (en partitie) van het nieuwe apparaat in de lijst (bijv. mmcblk1p1)

$ sudo fdisk -l

Ga naar de hoofdmap:

$ cd ~

Maak een map aan:

$ mkdir sdfolder

Monteer de MicroSD-kaart:

$ mount /dev/ sdfolder

Stap 3: Vereiste frameworks installeren

  • Open de terminal in het Dragonboard;
  • Ga in de terminal naar een gekozen map (gebruik "~" voor de 820c en de gekoppelde SD-kaart voor de 410c):

(820c) $ cd ~

(410c) $ cd ~/sdmap

Ga naar de map Object Detector scripts:

$ cd object_detector_tensorflow_opencv/scripts/

Voer het installatiescript voor de omgeving uit:

$ sudo bash set_Env.sh

Het systeem bijwerken:

$ sudo apt-update

Installeer deze pakketten:

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

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

Ga naar deze map:

$ cd /usr/src

Python 3.5 downloaden:

$ sudo wget

Pak het pakket uit:

$ sudo tar xzf Python-3.5.6.tgz

Verwijder het gecomprimeerde pakket:

$ sudo rm Python-3.5.6.tgz

Ga naar de Python 3.5-directory:

$ cd Python-3.5.6

Optimalisaties inschakelen voor de Python 3.5-compilatie:

$ sudo./configure --enable-optimizations

Compileer Python 3.5:

$ sudo make altinstall

Upgrade pip en setup-tools:

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

Numpy installeren:

$ python3.5 -m pip installatie numpy

Ga naar de gekozen map:

(820c) $ cd ~

(410c) $ cd ~/sdmap

Download Tensorflow 1.11 whl:

$ wget

Installeer tensorflow:

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

Kloon OpenCV- en OpenCV Contrib-opslagplaatsen:

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

Ga naar map:

$ cd opencv

Maak een build-map en ga ernaartoe:

$ sudo mkdir build && cd build

Voer CMake uit:

$ 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_DEFAULT welke python3.5) -D PYTHON_INCLUDE_DIR=/usr/local/include/python3.5m/ -D INSTALL_C_EXAMPLES=UIT -D INSTALL_PYTHON3_EXAMPLES=UIT -D BUILD_EXAMPLES=UIT -D WITH_CUDA=UIT -D BUILD_TESTS=UIT= -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_DNNV_ON_D OPENC modulen..

Compileer OpenCV met 4 cores:

$ sudo make -j 4

OpenCV installeren:

$ sudo make install

Ga naar de gekozen map:

(820c) $ cd ~

(410c) $ cd ~/sdmap

Ga naar de scriptmap:

$ cd object_detector_tensorflow_opencv/scripts/

Installeer Python3.5-vereisten:

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

Testimport:

$ python3.5

> import cv2 >> import tensorflow

Obs: Als cv2 een importfout retourneert, voer dan make install uit in de OpenCV build-map en probeer het opnieuw

Ga naar de gekozen map:

(820c) $ cd ~

(410c) $ cd ~/sdmap

Cocopi-repository downloaden:

$ git-kloon

Download de opslagplaats voor Tensorflow-modellen:

$ git-kloon

Ga naar deze map:

$ cd cacaopi/PythonAPI

Bewerk het bestand Makefile, verander python in python3.5 in regel 3 en 8 en sla het bestand op (met nano als voorbeeld):

$ nano Makefile

Stel de cacaopi samen:

$ sudo make

Obs: Als het 'make'-commando niet compileert, probeer dan cython opnieuw te installeren met:

$ sudo python3.5 -m pip installeer cython

Kopieer pycocotools naar tensorflow /models/research directory:

(820c) $ cp -r pycocotools ~/modellen/onderzoek/

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

Ga naar de gekozen map:

(820c) $ cd ~

(410c) $ cd ~/sdmap

Ga naar modellen/onderzoeksdirectory:

$ cd-modellen/onderzoek

Compileren met protocol:

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

Omgevingsvariabele exporteren:

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

Test de omgeving:

$ python3.5 object_detection/builders/model_builder_test.py

Obs: Het moet OK retourneren, anders werkt de applicatie niet. Zo niet, zoek dan zorgvuldig naar fouten tijdens het installeren van de vereiste frameworks

Stap 4: De objectdetectie-API uitvoeren

De objectdetectie-API uitvoeren
De objectdetectie-API uitvoeren

Als alle frameworks zijn geconfigureerd, is het nu mogelijk om de objectdetectie-API uit te voeren die OpenCV samen met Tensorflow gebruikt.

Ga naar de gekozen map:

(820c) $ cd ~

(410c) $ cd ~/sdmap

Ga naar objectdetectiedirectory:

$ cd object_detector_tensorflow_opencv/

Voer nu de applicatie uit:

$ python3.5 app.py

Nu zal het Dragonboard de video via het netwerk streamen. Om de uitvoervideo te zien, opent u de browser in de DB en gaat u naar "0.0.0.0:5000".

Aanbevolen: