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'image d'une machine proviennent généralement de deux domaines informatiques étroitement liés : le traitement d'image et la vision par ordinateur. Bien qu'ils travaillent souvent ensemble, ils ont des objectifs fondamentaux différents.
Le traitement d'image 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'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.
Prends l'image matching, par exemple. C'est une tâche de vision courante où un système doit découvrir si un objet ou un motif spécifique existe à l'intérieur d'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 template matching (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 !
Link to this sectionQu'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.
Link to this sectionComment 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.
Link to this sectionMise en pratique du template matching#
Bien que la correspondance de modèle basée sur le traitement d'image ne soit généralement pas utilisée dans les déploiements de solutions de vision par ordinateur dynamiques en conditions réelles 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.
Link to this sectionApplications 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.
Link to this sectionIdentification des styles architecturaux traditionnels#
Dans le patrimoine culturel et les é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 selon les régions. Avant que les modèles avancés de vision par ordinateur ne soient largement adoptés, ils utilisaient des techniques d'image matching 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 maisons traditionnelles indonésiennes. Les chercheurs ont créé de petits modèles de caractéristiques distinctives et les ont comparés avec des photographies à grande échelle. Cette approche a été utilisée pour mettre en évidence les régions de l'image qui correspondaient étroitement au modèle et classer les styles architecturaux selon les régions.

Fig 3. Utilisation du template matching pour classer les maisons traditionnelles en Indonésie (Source)
Link to this sectionDé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 généralise dans la fabrication, de nombreuses équipes ont expérimenté des méthodes d'image matching 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.
Link to this sectionTemplate matching pour la détection de tumeurs pulmonaires#
Même avec une technologie de pointe qui a un impact dans la santé, diagnostiquer des problèmes de santé à partir de l'imagerie médicale comme les scanners CT reste difficile. Traditionnellement, les radiologues devaient examiner manuellement chaque coupe, 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 tumeur pulmonaire utilisant le template matching (Source)
Link to this sectionAvantages 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.
Link to this sectionPoints 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 communauté et consulte notre dépôt GitHub. Découvre comment l'IA dans le commerce de détail et la vision IA dans la fabrication entraînent le changement. Explore nos options de licence pour construire avec la vision IA dès aujourd'hui !






