Taula de continguts:
- Pas 1: requisits
- Pas 2: muntatge de la targeta MicroSD (només W / DB410c)
- Pas 3: Instal·lació dels marcs necessaris
- Pas 4: Execució de l'API de detecció d'objectes
Vídeo: Detecció d'objectes W / Dragonboard 410c o 820c mitjançant OpenCV i Tensorflow .: 4 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
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
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:
Detecció d'objectes amb plaques SIPeed MaiX (Kendryte K210): 6 passos
Detecció d’objectes amb plaques Sipeed MaiX (Kendryte K210): Com a continuació del meu article anterior sobre reconeixement d’imatges amb les plaques Sipeed MaiX, vaig decidir escriure un altre tutorial, centrat en la detecció d’objectes. Recentment va aparèixer un maquinari interessant amb el xip Kendryte K210, inclòs S
Programació orientada a objectes: Creació d’objectes Mètode / tècnica d’aprenentatge / ensenyament mitjançant l’aplicació de formes: 5 passos
Programació orientada a objectes: Creació d’objectes Mètode / tècnica d’aprenentatge / ensenyament mitjançant Shape Puncher: mètode d’aprenentatge / ensenyament per a estudiants que s’inicien en la programació orientada a objectes. Aquesta és una manera de permetre'ls visualitzar i veure el procés de creació d'objectes a partir de classes. Puny gran EkTools de 2 polzades; les formes sòlides són les millors. Tros de paper o c
Detecció d'objectes Raspberry Pi: 7 passos
Detecció d'objectes de Raspberry Pi: aquesta guia proporciona instruccions pas a pas sobre com configurar l'API de detecció d'objectes de TensorFlow al Raspberry Pi. Seguint els passos d’aquesta guia, podreu utilitzar el vostre Raspberry Pi per realitzar la detecció d’objectes en vídeo en directe des d’un P
Programació orientada a objectes: creació d'objectes Mètode / tècnica d'aprenentatge / ensenyament amb tisores: 5 passos
Programació orientada a objectes: Creació d'objectes Mètode / Tècnica d'aprenentatge / ensenyament amb tisores: Mètode d'aprenentatge / ensenyament per a estudiants que s'inicien en la programació orientada a objectes. Aquesta és una manera de permetre'ls visualitzar i veure el procés de creació d'objectes a partir de classes. Parts: 1. Tisores (ho farà qualsevol tipus). 2. Peça de paper o cartolina. 3. Marcador
Analitzador de patrons de trànsit mitjançant la detecció d'objectes en viu: 11 passos (amb imatges)
Analitzador de patrons de trànsit mitjançant la detecció d'objectes en viu: en el món actual, els semàfors són essencials per a una carretera segura. Tanmateix, moltes vegades, els semàfors poden ser molestos en situacions en què algú s’acosta al llum tal com es posa vermell. Això perd el temps, sobretot si la llum és pr