OPTIMISEZ VOTRE CONFIGURATION

COMPLEXE D'ÉCLAIRAGE >

En savoir plus sur l'éclairage intelligent | Partie 2

Plus
Fonctions innovantes pour votre caméra

PROFITEZ AU MAXIMUM DE VOTRE

ARCHITECTURE GIGE VISION >

Avec deux fonctions de caméra ultra-performantes

Plus

LINE SCAN BAR >

Rapide, précis et compact

sur toute la longueur

Plus

Recherche et classification

En vision industrielle, les outils de reconnaissance sont indispensables. Ils permettent de détecter les objets ou de guider les machines. Des outils de reconnaissance avancés peuvent aussi être utilisés pour la classification des objets ou des défauts.

Le présent article expose diverses méthodes de reconnaissance de formes et discute les avantages de différents outils.

Corrélation

En traitement d'image, la corrélation vient du traitement du signal, où un certain "degré de concordance" est nécessaire pour comparer un signal-test à un signal connu. Le résultat est normalisé: 1 pour une correspondance parfaite, et 0 pour aucune concordance. En traitement d'images, le signal est bidimensionnel (x,y) et le résultat de l'opération de corrélation de deux images sera une autre image normalisée entre 0 et 1. Un maximum de corrélation, en un point donné, suggère une grande similitude entre les deux images, lorsqu'elles sont superposées en ce point.

D'ordinaire, les outils de corrélation permettent à l'utilisateur de définir un seuil, en-dessous duquel les résultats sont ignorés. La figure 1 montre une copie d'écran d'un outil de corrélation (outil inclus dans le Foundation Package de Common Vision Blox). Un seuil suffisamment haut (90%) a été défini, afin de n'obtenir qu'un seul résultat, à savoir le pixel le plus brillant du cadre supérieur droit, pointé dans le cadre supérieur gauche.

La corrélation donne une méthode très précise d'appariement des formes (pattern matching), mais présente aussi un certain nombre d'inconvénients:

  • Sensibilité aux changements de contraste: ce qui rend cette méthode peu fiable, si la luminosité de la scène varie par rapport au modèle.
  • Sensibilité aux changements d'échelle: la distance de travail et la taille des objets doivent être fixés.
  • Sensibilité aux changements de rotation: une pièce, ayant tourné sur son axe, ne donnera pas un score élevé.
  • Sensibilité aux changements d'apparence: toute modification, même faible, de la scène par rapport au modèle réduit fortement le score de détection.

En résumé, la technique de corrélation est appropriée uniquement, s'il est garanti que les images-tests soient très similaires aux modèles. Tout changement de luminosité, d'échelle, de rotation et d'apparence de l'image- test génère des défauts de détection.


Figure 1: Exemple d'outil de corrélation montrant la cible de référence (en bas à gauche), l'image-test (en haut à gauche) et les scores de corrélation (en haut à droite)

Au-delà de la corrélation classique

L'avantage spécifique de la corrélation est sa précision de positionnement. La méthode a connu de multiples développements, afin de la rendre plus adaptée aux applications concrètes. Le plus important d'entre eux est sans doute la "corrélation normalisée", qui aide à réduire la sensibilité de l'algorithme aux variations de lumière et de contraste. Avec cette technique, on peut travailler, de manière satisfaisante, dans des applications à luminosité variable.

La corrélation est une opération de convolution, ce qui signifie que la vitesse d'exécution est directement proportionnelle au nombre de pixels du modèle à rechercher. Il est possible d'augmenter la vitesse à l'aide d'une approche multi-résolution pyramidale. Dans un premier niveau de la pyramide, la résolution d'image peut être divisée par 4 (la moitié en X et la moitié en Y) et de même pour le modèle.

La corrélation travaille alors avec un quart des pixels, ce qui permet d'accélérer la vitesse d'exécution. En revanche, la précision de positionnement est réduite d'autant. Dans un second niveau de la pyramide, seules les positions avec de bons scores obtenus, à des résolutions basses, sont transmises aux résolutions élevées pour une recherche plus précise de positionnement. Dans certains cas, il est possible de déterminer plusieurs niveaux de pyramide. Ainsi, la vitesse augmente tout en préservant la précision de positionnement. La figure 2 montre un exemple de cette technique.


Figure 2: A gauche, un diagramme illustrant la réduction de la résolution, selon un "processus pyramidal" et, à droite, un outil de corrélation basé sur une pyramide. Dans ce cas, le temps d'exécution est divisé par trois par rapport à une corrélation normalisée standard.

Ces développements, apportés à la technique de corrélation classique, la rendent bien plus fiable, mais ne pallient pas tous ses inconvénients: elle ne tolère toujours pas de rotation ni de variation du modèle.

Recherche par descripteur géométrique

Pour traiter les rotations, il est nécessaire de se détacher des approches basées sur la convolution, qui utilise le système de coordonnées de l'image. Les techniques, basées sur des descripteurs géométriques de l'image, permettent de détecter l'objet dans n'importe quel angle. Ces méthodes se fondent sur les contours des objets, de sorte que l'utilisation d'un algorithme de détection de contours est possible. De plus, cette technique peut être rendue facilement tolérante aux changements de luminosité, et traite aussi les inversions de contraste. Par ailleurs, elle est tolérante également aux occlusions partielles des modèles recherchés.

La recherche, basée sur les descripteurs géométriques, est employée communément en vision car elle résout de nombreux problèmes, liés aux méthodes basées sur la corrélation. Mais elle présente aussi des inconvénients. Cette méthode est certes tolérante aux occlusions partielles (et fournira un score de concordance inférieur, le cas échéant), mais si le candidat présente davantage de contours que le modèle, le résultat n'en sera nullement affecté. La figure 3 illustre le problème.


Figure 3: A gauche - l'image-cible identique au modèle (100% de concordance). Au centre - un coin est abîmé, le résultat est inférieur à 100%. A droite - des attributs sont ajoutés au motif d'origine, le résultat fourni atteint 100% de concordance.

Afin d'augmenter la vitesse, cette approche est souvent combinée avec un processus pyramidal. Lors de tests, comparant cette technique à la corrélation normalisée pyramidale, l'analyse géométrique s'est toujours avérée plus rapide, cf. figure 4.


Figure 4: Exemple d'analyse géométrique utilisant une transformée généralisée de Hough: l'outil ShapeFinder de Common Vision Blox

Un des moyens de créer le modèle est connu sous le nom de "transformée de Hough". Cette technique transforme les informations de contours, fournies sous forme de coordonnées (x, y) et les place dans un autre espace d'attributs. La transformée généralisée de Hough, requise ici, est assez complexe mais l'originale est bien plus simple. Celle-ci a été conçue pour détecter des lignes droites, dans n'importe quel sens, sur un fond variable. Considérons une série de points de contour: chacun de ces points peut potentiellement appartenir à un ensemble de lignes droites. On dira que chaque point "vote" pour un certain nombre de droites.

Un espace, appelé "accumulateur", rend possible la mémorisation des votes. La transformée permet de "passer" les coordonnées d'un point de contour en un certain nombre de votes dans l'accumulateur. Un maximum dans l'accumulateur représente un grand nombre de votes pour une seule et même droite.

Cela signifie qu'un grand nombre de points de contour sont alignés sur cette même droite. Pour les algorithmes de reconnaissance de formes à descripteur géométrique, la transformée de Hough est généralisée à n'importe quelle forme géométrique. Cette technique est très tolérante au bruit présent dans une image, et permet de déterminer un facteur d'échelle et de rotation par rapport au modèle.

Classification - Recherche multiple

Le moyen le plus simple de créer un algorithme de classification est de faire une recherche séparée pour chaque classe, par ex. une recherche pour la classe 1, puis pour la classe2, etc.. Mais il s'agit là d'une méthode inefficace car très longue. L'emploi de processus pyramidaux rendrait possible une nette amélioration de la technique. Mais ce cas pose un autre problème: chaque recherche est exécutée indépendamment des autres, si bien que des objets similaires peuvent présenter des scores élevés lors de plus d'une recherche.

En d'autres termes, ce n'est pas le bon moyen pour établir des distinctions entre classes similaires. Il est plus efficace de procéder á une extraction unique de caractéristiques, puis de tenter de faire correspondre ces caractéristiques á un ensemble de classes de référence. Il existe de multiples techniques pour cela; deux d'entre elles sont traitées ci-dessous.

Classification - Arbre de décision

Partons d'un ensemble de caractéristiques (par exemple, des bords très contrastés), une façon très efficace de les classer dans une catégorie apprise est d'utiliser un arbre de décision. Cette technique est employée dans de nombreux secteurs (y compris la recherche opérationnelle et la classification biologique) pour montrer les effets d'une prise de décision, cf. figure 5. L'avantage de cette méthode réside dans le fait, qu'á chaque point de décision ("nœud"), le nombre de résultats possibles diminue considérablement, ce qui signifie que quelques "décisions" suffisent pour atteindre le résultat. En termes de calcul, celle-ci permet efficacité et rapidité.

Un autre avantage est que, seules les informations discriminantes et importantes sont prises en compte. Cette méthode est totalement l'opposé de la corrélation, où toutes les informations sont comparées pour donner un résultat. Ainsi, l'arbre de décision est idéal pour établir des distinctions entre classes similaires de caractères, par exemple.


Figure 5: Exemple d'arbre de décision pour classer des caractères

Il existe un outil de recherche et de classification utilisant cette méthode: Minos de Common Vision Blox. Il est très efficace et souvent employé pour la reconnaissance optique de caractères (OCR) á grande vitesse.

En résumé, les avantages de cette approche sont la rapidité et la capacité á distinguer des classes similaires. Par rapport aux techniques précédentes, l'inconvénient réside dans la nécessité de créer des "décisions" judicieuses: l'outil doit apprendre, á partir de nombreux exemples de chaque classe, de sorte que seules les caractéristiques discriminantes soient retenues. Aussi, la mise en œuvre de l'apprentissage est-elle plus longue qu'avec les autres techniques. La capacité á distinguer des classes similaires la rend moins apte á traiter de fortes variations intra-classes.

Classification - Machines á vecteurs de support

La dernière technique, présentée dans cet article, est aussi la plus sophistiquée. Développée en intégrant les expériences recueillies avec les outils antérieurs, elle vise les applications dans lesquelles ces outils sont inadéquats. Les machines á vecteurs de support (SVM) constituent une technique de classification par apprentissage supervisé. L'idée est d'extraire des caractéristiques d'une image et de les replacer dans un espace d'attributs multidimensionnel.

La partie relative á l'apprentissage de l'algorithme tente de séparer les classes, dans cet espace, en ajustant un ensemble d'hyperplans, qui divisent ou assemblent les classes. La figure 6 montre un exemple dans un espace d'attributs bidimensionnel.


Figure 6: Exemple de deux classes (carrés noirs et blancs) dans un espace d'attributs bidimensionnel, divisé par une surface de décision

Le grand avantage, par rapport aux autres techniques, est la capacité á généraliser la classification. Ainsi, cette méthode est adaptée aux applications présentant une grande variation intra-classes. L'inconvénient des SVM est qu'un nombre élevé d'exemples peut être requis pour obtenir une bonne classification.

C'est pourquoi, la mise en œuvre de la phase d'apprentissage peut exiger beaucoup de temps. Manto de CVB est un outil de classification SVM, utilisé avec succès dans la reconnaissance de caractères difficiles (OCR), la classification d'objets organiques, de textures, de défauts, l'identification de voitures et la reconnaissance de visages.