• Aucun résultat trouvé

Chapitre 4 : Implémentation et résultats

4.1 Présentation de l’implémentation de l’expérimentation

4.1.2 Comparaisons nuage à nuage évaluées

Afin de situer la méthode de comparaison de nuages de point proposée, nous avons opté pour effectuer les mêmes expérimentations en utilisant des méthodes de comparaison nuage à nuage et des méthodes nuage à modèle.

70

La comparaison nuage à nuage fonctionne ainsi : une fois le nuage de point de référence et le nuage de points comparé spécifiés tel qu’illustré sur la figure 4.6, l’approche nuage à nuage calcule dans un premier temps les distances approximatives qui sont utilisées en interne pour définir automatiquement le meilleur niveau d'octree pour effectuer le calcul des distances réelles.

Il est à noter que l’Octree est une structure d’indexation de données 3D basé sur le

principe de division récursive de l’espace. En effet, partant du plus petit cube englobant du

nuage de point 3D, le processus de structuration par octree consiste en la subdivision de ce cube en 8 cubes de manière récursive jusqu’à l’atteinte d’un niveau maximale ou le sous- cube ne contient aucun point (voir figure 4.7). Cette technique permet de faciliter l’analyse de proximité des points en considérant uniquement la cellule ou le cube contenant le point concerné par notre analyse et les cellules avoisinantes sans avoir recours au calcul de distance entre le point concerné et tous les points du nuage de points. Par ailleurs il est à signaler que le choix du nombre optimal de niveaux de subdivisions demeure problématique vu qu’il influence la vitesse des opérations d’analyse topologique (Girardeau-Montaut et al., 2005).

71

Les principaux paramètres

Les principaux paramètres pour la mesure de distance nuage à nuage sont:

• Niveau Octree: il s'agit du niveau de subdivision des octrees auquel le calcul de distance sera effectué. Les octrees sont conçus sur le nuage de points comparé. Par défaut, il est défini automatiquement et doit être laissé tel quel. La modification de ce paramètre ne modifie que le temps de calcul. L'idée principale est que plus le niveau de la subdivision est élevé, plus les cellules octree sont petites. Par conséquent, il y aura moins de points dans chaque cellule et moins de calculs à effectuer pour trouver le point le plus proche. Cependant, l’utilisation de petites cellules occasionne un plus grand nombre de recherche ce qui peut ralentir le processus si les points sont éloignés, puisque le point du nuage comparé est loin du point correspondant sur le nuage de référence. Les gros nuages exigent donc des niveaux élevés d'octree. Cependant, si les points du nuage comparé sont plutôt éloignés du nuage de référence, un niveau d'octree inférieur est meilleur.

• Distance Maximale : si la distance maximale entre les points des deux nuages est élevée, le temps de calcul peut être très long. Par conséquent, il est judicieux de limiter la recherche en utilisant une valeur seuil pour diminuer le temps de calcul. Pour tous les points se trouvant à une distance supérieure à cette distance maximale, on n’enregistre pas leur distance calculée, en revanche, la valeur de seuil sera utilisée à la place.

• Distances signées: une distance signée permet de définir le sens du changement, positif si le changement suit le sens de la direction normale ou négatif s’il est dirigé dans le sens inverse de la normale à la surface. La distance nuage à nuage sans modélisation locale n’est pas signée vu qu’il n’y a pas de calcul de normales à la base. • Multi-thread: si l'on utilise tous les coeurs du processeur CPU.

• Les composantes X, Y et Z du vecteur d’écart : consiste à générer trois champs scalaires supplémentaires correspondant à la distance (absolue) entre chaque point comparé et son point de référence le plus proche le long de chaque dimension.

72

Modélisation locale

Lorsqu'aucun modèle local n'est utilisé, la distance nuage à nuage est simplement la distance au plus proche voisin en utilisant un algorithme de distance nommé ‘distance de Hausdorff’ (figure 4.8) qui mesure l’éloignement de deux sous-ensembles d’un espace métrique et cela n’exige aucun calcul de normales.

La question est que le point voisin le plus proche estimé n'est pas nécessairement le point le plus proche de la surface représentée par le nuage. Ceci est particulièrement vrai si le nuage de référence a une faible densité ou a de gros trous. Dans ce cas, il est judicieux d'utiliser une « stratégie de modélisation locale » qui consiste à calculer un modèle local de surface autour du point le plus proche pour approximer la surface réelle et obtenir une meilleure estimation de la distance « réelle ». Le modèle local peut être calculé sur un nombre donné de points voisins ou par défaut dans un quartier sphérique dont le rayon dépend des détails qu’on prévoit avoir et du bruit des nuages de points. Il faut noter que le nombre de points choisi où le rayon du quartier sphérique reste fixe pour tous les points du nuage de points et ne peut pas varier d’un point à l’autre.

Figure 4.8 : Principe de la distance au plus proche voisin selon la distance de Hausdorff (source : wikipédia.com)

73

Il existe trois types de modèles locaux qui peuvent être utilisés :

• Plan des moindres carrés: on utilise ce plan directement pour calculer les distances. • Triangulation 2D1/2: on utilise la projection des points sur le plan des moindres carrés

pour calculer la triangulation de Delaunay, cependant, on utilise les points 3D originaux comme sommets pour le maillage afin d'obtenir une maille 2.5D.

• Quadrique (anciennement appelé 'Height function'): En fait, le modèle correspondant est une fonction quadratique (6 paramètres: Z = a.X2 + b.X + c.XY + d.Y + e.Y2 + f).

Dans ce cas, on n'utilise que le plan normal pour choisir la bonne dimension pour 'Z'. Il est à signaler qu’il faut prendre en considération si la géométrie locale est principalement lisse ou rugueuse. Parce que la triangulation de Delaunay est le seul modèle qui peut théoriquement représenter des arêtes vives (en supposant qu’on a des points sur les bords) et la fonction quadratique est la seule qui puisse représenter des surfaces lisses / courbées. Enfin, il est important de comprendre qu'en raison de l'approximation locale, certaines aberrations de modélisation peuvent se produire. Les distances calculées sont statistiquement beaucoup plus précises mais localement certaines valeurs de distance peuvent être potentiellement pires que la distance voisine la plus proche. Cela signifie que l'on ne doit jamais considérer la distance d'un seul point dans son analyse, mais de préférence une tendance locale (c'est la même chose avec la distance voisine la plus proche). En effet, pour faire face à ce problème, on conserve pour chaque point la distance la plus petite entre la distance au plus proche voisin et la distance par rapport au modèle local. De cette façon, on n’aura pas de valeurs aberrantes du calcul de distance par rapport à celle du plus proche voisin (Girardeau-Montaut et al., 2005). Toutefois, on peut quand même sous-estimer la distance réelle dans certains cas. L’approche de « modélisation locale » est destinée à faire face aux problèmes liés soit à une densité trop faible, soit à des variations locales trop élevées de la densité du nuage de référence. Il est à noter que généralement il est préférable d'utiliser le nuage le plus dense comme « référence ».

74

Documents relatifs