Cuprins:

Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow .: 4 pași
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow .: 4 pași

Video: Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow .: 4 pași

Video: Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow .: 4 pași
Video: Detectare de obiecte cu YOLO3 2024, Iulie
Anonim
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow
Detectarea obiectelor cu Dragonboard 410c sau 820c folosind OpenCV și Tensorflow

Acest instructable descrie cum să instalați OpenCV, Tensorflow și cadrele de învățare automată pentru Python 3.5 pentru a rula aplicația de detectare a obiectelor.

Pasul 1: Cerințe

Veți avea nevoie de următoarele elemente:

  • Un DragonBoard ™ 410c sau 820c;
  • O instalare curată a Linaro-alip:

    • DB410c: testat în versiunea v431. Link:
    • DB820c: testat în versiunea v228. Link:
  • Cel puțin un card MicroSD de 16 GB (dacă utilizați 410c);

Descărcați fișierul (la sfârșitul acestui pas), dezarhivați și copiați pe cardul MicroSD; Obs: dacă utilizați un DB820c, descărcați fișierul, dezarhivați și mutați la / acasă / * USER * / pentru a ușura utilizarea comenzilor.

  • Un hub USB;
  • O cameră USB (compatibilă cu Linux);
  • Un mouse și tastatură USB;
  • O conexiune la internet.

Obs: urmați aceste instrucțiuni în browserul DragonBoard, dacă este posibil, facilitând copierea comenzilor

Pasul 2: Montarea cardului MicroSD (numai W / DB410c)

  • Deschideți terminalul în Dragonboard;
  • În terminal rulați fdisk:

$ sudo fdisk -l

  • Introduceți cardul MicroSD în slotul pentru card MicroSD DragonBoard;
  • Rulați din nou fdisk, căutând numele (și partiția) noului dispozitiv din listă (de ex. Mmcblk1p1)

$ sudo fdisk -l

Accesați directorul rădăcină:

$ cd ~

Creați un dosar:

$ mkdir sdfolder

Montați cardul MicroSD:

$ mount / dev / sdfolder

Pasul 3: Instalarea cadrelor necesare

  • Deschideți terminalul în Dragonboard;
  • În terminal, accesați un director ales (folosind „~” pentru 820c și cardul SDCard montat pentru 410c):

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Accesați folderul de scripturi Detector de obiecte:

$ cd obiect_detector_tensorflow_opencv / scripturi /

Rulați scriptul de configurare a mediului:

$ sudo bash set_Env.sh

Actualizați sistemul:

$ sudo apt actualizare

Instalați aceste pachete:

$ 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 libx4 libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Accesați acest director:

$ cd / usr / src

Descărcați Python 3.5:

$ sudo wget

Extrageți pachetul:

$ sudo tar xzf Python-3.5.6.tgz

Ștergeți pachetul comprimat:

$ sudo rm Python-3.5.6.tgz

Accesați directorul Python 3.5:

$ cd Python-3.5.6

Activați optimizările pentru compilarea Python 3.5:

$ sudo./configure --enable-optimizations

Compilați Python 3.5:

$ sudo face altinstall

Actualizați instrumentele de configurare și pip:

$ sudo python3.5 -m instalare pip - actualizați pip && python3.5 -m instalați pip - actualizați instrumentele de configurare

Instalați numpy:

$ python3,5 -m pip instalare numpy

Accesați directorul ales:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Descărcați Tensorflow 1.11 whl:

$ wget

Instalați tensorflow:

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

Clonați depozite OpenCV și OpenCV Contrib:

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

Accesați directorul:

$ cd opencv

Creați un director de compilare și accesați-l:

$ sudo mkdir build && cd build

Rulați 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_PD care 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_D_CNV_DC_PV_DC_V_D_CNV_DD_CNV_DC_VERS_DM_VERSION_CONV_DM_VID_CONV_DC_VENIT_CONVENIȚI_CONV. module..

Compilați OpenCV cu 4 nuclee:

$ sudo make -j 4

Instalați OpenCV:

$ sudo make install

Accesați directorul ales:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Accesați directorul de scripturi:

$ cd obiect_detector_tensorflow_opencv / scripturi /

Instalați cerințele Python3.5:

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

Testarea importurilor:

$ python3.5

> import cv2 >> import tensorflow

Obs: Dacă cv2 returnează o eroare de import, rulați make install în folderul de compilare OpenCV și încercați din nou

Accesați directorul ales:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Descărcați depozitul cocoapi:

$ git clone

Descărcați depozitul de modele Tensorflow:

$ git clone

Accesați acest director:

$ cd cocoapi / PythonAPI

Editați fișierul Makefile, schimbând python în python3.5 în rândurile 3 și 8, apoi salvați fișierul (folosind ca exemplu nano):

$ nano Makefile

Compilați cocoapi:

$ sudo make

Obs: dacă comanda „make” nu se compilează, încercați să reinstalați Cython cu:

$ sudo python3,5 -m pip instalează cython

Copiați pycocotools în directorul tensorflow / models / research:

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

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

Accesați directorul ales:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Accesați directorul modele / cercetare:

$ cd modele / cercetare

Compilați cu protocoale:

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

Variabila de mediu de export:

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

Testați mediul:

$ python3.5 object_detection / builders / model_builder_test.py

Obs: Trebuie să revină OK, altfel aplicația nu va funcționa. Dacă nu, căutați cu atenție orice greșeală în procesul de instalare a cadrelor necesare

Pasul 4: Rularea API-ului de detectare a obiectelor

Rularea API-ului de detectare a obiectelor
Rularea API-ului de detectare a obiectelor

Cu toate cadrele configurate, acum este posibil să rulați API-ul de detectare a obiectelor care utilizează OpenCV împreună cu Tensorflow.

Accesați directorul ales:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Accesați directorul de detectare a obiectelor:

$ cd object_detector_tensorflow_opencv /

Acum rulați aplicația:

$ python3.5 app.py

Acum, Dragonboard va transmite video prin rețea. Pentru a vedea videoclipul de ieșire, deschideți browserul în DB și mergeți la „0.0.0.0: 5000”.

Recomandat: