Num erisation automatique avec un capteur 3D a profondeur de vue
Transcription
Num erisation automatique avec un capteur 3D a profondeur de vue
Numerisation automatique avec un capteur 3D a profondeur de vue limitee Dimitri Papadopoulos-Orfanos yz Francis Schmitt y Ce travail a benecie de la convention CIFRE 536/92 et du soutien de Kreon Industrie. Departement Images, E cole nationale superieure des telecommunications, 46 rue Barrault, F-75634 Paris Cedex 13, France zE-mail : [email protected] y 1 Introduction A partir d'un objet reel, un capteur 3D produit un modele geometrique tridimensionnel. Aujourd'hui, cette operation ne pose aucun probleme particulier pour un objet simple. Par contre, la numerisation des objets non convexes est souvent ardue : les dicultes rencontrees avec une piece de musee torique sont evoquees dans un precedent article [13] et rappelees ci-dessous. D'une part, le capteur doit ^etre convenablement oriente face a l'objet numerise, pour discerner tous les details de la surface. Certains details en creux ne sont visibles que d'un point de vue particulier. De plus, la grande majorite des capteurs 3D utilise la triangulation | y compris les capteurs a Moire et a stereovision. Les ombres et occlusions inherentes a ce principe ne font qu'aggraver le probleme en creant des parties cachees. D'autre part, nous utilisons un capteur dont la profondeur de vue est relativement faible : le champ de mesure s'etend sur une distance de 5 a 10 cm du capteur. Par rapport aux dimensions des objets habituellement numerises, cette distance est insusante. Il existe donc un danger de collision. Plus le capteur se rapproche de la surface pour acceder aux details diciles d'acces, plus ce danger augmente. Enn, le capteur est monte sur une machine-outil a commande numerique (MOCN) ou une machine a mesurer tridimensionnelle (MMT), qui dispose de trois, quatre ou cinq degres de liberte motorises. Les trajectoires du capteur autour de l'objet sont denies manuellement, sans que l'operateur dispose d'un retour d'information en temps reel. Entre le positionnement delicat du capteur, le danger de collision, et la convivialite parfois insusante de l'interface utilisateur, nous avons decide d'automatiser le processus de numerisation. Le paragraphe 2 presente l'etat de l'art de la numerisation 3D automatique. Le paragraphe 3 enumere les points a traiter pour aboutir a un fonctionnement automatique, en fonction de nos contraintes propres. Ensuite, le paragraphe 4 decrit le programme de commande et rappelons les grandes lignes du programme de contr^ole deja existant [13]. Enn, le paragraphe 5 presente les resultats d'une numerisation automatique. 2 Travaux precedents Pauchon a ete le premier a travailler sur la numerisation automatique de surfaces complexes [14]. Il a utilise un capteur a point laser et une conguration mecanique originale. La numerisation est eectuee par prols horizontaux. Le faisceau laser parcourt, dans un plan horizontal, un prol de la surface mesuree. Un algorithme incrementiel met a jour une representation polygonale du contour. Cette representation permet de commander les mouvements ulterieurs du faisceau laser par rapport a la surface, pour arriver a un echantillonnage exhaustif du prol. Une translation verticale permet de passer au prol suivant. Le capteur de la societe Digibotics presente une architecture similaire. C'est un exemple de processus entierement automatique et operationnel, mais son mode d'acquisition point par point est lent. De plus, un support mecanique dedie est necessaire : il n'est pas possible de reutiliser les MOCN et MMT existantes. Le probleme des collisions n'est pas traite, parce que le capteur possede une profondeur de vue jugee susante. Maver [11, 10] utilise un capteur semblable au n^otre. Par contre, le support mecanique est dierent. Le capteur vise le sol et se deplace par translation horizontale et rotation autour de son axe vertical. Maver calcule les orientations successives du capteur qui permettront de minimiser le phenomene des parties cachees decrit au paragraphe 1. Dans le cas present, ces resultats ne sont pas applicables. D'une part, le capteur ne tourne pas autour de son axe | du moins pas de maniere autonome | et d'autre part, les capteurs de nouvelle generation possedent deux cameras et reduisent ainsi l'extension des parties cachees. Troisiemement, le probleme des collisions n'est pas traite. Enn, ce systeme se concentre sur la numerisation 2D 1/2 plut^ot que 3D. Tarbox [18, 19] decrit le systeme d'inspection IVIS, qui necessite un capteur capable de fournir directement une image de profondeur | capteur a Moire ou a balayage. Au depart, un modele de reference de l'objet a inspecter est transforme en octree. A partir de cet octree, trois algorithmes ont ete experimentes pour generer une sequence de vues qui couvre la totalite de la surface mesuree. En fonction des defauts detectes sur l'objet, des sequences d'acquisition supplementaires peuvent ^etre generees en ligne. Une mise au point manuelle est parfois necessaire. Le capteur se deplace sur une sphere a distance susante de l'objet ; le probleme des collisions n'est donc pas evoque. Recemment, Brian Freyburger et Marc Levoy, du Stanford Computer Graphics Laboratory, ont aborde l'automatisation d'un capteur Cyberware [7], assez proche, dans son principe, du capteur Kreon. Pudney [15] a monte sur un bras de robot des capteurs de proximite a profondeur de vue limitee. Deux algorithmes ont ete implementes. D'une part, un modele polyedrique de la scene est mis a jour de maniere incrementielle. D'autre part, ce modele polyedrique commande les mouvements du capteur, en mode de suivi de surface. Si cette technique de planication des trajectoires utilise les six degres de liberte du robot, elle reste inadaptee a nos besoins. En eet, le probleme des collisions n'est resolu que par l'utilisation de nombreux capteurs de proximite, couvrant toute la surface du bras de robot. Par ailleurs, seuls les objets polyedriques peuvent ^etre explores. Les capteurs Laser Design et 3D Scanners peuvent egalement fonctionner en mode de suivi de surface. Ici aussi, il s'agit de numerisation 2D 1/2 plut^ot que 3D. A notre connaissance, le danger de collision avec un objet complexe n'est pas traite. Parmi tous les travaux cites ci-dessus, aucun ne traite le probleme d'eventuelles collisions ; Pudney suggere simplement l'utilisation de capteurs supplementaires. Les methodes presentees par Maver et Pauchon demandent l'emploi d'un materiel particulier et numerisent des surfaces 2D 1/2 plut^ot que 3D. Tarbox a mis au point un systeme capable de numeriser des objets tridimensionnels complexes. Par contre, son capteur fournit directement des images de profondeur, et se deplace a susamment grande distance de l'objet pour ne pas se soucier des collisions. capteur objet (a) Fig. capteur objet (b) 1 { Liaison mecanique entre le capteur et l'objet : deux congurations minimales 3 Contraintes et objectifs La solution au probleme de la numerisation tridimensionnelle automatique depend fortement, nous l'avons vu, du type de machine utilisee. Nous rappelons les caracteristiques materielles et logicielles du systeme dont nous disposons, deja decrit dans [13]. 3.1 Le systeme de numerisation Pour la partie materielle, un capteur Kreon Industrie CL 50{1 d'ancienne generation est xe a un support mecanique, qui le deplace par rapport a l'objet. Ici, ce support mecanique est un banc Kreon Industrie Micromachine. Cependant, le capteur est habituellement reajuste sur une MOCN ou une MMT preexistante, dans le but de reduire le co^ut d'une solution de numerisation complete. Les congurations mecaniques sont tres diverses. Il est dicile de trouver un cadre commun et d'en deduire des equations cinematiques generales, directes et inverses. Deux congurations minimales ont ete isolees, presentes sur la plupart des MMT et centres d'usinage trois, quatre ou cinq axes. Elles constituent le denominateur commun des dierents supports mecaniques. Ces congurations sont toutes deux disponibles sur le banc Micromachine : { trois axes de translation orthogonaux (gure 1.a) ; { une rotation autour de l'axe de l'objet, et deux translations du capteur, verticale et radiale (gure 1.b). 3.2 Le logiciel : vers la numerisation automatique Pour la partie logicielle, le logiciel 3D Videolaser constitue l'interface utilisateur du systeme de numerisation avant automatisation (gure 2.a). Le programme de scène scène capteur actionneur capteur actionneur programme de contrôle programme de commande programme de contrôle programme de commande opérateur programme d’automatisation (a) numerisation manuelle (b) numerisation automatique Fig. 2 { Numerisation : un processus iteratif en boucle fermee commande est charge de positionner le capteur, le programme de contr^ole est charge de collecter et mettre en forme les donnees. La numerisation est un processus iteratif en boucle fermee, dont l'operateur etait jusqu'a present un maillon essentiel. En mode manuel, il doit en eet observer et mesurer l'objet, denir des trajectoires adaptees a la numerisation et les fournir a un tableur sous forme de positions moteur successives. Enn, il visualise les donnees hors ligne, identie les defauts et commence une nouvelle serie de mesure pour les corriger. Comme l'explique le paragraphe 1, c'est une demarche laborieuse dans le cas des objets de geometrie complexe. En mode automatique (gure 2.b) un logiciel vient remplacer l'operateur, du moins dans les t^aches les plus fastidieuses. On remarque sur ce schema que le logiciel d'automatisation ne dispose que des informations en provenance du capteur. Il n'a aucune perception d'ensemble de la scene, contrairement a un operateur humain. 3.3 Les objectifs Nous avons isole plusieurs t^aches qu'un systeme completement automatique doit mener a bien : { Le ux de donnees alimente une representation interne de la scene en cours de numerisation. Parmi les representations adaptees a un objet quelconque, les volumes discretises sous forme de voxels et les octrees conviennent a une mise a jour dynamique [9, 3]. Plus recemment, des algorithmes de triangulation incrementielle ont ete elabores, mais ils semblent encore trop lents pour ^etre inseres en ligne [4]. { Dans ses deplacements, le capteur doit eviter les collisions avec l'objet numerise. C'est le domaine de la planication de trajectoire ou motion planning [5]. En realite, nos preoccupations sont legerement dierentes. En planication de trajectoire, il s'agit d'aller d'un point A a un point B donnes, en evitant les tasks object recognition scene reconstruction feature detection sensor models object models Fig. parameters sensor planning camera pose system optical settings illuminator pose 3 { Planication sensorielle (d'apres [17]) collisions. Ici, il s'agit d'explorer une surface inconnue. Neanmoins, les outils utilises en planication de trajectoire sont utiles. { Avant de relier deux points A et B , il faut les choisir. C'est le domaine de la planication sensorielle [17] : a partir d'informations sur le capteur et son environnement, il s'agit de developper des strategies capables de determiner les parametres du capteur pour atteindre un but precis (gure 3). { Enn, il est important de produire une representation dele de la surface reelle | principe de least-commitment [2]. Pour toutes les t^aches enumerees ci-dessus, il est possible de travailler a plusieurs niveaux de detail. Des representations dierentes, ou une unique representation multi-echelles, peuvent ^etre utilisees pour chaque t^ache. Chacune de ces t^aches est mise en uvre par un algorithme particulier et facilitee par une representation propre. Tous les travaux presentes au paragraphe 2 s'eorcent d'utiliser une representation unique. Nous proposons au contraire d'utiliser simultanement plusieurs representations [16, 6], chacune etant la mieux adaptee a une t^ache donnee | et a son algorithme associe. Le passage eventuel de l'une a l'autre pouvant ^etre co^uteux, nous nous sommes eorces de ne pas les multiplier, lorsqu'il etait possible d'utiliser des modelisations identiques pour deux t^aches dierentes, ou lorsqu'il etait possible d'utiliser des modelisations entre lesquelles la traduction est rapide. 4 Numerisation automatique Le paragraphe precedent identie les t^aches necessaires a l'automatisation du processus de numerisation. 4.1 Mise a jour de la representation de la scene La mise a jour du modele interne de la scene a ete presentee dans un article precedent [12]. Dans le cas d'un capteur en translation ou en rotation, les phenomenes d'ombre et d'occlusion ont ete decrit et calcules. Puis un algorithme de mise a jour incrementielle a ete presente. L'algorithme a ete implemente en discretisant l'espace en voxels, an de minimiser les temps de calcul. Un volume initial, dont les voxels sont marques INCONNU, contient l'objet a numeriser. Au fur et a mesure de la numerisation, les voxels se transforment en PLEIN ou VIDE. 4.2 Strategie de deplacement du capteur Dans le paragraphe 3.1 a ete evoquee la grande diversite des supports mecaniques du capteur, caracteristique fondamentale du systeme de numerisation Kreon. 4.2.1 Des congurations mecaniques diverses Dans un premier temps, le suivi de la surface de l'ensemble des voxels PLEIN et INCONNU a ete envisage, en utilisant la totalite des degres de liberte disponibles. La diversite des supports mecaniques rend cette solution irrealisable. De plus, trouver le chemin d'exploration optimal est un probleme NP-complet, d'autant plus ardu que l'espace PLEIN ou INCONNU varie dans le temps. Finalement, le probleme de la complexite des liaisons mecaniques admissibles est elude, en se limitant a l'utilisation d'une des deux congurations minimales de la gure 1. En planication des trajectoires, une grande variete de representations a ete etudiee : arbres de spheres, superquadriques, triangulations, espaces discrets [5]. Ici, le capteur garde une orientation constante, en coordonnees euclidiennes (gure 1.a) ou cylindriques (gure 1.b). Dans ces conditions, il s'agit plut^ot de deplacement 2D 1/2 que 3D : l'utilisation d'un z-buer plan ou cylindrique est particulierement adaptee. 4.2.2 Cas de la conguration a trois axes de translation Dans le cas particulier represente sur le schema 1.a, un z-buer plan a ete utilise. L'environnement, mis a jour en permanence comme indique le paragraphe 4.1, est projete dans le z-buer. Les deplacements peuvent alors ^etre calcules sur ce z-buer. Nous travaillons dans l'espace des congurations [8]. Avec trois degres de liberte, l'espace des congurations est tridimensionnel. Dans ce cadre, nous avons adopte une strategie de deplacement simple. Une couche du z-buer, de hauteur z constante, est exploree en zigzag. En l'absence d'obstacles (gure 4.a), nous passons a la couche suivante, operant ainsi une extrusion par couches de l'espace INCONNU initial. Devant un obstacle, le capteur remonte et contourne l'obstacle par le haut (gure 4.b). Les details d'implementation seront decrits dans [12]. Il est clair que cette methode pourrait ^etre amelioree en s'inspirant des travaux concernant les trajectoires d'usinage [1]. 4.2.3 Choix de la prochaine vue La numerisation exhaustive de la surface d'un objet, pour une orientation du capteur constante, s'appelle une vue. Elle fournit une image de profondeur classique, utile a la reconstruction de surface par certains modules de passage vers la CAO, tels que Strim de Matra Datavision. z-buffer (a) couche par couche, en zigzag Fig. z-buffer (b) contournement d'obstacles 4 { Deplacement du capteur Une fois cette vue achevee, le choix d'une nouvelle vue permet de completer les donnees. Idealement, ce processus se repete jusqu'a la numerisation complete de l'objet. Le choix de la prochaine vue est un des problemes etudies en planication sensorielle, mais egalement dans d'autre domaines d'application, comme l'inspection et l'usinage automatiques [17]. D'habitude, les algorithmes correspondants travaillent sur des modeles polyedriques. Alternativement, il est possible d'utiliser directement des decompositions en voxels, ou des octrees [20]. Cette derniere etape n'a pas ete implementee. En eet, les degres de liberte du capteur etant limites, nous aurions d^u adapter les algorithmes de planication sensorielle aux contraintes propres a chacun des supports mecaniques utilises. Dans le cas particulier de la Micromachine, n vues de l'objet sont eectuees, espacees de 2n autour de l'axe de rotation vertical, pour aboutir aux resultats exposes au paragraphe 5. 4.3 Numerisation exhaustive de la surface Les resultats sont presentes sous forme d'un nuage de points (x; y; z) 2 R3. La precision du capteur est inferieure a 1/10 mm. Il est donc raisonnable, dans certains cas, de demander une densite de points superieure a 100 points par mm2 de surface, resolution que peut dicilement atteindre une decomposition de l'espace en voxels, voire un octree. Dans le futur, nous envisageons d'utiliser des graphes geometriques, tels que les -graphes de Veltkamp [21], pour verier la densite des donnees et completer les parties lacunaires. 5 Resultats La gure 5 presente la numerisation d'une statuette. Sur la gure 5.a, 6 vues de la statuette sont fusionnees et visualisees en image de synthese. Les zebrures sont dues a une xation defectueuse du capteur sur son support mecanique. La representation en voxels est visible sur les gures 5.b et 5.c. Nous sommes ici en cours de numerisation. La plus grande partie de la statuette est deja visible (voxels marques PLEIN en gris fonce). Il subsiste une portion d'espace encore inexploree (voxels marques INCONNU en gris clair). (a) resultat nal: fusion de 6 vues (b) representation en voxels de la statuette en cours de numerisation: visualisation en l de fer Fig. (c) les voxels pleins sont representes en gris fonce et les voxels inconnus en gris clair 5 { Numerisation d'une statuette 6 Conclusion Le systeme de numerisation 3D a ete en grande partie automatise. Les programmes de contr^ole et de commande utilisent simultanement plusieurs representations. D'une part, l'espace est decompose en voxels, mis a jour en tenant compte de la geometrie particuliere du capteur, ainsi que des ombres et occlusions. D'autre part, ces voxels sont projetes sur un z-buer, pour deplacer le capteur sans risque de collision et acquerir ainsi une vue complete de l'objet. Nous avons implemente ces algorithmes et obtenu l'acquisition automatique d'une serie d'objets. References [1] Special issue: NC machining and cutter-path generation. Computer-Aided Design, 26(3), March 1994. [2] Stephane Aubry. Three-Dimensional Model Construction from Multiple Sensor Viewpoints. PhD thesis, McGill University, Montreal, Quebec, November 1994. [3] Christopher I. Connolly. Cumulative generation of octree models from range data. In Proceedings, 1984 IEEE International Conference on Robotics and Automation, Atlanta, Georgia, March 13{15, 1984, pages 25{32. IEEE, 1984. [4] Brian Curless and Marc Levoy. A volumetric method for building complex models from range images. In SIGGRAPH 96, New Orleans, Louisiane, August 4{9, 1996, volume 30 of Computer Graphics Proceedings, Annual Conference Series, pages 303{312. ACM SIGGRAPH, 1996. http://www-graphics.stanford.edu/papers/volrange/. [5] Jean-Claude Latombe. Robot Motion Planning, volume 124 of Kluwer International Series in Engineering & Computer Science. Kluwer Academic, 1991. [6] Ales Leonardis, Ales Jaklic, Bojan Kverh, and Franc Solina. Simultaneous recovery of surface and superquadric models. In Pattern Recognition 1996, Proceedings of the 20th Workshop of the Austrian Association for Pattern Recognition (OAGM/AAPR), Schlo Seggau, Leibnitz, 9{10 May 1996, pages 27{36. Oldenbourg, 1996. [7] Marc Levoy. Project to build a 3D fax machine, 1995. http://www-graphics.stanford.edu/projects/faxing/. [8] Tomas Lozano-Perez. Spatial planning: A conguration space approach. IEEE Transactions on Computers, C-32(2):108{120, February 1983. [9] Worthy N. Martin and J. K. Aggarwal. Volumetric descriptions of objects from multiple views. IEEE Transactions on Pattern Analysis and Machine Intelligence, PAMI-5(2):150{158, March 1983. [10] Jasna Maver. Collecting Visual Information Using an Active Sensor System. PhD thesis, University of Ljubljana, May 1995. [11] Jasna Maver and Ruzena Bajcsy. Occlusions as a guide for planning the next view. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(5):417{433, May 1993. [12] Dimitri Papadopoulos-Orfanos. PhD thesis, E cole nationale superieure des telecommunications, Paris, France, 1996. To be published. [13] Dimitri Papadopoulos-Orfanos and Francis Schmitt. Automation of a 3-D camera-laser triangulation sensor. In 4th European Conferences on Rapid Prototyping, Paris, France, 4{5 October 1995. Remark, 1995. http://www-ima.enst.fr/~orfanos/rapid95.ps.gz. [14] Eric Pauchon. Numerisation et Modelisation Automatiques d'Objets 3-D. PhD thesis, Universite de Paris-Sud, Orsay, France, September 1983. [15] Christopher J. Pudney. Surface Modelling and Surface Following for Robots Equipped with Range Sensors. PhD thesis, The University of Western Australia, Perth, September 1994. ftp://cs.uwa.edu.au/pub/robvis/papers/chrisp/thesis.ps.gz. [16] Franc Solina and Ales Leonardis. Selective scene modeling. In 11th IAPR International Conference on Pattern Recognition, The Hague, The Netherlands, August 30{September 3, 1992, volume I, pages 87{90. IEEE Computer Society Press, 1992. [17] Konstantinos A. Tarabanis, Peter K. Allen, and Roger Y. Tsai. A survey of sensor planning in computer vision. IEEE Transactions on Robotics and Automation, 11(1):86{104, February 1995. [18] Glenn H. Tarbox. A Volumetric Approach to Automated Three Dimensional Inspection. PhD thesis, Rensselaer Polytechnic Institute, Troy, New York, May 1993. [19] Glenn H. Tarbox and Susan N. Gottschlich. IVIS: An integrated volumetric inspection system. Computer Vision and Image Understanding, 61(3):430{444, May 1995. [20] Glenn H. Tarbox and Susan N. Gottschlich. Planning for complete sensor coverage in inspection. Computer Vision and Image Understanding, 61(1):84{ 111, January 1995. [21] Remco C. Veltkamp. Closed Object Boundaries from Scattered Points, volume 885 of Lecture Notes in Computer Science. Springer, 1994.