OpenCV : focus sur la bibliothèque open source

Open Source Computer Vision Library ou OpenCV est une extraordinaire bibliothèque de ressources multimédias. Quelles en sont l’utilité et à quelles fins l’exploite-t-on ?

Vision par ordinateur ou « Computer Vision » : Définition

Il est essentiel de comprendre tout d’abord ce qu’est la vision par ordinateur. La vision par ordinateur nous permet de saisir les images et les vidéos. Sont donc compris dans ce processus : leur procédure de stockage, d’extraction et de traitement en tous genres. L’intelligence artificielle (IA) tire sa source de la vision par ordinateur. Ces opérations sont fondamentales en robotique, en conduite automatique et en traitement d’images photographiques.

OpenCV : Qu’est-ce que c’est ?

OpenCV est une condition impérative dans le processus de vision par ordinateur, d’apprentissage automatique et de manipulation d’images. En effet, il s’agit d’une grande bibliothèque open source d’images et de vidéos. En anglais, OpenCV répond à l’acronyme d’ Open Source Computer Vision Library.

pcloud black friday 2022

Grâce à elle, le fonctionnement en temps réel est accessible. En exploitant les images, les vidéos, on arrive à déterminer l’identité des visages reconnus, des objets jusqu’aux manuscrits.

Sa combinaison avec d’autres bibliothèques élargit les fonctionnalités possibles. Intégré à NumPy de Python, elle permet d’exploiter la structure du tableau OpenCV pour en faciliter l’analyse. Les outils utilisés pour identifier les images, leurs motifs, leurs caractéristiques sont l’espace vectoriel, les calculs mathématiques.

Son histoire

Intel Research avait pris l’initiative en 1999 de lancer OpenCV. La société voulait, à ce moment,  faire évoluer les applications qui exigeaient beaucoup du CPU. A la tête conceptuelle de cette application, il y avait de nombreux experts en optimisation de chez Intel Russie. D’autre part, les membres responsables de la bibliothèque de performances faisaient aussi partie de l’équipe de concepteurs.

En 2012, OpenCV a changé de mains et devient OpenCV.org lorsqu’une fondation à but non lucratif décide de l’acheter. Cette fondation travaillait déjà dans un site de développement.

En 2016, Intel signera un contrat pour s’approprier Itseez, un de ses développeurs fondamentaux.

En 2020, les choses ont évolué, OpenCV lance Kickstarter pour OpenCV AI. Il s’agira d’une gamme de matériels ajoutés à la bibliothèque pour exploiter l’intelligence artificielle spatiale.

OpenCV 1.0 : quelles sont les caractéristiques de cette version ?

Il existait une première version nommée OpenCV 1.0, publiée sous licence BSD. Cette version n’était pas payante et était utilisée essentiellement à des fins commerciales ou éducatives. Elle exploitait les systèmes Windows, Linux, MAC PS, iOS et Android. Comme interfaces : C++, C, Python et Java étaient disponibles. Comme langage informatique utilisés, C et C++ étaient favorisés pour profiter du multicœur.

Les applications qui tirent avantages d’OpenCV

Les applications OpenCV ont ouvert la voie à plusieurs autres applications. On peut citer : la reconnaissance faciale, les systèmes de surveillance automatique, le recensement des personnes en un lieu donné, les véhicules et leur vitesse sur autoroutes, les plateformes artistiques.

Grâce à OpenCV, on peut détecter facilement certains défauts dans le cycle de fabrication de certains produits. OpenCV fluidifie l’exploitation d’images Street View, la recherche et la récupération de fichiers multimédias ainsi que l’analyse d’images médicales. Dans les films 3D, elle peut définir la structure en étudiant le mouvement.

Quelles sont les fonctionnalités d’OpenCV ?

Les fonctionnalités d’OpenCV se résument surtout au traitement d’images, à la détection d’objets et de fonctionnalités, à l’apprentissage automatique et à l’accélération CUDA.

OpenCV est de son nom open source. Il est qualifié pour la rapidité de son traitement et de son prototype. Sa facilité d’intégration et de codage font partie de ses fonctionnalités appréciées.

Le traitement d’images

Par traitement d’images, on entend toutes opérations possibles sur une image donnée. L’objectif est d’en améliorer la qualité ou d’en extraire des informations cachées. Pour aller plus loin, une image peut être représentée dans une dimension orthonormée. Elle pourrait répondre à la fonction f(x, y). « x » et « y » à ce moment seraient ses coordonnées. Le niveau de gris correspond à l’amplitude de la graisse des paires de coordonnées (x, y). Cette fonction détermine la valeur du pixel de l’image, qui établira à son tour sa luminosité et sa couleur.

Ce traitement englobe trois étapes précises : l’importation, l’analyse et/ou manipulation et enfin la sortie. La sortie peut être soit une image de sortie, soit un rapport découlant de l’analyse de l’image.

OpenCV permet également de disposer de certaines fonctions d’interfaces graphiques. Grâce à l’application, on peut aussi insérer des textes dans une image, utiliser les curseurs à glissière et les contrôles associés à la souris.

En somme, OpenCV traite presque toutes les opérations classiques de base d’images. Il s’agit là de la lecture, de l’affichage, du seuillage, du lissage et du filtrage, de la segmentation et de la morphologie mathématique d’une image.

Comment une machine peut reconnaître ou lire une certaine image ?

L’ordinateur ne répond pas de manière conséquente à une demande spontanée du genre « Est-ce moi sur la photo ? ». Cependant, il procède à un calcul mathématique interne en lisant l’image donnée sous une plage de valeurs entre 0 et 255. Et ces valeurs analysées permettent la reconnaissance d’un certain visage. Pour les couleurs, l’analyse passe par trois canaux primaires : le rouge, le bleu et le vert.

Quelles pourraient être les alternatives à OpenCV ?

Si on ne peut se l’approprier, on peut avoir recours à une dizaine d’alternatives. Comme par exemple, API Microsoft Computer Vision, API Visage Azure , API Cloud Vision, Reconnaissance Amazon, les offres G2, scikit-image, SimpleCV, Clarifi’s, DeePy, IBM Watson.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Pin It on Pinterest