Reconstruction d'un nuage de points 3D étant donné un modèle CAO a priori

La page est créée Stéphane Dupont
 
CONTINUER À LIRE
Reconstruction d'un nuage de points 3D étant donné un modèle CAO a priori
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 :
Reconstruction d'un nuage de points 3D étant donné un modèle CAO a priori
(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