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.