Table des matières:
- Étape 1: Exigences
- Étape 2: Montage de la carte MicroSD (uniquement avec DB410c)
- Étape 3: Installation des frameworks requis
- Étape 4: Exécuter l'API de détection d'objets
Vidéo: Détection d'objets avec Dragonboard 410c ou 820c à l'aide d'OpenCV et de Tensorflow. : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:07
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
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é:
Détection d'objets avec les cartes Sipeed MaiX (Kendryte K210): 6 étapes
Détection d'objets avec les cartes Sipeed MaiX (Kendryte K210): Dans la continuité de mon article précédent sur la reconnaissance d'images avec les cartes Sipeed MaiX, j'ai décidé d'écrire un autre tutoriel, axé sur la détection d'objets. Il y a eu récemment du matériel intéressant avec la puce Kendryte K210, y compris S
Raspberry Pi - Mars Rover autonome avec suivi d'objets OpenCV : 7 étapes (avec photos)
Raspberry Pi - Mars Rover autonome avec suivi d'objets OpenCV : alimenté par un Raspberry Pi 3, reconnaissance d'objets Open CV, capteurs à ultrasons et moteurs à engrenages à courant continu. Ce rover peut suivre n'importe quel objet pour lequel il est entraîné et se déplacer sur n'importe quel terrain
DÉTECTION D'OBJETS RASPBERRY PI Pi AVEC PLUSIEURS CAMÉRAS : 3 étapes
DÉTECTION D'OBJET RASPBERRY PI Pi AVEC PLUSIEURS CAMÉRAS : Je vais garder l'intro courte, car le titre lui-même suggère quel est le but principal de l'instructable. Dans cette instructable étape par étape, je vais vous expliquer comment connecter plusieurs caméras comme une caméra 1-pi et au moins une caméra USB, ou 2 caméras USB
Analyseur de modèle de trafic utilisant la détection d'objets en direct : 11 étapes (avec images)
Analyseur de modèle de trafic utilisant la détection d'objets en direct : dans le monde d'aujourd'hui, les feux de circulation sont essentiels pour une route sûre. Cependant, souvent, les feux de circulation peuvent être ennuyeux dans des situations où quelqu'un s'approche du feu au moment où il devient rouge. Cela fait perdre du temps, surtout si la lumière est pr
Détection visuelle d'objets avec une caméra (TfCD) : 15 étapes (avec photos)
Détection visuelle d'objets avec une caméra (TfCD) : Les services cognitifs capables de reconnaître des émotions, des visages de personnes ou des objets simples sont actuellement encore à un stade précoce de développement, mais avec l'apprentissage automatique, cette technologie se développe de plus en plus. Nous pouvons nous attendre à voir plus de cette magie dans