• Aucun résultat trouvé

4.5 Construction d'une representation 3d

4.5.3 Construction d'un maillage

Attention, nous employons dans cette partie le terme((triangulation))comme((construction d'un maillage triangulaire)), et non plus comme ((reconstruction tridimensionnelle par in-tersection des lignes de vue)).

Nous disposons a cette etape d'un nuage de points3dreconstruits a partir des images de reference. Nous pouvons attribuer a chacun de ces points sa couleur dans l'une des images de reference, et reprojeter ce modele sur le plan-image d'une camera virtuelle pour obtenir des images synthetiques. Nous testerons cette methode.

Comme nous l'avons vu, il peut ^etre plus avantageux de disposer d'un modele plus elabore, constitue de facettes triangulaires texturees. Les facettes triangulaires sont en e et des structures garanties ^etre planes, et du materiel speci que permet de realiser des syntheses tres rapides de tels modeles. De plus, le modele en facettes est connexe par morceaux, alors que le modele en points est entierement discret, avec les problemes que nous verrons lors de la re-synthese.

Il est dicile d'obtenir de facon automatique un maillage triangulaire d'une surface de nie par des points 3d discrets. Nous avons deja cite les travaux de P. Fua, mais ils se limitent au calcul d'une seule surface (connexe, et assez lisse). Nous pourrions envisager de realiser une triangulation de Delaunay en quelques points choisis, par exemple les points d'inter^et de la scene, qui representent souvent des angles, donc des changements de disparite. Mais nous ne pouvons pas contr^oler de facon susamment ne la triangulation pour eviter certains phenomenes non desirables, comme le recouvrement de zones occultees ( gure 4.16). De tels triangles n'auront pas un aspect realiste lors de la phase de synthese, sous d'autres angles.

Triangulation obtenue Triangulation souhaitee

Fig. 4.16: La construction incontr^olee de triangles peut mener a des phenomenes non desirables, comme le recouvrement des zones occultees.

Notre algorithme de triangulation repose sur une autre methode: nous triangulons autant de points que possible, puis nous fusionnons les petits triangles sur des criteres de coplanarite. De cette facon, nous sommes certains de ne pas creer de triangle se situant a cheval sur des regions de l'image de profondeurs tres di erentes. De plus, nous utiliserons une reprojection des points 3d par un Z-bu er, a n de determiner quels sont les points visibles dans chaque image, pour ne pas creer de triangle dans les zones occultees. Pour creer une triangulation dans l'une des images de reference, l'algorithme est le suivant.

1. Projeter tous les points 3d dans l'image, en conservant seulement ceux qui sont visibles: dans les limites de l'image, et plus proches que tous les autres points se projetant sur le m^eme pixel (Z-bu er). Cela constitue la carte des pixels renseignes ( gure 4.17).

2. Pour chaque groupe de 4 pixels de l'image (renseignes ou non), creer un patch carre, dont les sommets sont les centres de ces quatre pixels. Ce patch est suppose ^etre plan ( gure 4.18).

3. Tenter de fusionner recursivement les patches par groupe de quatre, sur des criteres de coplanarite, explicites plus loin ( gure 4.19).

4. Lorsqu'on a regroupe tous les patches qu'il etait possible de fusionner, deplacer les sommets du maillage vers les pixels renseignes les plus proches ( gure 4.20).

5. Decouper chacun des patches obtenus en deux triangles, le long de leur diagonale ( gure 4.21).

Nous obtenons en n de compte le maillage presente en gure 4.22. La surface ob-tenue couvre autant que possible les parties renseignees de l'image, evite les zones non-renseignees, et les sommets des triangles obtenus sont tous des points renseignes.

Fig. 4.17: Maillage, etape 1: carte des pixels renseignes. Sur cette image 88, seuls les pixels grises sont renseignes (c.-a-d. correspondent a la projection d'un point 3d).

Fig.4.18: Maillage, etape 2: creation des patches 22.

Fig. 4.19: Maillage, etape 3: fusion des patches.

Fig. 4.20: Maillage, etape 4: deplacement des sommets des patches vers les pixels rensei-gnes les plus proches.

Fig. 4.21: Maillage, etape 5: decoupage des patches quadrilateraux en triangles.

Fig.4.22: Resultat nal du maillage.

La structure de donnees est un arbre quaternaire (quadtree), dont les nuds repre-sentent des zones carrees de l'image. Les criteres pour fusionner les 4 ls d'un nud sont les suivants:

1. Tous les ls doivent ^etre des feuilles.

2. Il faut qu'au moins deux des pixels recouverts par le plan soient renseignes. Autoriser les cellules a ^etre fusionnees m^eme si certains points couverts ne sont pas de nis, permet de couvrir les endroits ou aucun point ne se projette par suite d'erreurs d'appariement, pourvu qu'ils restent de taille raisonnable.

3. Il faut que les pixels recouverts par les 4 ls correspondent a des points 3d co-planaires. La coplanarite est testee de facon robuste par une methode usuelle de moindres carres medians, avec un taux de faux points 3d xe a 50 %: on e ectue plusieurs tirages aleatoires de 4 points 3d, et a chaque fois, on calcule un plan aux moindres carres (nous utilisons 4 points au lieu de 3, pour eviter de trouver la so-lution identiquement nulle: 0

x

+ 0

y

+ 0

z

+ 0 = 0). Parmi les tirages aleatoires,

celui presentant l'erreur mediane minimale est conserve, et le patch est declare plan si cette erreur est inferieure a un seuil, xe par l'utilisateur.

En n, parmi les triangles obtenus ne sont conserves que ceux repondant aux criteres suivants:

2 le triangle doit couvrir une surface de 16 pixels au moins (critere de taille);

2 le triangle doit couvrir une zone ou au moins la moitie des pixels sont renseignes (critere de pertinence).

Nous obtenons a chaque fois une triangulation valable sur une image de reference, et dans un certain domaine de validite avoisinant. Le programme de visualisation devrait donc changer de modele selon le point de vue, achant le modele construit sur l'image de reference

i

si l'observateur se situe a proximite de la position de l'image de reference

i

. A cause des phenomenes d'occultation et de recouvrement, il serait de toute facon tres dicile de realiser une triangulation valide simultanement dans toutes les images de reference.

Cet algorithme sera teste sur nos images.