Intelligence Artificielle - OpenCV

On ouvre le bal avec OpenCV

Intelligence Artificielle - OpenCV

Introduction

Tout ce que vous voulez savoir sur OpenCV se trouve à cette adresse : Open Source Computer Vision Library

Pour résumer, OpenCV est une bibliothèque open source (logiciel libre), spécialisée dans le traitement et l’analyse des images. OpenCV est construite en blocs. Ce qui a l’avantage de diminuer la taille de l’installation car on peut choisir seulement ce qui nous sert dans un projet donné. La nouvelle version est écrite en C++ ( La version 1.x était écrite en C).

Pour notre projet nous allons avoir besoin d’installer cette bibliothèque sur notre machine. Je fais abstraction du Jetson pour l’instant. Car dans l’absolu on peut peut installer OpenCV sur Windows.

Pour ma part, j’utilise Manjaro .

A partir de là nous avons le choix:

  • installer OpenCV à partir d’un package déjà pré-compilé pour notre machine. (pratique si on se trouve sur Windows et qu’on ne veut pas installer un VS ou CigWin.)
  • compiler nous même les sources.

Les packages pré-compilés se trouvent ici :

Nous nous allons compiler depuis les sources.

II. Build

Avant de commencer on vérifie qu’on a toutes les dépendances obligatoires pour continuer :

GCC 4.4.x ou +
CMake 2.8.7 ou +
Git
GTK+2.x ou +, avec header (libgtk2.0-dev)
pkg-config
Python 2.6 ou + and Numpy 1.5 ou + avec (python-dev, python-numpy)
ffmpeg ou libav avec: libavcodec-dev, libavformat-dev, libswscale-dev
[optionnel] libtbb2 libtbb-dev
[optionnel] libdc1394 2.x
[optionnel] libjpeg-dev, libpng-dev, libtiff-dev, libjasper-dev, libdc1394-22-dev
[optionnel] CUDA Toolkit 6.5 ou +

Pour commencer on récupère les sources :

cd ~/<dossier_de_travail>
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

On se place à la racine d’OpenCV :

cd ~/opencv
mkdir build
cd build

#verification des dépendances et création du Makefile
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

#On lance le build avec 7 threads en parallèles :
make -j7

 make -j7

make -j7

III. Install

Quand la compilation est enfin terminée. On lance l’installation depuis le répertoire du build cela installera la librairie dans /usr/local/.

 sudo make install

OpenCV est alors installé sur notre machine. Félicitations.

IV. Darknet

Darknet est une bibliothèque en python qui utilise un détecteur très avancé et très performant.

Darknet.

Pour profiter d’OpenCV, on modifie le Makefile en changeant OpenCV =1 et si on a une machine qui emporte un GPU Nvidia GPU = 1

Si ce n’est pas déjà fait, on installe Darknet

cd ~/<dossier_de_travail>
git clone https://github.com/pjreddie/darknet.git
cd darknet
make

V. On teste Darknet

On peut télécharger le fichier pré-entraîné yolov3.weights

./darknet detector test cfg/coco.data cfg/yolov3.cfg ../darknet/yolov3.weights  data/person.jpg

La detection est très rapide. Son potentiel est vraiment impressionnant !

 make -j7

Darknet reconnaît les formes sur l'images en 0.667954 seconde

VI. Conclusion

Nous avons installé OpenCV et Darknet. On va pouvoir continuer notre projet d’analyse d’images.

Dans la prochaine étape nous allons voir comment lire et analyser en temps réel un flux vidéo

 make -j7

C'est pas faux !


Suite du tutoriel : à venir très bientôt !


Si vous avez des questions. Vous pouvez me contacter par mail ou via le formulaire de contact.

Contact :

par mail : contact[@]lemondeestunecamera.fr
sur notre formulaire de : contact

Priorité sera donnée aux personnes ayant fait des dons afin d’aider le projet à se développer. Pour aider un maximum de personnes à se protéger.


Soutenez le projet

Ce tutoriel est gratuit, mais si vous voulez soutenir mon travail vous pouvez :

faire un don via PayPal

Choisissez le montant désiré en bougeant le sélecteur :

Don de