Mesure de formes planes complexes par un procédé de vision numérique.

Introduction

Actuellement, en métrologie, il n'existe que 2 procédés pour mesurer des pièces planes complexes:

Les machines avec contact utilisent un palpeur dirigé par un mécanisme précis pour le positionner en translation et en rotation. Les machines sans contact utilisent une caméra ou un capteur LASER en remplacement du palpeur pour récupérer les points mais le mécanisme de positionnement et de mesure est toujours le même.

Les projecteurs de profils permettent de projeter le contour agrandi d'une pièce sur un écran, de le faire coïncider manuellement avec un profil théorique et d'en observer les écarts.

Les machines à mesurer donnent des mesures plus précises mais sont relativement lentes et il n'est pas toujours possible de les mettre en œuvre. Le projecteur de profil permet d'aller plus vite mais il nécessite un positionnement manuel et un opérateur qualifié.

Le but de ce travail est d'essayer de mettre au point un système de mesure direct par vision numérique sans aucun mécanisme de positionnement qui permettrait, comme le projecteur de profil de comparer un contour de pièce à un contour théorique de façon fiable et entièrement automatisée.

L'étude de ce système de mesure nécessite plusieurs étapes:

La calibration : 

Consiste à connaître le système de vision et ses défauts et d'en déduire les corrections à apporter aux futures acquisitions.

L'acquisition : 

La prise d'image en elle-même.

Le traitement d'image : 

L'image est traitée par différents algorithmes. Le but est de rendre pertinente l'information contenue dans le signal obtenu.

L'analyse d'image : 

Les informations sont extraites de l'image et analysées. Le but est de permettre la superposition des profils.

Calibration

Les paramètres qui régissent un système de vision sont de deux types [1] et [2] :

Intrinsèques : 

Ces paramètres dépendent du système utilisé (la caméra et l'objectif) et ne peuvent être modifiés à moins de changer de système de vision. Les paramètres les plus courants sont: La distance focale f, La résolution du capteur, les coefficients de distorsions angulaires et radiaux …

Extrinsèques : 

Ces paramètres ne dépendent pas du système de vision et peuvent être modifiés facilement. Ils décrivent le positionnement du système dans la scène réelle: angles et positions de la caméra.

Correction des distorsions

Il est nécessaire dans un premier temps de déterminer certains paramètres intrinsèques du capteur afin de corriger certains défauts et certaines distorsions (Voir figure 1) :

Figure 1 : Exemple de déformations courantes

Pour cela, nous avons utilisé une mire de référence à carrés noirs et blancs. Nous avons pris plusieurs images de cette mire dans différentes positions afin de mieux déterminer les distorsions engendrées par l'objectif. À l'aide d'outils mathématiques et de boites à outils spécialisées dans la calibration de caméras [3], on peut alors corriger ces défauts pour avoir une image non déformée lors de l'acquisition.

Étalonnage

Selon le système de vision utilisé (caméra, objectif…), le champ de vision n'est pas le même. Une pièce vue avec un objectif avec une distance focale f=35 n'aura pas la même taille qu'avec une focale de f=50… Il faut donc étalonner le capteur avec un objet dont les dimensions sont connues précisément. Cette étape permet de connaître le facteur d'échelle du système de vision.

Acquisition

L'acquisition est une étape clef dans la vision dont dépend tous le reste du traitement et de l'analyse des images. Elle doit se faire dans les meilleures conditions possibles pour donner la meilleure image possible.

La caméra

La caméra est composée d'un capteur et d'un objectif. Il existe une grande quantité de capteurs avec des tailles et des technologies différentes. Le critère principal de choix d'un capteur est sa résolution en pixels qui peut désormais atteindre 20 millions de pixels. La géométrie de la grille a aussi son importance car il existe des capteurs dont les éléments sensibles ne sont pas carrés et qui aurait pour conséquence de donner une résolution différente dans les deux directions. Le capteur que nous avons utilisé actuellement est un capteur CCD monochrome 8 bits à éléments carrés avec une résolution de 768*576 pixels entrelacés (Standard PAL).

Ce capteur ne permet pas d'avoir une précision suffisante pour faire de la mesure, néanmoins, il permet de valider certains algorithmes et de mettre en évidence certains problèmes qui seront identiques avec un capteur ayant une meilleure résolution Le choix de l'objectif a aussi son importance. En effet les objectifs n'engendrent pas tous les même distorsions et n'ont pas tous les même propriétés. L'objectif utilisé ici est un objectif télécentrique (Voir figure 2) qui a la particularité de réduire les effets de perspective lors de la prise de vue et d'éliminer certains effets parasites sur les bords de la pièce.

Figure 2 : Fonctionnement d'un objectif télécentrique

Éclairage de l'objet

L'éclairage de l'objet permet d'apporter à la scène une quantité de lumière avec une orientation précise. L'éclairage retenu est un rétro-éclairage blanc obtenu par une ampoule halogène (Voir figure 3 et figure 4). L'objet à étudier est posé sur une planche de diffusion de lumière alimentée par des fibres optiques.

Figure 3 : Image obtenue avec un système de rétroéclairage.
Figure 4 : Image obtenue avec un système d'éclairage rasant.

Distance du capteur

La distance du capteur par rapport à l'objet à mesurer doit être ajustée afin que l'objet "remplisse" au mieux l'image. L'objet doit être vu en entier par la caméra et être suffisamment grand pour obtenir une précision de mesure suffisante. Tout changement de distance du capteur induit un changement des paramètres extrinsèques du système de vision et doit être suivi par un réglage de la netteté et un ré-étalonnage.

Traitement des images

Récupération des contours

Après l'acquisition de l'image, vient la phase de traitement. La première étape du traitement consiste à sélectionner les pixels qui représenteront le contour de la pièce (Voir figure 5). Si le contour réel de la pièce est net (Absence et présence de matière), en revanche, le contour de l'image de la pièce n'est pas aussi distinct [4]:

Figure 5 : Contours d'une image.

Il faut donc trouver une méthode qui permette de retrouver un contour "tout ou rien" ( information binaire ) avec des niveaux de gris :

Seuillage : 

On procède à un seuillage de l'image, ce qui consiste à transformer l'image en niveaux de gris en image binaire. Le seuillage est effectué en analysant l'histogramme des niveaux de gris (Voir figure 6) par un outil statistique et en choisissant le seuil approprié. Une fois le seuillage effectué, on balaie l'ensemble de l'image et pour chaque pixel on vérifie les 8 pixels voisins. Si un seul de ces pixels est dans un état opposé, alors ce pixel appartient au contour de la pièce.

Gradient des intensités : 

Cette méthode s'appuie sur l'étude du gradient des intensités sur l'image en niveaux de gris. Il existe différents filtres qui permettent d'extraire les contours : Prewitt, Sobel… Ces filtres divergent au niveau de l'approximation de la dérivée.

Méthode de Canny : 

Cette méthode est basée sur les minima locaux du gradient d'intensités [5]. Elle permet de détecter les contours très marqués et moins marqués (figure 5). Les contours "faibles" n'étant renvoyés que si ils sont connectés à un contour "fort". La méthode retenue est celle de Canny car elle est moins sensible au "bruit" que les précédentes, elle n'utilise pas le voisinage du point et elle donne des contours fermés.

Figure 6 : Histogramme des niveaux de gris.

Récupération des contours

Après avoir sélectionné les pixels du contour, il faut maintenant les récupérer et les intégrer dans une structure de données. Pour rechercher les points qui appartiennent à un contour, on parcourt celui-ci avec le codage de Freeman [6] et [7] (figure 7 et figure 8). Cette méthode permet de "stocker" l'intégralité du contour sous la forme d'une série de codes qui donnent la position du voisin de chaque point. Le codage varie en fonction de la quantité de voisins que possède chaque point (connexité). Pour retrouver le contour original, il suffit de mémoriser en plus de la séquence de codes, les coordonnées du point de départ.

Figure 7 : Tableau de codage de Freeman en connexité 8.

Le code de Freeman du contour ci-dessus est : 0,0,1,1,2,3,4,4,4,5,5,7,7.

La case claire est le point de départ.

Figure 8 : Exemple de codage de Freeman.

Détection des points caractéristiques

Une fois les contours récupérés, il faut trouver sur ces contours des points "intéressants" qui permettront de superposer les profils mesurés et théoriques. Pour cela, il faut déterminer des points caractéristiques que l'on puisse reconnaître.

Les points caractéristiques peuvent être définis et cherchés suivant différents critères :

La méthode la plus pertinente pour chercher ces points serait d'utiliser les changements de courbures du contour avec éventuellement l'ajout de points supplémentaires à des intervalles de distances définis. On utilise alors un algorithme afin de détecter les points anguleux du profil. Plusieurs solutions ont été mises en œuvre :

Figure 9 : Polygonisation du contour par la méthode de Ramer.

Le problème de cette méthode est qu'elle ne permet pas de garder l'échelle de la pièce ce qui est pourtant essentiel.

Figure 10 : Exemple de calculs des angles.
Figure 11 : Exemple de la sensibilité de la méthode au paramètre D.

Cette méthode permet bien de détecter les variations de courbures dans le contour mais elle présente l'inconvénient d'être sensible à la distance D. Si elle est trop grande par rapport aux dimensions du contour, on "saute" certaines zones de courbures et on perd de l'information (voir figure 11). Si elle est trop faible, on prend en compte des points qui n'ont aucun intérêt pour la mesure.

Figure 12 : Résultat type d'une étude statistique sur un contour.

Pour palier à ce problème, il faut faire une étude systématique de chaque contour avec différentes valeurs de la distance D (Voir figure 12). On peut alors identifier les valeurs correctes et ainsi avoir des points caractéristiques adaptés au contour. D'autres méthodes de détection des points caractéristiques seront étudiés durant les mois à venir.

Superposition des contours

Une fois les points caractéristiques détectés, il faut les faire coïncider sur le profil théorique. Actuellement, la méthode est manuelle. On choisit trois points anguleux sur le profil mesuré et on indique à quels points ils correspondent sur le profil théorique. On trouve alors la transformation (rotation et translation) qui permet de passer du profil mesuré au profil théorique. Il est alors possible d'effectuer des mesures de distances entre ces points et de vérifier si le profil mesuré est conforme ou non.

L'objectif est maintenant d'automatiser cette étape de mise en correspondance afin de gagner du temps et de la précision. Une des solutions pour trouver la transformation entre le contour théorique et le contour mesuré serait de calculer les propriétés géométriques du contour :

Centre de gravité : 

Permet de trouver la translation.

Directions principales : 

Permettent de trouver la rotation.

Il serait alors facile, si la méthode s'avère assez fiable de calculer la distance entre les points caractéristiques du profil mesuré et du profil théorique, et de rendre un verdict sur le profil mesuré.

Conclusion

Ce procédé de mesure pourrait être intéressant pour des pièces planes de petites dimensions devant être analysées rapidement et en grande série. Il a l'avantage de ne pas nécessiter de bridage de la pièce, d'être adaptable à toutes les formes de pièces possibles et de pouvoir mesurer des trous de faibles dimensions à l'intérieur même de la pièce.

Le procédé de vision numérique actuel ne permet pas encore de faire des mesures suffisamment précises pour être exploitées dans l'industrie. Cependant, la précision des mesures est directement liée à la résolution du capteur. Plus le capteur comportera de pixels, plus la mesure sera précise. L'évolution actuelle des capteurs CCD permet de présager d'ici 1 ou 2 ans des cellules capables de donner à ce type de mesure une précision suffisante pour faire l'objet d'une application industrielle.

Pour l'instant, un travail théorique est nécessaire afin de trouver des méthodes d'analyse rapides, fiables et extensibles permettant d'utiliser ce procédé sur une grande variété de pièces avec une vitesse suffisante et avec une intervention humaine réduite au minimum.


[1]

Calibration d'images et correction de distorsion - http://www.jautomatise.com/White/WPvisionCalibrationEtCorrection.html

[2]

Calibrage précis d'une caméra CCD ou d'un capteur de vision stéréoscopique - Rapport LAAS No01332 Colloque Photomécanique Poitiers (France) - Dorian GARCIA, Jean-José ORTEU, Michel DEVY - 2001 -

[3]

Camera Calibration Toolbox for Matlab - Jean-Yves BOUGUET - http://www.vision.caltech.edu/bouguetj/calib_doc/

[4]

Précis d'analyse d'images - M. COSTER, J-L. CHERMAN - 1989 - Presses du CNRS - 2 87682 020 X -

[5]

A Computational Approach to Edge Detection - J. CANNY - 1986 - IEEE PAMI, Vol. 8, No. 6, pp. 679-698 -

[6]

On the encoding of geometric configurations - H.FREEMAN - 1961 - IEEE Press p. 260-268 -

[7]

A corner finding algorithm for chained-coded curves - H.FREEMAN , L.S.DAVID - 1977 - IEEE Trans. Computation Vol C24 p. 297-303 -

[8]

Détection des points d'intérêts - UFRIMA - http://www.inrialpes.fr/movi/people/Boyer/Teaching/Maitrise/c10.pdf

[9]

Contribution de l'analyse multi-résolution à la description des contours et des textures. Thèse de 3 ième Cycle Université de Saint-Étienne - E. FAVIER - 1995 -