Visualisation de volumes techniques de rendu de volumes Université BORDEAUX I DESS IMM, Module Synthèse d’images Florian LEVET, Edouard SUN D’après : “Volume Visualization and Volume Rendering Techniques” In Proc. of Eurographics, Tutorial 6, 2000 M. Meissner, H. Pfister, R. Westermann, C.M. Wittenbrink 12/09/2019
Introduction Importance croissante dans la visualisation 3D Tache : afficher des données volumétriques sous forme d’image 2D dans laquelle on peut naviguer Ne se base pas sur les surfaces 12/09/2019
1-1 Domaines d’applications Médecine : Scanner, ultrasons Prototypage : Scanner CT industriels Géosismique Simulation faisant appel à la dynamique des fluides 12/09/2019
12/09/2019
12/09/2019
12/09/2019
1-2 Base du volume rendering (1/2) Une grille rectiligne, curviligne ou non structurée Pas de surface mais un ensemble d’échantillons dans la grille Algorithme d’affichage dépend de la grille 12/09/2019
12/09/2019
1-2 Base du volume rendering (2/2) 12/09/2019
Absorption / Emission Un élément de donnée volumétrique : un voxel Absorbe et émet de la lumière Emission détermine la couleur et l’intensité Absorption opacité du voxel Peut être classifié pour chaque voxel 12/09/2019
12/09/2019
1-3 Classification (1/2) Permet de trouver des structures dans un volume Permet d’explorer et de visualiser différentes zones du volume Assignation de la couleur, l’intensité, l’opacité et des propriétés du matériel 12/09/2019
1-3 Classification (2/2) 12/09/2019
1-4 Segmentation Classifier deux zones différentes n’est pas toujours possible Ex : tissus différents apparaissent identiques à cause de la nature du scanner Ces structures doivent être labellées ou segmentées 12/09/2019
1-5 Shading Plusieurs techniques : globale, directe, locale Globale : prend en compte toutes les lumières échangées entre tous les objets Directe : prend seulement en compte les lumières tombant directement sur l’objet Locale : consiste en composantes ambiante, spéculaire et diffuse 12/09/2019
1-6 Calcul du gradient Notion d’iso-surface La normale utilisée dans le shading est trouvée par le calcul du gradient Grille échantillons considérés comme des niveaux de gris 12/09/2019
1-7 Compositing On ne peut pas afficher les voxels de la scène dans n’importe quel ordre à cause de la transparence 2 solutions : front to back et back to front Front to back peut être terminé avant la fin de l’algo ( transparence a atteint un seuil ) Back to front : pas de terminaison avant la fin 12/09/2019
1-8 Filtrage de la couleur Algorithme de rendu ré-échantillonne les valeurs des données Interpolation de ces valeurs Importance de la façon d’afficher un volume car peut générer de graves erreurs 12/09/2019
2-0 Rendu de Volumes Les deux approches Rendu indirect de volume Rendu de surfaces Recherche d’iso surfaces (marching-cubes,…) Inconvénients : - Contraintes sur l’ensemble des voxels (existence d’iso surfaces, pas de « nuages », …) - Volume considéré comme ensemble de surfaces Rendu direct de volume 12/09/2019
2-1 Bases théoriques, VRI (Volume Rendering Integral) (1/3) Version continue (VRI) : : quantité de lumière de longueur d’onde reçue depuis le rayon r au point x du plan image. : longueur du rayon : lumière de longueur d’onde réfléchie et/ou émise vers s dans la direction r : densité d’atténuation de la particule s 12/09/2019
2-1 Bases théoriques, VRI (Volume Rendering Integral) (2/3) Version discrète (DVRI) : : longueur de l’intervalle d’échantillonnage 12/09/2019
2-1 Bases théoriques, VRI (Volume Rendering Integral) (3/3) Version discrète couramment utilisée : Fonction de transparence : Approximation de Taylor : Fonction d’opacité : 12/09/2019
2-2 Algorithmes les plus répandus Raycasting Splatting Shear-Warp 3D Texture-Mapping (Hardware) 12/09/2019
2-2-1 Algorithmes les plus répandus Raycasting Principe : Pas de surfaces Rayons traversent le volume Intervalles d’échantillonnage pas nécessairement équidistants Les filtres les plus courant : voisin le plus proche (nearest neighbour), trilinéaire, gaussienne, spline cubique 12/09/2019
2-2-1 Algorithmes les plus répandus Splatting (1/2) Principe : Chaque voxel = une sphère possédant une valeur RGBα : Projection sur l’écran “splat” (éclaboussure) Projection dans l’ordre “Front To Back” (FTB) Voxels projetés sur l’écran + compositing 12/09/2019
2-2-1 Algorithmes les plus répandus Splatting (2/2) Avantages : Considère seulement les voxels pertinents, aucune traversée d’espace vide (contrairement au raycasting). Les empreintes peuvent être pré calculés phase de rasterization grandement accélérée Inconvénients : Apparition de taches lors d’agrandissements 12/09/2019
2-2-2 Algorithmes les plus répandus Shear-Warp (1/2) Principe: En pré calcul, découper le volume pour que les rayons soient alignés sur les axes 12/09/2019
2-2-2 Algorithmes les plus répandus Shear-Warp (2/2) Avantage : Rendu accéléré Inconvénient : Qualité de rendu faible 12/09/2019
2-2-3 Algorithmes les plus répandus 3D Texture-Mapping (1/2) Principe: Utilisation des cartes graphiques Instructions OpenGL Volume = texture 3D Textures découpées par des polygones parallèles Volume rendu en mappant les textures sur une série de polygones 12/09/2019
2-2-3 Algorithmes les plus répandus 3D Texture-Mapping (2/2) Avantages : Rendu grandement accéléré par le traitement en hardware Inconvénients : Qualité de rendu faible Limité par la mémoire texture de la carte 12/09/2019
2-2-4 Algorithmes les plus répandus Bilan (1/3) Raycasting Splatting Shear-Warp 3D T-Map Computerized Tomography (CT) scan de crâne humain Vue Zoomée sur la dentition CT scan d’une artère du cerveau montrant un anévrisme 12/09/2019
2-2-4 Algorithmes les plus répandus Bilan (2/3) Raycasting Splatting Shear-Warp 3D T-Map Fonction Marschner-Lobb comprenant des hautes-fréquences Simulation d’une distribution de potentiel d’électrons autour d’atomes 12/09/2019
2-2-3 Algorithmes les plus répandus Bilan (3/3) Résultats : 3D Texture-Mapping, Shear-warp : temps de calcul < 1s Raycasting, Splatting : bons résultats visuels Qualité de Shear-warp comparable à Raycasting et Splatting lorsque image non zoomée. Comparaison Splatting/Raycasting : Splatting plus enclin à manquer les hautes fréquences. Raycasting plus rapide quand les données possèdent peu d’échantillons non-pertinents. 12/09/2019
Conclusion VolumePro Permet d’atteindre du temps réel pour des données de taille 512*512*512 Techniques d’accélération Regrouper les voxels en amas de voxels Stocker les matrices de transformation Représentation hiérarchique des voxels Mettre des drapeaux suivant proximité des voxels voisins … 12/09/2019
Liens http://www.cs.sunysb.edu/~mueller/ http://www.gris.uni-tuebingen.de/~bartz/proj/volume/ http://www.gris.uni-tuebingen.de/~meissner/ http://graphics.stanford.edu/papers/lacroute_thesis/ 12/09/2019
12/09/2019
12/09/2019
12/09/2019
12/09/2019