• Aucun résultat trouvé

La méthode de colorisation employée dans nos expériences vise à sélectionner une couleur à attribuer à chaque pointLiDARd’un nuage de points à partir d’images dont les champs de vue se recouvrent. Cette méthode est constituée, d’une part, d’une nouvelle technique que nous proposons pour la détection les occultations et, d’autre part, d’une stratégie de colorisation de l’état de l’art [Gharibi et Habib,2018]. L’objet de la thèse ne se focalisant pas sur le développement d’une nouvelle stratégie de colorisation, nous nous limitons à présenter dans la section5.5des nouvelles idées susceptibles d’améliorer la colorisation du nuage de points. Nous présentons d’abord la méthode que nous proposons pour détecter les occultations puis brièvement la stratégie de colorisation employée.

5.3.1 Détection des occultations

Notre méthode de détection des occultations s’inspire de la méthode du Z-buffer présentée dans l’état de l’art. Cependant, cette méthode qui s’applique originellement uniquement à un modèle géométrique surfacique, nécessitant donc une reconstruction, a été adaptée afin de pouvoir agir directement à partir du nuage de points originel.

Idée générale

Le nuage de points est en réalité une reconstruction simplifiée d’une acquisitionLiDAR, dans laquelle toute mesure est représentée par un point, donc sans épaisseur qui est défini uniquement par sa position. Cependant, à cause de la divergence du faisceauLASER, l’éner- gie d’une impulsion émise par la sourceLASERse répartit sur une surface non ponctuelle de l’objet cible, formant ainsi l’empreinte duLASER, dont sa taille dépend de la distance au sol, de l’angle d’incidence et de la forme de l’objet cible (voir section3.3.2). Toute la surface de l’objet cible qui se trouve sous l’empreinte duLASERcontribue potentiellement à l’énergie réfléchie vers le récepteurLiDARet donc à la mesure de distance. Cette distance mesurée est ensuite combinée à la mesure angulaire de l’encodeur du scanner au moment de l’impulsion, pour reconstruire un point dans le repère cartésien propre auLiDAR. Ce point est alors placé sur l’axe central du faisceauLASERà la distance mesurée.

Dans notre méthode nous allons attribuer une taille à chaque pointLiDARqui vise à refléter la dimension de l’empreinte du faisceauLASER. Une façon de procéder est de modéliser la dimension de l’empreinte laser par un pavé qui correspond à la boite englobante de l’empreinte dans le repère de cartographie. Suivant le même principe que la

méthode du Z-buffer, notre approche se déroule en deux passes : la première passe vise à élaborer, pour chacune des images, une carte de profondeur (le Z-buffer) qui leur sera associée. La deuxième passe utilise ensuite la carte de profondeur générée pour estimer la visibilité de chaque pointLiDARsuivant le point de vue de chaque image.

Durant la première passe, les pavés associés à chaque pointsLiDARsont projetés dans une image. La projection d’un pavé dans l’image génère une surface qui recouvre poten- tiellement plusieurs pixels. Pour chaque pavé projeté dans l’image, le Z-buffer associé à l’image actualise les cases associées aux pixels recouverts par le pavé projeté en conservant uniquement les distances les plus proches du centre de projection de l’image. Ainsi deux pavésLiDARse projetant dans deux pixels adjacents ont la possibilité de partiellement s’occulter si ceux-ci sont à des distances différentes du centre de projection de la caméra. Nous avons vu que dans le cas où seuls des points sont considérés, ceux-ci ne peuvent pas s’occulter mutuellement, ce qui provoque ce phénomène de transparence illustré sur la figure5.1. Dans la seconde passe, les pointsLiDARsont à nouveau projetés dans l’image. Les distances enregistrées dans la carte de profondeur sont alors utilisées pour identifier les pointsLiDARqui sont occultés.

FIGURE5.12 – Contribution à l’élaboration d’une carte de profondeur de deux mesures LiDAR, P1 et P2, qui sont projetées dans une image en p1et p2; (a) cas où P1et P2sont modélisés par

des points ; (b) cas où P1et P2sont modélisés par des sphères. Dans (a) p1et p2se situent dans

deux pixels adjacents par la diagonale. p1est plus proche du centre de projection de l’image que

p2. Les deux points ne s’occultent pas mutuellement. La figure (b) illustre le même cas de figure

que dans (a) lorsque p1et p2représentent les centres de deux sphères projetées de rayon r1et r2

respectivement. Les sphères projetées forment des cercles C1et C2dans la carte de profondeur

qui s’occultent partiellement. D’après la carte de profondeur, p2est occulté. Cependant la mesure

LiDAR P2contribue tout de même à l’élaboration de la carte de profondeur et peut éventuellement

occulter une autre mesure LiDAR.

Cette façon de procéder présente cependant plusieurs difficultés. Tout d’abord, il est nécessaire de connaitre l’orientation du terrain sous l’empreinteLASERde chaque point LiDARpour pouvoir modéliser un pavé qui englobe cette empreinte. De plus, paramétrer une telle forme géométrique est complexe et sa projection dans une image devient rapide- ment coûteuse en temps de calcul au vu du nombre de pointsLiDARqu’il faut considérer. Nous proposons de remplacer la modélisation de l’empreinte laser par son enveloppe

sphérique (voir figure5.12). Par cette approximation, la connaissance de l’orientation du terrain n’est plus nécessaire, puisque la projection d’une sphère sur un plan image est iden- tique, indépendamment du point de vue de l’image. De plus, la sphère est paramétrable seulement par deux quantités, son centre et son rayon. Ceci permet de ne pas augmenter significativement la complexité de notre algorithme lors de la projection des sphères dans toutes les images depuis lesquelles elles sont visibles. La sphère modélisée étant toujours plus volumineuse que le pavé englobant l’empreinte laser, l’utilisation de celle-ci a pour contrepartie d’étiqueter certains pointsLiDARcomme occultés alors qu’ils ne le sont pas. La liste des couleurs candidates à la colorisation d’un pointLiDARpeut potentiellement être réduite. Ceci est cependant bien moins critique pour notre application que la détection de fausses visibilités qui peuvent engendrer des erreurs de colorisation.

Méthodologie

Rappelons queP est l’ensemble des pointsLiDAR3D à coloriser etI l’ensemble des images servant à la colorisation deP . Lorsqu’un pointLiDARP deP est modélisé par une sphère, son rayonr est calculé d’après l’équation5.5.

r = zltan

µ max(δ1,δ2)

2 ¶

, (5.5)

avec zlétant la distance mesurée par le scannerLASERau point P,δ1etδ2les angles de

divergence du faisceauLASER. Ici on considère un faisceauLASERpossédant une section elliptique. Les angles de divergenceδ1etδ2sont les angles décrivant l’accroissement du

faisceauLASERrespectivement dans la première et la deuxième direction principale de la section du faisceau. Dans le cas d’un faisceau à section circulaireδ1= δ2. Notons que

la taille de la sphère dépend uniquement de la distance à laquelle la mesureLiDARa été effectuée et non de la distance à laquelle la sphère se trouve par rapport au centre de projection de l’image. On fait le choix de considérer uniquement l’angle de divergence le plus grand pour définir le rayon de la sphère, car on préfère occulter un pointLiDARà tort, plutôt que d’étiqueter un pointLiDARcomme visible et de lui attribuer une couleur erronée.

Considérons une image I deI et une carte de profondeur (Z-buffer)Zassociée à I, telles que la taille, la résolution ainsi que la position et l’orientation de Z dans le repère monde m soient identiques à celles I. On noteΦl’angle de vue associé à I etPΦl’ensemble de points deP qui sont visibles dans I. Notre méthode se déroule en trois phases qui sont répétées pour chaque image deI :

1. Initialisation de Z.

2. Première passe pour la construction de Z.

3. Deuxième passe pour l’association des couleurs candidates à chaque points dePΦ. Lors de l’initialisation de la carte de profondeur, les valeurszude chaque pixel u de Z

sont initialisées à de grands nombres dans la limite de l’encodage de Z.

La première passe se déroule de manière suivante. Soit un pointLiDARPj dePΦ. On

modélise alors Pj par une sphèreLiDAR Sj de centre Pj et de rayon rj (voir équation5.5).

Sj est projetée dans Z jusqu’à son centre Pj, qui lui se projette en pj. On définitCj le

cercle de centre pj décrit par la projection de la sphère Sj dans Z. Le rayon de Cj est donc

égal à rj. SoitUj, l’ensemble des pixels de Z qui sont partiellement ou totalement inclus

dans Cj. On cherche l’ensemble des pixelsUˆj⊂ Uj tel que ˆUj=

n

u ∈ U | zudPcj

o (voir figure5.12b), où dPc

pixels de ˆUj sont alors mis à jour de manière à ce que zu= dPcj. Cette étape est ensuite

répétée pour tous les points dePΦ, ce qui permet de construire la carte de profondeur Z associée à I.

Durant la deuxième passe, tous les points dePΦsont à nouveau projetés dans Z. Ainsi Pjse projette à nouveau en pj dans un pixel uj de Z. La valeur zuj de uj est alors comparée à dPc

j. Si d

c

Pj ≤ zuj+τ, le pointLiDARPj est étiqueté comme visible depuis l’image I.τ indique un seuil de tolérance dont son paramétrage est discuté dans la section5.4.2. On attribue alors au pointLiDARPj le pixel de I associée à u. Ce pixel devient ainsi un pixel

candidat à la colorisation de Pj. Cette étape est également itérée sur tous les points dePΦ.

Une fois que ces trois opérations sont répétées pour toutes les images deI, à chaque point LiDAR P y est associé un ensemble (qui peut être nul) de pixels candidats à sa colorisation.

5.3.2 Stratégie de colorisation

Concernant la stratégie de colorisation, nous employons une méthode classique de l’état de l’art qui consiste à coloriser chaque pointLiDARP en utilisant la couleur du pixel candidat qui est issu de l’image la plus proche de P [Gharibi et Habib,2018;Zeng et Zhong,

2014]. La simplicité ainsi que les avantages que présente cette méthode font d’elle une méthode de choix pour la colorisation du nuage de points. Ces avantages et inconvénients sont discutés plus en détails dans la section5.4.4.