Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Jean-Emmanuel DESCHAUD
Perception 3D et modélisation Jean-Emmanuel DESCHAUD Contact :
2
Déroulement du cours 1/ Perception 3D : capteurs et étalonnage
2/ Recalage et consolidation 3/ Descripteurs 3D 4/ Reconstruction 5/ Segmentation et modélisation 6/ Atelier application au véhicule autonome : localisation sur carte « nuage de points »
3
Jean-Emmanuel DESCHAUD
Perception 3D et modélisation Cours 4 : Reconstruction de surfaces Jean-Emmanuel DESCHAUD Contact :
4
Plan du cours Introduction / Problématique Amélioration du rendu
Reconstruction de surfaces Problématique / Contraintes Représentations d’une surface Méthode Locale : IMLS Méthode Globale : Poisson
5
Pourquoi faire de la reconstruction de surfaces?
Exemple de visualisation d’un nuage de points sous CloudCompare
6
Démonstration Démonstration sous Meshlab : augmenter taille des points
7
Deux solutions Faire du rendu Faire de la reconstruction de surface
Techniques sous OpenGL Faire de la reconstruction de surface Géométrie algorithmique
8
Domaines d’applications
Génie civil / Archéologie Archivages, restitutions Secteur médical Modèle 3D dentaire Industrie Etude de conformité de pièces mécaniques Simulateurs Modèle 3D du Forum Gallo-Romain de Vieux-la-Romaine
9
Projet au Centre de Robotique
Création de modèles 3D de villes pour des simulateurs de train ou de tramway Réalité Modèle 3D
10
Plan du cours Introduction / Problématique Amélioration du rendu
Reconstruction de surfaces Problématique / Contraintes Représentations d’une surface Méthode Locale : IMLS Méthode Globale : Poisson
11
Qu’est-ce que le rendu?
12
Rendu de nuage de points
Projection d’un point sur un pixel Ne couvre pas tout l’écran Visibilité des objets cachés Des objets cachés sont visibles par « transparence » du nuage de points
13
Rendu de nuage de points
2 1
14
Splatting Splat : Rayon = distance au kième voisin
Point, normale, couleur, rayon Rayon = distance au kième voisin
15
Rendu en espace image Opérateurs espace image [Pintus, 2011]:
Visibilité Remplissage
16
Amélioration du rendu points
17
Application aux simulateurs
18
Application à l’archéologie
19
Bilan sur rendu Très bonne qualité de rendu
Impression d’avoir un modèle 3D Mais pas réel Pas possible de faire une impression 3D
20
Plan du cours Introduction / Problématique Amélioration du rendu
Reconstruction de surfaces Problématique / Contraintes Représentations d’une surface Méthode Locale : IMLS Méthode Globale : Poisson
21
Problématique sur les courbes
Une courbe Ensemble de points échantillons Courbe reconstruite
22
Problématique sur les surfaces
Ensemble de points Surface reconstruite
23
Problèmes pas aussi simples
Densité non homogène Superposition de courbes Bruit de mesure
24
Contraintes de la reconstruction
La surface reconstruite peut être : Continue Différentiable Avec ou sans bords
25
Contraintes de la reconstruction
La surface reconstruite peut être : Approximante Interpolante Surface approximante Surface interpolante
26
Plan du cours Introduction / Problématique Amélioration du rendu
Reconstruction de surfaces Problématique / Contraintes Représentations d’une surface Méthode Locale : IMLS Méthode Globale : Poisson
27
Représentation géométrique
Maillage = ensemble de sommets connectés Maillage polygonal : connexion entre sommets formant des cycles et définissant des polygones Maillage triangulaire : polygone = triangle On parle ici de maillage surfacique
28
Contraintes sur les maillages
Maillage variété (manifold) : Chaque arête doit appartenir à au plus 2 triangles Les triangles de chaque sommet doivent former un cycle ou un demi-cycle (point du bord)
29
Représentation implicite discrète
Fonction distance à la surface Structure de données (Voxels, Octree…) Exemple :
30
Changement de représentation
Maillage -> Implicite : Définir une structure de données Définir une distance au maillage Implicite -> Maillage : Méthode classique : Marching cubes
31
Marching Cubes [Lorensen et et, 1987]
Espace découpé en voxels Distance signée calculée en chaque sommet d’un voxel 256 possibilités qui amènent à la création de 0, 1, 2 ou 3 triangles dans chaque voxel
32
Exemple en 2D : Marching Squares
33
3D : Marching Cubes Classification des cellules: – Intérieur
– Extérieur – Intersectant
34
3D : Marching Cubes
35
Plan du cours Introduction / Problématique Amélioration du rendu
Reconstruction de surfaces Problématique / Contraintes Représentations d’une surface Méthode Locale : IMLS Méthode Globale : Poisson
36
Deux types de méthodes pour la reconstruction
Méthode Locale Voisinage local qui définit le nombre de points à prendre en compte Méthode Globale Besoin de tous les points du nuage
37
Critères de bonne méthode de reconstruction
Métrique d’évaluation ? Représentation de l’incertitude des données Preuve de convergence Robustesse au bruit Robustesse aux points aberrants Restriction ou non à un type topologique Rapidité/Mise à l’échelle (taille de l’échantillon) / Parallélisation possible?
38
Critères de bonne reconstruction
Distance à une vérité terrain Vérité Terrain (VT) obtenue par une technologie plus avancée / plus cher Distance entre maillages Mesures relatives sur la surface réelle Comparaison avec la surface reconstruite
39
Plan du cours Introduction / Problématique Amélioration du rendu
Reconstruction de surfaces Problématique / Contraintes Représentations d’une surface Méthode Locale : IMLS Méthode Globale : Poisson
40
Plan du cours Méthodes locales par projection [Hoppe et al, 1992]
Ajustement par moindres carrés glissants (fonctions réelles) Adaptation aux surfaces : MLS explicite
41
[Hoppe et al, 1992] Article qui a popularisé la recherche sur la reconstruction de surface Pour un point de l’espace Prendre le point le plus proche La surface est définie par :
42
[Hoppe et al, 1992] Principe
43
[Hoppe et al, 1992] Approximation linéaire par morceaux non continue
44
[Hoppe et al, 1992] Résultat Nuage de 4102 points venant d’un modèle CAO Maillage obtenu par marching cubes
45
Plan du cours Méthodes locales par projection [Hoppe et al, 1992]
Ajustement par moindres carrés glissants (fonctions réelles) Adaptation aux surfaces : MLS explicite
46
Limitation de la résolution par moindre carré
Ajustement de quadriques par moindre carré non continue
47
Moindre carrés glissants
Ajustement par MLS (Moving Least Squares) [Levin, 1998]
48
Plan du cours Méthodes locales par projection [Hoppe et al, 1992]
Ajustement par moindres carrés glissants (fonctions réelles) Adaptation aux surfaces : MLS explicite
49
Surface MLS explicite Polynôme à deux variables sur ajusté aux points
50
Surface MLS explicite On projette sur la surface polynomiale :
51
Surface MLS explicite Résultat [Alexa et al, 2001]
52
Exemple de surface IMLS
Surface IMLS rendue par raytracing : [Adamson et al, 2003]
53
Démonstration Démonstration sous Meshlab : Reconstruction par RIMLS [Oztireli et al, 2009]
54
Intérêts de IMLS Reconstruction de courbes/surfaces
Détection et suppression de points aberrants et d’artefacts Débruitage de nuages de points Rééchantillonage du nuage de points
55
Plan du cours Introduction / Problématique Amélioration du rendu
Reconstruction de surfaces Problématique / Contraintes Représentations d’une surface Méthode Locale : IMLS Méthode Globale : Poisson
56
Approche par fonction implicite
Définir une fonction dont les valeurs inférieures à zéro sont à l’extérieur et les valeurs supérieures à zéro à l’intérieur Extraire l’iso-surface zéro < 0 > 0
57
Poisson surface reconstruction
S Points orientés 1 1 1 1 1 1 2-variété inconnue Fonction indicatrice Gradient de l’indicatrice M M M
58
Approche de Poisson Trouver la fonction qui approxime le gradient en minimisant E: i.e. résoudre l’équation de Poisson : Extraire l’isosurface -1(0.5)
59
Discrétisation Définir un espace de fonctions pour et V:
On veut résoudre : Cela revient à résoudre : avec
60
Discrétisation Besoin d’une solution précise seulement près de la surface Octree (arrêt : 1 point par cellule)
61
Implémentation En partant des échantillons: Calculer l’octree
Calculer le champs de vecteur Calculer la fonction indicatrice Extraire l’isosurface
62
Implémentation: octree
En partant des échantillons : Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Extraire l’isosurface
63
Implémentation: champs de vecteur
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Extraire l’isosurface
64
Implémentation: fonction indicatrice
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface
65
Implémentation: fonction indicatrice
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface
66
Implémentation: fonction indicatrice
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface
67
Implémentation: fonction indicatrice
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface
68
Implémentation: fonction indicatrice
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface
69
Implémentation: fonction indicatrice
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface
70
Implémentation: fonction indicatrice
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface
71
Implémentation: fonction indicatrice
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Calculer la divergence Résoudre l’équation de Poisson Extraire l’isosurface
72
Implémentation: extraction de la surface
En partant des échantillons: Calculer l’octree Calculer le champs de vecteur Calculer la fonction indicatrice Extraire l’isosurface
73
Démonstration Démonstration sous Meshlab : reconstruction de Poisson
74
Résultat : David de Michelangelo
215 millions de points provenant de 1000 scans 22 millions de triangles après la reconstruction Temps de calcul : 2.1 heures Pic d’usage mémoire: 6600MB
75
David – coups de burin
76
Reconstruction de Poisson
Contributions théoriques : Points orientés Gradient d’une indicatrice Reconstruction comme problème global de Poisson Résolution reste un système linéaire creux
77
Reconstruction de Poisson
Avantages empiriques: Robuste au bruit S’adapte à la densité d’échantillonage Inconvénients : Nécessite normales et orientations Effectue un filtrage passe-bas dépendant de la profondeur de l’octree
78
FIN Introduction / Problématique Amélioration du rendu
Reconstruction de surfaces Problématique / Contraintes Représentations d’une surface Méthode Locale : IMLS Méthode Globale : Poisson
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.