Índice:

Detecção de objeto com Dragonboard 410c ou 820c usando OpenCV e Tensorflow: 4 etapas
Detecção de objeto com Dragonboard 410c ou 820c usando OpenCV e Tensorflow: 4 etapas

Vídeo: Detecção de objeto com Dragonboard 410c ou 820c usando OpenCV e Tensorflow: 4 etapas

Vídeo: Detecção de objeto com Dragonboard 410c ou 820c usando OpenCV e Tensorflow: 4 etapas
Vídeo: Dev Kit Weekly: Thundercomm TurboX AI Kit 2024, Novembro
Anonim
Detecção de objetos com Dragonboard 410c ou 820c usando OpenCV e Tensorflow
Detecção de objetos com Dragonboard 410c ou 820c usando OpenCV e Tensorflow
Detecção de objetos com Dragonboard 410c ou 820c usando OpenCV e Tensorflow
Detecção de objetos com Dragonboard 410c ou 820c usando OpenCV e Tensorflow
Detecção de objetos com Dragonboard 410c ou 820c usando OpenCV e Tensorflow
Detecção de objetos com Dragonboard 410c ou 820c usando OpenCV e Tensorflow
Detecção de objetos com Dragonboard 410c ou 820c usando OpenCV e Tensorflow
Detecção de objetos com Dragonboard 410c ou 820c usando OpenCV e Tensorflow

Este manual de instruções descreve como instalar OpenCV, Tensorflow e frameworks de aprendizado de máquina para Python 3.5 para executar o aplicativo Object Detection.

Etapa 1: Requisitos

Você precisará dos seguintes itens:

  • Um DragonBoard ™ 410c ou 820c;
  • Uma instalação limpa do Linaro-alip:

    • DB410c: testado na versão v431. Link:
    • DB820c: testado na versão v228. Link:
  • Cartão MicroSD com capacidade mínima de 16 GB (se estiver usando o 410c);

Baixe o arquivo (no final desta etapa), descompacte e copie para o cartão MicroSD; Obs: Se estiver usando um DB820c, baixe o arquivo, descompacte e vá para / home / * USUÁRIO * / para facilitar o uso dos comandos.

  • Um hub USB;
  • Uma câmera USB (compatível com Linux);
  • Um mouse e teclado USB;
  • Uma conexão com a Internet.

Obs: Siga estas instruções no navegador DragonBoard se possível, facilitando a cópia dos comandos

Etapa 2: montagem do cartão MicroSD (somente W / DB410c)

  • Abra o terminal no Dragonboard;
  • No terminal, execute fdisk:

$ sudo fdisk -l

  • Insira o cartão MicroSD no slot de cartão DragonBoard MicroSD;
  • Execute o fdisk novamente, procurando o nome (e partição) do novo dispositivo na lista (por exemplo, mmcblk1p1)

$ sudo fdisk -l

Vá para o diretório raiz:

$ cd ~

Crie uma pasta:

$ mkdir sdfolder

Monte o cartão MicroSD:

$ mount / dev / sdfolder

Etapa 3: Instalando as estruturas necessárias

  • Abra o terminal no Dragonboard;
  • No terminal, vá para um diretório escolhido (usando "~" para o 820c e o SDCard montado para o 410c):

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Vá para a pasta de scripts do Detector de objetos:

$ cd object_detector_tensorflow_opencv / scripts /

Execute o script de configuração do ambiente:

$ sudo bash set_Env.sh

Atualize o sistema:

$ sudo apt update

Instale estes pacotes:

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

g ++ - aarch64-linux-gnu debootstrap schroot git curl pkg-config zip descompactar python python-pip g ++ zlib1g-dev default-jre libhdf5-dev libatlas-base-dev gfortran v4l -s hdf5 * libhdf5 * libpng-dev build-Essential cma 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 libvid4l-dev libv4l-dev libx4l-dev libx4l-dev libx4l-dev libx4l-dev libx4l-dev libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Vá para este diretório:

$ cd / usr / src

Faça o download do Python 3.5:

$ sudo wget

Extraia o pacote:

$ sudo tar xzf Python-3.5.6.tgz

Exclua o pacote compactado:

$ sudo rm Python-3.5.6.tgz

Vá para o diretório Python 3.5:

$ cd Python-3.5.6

Ative otimizações para a compilação Python 3.5:

$ sudo./configure --enable-optimizations

Compile Python 3.5:

$ sudo make altinstall

Atualizar pip e ferramentas de configuração:

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

Instale numpy:

$ python3.5 -m pip install numpy

Vá para o diretório escolhido:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Faça o download do Tensorflow 1.11 whl:

$ wget

Instale o tensorflow:

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

Clone repositórios OpenCV e OpenCV Contrib:

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

Vá para o diretório:

$ cd opencv

Crie o diretório de compilação e vá para ele:

$ sudo mkdir build && cd build

Execute o 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_DEFAULT_EX3 = PYTHON3_DEFAULT.5 (python.5 -D PYTHON3_DEFAULT.5) (que python.5-D PYTHON3_DEFAULT.5) (que python.5) ECULE3 = $ Python_EX_ECULE = $3ECLETEBLE3 = ON. qual 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_TESTS = OFFB-ONT COM_ -DBUILD_TBB = LIGADO -D OPENCV_ENABLE_NONFREE = LIGADO -DBUILD_opencv_xfeatures2d = DESLIGADO -D OPENGL = LIGADO -D OPENMP = LIGADO -D ENABLE_NEON = LIGADO -D BUILD_PERF_TESTS = DESLIGADO -D BUILD_OPENCT_DNOD_DNN = LIGADO -D OPENMP = LIGADO -D ENABLE_NEON = LIGADO -D BUILD_PERF_TESTS = DESLIGADO -D BUILD_OPENCT_DNOD_DNN = LIGADO-D OPENMP = LIGADO -D ENABLE_NEON = LIGADO -D BUILD_PERF_TESTS = DESLIGADO -D BUILD_OPENCT_DNOD_DNN = LIGADO_PATH_Penc. módulos..

Compile OpenCV com 4 núcleos:

$ sudo make -j 4

Instale o OpenCV:

$ sudo make install

Vá para o diretório escolhido:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Vá para o diretório de scripts:

$ cd object_detector_tensorflow_opencv / scripts /

Instale os requisitos do Python3.5:

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

Importações de teste:

$ python3.5

> import cv2 >> import tensorflow

Obs: Se cv2 retornar erro de importação, execute make install na pasta de construção do OpenCV e tente novamente

Vá para o diretório escolhido:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Baixe o repositório cocoapi:

$ git clone

Faça o download do repositório de modelos do Tensorflow:

$ git clone

Vá para este diretório:

$ cd cocoapi / PythonAPI

Edite o arquivo Makefile, alterando python para python3.5 nas linhas 3 e 8 e salve o arquivo (usando o nano como exemplo):

$ nano Makefile

Compile o cocoapi:

$ sudo make

Obs: Se o comando ‘make’ não compilar, tente reinstalar o cython com:

$ sudo python3.5 -m pip install cython

Copie as pycocotools para o diretório tensorflow / models / research:

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

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

Vá para o diretório escolhido:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Vá para o diretório de modelos / pesquisa:

$ cd modelos / pesquisa

Compile com protoc:

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

Variável de ambiente de exportação:

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

Teste o ambiente:

$ python3.5 object_detection / builders / model_builder_test.py

Obs: Deve retornar OK, caso contrário o aplicativo não funcionará. Caso contrário, pesquise cuidadosamente por qualquer erro no processo de instalação das estruturas necessárias

Etapa 4: executando a API de detecção de objetos

Executando a API Object Detection
Executando a API Object Detection

Com todas as estruturas configuradas, agora é possível executar a API de detecção de objetos que usa OpenCV junto com Tensorflow.

Vá para o diretório escolhido:

(820c) $ cd ~

(410c) $ cd ~ / sdfolder

Vá para o diretório de detecção de objetos:

$ cd object_detector_tensorflow_opencv /

Agora execute o aplicativo:

$ python3.5 app.py

Agora o Dragonboard irá transmitir o vídeo pela rede. Para ver o vídeo de saída, abra o navegador no banco de dados e vá para "0.0.0.0: 5000".

Recomendado: