• Aucun résultat trouvé

II De l’échantillonnage à la texturation/colorisation

II.2.2 Les méthodes irrégulières

Pour pouvoir réduire un nuage de points de manière plus importante sans dégrader la géométrie, il est nécessaire d’utiliser une méthode d’échantillonnage irrégulière qui tient compte d’un paramètre supplémentaire comme la courbure ou la densité. Cependant, l’estimation d’un de ces paramètres sur le nuage entier de 106 millions de points n’est pas une bonne idée du fait d’un temps de traitement très long (plusieurs heures avec de fortes chances que l’ordinateur ne supporte pas le traitement). L’utilisation du nuage régulier échantillonné à 1 cm s’est avérée convaincante. Grâce à ce nuage, on aboutit aux mêmes résultats de détermination de paramètres comme la courbure que si l’on utilisait le nuage complet, mais cela permet de réduire considérablement le temps de calcul puisque l’on traite alors beaucoup moins de points (moins de 3 millions ici). En effet, un pas de 1 cm ne dégrade pas la géométrie des objets et n’influe pas non plus sur la détermination des paramètres.

32 II.2.2.1 Etude de la courbure d’un nuage

Tout d’abord, il a été décidé de commencer par mener une étude de courbure sur le nuage échantillonné à 1 cm. Pour cela, et lors de ce type de calcul, le choix du voisinage à prendre en compte est important. Des essais de détermination de la courbure ont eu lieu avec 2.5 cm, 4 cm, 7 cm et 12 cm. Les histogrammes de chaque champ de valeur ont une allure identique. Cela indique bien que les différences sont minces. Evidemment, pour chaque taille de voisinage, malgré les fortes ressemblances des champs de valeur, quelques différences sont apparues, notamment aux endroits de fortes courbures comme les angles. En effet, comme le montrent les images suivantes, plus le voisinage est grand, plus le nombre de points pris en compte pour représenter la variation de courbure à proximité des arrêtes est important (forte courbure en vert). En général, on remarque que les identifications des zones courbées sont plus fines et plus nombreuses pour des estimations de voisinage restreintes. Par exemple, le sol laisse apparaitre des courbures lorsque celles-ci sont estimées plus localement. Ces différences sont les principales mais une autre remarque intéressante fut faite concernant la porte. Le champ de valeur y subit des variations importantes alors qu’elle est censée être plate. On voit nettement qu’un dégradé de couleurs existe au fur et à mesure que l’estimation devient plus grossière. En effet, la porte montre une forte courbure pour 2.5 cm et aucune courbure pour 12 cm. Cela s’explique en réalité par le caractère rugueux de l’objet mais il faut en tenir compte lors des prochaines étapes. Dans tous les cas de figure, les câbles de l’ancien réseau d’électrification indiquent une forte courbure. Il faudra alors faire attention que ces points n’influent pas sur le maillage par la suite.

33

Dans le but de conserver le squelette du nuage de points, c’est-à-dire les formes dominantes, il est nécessaire de préserver les angles et c’est ce qui est recherché avec l’isolation des endroits de fortes courbures. Ainsi, une estimation de la courbure dans un rayon de 7 cm a été choisie puisque cela permet de retenir les principales courbures, de ne pas tenir compte des courbures du sol ou de la porte et d’avoir un nombre de points suffisamment important pour représenter ces angles. En effet, en vue de trouver la meilleure méthode de modélisation, des essais sont à réaliser pour déterminer l’épaisseur requise pour bien représenter un angle. Il semble là encore qu’il faille faire un compromis entre ne conserver que quelques points pour modéliser une arête et conserver plus de largeur pour une courbe. Une « cell size » de 7 cm identifie une zone courbée de 5 cm de part et d’autre d’une arête. Cette distance peut être éventuellement réduite par la suite.

II.2.2.2 Choix de la méthode de décimation

L’utilisation directe de l’outil « subsampling » (sous-échantillonnage) a alors été attrayante puisqu’il permet de prendre en compte les données d’un « scalar field » calculé. Cette option a été testée mais ne s’est pas avérée convaincante. En effet, le logiciel propose de choisir deux valeurs de pas d’échantillonnage, l’une pour le maximum et l’autre pour le minimum des valeurs du champ calculé, sauf que l’application de ces valeurs ne s’effectue pas par interpolation en fonction du nombre de points mais par interpolation des classes de valeurs. Ce traitement n’est donc pas équitable et tronque le résultat, particulièrement si beaucoup de points sont compris dans les premières ou les dernières classes de valeurs du paramètre estimé. D’autre part, il est remarqué que les distances inter-points ne sont pas toutes plus grandes que la valeur choisie pour échantillonner le nuage, montrant ainsi une différence dans l’approche d’échantillonnage par l’algorithme du logiciel.

Une solution a été trouvée pour que l’utilisateur décide un peu mieux de la répartition de l’échantillonnage, il s’agit de diviser le nuage en deux, toujours à l’aide du calcul de « scalar field ». En fait, il est possible de subdiviser le nuage en plusieurs parties en choisissant l’outil « filter by value ». Cet outil permet alors de séparer les points du nuage initial caractérisant la courbure des autres points, avant d’y appliquer les deux différentes distances du pas d’échantillonnage choisies puis de regrouper les deux nuages échantillonnés ensemble grâce à l’outil « merge » (fusionner). Cette méthode sera privilégiée par la suite puisqu’elle permet vraiment de choisir la distance du pas d’échantillonnage souhaitée pour chacune des parties du nuage.

34

Figure 9 : Les deux nuages obtenus après la segmentation, à gauche les zones courbées, à droite les zones planes

II.2.2.3 Deux options de traitement

Ayant pour point de départ le nuage échantillonné à 1 cm et son champ de valeurs de courbure estimée à 7 cm, différentes méthodes de décimation ont été testées. Au préalable, le champ de valeurs de la courbure a permis de diviser le nuage principal en deux parties. Il a alors fallu déterminer le pourcentage de courbure permettant d’effectuer la distinction entre ces deux parties. Après de multiples essais, la valeur de 5% de changement de courbure a été choisie car elle permet de conserver au maximum les continuités des angles tout en ne prenant pas en considération d’autres endroits aux infimes courbures (cf. figure suivante). A partir de là, deux options étaient disponibles, soit échantillonner brutalement de manière régulière chacune des deux parties puis les assembler, soit poursuivre l’étude des courbures afin d’affiner les résultats.

Figure 10 : De gauche à droite, segmentation du nuage avec des changements de courbures de 3%, 5% et 7%

Concernant la première option, trois nuages de points ont été créés avec des décimations régulières appliquées, respectivement, sur les points des courbures, et sur les autres. Les valeurs choisies pour le premier nuage sont 2 cm pour les courbures et 4 cm pour les zones planes. Ce nuage rend un nombre de points de 328 276. Le choix de ce nuage est purement théorique et permet d’élargir le champ de l’étude menée. Un second nuage a été formé par le choix de 5 cm dans les courbures et 20 cm pour le reste. Ce nuage possède 45 721 points avec une très bonne préservation des formes à première vue. On remarque cependant que les endroits de courbures circulaires (pierres au sol notamment) affichent un fort nombre de

35

points qu’il est probablement inutile de conserver. Le dernier nuage a pour caractéristiques 10 cm dans les courbures et 30 cm sur le reste du nuage. Ce choix a été fait pour évaluer la différence du nombre de points en premier lieu mais il s’est avéré plutôt bon du fait d’une préservation correcte des points pour modéliser les angles. Ce nuage possède 13 296 points et, en comparaison au premier nuage, semble indiquer une conservation certes moins dense mais plutôt identique des points importants dans les courbures.

Dans le cadre de l’affinement de la détermination de la courbure, l’outil « filter by value » a été utilisé une seconde fois après avoir estimé la courbure bien plus localement, c’est-à-dire avec une « cell size » de 2.5 cm. Le but était alors d’éliminer les points représentant le proche entourage d’une arrête mais pas l’arrête elle-même afin de mieux la caractériser, mais aussi d’éliminer des points aux autres endroits de fortes courbures comme des pierres au sol (on ne parle plus ici de courbure angulaire). En effet, ces zones-là, du fait de leur aspect circulaire, possèdent un très grand nombre de points et il n’est pas nécessaire de tous les conserver car ils ne caractérisent pas spécifiquement un contour. Il a alors été choisi de réduire de moitié environ le nuage en filtrant les valeurs ayant moins de 5% et plus de 13% de changement d’orientation des normales. Visuellement, les formes sont préservées, seul le nombre de points a diminué, passant de plus d’un million de points à 411 406 points. Les choix de nuages se sont portés sur un sous-échantillonnage à 5 cm dans les courbures et 20 cm dans les zones planes puis à 10 cm et 40 cm pour des nombres de points respectifs de 36 883 et 11 270. Le but est de montrer l’utilité ou non de cette méthode. Enfin, un dernier nuage avec un très fort sous-échantillonnage (4 027 points) a été créé avec 20 cm en courbures et 50 cm pour le reste. Ce nuage permet d’évaluer l’autre extremum de l’étape d’échantillonnage, soit une faible préservation des points, et de caractériser la nécessité ou non de conserver une faible taille des mailles face au réalisme des photographies.