Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant

Qu'est-ce que la reconnaissance de formes ? Guide rapide

Découvrez la technique de traitement d'image appelée « correspondance de modèles », son fonctionnement et son importance dans l'histoire de la vision par ordinateur.

Les images contiennent souvent de nombreux détails infimes que les humains peuvent facilement repérer. Cependant, pour les machines, cette tâche n'est pas si simple. Les machines perçoivent une image numérique comme une grille de valeurs de pixels, et même de légers changements d'éclairage, d'angle, d'échelle ou de netteté peuvent les dérouter. 

Les capacités d'analyse d'images d'une machine proviennent généralement de deux domaines informatiques étroitement liés : le traitement d'images et la vision par ordinateur. Bien qu'ils fonctionnent souvent ensemble, leurs objectifs fondamentaux sont différents. 

Le traitement d'images se concentre sur les images en tant que données brutes. Il peut améliorer les images, mais ne cherche pas à comprendre leur contenu. C'est là que la vision par ordinateur fait la différence. La vision par ordinateur est une branche de l'intelligence artificielle (IA) qui permet aux machines de comprendre les images et les vidéos. 

Le traitement d'images de base existe depuis de nombreuses années, mais les innovations de pointe en matière de vision par ordinateur sont beaucoup plus récentes. Pour bien comprendre l'histoire de ce domaine, il est utile de revenir sur la manière dont nous résolvions ces problèmes auparavant, à l'aide de méthodes plus anciennes et plus traditionnelles.

Prenons l'exemple de la correspondance d'images. Il s'agit d'une tâche courante en vision par ordinateur, dans laquelle un système doit déterminer si un objet ou un motif spécifique existe dans une image plus grande. 

De nos jours, cela peut être fait facilement et avec précision grâce à l'IA et au deep learning. Cependant, avant l'essor des réseaux neuronaux modernes dans les années 2010, la méthode la plus courante était une technique beaucoup plus simple appelée « template matching » (correspondance de modèles). 

Fig. 1. Exemple de correspondance de modèles (Source)

La correspondance de modèles est une technique de traitement d'images qui consiste à faire glisser une petite image modèle pixel par pixel sur une image plus grande. Ce processus de glissement, similaire à une convolution, permet à l'algorithme de trouver l'emplacement qui correspond le mieux à ce motif spécifique.

Dans cet article, nous allons explorer ce qu'est la correspondance de modèles et comment les améliorations modernes la rendent plus fiable dans des situations réelles. C'est parti !

Qu'est-ce que la reconnaissance de formes ?

La correspondance de modèles peut également être considérée comme une technique classique de vision par ordinateur, ce qui signifie qu'elle fonctionne directement avec les pixels de l'image (la plus petite unité d'une image numérique). Elle est utilisée pour trouver un motif plus petit à l'intérieur d'une image plus grande. 

Ces méthodes sont définies à l'aide de règles géométriques, optiques et mathématiques plutôt que par l'entraînement de modèles volumineux sur des ensembles de données massifs. En d'autres termes, un système de correspondance de modèles compare la luminosité, la couleur et d'autres informations sur les pixels entre deux entrées : l'image d'entrée (l'image plus grande) et une image modèle plus petite (le motif à trouver).

Fig. 2. Les images A et B sont des exemples de modèles. (Source)

L'objectif principal de la correspondance de modèles est de localiser l'emplacement du modèle dans une scène plus large et de mesurer son degré de correspondance avec différentes régions de l'image. L'algorithme de correspondance de modèles effectue cette opération en faisant glisser le modèle sur l'image plus large et en calculant un score de similarité à chaque position.

Les régions ayant obtenu les scores les plus élevés sont considérées comme les plus pertinentes, car elles ressemblent fortement au modèle. Cette méthode reposant sur des comparaisons pixel par pixel, elle fonctionne mieux dans des environnements contrôlés, où l'apparence des objets ne change pas. 

Par exemple, la correspondance de modèles peut être utilisée dans les tâches de vérification des étiquettes dans le cadre du contrôle qualité. Elle permet de comparer facilement l'image modèle des étiquettes avec les images du produit fini afin de vérifier si les étiquettes sont présentes ou non.

Comment fonctionne la correspondance de modèles

Voici un aperçu étape par étape du fonctionnement de la correspondance de modèles :

  • Étape 1 - Préparation des images : le processus commence par le chargement de l'image d'entrée et de l'image modèle, puis par leur conversion en images en niveaux de gris. Étant donné que la correspondance de modèles repose sur la comparaison des valeurs de pixels, la suppression des informations de couleur réduit le bruit et accélère le traitement des images. 
  • Étape 2 - Déplacement du modèle sur l'image : Ensuite, l'algorithme de correspondance de modèles déplace le modèle sur l'image plus grande, pixel par pixel (en commençant par le coin supérieur gauche). Chaque étape de ce mouvement est une itération, au cours de laquelle l'algorithme extrait un fragment d'image de l'image source qui correspond à la taille du modèle.
  • Étape 3 - Mesurer la qualité de la correspondance : chaque patch d'image est comparé au modèle à l'aide d'une méthode de correspondance mathématique afin de générer une mesure de corrélation ou une valeur de corrélation pour chaque position possible. Les approches courantes comprennent les différences au carré (qui mesurent la distance numérique entre les intensités des pixels pour calculer le décalage total), la corrélation croisée normalisée (qui multiplie les valeurs des pixels pour déterminer le degré d'alignement des motifs clairs et foncés) et le coefficient de corrélation (qui soustrait la luminosité moyenne pour garantir que la correspondance reste précise même si l'éclairage change légèrement).
  • Étape 4 - Identification de la meilleure correspondance : après avoir évalué toutes les positions, l'algorithme sélectionne la meilleure correspondance en trouvant la valeur maximale ou minimale, selon la méthode utilisée. Un seuil est souvent appliqué à ces résultats afin de garantir que seules les correspondances présentant un score de confiance suffisamment élevé soient acceptées, filtrant ainsi les détections faibles ou incorrectes.
  • Étape 5 - Mise en évidence du résultat : enfin, l'emplacement détecté est reporté sur l'image d'origine. En général, un cadre est dessiné autour de la zone correspondante, indiquant clairement où apparaît le modèle. 

Mise en pratique de la correspondance de modèles

Bien que la correspondance de modèles basée sur le traitement d'images ne soit généralement pas utilisée dans les déploiements de solutions de vision par ordinateur dynamiques dans le monde réel en raison des inconvénients qu'elle présente, si vous souhaitez la tester, Python telles que OpenCV facilitent ce processus et proposent également des tutoriels faciles à suivre. Elles intègrent une fonction matchTemplate qui gère les comparaisons mathématiques complexes. 

Il prend également en charge d'autres fonctions qui facilitent les tâches simples, telles que le chargement d'images à l'aide de la fonction imread et la conversion des couleurs à l'aide de la fonction cvtColor pour transformer les images en niveaux de gris. La conversion des couleurs est une étape cruciale, car la réduction d'une image à un seul canal d'intensité rend la comparaison mathématique dans matchTemplate beaucoup plus rapide et moins sensible au bruit de couleur.

Une fois la carte de similarité générée, OpenCV inclut OpenCV une fonction minMaxLoc pour finaliser la détection. Elle peut être utilisée pour analyser l'ensemble de la carte afin d'identifier les valeurs minimales et maximales globales ainsi que leurs coordonnées exactes. En fonction de la méthode de correspondance utilisée, minMaxLoc vous permet de localiser instantanément la meilleure correspondance en trouvant la corrélation la plus élevée ou la valeur d'erreur la plus faible dans les données.

Outre OpenCV, des bibliothèques telles que NumPy indispensables pour traiter les tableaux d'images et appliquer un seuil aux résultats, tandis que Matplotlib couramment utilisé pour visualiser la carte de similarité et la détection finale. Ensemble, ces outils fournissent un environnement complet pour créer et déboguer une solution de correspondance de modèles.

Applications concrètes de la correspondance de modèles

Maintenant que nous comprenons mieux le fonctionnement de la correspondance de modèles, examinons de plus près son application dans des scénarios réels. 

Identification des styles architecturaux traditionnels

Dans le domaine des études sur le patrimoine culturel et l'architecture, les chercheurs doivent analyser des photographies de bâtiments historiques, de temples et de monuments afin de comprendre comment les modèles de conception varient d'une région à l'autre. Avant que les modèles avancés de vision par ordinateur ne soient largement adoptés, ils utilisaient des techniques de correspondance d'images pour étudier ces structures.

La correspondance de modèles permet aux chercheurs de se concentrer sur des éléments architecturaux spécifiques tels que les contours des toits, la disposition des fenêtres ou les motifs muraux. En faisant glisser des modèles ou des images de référence sur des images plus grandes, ils peuvent identifier les formes récurrentes et réduire l'analyse manuelle des images, qui peut prendre des heures.

Un exemple intéressant provient d'une étude portant sur les maisons traditionnelles indonésiennes. Les chercheurs ont créé de petits modèles représentant les caractéristiques principales et les ont comparés à des photographies grandeur nature. Cette approche a été utilisée pour mettre en évidence les zones de l'image qui correspondaient étroitement au modèle et classify les styles classify selon les régions.

Fig. 3. Utilisation de la correspondance de modèles pour classify les maisons classify en Indonésie (Source)

Détection d'objets dans les systèmes de vision industrielle

Les environnements industriels peuvent tirer parti des systèmes de vision capables de detect rapidement detect , de vérifier des assemblages ou de repérer des défauts. Avant que l'apprentissage profond ne se généralise dans le secteur manufacturier, de nombreuses équipes ont expérimenté des méthodes de comparaison d'images pour automatiser ces tâches.

En termes simples, un modèle de référence de composant peut être utilisé pour scanner des images provenant d'une chaîne de production et mettre en évidence les zones qui correspondent au modèle. Cela fonctionne bien lorsque les pièces apparaissent dans des positions cohérentes et que l'éclairage est stable.

Correspondance de modèles pour la détection des tumeurs pulmonaires 

Même si les technologies de pointe ont un impact considérable dans le domaine des soins de santé, le diagnostic des problèmes de santé à partir d'images médicales telles que les tomodensitogrammes reste difficile. Traditionnellement, les radiologues devaient examiner manuellement chaque coupe, un processus qui exige une extrême précision et beaucoup de temps. 

Avant que l'apprentissage profond ne soit appliqué dans le domaine de la santé, les chercheurs ont tenté d'utiliser la correspondance de modèles pour rationaliser le flux de travail et aider à identifier les anomalies. Un bon exemple de cette technique concerne la détection des tumeurs ou nodules pulmonaires. 

Dans cette méthode, les chercheurs créent des modèles de référence représentant la forme et l'intensité typiques d'une tumeur. Le système fait ensuite glisser ces modèles sur les scans des patients, mesurant la similitude à chaque coordonnée.

Fig. 4. Détection d'une tumeur pulmonaire à l'aide de la correspondance de modèles (Source)

Avantages et inconvénients de la correspondance de modèles

Voici quelques avantages clés liés à l'utilisation de la correspondance de modèles :

  • Intuitif et simple: la correspondance de modèles est facile à comprendre et à mettre en œuvre, ce qui en fait un point de départ idéal pour les débutants en IA et en vision par ordinateur.
  • Fiable dans des conditions contrôlées: il fonctionne bien sur les images en niveaux de gris sous un éclairage constant, donnant des résultats précis lorsque les motifs et les arrière-plans sont stables.
  • Intégration facile: grâce à Python telles OpenCV, la correspondance de modèles peut être rapidement appliquée à des projets réels sans configuration complexe ni calculs lourds.

Si la correspondance de modèles offre de nombreux avantages, elle présente également certaines limites. Voici quelques défis à garder à l'esprit :

  • Sensible à l'échelle et à la rotation: toute variation de la taille ou de l'orientation du modèle peut réduire la précision.
  • Dépendance à l'égard de l'éclairage et du contraste : les changements d'éclairage ou de contraste entre le modèle et l'image peuvent entraîner des correspondances incorrectes ou rendre le modèle plus difficile à detect.
  • Adaptabilité limitée: contrairement aux méthodes basées sur l'IA, la correspondance de modèles ne peut pas apprendre à partir des données ni s'améliorer au fil du temps. Elle fonctionne mieux dans des environnements contrôlés ou répétitifs.

Principaux points à retenir 

La vision par ordinateur est un domaine vaste qui couvre diverses techniques. L'apprentissage des techniques traditionnelles de traitement d'images, telles que la correspondance de modèles, est un excellent point de départ pour comprendre le fonctionnement de l'analyse d'images. Les innovations de pointe en matière d'IA visuelle s'appuient sur les mêmes concepts fondamentaux et résolvent des problèmes similaires. 

Vous souhaitez en savoir plus sur l'IA ? Rejoignez notre communauté et consultez notre référentiel GitHub. Découvrez comment l'IA dans le commerce de détail et la Vision AI dans l'industrie manufacturière sont moteurs du changement. Explorez nos options de licence pour commencer dès aujourd'hui à développer avec Vision AI !

Construisons ensemble l'avenir
de l'IA !

Commencez votre parcours avec l'avenir de l'apprentissage automatique

Démarrer gratuitement