Reconstruction d'un nuage de points 3D étant donné un modèle CAO a priori
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Reconstruction d’un nuage de points 3D étant donné un modèle CAO a priori Aurélien BEY1,2,3 Raphaëlle CHAINE1,2 Raphaël MARC3 Guillaume THIBAULT3,4 Université de Lyon, CNRS 1 Université Lyon 1, LIRIS, UMR5205, F-69622, France 2 3 Électricité De France Recherche & Développement, F-92140, France 4 CNRS, Laboratoire de Physiologie de la Perception et de l’Action, UMR7152, F-75231, France Bâtiment Nautibus, 23-25 Avenue Pierre de Coubertin, F-69622 Villeurbanne Cedex aurelien.bey@liris.cnrs.fr Résumé exploration of the solution space, based on the random in- Nous abordons dans cet article le problème de la recons- sertion of elements in the configuration under construction, truction de modèles CAO à partir de nuages de points ac- coupled with a greedy management of the conflicts which quis en environnement industriel, en nous appuyant sur des efficiently improves the configuration at each step. We show modèles 3D préexistants ainsi que sur des connaissances that this approach provides reliable reconstructed 3D mo- métier quant à la composition des environnements traités. dels by presenting some results on industrial data sets. Ces diverses connaissances a priori peuvent être utilisées Keywords pour guider la reconstruction afin d’obtenir des modèles CAO fiables correspondant aux nuages de points. Nous Point cloud, CAD model, prior knowledge concentrons plus particulièrement notre travail sur le trai- tement des parties cylindriques. Nous proposons de formu- 1 Introduction ler le problème de la reconstruction comme la recherche 1.1 Contexte de la configuration la plus probable vis-à-vis de multiples contraintes. Le problème d’optimisation ainsi défini est ré- Les modèles 3D d’installations industrielles telles que les solu à l’aide d’une méthode d’exploration stochastique de centrales électriques, raffineries ou usines pharmaceutiques l’espace des solutions, basée sur l’ajout d’éléments dans la servent à différentes fins : la simulation d’opérations de configuration en cours de construction et la gestion glou- maintenance, la formation, la radioprotection etc. Certaines tonne des conflits pouvant survenir, de manière à améliorer de ces applications nécessitent de disposer de modèles 3D efficacement la configuration à chaque étape. Nous mon- décrivant précisément l’état réel des scènes qu’ils repré- trons que la méthode proposée permet la reconstruction de sentent (précision de l’ordre du centimètre). De tels mo- modèles fiables en présentant quelques résultats obtenus dèles sont nommés modèles "Tel Que Construit" (TQC), et sur une scène industrielle. sont habituellement produits à partir de nuages de points issus de relevés laser sur site. Mots Clef Nous nous intéressons dans nos travaux aux modèles Nuage de points, modèle CAO, connaissance a priori CAO décrits comme des assemblages de primitives géo- métriques simples telles que les plans, cônes, cylindres et Abstract tores. Chacune de ces primitives est un objet géométrique We address the reconstruction of 3D CAD models from entièrement caractérisé par une position et une orientation, point cloud data acquired in industrial environments, using ainsi qu’un certain nombre de paramètres géométriques a pre-existing 3D model as an initial estimate of the scene inhérents au type de la primitive. to be processed, as well as some expert knowledge about this scene. Indeed, this prior knowledge can be used to En plus du nuage de points P, nous considérons que nous drive the reconstruction so as to generate a reliable 3D disposons d’un modèle CAO a priori M0 . Alors que le model matching the point cloud. We more particularly fo- nuage de points définit les observations, et donc l’état cus our work on the cylindrical parts of the 3D models. We réel de la scène à traiter, le modèle a priori représente state the problem in a probabilistic framework : we have to l’état théorique de l’installation : il s’agit d’une estimation search for the 3D model which maximizes some probability grossière de la solution que l’on cherche à reconstruire taking several constraints into account. The resulting opti- (cf. Figure 1a). Il peut exister des différences significatives mization problem can then be handled using a stochastic entre M0 et l’état réel de la scène représentée par P :
(a) Nuage de points P et (b) Modèle reconstruit X (c) Segmentation fournie par (d) Segmentation fournie par modèle a priori M0 notre approche RANSAC F IGURE 1 – Résultats de la reconstruction sur un jeu de données industriel. Le modèle a priori (en gris dans la Figure (a)) contient 626 primitives, dont 391 cylindres, et présente quelques différences évidentes avec le nuage de points (en rouge : 990323 points). La plupart des cylindres de l’a priori n’ont aucune correspondance dans le nuage de points. La configuration calculée (en gris dans la Figure (b)) contient 68 cylindres, et la segmentation associée et présentée en Figure (c) : chaque segment y est coloré aléatoirement. Ces résultats peuvent être comparés à ceux de l’algorithme de [13] présenté en Figure (d). certains éléments peuvent être déplacés, réorientés, voire biliste du problème de reconstruction étant données des même déformés. De plus, certains composants peuvent connaissances a priori, ainsi que la mise en place d’une être absents ou dupliqués d’une scène à l’autre. nouvelle méthode permettant de résoudre le problème Concernant la provenance du modèle a priori, il peut par d’optimisation ainsi posé. Notre démarche repose sur l’uti- exemple s’agir d’une représentation générique du site à lisation du modèle disponible pour guider la reconstruc- traiter (modèle 3D décrivant une centrale électrique type), tion, et permet d’assurer la consistance du modèle CAO ou de la reconstruction TQC d’un autre site semblable. reconstruit. Non seulement le résultat s’ajuste bien sur le nuage de points, mais il est aussi pertinent vis-à-vis des Dans cet article, nous nous intéressons plus particulière- contraintes d’assemblage que l’on se donne et sa ressem- ment au traitement des cylindres, puisqu’ils représentent blance au modèle a priori peut en outre être assurée. une part importante des composants industriels. C’est par exemple le cas des lignes de tuyauterie, des cuves, 1.2 État de l’art de certaines machineries, etc. De plus, les cylindres À notre connaissance, les travaux de [2] sont les seuls correctement détectés pourront par la suite être utilisés proposant d’utiliser un modèle CAO a priori en tant comme contraintes pour permettre la reconstruction fiable qu’estimation initiale du nuage de points que l’on souhaite des tores et cônes, qui quant à eux servent essentiellement reconstruire. L’auteur propose de recaler individuellement à décrire les composants de transitions (coudes et réduc- les éléments du modèle en utilisant l’algorithme ICP. teurs) dans les tuyauteries. Toutefois, cet algorithme est connu pour ne fournir de résultats satisfaisants que lorsque les données à recaler sont Ainsi, étant donnés P et M0 , nous cherchons à construire initialement très proches l’une de l’autre. Cette approche un modèle CAO X à base de cylindres, tel que : ne peut donc pas traiter de changements significatifs. – X s’ajuste bien sur le nuage de points – chaque cylindre de X correspond bien à un cylindre de Les auteurs de [12] utilisent aussi des informations M0 . Nous considérons en effet que, pour fournir des ré- a priori, telles que les tailles de fenêtres, pour segmenter sultats fiables, les cylindres détectés doivent être validés les façades de bâtiments, mais ces travaux sont très par mise en correspondance avec les éléments de M0 spécifiques au problème du traitement de façades, bien que – X est consistant : les connexions entre éléments doivent certaines idées intéressantes puissent être utilisées dans être pertinentes vis-à-vis des règles métier d’assemblage un contexte différent. D’autre part, il existe de nombreux des composants. Ces contraintes d’assemblage font donc travaux traitant de la reconstruction de nuages de points partie des connaissances a priori dont on dispose au su- à partir d’a priori [10, 7, 6], mais ceux-ci abordent la jet de la scène traitée, au même titre que le modèle M0 . reconstruction de maillages surfaciques alors que nous Nos principales contributions sont la formulation proba- nous intéressons à la reconstruction de modèles par assem-
blage de primitives géométriques, permettant d’obtenir sons pour cela un nouvel algorithme d’optimisation itératif une représentation de la scène plus adaptée à nos besoins. basé sur l’exploration stochastique de l’espace des solu- tions (cf. Section 3.1). À chaque étape, un cylindre candidat En matière de reconnaissance de formes, deux approches est généré aléatoirement puis on tente de l’insérer dans la sont très utilisées : les Transformées de Hough Générali- configuration en cours de construction. Comme cette inser- sées (THG) et l’algorithme RANdom SAmple Consensus tion est susceptible de diminuer la probabilité de la confi- (RANSAC). guration courante, nous proposons un algorithme de ges- Les THG sont des méthodes à base de vote : chaque point tion de conflits avec les cylindres déjà détectés : le cylindre du nuage s’exprime en faveur d’un ensemble de formes candidat n’est accepté que s’il est en mesure d’augmenter dans un espace paramétrique discrétisé. Les formes dont la probabilité de la configuration après qu’il y ait été inséré la description paramétrique correspond à un pic de votes et que les conflits aient été supprimés. Nous présentons de sont alors validées et considérées comme reconnues dans plus un algorithme de génération de cylindres favorisant le nuage de points. Le principal inconvénient de cette mé- l’apparition de formes pertinentes au regard du nuage de thode, lorsqu’elle est appliquée telle quelle, est sa com- points et du modèle a priori (cf. Section 3.2). plexité prohibitive, puisqu’elle requiert le parcours de l’es- pace paramétrique (5 dimensions pour le cylindre, par 2 Une approche probabiliste exemple) pour chaque vote. Cette complexité peut être 2.1 Introduction aux données et notations significativement amoindrie dans le cas du cylindre, en On se donne P = (p0 , n0 ) , . . . , pn−1 , nn−1 un considérant successivement différents paramètres, permet- nuage de points représentantl’état réel de l’installation à tant ainsi de séparer le problème en THG de dimensions traiter. Chaque paire pj , nj ∈ P contient un point pj inférieures [11]. Cette méthode semble fournir des résul- ainsi que le vecteur normal nj qui lui est associé, pou- tats intéressants, mais la détection de cylindres de tailles vant être fourni avec les données d’acquisition ou cal- variées dans de grandes scènes reste problématique. culé à l’aide d’ajustement de plans locaux [9]. Le modèle L’algorithme RANSAC [5] quant à lui propose une mé- CAO a priori M0 = C 0 , . . . , C m−1 est un ensemble thode stochastique, dans laquelle des ensembles minimaux de primitives parmi lesquelles nous ne considérons que de points sont tirés aléatoirement, et des formes candi- les cylindres droits. Nous considérons que chaque C évo- dates sont générées à partir de ces ensembles minimaux. qué dans cet article est tronqué et défini par son centre Si le tirage des points au sein du nuage est effectué de de masse cC , la direction de son axe aC , son rayon rC et manière purement uniforme, la grande majorité des formes sa longueur lC . Nous cherchons à trouver la configuration candidates construites ne sera pas pertinente, et le nombre X = {C0 , . . . , Cx−1 } la plus probable, composée unique- de tentatives nécessaires à la reconnaissance d’une forme ment de cylindres Cj . peut être énorme. Dans [13], les auteurs proposent une mé- thode astucieuse permettant de diminuer significativement 2.2 La reconstruction vue comme problème le nombre de tentatives permettant d’assurer le succès de d’optimisation la reconnaissance. De plus, les auteurs proposent aussi une Si nous considérons la reconstruction d’un point de vue méthode efficace d’évaluation des formes candidates. Cet probabiliste, nous cherchons la configuration maximisant algorithme permet d’obtenir des résultats corrects sur les une probabilité a posteriori π(.) qui, selon la règle de jeux de données que nous avons testés, bien qu’il reste Bayes, est proportionnelle (à une constante de normalisa- quelques problèmes conduisant à l’apparition de formes tion près) au produit d’un terme d’attache aux données PD non pertinentes dans les résultats. et d’un terme a priori PP : 1.3 Vue d’ensemble de la démarche π(X |P, M0 ) ∝ PD (P|X , M0 ) × PP (X |M0 ) (1) La disponibilité d’un a priori nous conduit naturellement "∝" représente la relation de proportionnalité : la constante à formuler le problème sous forme Bayésienne [4], où de normalisation peut être ignorée car elle n’intervient pas la reconstruction s’exprime comme la recherche du mo- dans le processus d’optimisation. dèle CAO le plus probable (cf. Section 2.2). Pour ce faire, PD (P|X , M0 ) est en fait indépendant de M0 dans la me- nous définissons la probabilité en question de manière à ce sure où P est lui même indépendant de M0 . Cette mesure qu’elle concentre nos attentes en matière de qualité de la re- quantifie la qualité de l’ajustement de P sur X . PP quant à construction. La probabilité que nous proposons embarque elle définit une densité a priori sur l’ensemble de toutes les donc les différentes contraintes (cf. Section 2.3) que sont configurations possibles. Nous devons donc faire en sorte la qualité d’ajustement sur le nuage, la ressemblance au que PP favorise les configurations consistantes, et tienne modèle a priori et la cohérence des connexions entre élé- aussi compte de la ressemblance à M0 . ments composant le modèle reconstruit. Une fois la proba- Si nous utilisons des densités de la forme : bilité définie, nous devons adopter une méthode permettant P (P|X ) = e −λD .ED (X , P) D (2) de trouver efficacement la configuration optimale parmi l’ensemble immense des solutions possibles. Nous propo- PP (X |M0 ) = e −EP (X , M0 ) (3)
nous devons donc trouver la configuration X minimisant : sur la connectivité des éléments de X , une énergie géomé- trique EG basée sur la ressemblance entre X et M0 : E(X , P, M0 ) = − log(π(X |P, M0 )) = λD .ED (X , P) + EP (X , M0 ) EP (X , M0 ) = λT .ET (X ) + λG .EG (X , M0 ) (7) (4) où les coefficients λT et λG modulent l’importance relative où λD spécifie l’importance relative du terme d’attache de chacun des termes. aux données ED par rapport au terme a priori EP . Nous définissons EG comme la somme des contributions D’après les explications précédentes et les équations 2 et de chaque cylindre de X : chacun est comparé avec le cy- 3, il apparait que l’énergie d’attache aux données ED me- lindre de M0 qui semble lui être le plus similaire, et ap- sure la qualité d’ajustement de P sur X , alors que l’éner- porte l’énergie correspondante : gie a priori EP mesure la conformité de X vis-à-vis des attentes a priori. X EG (X , M0 ) = min eG (Ci , C j ) (8) C j ∈M0 Ci ∈X 2.3 Formulation des énergies où eG est séparé en trois termes (un pour chaque paramètre Terme d’attache aux données . Étant donné un seuil ǫ principal définissant les cylindres) : correspondant à une estimation du bruit dans P, nous dé- finissons l’énergie d’attache aux données ED comme une eG (Ci , C j ) = eA j R j C j G (Ci , C ) + eG (Ci , C ) + eG (Ci , C ) (9) contribution de chaque point du nuage : Le terme angulaire eA G diminue lorsque les axes des cy- 1 X X lindres s’alignent : ED (X , P) = eD (Ci , p) (5) n 2 Ci ∈X p∈P arccos(|aCi · aC j |) A j eG (Ci , C ) = (10) σA rappelons que n est le nombre de points dans P. Soit d (Ci , p) (noté dip ) la distance séparant p de Ci . Nous La terme radial eRG diminue lorsque les valeurs des rayons définissons eD comme suit : se rapprochent : i 2 2 dp R j rCi − rC j − 1 if dip < ǫ and dip = min dkp eG (Ci , C ) = (11) ǫ Ck ∈X σR .rC j eD (Ci , p) = Dω if ǫ ≤ d i p ≤ 3ǫ Le terme d’éloignement eC G diminue lorsque la position de autrement 0 Ci s’approche de l’axe de C j : (6) Tout point se situant dans le voisinage immédiat d’un cy- 2 k(cCi − cC j ) × aC j k lindre de X apporte une énergie négative si le cylindre en eC (C G i , C j ) = (12) σC question est le plus proche du point étudié. Cette énergie tend vers son minimum (-1) lorsque le point se rapproche "·", "×" et "k k" correspondent respectivement au produit du cylindre. Toutefois, les points se situant dans le voi- scalaire usuel, au produit vectoriel et à la norme eucli- sinage moyen [ǫ, 3ǫ] d’un cylindre apportent une pénalité dienne dans R3 . positive constante ωD . Les points étant trop éloignés des cylindres de X ne contribuent pas à l’énergie. Concernant la définission de l’énergie topologique ET , De manière générale, cette mesure tend donc à encourager nous nous basons sur les hypothèses suivantes inspirées des les cylindres s’ajustant bien sur le nuage (ayant beaucoup connaissances métier d’assemblage des composants : de points proches), mais elle pénalise aussi ceux ne véri- – les axes des cylindres connectés doivent "s’intersecter" fiant pas une contrainte de vide dans leur voisinage moyen, – les cylindres ne doivent pas se chevaucher : le volume de manière à empêcher les erreurs d’ajustement. d’intersection de deux cylindres doit être négligeable par rapport au volume des cylindres eux-mêmes Terme a priori. La densité a priori quantifie la perti- – l’angle entre deux cylindres connectés doit être droit nence de X indépendamment de P. Elle définit la perti- (90◦ ) ou plat (0◦ ), nence de toute configuration uniquement sur la base de cri- – les connexions impliquant deux cylindres de même tères a priori. Les deux critères que nous proposons dans rayon sont pertinentes, bien qu’il ne soit pas impossible le processus de reconstruction sont la qualité de la connec- de rencontrer des connexions entre cylindres ayant des tivité entre éléments et la ressemblance au modèle CAO rayons très différents (e.g. piquages). a priori étant données des tolérances σA , σR et σC vis à Ainsi l’énergie ET ne dépend-elle pas de M0 et se définit vis (respectivement) des changements de position, d’orien- comme la somme des énergies à chaque connexion : tation et de rayon des cylindres. Il semble donc tout à fait naturel de séparer l’énergie EP en X ET (X ) = eT (Ci , Cj ) (13) deux termes distincts : une énergie topologique ET basée (Ci ∈X , Cj ∈X ), i6=j
avec : égaux, la différence des rayons ne doit pas être significati- vement plus grande que le paramètre de bruit ǫ (cf. Section si Ci ∩ Cj = ∅ 0 2.3) : 1 eT (Ci , Cj ) = gτ (Ci , Cj ) si 0 < V (Ci ∩ Cj ) < 2 1 rCi − rCj 2 ωT si 12 ≤ V (Ci ∩ Cj ) − (14) g R (C , C ) = −e 2 τ i j ǫ (18) V (Ci ∩ Cj ) est le maximum entre la proportion du volume Les termes gτL et gτA définissent des contraintes dures : de Ci intersectant Cj et la proportion du volume de Cj in- lorsque l’une d’entre elles n’est pas satisfaite, l’énergie cor- tersectant Ci . Cette quantité peut être grossièrement ap- respondante tend vers son maximum (en l’occurrence 3), proximée en utilisant une méthode de type Monte Carlo : et la somme gτ devient automatiquement une pénalité po- quelques centaines de points sont tirés aléatoirement dans sitive puisque chacun des deux autres termes est supérieur chaque cylindre, et il suffit ensuite de compter la proportion à −1. Ceci justifie le recours aux valeurs 3 et 4 dans les de ces points se trouvant simultanément dans les deux cy- Équations 16 et 17, bien que l’on puisse toutefois leur sub- lindres (nous ne conservons que le maximum des deux pro- stituer toute autre paire (γ, γ + 1), tant que γ > 2. portions). De cette manière, les cylindres se chevauchant peuvent être fortement pénalisés à l’aide de la constante po- 3 Résolution sitive ωT . Les cylindres qui ne sont en contact avec aucun autre cylindre n’interviennent pas dans le calcul de l’éner- 3.1 Optimisation gloutonne gie topologique. Dans le cas général, nous définissons une Nous cherchons à générer une configuration X minimisant énergie favorisant les connexions satisfaisants les attentes l’énergie E (cf. Section 2.2), mais nous ne savons pas mentionnées ci-avant (intersection des axes, angles droits à l’avance combien de cylindres exactement composent ou plats, rayons identiques) : X . Les outils habituels d’optimisation numérique ne permettent donc pas vraiment de traiter ce problème. gτ (Ci , Cj ) = gτL (Ci , Cj ) + gτR (Ci , Cj ) + gτA (Ci , Cj ) (15) Dans [3, 8], les auteurs résolvent un problème similaire à l’aide d’approches basées sur les chaînes de Markov Cette fois encore, nous proposons trois termes distincts, réversibles couplées à un recuit simulé. En effet, l’espace représentant chacun une contrainte. Puisque le centre cCi des configurations peut être exploré en "sautant" aléatoi- du cylindre Ci (resp. cCj le centre de Cj ) et la direction rement d’une configuration à une autre, chaque saut étant de son axe aCi (resp. aCj ) définissent une droite dansR3 , une opération d’ajout ou de retrait d’un élément (méthode et étant donnée une fonction d (cCi , aCi ) , cCj , aCj de "birth and death"). Ces transitions sont ensuite acceptées distance entre deux droites, la contrainte d’intersection des aléatoirement, selon l’évolution de l’énergie. Ce processus axes est quantifiée par l’énergie : décrit une chaine de Markov réversible dont la distribution stationnaire correspond à l’énergie que l’on souhaite !2 d (cCi , aCi ) , cCj , aCj minimiser, assurant ainsi la convergence théorique de la 3 τ × min rCi , rCj résolution vers le minimum global. gτL (Ci , Cj ) = 3 − 4 4 (16) Pour notre part, nous pensons que la génération d’un où τ est une tolérance spécifiée par l’utilisateur. élément (ici un cylindre) devrait plutôt être guidée à l’aide de l’ensemble des données disponibles, à savoir P et M0 Le terme angulaire gτA favorise les connexions à angle droit (cf. Section 3.2). En effet, la génération aléatoire naïve ou plat (énergie négative), tout en pénalisant les autres d’éléments, en proposant les paramètres selon des lois angles (énergie positive) : uniformes, conduirait à un temps de résolution prohibitif puisqu’il est très peu probable qu’un tel cylindre améliore arccos(|aCi · aCj |) 2 la configuration courante au sens de l’énergie E. En intro- duisant un biais dans le noyau de naissance (génération de 3 a gτA (Ci , Cj ) = 3 − 4 nouveaux cylindres), nous pouvons favoriser l’apparition 4 2 d’éléments pertinents mais ne pouvons plus garantir la arccos(|aCi · aCj |) − π2 réversibilité du processus de Markov. De sorte qu’on ne peut plus assurer la convergence théorique du processus. 3 a −4 (17) 4 De plus, le schéma de refroidissement du recuit simulé adopté joue un rôle crucial dans la convergence du pro- a étant une tolérance spécifiée par l’utilisateur. cessus, et requiert de la part de l’utilisateur de spécifier certains nouveaux paramètres très difficiles à appréhender. Pour finir, le terme radial gτR favorise les connexions impli- quant des cylindres de même rayon. Toutefois, cette éner- C’est pourquoi, au lieu d’utiliser un algorithme probabi- gie est tout à fait neutre vis-à-vis des situations où cette liste, nous proposons d’utiliser une méthode gloutonne (Al- attente n’est pas satisfaite. Pour être considérés comme gorithme 1) reposant sur des mécanismes similaires d’ex-
Algorithme 1 : Algorithme d’optimisation glouton dans le nuage de points, et ainsi améliorer la convergence Données : P : nuage de points à reconstruire du processus d’optimisation. Étant donné un cylindre M0 : modèle CAO approximant grossièrement P C i ∈ M0 , nous proposons de construire un cylindre Résultat : X s’ajuste sur P, "ressemble" à M0 et est candidat en utilisant une approche similaire à l’algorithme consistante RANSAC : dans un premier temps, nous localisons la 1 X ← ∅; zone dans le nuage de points où le candidat va être créé. 2 Répéter Pour ce faire, nous sélectionnons à l’aide d’une méthode 3 Pour tout C i ∈ M0 faire d’acceptation/rejet un premier point qui semble pertinent 4 Générer "aléatoirement" un cylindre C à partir de de part sa distance à C i et la normale qui lui est associée. P et C i ; Nous choisissons ensuite un voisinage sphérique de taille 5 X ∗ ← X ∪ {C} , E 0 ← E(X ∗ , P, M0 ); appropriée, en nous basant sur le rayon de C i . Dans ce 6 Calculer l’ensemble K des cylindres de X en voisinage, nous ne retenons que κ points susceptibles contact avec C; de ce trouver sur la même surface que le premier point 7 Trier K par ordre décroissant de eT (C, Cj ∈ K); sélectionné, en nous basant sur un ajustement grossier de 8 K∗ ← ∅, Q ← ∅; cylindre sur les points du voisinage. Pour finir, le cylindre 9 Pour tout Cj ∈ K faire candidat est calculé comme étant la forme s’ajustant au 10 Q ← Q∪{Cj } , E j ← E(X ∗ −Q, P, M0 ); mieux sur les κ points retenus, par minimisation au sens 11 Si E j < E 0 alors des moindres carrés (initialisée à l’aide de l’estimation 12 E 0 ← E j , K∗ ← Q; locale grossière mentionnée ci-avant). 13 Si E 0 < E(X , P, M0 ) alors Cet algorithme génère aléatoirement des cylindres per- 14 X ← X ∗ − K∗ ; tinents tendant à ressembler au cylindre a priori C i , et s’ajustent bien dans le nuage de points P. En effet, nous 15 jusqu’à X n’a pas été modifié ; utilisons les paramètres de C i pour guider la sélection des 16 Retourner X points. Et puisque cette sélection s’effectue selon un pro- cessus fiable, nous pouvons générer le cylindre candidat à partir d’une grande quantité de points (nous utilisons ploration stochastique de l’espace des solutions. La déci- κ = 20 à 50), alors que les méthodes RANSAC habituelles sion portant sur l’acceptation ou non d’une transition est ne peuvent fonctionner qu’avec des ensembles minimaux prise de manière déterministe en vue de minimiser systé- de points (2 à 7). Cette méthode rend l’étape de génération matiquement E à chaque pas. Lorsqu’un nouveau cylindre plus précise et robuste envers le bruit et les incertitudes sur C est généré (cf. Section 3.2), nous tentons de l’insérer dans les normales. La probabilité pour un cylindre d’être généré la configuration X . Il se peut que cette insertion augmente augmente donc lorsque les énergies ED et EG correspon- l’énergie bien que C soit un candidat pertinent, à cause de dantes diminuent. conflits avec d’autres cylindres de X . Avant toute prise De plus, l’ensemble des cylindres pouvant être construits de décision, nous devons donc résoudre ces conflits. Soit par cette méthode est fini et dénombrable, et le cardinal de K ⊂ X l’ensemble des cylindres de X en contact avec C. cet ensemble est inférieur ou égal au nombre de parties de Il nous faut trouver le sous-ensemble K∗ ⊂ K qui mini- P possédant κ points. En particulier, les cylindres n’étant mise E(X − K∗ ∪ {C} , P, M0 ), i.e. la suppression opti- pas supportés par un nombre suffisant de points ont une male de conflits. En théorie, nous devrions tester toute les probabilité nulle d’apparaître. La méthode que nous pro- parties de l’ensemble K pour trouver K∗ . Mais pour éviter posons définit donc un espace probabilisé sur l’espace des une explosion combinatoire, nous proposons d’utiliser une cylindres, ayant un ensemble fini dénombrable d’événe- heuristique gloutonne : les cylindres de K dont l’énergie ments de probabilité non nulle, et cette méthode peut donc topologique eT vis-à-vis de C est élevée sont supprimés être utilisée pour l’exploration efficace de l’espace des so- en premier. En supprimant les éléments conflictuels dans lutions en vue de résoudre le problème Bayésien formulé cet ordre, nous pouvons garder une trace du sous-ensemble dans cet article. atteignant l’énergie minimale en un temps proportionnel à ∗ |K∗ | au lieu de 2|K | . Finalement, une fois les conflits réso- 4 Résultats lus, le cylindre C est accepté et la suppression des conflits 4.1 Quelques mots au sujet des paramètres validée si et seulement si l’énergie atteinte est moins éle- Nous avons présenté plusieurs paramètres tout au long de vée. cet article. Certains d’entre eux doivent être spécifiés par 3.2 Génération de cylindres l’utilisateur, puisqu’ils apportent une connaissance au su- jet du problème. Ainsi, ǫ spécifiant le bruit dans le nuage Dans notre cas, nous disposons d’une estimation de la so- de points P, ou σA , σR et σC spécifiant l’incertitude au lution que nous recherchons et cette connaissance a priori sujet de l’approximation initiale M0 , ou encore les coeffi- M0 peut être utilisée pour générer des cylindres pertinents cients de pondération λD , λG et λT , doivent-ils être four-
nis par l’utilisateur en entrée de la méthode. Cependant, il d’une grande variété d’objets, puisqu’il permet de détecter n’est pas simple d’appréhender les paramètres λD , λG et des cylindres dont les rayons varient entre 10 mm et λT , et une approche estimant automatiquement ces valeurs 2300 mm environ. Toutefois, la détection des plus petits pourrait être très utile. Pour simplifier légèrement ce para- éléments est bien moins précise puisque leur rayon est in- métrage, nous imposons λD + λG + λT = 1. férieur au bruit du nuage spécifié (nous utilisons ǫ=30 mm). D’autres paramètres peuvent être estimés indépendamment des données en entrée. C’est par exemple le cas de la tolé- L’évolution des énergies au cours de la résolution est pré- rance topologique τ , pour laquelle nous préconisons une sentée en Figure 2. Le processus nécessite environ 140000 valeur de 0.1 : la distance entre les axes de deux cylindres itérations (une itération correspondant à la génération d’un connectés ne devrait en aucun cas excéder un dixième du cylindre candidat) soit environ 10 minutes de calcul sur un rayon du plus petit cylindre (cf. Équation 16). De même, processeur 2.4 GHz. nous fixons ici a = 5◦ (cf. Équation 17). En supposant que plus de 90% des points voisins de cylindres se situent dans Nous comparons aussi notre approche avec un algorithme leur voisinage immédiat, nous proposons de fixer ωD = 12. RANSAC de référence [13] permettant la détection de Pour finir, le fait de poser ωT = 4 permet la suppres- tores, cylindres, plans et sphères, et n’utilisant aucune in- sion des cylindres se chevauchant malgré la présence de formation a priori. Cet algorithme est plus rapide que le 4 connexions parfaites (au plus) avec d’autres cylindres. nôtre (une trentaine de secondes). Les cylindres segmentés par cet algorithme sont montrés en Figure 1d : notons que 4.2 Résultats sur une scène industrielle nous ne montrons pas les autres formes (tores, cônes, etc.) afin de permettre la comparaison. Nous pouvons constater sur les résultats de segmentation que notre approche par- vient à détecter correctement les plus gros cylindres, alors 0.00 que le RANSAC tend à détecter plusieurs fragments de −0.05 Energy (E) E λL.EL formes se chevauchant (plusieurs couleurs pour un même λG.EG cylindre). Ce phénomène est particulièrement visible sur le −0.10 λT.ET cylindre au centre de la scène. −0.15 La table ci-après présente quelques éléments de compa- 0 20000 40000 60000 80000 120000 Iterations raison entre l’algorithme RANSAC (pour lequel nous ne considérons que les cylindres) et notre méthode. Nous pou- vons constater que notre approche fournit de meilleurs ré- F IGURE 2 – Évolution des énergies durant le processus de sultats en matière d’ajustement des cylindres sur les points reconstruction sur le jeu de données présenté en Figure 1. (deuxième ligne). Elle permet aussi d’éviter les conflits et Nous utilisons ici la pondération λD = 0.1, λT = 0.7 et chevauchements entre cylindres (quatrième ligne) et opti- λG = 0.2. mise la distribution des points à la surface des cylindres, signe probablement d’une meilleure qualité d’ajustement Nous présentons ici quelques uns des résultats que nous (troisième ligne). avons obtenus sur le jeu de données présenté en Figure 1, afin de montrer la capacité de notre méthode à créer RANSAC Bayésien des modèles CAO consistant à partir de données laser. Quantité de cylindres détectés 42 68 Nous utilisons dans cet exemple un modèle CAO a priori Distance moyenne aux voisins 14.58 mm 10.12 mm (ǫ-inliers) grossièrement recalé avec le nuage de points (les erreurs de Nombre moyen de points par 21,18 25,81 recalage sont de l’ordre de 10 cm), et présentant quelques unité de surface points/dm2 points/dm2 différences non négligeables avec le nuage de points : Points simultanément voisins de 5.67% 0.85% certains tuyaux sont absents et d’autres ont été signifi- plus d’un cylindre cativement modifiés (réorientés et/ou déplacés). Nous utilisons donc des tolérances au changement relativement Pour finir, nous avons exécuté notre algorithme de recons- permissives : σA = 30◦ , σR = 0.2 et σC = 3.5 m. La truction sur un modèle a priori partiel, ne représentant configuration reconstruite contient bien les tuyaux qui ne qu’un composant de la scène à traiter (Figure 3). Confor- figuraient pourtant pas dans le modèle a priori, mais qui mément aux attentes, nous pouvons constater que l’algo- ont été détectés à cause de leur similarité avec d’autres rithme réussit à ne détecter que les parties correspondant composants voisins. De même, les tuyaux déplacés et effectivement au modèle a priori. réorientés ont été relativement bien gérés. De plus, nous pouvons constater que le modèle obtenu est consistant : ces 5 Conclusion cylindres sont bien connectés, et nous n’y voyons aucun Nous avons posé le problème de la reconstruction de chevauchement indésirable. Le modèle s’ajuste aussi très nuages de points comme la recherche d’un modèle CAO bien sur le nuage de points. Un autre aspect intéressant de satisfaisant plusieurs contraintes basées sur des connais- cet algorithme tient au fait qu’il permet la reconnaissance sances a priori. Nous avons plus particulièrement concen-
[2] B OSCHÉ , F. Automated Recognition of 3D CAD Model Objects and Calculation of As-built Di- mensions for Dimensional Compliance Control in Construction. Elsevier Journal of Advanced Enginee- ring Informatics (2010). [3] D ESCOMBES , X., M INLOS , R., AND Z HIZHINA , E. Object Extraction Using a Stochastic Birth-and- Death Dynamics in Continuum. Journal of Mathema- tical Imaging and Vision 33, 3 (Oct. 2008), 347–359. [4] D IEBEL , J., T HRUN , S., AND B R\" UNIG , M. A Bayesian method for probable surface reconstruction F IGURE 3 – Reconstruction à partir d’un modèle CAO par- and decimation. ACM Transactions on Graphics tiel. Dans la mesure où il ne recherche que les parties du (TOG) 25, 1 (2006), 39–59. nuage comparables au modèle a priori (vert), notre algo- [5] F ISCHLER , M. A., AND B OLLES , R. C. Random rithme ne retrouve que les parties pertinentes (gris) dans Sample Consensus : a Paradigm for Model Fitting le nuage de points (rouge). Nous utilisons les mêmes para- with applications to Image Analysis and Automated mètres que ceux décrits pour l’exemple de la Figure 1. Cartography. Readings in computer vision : issues, problems, principles, and paradigms (1987), 726– tré nos travaux sur l’utilisation d’un modèle CAO exis- 740. tant décrivant grossièrement l’état de la scène à traiter. [6] G AL , R., S HAMIR , A., H ASSNER , T., PAULY, M., Nous utilisons cette connaissance a priori afin de permettre AND C OHEN -O R , D. Surface Reconstruction using une reconstruction de modèles CAO de qualité. En ef- Local Shape Priors. Proceedings of the fifth Euro- fet, les approches de reconstruction existantes ne traitent, graphics symposium on Geometry processing (2007), pour la plupart, le problème de reconstruction que comme 253–262. un problème d’ajustement sur le nuage de points, négli- [7] J ENKE , P., WAND , M., B OKELOH , M., S CHILLING , geant la qualité du modèle résultant, alors que la for- A., AND S TRASS ER , W. Bayesian point cloud mulation Bayésienne proposée permet d’embarquer diffé- reconstruction. Computer Graphics Forum 25, 3 rentes contraintes telles que la consistance du résultat ou sa (2006), 379–388. conformité vis-à-vis d’un modèle a priori étant par hypo- [8] L AFARGE , F., G IMEL’ FARB , G., AND D ESCOMBES , thèse une approximation du résultat recherché. Nous pro- X. Geometric feature extraction by a multimarked posons de plus d’utiliser le modèle a priori comme un outil point process. IEEE transactions on pattern analysis permettant de cibler la reconstruction sur les parties de la and machine intelligence 32, 9 (Sept. 2010), 1597– scène dont nous savons qu’elles sont pertinentes. 609. La probabilité a posteriori que nous proposons définit nos trois attentes vis-à-vis du résultat. De plus, nous proposons [9] M ITRA , N. J., AND N GUYEN , A. Estimating Surface une nouvelle approche qui permet la recherche de la so- Normals in Noisy Point Cloud Data. Special Issue lution maximisant cette probabilité. Cette méthode four- of International Journal of Computational Geometry nit des résultats satisfaisants sur le jeu de données testé : and Applications 14 (2004), 261–276. la résolution permet effectivement d’obtenir un modèle [10] PAULY, M., M ITRA , N., G IESEN , J., G ROSS , M., CAO ayant une énergie faible (donc une probabilité éle- AND G UIBAS , L. Example-based 3D scan comple- vée), s’ajustant bien sur le nuage de points, composé de tion. Proceedings of the third Eurographics sympo- formes convenablement connectées et dont les éléments sium on Geometry processing (2005), 23–es. correspondent effectivement au modèle a priori que l’on [11] R ABBANI , T., AND VAN D EN H EUVEL , F. Efficient se donne. hough transform for automatic detection of cylinders Cette approche peut encore certainement être améliorée, in point clouds. ISPRS WG III/3, III/4 3 (2005), 60– en tenant par exemple compte des autres types de formes 65. présents dans les scènes étudiées, et plus particulièrement [12] S CHMITTWILKEN , J., AND P LÜMER , L. Model- des plans. based reconstruction and classification of facade parts Références in 3d point clouds. International Archives of the Pho- togrammetry, Remote Sensing and Spatial Informa- [1] B EY, A., C HAINE , R., M ARC , R., T HIBAULT, G., tion Sciences 38, 1 (2010), 269–274. AND A KKOUCHE , S. Reconstruction of consistent [13] S CHNABEL , R., WAHL , R., AND K LEIN , R. Ef- 3d cad models from point cloud data using a priori ficient RANSAC for Point-Cloud Shape Detection. cad models. In ISPRS Workshop on Laser Scanning Computer Graphics Forum 26, 2 (2007), 214–226. (2011).
Vous pouvez aussi lire