Table des matières:

Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow. : 4 étapes
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow. : 4 étapes

Vidéo: Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow. : 4 étapes

Vidéo: Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow. : 4 étapes
Vidéo: Session Formation Windows IoT sur Raspberry PI 2 et DragonBoard 410C 2024, Juillet
Anonim
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow
Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow

Cette instruction décrit comment installer OpenCV, Tensorflow et les frameworks d'apprentissage automatique pour Python 3.5 afin d'exécuter l'application de détection d'objets.

Étape 1: Exigences

Vous aurez besoin des éléments suivants:

  • Une DragonBoard™ 410c ou 820c;
  • Une installation propre de Linaro-alip:

    • DB410c: testé en version v431. Lien:
    • DB820c: testé en version v228. Lien:
  • Au moins une carte MicroSD d'une capacité de 16 Go (si vous utilisez le 410c);

Téléchargez le fichier (à la fin de cette étape), décompressez et copiez sur la carte MicroSD; Obs: Si vous utilisez un DB820c, téléchargez le fichier, décompressez et déplacez-vous vers /home/*USER*/ pour faciliter l'utilisation des commandes.

  • Un concentrateur USB;
  • Une caméra USB (compatible Linux);
  • Une souris et un clavier USB;
  • Une connexion internet.

Obs: Suivez ces instructables dans le navigateur DragonBoard si possible, facilitant la copie des commandes

Étape 2: Montage de la carte MicroSD (uniquement avec DB410c)

  • Ouvrez le terminal dans le Dragonboard;
  • Dans le terminal, exécutez fdisk:

$ sudo fdisk -l

  • Insérez la carte MicroSD dans la fente pour carte DragonBoard MicroSD;
  • Exécutez à nouveau fdisk, en recherchant le nom (et la partition) du nouveau périphérique dans la liste (par exemple mmcblk1p1)

$ sudo fdisk -l

Allez dans le répertoire racine:

$ cd ~

Créer un dossier:

$ mkdir sdfolder

Montez la carte MicroSD:

$ mount /dev/ sdfolder

Étape 3: Installation des frameworks requis

  • Ouvrez le terminal dans le Dragonboard;
  • Dans le terminal, allez dans un répertoire choisi (en utilisant "~" pour le 820c et la SDCard montée pour le 410c):

(820c) $ cd ~

(410c) $ cd ~/dossier sd

Accédez au dossier des scripts du détecteur d'objets:

$ cd object_detector_tensorflow_opencv/scripts/

Exécutez le script de configuration de l'environnement:

$ sudo bash set_Env.sh

Mettre à jour le système:

$ sudo apt mise à jour

Installez ces packages:

$ 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* libhdf5* libhdf5-dev build-essential 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 libswlx264-dev libv4 libgtk2.0-dev libgtk-3-dev ffmpeg python-opengl

Allez dans ce répertoire:

$ cd /usr/src

Téléchargez Python 3.5:

$ sudo wget

Extraire le paquet:

$ sudo tar xzf Python-3.5.6.tgz

Supprimez le package compressé:

$ sudo rm Python-3.5.6.tgz

Accédez au répertoire Python 3.5:

$cd Python-3.5.6

Activez les optimisations pour la compilation Python 3.5:

$ sudo./configure --enable-optimizations

Compilez Python 3.5:

$ sudo make altinstall

Mettre à niveau les outils de pip et de configuration:

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

Installez numpy:

$ python3.5 -m pip install numpy

Allez dans le répertoire choisi:

(820c) $ cd ~

(410c) $ cd ~/dossier sd

Télécharger Tensorflow 1.11 whl:

$ wget

Installer tensorflow:

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

Clonez les dépôts OpenCV et OpenCV Contrib:

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

Aller dans le répertoire:

$ cd opencv

Créez le répertoire de construction et accédez-y:

$ sudo mkdir build && cd build

Exécutez 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_EXECUTABLE=$(PYTHON3_DEFAULT_EXECUTABLE=$) quel 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=OFF -D WITH_TBB -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_PATH/MODULES. modules..

Compilez OpenCV avec 4 cœurs:

$ sudo make -j 4

Installez OpenCV:

$ sudo faire l'installation

Allez dans le répertoire choisi:

(820c) $ cd ~

(410c) $ cd ~/dossier sd

Allez dans le répertoire des scripts:

$ cd object_detector_tensorflow_opencv/scripts/

Installez la configuration requise pour Python3.5:

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

Tester les importations:

$ python3.5

> importer cv2 >> importer tensorflow

Obs: si cv2 renvoie une erreur d'importation, exécutez make install dans le dossier de construction OpenCV et réessayez

Allez dans le répertoire choisi:

(820c) $ cd ~

(410c) $ cd ~/dossier sd

Téléchargez le dépôt cacaopi:

$ git clone

Téléchargez le référentiel de modèles Tensorflow:

$ git clone

Allez dans ce répertoire:

$ cd cocopi/PythonAPI

Modifiez le fichier Makefile, en changeant python en python3.5 aux lignes 3 et 8, puis enregistrez le fichier (en utilisant nano comme exemple):

$ nano Makefile

Compilez les cocopi:

$ sudo faire

Obs: Si la commande 'make' ne compile pas, essayez de réinstaller cython avec:

$ sudo python3.5 -m pip installer cython

Copiez pycocotools dans le répertoire tensorflow /models/research:

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

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

Allez dans le répertoire choisi:

(820c) $ cd ~

(410c) $ cd ~/dossier sd

Accédez au répertoire modèles/recherche:

$ cd modèles/recherche

Compiler avec le protocole:

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

Exporter la variable d'environnement:

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

Tester l'environnement:

$ python3.5 object_detection/builders/model_builder_test.py

Obs: Il doit retourner OK, sinon l'application ne fonctionnera pas. Si ce n'est pas le cas, recherchez soigneusement toute erreur dans le processus d'installation des frameworks requis

Étape 4: Exécuter l'API de détection d'objets

Exécution de l'API de détection d'objets
Exécution de l'API de détection d'objets

Avec tous les frameworks configurés, il est désormais possible d'exécuter l'API de détection d'objets qui utilise OpenCV avec Tensorflow.

Allez dans le répertoire choisi:

(820c) $ cd ~

(410c) $ cd ~/dossier sd

Accédez au répertoire de détection d'objet:

$ cd object_detector_tensorflow_opencv/

Lancez maintenant l'application:

$ python3.5 app.py

Maintenant, le Dragonboard diffusera la vidéo via le réseau. Pour voir la vidéo de sortie, ouvrez le navigateur dans la base de données et accédez à "0.0.0.0:5000".

Conseillé: