Tabla de contenido:
- Paso 1: requisitos
- Paso 2: Montaje de la tarjeta MicroSD (solo W / DB410c)
- Paso 3: instalación de los marcos necesarios
- Paso 4: ejecutar la API de detección de objetos
Video: Detección de objetos con Dragonboard 410c o 820c mediante OpenCV y Tensorflow: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:42
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
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:
Detección de objetos con placas Sipeed MaiX (Kendryte K210): 6 pasos
Detección de objetos con placas Sipeed MaiX (Kendryte K210): como continuación de mi artículo anterior sobre el reconocimiento de imágenes con placas Sipeed MaiX, decidí escribir otro tutorial, centrado en la detección de objetos. Recientemente apareció un hardware interesante con el chip Kendryte K210, incluido S
DETECCIÓN DE OBJETOS FRAMBUESA PI Pi CON MÚLTIPLES CÁMARAS: 3 Pasos
FRAMBUESA PI Pi DETECCIÓN DE OBJETOS CON MÚLTIPLES CÁMARAS: Mantendré la introducción breve, ya que el título en sí sugiere cuál es el propósito principal del instructable. En este instructivo paso a paso, le explicaré cómo conectar varias cámaras como la cámara 1-pi y al menos una cámara USB, o 2 cámaras USB
Detección de enfermedades de plantas con Qualcomm Dragonboard 410c: 4 pasos
Detección de enfermedades de plantas con Qualcomm Dragonboard 410c: Hola a todos, participamos del concurso Inventando el futuro con Dragonboard 410c patrocinado por Embarcados, Linaro y Baita.Proyecto AVoID (Agro View Disease) Nuestro objetivo es crear un sistema integrado capaz de capturar imágenes, procesos y detectar pos
Analizador de patrones de tráfico con detección de objetos en vivo: 11 pasos (con imágenes)
Analizador de patrones de tráfico con detección de objetos en vivo: en el mundo actual, los semáforos son esenciales para una carretera segura. Sin embargo, muchas veces, los semáforos pueden ser molestos en situaciones en las que alguien se acerca al semáforo justo cuando se pone en rojo. Esto es una pérdida de tiempo, especialmente si la luz es pr
Detección visual de objetos con una cámara (TfCD): 15 pasos (con imágenes)
Detección visual de objetos con una cámara (TfCD): Los servicios cognitivos que pueden reconocer emociones, rostros de personas u objetos simples se encuentran actualmente en una etapa temprana de desarrollo, pero con el aprendizaje automático, esta tecnología se está desarrollando cada vez más. Podemos esperar ver más de esta magia en