Brevet FR2869983A1 — publié le 20051111

DESCRIPTION La présente invention concerne un procédé de mesure de la position et/ou de 5 l'orientation d'objets au moyen d'un procédé de traitement de l'image. On connaît déjà différents procédés de traitement de l'image adaptés à la mesure de la position et/ou de l'orientation d'objets. De tels procédés sont principalement utilisés dans le secteur industriel en rapport avec des systèmes manipulation voyants , par exemple pour le montage d'éléments, ou avec des systèmes mobiles autonomes. Pour mesurer la position et/ou l'orientation d'objets, on peut utiliser des procédés de traitement de l'image qui, en utilisant des capteurs d'image appropriés, sont basés sur des informations de l'environnement soit bidimensionnelles soit tridimensionnelles. Les capteurs d'image adaptés à la saisie d'informations tridimensionnelles concernant l'environnement fournissent pour chaque point de l'image une valeur de profondeur associée. Dans le cas de la saisie d'informations tridimensionnelles sur l'environnement, on obtient de grandes quantités de données et le traitement des informations tridimensionnelles portant sur l'environnement est donc associé à une complexité de calcul élevée et nécessite beaucoup de temps. Les coûts d'acquisition des capteurs d'image utilisés pour la saisie tridimensionnelle de l'environnement sont en outre sensiblement plus élevés que ceux destinés à la saisie bidimensionnelle de l'environnement. On connaît déjà différents procédés de traitement de l'image pour la mesure de la position et/ou de l'orientation d'objets à l'aide de données d'image bidimensionnelles. Deux capteurs d'image peuvent par exemple être disposés en disposition stéréo, permettant ainsi, lorsque la distance entre les capteurs d'image est connue, de déterminer par calcul les valeurs de profondeur au moyen de procédés de traitement de l'image. On connaît également des procédés de traitement de l'image dans lesquels des prises de vue d'un objet sont enregistrées à l'aide de plusieurs caméras dans différentes positions et orientations et dans lesquels la position et l'orientation de l'objet dans l'espace sont mesurées à l'aide des différentes prises de vue. La demande de brevet allemand DE 10 346 481 Al expose un procédé de 35 reconstruction du profil de structures situées sur des surfaces. Pour cela, on analyse au moins deux prises de vue de la même zone de la surface à examiner, la surface à examiner étant éclairée sous différentes directions selon un angle d'incidence rasant et des prises de vue de la surface étant exécutées à partir d'une position de caméra à angle très incliné par rapport à la surface, proche de la perpendiculaire. Les bosses ou les creux situés sur la surface laissent donc paraître sur les prises de vue une projection d'ombres nettes dont l'emplacement varie avec l'éclairage incident de la lumière. Les surfaces inclinées peuvent être identifiées par une réflexion plus claire. L'analyse des contours d'ombres et des lignes de contour des zones plus claires permet de déterminer le profil en hauteur d'une structure située sur la surface et de reconstituer par exemple le tracé d'une arête. En intégrant la o méthode de figure dérivée de l'ombre (shape-from-shading), il est possible également de déterminer les variations d'inclinaison planes en analysant les évolutions de la clarté, permettant ainsi d'obtenir une reconstruction en 3D de la surface coïncidant bien avec l'original. Le document EP 0 747 870 B1 présente un dispositif et un procédé pour l'observation d'objets. Le dispositif comprend au moins deux caméras qui sont dirigées dans une position d'observation prédéfinie et saisissent en même temps des images des objets à observer. Une partie caractéristique commune à chacune des images saisies est sélectionnée en corrélant les parties caractéristiques sélectionnées dans chacune des images. La position des objets, notamment les coordonnées tridimensionnelles des parties caractéristiques communes sélectionnées, est calculée en utilisant les données de position de la partie caractéristique sélectionnée dans chacune des images. Le prétraitement des données d'image nécessitant des calculs intensifs est un inconvénient de ce procédé, et il faut notamment rechercher dans un premier temps les caractéristiques communes des différentes prises de vue pour ensuite les corréler entre elles et calculer les coordonnées tridimensionnelles de l'objet sur la base de cette information. Un inconvénient particulier est que plusieurs caméras ou prises de vue sont nécessaires pour déterminer la position et/ou l'orientation des objets. L'objectif de la présente invention est donc de développer un procédé pour la mesure de la position et/ou de l'orientation d'objets au moyen d'un procédé de traitement de l'image selon le préambule, avec lequel la position et/ou l'orientation d'objets peuvent être déterminées de manière simple et fiable en n'utilisant qu'une seule prise de vue. Conformément à l'invention, on utilise un procédé pour la mesure de la position et/ou de l'orientation d'objets au moyen de procédés de traitement de l'image. Pour cela, on saisit d'abord sur une image d'étalonnage l'ombre propre provenant d'un corps d'étalonnage non plan défini. L'ombre propre saisie permet de déterminer ensuite des paramètres de correction des ombres. Pour la mesure de la position et/ou de l'orientation, on place au moins un objet à mesurer dans le champ d'une caméra et dans la zone éclairée par un éclairage. La caméra réalise au moins une prise de vue de l'objet et de l'ombre correspondante. L'au moins une prise de vue de l'ombre de l'objet correspondante est ensuite corrigée au moyen des paramètres déterminés et on en déduit la position et/ou l'orientation de l'objet. L'invention permet pour la première fois de mesurer la position et/ou l'orientation d'objets de manière simple et fiable en utilisant une seule prise de vue. L'association du corps d'étalonnage non plan défini et de son ombre propre permet de déterminer de manière univoque les lignes de délimitation de l'ombre déformée provoquée par l'éclairage lors de la mesure de l'objet. Dans un mode de réalisation avantageux de l'invention, on réalise en outre une image d'ombre. Pour cela, la ou les prises de vue qui contiennent la reproduction de l'objet sont d'abord transposées sur l'image d'étalonnage. L'homme du métier connaît ici les programmes de traitement de l'image tels qu'un lanceur de rayon (ray-tracer). On peut choisir ici, pour l'image d'étalonnage, les mêmes paramètres de caméra et d'éclairage qu'en situation réelle, pour éviter une conversion complexe des paramètres de caméra et d'éclairage. L'image d'étalonnage contenant le corps d'étalonnage est de préférence générée dans l'environnement du lancer de rayon (ray-tracing) mais il est également possible de faire appel à une prise de vue d'un corps d'étalonnage connu obtenue au moyen d'une caméra. Après avoir transposé la ou les prises de vue, l'objet à mesurer projette dans l'image d'étalonnage des ombres sur le corps d'étalonnage non plan défini. L'ombre de l'objet présente alors des lignes de délimitation déformées qui permettent de déterminer de manière univoque la position et/ou l'orientation de l'objet. L'image d'ombre est ensuite convertie en image d'ombre binaire. Les pixels de valeur de gris contenus dans l'image d'étalonnage sont convertis à cette fin en pixels noirs ou blancs. Pour générer l'image binaire, on forme de préférence une image quotient à l'aide de deux images d'ombre, une des images d'ombre étant réalisée avec l'éclairage et l'autre image d'ombre étant réalisée sans l'éclairage. Cette manière de procéder est connue de l'homme du métier spécialisé dans le traitement de l'image et est utilisée par exemple dans le procédé de figure dérivée de l'ombre. Une image d'ombre corrigée est ensuite générée à partir de l'image d'ombre binaire obtenue à l'aide des paramètres de correction précédemment déterminés. L'ombre de l'objet ne présente plus de lignes de délimitation déformées mais est projetée dans un plan et représente maintenant une reproduction scalaire de l'objet à partir de laquelle la position et/ou l'orientation réelles peuvent être déterminées dans l'espace. Dans un autre mode de réalisation avantageux de l'invention, on détermine un réseau de lignes de jonction en 3D à l'aide de l'image d'ombre corrigée. Ce réseau de lignes de jonction en 3D établit la relation entre les zones obscurcies du corps d'étalonnage et l'éclairage. Le réseau de lignes de jonction en 3D permet donc, en connaissant la section de o l'objet, une reconstruction de la position et/ou de l'orientation de l'objet à mesurer. Pour déterminer la position et/ou l'orientation, on ajuste de manière avantageuse dans le réseau de lignes de jonction en 3D un modèle géométrique mémorisé du ou des objets à mesurer. Ces procédés d'ajustage de modèles géométriques mémorisés dans une image sont déjà connus. Pour adapter le modèle géométrique de l'objet à mesurer au réseau de lignes de jonction en 3D, il est avantageux dans le cadre de l'invention de mettre en oeuvre un algorithme de contour actif ( Active Contour ). Le modèle géométrique de l'objet à mesurer est de préférence le modèle d'au moins un objet rigide et/ou flexible. Il peut s'agir ici par exemple dans le cas d'applications industrielles de moyens de montage ou de fixation rigides, par exemple de vis, de couvercles et de brides, ou d'éléments flexibles tels que par exemple des tuyaux ou des conduites. Dans le cadre de l'invention, il est avantageux que d'autres données de modèle de l'objet soient mémorisées en plus des données géométriques à proprement parler. Il peut s'agir ici de paramètres décrivant la surface de l'objet, tels que par exemple les textures. N'importe quel autre paramètre physique est également envisageable. Le modèle géométrique ainsi que les autres données relatives au modèle peuvent ici être émis directement dans le cadre de l'environnement du lancer de rayon avant d'être mémorisés ou bien ils peuvent provenir d'un autre environnement de développement adapté, par exemple d'un système de CAO. II est également conforme à l'invention que l'image du corps d'étalonnage soit créée sous différents angles de l'espace, ce pour quoi on définit plusieurs caméras virtuelles. Il est en outre avantageux que l'image du corps d'étalonnage soit éclairée sous différents angles de l'espace, ce pour quoi on définit plusieurs unités d'éclairage virtuelles. En définissant plusieurs caméras et/ou unités d'éclairage virtuelles, on peut déterminer la position et/ou l'orientation de n'importe quel objet. L'étape d'ajustage du modèle géométrique mémorisé du ou des objets à mesurer dans le réseau de lignes de jonction en 3D devient donc superflue, ce qui contribue à réduire le temps de calcul. II est toutefois particulièrement avantageux que la précision du procédé soit améliorée en utilisant plusieurs caméras et/ou plusieurs unités d'éclairage. Le corps d'étalonnage utilisé dans le cadre de la présente invention est conçu de façon avantageuse sous la forme d'un corps à la structure en forme d'escalier. La structure en forme d'escalier est d'une part facile à créer, par exemple à l'aide de macros permettant de créer une structure en escalier en indiquant la hauteur des marches, la profondeur des marches et le nombre de marches. D'autre part, l'utilisation d'une structure en escalier permet de déterminer précisément et de manière particulièrement simple l'ombre propre provoquée par un éclairage approprié pour déterminer à l'aide de celui-ci la position et/ou l'orientation des objets à mesurer. N'importe quelle autre forme de corps d'étalonnage est néanmoins envisageable dans le cadre de l'invention. Il est en outre possible que le corps d'étalonnage soit formé par au moins une partie de l'arrière-plan du champ de la caméra. Il peut s'agir par exemple ici d'au moins une partie d'un moteur, notamment d'un carter de vilebrequin, qui forme l'arrière-plan du champ de la caméra. L'objet à mesurer peut être par exemple un tuyau à fixer au carter de vilebrequin. Étant donné qu'aussi bien le modèle du tuyau que les données de CAO du carter de vilebrequin sont connus, seule une caméra est nécessaire dans ce cas pour mesurer la position et/ou l'orientation de l'objet. D'autres caractéristiques et avantages de l'invention ressortent de la description suivante d'exemples de réalisation préférés décrits à l'aide des figures, lesquelles montrent: Figure 1 une représentation de principe servant à déterminer l'ombre propre; Figure 2 une représentation de principe servant à déterminer les paramètres de correction de l'ombre; Figure 3 une image d'ombre déformée; Figure 4 une image d'ombre corrigée; et 3o Figure 5 une représentation servant à déterminer la position et/ou l'orientation d'un objet. La figure 1 montre à titre d'exemple le principe de détermination de l'ombre propre pour un corps d'étalonnage (3) non plan défini. L'emplacement du corps d'étalonnage (3) ainsi que celui de l'éclairage (2) sont supposés connus dans le système de coordonnées de la caméra (4). Le modèle géométrique du corps d'étalonnage (3) est en outre connu et il prend ici la forme d'une marche. Un modèle géométrique d'un objet à mesurer non représenté ici peut en outre être mémorisé. Pour déterminer l'ombre propre, on reproduit le modèle de CAO du corps d'étalonnage (3) au moyen d'un modèle de caméra correspondant à la caméra (1), tel que le montre à titre d'exemple la figure 1. La trajectoire des rayons optiques (5) est déterminée pour chaque pixel de l'image, depuis l'éclairage (2) jusqu'à la caméra (1) (lancer de rayon). On vérifie ainsi pour chaque rayon optique (5) circulant entre un point d'intersection (6) du corps d'étalonnage et l'éclairage (2), si celui-ci intersecte le corps d'étalonnage (3) et donc s'il y a une ombre propre. Comme le montre l'exemple du rayon optique (5a), le corps d'étalonnage n'est pas intersecté et il n'y a donc pas d'ombre propre o au niveau du point d'intersection (6a). En revanche, le corps d'étalonnage (3) est intersecté par le rayon optique (5b) et il y a une ombre propre au niveau du point d'intersection (6b). Le principe de détermination des paramètres de correction de l'ombre est montré à titre d'exemple sur la figure 2. On détermine de préférence au cours d'une première étape le plan (7) qui présente la distance la plus faible D_min entre le corps d'étalonnage (3) et la caméra (4) et qui est donc orienté parallèlement au plan X, Y de la caméra (1) en tenant compte de tous les points d'intersection (6) sans ombre propre du corps d'étalonnage (3). Une autre solution consiste à choisir une autre distance connue quelconque ainsi qu'une autre orientation du plan (7). Lors d'une deuxième étape, on détermine ensuite le point d'intersection (8) avec le plan (7) pour tous les points d'intersection (6) sans ombre propre du corps d'étalonnage (3) en décalant le point d'intersection (6) en direction de l'éclairage (2) sur le rayon optique (5) correspondant. Un point d'ombre d'un objet à mesurer non représenté ici se formerait au niveau de ce point d'intersection (8) sur le plan (7) si la surface du corps d'étalonnage (3) était un plan (7) parallèle au plan de l'image de la caméra (1). Le déplacement sur le rayon optique (5) décrit ici les paramètres de correction de l'ombre, ce qui permet de reconstituer simplement par la suite la position et/ou l'orientation d'objets. Un objet à mesurer est placé pour cela dans la zone située entre le champ de la caméra (1) éclairé au moyen de l'éclairage (2) et le corps d'étalonnage (3) pour réaliser la prise de vue. La figure 5 montre l'ombre projetée sur un corps d'étalonnage (3) en escalier par un objet à mesurer (9) placé dans le faisceau de lumière d'une source lumineuse (2). Du fait du décalage de l'objet à mesurer (9) par rapport au corps d'étalonnage (3) une partie de l'ombre tombe en dehors du corps d'étalonnage (3) ou du champ de mesure de la caméra. Cette partie est montrée par des pointillés en haut à gauche du corps d'étalonnage sur la figure 5. À partir de cette ombre, on détermine le contour de l'ombre laissée sur les marches de l'objet d'étalonnage (3) en escalier. Sans correction, on obtient l'image de la figure 3 avec les deux lignes de contour sur la marche inférieure et, décalée par rapport à ces deux premières lignes, l'unique ligne de contour sur la marche supérieure, la deuxième n'étant pas sur l'objet d'étalonnage (3). En corrigeant cette image à l'aide des paramètres de correction, selon le procédé présenté sur la figure 2, on ramène la ligne de contour de la marche supérieure sur le plan (D_min) choisi au niveau de la marche inférieure. C'est cette translation que représente la flèche de la figure 5. Elle vient donc dans le prolongement de la première des deux lignes de contour sur la première marche, comme cela est représenté en trait discontinu sur la figure 5. En redressant l'image, on obtient alors la silhouette partielle de l'objet à mesurer (3) telle qu'elle est représentée à la figure 4. En d'autres termes, la figure 3 représente une image d'ombre déformée. II s'agit ici de l'image d'ombre déformée d'un corps à mesurer (9) projetée sur un corps d'étalonnage en escalier en représentation binaire. Lorsqu'un objet dans l'espace projette une ombre sur un arrière-plan non plan, la ligne de délimitation de l'ombre apparaît dans l'image de la caméra déformée par les variations de hauteur de l'arrière-plan. C'est ce que représente la figure 5. Si la position, l'orientation et la géométrie de l'objet formant l'arrière-plan ainsi que l'éclairage sont connues dans le système de coordonnées de la caméra, par exemple par des données de CAO, il est possible à l'aide des paramètres de correction de l'ombre de reconstituer le parcours des lignes de délimitation de l'ombre sur un arrière-plan plan. Le corps d'étalonnage peut être un objet réel placé dans le champ d'une caméra de sorte qu'une ombre projetée particulière en fonction des conditions d'éclairage peut être saisie par la caméra. II peut également s'agir d'un corps d'étalonnage virtuel à l'intérieur d'une scène virtuelle, le corps d'étalonnage virtuel projetant dans des conditions d'éclairage définies une ombre projetée particulière dans la scène virtuelle. On utilise par exemple des programmes de lancer de rayons (raytracing) pour simuler des objets, des éclairages et des unités de saisie d'image dans des environnements virtuels et pour calculer le parcours de rayons visuels. La représentation binaire de l'image d'ombre est formée au moyen d'une image quotient, l'image quotient provenant de deux images d'ombre. Les deux images d'ombre ne se différencient qu'en ce qu'une des images d'ombre est produite avec éclairage et que l'autre image d'ombre est produite sans éclairage. Les pixels de l'ombre sont représentés en noir sur l'image. On vérifie pour chaque pixel d'ombre qu'il s'agit bien d'un pixel d'ombre propre. S'il s'agit d'un pixel d'ombre propre, celuici est effacé. Pour les pixels d'ombre restants, une nouvelle position sur l'image est déterminée en utilisant les paramètres de correction précédemment déterminés, tels que décrits à l'aide de la figure 2. Les ombres corrigées sont, telles que les montre la figure 4, en partie parallèles. Les ombres corrigées, en partie parallèles, sont en outre tournées selon un certain angle, afin qu'elles s'étendent sur l'image selon la direction horizontale. Comme le montre la figure 5, toutes les lignes de jonction en 3D (10) entre les points de l'objet sur le corps d'étalonnage (3) associés aux pixels et l'éclairage (2) sont ensuite déterminées pour reconstituer la position et/ou l'orientation d'un objet (9). Lorsque des données du modèle de l'objet à mesurer (9) sont mémorisées, celui-ci est ajusté en utilisant un algorithme approprié dans le réseau de lignes de jonction en 3D (10). Revendications 1. Procédé de mesure de la position et/ou de l'orientation d'objets au moyen de procédés de traitement de l'image dans lequel É on saisit sur une image d'étalonnage une ombre propre causée par un corps d'étalonnage non plan défini, É sur la base de l'ombre propre saisie, on détermine des paramètres de correction de l'ombre, É on place au moins un objet à mesurer dans le champ d'une caméra et dans la zone éclairée par un éclairage, et É on réalise à l'aide de la caméra au moins une prise de vue de l'objet et de l'ombre correspondante, É on corrige l'au moins une prise de vue de l'ombre de l'objet au moyen des paramètres 15 déterminés et on en déduit la position et/ou l'orientation de l'objet. 2. Procédé de mesure de la position et/ou l'orientation d'objets au moyen de procédés de traitement de l'image selon la revendication 1, caractérisé en ce qu' É on réalise une image d'ombre, l'au moins une prise de vue de l'objet étant transposée sur l'image d'étalonnage, l'objet à mesurer projetant des ombres sur le corps d'étalonnage, É on transforme l'image d'ombre en une image d'ombre binaire, et É on génère une image d'ombre corrigée à partir de l'image d'ombre binaire à l'aide du paramètre de correction déterminé précédemment. 3. Procédé de mesure de la position et/ou l'orientation d'objets au moyen de procédés de traitement de l'image selon la revendication 2, caractérisé en ce qu'on détermine un réseau de lignes de jonction en 3D qui relie entre eux les zones obscurcies du corps d'étalonnage et l'éclairage, la position et/ou de l'orientation de l'objet à mesurer étant alors reconstruites à l'aide du réseau de lignes de jonction en 3D décrivant en connaissant la section de l'objet à mesurer. 4. Procédé de mesure de la position et/ou de l'orientation d'objets au moyen de procédés de traitement de l'image selon la revendication 3, caractérisé en ce qu'on ajuste un modèle géométrique mémorisé de l'au moins un objet à mesurer dans le réseau de lignes de jonction en 3D. 5. Procédé de mesure de la position et/ou de l'orientation d'objets au moyen de procédés de traitement de l'image selon la revendication 4, caractérisé en ce qu'on applique un algorithme de contour actif pour ajuster le modèle géométrique dans le réseau de lignes de jonction en 3D. 6. Procédé de mesure de la position et/ou de l'orientation d'objets au moyen de procédés de traitement de l'image selon l'une des revendications 4 ou 5, caractérisé en ce que le modèle géométrique de l'objet à mesurer est le modèle d'au moins un objet rigide et/ou flexible. 7. Procédé de mesure de la position et/ou de l'orientation d'objets au moyen de procédés de traitement de l'image selon l'une des revendications précédentes, caractérisé en ce que l'image du corps d'étalonnage est générée sous différents angles de l'espace, ce pour quoi on définit plusieurs caméras virtuelles. 8. Procédé de mesure de la position et/ou de l'orientation d'objets au moyen de procédés de traitement de l'image selon l'une des revendications précédentes, caractérisé en ce que l'image du corps d'étalonnage est éclairée sous différents angles de l'espace, ce pour quoi on définit plusieurs unités d'éclairages virtuelles. 9. Procédé de mesure de la position et/ou de l'orientation d'objets au moyen de 25 procédés de traitement de l'image selon l'une des revendications précédentes, caractérisé en ce que le corps d'étalonnage est constitué par une structure en forme d'escalier. 10. Procédé de mesure de la position et/ou de l'orientation d'objets au moyen de procédés de traitement de l'image selon l'une des revendications précédentes, caractérisé 30 en ce que le corps d'étalonnage est constitué par au moins une partie de l'arrière-plan de la zone de mesure de la caméra.