Top Banner
22 es Journées de l’Association Francophone d’Informatique Graphique, Arles, 2009 Assemblage d’objets 3D Semi-Automatique basé géométrie en Archéologie Nicolas Mellado 1 et Patrick Reuter 2 et Christophe Schlick 2 1 INRIA Bordeaux (Projet Iparla), 2 INRIA Bordeaux (Projet Iparla) - Université Bordeaux 2 Abstract The recent use of 3D laser scanning in the archaeological context requires techniques and systems to make the generated data usable. In this paper, we focus on the fragment reassembly based on ArcheoTUI, a tangible in- terface created to assemble the digitals models of fragments manually. We present a semi-automatic system to assist the user in real time in when assembling the fragments. This approach allows to use both the accuracy of geometric algorithms and the scientific knowledge of the archaeologist. The user specifies an approximate initial position of the two fragments by means of the tangible interface. Then, our system performs a real time registration thanks to the use of the Iterative Closest Point registration algorithm combined with a speed-up data structure and a bi-factorial weighting of the pairs. The data structure is used to find an area of interest on each object and to accelerate the pairs generation, whereas the weighting improves the detection of the data relevance. L’utilisation récente de l’acquisition par scanner laser en archéologie nécessite des techniques et des systèmes per- mettant de rendre les données créées exploitables. La problématique abordée dans cet article est le ré-assemblage de fragments d’objets faisant suite au système ArcheoTUI, qui consiste en une interface tangible pour manip- uler les modèles numériques de fragments et les assembler manuellement. Dans ce papier, nous présentons un système semi-automatique permettant d’assister en temps réel l’utilisateur pour effectuer le ré-assemblage des fragments. Cette approche permet d’associer la précision du calcul géométrique aux connaissances scientifiques de l’archéologue. L’utilisateur positionne au plus proche les objets deux à deux via l’interface tangible. Ensuite, notre système réalise l’assemblage des fragments en temps réel en utilisant l’algorithme d’assemblage Iterative Closest Point associé à une structure de données accélératrice et une pondération des paires bi-facteurs. La struc- ture de données est utilisée pour détecter des zones d’intérêt sur les objets et pour accélérer la création des paires tandis que la pondération permet une meilleure détection de la pertinence des données. 1. Introduction La résolution de puzzles 3D est une problématique récur- rente en informatique graphique. La majorité des cas d’applications sont liés à l’archéologie, domaine perme- ttant de manipuler des données non synthétiques néces- sitant des algorithmes plus robustes que les cas d’école. L’orientation des techniques actuelles est axée sur le tout- automatique. Cependant, si l’on prend en compte que ces algorithmes peuvent être utilisés sur des données complexes et réelles, on augmente de manière importante la difficulté de la tâche : les informations sémantiques à transmettre en- tre l’utilisateur et le système peuvent être très complexes et difficile à paramétrer. De plus, l’absence d’implication de l’utilisateur dans le processus de résolution oblige les al- gorithmes à retrouver toutes les conclusions sur le puzzle que l’utilisateur peut connaitre grâce à ses connaissances im- plicites. Enfin, la dégradation des fragments par l’érosion et la possibilité de trous dans le puzzle complexifie davantage le problème. Dans ce papier nous présentons une approche de réso- lution de puzzle semi-automatique permettant une associa- tion des compétences de l’utilisateur et des algorithmes. Nos travaux sont principalement axés sur l’optimisation des al- gorithmes d’assemblage pour permettre un fonctionnement en temps réel, associé à une technique de pondération des données permettant d’augmenter la robustesse des calculs.
8

Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

Jan 22, 2023

Download

Documents

David Navarre
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

22es Journées de l’Association Francophone d’Informatique Graphique, Arles, 2009

Assemblage d’objets 3D Semi­Automatique basé géométrie enArchéologie

Nicolas Mellado1 et Patrick Reuter2 et Christophe Schlick2

1INRIA Bordeaux (Projet Iparla), 2INRIA Bordeaux (Projet Iparla) - Université Bordeaux 2

AbstractThe recent use of 3D laser scanning in the archaeological context requires techniques and systems to make thegenerated data usable. In this paper, we focus on the fragment reassembly based on ArcheoTUI, a tangible in-terface created to assemble the digitals models of fragments manually. We present a semi-automatic system toassist the user in real time in when assembling the fragments. This approach allows to use both the accuracy ofgeometric algorithms and the scientific knowledge of the archaeologist. The user specifies an approximate initialposition of the two fragments by means of the tangible interface. Then, our system performs a real time registrationthanks to the use of the Iterative Closest Point registration algorithm combined with a speed-up data structure anda bi-factorial weighting of the pairs. The data structure is used to find an area of interest on each object and toaccelerate the pairs generation, whereas the weighting improves the detection of the data relevance.

L’utilisation récente de l’acquisition par scanner laser en archéologie nécessite des techniques et des systèmes per-mettant de rendre les données créées exploitables. La problématique abordée dans cet article est le ré-assemblagede fragments d’objets faisant suite au système ArcheoTUI, qui consiste en une interface tangible pour manip-uler les modèles numériques de fragments et les assembler manuellement. Dans ce papier, nous présentons unsystème semi-automatique permettant d’assister en temps réel l’utilisateur pour effectuer le ré-assemblage desfragments. Cette approche permet d’associer la précision du calcul géométrique aux connaissances scientifiquesde l’archéologue. L’utilisateur positionne au plus proche les objets deux à deux via l’interface tangible. Ensuite,notre système réalise l’assemblage des fragments en temps réel en utilisant l’algorithme d’assemblage IterativeClosest Point associé à une structure de données accélératrice et une pondération des paires bi-facteurs. La struc-ture de données est utilisée pour détecter des zones d’intérêt sur les objets et pour accélérer la création des pairestandis que la pondération permet une meilleure détection de la pertinence des données.

1. Introduction

La résolution de puzzles 3D est une problématique récur-rente en informatique graphique. La majorité des casd’applications sont liés à l’archéologie, domaine perme-ttant de manipuler des données non synthétiques néces-sitant des algorithmes plus robustes que les cas d’école.L’orientation des techniques actuelles est axée sur le tout-automatique. Cependant, si l’on prend en compte que cesalgorithmes peuvent être utilisés sur des données complexeset réelles, on augmente de manière importante la difficultéde la tâche : les informations sémantiques à transmettre en-tre l’utilisateur et le système peuvent être très complexes etdifficile à paramétrer. De plus, l’absence d’implication de

l’utilisateur dans le processus de résolution oblige les al-gorithmes à retrouver toutes les conclusions sur le puzzleque l’utilisateur peut connaitre grâce à ses connaissances im-plicites. Enfin, la dégradation des fragments par l’érosion etla possibilité de trous dans le puzzle complexifie davantagele problème.

Dans ce papier nous présentons une approche de réso-lution de puzzle semi-automatique permettant une associa-tion des compétences de l’utilisateur et des algorithmes. Nostravaux sont principalement axés sur l’optimisation des al-gorithmes d’assemblage pour permettre un fonctionnementen temps réel, associé à une technique de pondération desdonnées permettant d’augmenter la robustesse des calculs.

Page 2: Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

Nicolas Mellado et Patrick Reuter et Christophe Schlick / Assemblage d’objets 3D Semi-Automatique en Archéologie

Ces opérations sont réalisées dans un contexte d’assemblaged’objets deux à deux, en tenant en compte uniquement desinformations géométriques locales à la zone d’assemblage.

2. État de l’art

2.1. Assemblage géométrique

L’assemblage géométrique est beaucoup utilisé en informa-tique graphique et en vision robotique, notamment pour lerecalage de surfaces acquises par scanner laser, l’assemblaged’objets virtuels, la reconnaissance et la classification demodèles. Si ce dernier domaine d’application nécessite desapproches globales souvent liées à des paramétrisationsdes modèles [WCW06, BDTK07], la résolution de puzzlesarchéologiques nécessite au moins une approche locale. Eneffet, les objets sont initialement représentés sous forme denuages de points très denses nécessitant une sélection desdonnées pertinentes à utiliser pour éviter de surcharger lesystème de résolution avec des données inutilisable et po-tentiellement introduire une erreur.

Présenté en 1992 par Besl dans [BM92], l’ICP (pour Ite-rative Closest Point) est l’algorithme de référence pour lerecalage de surfaces. Il s’agit d’un algorithme itératif quifait converger au fur et à mesure des itérations deux jeux dedonnées rigides l’un vers l’autre. Il utilise pour cela en en-trée les sous-ensembles de surface du modèle scannés depuisdes points de vue différents. Le positionnement relatif de cesjeux de données permet de calculer une erreur qu’il faut min-imiser pour rapprocher les deux ensembles. Rusinkiewiczet al. proposent une taxonomie des différentes variantes del’ICP [RL01] ainsi qu’une nouvelle signification au sigleICP : Iterative Corresponding Point.

2.2. Recalage temps réel

L’introduction d’une contrainte temps réel pour l’ICP né-cessite de faire des choix sur les techniques utilisées pourfaire un compromis entre le volume des données et le tempsnécessaire à leur traitement. Rusinkiewicz et al. proposentdans [RHHL02] une chaîne complète de recalage en tempsréel basée sur l’ICP.

Le premier objectif est de ne prendre en compte que lespoints importants et utiles au recalage sans pour autant que lepré-traitement de sélection soit plus lourd que l’exploitationdes points dans la chaîne. Dans [SDG07], les auteurs pro-posent une variante de l’ICP, basée sur une hiérarchie devolumes englobants, nommée Trimmed ICP, permettant derecaler des objets sans prendre en compte de position ini-tiale. Outre le fait de supprimer la notion de position initiale,cette variante introduit une méthode de recherche de zoned’intérêt, qui permet de ne pas considérer les points inutilesdès le module de ré-échantillonnage (donc avant le gouletd’étranglement), au lieu de les traiter jusqu’au module desuppression des paires.

Le second objectif est lié au goulet d’étranglement del’algorithme de l’ICP : la création des paires. Outre le faitqu’elle doit être opérée pour tous les points sélectionnésde l’objet principal (d’où le point précédent), elle néces-site l’utilisation de structures de données pour accélérer larecherche spatiale [Sim96] ou pour simplifier l’accès auxdonnées [BL95,BS97].

Enfin, de nombreuses méthodes existent pour augmenterla vitesse de convergence de l’ICP par la pondération despaires [GRB94], leur filtrage [RL01] et enfin le calcul del’erreur [CM91] pour diminuer son temps d’exécution.

2.3. Taxonomie

Nous proposons le classement suivant pour les méthodes derésolution : méthodes manuelles, semi-automatiques et au-tomatiques (voir figure 1).

Figure 1: Classement des systèmes de résolution.

Les approches manuelles ne prennent en compte que lesinformations entrées par l’utilisateur : nature des fragments,transformations géométriques et données topologiques entreautres. La résolution du puzzle dépend exclusivement descapacités et des connaissances de la personne.

Les approches semi-automatiques intègrent dans lesméthodes manuelles un ensemble de techniques dont le butest de résoudre, partiellement ou complètement, le mêmeproblème que l’utilisateur. Nous distinguons les métho-des manuelles guidées où le système aide l’utilisateur etles méthodes automatiques contrôlables dans lesquellesl’utilisateur guide le système pour qu’il résolve le problème.

Les approches automatiques minimisent l’influence del’utilisateur : il spécifie un paramétrage en une fois et lesystème propose une sortie. Des ajustements de paramé-trage peuvent être faits, mais uniquement en fonction dela configuration finale calculée. Pour appliquer ces modi-fications, il est nécessaire de re-parcourir la chaine com-plète et d’observer le résultat final. Généralement les algo-rithmes ont besoin d’un grand nombre de paramètres pourpouvoir s’adapter à plusieurs situations. Cela entraîne sou-vent une difficulté de paramétrage : les ajustements proposésà l’utilisateur sont tellement nombreux qu’il peut être diffi-cile de trouver la bonne combinaison.

Page 3: Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

Nicolas Mellado et Patrick Reuter et Christophe Schlick / Assemblage d’objets 3D Semi-Automatique en Archéologie

2.4. Systèmes de résolution de puzzles 3darchéologiques

La plupart des solutions proposées dans la littérature pourcette problématique sont basées sur des approches automa-tiques. Certaines méthodes sont plutôt orientées pour deséléments de faible taille, comme celle de Willis [WOC03]spécialisée pour les éléments conçus comme des surfacesde révolution. Brown et al. proposent dans [BTFN∗08] uneméthode pour la reconstruction de fresques, permettant uneréduction du problème par des approches 2.5D. Huang etal. [HFG∗06] proposent quant à eux une solution de ré-assemblage complet d’objets statutaires, basée sur une pré-segmentation pour détecter des faces, une association desfragments deux à deux, puis une résolution globale pourtoutes les relations d’adjacence.

Cette technique est améliorée dans [TFK∗09] pour per-mettre la reconstruction partielle d’un temple, en ajoutantdes notions de contraintes sur les associations de fragmentsen fonction de motifs et de moulures. L’approche automa-tique assistée présentée dans [DKL05] pour reconstruire unplan de Rome gravée sur du marbre est aussi basée sur laprolongation de lignes d’un fragment à l’autre.

Toutes ces méthodes sont fonctionnelles sur des jeux dedonnées restreints car elles n’exploitent pas ou peu les con-naissances des archéologues, contrairement aux approchessemi-automatiques que nous présentons ensuite.

3. Notre système semi­automatique

3.1. Interface Manuelle : ArcheoTUI

Notre système est construit autour de l’interface manuelled’assemblage d’objets archéologiques par des interfacestangibles ArcheoTUI [RRC∗07], qui permet à l’utilisateurd’assembler virtuellement des fragments deux à deux en vuede recomposer un objet global.

Le système est basé sur des interfaces tangibles à six de-grés de liberté (éléments (1) et (2) sur la figure 2) auxquellessont virtuellement associés les fragments scannés (éléments(5) et (6) sur la figure 2). Les mouvements que l’utilisateurapplique à ces interfaces sont appliqués aux fragments pourpermettre une correspondance directe entre les gestes réal-isés par l’utilisateur et le positionnement des objets virtuels.

Afin de proposer une solution semi-automatique en tempsréel, nous avons intégré dans ce système d’assemblagemanuel des algorithmes d’assemblage et les structures as-sociées selon le schéma global suivant :

• Pré­calculs : lorsque le modèle est chargé dans la scène,toutes les structures de données statiques nécessaires auré-assemblage sont générées,

• Recalage : à chaque déplacement des objets, l’assistanceest sollicitée pour recalculer une configurationd’assemblage supposée localement optimale. C’est

Figure 2: Interface du programme ArcheoTUI.

durant son exécution que sont calculées les transforma-tions supplémentaires à appliquer aux objets pour lesmettre en correspondance. Si la correspondance n’estpas possible, aucune transformation n’est calculée. Celapeut se produire si les objets sont trop éloignés, ou noncompatibles localement.

3.2. Algorithme de recalage

Notre système d’assemblage a pour base l’ICP, algorithmeitératif permettant de calculer les transformations rigidequi minimisent l’erreur entre deux ensembles de données.Chaque itération consiste à sélectionner les données àutiliser, apparier les éléments des deux ensembles, pondérerces paires, calculer la distance entre les deux sous-ensemblessélectionnés et enfin calculer les transformations rigides.

Cette conception modulaire fait de l’ICP un algorithmeadaptable, que nous avons modifié comme suit :

• Détection de zone d’intérêt : cette phase permet de sélec-tionner un sous-ensemble pour chaque nuage de pointsreprésentant la zone utile au recalage en considérant desintersections entre des hiérarchies de sphères englobantes.

• Sélection des paires : il s’agit d’associer à chaque pointd’un ensemble son homologue le plus proche dans l’autreensemble,

• Pondération et rejet des paires : nous réalisons unepondération en fonction de la distance et de la compati-bilité des normales entre les deux points de chaque paire.Positionner une pondération à 0 revient à rejeter la paire,

• Minimisation de l’erreur : cette phase revient à calculerune transformation rigide qui minimise la distance entreles points des paires sélectionnées telle que définie dans[BM92].

3.3. Interaction avec l’utilisateur

Il est nécessaire que les actions de l’utilisateur aient une in-fluence sur les données d’entrée des algorithmes, donc po-tentiellement leur sortie. Dans notre contexte d’application,

Page 4: Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

Nicolas Mellado et Patrick Reuter et Christophe Schlick / Assemblage d’objets 3D Semi-Automatique en Archéologie

Figure 3: Affichage en transparence de la positiond’assemblage supposée localement optimale calculée.

l’influence de la position initiale sur le module de re-calage est très importante. Comme nous sommes dansun contexte temps réel, il est nécessaire que les calculssoient effectués après chaque mouvement des pièces. Ainsi,lorsque l’utilisateur utilise l’une des interfaces tangibles,le système applique la transformation, calcule une positiond’assemblage supposée localement optimale et affiche les in-formations de sortie.

L’utilisateur est considéré comme le �décideur� du sys-tème. Ainsi, toutes les actions effectuées par l’assistancesont visualisables et sont appliquées uniquement sil’utilisateur le décide. Plusieurs informations peuvent êtreutiles à l’utilisateur pour essayer d’affiner un positionnementaprès exécution de l’algorithme d’assemblage. Voici cellesque nous avons retenues pendant notre développement.

Position calculée : nous affichons l’objet dans la positionsupposée localement optimale calculée par l’algorithmeen transparence dans la scène. Cela permet de visualiseren plus des deux positions des objets, un objet recallé,et ainsi de conserver la métaphore interface tangible etfragment virtuel, et enfin de visualiser graphiquement lasortie de l’algorithme (voir figures 3 et 11 en annexe).

Erreur de sortie : l’erreur mesurée (somme des distancesintra-paires au carré) est le critère d’arrêt et d’applicationde l’algorithme d’assemblage. L’affichage de la dernièrevaleur calculée indique à l’utilisateur la pertinence de laposition proposée par le système.

4. Approche temps réel

Cette section présente les algorithmes et les structures dedonnées utilisées pour d’une part améliorer la qualité desdonnées d’entrée, et d’autre part diminuer la quantité de don-nées retenues, afin accélérer les calculs. On entend par qual-ité le fait qu’une donnée soit exploitable et n’introduise pasd’erreur dans les calculs de minimisation.

Dans sa version originale, l’ICP utilise la totalité despoints des deux objets pour effectuer le recalage : les deuxnuages de points représentent la même surface. Dans le casde l’assemblage de fragments, il est important de ne consi-dérer que les points des deux objets qui sont dans la zone decontact : les paires contenant des points hors de cette zonesont forcement invalides et induisent une erreur.

L’autre problématique à prendre en compte concerne lemodule de création des paires par recherche du point leplus proche. Il est bien souvent le goulet d’étranglement del’algorithme, quelles que soient les variantes ou les struc-tures de données utilisées. C’est pour réduire le temps passédans ce module que nous avons mis au point un module desélection de zone d’intérêt, qui permet de diminuer le nom-bre de points à traiter en fonction des positions initiales desfragments.

Il est important de noter que l’utilisation de structuresde données et d’algorithmes en vue d’accélérer la vitessed’exécution doit être totalement transparente sur la qualitédes données arrivant à l’étape finale de la minimisation. Ilconvient donc d’utiliser des algorithmes et des structures ac-célératrices plus permissifs que les algorithmes de sélectiondes données (pondération et rejet en fonction des normaleset des distances).

4.1. Recherche de zone d’intérêt

L’objectif du module de détection de zone d’intérêt est detrouver la zone de chaque objet exploitable pour calculerle recalage. Pour ce faire, nous utilisons une hiérarchie desphères englobantes pour réaliser des tests de proximité en-tre les deux nuages de points. La recherche est basée surl’hypothèse suivante : les points contenus dans deux sphèresqui s’intersectent sont au plus distants de la somme des dia-mètres des sphères englobantes.

Cette approche ne permet pas à elle seule de garantir desélectionner tous les points dont la distance d est inférieureà un seuil dT . Dans le cas où des points sont positionnésproches de la limite de leur sphère englobante, ils peuventêtre proches des points de l’autre objet sans que les sphèress’intersectent (voir figure 4 où D1< dT ). Pour corriger cela,nous utilisons l’équation d’intersection des sphères (1) quipermet d’assurer cette distance minimale (on note Ru et R

�v

les rayons des sphères englobantes, et duv la distance entreles deux centres).

duv ≤ Ru +R�v +dT (1)

En pratique, cela revient à gonfler le rayon des sphères d’unedistance dT

2 , comme visible à la figure 4. Cette technique estassociée à un rejet des paires dont la distance entre les pointsest supérieure au seuil.

Rechercher les zones d’intérêt des modèles revient à trou-ver les sphères qui intersectent les sphères de l’autre ob-jet. On effectue pour cela une descente en escalier dans

Page 5: Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

Nicolas Mellado et Patrick Reuter et Christophe Schlick / Assemblage d’objets 3D Semi-Automatique en Archéologie

Figure 4: Configuration illustrant l’importanced’augmentation de la taille des sphères pour garantirla sélection de tous les points en fonction d’une distanceseuil.

les graphes : on réduit d’un niveau successivement dansun objet puis dans l’autre, et les sphères englobantes quin’intersectent pas avec l’autre modèle sont mises de coté.L’arrêt s’effectue lorsque toutes les sphères sélectionnéessont des feuilles du graphe, ou lorsque l’on atteint un seuillimite k, que l’on précisera par la suite.

4.2. Optimisation de la création des paires de points

Pour accélérer la recherche du point le plus proche, qui estnécessaire pour l’ICP, la hierarchie de sphère englobante estaugmentée par un kD-tree. En utilisant cette structure mixte,on réduit la complexité maximale de l’algorithme deO�n2) àO�ns log�n)) où ns est le nombre de points sélectionnés lorsde la recherche de zone d’intérêt du premier objet, et n lenombre de points du second.Il est possible de réduire encoredavantage la complexité globale en modifiant les interactionsentre les deux modules, comme suit.

L’algorithme de zone d’intérêt réalise des testsd’intersection entre les sphères englobantes. Les sphèresdans lesquelles se trouvent les points les plus proches dusecond objet sont connues dès cette étape : ce sont cellesavec lesquelles il y a intersection (figure 5). Si l’on sauve-

Figure 5: Réduction du sous-ensemble contenant le point leplus proche : les voisins des points présents dans la sphèreA sont forcément soit dans la sphère 2 soit dans la sphère 3.

garde pour une sphère donnée toutes celles de l’autre objetavec laquelle elle intersecte, on peut s’en servir commepoint d’entrée dans le kD-tree pour la recherche du point leplus proche.

Pour trouver les sphères qui s’intersectent, il est néces-saire de tester toutes les sphères entre elles. L’algorithme derecherche passe donc à une complexité deO�m2), oùm est le

nombre de sphères sélectionnées. L’algorithme de recherchedu point le plus proche passe ensuite en temps constant : onne sélectionne que des feuilles lors de la recherche de zoned’intérêt.

Dans notre domaine d’application, le pourcentage de re-couvrement ρ entre les objets deux à deux est supposé re-lativement faible : il y a contact par une ou plusieurs faces,mais pas la totalité. Le nombre de sphères sélectionnées mdépend de ce pourcentage, selon la relation suivante :

m = ρ∗n

�(2)

où � est le nombre de points présents dans une feuille dugraphe. On peut donc obtenir un ordre de grandeur de m enfonction de ρ :

ρ→ 0% : m� n⇒ m2 ≤ n log�n)

ρ→ 100% : m→ n⇒ m2� n log�n)(3)

On voit donc qu’en fonction du recouvrement, il peut êtrepréférable d’utiliser soit les sphères comme point d’entrée aukD-tree (ρ→ 0%), soit le noeud père du graphe (ρ→ 100%).

Il est possible de paramétrer la transition entre lesdeux variantes en jouant sur une profondeur limite k dansl’algorithme de recherche de zone d’intérêt (où Kmax est laprofondeur maximum du graphe pour un modèle) :

• k = 0 : on prend directement la racine du graphe : aucunrejet de sphère. On recherche donc le point le plus prochepour tous les points (ρ = 100%),

• k = Kmax : rejet maximal des sphères dépendant du modè-le (ρ = ρm),

5. Pondération

5.1. Pondération par distance

La sélection des points par la hiérarchie de sphères en-globantes garantit de sélectionner tous les points dont la dis-tance de la paire potentielle est inférieure à un seuil dT ma-joré des rayons Ru et Rv des sphères englobantes de chaquepoint (équation 1). Effectuer une pondération par seuillagepour rejeter les paires dont la distance d est supérieure à dTinduit une discontinuité sur la sélection des paires par rap-port aux mouvements des objets. En effet, une paire dont ladistance est proche du seuil peut, pour de faibles variationsdes transformations géométriques appliquées aux objets, êtretantôt sélectionnée tantôt rejetée. Ainsi, malgré une faibledifférence de position initiale, cette paire introduit une er-reur importante pouvant entraîner une importante différencesur les transformations générées.

Pour s’assurer d’utiliser une fonction continue surl’intervalle [0;1] tout en diminuant au maximum le tempsde calcul, la pondération de la distance intra-paire d estréalisée par une projection des distances normalisées dansl’approximation gaussienne polynomiale présentée dans[Wen95] de continuité C1 :

Page 6: Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

Nicolas Mellado et Patrick Reuter et Christophe Schlick / Assemblage d’objets 3D Semi-Automatique en Archéologie

fd�d) =

��ddT

�2−1

�2si 0≤ d ≤ dT

fd�d) = 0 sinon

(4)

5.2. Pondération par compatibilité des normales

Dans certaines configurations, il arrive que des pointsprésents dans la zone d’intérêt définie en fonction de la dis-tance ne fassent pas réellement partie de la surface de contactfinale. La figure 6 illustre l’une de ces configurations, danslaquelle les paires n’appartenant pas à la tranche de l’objetont une influence très grande dans le calcul. En effet, leurdistance intra-paire est très faible, on peut donc penser queleur pondération sera nettement plus favorable que la ma-jorité des paires de la tranche. Leur influence aura tendanceà rapprocher les deux centres de gravité des deux ensemblesde points, et ainsi bloquer le processus de minimisation.

Figure 6: Deux cas pour lesquels tester la compatibilité desnormales permet de détecter les paires qui ont été sélection-ner grâce à une faible distance entre leur point mais qui nefont pas réellement partie de la zone d’assemblage.

L’utilisation de la pondération en fonction de la cohérencedes normales permet dans ce cas de figure de rejeter toutesles paires n’appartenant pas à la tranche : leurs normales onttendance à être colinéaires de même sens, alors que les nor-males des paires de la tranche ont tendance à être opposées.

Tout comme pour la pondération en fonction de la dis-tance, nous utilisons une approximation gaussienne pour ré-duire les discontinuités de sélection des paires . L’entrée uti-lisée pour le seuillage devant être un scalaire, nous utilisonscomme variable d’entrée le produit scalaire entre les nor-

males −→ni et−→n�j .

On souhaite conserver uniquement les paires dont le pro-duit scalaire est compris dans l’intervalle [−1;−nT ]. Encombinant l’approximation gaussienne et une fonction deprojection de l’intervalle [−1;−nT ] à l’intervalle [0;1], onobtient la fonction fn :

fn�−�ni �−�n�j ) =

�1+−�ni ∙−�

n�j1−nT

�2

− 1

2

pour −1≤−→ni ∙−→n�j ≤−nT

fn�−→ni �

−→n�j ) = 0 sinon

(5)

5.3. Pondération bi­variée

Notre système dispose de deux critères de pondération qu’ilconvient d’assembler pour réaliser une pondération efficace

des paires. Comme on considère qu’une paire est valideuniquement si elle passe les deux filtres, et pour permettreà l’utilisateur de privilégier un type de seuillage par rapportà un autre, on peut utiliser un coefficient d’influence α asso-cié aux équations (4) et (5) telles que :

• Si 0≤ di ≤ dT ET −1≤−→ni ∙−→n�j ≤ nT

B f �di�−→ni �−→n�j �α) =

e

α

fd �di)

∗ e

1−α

fn

�−�ni �

−�

n�j

e�−1)(6)

• Sinon

Bf �di�−→ni �−→n�j �α) = 0

C’est le facteur α qui est accessible à l’utilisateur : unevaleur faible favorise la pondération par la distance et unevaleur élevée la pondération en fonction des normales. Lefait d’avoir lié les deux facteurs d’influence permet d’assurerune symétrie entre les deux pondérations (comme visible àla figure 7). Nous avons gardé la possibilité de débrayer cesystème en laissant la possibilité à l’utilisateur de ne choisirqu’une seule pondération.

Figure 7: La variation du paramètre α permet de favoriserl’influence d’une propriété. De gauche à droite : on favorisela pondération par le produit scalaire �α = 0.9), influenceéquiprobable �α = 0.5), on favorise la pondération par ladistance �α = 0.1).

6. Résultats expérimentaux

6.1. Protocole

Cette section présente les résultats des tests que nous avonsfait passer au système pour évaluer ses capacités, aveccomme processeur un Intel Pentium4 à 3.0Ghz et un sys-tème d’exploitation Linux. Pour cela, nous avons considérétrois scènes aux propriétés différentes :

Head Cette scène est constituée de deux fragments issus desmodèles utilisés par Huang et al. dans [HFG∗06], sous-échantillonnés environ d’un facteur 10 pour produire unescène légère.

Brick Cette scène est constituée de trois fragments euxaussi issus des modèles utilisés par Huang et al. dans[HFG∗06], sous-échantillonnés environ d’un facteur 5pour produire une scène plus lourde que Head. Deux frag-ments sont déjà assemblés et le test consiste à procéder àl’ajustement d’un troisième.

Page 7: Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

Nicolas Mellado et Patrick Reuter et Christophe Schlick / Assemblage d’objets 3D Semi-Automatique en Archéologie

Fractal Cette scène est constituée de données totalementsynthétiques générées à partir d’un algorithme fractal. Lesdeux objets sont strictement identiques et se recoupentcomplètement.

Recouvrement

Scène Nb Sommets % Nb Sommets

Head ≈ 24000 ≈ 5% ≈ 1200Brick ≈ 93000 ≈ 10% ≈ 9300

Fractal ≈ 33000 100% ≈ 33000

Figure 8: Propriétés des trois scènes de test.

6.2. Analyse de la sélection des points et de la créationdes paires

Nous avons expérimenté plusieurs valeurs de profondeurde graphe limite k pour la recherche de zone d’intérêtafin de tester son influence sur les performances réelles del’algorithme. La valeur maximale 1000 permet d’atteindretoutes les feuilles du graphe pour chaque modèle. Les résul-tats sont présentés à la figure 9. Le pourcentage de tempspassé dans cette première phase est d’autant plus importantque k est grand pour tous les modèles.

On peux cependant distinguer deux comportementsen analysant les variations du temps d’exécution del’algorithme. Pour les deux premiers modèles, Head etBrick, le temps d’exécution diminue d’autant plus que larecherche de zone d’intérêt est réalisée en profondeur. Lesfaibles taux de recouvrement des objets entrainent un pas-sage dans la première situation de l’équation (3) : m� n,avec une complexité critique de n log�n) pour la création despaires. Pour le troisième modèle Fractal, le taux recouvre-ment maximal entraine un comportement inverse. En effet,la complexité théorique est de l’ordre m2 avec m→ n, onobtient donc une courbe strictement croissante en fonctionde k.

L’utilisation de la variante consistant à utiliser les sphèrescomme point d’entrée dans le graphe pour la création despaires permet d’éviter la forte augmentation du temps de cal-cul lorsque l’on passe dans le cas 2 de l’équation (3) pour letroisième modèle.

6.3. Influence de la pondération

Les paires ont une double influence sur la convergence del’ICP : elles sont utilisées d’une part pour calculer la minimi-sation, et d’autre part pour calculer l’erreur, critère d’arrêtde l’algorithme, indiquant la pertinence de cette minimisa-tion. Si ces paires introduisent une erreur, la valeur d’erreurmesurée et donc le test d’arrêt de l’algorithme ne sont plusfiables.

Ainsi, comparer la convergence pour plusieurs pondéra-tions ne signifie pas grand chose : il est possible de con-verger dans plusieurs configurations, sans que le résultat

Figure 9: Évolution du temps de calcul �en millisecon-des) en fonction de la profondeur maximale autorisée dansl’algorithme de recherche de zone d’intérêt. De haut en bas,modèles Head, Brick et Fractal.

ne soit valide pour l’archéologue. L’analyse quantitative del’influence de la pondération sur l’ICP nécessite la mise aupoint d’une mesure d’erreur indépendante de l’ICP, prenanten compte la géométrie globale et locale des objets.

On peux cependant noter que pour les modèles Head etBrick, l’utilisation de la pondération par les normales a ten-dance à réduire le nombre de cas où l’ICP entraine un posi-tionnement contenant des intersections entre les modèles.

7. Discussion et travaux futurs

Le travail réalisé pour ce papier a permis de mettre en placeun système semi-automatique d’assemblage de fragmentsorienté manuel assisté.

L’assemblage de fragments est une problématique sou-vent abordée par des approches automatiques : l’utilisateurtransmet au système un ensemble de fragments et celui-cise charge de réaliser la reconstruction. Ces approches ontle défaut de ne pas prendre en compte les connaissancesa priori de l’utilisateur pour orienter la résolution. C’estdans cette optique que nous avons exploité une approchesemi-automatique, permettant d’associer les compétences del’utilisateur et les capacités de calcul du système.

Notre approche est basé sur l’algorithme de recalage ICP[BM92]. De nombreuses variantes de cet algorithme exis-tent déjà : sa conception modulaire est propice à la créationde variations dont nous nous sommes inspiré pour proposerdeux nouvelles approches.

La première approche est la recherche de zone d’intérêt,basée sur l’exploitation d’une hiérarchie de sphères en-globantes combinée à un kD-tree. L’assemblage de frag-

Page 8: Assemblage d'objets 3D SemiAutomatique basé géométrie en Archéologie

Nicolas Mellado et Patrick Reuter et Christophe Schlick / Assemblage d’objets 3D Semi-Automatique en Archéologie

ments est un contexte très propice à cette recherche car lamajorité des données définissant un fragment ne sont pasutiles pour chaque association. Cette approche conserva-trice peut néanmoins être utilisée pour l’application orig-inelle de l’ICP : le recalage de surface. De plus, la recherchedu plus proche voisin étant accélérée par le kD-tree, nousproposons deux variantes d’interaction entre la recherche dezone d’intérêt et la recherche du point le plus proche pouroptimiser l’une des deux étapes en fonction des caractéris-tiques des fragments.

La seconde approche consiste à considérer les nor-males aux points et la distance pour calculer une pondéra-tion bi-facteur des paires. Celle-ci est calculée à partird’approximations gaussiennes [Wen95] pour chaque attributcombiné pour produire une fonction de pondération dériva-ble. Cette propriété est très importante car elle permet desupprimer les discontinuités sur les variations des donnéesd’entrée en fonction du temps, et par conséquent sur les sor-ties de l’algorithme. Le fait de combiner plusieurs informa-tions pour calculer la pondération permet d’augmenter la ro-bustesse de l’algorithme. Il est ainsi tout à fait envisageabled’acquérir de nouveaux attributs sur la surface des objets etde s’en servir pour orienter les calculs.

Le système ainsi produit permet d’effectuer des assem-blages de fragments en temps réel pour des scènes dontle nombre de points dans la surface de recouvrement nedépasse pas 1200 points. Sa conception modulaire permetde tester de nouvelles techniques tout en bénéficiant del’approche semi-automatique lors de travaux futurs.

La limitation actuelle du système est liée en grande partieau contexte d’application et au type d’algorithmes choisi :l’ICP permet de considérer uniquement des données locales.L’assemblage de fragments nécessite de prendre en comptela géométrique globale des objets pour être réellement ef-ficace. Dans la même logique, l’erreur calculée en fonc-tion des distances intra-paires pose problème : sa concep-tion purement locale empêche la détection d’incompatibilitéentre les objets à une échelle plus globale.

Dans les travaux futurs, nous nous focalisons sur lamise au point d’une métrique plus pertinente permettantde proposer des solutions vraisemblablement plus fiablesque l’utilisateur peut juger de manière objective et quiaméliore donc considérablement l’efficacité du systèmesemi-automatique.

References

[BDTK07] BLERIM M., DAVCEV D., TRJAKOVIK V., KALA-

JDZISKI L.: Spherical mapping : a powerful tool for 3d object

matching. In Proc. SETIT 2007 (2007).

[BL95] BLAIS G., LEVINE M. D.: Registering multiview range

data to create 3d computer objects. IEEE Transactions on Pattern

Analysis and Machine Intelligence 17 (1995), 820–824.

[BM92] BESL P., MCKAY N.: A method for registration of 3-

d shapes. IEEE Transactions on Pattern Analysis and Machine

Intelligence 14, 2 (1992), 239–256.

[BS97] BENJEMAA R., SCHMITT F.: Fast global registration of

3d sampled surfaces using a multi-z-buffer technique. In Image

and Vision Computing (1997), pp. 113–120.

[BTFN∗08] BROWN B. J., TOLER-FRANKLIN C., NEHAB D.,

BURNS M., DOBKIN D., VLACHOPOULOS A., DOUMAS C.,RUSINKIEWICZ S., WEYRICH T.: A system for high-volume

acquisition and matching of fresco fragments: Reassembling

Theran wall paintings. ACM Transactions on Graphics �Proc.

SIGGRAPH) 27, 3 (Aug. 2008).

[CM91] CHEN Y., MEDIONI G.: Object modelling by regis-

tration of multiple range images. Image Vision Comput. 10, 3

(1991), 145–155.

[DKL05] DAVID KOLLER JENNIFER TRIMBLE T. N. N. G.,

LEVOY M.: Fragments of the city: Stanford’s digital forma urbis

romae project. In Proceedings of the Third Williams Symposium

on Classical Architecture (2005).

[GRB94] GODIN G., RIOUX M., BARIBEAU R.: Three-

dimensional registration using range and intensity information.

El-Hakim S. F., (Ed.), vol. 2350, SPIE, pp. 279–290.

[HFG∗06] HUANG Q.-X., FLÖRY S., GELFAND N., HOFER M.,

POTTMANN H.: Reassembling fractured objects by geometric

matching. ACM Trans. Graphics 25, 3 (2006), 569–578.

[RHHL02] RUSINKIEWICZ S., HALL-HOLT O., LEVOY M.:

Real-time 3D model acquisition. ACM Transactions on Graphics

�Proc. SIGGRAPH) 21, 3 (July 2002), 438–446.

[RL01] RUSINKIEWICZ S., LEVOY M.: Efficient variants of the

icp algorithm. In Proceedings of the Third Intl. Conf. on 3D Dig-

ital Imaging and Modeling (2001), pp. 145–152.

[RRC∗07] REUTER P., RIVIERE G., COUTURE N., SORRAING

N., ESPINASSE L., VERGNIEUX R.: A tangible user interface

for the virtual reassembly of fractured archeological objects. In

Proceedings of VAST 2007 (2007), Eurographics.

[SDG07] SYNAVE R., DESBARATS P., GUEORGUIEVA S.: Au-

tomated trimmed iterative closest point algorithm. In Advances

in Visual Computing (2007), vol. 4842 of LNCS, Springer.

[Sim96] SIMON D.: Fast and Accurate Shape-Based Registra-

tion. PhD thesis, Robotics Institute, Carnegie Mellon University,

Pittsburgh, PA, December 1996.

[TFK∗09] THUSWALDNER B., FLÖRY S., KALASEK R., HOFER

M., HUANG Q.-X., THÜR H.: Digital anastylosis of the octagon

in ephesos. J. Comput. Cult. Herit. 2, 1 (2009), 1–27.

[WCW06] WANG D., CUI C., WU Z.: Matching 3d models with

global geometric feature map. pp. 4 pp.+.

[Wen95] WENDLAND H.: Piecewise polynomial, positive defi-

nite and compactly supported radial functions of minimal degree.

Adv. Comput. Math. 4 no. 4 (1995), 389–396.

[WOC03] WILLIS A., ORRIOLS X., COOPER D. B.: Accurately

estimating sherd 3d surface geometry with application to pot re-

construction. Computer Vision and Pattern Recognition Work-

shop 1 (2003), 5.