Tabla de contenido:

Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow: 4 pasos
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow: 4 pasos

Video: Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow: 4 pasos

Video: Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow: 4 pasos
Video: Tendencias e Innovaciones en Logística para 2024 2024, Mes de julio
Anonim
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow
Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow

Este instructivo describe cómo instalar OpenCV, Tensorflow y marcos de aprendizaje automático para Python 3.5 para ejecutar la aplicación de detección de objetos.

Paso 1: requisitos

Necesitará los siguientes elementos:

  • Una DragonBoard ™ 410c o 820c;
  • Una instalación limpia de Linaro-alip:

    • DB410c: probado en la versión v431 Enlace:
    • DB820c: probado en la versión v228 Enlace:
  • Al menos una tarjeta MicroSD de 16GB de capacidad (si usa el 410c);

Descargue el archivo (al final de este paso), descomprímalo y cópielo en la tarjeta MicroSD; Obs: si usa un DB820c, descargue el archivo, descomprímalo y muévase a / home / * USER * / para facilitar el uso de los comandos.

  • Un concentrador USB;
  • Una cámara USB (compatible con Linux);
  • Un mouse y un teclado USB;
  • Una conexión a internet.

Obs: Siga estas instrucciones en el navegador DragonBoard si es posible, facilitando la copia de los comandos

Paso 2: Montaje de la tarjeta MicroSD (solo W / DB410c)

  • Abra la terminal en el Dragonboard;
  • En la terminal, ejecute fdisk:

$ sudo fdisk -l

  • Inserte la tarjeta MicroSD en la ranura para tarjetas MicroSD de DragonBoard;
  • Ejecute fdisk nuevamente, buscando el nombre (y la partición) del nuevo dispositivo en la lista (por ejemplo, mmcblk1p1)

$ sudo fdisk -l

Vaya al directorio raíz:

$ cd ~

Crea una carpeta:

$ mkdir sdfolder

Monte la tarjeta MicroSD:

$ mount / dev / sdfolder

Paso 3: instalación de los marcos necesarios

  • Abra la terminal en el Dragonboard;
  • En la terminal, vaya al directorio elegido (usando "~" para el 820c y la SDCard montada para el 410c):

(820c) $ cd ~

(410c) $ cd ~ / carpeta sd

Vaya a la carpeta de scripts del detector de objetos:

$ cd objeto_detector_tensorflow_opencv / scripts /

Ejecute el script de configuración del entorno:

$ sudo bash set_Env.sh

Actualice el sistema:

$ sudo apt actualización

Instale estos paquetes:

$ sudo apt install -y protobuf-compiler gcc-aarch64-linux-gnu

g ++ - aarch64-linux-gnu debootstrap schroot git curl pkg-config zip descomprimir 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-libx264core-dev libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Vaya a este directorio:

$ cd / usr / src

Descarga Python 3.5:

$ sudo wget

Extraiga el paquete:

$ sudo tar xzf Python-3.5.6.tgz

Elimina el paquete comprimido:

$ sudo rm Python-3.5.6.tgz

Vaya al directorio de Python 3.5:

$ cd Python-3.5.6

Habilite las optimizaciones para la compilación de Python 3.5:

$ sudo./configure --enable-optimizations

Compile Python 3.5:

$ sudo make altinstall

Actualice las herramientas de configuración y pip:

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

Instalar numpy:

$ python3.5 -m pip install numpy

Vaya al directorio elegido:

(820c) $ cd ~

(410c) $ cd ~ / carpeta sd

Descarga Tensorflow 1.11 whl:

$ wget

Instalar tensorflow:

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

Clonar repositorios OpenCV y OpenCV Contrib:

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

Ir al directorio:

$ cd opencv

Cree el directorio de compilación y vaya a él:

$ sudo mkdir build && cd build

Ejecute CMake:

$ sudo cmake -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX = / usr / local -D BUILD_opencv_java = APAGADO -D BUILD_opencv_python = APAGADO -D BUILD_opencv_python3 = ENCENDIDO -DTABLE_DE_CUENTRO3 (que_PYTÓN3 = ON -DTABLE_PYTÓN3) cuál 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 CONSTRUYE B -D CON_TESTS = OFF -DBUILD_TBB = ACTIVADO -D OPENCV_ENABLE_NONFREE = ACTIVADO -DBUILD_opencv_xfeatures2d = DESACTIVADO -D OPENGL = ACTIVADO -D OPENMP = ACTIVADO -D ENABLE_NEON = ACTIVADO -D BUILD_PERF_TESTS = DESACTIV. módulos..

Compile OpenCV con 4 núcleos:

$ sudo make -j 4

Instale OpenCV:

$ sudo make install

Vaya al directorio elegido:

(820c) $ cd ~

(410c) $ cd ~ / carpeta sd

Vaya al directorio de scripts:

$ cd objeto_detector_tensorflow_opencv / scripts /

Instale los requisitos de Python3.5:

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

Importaciones de prueba:

$ python3.5

> importar cv2 >> importar tensorflow

Obs: Si cv2 devuelve un error de importación, ejecute make install en la carpeta de compilación de OpenCV y vuelva a intentarlo

Vaya al directorio elegido:

(820c) $ cd ~

(410c) $ cd ~ / carpeta sd

Descarga el repositorio cocoapi:

$ git clon

Descarga el repositorio de modelos de Tensorflow:

$ git clon

Vaya a este directorio:

$ cd cocoapi / PythonAPI

Edite el archivo Makefile, cambie python a python3.5 en la línea 3 y 8 y luego guarde el archivo (usando nano como ejemplo):

$ nano Makefile

Compila el cocoapi:

$ sudo hacer

Obs: Si el comando "make" no se compila, intente reinstalar cython con:

$ sudo python3.5 -m pip instalar cython

Copie pycocotools en el directorio tensorflow / models / research:

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

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

Vaya al directorio elegido:

(820c) $ cd ~

(410c) $ cd ~ / carpeta sd

Vaya al directorio de modelos / investigación:

$ cd modelos / investigación

Compilar con protocolo:

$ protocol_detección_objeto / protos / *. proto --python_out =.

Exportar variable de entorno:

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

Prueba el medio ambiente:

$ python3.5 detección_de_objetos / builders / model_builder_test.py

Obs: Debe regresar OK, de lo contrario la aplicación no funcionará. Si no es así, busque cuidadosamente cualquier error en el proceso de instalación de los marcos requeridos

Paso 4: ejecutar la API de detección de objetos

Ejecución de la API de detección de objetos
Ejecución de la API de detección de objetos

Con todos los marcos configurados, ahora es posible ejecutar la API de detección de objetos que usa OpenCV junto con Tensorflow.

Vaya al directorio elegido:

(820c) $ cd ~

(410c) $ cd ~ / carpeta sd

Vaya al directorio de detección de objetos:

$ cd objeto_detector_tensorflow_opencv /

Ahora ejecuta la aplicación:

$ python3.5 app.py

Ahora, Dragonboard transmitirá el video a través de la red. Para ver el video de salida, abra el navegador en la base de datos y vaya a "0.0.0.0: 5000".

Recomendado: