Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-13 06:58
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
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”.