Qu'est-ce que la correspondance de modèle ? Un guide rapide
Explore la technique de traitement d'image appelée correspondance de modèle (template matching), comment elle fonctionne 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 dans l'éclairage, l'angle, l'échelle ou la netteté peuvent être déroutants.
Les capacités d'analyse d'images d'une machine proviennent généralement de deux domaines de l'informatique étroitement liés : le traitement d'images et la computer vision. Bien qu'ils fonctionnent souvent ensemble, ils ont des objectifs fondamentaux différents.
Le Image processing se concentre sur les images en tant que données brutes. Il peut améliorer les images, mais il n'essaie pas de comprendre leur contenu. C'est là que la computer vision fait la différence. La computer vision est une branche de l'artificial intelligence (AI) qui permet aux machines de comprendre les images et les vidéos.
Le traitement d'image de base existe depuis de nombreuses années, mais les innovations de pointe en vision par ordinateur sont beaucoup plus récentes. Un excellent moyen de comprendre l'histoire du domaine est de revenir sur la manière dont nous résolvions ces problèmes en utilisant des méthodes plus anciennes et traditionnelles.
Prenons l'image matching, par exemple. C'est une tâche de vision courante où 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 en utilisant l'IA et le deep learning. Cependant, avant l'essor des réseaux de neurones modernes dans les années 2010, la méthode privilégiée était une technique beaucoup plus simple appelée template matching.

Fig 1. Un exemple de mise en correspondance de modèles (Source)
Le template matching est une technique de traitement d'image où une petite image modèle (template) est glissée sur une image plus grande, pixel par pixel. 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 explorerons ce qu'est le template matching et comment les améliorations modernes le rendent plus fiable dans des situations réelles. Commençons !
Qu'est-ce que le template matching ?#
Le template matching peut également être qualifié de technique classique de vision par ordinateur, ce qui signifie qu'il travaille directement avec les pixels de l'image (la plus petite unité d'une image numérique). Il est utilisé pour trouver un motif plus petit à l'intérieur d'une image plus grande.
Des méthodes comme celle-ci sont définies en utilisant la géométrie, l'optique et des règles mathématiques plutôt qu'en entraînant de grands modèles sur des datasets massifs. En d'autres termes, un système de template matching compare la luminosité, la couleur et d'autres informations de pixels sur deux entrées : l'image source (l'image plus grande) et une image modèle plus petite (le motif à trouver).

Fig 2. L'image A et l'image B sont des exemples de modèles. (Source)
L'objectif principal du template matching est de localiser où le modèle apparaît dans la scène plus grande et de mesurer à quel point il correspond aux différentes régions de l'image. L'algorithme de template matching fait cela en faisant glisser le modèle sur l'image plus grande et en calculant un score de similarité à chaque position.
Les régions ayant des scores plus élevés sont considérées comme la meilleure correspondance, ce qui signifie qu'elles ressemblent étroitement au modèle. Comme cette méthode repose 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, le template matching peut être utilisé dans des tâches de vérification d'étiquettes dans le contrôle qualité. Il peut facilement faire correspondre l'image modèle des étiquettes avec des images du produit fini pour vérifier si les étiquettes sont présentes ou non.
Comment fonctionne le template matching#
Voici un aperçu étape par étape du fonctionnement du template matching :
-
Étape 1 - Préparation des images : Le processus commence par le chargement de l'image source et de l'image modèle, puis par la conversion des deux en une image en niveaux de gris. Comme le template matching repose sur la comparaison des valeurs de pixels, la suppression des informations de couleur réduit le bruit et accélère le traitement d'image.
-
Étape 2 - Glissement du modèle sur l'image : Ensuite, l'algorithme de template matching fait glisser le modèle sur l'image plus grande, un pixel à la fois (en commençant par le coin supérieur gauche). Chaque étape de ce mouvement est une itération, où l'algorithme extrait un patch d'image de l'image source qui correspond à la taille du modèle.
-
Étape 3 - Mesure de la qualité de la correspondance : Chaque patch d'image est comparé au modèle en utilisant une méthode de correspondance mathématique pour générer une métrique de corrélation ou une valeur de corrélation pour chaque position possible. Les approches courantes incluent les différences au carré (qui mesurent la distance numérique entre les intensités de pixels pour calculer le décalage total), la corrélation croisée normalisée (elle multiplie les valeurs de pixels pour déterminer à quel point les motifs de lumière et d'obscurité s'alignent), et le coefficient de corrélation (il soustrait la luminosité moyenne pour garantir que la correspondance reste précise même si l'éclairage change un peu).
-
É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 pour s'assurer que seules les correspondances ayant un score de confiance suffisamment élevé sont acceptées, filtrant ainsi les détections faibles ou incorrectes.
-
Étape 5 - Mise en surbrillance du résultat : Enfin, l'emplacement détecté est mappé sur l'image originale. Typiquement, une BBox est dessinée autour de la région correspondante, montrant clairement où le modèle apparaît.
Mise en pratique du template matching#
Bien que la mise en 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 computer vision dynamiques du monde réel en raison de ses inconvénients, si tu souhaites l'essayer, des bibliothèques Python comme OpenCV rendent ce processus simple et proposent également des tutoriels faciles à suivre. Elle dispose d'une fonction matchTemplate intégrée qui gère les comparaisons mathématiques complexes.
De plus, elle prend en charge d'autres fonctions qui aident à des tâches simples comme le chargement d'images à l'aide de la fonction imread et la conversion des couleurs avec la fonction cvtColor pour transformer les images en niveaux de gris. La conversion des couleurs est une étape critique car réduire une image à un seul canal d'intensité rend la comparaison mathématique au sein de matchTemplate beaucoup plus rapide et moins sensible au bruit coloré.
Une fois que tu as généré la carte de similarité, OpenCV inclut également une fonction minMaxLoc pour finaliser la détection. Elle peut être utilisée pour scanner toute la carte afin d'identifier les valeurs minimales et maximales globales ainsi que leurs coordonnées exactes. Selon la méthode de correspondance utilisée, minMaxLoc te permet de localiser instantanément le meilleur résultat en trouvant la corrélation la plus élevée ou la valeur d'erreur la plus faible dans les données.
En plus d'OpenCV, des bibliothèques comme NumPy sont essentielles pour manipuler les tableaux d'images et appliquer un seuil aux résultats, tandis que Matplotlib est couramment utilisé pour visualiser la carte de similarité et la détection finale. Ensemble, ces outils fournissent un environnement complet pour construire et déboguer une solution de template matching.
Applications réelles du template matching#
Maintenant que nous comprenons mieux comment fonctionne le template matching, examinons de plus près son application dans des scénarios réels.
Identification des styles architecturaux traditionnels#
Dans les domaines du cultural heritage et des études architecturales, les chercheurs doivent analyser des photographies de bâtiments historiques, de temples et de monuments pour comprendre comment les motifs de conception varient d'une région à l'autre. Avant que les modèles de computer vision avancés ne soient largement adoptés, ils utilisaient des techniques de mise en correspondance d'images pour étudier de telles structures.
Le template matching permet aux chercheurs de se concentrer sur des repères 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 liée aux Indonesian traditional houses. Les chercheurs ont créé de petits modèles de caractéristiques distinctives et les ont comparés à des photographies à grande échelle. Cette approche a été utilisée pour mettre en évidence les zones d'image qui correspondaient étroitement au modèle et classer les styles architecturaux d'une région à l'autre.

Fig 3. Utilisation de la mise en correspondance de modèles pour classer les maisons traditionnelles en Indonésie (Source)
Détection d'objets dans les systèmes de vision industrielle#
Les environnements industriels peuvent bénéficier de systèmes de vision capables de détecter rapidement des composants, de vérifier des assemblages ou de repérer des défauts. Avant que le deep learning ne se répande dans le manufacturing, de nombreuses équipes ont expérimenté des méthodes de mise en correspondance d'images pour automatiser ces tâches.
En termes simples, un modèle de référence de composant peut être utilisé pour scanner les images d'une ligne de production et mettre en évidence les régions qui correspondent au modèle. Cela fonctionne bien lorsque les pièces apparaissent dans des positions cohérentes et que l'éclairage est stable.
Template matching pour la détection de tumeurs pulmonaires#
Même avec des technologies de pointe qui ont un impact sur les soins de santé, le diagnostic de problèmes de santé à partir de medical imaging comme les tomodensitogrammes reste difficile. Traditionnellement, les radiologues devaient examiner manuellement chaque tranche de scan, un processus qui exige une précision extrême et un temps considérable.
Avant que le deep learning ne soit appliqué dans la santé, les chercheurs ont tenté d'utiliser le template matching pour rationaliser le flux de travail et aider à identifier les anomalies. Un bon exemple de cette technique concerne la détection de tumeurs ou de 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, en mesurant la similarité à chaque coordonnée.

Fig 4. Détection de tumeurs pulmonaires par mise en correspondance de modèles (Source)
Avantages et inconvénients du template matching#
Voici quelques avantages clés de l'utilisation du template matching :
- Intuitif et direct : Le template matching 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 des images en niveaux de gris sous un éclairage constant, produisant des résultats précis lorsque les motifs et les arrière-plans sont stables.
- Intégration facile : En utilisant des bibliothèques Python comme OpenCV, le template matching peut être appliqué rapidement à des projets réels sans configuration complexe ni calcul lourd.
Bien que le template matching offre de nombreux avantages, il présente également des limites. Voici quelques défis à garder à l'esprit :
- Sensible à l'échelle et à la rotation : La variation de la taille ou de l'orientation du modèle peut réduire la précision.
- Dépendance à l'éclairage et au 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 à détecter.
- Adaptabilité limitée : Contrairement aux méthodes basées sur l'IA, le template matching ne peut pas apprendre à partir des données ou s'améliorer au fil du temps. Il fonctionne mieux dans des environnements contrôlés ou répétitifs.
Points clés#
La vision par ordinateur est un vaste domaine qui couvre diverses techniques. Apprendre les techniques traditionnelles de traitement d'image, comme le template matching, est un excellent point de départ pour comprendre comment fonctionne l'analyse d'image. Les innovations de pointe en vision IA s'appuient sur les mêmes concepts fondamentaux et résolvent des problèmes similaires.
Tu veux en savoir plus sur l'IA ? Rejoins notre community et consulte notre GitHub repository. Découvre comment l'AI in retail et la vision AI in manufacturing stimulent le changement. Explore nos licensing options pour construire dès aujourd'hui avec la vision par IA !






