FR 2808326 A1 20011102 FR 0005392 A 20000427 PROCEDÉ DE MESURAGE D'UN OBJET TRIDIMENSIONNEL, OU D'UN ENSEMBLE D'OBJETS DESCRIPTION L'invention est un procédé qui permet déterminer la géométrie, la position et l'orientation d'un ou plusieurs objets dans un environnement. L' ectif est de fournir des informations dimensionnelles ou de mesurage sur des primitives tridimensionnelles (points, droites, cercles cylindres, ... ) représentant ces objets en exploitant projection sur des images acquises par un plusieurs capteurs. Ces données dimensionnelles sont exploitées pour le contrôle dimensionnel d'objets manufacturés (prototype ou série), la mesure déformation de structure, la modélisation d'environnements industriels. I1 existe plusieurs grandes familles procédés pour accomplir ce genre de mesurages. Certains impliquent une mesure directe des objets de l'environnement par la pointe d'un palpeur, mais cette méthode n'est pas toujours possible à appliquer et devient très longue dès que l'environnement est volumineux, encombré ou de forme compliquée ; elle est impensable quand il a les dimensions d'un local entier. D'autres méthodes recourent à la télémétrie, c'est-à- dire qu'on mesure les distances à différents points de l'environnement sans contact matériel ; un laser est successivement dirigé vers ces points et la mesure porte sur le temps de vol ou le déphasage de l'onde. Un miroir ou un système mécanique est utilisé pour diriger incessamment le rayon du laser vers d'autres points, ce qui permet des mesurages rapides de l'environnement, mais on observe que cette méthode n'est pas toujours très précise (bien que la résolution ne soit limitée que par le système de balayage du laser) et s'accompagne d'erreurs quand le faisceau touche des objets réfléchissants et il faut aussi s'assurer de la stabilité du système mécanique pendant le balayage et veiller à la sécurité des personnes susceptibles de se trouver dans le volume de mesure. D'autres méthodes sont des méthodes optiques dans lesquel une caméra est déplacée devant l'environnement à mesurer et prend une succession d'images. Les détails de l'environnement sont identifiés sur les férentes images et leur position est calculée par des triangulations selon leur position sur les images respectives et les positions connues à l'avance de la caméra, en fonction des paramètres de prise d'image de celle-ci. Parfois, on identifie un réseau de points l'environnement, qui ont été illuminés par un laser ou un projecteur d'un faisceau de rayons ; une lumière additionnelle peut être ajoutée pour mieux éclairer alentours du réseau de points et le faire ressortir du reste de l'environnement. L'utilisation d'un moyen d'illumination rappelle les procédés de télémétrie et entraîne des inconvénients analogues d'imprécision et d'insécurité, qui ne compensent pas toujours la rapidité et la facilité de l'identification et des calculs qu'on peut souvent atteindre. Dans d'autres méthodes, les points à mesurer sont des sources lumineuses, marques réfléchissantes ou colorées posées auparavant dans 'environnement. Ces méthodes donnent de bons résultats les marques et leur position sont convenablement choisies, mais elles ne sont pas applicables dans tous les cas et notamment pour des environnements compliqués et de grande taille : elles semblent surtout intéressantes pour suivre la position un objet déterminé et mobile dans l'environnement plutôt que pour mesurer l'environnement lui-même. Enfin, d'autres procédés optiques sont fondés sur l'absence de marques dans l'environnement et sur le mesurage de certains points d'intérêt des images. Les points d'intérêt sont choisis automatiquement ou par l'opérateur dans le cas de procédés interactifs. Ces procédés ont l'avantage d'être universels. ou applicables théoriquement à n'importe quel environnement, mais il est pas toujours facile de disposer de points d'intérêt suffisamment nombreux, et qui soient communs à toutes les images ; l'étape d'appariement points homologues sur des images différentes être délicate ; de plus, une description d'un environnement par des points même nombreux est peu évocatrice. L'invention constitue un procède faisant partie des méthodes purement optiques et plus précisément de celles qui comportent une analyse d'image. Ce nouveau procédé peut comporter des triangulations, mais il se distingue fondamentalement des procédés précédents en ce qu'on s'intéresse ici à distinguer des détails de 'environnement plutôt qu'à dresser une cartographie de points. Il est en effet souvent plus facile et fructueux de discerner un élément précis de l'environnement et de le distinguer du reste, que de disposer une connaissance complète mais indistincte de cet environnement. Dans le cas, fréquent en pratique, de mesurage de locaux industriels, cette considération sera d'autant plus importante que les éléments et obstacles sont souvent nombreux mais de forme simple, de sorte qu'ils se superposent et créent un relief très compliqué, mais que l'exploitation de la représentation faite est beaucoup plus facile quand on a distingué ces éléments et qu'on les a caractérisés par quelques paramètres de position et de forme. Les avantages ferts par le procédé sont multiples : il n'est point besoin de garnir l'environnement de marques spécifiques ; une portion beaucoup plus importante l'information des images est exploitée que si on s'occupe de points d'intérêt, ce qui doit donner une précision meilleure de la représentation qu'on obtient ; le procédé est efficace même avec des surfaces variées, diffusantes ou réfléchissantes ; il est applicable à des volumes variés, éventuellement très grands ; la durée d'acquisition est extrêmement rapide, de quelques dizaines de millisecondes ; une automatisation complète du procédé est possible ; la représentation peut être parachevée ultérieurement en y ajoutant de nouvelles entités, qui avaient été négligées auparavant, ou la corrigeant par des mises à jour ou d'autres opérations ; et comme elle fournit immédiatement un modele concret de l'environnement, elle peut être exploitée immédiatement, alors qu'une cartographie de points nécessite d'être interprétée. Le procédé est fondé sur un système composé de cinq modules principaux dont voici la liste - module de traitement d'images assure la localisation précise des contours naturels des objets à reconstruire ; - un module de reconstruction et localisation qui détermine les paramètres géométriques objets et situation du système de capture d'images ; - module d'identification qui réalise la recherche automatique des contours naturels des objets déjà reconstruits ; - un module d'appariement de points d'intérêt, pour aider à replacer ces contours d'objets reconstruits sur une nouvelle image ; - et un module de reconstruction en bloc faisant un calcul d'ensemble (récapitulatif) d'après toutes les informations disponibles et améliorant grandement la précision. La mise en aeuvre de ce procédé nécessite une ou plusieurs vidéo-caméras étalonnées préalable (quoique l'étalonnage ne soit pas nécessaire si on se limite à des primitives de type ponctuel), afin de disposer de la relation entre tout point de l'image et la position du rayon lumineux associé. Les étalonnages préalables ont déjà été décrits par différents auteurs ; on peut citer l'article de Viala, Chevillot, Guérin et Lavest : Mise en oeuvre d'un procédé d'étalonnage précis de caméra CCD présenté au llème congrès Reconnaissance des formes et Intelligence Artificielle (Clermont-Ferrand, 20 au 22 janvier 1998). Quand plusieurs caméras sont employées, on parle d'un système stéréoscopique apte à donner automatiquement un modele tridimensionnel de l'environnement par une recherche de points homologues sur les images et des triangulations. Si une seule caméra est employée, le même résultat peut être obtenu par images successives en déplaçant la caméra d' quantité déterminée. Cette quantité peut également être déterminée, a posteriori, par calcul si on dispose dans l'environnement d'un mètre étalon. Pour résumer, l'invention est relative à un procédé de mesurage d'objets tridimensionnels d'un environnement tridimensionnel, consistant prendre au moins une image par au moins une caméra et à créer une représentation de l'environnement d'après une analyse de l'image, caractérisé en ce que l'analyse comprend une détection de discontinuités d'aspect de l'image, une association des discontinuités détectees à des contours géométriques définis sur l'image par des paramètres, un ajustement des contours aux discontinuités en faisant varier les parametres, une estimation de forme et de position dans l'environnement d' ets géométriques se projetant sur l'image d'après lesdits contours, la représentation comprenant lesdits objets. La représentation de l'environnement est complétée à chaque nouvelle image prise ou par des informations supplémentaires. Le procédé peut ainsi comprendre des estimations initiales de position des ets ou de la caméra à partir d'informations spécifiées manuellement ou à travers fichier informatique de description. D'une manière générale, le procédé peut etre accompli avec bien des variantes, de la souplesse selon la situation rencontrée. Une possibilité offerte par certaines des meilleures réalisations est une correction de position des objets estimant les positions de projection des objets sur les images d'après les position respectives de la caméra quand les images furent prises, et en ajustant les positions de projection estimées après les positions de projection mesurées sur les images. Cette correction est généralement faite au cours d'un calcul final récapitulatif ou l'erreur totale de la représentation est estimée puis minimisée ; on peut aussi rectifier l'estimation des paramètre des caméras. On passe maintenant à la description d'une réalisation concrète de l'invention au moyen des figures suivantes # la figure 1A est un schéma d'un système d'examen dans un environnement typique ; # la figure 1B illustre comment l'environnement est perçu sur une image ; # la figure 2 schématise les modules de traitement du système d'examen ; # les figures 3, 4, 5 et 6 illustrent des modélisations de contours ; et les figures 7 et 8 explicitent certaines notations utilisées dans la description. Les modules énumérés ci-dessus portent les reférences 20 à 24 sur la figure 2 ; ils seront maintenant décrits successivement d'après l'exemple de la figure 1A, où l'environnement à reconnaître comprend un tuyau 1 doublement coudé en 2 et 3 et finissant sur une ouverture 4, une caisse 5 et une lampe 6. L'appareil de visualisation, appelé capteur 7, comprend deux vidéo-caméras 8 et 9 montées rigidement (quoique de façon réglable si nécessaire) sur un support commun 10 et reliées à un système d'exploitation qui comprend en particulier une mémoire 12 où les images des caméras 8 et 9 sont conservées et une unité de traitement 13. Le procédé conforme à l'invention consiste à exploiter les images les unes après les autres en créant une représentation de l'environnement 'on complète et précise en exploitant chaque nouvelle image. Ce travail est pour l'essentiel automatique, quoiqu'un opérateur doive encore, en pratique, appliquer son jugement pour compléter ou corriger la représentation dans certaines circonstances. Nous entendons par représentation de 'environnement la mesure de caractéristiques géométriques ou dimensionnelles d'un ou plusieurs objets, la mesure de caractéristiques géométriques ou dimensionnelles d'éléments ou d'objets constituant une scène ou un environnement. Ce terme se rapportera également à la mesure de la position de l'orientation d'un ou plusieurs objets. Une image de caméra consiste en réseau de points ayant des niveaux de gris différents, qui sont convertis en valeurs numériques pour la conservation dans la mémoire 12. La figure montre que les contours du tuyau 1, de son ouverture 4, de la caisse et de la lampe 6 peuvent être représentés respectivement par trois paires de segments (appelés ici limbes) parallèles ou sensiblement 14, 15 et 16, une ellipse 17, neuf segments de droite 18, un point 19. En pratique, ces contours séparent des portions de teintes différentes sur l'image et sont donc des discontinuités, ce qu'on exploite pour mesurer ; c'est tâche du module de localisation 20. La localisation des contours naturels sur une image s'appuie sur des modèles dits déformables ou contours actifs (cf. l'article de Kass, Witkin et Terzopoulos : Snake : Active contour models dans International Journal of Computer Vision, 1(4), p.321 à 331, janvier 1988 et la thèse de Bascle à l'université de Nice-Sophia Antipolis (janvier 1994) Contributions et applications des modèles déformables en vision par ordinateur ). Ils consistent à faire évoluer numériquement à partir d'une position initiale un modèle déformable de contour tout en calculant son énergie après chaque déformation. Cette énergie comporte traditionnellement deux termes dont le premier exprime la régularité géométrique du modèle et rend compte propriétés physiques éventuelles et le second rend compte de l'adéquation entre le modèle et l'image expérimentale obtenue. Concrètement, ce traitement a pour de régulariser le modèle en réduisant ses irrégularités locales, généralement imputables au bruit, sans trop s'écarter des informations de l'image ; mais il ne fonctionne bien que sur des images peu complexes, ce qui n'est pas le cas ici. De plus, on propose ici une amélioration en décrivant certains éléments de l'image par des paramètres géométriques globaux. On pourra donc dire que les modèles de l'environnement qu'on obtiendra seront à la fois déformables et paramétriques. Les contours auxquels on s'intéresse ici ont des formes simples et appartiennent à quelques types privilégiés qu' rencontre très fréquemment dans la réalité : ce sont comme on l'illustre à la figure 1B, avant tout le point, la droite, la double droite et l'ellipse. Un point sera modélisé par ses coordonnées cartésiennes x et y sur l'image. Comme les images sont finies, les droites seront modélisées par des segments et leurs paramètres sur l'image seront au nombre de quatre : les coordonnees xo et yo du milieu du segment, la longueur L du segment et l'angle 8 qu'il forme avec l'horizontale sur l'image, comme le résume la figure 3. Tout point du segment obéira aux équations avec u compris entre 1 et +1 et 6 compris entre 0 et n. Un cylindre sera appréhendé par ses contours ou limbes. I1 s'agira de deux segments parallèles, sauf l'on admet l'effet de la perspective. Un modèle convenable est résumé par la figure et comprend cinq paramètres : les coordonnées xo et de l'isobarycentre du système formé par les deux segments, la longueur commune L des deux segments, l'angle 9 formé par les deux segments avec l'horizontale et la distance d séparant les deux segments. Les coordonnées des points des deux segments sont données par les équations avec u (paramètre de parcours) compris entre -1 et +1. Mais si on veut tenir compte d' effet de perspective, le modèle précédent peut être enrichi des paramètres 88 exprimant des déviations en sens opposés et convergent des deux segments, comme l'exprime la figure 5 ; les points sélectionnés par l'opérateur sont alors au nombre de 4. Les éctuations remplaceront les équations (2) et (3). La projection d'un cercle dans l'espace sur une image bidimensionnelle est une ellipse dont un paramétrage possible peut être lu sur la figure 6 : les paramètres sont les coordonnées xo et yo du centre, les longueurs 11 et 12 de grand et de petit axe et l'orientation 0 du grand par rapport à l'horizontale. Les équations x = xo + li cos(0) cos (u) - si n(0) s in (u) ( 6) y = yo + 11 sin(0) cos (u) + 12 cos(0) cos (u) donnent les coordonnées des points l'ellipse, où u est un paramètre d'abscisse curviligne compris entre 0 et 2n. Le procédé commence une initialisation de la représentation de l'environnement, en général manuelle, où un opérateur examine une des images sur un écran d'ordinateur et repère des contours à modéliser. Après avoir choisi le type de contour adapté, il vise sur l'écran un nombre suffisant de points pour définir ce contour et permettre un premier calcul des paramètres. Ces points sont figurés par des étoiles sur les figures 3 et 4 : il s'agit des extrémités du segment, et des extrémités d'un limbe de cylindre et d'un point de l'autre limbe. Une ellipse est définie par cinq points. L'étape suivante une adéquation du contour sélectionné par l'opérateur ou automatiquement à l'image grâce à une fonction potentiel au moyen de calculs faits par le module de localisation 20. En général, l'amélioration d'un modèle sur une image est chiffrée par la diminution successive d'une fonction Pe dite de potentiel qui comprend plusieurs termes. Un seul terme d'énergie suffit " ' dans la plupart des cas. L'image est traitée en calculant les différences de niveaux de gris numérisés points voisins, pour associer à chacun des points de l'image une intensité de potentiel élevée si le point est dans zone de teinte uniforme, et une intensité de potentiel faible s'il est dans une zone de transition ou de discontinuité de teinte. Si une image potentiel etait représentée, elle présenterait des zones foncées contours des objets et, en général, un fond clair ailleurs. La somme du potentiel d'un contour est calculée sur tous ses points, puis un algorithme analyse numérique par descente de gradient est mis en aeuvre pour calculer les variations du potentiel en fonction de la variation des paramètres du contour. Dans le cas présent, c'est plutôt la somme quadratique du potentiel Pe le long du contour C qu'on cherche à minimiser selon l'équation où a est le vecteur des paramètres du modèle et x, y sont les abscisses et les ordonnées des points du contour. Outre sa rapidité de convergence, cet outil numérique présente l'avantage de fournir une évaluation de la matrice de covariance sur le modèle estimé, noté Aa. Cette information sera exploitée par module de reconstruction et de localisation tridimensionnelles. On utilise une distance spéciale donnée par l'équation pour calculer le potentiel Pe des points l'image. Cette distance spéciale possède les avantages d'être quadratique au voisinage de zéro, c'est-à-dire du contour, d'être à peu près constante lorsque la distance euclidienne entre points de l'image d devient importante. a est un coefficient fixe. Cette distance est comparable à un coefficient de ponderation qui atténue 1 influence des points éloignés dans le calcul du potentiel Pe. Cependant, un terme de potentiel supplémentaire est utilisé en sus du terme précédent pour les contours de cylindre. En effet, il est fréquent que ces éléments soient soumis à des variations d'éclairage qui y créent des bandes très réfléchissantes de spécularités vers lesquelles le modèle déformable pourrait converger en les confondant avec des contours. L'utilisation de ce terme supplémentaire prévient ce danger : il s'agit d'un terme de potentiel conventionnellement très élevé pour les points fortement éclairés ; le potentiel total ainsi modifié devient élevé autour des bandes réfléchissantes, ce qui repousse les contours modélisés vers les contours réels du cylindre. I1 faut encore signaler l'influence des aberrations géométriques introduites par les lentilles d'un objectif : une droite dans l'espace se projette en segment courbe, plutôt qu'en segment rectiligne, sur l'image. Les modèles déformables opposés ici ne permettent pas d'approcher parfaitement de telles parties deformées, mais on peut utiliser un procédé de correction des aberrations géométriques pour appliquer le procédé de l'invention à des images rectifiées, obtenues sans distorsion. Ce procédé de correction est fait pour tous les points de l'image à la fois au préalable, et c'est l'image rectifiée qui est conservée dans la mémoire 12. Les aberrations géométriques sont composées de deux termes, dont un terme de distorsion radiale qui déplace un point radialement par rapport au centre optique l'image et s'exprime comme un polynôme d'équation (9) Sr(r) = Kir' + KZr5 + Kir' en fonction de la distance radiale r = x2 +Y# ; et un terme distorsion tangentielle qui integre une composante tangentielle et une composante radiale conformément aux équations Les coef f icients Kl, KZ, K3 et P1 PZ sont des coefficients de distorsion estimés pendant l'étalonnage de la caméra. La distorsion radiale est estimée par un calcul préliminaire d'une table d'aberration en fonction de la distance radiale. Cette table fait correspondre, pour chaque distance radiale rD centre d'une image d'étalonnage distordue, la distance correspondante rND d'un même endroit dans l'image non distordue. L'écartement entre les valeurs successives des distances rD logées dans la table est choisi pour que la précision minimale A entre des valeurs successives de la distance corrigée rND soit respectée. Ce procédé permet d'obtenir une précision qui peut atteindre un dixième du pas entre deux points successifs de l'image. On ne prévoit pas de procéder de la même façon pour tenir compte de la distorsion tangentielle, car les tables donnant des corrections en fonction des coordonnées x et y devraient concerner tous les points de l'image et occuperaient une place excessive en mémoire. C'est pourquoi, s'il faut tenir compte de ces distorsions tangentielles, il est conseillé d'utiliser un algorithme de recherche de racine d'équation fondée sur les équations (10), tel que l'algorithme de Powell bien connu dans l'art. On passe maintenant à la description du deuxième module 21 du système d'exploitation, qui est module de reconstruction et de localisation qui exploite les positions des contours d'objets détectés précédemment sur les images pour estimer position de objets dans l'environnement, c'est-à-dire construire la représentation tridimensionnelle de celui-ci, tout en calculant la position capteur 7 image par une étape de localisation. Le procédé est récurrent, c'est-à-dire que les images sont exploitées successivement, la représentation de l'environnement étant à chaque fois complétée et corrigée pour la rendre plus précise. I1 s'agit d'une application du filtre de Kalman. On décrit ici l'utilisation d'un capteur 7 stéréoscopique à deux caméras, mais le procédé serait applicable à un capteur à caméra unique : la reconstruction et la localisation ne pourraient être appréciées qu'à un facteur d'échelle près, qu'on pourrait donner en injectant une information supplémentaire dans le système, telle qu'une distance entre deux points ou le rayon d'un cylindre. Nous donnons ci-dessus les formules lient, pour une caméra d'indice i du capteur ayant pris une image à l'instant k, le vecteur xk des paramètres de 'objet détecté dans un repère absolu et le vecteur zk ses coordonnées d'observations dans cette image. La caméra aura sa position notée par une matrice rotation Rk et un vecteur de translation tk dans repere absolu. Les formules de passage sont notées par la lettre h. Dans le cas d'un point, les équations où (xk,yk,zk)`=Rk(x,y,z)`+tk sont respectées, avec Xk = (X, y, z)t , Zk=(u,v) . Dans le cas d'une droite, xk et Zk sont définis par les vecteurs (13) xk = (x, y, Z, P, Zk=( v,8), où (3 et (p sont les coordonnées sphériques du vecteur directeur de la droite et 8 l'angle que sa projection fait sur l'image ; les formules où x est le produit vectoriel, donnent les conditions à satisfaire, où (mk, vk) sont les paramètres de la droite (les coordonnées d'un de ses points mk et de vecteur directeur) conformément aux équations (15) m, = Rkm + tk , vk = Rkv , mp représente les coordonnées la projection du point mk sur l'image, mi est le mil' du segment détecté sur l'image et vI est le vecteur directeur du segment, conformément à la figure 7, mi et vI sont déduits de Zk. Un cylindre infini est défini par le vecteur (16) xk=(x,Y,z,p, r)t, où x, y et z sont les coordonnees (notées m) d'un point de son axe, (3 et (p sont coordonnées sphériques (notées v) du vecteur directeur de son axe, et r est son rayon. Les équations (17 ) mk = Rkm + tk Vk = Ri V expriment la position de l' du cylindre dans le repère de la caméra i à l'instant k. on calcule en outre (ml, vI) et (m2, V2) , les coordonnées de ses limbes, et mpi et mP2 les projections de points ml et m2 des limbes sur l'image. A partir des paramètres mesurés sur l'image (18) (u, V, e, se, d), on déduit le vecteur d'observation Zk=(uI, vI, 01, u2, V2, 92) correspondant aux points milieux et aux orientations des deux limbes observés et on obtient l'équation de mesure La figure 8 représente ces paramètres. Conformément au cas de la droite, VII et mil, v12 et m12 sont déduits de zk. Quant au cercle, il est défini par un vecteur d'état conforme à la formule (20 xk=(x,y,z,(3,(p,r) r, où x, y et z designent les coordonnées de son centre, et (p les coordonnées sphériques du vecteur directeur de sa normale et son rayon. De plus, les formules (2 mk = Rkm + tk et vk = Rk v s'appliquent. les coordonnées d'observation sont représentées la fonction (22) zk = (u, v, 11, 12, 0) , les équations avec Q = al(xk + yk + zk - r2) + 1 - 2bxk expriment le passage entre le vecteur d'état et les observations, où qo, ..., q4 sont issus d'une conversion des paramètres (22) pour obtenir une représentation de l'ellipse sous forme implicite telle que u2+qov2+qluv+q2u+q3v+q4=0. Nous passons maintenant à la description du procédé de reconstruction dans le cas particulier d'un capteur formé de deux caméras fixes l'une par rapport à l'autre, notées par leurs indices 1 et r et prenant simultanément une image. Pour un point, le vecteur d'observation global peut s'exprimer par (24) Zk= (U1, V1, Ur, Vr, Xk, (# Nk, (Xk, txk, tyk, tzk) où u1, v1, ur et v= sont les coordonnées du point sur les deux images et les autres paramètres sont les vecteurs d'orientation et de translation du capteur dans le repère absolu. La fonction d'observation du point est alors donnée par l'équation dont la solution (dont on aura remarqué qu'il s'agit de duplication de l'équation (11) pour les deux caméras) donne une évaluation du vecteur d'état xk du point, compose des coordonnées x, y et z dans le repère absolu. La localisation d'une droite est conditionnée par l'obtention d'un vecteur d'observation 26) zk= (U1, V1, e1, Ur, Vr, 0r, xk, Pk, (Xk, txk, tyk, tzk) t et la résolution des équations de façon analogue ; rappelons que les parametres 9 sont les angles des projections de la droite les images 1 et par rapport â l'horizontale. I1 faut toutefois noter que, comme on observe des segments de droite plutôt que des droites elles-même, le vecteur d'état d'une droite est donné par la formule (28) xk=(a,b,p,q)t, plutôt que par les coordonnées d'un point la droite et vecteur directeur de cette droite. A chaque acquisition, la droite estimée par les paramètres du vecteur d'état a, b, p et q est exprimée sous forme d'une droite finie de paramètres x, y, z, (p et 1 où la longueur du segment est désignée par 1 et le milieu de ce segment par les coordonnées x, y et z. Ces dernières coordonnées sont évaluées par une reprojection dans l'image. La définition des paramètres a, b, p, q peut être donnée ci-dessous - la droite a un vecteur directeur (1, a, b,) un vecteur de position (0, p, q) sauf si elle est perpendiculaire à l'axe 0, ; - elle peut être définie par le vecteur directeur (a, 1, b) et un vecteur de position (p, 0, q) sauf si elle est perpendiculaire à l'axe OY ; - et un vecteur directeur (n, b, 1) et un vecteur de position (p, q, 0) sauf si elle est perpendiculaire à l'axe OZ. Une convention de préference permet de définir une priorité quand plusieurs de ces représentations sont possibles. En ce qui concerne le cylindre, est encore défini dans la représentation par des paramètres a,b,p, et q de son axe, et par son rayon, selon la formule (29) xk=(a,b,p,q,r)t. Le vecteur d'observation est défini par la formule (3 0) z., = (il i v1 i W,, u2, v',, W2, u#, v l, 0 ,, u2 i v2, (f2X, , 1"k" `k txk ' tyk ' tzk Le système doit être résolu. Enfin, le cercle à vecteur d'état défini la formule (32) xx=(x,Y,z,r)t, le vecteur d'observation défini par la formule (33) 71, = (u1, "#I ,11,12,el,ur,V'#,l@,4, ()F , O# ,(,@(a@'tk'tyk'tIl ' et le système doit être résolu. A chaque nouvelle acquisition, l'estimation de la position de l'objet est affinée. Quand un et apparaît pour la première fois dans un couple d'images, cette estimation est initialisée par une reconstruction préliminaire par triangulation. Des méthodes ont eté proposées dans l'art. Une initialisation convenable permet de faire converger l'estimation de position de l'obj rapidement à chaque nouvelle image. La reconstruction de l'environnement tridimensionnel implique une localisation du capteur, dont position n'est en général pas connue, ou n'est connue qu'avec une précision insuffisante. A chaque nouvelle acquisition, on utilise les points dejà reconstruits dans l'environnement et leur vecteur d'observation pour effectuer une pré-localisation du capteur en recherchant c'est-à-dire les valeurs xk, (3k, ock, t,k, tyk, tzk donnent la meilleure concordance entre la représentation de l'environnement et son image sur les caméras (h proche de 0), pour tous les points j du modèle. Ensuite, on résout de manière récurrente les équations (37) hP(Xk, Zk)=0, hd(Xk, 7,k)=0, hcy(Xk, 7,k)-, ou h, (Xk, Zk) =0 (une par objet déjà reconstitué, selon catégorie de l'objet), où les vecteurs d'observations sont donnés par la formule (38) Zk-(u1,v1,ur,vr,X,Y,Z)t, 1 r r r Zk-(u ,v', 01, u ,v ,8 ,X,Y,Z,P,(P) , 2# = ui,vi U#2 ,V22, & 2, U# ,Vrl, ()'1 , 1-# ,2,U2,X,Y,Z,a,(p,4, ou z, _ @u1,vi,1i,12,81,ur,vr,li,1z,0T,x,Y,z,(3,cp,r appropriée : il s'agit d'une autre application du filtre Kalman où le vecteur d'état estimé est dans ce cas , Pk, (X k, txk, tyk, tzk) . Le module 22 effectue cette localisation. Le module d'identification 23 du système permet d'identifier automatiquement au moins une partie des contours qui font l'objet des calculs précédents, à chaque fois qu'une image est prise. On propose d'agir de la façon suivante - sélectionner une image précédente ko, de préférence proche de l'image actuelle k en ce qui concerne les positions et orientations de prise de ; - sélectionner des points d'intérêt Io cette image précédente ko, ce qui peut être fait automatiquement, les points d'intéret ayant comme propriété générale de présenter un gradient important de luminosité à leur voisinage, peu sensible en général aux changements conditions de prise de vue (éclairage, zoom, exposition de la vue). Un point caractéristique déjà identifié à une image ko sera donc le plus souvent identifié de nouveau sur une image suivante k, sauf s'il est alors caché par un autre objet de l'environnement ; - quand les points d'intérêt Io et Ik des deux images ont été trouvés, ils sont mis en correspondance d'une image à l'autre ; on peut utiliser pour cela l'information de luminance au voisinage de chacun d'eux, qui est susceptible de les caractériser au mieux elle est codée sous forme vectorielle en utilisant différents filtres. Le module recherche, pour chaque point d'intérêt Ik de la nouvelle image k, celui des points d'intérêt Io de 1 image précédente ko qui lui est le plus similaire en calculant un score de corrélation ou une distance vectorielle (voir par exemple les travaux C. Schmid Appariement d'images par invariants locaux de niveaux de gris , Thèse de doctorat INPG, 1996) , - quand les correspondances entre couples de points d'intérêt, supposés provenir des projections respectives sur les deux images d'un même point de l'environnement, ont été déterminées, une matrice de correspondance entre les deux images a ains' été obtenue. Il devient alors possible de projeter le modèle tridimensionnel estimé auparavant sur 1 image actuelle au moyen de cette matrice. Les contours ainsi obtenus servent d'estimation préliminaire de contours d'objets pour la nouvelle image k, ils sont utilisés en appliquant sur eux le procédé explicité plus haut du module 20 en utilisant des modèles déformables. L'opérateur n'a donc à recommencer complètement la sélection des contours sur la nouvelle image k. Il peut évidemment rectifier des contours qui apparaîtraient comme incorrects ou éliminer des contours occultés par d'autres objets de l'environnement. Comme le programme est conçu pour éliminer lui-même les contours occultés par des objets déjà incorporés au modèle, l'opérateur ne devrait éliminer que les contours occultés pour des objets qui n'ont pas encore été identifiés. Il doit cependant introduire les contours apparaissant pour la première fois sur l'image k. Un dernier module est un calcul tridimensionnel en bloc. Il est accompli par le module 24 quand toutes les images de l'environnement ont été exploitées de la manière qu'on a décrite et qu'une représentation de l'environnement a été complétée. Le calcul est mené de la façon suivante - A partir des paramètres Rk et tk a priori pour chaque image k, les projections des contours de représentation sur les plans d'image de la caméra sont calculées ; - les écarts entre les positions contours projetés et les positions des mêmes contours evalués auparavant sur les mêmes images sont calculés - les positions des contours dans la représentation sont réévaluées afin de minimiser les ecarts. on procède en utilisant une méthode des moindres carrés en minimisant une erreur globale. Un vecteur x= (xGl ... xGn xml ... xMp) T où les xG regroupent les paramètres de tous les n objets de la représentation et les xm regroupent les paramètres des p prises de vue (a, P, x, t', ty, tZ)T peut être défini, ainsi qu'un vecteur z de mesure qui regroupe 'ensemble des observations faites pour chaque objet et pour chaque image. L'ajustement effectué par le module 24 revient à la minimisation d'une fonctionnelle d'erreur F(x,z,a) où a comprend des informations connues sur les moyens de prise d'image (par exemple leurs paramètres intrinsèques, centre optique, focale, coefficients d'échelle et de distorsion), ou sur la representation (par exemple des paramètres du vecteur x qui sont supposés bien déterminés ou connus). Des pondérations des fférents paramètres peuvent être introduites. Ce module 24 permet donc d'évaluer les incertitudes de la representation de l'environnement et de les réduire en modifiant les paramètres estimés de prise de vue. I1 est possible de corriger certains parametres ou de les bloquer. Les paramètres utilisés sont et v pour le point, 8 et d (distance à l'origine du reférentiel d'image) pour la droite et chaque limbe de cylindre. De plus, on utilise encore les coordonnées u et des extrémités des segments de droite et de cylindre. Le calcul en bloc est utilisable également pour effectuer la mesure de la position et de l'orientation d'un ou plusieurs objets au moyen d'une seule image et d'une caméra. I1 sera nécessaire pour cela disposer d'informations complémentaires sur les obj les caractéristiques géométriques de chaque objet doivent être connues et injectées dans le calcul en bloc. La mesure des projections dans une seule image de ces dites caractéristiques est suffisante alors pour déterminer la position et l'orientation de l'objet. I1 sera nécessaire de veiller à disposer de caractéristiques en nombre suffisant pour évaluer tous les paramètres de position d'orientation. REVENDICATIONS 1. Procédé de mesurage d'objets tridimensionnels d'un environnement tridimensionnel, consistant à prendre au moins une image par au moins une caméra et à créer une représentation de l'environnement d'après une analyse de l'image, caractérisé en ce que l'analyse comprend une détection de discontinuités d'aspect de l'image, une association des discontinuités détectées à des contours géométriques définis sur l'image par des parametres, un ajustement des contours aux discontinuités faisant varier les paramètres, une estimation de forme et de position dans l'environnement d'objets géométriques se projetant sur l'image d'après lesdits contours, la representation comprenant lesdits objets. 2. Procédé de mesurage selon la revendication 1, caractérisé en ce que contours géometriques comprennent le point, la ligne droite, l'ellipse, et les objets comprennent le cercle, le cylindre, la droite et le point. 3. Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que les paramètres comprennent des coordonnées cartésiennes planes, des angles et des longueurs. 4. Procédé selon l'une quelconque des revendications 1, 2 ou 3, caractérisé en ce qu'il comprend, pour détecter les discontinuités d'aspect de l'image, une conversion des images en images de potentiel des points de l'image, les potentiels étant calculés pour avoir une valeur extrême aux discontinuités. 5. Procédé selon la revendication 4 caractérisé en ce que le potentiel comprend un terme tenant compte de zones de très faible intensité niveau gris des images. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'estimation de position des objets est complétée par une estimation de position de la caméra d'après la représentation de l'environnement et l'image de la caméra. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comprend des estimations initiales de position des objets ou de la camera à partir d'informations spécifiées manuellement ou à travers un fichier informatique de description. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comprend une répétition des étapes de détection, d'association, d'ajustement et d'estimation pour chacune des images, la représentation de l'environnement étant rectifiée par des corrections de position des objets pour chacune des images. 9. Procédé selon la revendication 8, caractérisée en ce qu'une projection des contours des objets la représentation de l'environnement est faite chaque nouvelle image avant la détection des discontinuités d'aspect de ladite nouvelle image. 10. Procédé selon la revendication 9, caracterisé en ce que lesdits contours projetés sont ajustés sur les discontinuités d'aspect de l'image. 11. Procédé selon l'une quelconque des revendications 8 et 9, caractérisé par des additions de contours géométriques et d'objets géométriques se projetant sur lesdits contours pour certaines au moins des nouvelles images. 12. Procédé selon l'une quelconque des revendications 1 à 11, caractérisé par une correction de position des objets en estimant les positions de projection objets sur les images d'après les positions respectives de la caméra quand les images furent prises et en ajustant les positions de projection estimées d'après les positions de projection mesurées sur images.