Taula de continguts:

Detecció d'objectes W / Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow .: 4 passos
Detecció d'objectes W / Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow .: 4 passos

Vídeo: Detecció d'objectes W / Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow .: 4 passos

Vídeo: Detecció d'objectes W / Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow .: 4 passos
Vídeo: Object detection using the Dragonboard 845 2024, Desembre
Anonim
Detecció d'objectes amb Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow
Detecció d'objectes amb Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow
Detecció d'objectes amb Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow
Detecció d'objectes amb Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow
Detecció d'objectes amb Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow
Detecció d'objectes amb Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow
Detecció d'objectes amb Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow
Detecció d'objectes amb Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow

Aquest document instructiu descriu com instal·lar OpenCV, Tensorflow i marcs d'aprenentatge automàtic per a Python 3.5 per executar l'aplicació de detecció d'objectes.

Pas 1: requisits

Necessitareu els següents elements:

  • Un DragonBoard ™ 410c o 820c;
  • Una instal·lació neta de Linaro-alip:

    • DB410c: provat a la versió v431. Enllaç:
    • DB820c: provat a la versió v228. Enllaç:
  • Com a mínim una targeta MicroSD de 16 GB de capacitat (si s’utilitza el 410c);

Descarregueu el fitxer (al final d’aquest pas), descomprimiu-lo i copieu-lo a la targeta MicroSD; Obs: si utilitzeu un DB820c, descarregueu-lo, descomprimiu-lo i moveu-lo a / home / * USER * / per facilitar l’ús de les ordres.

  • Un concentrador USB;
  • Una càmera USB (compatible amb Linux);
  • Un ratolí i un teclat USB;
  • Una connexió a Internet.

Obs: seguiu aquests instruccions al navegador DragonBoard si és possible, facilitant la còpia de les ordres

Pas 2: muntatge de la targeta MicroSD (només W / DB410c)

  • Obriu el terminal al Dragonboard;
  • Al terminal executeu fdisk:

$ sudo fdisk -l

  • Introduïu la targeta MicroSD a la ranura de la targeta MicroSD de DragonBoard;
  • Torneu a executar fdisk, buscant el nom (i la partició) del dispositiu nou a la llista (per exemple, mmcblk1p1)

$ sudo fdisk -l

Aneu al directori arrel:

$ cd ~

Creeu una carpeta:

$ mkdir sdfolder

Muntar la targeta MicroSD:

$ mount / dev / sdfolder

Pas 3: Instal·lació dels marcs necessaris

  • Obriu el terminal al Dragonboard;
  • Al terminal, aneu al directori escollit (amb "~" per al 820c i la targeta SDC muntada per al 410c):

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Aneu a la carpeta de scripts del Detector d'objectes:

$ cd object_detector_tensorflow_opencv / scripts /

Executeu l'script de configuració de l'entorn:

$ sudo bash set_Env.sh

Actualitzeu el sistema:

$ sudo apt actualització

Instal·leu aquests paquets:

$ 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 * libpng-dev build-essential cmake 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 libv4l-dev libxvidcore-dev libxvidcore-dev libxvidcore-dev libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Aneu a aquest directori:

$ cd / usr / src

Descarregueu Python 3.5:

$ sudo wget

Extraieu el paquet:

$ sudo tar xzf Python-3.5.6.tgz

Suprimiu el paquet comprimit:

$ sudo rm Python-3.5.6.tgz

Aneu al directori Python 3.5:

$ cd Python-3.5.6

Activeu les optimitzacions per a la compilació de Python 3.5:

$ sudo./configure --enable-optimizations

Compileu Python 3.5:

$ sudo make altinstall

Actualitzeu les eines de configuració i pip:

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

Instal·la numpy:

$ python3,5 -m pip instal·lació numpy

Aneu al directori escollit:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Descarregueu Tensorflow 1.11 whl:

$ wget

Instal·leu tensorflow:

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

Cloneu els dipòsits OpenCV i OpenCV Contrib:

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

Ves al directori:

$ cd opencv

Creeu un directori de compilació i aneu-hi:

$ sudo mkdir build && cd build

Executa 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 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_T -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 OPENCV_EXTRA_MODULES_PATH =.. /.. / opencv_contrib / mòduls..

Compileu OpenCV amb 4 nuclis:

$ sudo make -j 4

Instal·leu OpenCV:

$ sudo make install

Aneu al directori escollit:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Aneu al directori de scripts:

$ cd object_detector_tensorflow_opencv / scripts /

Instal·leu els requisits de Python3.5:

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

Prova les importacions:

$ python3.5

> importar cv2 >> importar tensorflow

Obs: Si cv2 retorna un error d'importació, executeu make install a la carpeta de compilació d'OpenCV i torneu-ho a provar

Aneu al directori escollit:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Descarregueu el dipòsit de cocoapi:

$ git clone

Descarregueu el dipòsit de models Tensorflow:

$ git clone

Aneu a aquest directori:

$ cd cocoapi / PythonAPI

Editeu el fitxer Makefile, canviant python a python3.5 a les línies 3 i 8 i deseu el fitxer (utilitzant nano com a exemple):

$ nano Makefile

Compileu els cocoapi:

$ sudo make

Obs: si l'ordre "make" no es compila, proveu de reinstal·lar Cython amb:

$ sudo python3,5 -m pip instal·la cython

Copieu pycocotools al directori tensorflow / models / research:

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

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

Aneu al directori escollit:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Aneu al directori de models / investigacions:

$ cd models / investigació

Compileu amb protocols:

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

Variable d'entorn d'exportació:

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

Proveu l'entorn:

$ python3.5 object_detection / builders / model_builder_test.py

Obs: Ha de tornar correcte, en cas contrari l'aplicació no funcionarà. Si no és així, cerqueu acuradament qualsevol error en el procés d’instal·lació dels marcs necessaris

Pas 4: Execució de l'API de detecció d'objectes

Execució de l'API de detecció d'objectes
Execució de l'API de detecció d'objectes

Amb tots els marcs configurats, ara és possible executar l’API de detecció d’objectes que utilitza OpenCV juntament amb Tensorflow.

Aneu al directori escollit:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Aneu al directori de detecció d'objectes:

$ cd object_detector_tensorflow_opencv /

Ara executeu l'aplicació:

$ python3.5 app.py

Ara, Dragonboard transmetrà el vídeo a través de la xarxa. Per veure el vídeo de sortida, obriu el navegador a la base de dades i aneu a "0.0.0.0: 5000".

Recomanat: