Sommario:

Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow.: 4 passaggi
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow.: 4 passaggi

Video: Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow.: 4 passaggi

Video: Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow.: 4 passaggi
Video: Dev Kit Weekly: Thundercomm TurboX AI Kit 2024, Dicembre
Anonim
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow
Rilevamento di oggetti con Dragonboard 410c o 820c utilizzando OpenCV e Tensorflow

Queste istruzioni descrivono come installare OpenCV, Tensorflow e framework di apprendimento automatico per Python 3.5 per eseguire l'applicazione Object Detection.

Passaggio 1: requisiti

Avrai bisogno dei seguenti articoli:

  • Un DragonBoard™ 410c o 820c;
  • Un'installazione pulita di Linaro-alip:

    • DB410c: testato nella versione v431. Link:
    • DB820c: testato nella versione v228. Link:
  • Almeno una scheda MicroSD da 16 GB (se si utilizza il 410c);

Scarica il file (alla fine di questo passaggio), decomprimi e copia sulla scheda MicroSD; Obs: Se usi un DB820c, scarica il file, decomprimi e spostati in /home/*USER*/ per facilitare l'uso dei comandi.

  • Un hub USB;
  • Una fotocamera USB (compatibile con Linux);
  • Un mouse e una tastiera USB;
  • Una connessione Internet.

Obs: Se possibile, seguire queste istruzioni nel browser DragonBoard, facilitando la copia dei comandi

Passaggio 2: montaggio della scheda MicroSD (solo con DB410c)

  • Apri il terminale nella Dragonboard;
  • Nel terminale esegui fdisk:

$ sudo fdisk -l

  • Inserire la scheda MicroSD nello slot per schede MicroSD di DragonBoard;
  • Esegui di nuovo fdisk, cercando il nome (e la partizione) del nuovo dispositivo nell'elenco (es. mmcblk1p1)

$ sudo fdisk -l

Vai alla directory principale:

$ cd ~

Crea una cartella:

$ mkdir sdfolder

Montare la scheda MicroSD:

$ mount /dev/ sdfolder

Passaggio 3: installazione dei framework richiesti

  • Apri il terminale nella Dragonboard;
  • Nel terminale, vai in una directory scelta (usando "~" per l'820c e la SDCard montata per il 410c):

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Vai alla cartella degli script di Object Detector:

$ cd object_detector_tensorflow_opencv/scripts/

Esegui lo script di configurazione dell'ambiente:

$ sudo bash set_Env.sh

Aggiorna il sistema:

$ sudo apt update

Installa questi pacchetti:

$ 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-espng-de libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libjpeg-dev libtiff5-dev libtiff5-dev libavcodec-devlvcore libavformat libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Vai a questa directory:

$ cd /usr/src

Scarica Python 3.5:

$ sudo wget

Estrai il pacchetto:

$ sudo tar xzf Python-3.5.6.tgz

Elimina il pacchetto compresso:

$ sudo rm Python-3.5.6.tgz

Vai alla directory Python 3.5:

$ cd Python-3.5.6

Abilita le ottimizzazioni per la compilazione di Python 3.5:

$ sudo./configure --enable-optimizations

Compila Python 3.5:

$ sudo make altinstall

Aggiorna pip e strumenti di configurazione:

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

Installa numpy:

$ python3.5 -m pip install numpy

Vai alla directory scelta:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Scarica Tensorflow 1.11 whl:

$ wget

Installa tensorflow:

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

Clona repository OpenCV e OpenCV Contrib:

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

Vai alla rubrica:

$ cd opencv

Crea la directory di build e vai ad essa:

$ sudo mkdir build && cd build

Esegui 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 PYTHONTABLE_EXECUTH -D PYTHON3_TABELLA = -D PYTHONTABELLA3_DEFAULT_EXECUCU which 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_TESTBB=OFF -D -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_DNN=ON -D OPEN_CV.contrATH_MODUL. moduli..

Compila OpenCV con 4 core:

$ sudo make -j 4

Installa OpenCV:

$ sudo make install

Vai alla directory scelta:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Vai alla directory degli script:

$ cd object_detector_tensorflow_opencv/scripts/

Installa i requisiti di Python3.5:

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

Importazioni di prova:

$ pitone3.5

> import cv2 >> import tensorflow

Obs: se cv2 restituisce un errore di importazione, eseguire make install nella cartella build OpenCV e riprovare

Vai alla directory scelta:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Scarica il repository di Cocopi:

$ git clone

Scarica il repository dei modelli Tensorflow:

$ git clone

Vai a questa directory:

$ cd cacaopi/PythonAPI

Modifica il file Makefile, cambiando python in python3.5 nelle righe 3 e 8, quindi salva il file (usando nano come esempio):

$ nano Makefile

Componi il cacaopi:

$ sudo make

Obs: se il comando "make" non viene compilato, prova a reinstallare cython con:

$ sudo python3.5 -m pip install cython

Copia pycocotools nella directory tensorflow /models/research:

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

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

Vai alla directory scelta:

(820c) $ cd ~

(410c) $ cd ~/sdfolder

Vai alla directory modelli/ricerca:

$ cd modelli/ricerca

Compila con protocollo:

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

Esporta variabile di ambiente:

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

Testare l'ambiente:

$ python3.5 object_detection/builders/model_builder_test.py

Obs: deve restituire OK, altrimenti l'applicazione non funzionerà. In caso contrario, cercare attentamente eventuali errori nel processo di installazione dei framework richiesti

Passaggio 4: esecuzione dell'API di rilevamento oggetti

Esecuzione dell'API di rilevamento oggetti
Esecuzione dell'API di rilevamento oggetti

Con tutti i framework configurati, ora è possibile eseguire l'API di rilevamento degli oggetti che utilizza OpenCV insieme a Tensorflow.

Vai alla directory scelta:

(820c) $ cd ~

(410c) $ cd ~/cartella sd

Vai alla directory di rilevamento degli oggetti:

$ cd object_detector_tensorflow_opencv/

Ora esegui l'applicazione:

$ python3.5 app.py

Ora la Dragonboard trasmetterà il video in streaming attraverso la rete. Per vedere il video in uscita apri il browser nel DB e vai a "0.0.0.0:5000".

Consigliato: