Publié le

Différence entre la Computer Vision et la reconnaissance d’images

La Computer Vision et la reconnaissance d’images sont deux termes souvent associés et même confondus, alors qu’il existe bien une différence (subtile, mais existante !). Nous avons donc décidé de vous expliquer la nuance entre ces deux notions.

Qu’est-ce que la Computer Vision ?

La Computer Vision est une branche de l’Intelligence Artificielle qui a pour objectif de permettre aux ordinateurs d’interpréter des données visuelles (photos ou vidéo) afin d’en extraire des informations.

Les données visuelles sont issues de différents capteurs tels que des caméras de vidéosurveillance ou le smartphone de techniciens de terrain. La Computer Vision est elle-même constituée de plusieurs branches, dont les deux principales sont la reconnaissance d’image et la Machine Vision. La première branche, dans laquelle évolue Deepomatic, permet de mettre en place plusieurs pratiques comme la classification, le tagging, la détection, la segmentation ou encore l’OCR (Optical character recognition), la reconnaissance optique de caractères.

Ces tâches sont des algorithmes dits “d’apprentissage supervisé” : ils sont “entraînés” à partir d’exemples d’images annotées par les concepts qu’il faudrait pouvoir reconnaître, pour ensuite être capables de prédire les concepts d’intérêt dans des images que l’algorithme n’a encore jamais rencontrés.

La classification consiste à reconnaître à quelle catégorie appartient une image parmi un ensemble de catégories prédéterminées. Toutes les données auront obligatoirement une seule classe. Le tagging (ou classification multi-classes) est une technique similaire à la classification dans laquelle aucune, une, ou plusieurs classes peuvent être assignées à une image.

La détection est une technique de reconnaissance d’image utilisée afin de localiser un ou plusieurs objets d’intérêt dans une image ou une vidéo. Elle permet de délimiter les objets reconnus par un rectangle sur l’image (appelé bounding box en anglais, une “boîte englobante”). La segmentation, quant à elle, est une version plus précise de la détection. Elle permet de détecter au pixel près des éléments de l’image et de cartographier très précisément chaque objet dans une image.

Enfin, l’OCR est une technique de reconnaissance d’image visant à reconnaître et traduire en fichier texte des données visuelles de textes imprimés ou dactylographiés. Si vous voulez en savoir plus sur la reconnaissance d’image, cliquez ici

La vision industrielle ou Machine Vision est une technique différente de la reconnaissance d’image, mais qui reste issue de la Computer Vision. Il s’agit d’une technique utilisée principalement dans le secteur industriel, pour la standardisation de la découpe du métal par exemple. Cette pratique utilise l’identification de points d’intérêts définis à l’avance et de la géométrie dans un algorithme complexe afin de déterminer la forme de l’objet à identifier.

La reconnaissance d’image et la Machine Vision, deux techniques de Computer Vision avec leurs avantages et inconvénients.

La différence fondamentale entre les techniques de reconnaissance d’image et de vision industrielle est l’utilisation du Machine Learning pour la première, tandis que la seconde ne l’utilise pas. Le Machine Learning permet à un ordinateur “d’apprendre” à partir de données, c’est-à-dire de résoudre des tâches sans avoir été explicitement programmé pour le faire. Si vous voulez en savoir plus sur le fonctionnement du Machine Learning dans la reconnaissance d’image, cliquez-ici.

Commençons par la vision industrielle. Elle possède de nombreux avantages :

  • Contrairement à la reconnaissance d’image, son système n’a pas besoin d’être entraîné. La solution peut donc être mise en place sans collecte de données d’entraînement au préalable.
  • La solution utilise des principes géométriques. Elle peut donc s’adapter à de nombreux sujets.
  • Le fait d’utiliser des principes géométriques rend la solution très fiable, car ce sont des principes immuables.

Cependant, cette technique présente aussi des inconvénients. Tout d’abord, il s’agit d’un système compliqué à mettre en place. En effet, il nécessite la création d’algorithmes géométriques complexes dont l’élaboration ne peut se faire sans un expert. De plus, les principes immuables de la géométrie et la rigidité des algorithmes rend cette technique peu adaptable. Pour chaque évolution du sujet à analyser, un nouvel algorithme doit être créé.

La reconnaissance d’image, utilisant le Machine Learning donc, possède des avantages très différents :

  • Cette solution est très flexible et peut donc servir dans tout type de secteur. Les réseaux de neurones s’adaptent rapidement aux changements.
  • Il n’est pas nécessaire d’être un expert pour bénéficier de la reconnaissance d’image, il suffit de collecter des images ou des vidéos qui serviront d’exemples de situations à reconnaître. Cette solution permet donc d’être indépendant tout au long de sa mise en place.
  • Il s’agit d’une technique très fiable si les réseaux de neurones sont bien entrainés, et les données d’entrainement bien annotées.

Cependant, comme pour la Machine Vision, la reconnaissance d’image a aussi quelques inconvénients. En effet, afin d’être efficace, elle nécessite une moyenne de 1000 images par type d’objet à reconnaître pour être entraînée correctement. Cela veut dire que les entreprises souhaitant mettre en place une solution de reconnaissance d’image doivent déjà avoir en leur possession un gros jeu de données dès le début du projet ou à minima un plan d’action pour les collecter. De manière générale, la mise en place d’une telle solution nécessite un important travail en amont de sa mise en production, mais permet ensuite de s’adapter facilement aux évolutions des conditions de production, contrairement à la vision industrielle.

Et le Deep Learning dans tout ça ?

Avant 2015, le Deep Learning ne s’imposait pas, car cette technique était moins fiable et plus lente. Cependant, avec les progrès techniques et les développements de la recherche, le Deep Learning s’est considérablement renforcé. Les algorithmes de Deep Learning sont une branche particulière au sein de la famille des algorithmes de Machine Learning qui permettent à l’Intelligence Artificielle d’apprendre par elle-même à reconnaître des concepts, sans programmation, c’est-à-dire sans se contenter d’exécuter des règles prédéfinies. La spécificité des algorithmes de Deep Learning tient au fait qu’ils sont basés sur des réseaux de neurones artificiels, calqués sur la structure du cerveau humain. Un réseau de neurones est constitué de plusieurs couches de neurones interconnectés qui permettent le traitement des données pour produire une analyse de la donnée fournie en entrée, comme une image. Contrairement aux algorithmes traditionnels composés de plusieurs étapes indépendantes, cette structure particulière permet d’entraîner le réseau de neurones de « bout-en-bout », c’est-à-dire des données jusqu’à la prédiction finale, ce qui débouche sur de bien meilleures performances. Le rapide développement du Deep Learning a permis d’accélérer le développement des technologies sur lesquelles il se base, si bien que l’utilisation du Deep Learning est maintenant possible même sur du matériel peu gourmand en énergie comme les mobiles ou l’IoT.

De plus, cela a permis de rendre bien plus efficaces et précises des applications de la Computer Vision comme l’OCR ou la Pose Estimation :

  • L’Optical character recognition est un technique permettant de transformer le texte présent sur une photographie en fichier texte.
  • La Pose Estimation est une technique permettant de prédire numériquement comment l’utilisateur va influencer la transformation d’un objet.

Pour en savoir plus sur l’utilisation de la reconnaissance d’image dans les entreprises cliquez ici.

background

Automatiser la Qualité. Accélérer la Croissance.