Module de cours Plan de l exposé B. Arnaldi IRISA Campus de Beaulieu 35042 Rennes Cedex Scanner 3D Les Niveaux de détail Introduction à la Réalité Virtuelle Digital Michelangelo Project http://graphics.stanford.edu/projects/mich/ Le projet Motivations Expérimenter/optimiser le scan 3D Produire des outils pour l art et l histoire Conserver numériquement les archives Objectifs techniques Numérisé de grandes statues Capturer les traces de l outil Capturer le réflectance 5 mètres 1/4 mm 1/4 mm
Objectif : capturer les marques de l outil! Objectif : capturer les marques de l outil!? ugnetto 2 mm Le scanner 3D Numérisation de St. Mathieu 4 axes motorisé laser, lumière blanche, camera couleur Travail dans le musée numérisation géométrique numérisation De la couleur Marbre et optique? single scan of St. Matthew 1 mm
Numérisation de grands objets Numérisation de St. Mathieu 104 acquisitions 800 million de polygones 4.000 images couleur 15 Go 1 semaine de boulot Mouvements calibrés Rotation verticale (jaune) Rotation horizontale (bleu) Translation horizontale Mouvement non calibrés Translation verticale Numérisation de David Réflectance artificielle taille: poids: 7.5 mètres 800 kilos Statistics about the scan Tête de David 480 acquisitions 2 000 000 000 de polygones 7,000 images 32 Go 30 nuits de travail 22 personnes photographie modèle numérique
Oeil gauche de David modèle 0.25 mm photographie Trou réel artefacts Bruit de l acquisition Scan de la cornée de David Plan de l exposé Scanner 3D Les Niveaux de détail Maillage reconstruit à partir de plusieurs scan Introduction Plan du cours Niveaux de détail (LOD) Crucial en RV Gestion de la complexité de la scène 3D Garant de la fidélité (représentation) Garant de la performance Adaptabilité multi plate-forme Génération Cadre général des LOD & création Application Traitement des LOD au Run-Time Théorie Mesure & contrôle de la précision
LOD: principe fondamental LOD: approche traditionnelle Dans sa forme la plus élémentaire : Simplifie la quantité de détails utilisée pour afficher les objets petits ou éloignés Techniques sous-jacentes Simplification polygonale, simplification géométrique, réduction de maillage, décimation, modélisation multirésolution, Création des LOD des objets: 69451 polys 2502 polys 251 polys 76 polys Courtesy Stanford 3D Scanning Repository LOD: approche traditionnelle LOD Discrets Les objets distants sont allégés : LOD Traditionnel : Création des LODs séparément pour chaque objet, préprocess utilisant des outils commerciaux au run-time, sélection de chaque niveau selon la distance de l objet ou tout autre critère Autres approches LOD continu, LOD dépendant du point de vue, LOD sur BDD terrain, imposteurs, etc. Simplifications de géométrie et de la topologie Géométrie (simplification) réduction du nombre de primitive géométriques (sommets, arêtes, triangles) Topologie (simplification) Réduire le nombre de trous, tunnels, cavités Simplification géométrique + Topologique Simplifications Agressives Plan Opérateurs locaux de simplification Rendu à précision variable Mesure de l erreur LOD au Run Time
Plan Opérateurs locaux de simplification Rendu à précision variable Mesure de l erreur LOD au Run Time Opérateurs locaux de simplification Regroupement d arêtes Regroupement de paires de sommets Regroupement de triangles Regroupement de cellules Suppression de sommets Substitution générale de géométrie Regroupement d arêtes Demi-regroupement d arêtes Regroupement d arêtes Demi-regroupement d arêtes v new v b Séparation de sommets v b Séparation de sommets Hoppe, SIGGRAPH 96; Xia et al., Visualization 96; Hoppe, SIGGRAPH 97; Bajaj et al., Visualization 99; Gueziec et al., CG&A 99; Mise en oeuvre : Attention au recouvrement de maillage Mise en oeuvre : Attention au respect de la topologie v c v b Regroupement d arêtes v d v d v c v new v b Regroupement d arêtes v new
Regroupement d une paire de sommets Regroupement de triangles Regroupement de sommets v new v c v b Séparation de sommets v b Regroupement De triangles v new Schroeder, Visualization 97; Garland & Heckbert, SIGGRAPH 97; Popovic & Hoppe, SIGGRAPH 97; El-Sana& Varshney, Eurographics 99; Hamann, CAGD 94; Gieng et al., IEEE TVCG 98 Suppression de sommets Substitution générale de géométrie Suppression de sommet Triangulation Schroeder et al., SIGGRAPH 92; Klein & Kramer, Spring Conf. On Comp. Graphics 97 Remplacement d un sous ensemble de triangles adjacents par un ensemble simplifié de même frontière Proposé comme la technique de Multitriangulation par DeFloriani et al. Visualization 97, Visualization 98 Méthode générale: englobe le regroupement d arête, la suppression de sommet, Discussion / Comparaison Regroupement d arête et de triangle : Simple à mettre en oeuvre. Regroupement vs. demi-regroupement d arête : Le regroupement d arête est une meilleure simplification Le demi-regroupement est plus efficace en codage incrémental Regroupement de cellules : Simple et robuste Varie avec les translations et rotations de la grille Suppression de sommetvs arête La retriangulation des trous n est pas aussi simple que le regroupement d arête Un plus petit nombre de triangle est affecté par la suppression de sommet Plan Opérateurs locaux de simplification Rendu à précision variable Mesure de l erreur LOD au Run Time
Définir le Niveau de Détail Rendu à précision variable Nombre de primitives Précision des primitives Couleurs (Heckbert 82, Xiang 97) Normales (Deering 95, Zhang & Hoff 97) Coordonnées des sommets (King & Rossignac 99) Réduire la précision des primitives graphiques Lier le nombre de bits de la précision pour un afficheur donné Accélération des transformation 3D et de l éclairement en exploitant le parallélisme du Hardware Exploiter la cohérence spatio-temporelletemporelle Bibliographie Précision Variable vs. Multi-résolution Sugihara 89 Taubin & Rossignac 98 Milenkovic & Nackman 90 Taubin et al. 98 Rossignac & Borrel 93 Li & Kuo 98 Deering 95 Cohen-Or et al. 99 Fortune & Van Wyk96 Bajaj et al. 99 Chow 97 King & Rossignac 99 Luebke & Erikson 97 Bajaj et al. 2000 Fortune 98 Pajarola & Rossignac 2000 Original Multi-résolution Précision variable Hypothèses Volume englobant cubique autour de l objet x, y, z normalisé dans [-1.0, 1.0] N-bit représentation entière des opérandes Arrondi à l entier le plus près Cohérence Spatio-temporelle Cohérence spatiale Utilisation de différences dans le voisinage des sommets M x = M (x + x) = M x + M x Traversée Top-down d un octree Cohérence temporelle Frame-to-frame M x = (M + M) x = M x + M x Peut être combiné avec la cohérence spatiale
Résultats de transformation Résultats: Venus Flottant (32 bits/coordonnées) Précision Variable (7.9 bits/ coordonnées) Flottant Précision Variable Résultats: Venus Résultats Flottant Précision Variable Flottant Précision Variable Plan Opérateurs locaux de simplification Rendu à précision variable Mesure de l erreur LOD au Run Time Pourquoi mesurer l erreur? Guide le processus de simplification Faire de meilleurs choix produit de meilleures simplifications Connaissances sur la qualité du résultat Une borne sur l erreur spécifie une qualité
Mesure de l erreur géométrique Ford Bronco Pour la préservation de formes 3D précises Préserve aussi les formes dans l espace image Silhouettes Triangles: 41,855 27,970 20,922 12,939 8,385 4,766 courtesy of Division and Viewpoint Simplifier Métriques géométriques Évaluation du coût d une opération potentielle selon la mesure d une erreur Crucial pour la qualité de la simplification Ordonne les opérations en fonction de cette erreur Réalise les opérations dans l ordre Après chaque opération : réévaluation de l erreur des opérations dans le voisinage distance sommet -sommet distance sommet -plan distance point -surface distance surface-surface Distance sommet-sommet Minimisation/Propagation de l erreur v 3 v 1 E = max( dist(v 1, v 3 ), dist(v 2, v 3 ) ) Mesures la distance maximale lors du regroupement de sommet v 2 Sphère d erreur stock l erreur à chaque sommet Bornes garanties Mais forte majoration de l erreur
Distance sommet-plan c a b a b c Stockage d un ensemble de plans pour chaque sommet Erreure : distance du sommet au plan Le regroupement de sommet provoque un regroupement des plans Ronfard et Rossignac 96 Stockage d un ensemble de plans Calcul de la distance maximale Error Quadrics- Garland et Heckbert 96 Stockage de quadrique (matrice symétrique 4x4) Calcul de la somme des distances au carré Minimisation/Propagation de l erreur Position minimale trouvée en résolvant un système linéaire 4x4 L erreur est propagée en sommant des matrices 4x4 au sommet regroupés Erreur quadrique visualisée par des ellipsoïdes (Garland/Heckbert 1997) Distance point-surface Utilisé dans Hoppe 93 and 96 Associe un ensemble de points aux points les plus proche sur la surface simplifiée Calcul de la somme des distances au carré Minimisation/Propagation de l erreur Minimisation de l erreur : résolution par les moindres carrés Pas de propagation L erreur est calculée en absolu (i.e. à partir de l ensemble de point original haute résolution) Distance surface-surface Minimisation/Propagation de l erreur Borne la distance maximale entre la surface originale et la surface simplifiée Tolerance Volumes - Guéziec 96 SimplificationEnvelopes- Cohen/Varshney 96 Hausdorf Distance - Klein 96 MappingDistance - Bajaj/Schikore 96, Cohen et al. 97 Volume englobant couvre la surface, pas seulement les sommets Pas de propagation L erreur est calculée en absolu (i.e. à partir de la surface originale haute résolution)
Erreur géométrique dans l espace écran Métrique sur l erreur des attributs LOD Attributs : w ε Couleur viewing plane r d θ eye p εr εr p = = w 2d tan( θ 2 ) Normales Coordonnée de textures Mis en jeu pour la couleur finale d un pixel Métrique sur l erreur des attributs distance sommet sommet distance sommet plan distance point surface distance surface surface Plan Opérateurs locaux de simplification Rendu à précision variable Mesure de l erreur LOD au Run Time Run-Time LOD Framework Critères de sélection Prévention des artefacts temporels Gestion du Frame Rate LOD Discrets Modèles de chaque objet à différente résolution Run-time simple : juste un switch de modèle Peut utiliser des imposteurs (LODs faibles) Ne peut pas adapter la résolution sur un même modèle Ne peut pas s appliquer aux objets étendus.
LOD Continu Séquence de regroupement d arête / séparation de sommets Progressive Meshes (PM) Autorise un contrôle fin sur les changements des LODs Supporte la transmission progressive LOD dépendant du point de vue Raffinement sélectif des LODs continus Plus de détail vers l observateur (for terrain) Plus de détail sur des lignes (contours) Images from Hoppe (1997) Run-Time Distance LOD Framework Critères de sélection Prévention des artefacts temporels Gestion du Frame Rate d1 d2 Sélection de la résolution en fonction de la distance entre un objet et l observateur Calcul très simple Donne de bons résultats Surface projetée Sélectionne le niveau selon la surface projetée de l objet sur l écran Nécessite une projection Conditions Environnementales Utilisation intensive de brouillards, nuages et de fumées, etc. Permet d utiliser des niveaux moins fins Utilise classiquement des sphères ou ellipsoïdes englobantes plutôt que des parallélépipèdes! Images from www.benchmark.pl
Préservation de silhouette Le système visuel humain est sensible aux contours => plus de détail sur la silhouette Test d orthogonalité entre la normale à la surface et la direction visée Éclairement spéculaire Les LODs grossiers affectent le traitement de la lumière Critique pour les sur-luminances spéculaires Il faut plus de détail en ces points Xia & Varshney (1996) From Luebke & Erikson (1997) Autres critères Vitesse Œil moins sensible aux objets se déplaçant rapidement Excentricité Moins sensible en vision périphérique Profondeur de champs Flou de mise au point sur les objets Mais : nécessite la mise en œuvre du tracking D œil ou de tête Run-Time LOD Framework Critères de sélection Prévention des artefacts temporels Gestion du Frame Rate Hystérésis Un recouvrement dans la transition entre niveau de LODs Réduit les effets de scintillement ~10% de recouvrement «semble» correct Alpha-Blending Transition progressive entre 2 LODs dans l espace image => rendu de 2 LODs en simultané Image from OpenGL Performer Getting Started Guide
Geomorphs Transition progressive de LODs dans l espace de la géométrie Conclusion Sur les traitement de la complexité des scènes Il existe d autres techno Fonction de l application et des contraintes Ex : collision détection Morph sommets v u et v t en v s