Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
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".