Computer Vision : fonctionnement et applications

Computer Vision : fonctionnement et applications

Qu’est-ce que la “Computer Vision” ?

La vision par ordinateur (Computer Vision) est une technologie visant à créer des systèmes numériques qui sont capables d’analyser des données visuelles (images, vidéos) de la même manière que les humains.

Les premières expériences de Computer Vision ont commencé dans les années 1950. C’est en 1970 que la première utilisation commerciale de cette technologie a eu lieu : c’était pour distinguer le texte dactylographié du texte manuscrit. Aujourd’hui, le nombre d’applications de Computer Vision est incroyablement élevé et ils ont rencontré un grand succès. En 2022, le marché de Computer Vision a atteint 48,6 milliards de dollars.

Comment la Computer Vision fonctionne ?

L’une des questions principales en neurosciences et en apprentissage automatique (Machine Learning) est la suivante : comment fonctionne exactement notre cerveau et comment pouvons-nous nous en approcher avec nos propres algorithmes ? La réalité, c’est qu’il existe très peu de théories fonctionnelles. Malgré le fait que les réseaux de neurones sont censés « imiter le fonctionnement du cerveau », personne ne sait vraiment si c’est vrai. Ce paradoxe vaut également pour la Computer Vision. Puisque nous ne sommes pas certains sur la façon dont le cerveau et les yeux traitent les images. En conséquence, il est compliqué de dire à quel point les algorithmes utilisés dans la production se rapprochent de nos propres processus cognitifs. La figure suivante montre le système visuel humain et celui de vision par ordinateur.

Figure 1 Système visuel humain Vs Computer Vision [1]

Evolution de la Computer Vision

Avant l’avènement de l’apprentissage en profondeur (Deep Learning), les tâches que la Computer Vision pouvait effectuer étaient très limitées et il y avait très peu d’automatisation intégré.

Par exemple, si nous souhaitons développer une application de reconnaissance facial, nous devons procéder aux étapes suivantes :

  • Créer une base de données : Nous devons capturer des images pour les individus sous le format uniforme.
  • Annoter les images: pour chacune des images issues de la base de données, nous devons saisir plusieurs points clés et puis calculer des métriques tels que la distance entre les yeux, la distance entre la lèvre supérieure et le nez, et des dizaines d’autres mesures qui distinguent une image de l’autre.
  • Tester sur la nouvelle image: nous prenons une nouvelle image, marquons les points clés et calculons les mesures de cette image indiquées dans l’étape précédente.

Finalement, l’application est en mesure de comparer les valeurs des métriques de la nouvelle image avec celles stockées dans la base de données. Cela nous permet alors de savoir si elle correspond à l’un des profils de la base de données. Malheureusement, la précision de reconnaissance dépend fortement du calcul de chacune des métriques, ce qui est codé manuellement. Par conséquent, l’application n’est pas généralisable.

Le machine Learning nous permet de résoudre les problèmes de Computer Vision d’une manière différente. Avec le machine learning, les data scientist n’ont plus besoin de coder manuellement chaque règle dans leurs applications de vision. Au lieu de cela, ils programment des « extracteur des features». Dans le cadre des approches de Machine Learning classiques, le Data Scientist va lui-même sélectionner et extraire les caractéristiques d’images qui vont influer sur la prédiction. À la suite de l’extraction des caractéristiques, un algorithme d’apprentissage statistique comme régression linéaire, régression logistique, arbres de décision ou machine à vecteurs de support (SVM) sera entrainé tout en utilisant ces caractéristiques. Finalement, le modèle entrainé sera utilisé afin d’identifier les images et/ou de détecter les objets qu’elles contiennent. Grace au Machine Learning, nombreux de problèmes qui étaient historiquement difficiles à résoudre pourraient être résolus.

Le Deep Learning (l’apprentissage en profond), quant à lui, est un sous-ensemble du Machine Learning qui exploite les réseaux de neurones pour imiter le processus d’apprentissage du cerveau humain. A la différence des algorithmes de Machine Learning classique, les algorithmes de Deep Learning vont être entrainés pour sortir eux-mêmes des caractéristiques qui influent sur les prédictions. La computer Vision utilise des réseaux de neurones convolutifs (CNN) pour traiter les données visuelles au niveau du pixel et des réseaux de neurones récurrents (RNN) pour comprendre comment un pixel est lié à un autre. L’illustration suivante nous donne la comparaison entre la méthode Machine Learning et Deep Learning sur Computer Vision.

Figure 2 méthode Machine Learning Vs Deep Learning [2]

Différentes applications de Computer Vision

La Computer Vision peut nous aider à relever différents défis liés aux données visuelles comme la réduction du bruit, la reconnaissance d’objets, la fusion des caractéristiques et l’analyse spectrale etc. Grace à sa performance extraordinaire, la Computer Vision est largement utilisée dans les applications d’images satellitaires et naturelles.

Les images satellitaires sont des images numériques de la surface de la Terre (ou de toute autre planète) collectées par des capteurs satellitaires. Ses applications couvrent souvent une grande superficie de territoire tels que mapping du sol, détection des désastres naturelles et ingénierie ferroviaire.

Les applications s’appuyant sur des données naturelles (images naturelles, données LiDAR etc.) que nous pouvons citer ici sont véhicule automatique et détection du vol.

Computer Vision pour Mapping du sol

La Computer Vision se déploie de plusieurs manières dans le domaine de l’agriculture : il peut permettre, par exemple, de détecter les variétés de mauvaise herbes et insectes, afin de réduire la consommation de pesticides et de désherbants.

D’ailleurs, la Computer Vision peut également aider à augmenter les rendements. En estimant correctement, par exemple, l’état des semences et des sols, les niveaux d’irrigation et le changement de climat. Grace à ces informations, les agriculteurs vont savoir quoi, où et quand planter. D’après le cabinet McKinsey, le marché de l’agriculture numérique devrait atteindre 18 milliards d’euros en 2023.

Figure 3 Cartographie sur un champs agricole segmentée par un algorithme de Computer Vision [1]

Computer Vision pour l’ingénierie ferroviaire

L’image satellitaire est devenue un outil puissant pour les projets ferroviaires grâce à sa précision et sa fiabilité. La Computer Vision utilisant ces images joue un rôle très important en alertant des mouvements du sol indésirables, afin de prévenir certains désastres lors de la construction, ce qui n’est pas possible à effectuer de manière manuelle. D’ailleurs, la Computer Vision nous aide aussi à promouvoir la qualité de l’infrastructure ferroviaire, telle que l’évaluation de fiabilité des matériaux du chemin de fer et la détection de l’émission de CO2. Finalement, la Computer Vision nous aide aussi à assurer la sécurité de la circulation ferroviaire en détectant en temps réel les obstacles sur le chemin de fer.

Figure 4 Objets détectés aux bords du chemin de fer [3]

Computer Vision pour la prédiction des catastrophes naturels

Les données satellitaires de haute résolution nous permettent de détenir de l’information précise pour gérer des catastrophes naturelles comme les séismes, les inondations ou les éruptions de volcans. Pour la prédiction du tremblement de terre, la Computer Vision peut être utilisée sur ces image satellitaires afin de détecter l’activité des plaques tectoniques ou le comportement anormal de certains animaux. Le projet EARLI [4], mené par Quentin Bletery, est un projet qui consiste à utiliser l’intelligence artificielle pour prédire les signes de tremblements de grande ampleur. Quant à la prédiction de l’inondation, la Computer Vision peut être exploitée afin d’estimer, à partir d’images collectées, la différence de niveau du sol, la quantité de l’eau reçue et le dégel. Une équipe R&D japonaise a développé un logiciel [5] s’appuyant sur la Computer Vision pour identifier les potentiels bâtiments inondables. D’après les chercheurs de l’université de Bristol [6], deux algorithmes de Computer Vision peuvent être utilisés ensemble afin de prédire l’éruption volcanique dont le 1er sert à détecter les changements du sol et le second consiste à distinguer les images annonçant l’éruption des autres.

Figure 5 Cartographie  d’une zone inondée identifiée par Computer Vision (droite) [7]

Computer Vision pour les véhicules automatiques

La Computer Vision est capable de fusionner les données provenant de différentes sources : capteurs classiques, thermiques et LiDAR. etc. Un système de perception de l’espace autour de la voiture peut être établi à l’aide de ces données et puis, la Computer Vision est utilisée afin d’aider les voitures autonomes à prendre correctement les décisions en temps réels.

Figure 6 Un système de perception établi à l’aide de Computer Vision [8]

Computer Vision pour détection du vol

L’analyse par Computer Vision nous permet de détecter en live des comportements suspects (i.e. situation de vol). Plus précisément, la Computer Vision capte les images des capteurs de vidéosurveillance mises en place dans les points de vente, et puis détecte et identifie des gestes anormaux comme les gestes vers un sac à dos, une poche de veste ou de pantalon. Une telle détection va déclencher automatiquement l’alerte aux personnels de sécurité, ce qui va permettre la réduction de l’investissement en sécurité.

Figure 7 Image capturée de la vidéosurveillance(gauche) et son résultat de détection du vol(droite)

Mo ZHANG – Data Scientist Phd, spécialiste Computer Vision

Bibliographie

[1] Dharmaraj, «https://medium.com/@draj0718/what-is-computer-vision-its-applications-826c0bbd772b,» [En ligne].
[2] A. Wolfwitcz, «https://levity.ai/blog/difference-machine-learning-deep-learning,» [En ligne].
[3] M. Y. e. al., «Railway obstacle detection algorithm using neural network».
[4] Projet EARLI, «https://univ-cotedazur.fr/recherche-innovation/structures-de-recherche/academies-dexcellence/academie-2/actions/earli-ou-prevoir-les-seismes-et-tsunamis-avec-de-lia,» [En ligne].
[5] T. Maubant, «https://www.actuia.com/actualite/predire-les-impacts-dun-tsunami-en-quelques-fractions-de-seconde-grace-au-deep-learning/,» [En ligne].
[6] Universit of Bristol, «http://www.bristol.ac.uk/earthsciences/research/volcanology/,» [En ligne].
[7] NVIDIA, «https://developer.nvidia.com/blog/ai-helps-detect-disaster-damage-from-satellite-imagery/,» [En ligne].
[8] V. ABADIE, «https://www.lajauneetlarouge.com/la-voiture-autonome-defis-technologiques-et-juridiques/,» [En ligne].
[9] ANAVEO, «https://www.anaveo.fr/nos-solutions/videosurveillance/detection-de-vols,» [En ligne].

 

 

En réagissant à cet article, vous nous permettez d'affiner les contenus que nous publions ici !

  • Awesome (1)
  • Interesting (0)
  • Useful (0)
  • Boring (0)
  • Sucks (0)

Si cet article vous a plu, n’hésitez pas à le partager via

Ces articles peuvent également vous intéresser