Animation multirésolution d'objets déformables en temps-réel Application à la simulation chirurgicale Gilles Debunne
L'animation en images de synthèse
Simulation chirurgicale Interêts économique, éthique, pédagogique, pratique
Principe de fonctionnement Force 500Hz Position Affichage 25Hz Modèle physique
Modèle déformable Affichage de la surface Modèle physique interne
Simulateur laparoscopique Temps-réel Déformations réalistes Retour haptique Contradictoire
Nécessité de la multirésolution Utiliser au mieux les ressources Atteindre et garantir le temps-réel
Objectifs de cette thèse Utilisation de la multirésolution Adaptation automatique et invisible Simulation réaliste temps-réel Modèle indépendant de la résolution
Plan Etat de l'art Notions d'élasticité linéaire Premier modèle multirésolution Nouveaux opérateurs différentiels Modèle hiérarchique multirésolution Implémentation
Plan Etat de l'art Notions d'élasticité linéaire Premier modèle multirésolution Nouveaux opérateurs différentiels Modèle hiérarchique multirésolution Implémentation
Grandes classes de méthodes Déformations de l'espace [Bar84][SP86] [PW89][WW90] Ensembles de particules [LC86][Hutch96] [BW98][GCS00]
Modèle SPH Equation d'état [Mon92][Des97] Filtrage
Modèles continus Eléments finis [TW88][GMTT89] [BNC96][JP99] Eléments finis explicites [Cot97][OH99]
Modèles continus Eléments finis [TW88][GMTT89] [BNC96][JP99] Eléments finis explicites [Cot97][OH99]
Modèles continus Eléments finis [TW88][GMTT89] [BNC96][JP99] Eléments finis explicites [Cot97][OH99]
Modèles continus Eléments finis [TW88][GMTT89] [BNC96][JP99] Eléments finis explicites [Cot97][OH99]
Modèles continus Eléments finis [TW88][GMTT89] [BNC96][JP99] Eléments finis explicites [Cot97][OH99]
Modèles continus Eléments finis [TW88][GMTT89] [BNC96][JP99] Eléments finis explicites [Cot97][OH99]
Modèles continus Eléments finis [TW88][GMTT89] [BNC96][JP99] Eléments finis explicites [Cot97][OH99] Masses-tenseurs
Plan Etat de l'art Notions d'élasticité linéaire Premier modèle multirésolution Nouveaux opérateurs différentiels Modèle hiérarchique multirésolution Implémentation
Déformations de l'objet Champ de déplacement d Tenseur des déformations : e = ½ (Ñd + ÑdT) Position de repos d = 0
Contraintes internes F = s · n dA Tenseur des contraintes s Matrice 3x3 symétrique n F = s · n dA F surface dA
ra = m Dd + (l+m) grad (div d) Loi de comportement Loi de Hooke : dépendance linéaire s = 2 m e + l tr(e) I3 Accélération d'un point ra = div s l et m sont les coefficients de Lamé ra = m Dd + (l+m) grad (div d)
ra = m Dd + (l+m) grad (div d) Loi de comportement Loi de Hooke : dépendance linéaire s = 2 m e + l tr(e) I3 Accélération d'un point ra = div s l et m sont les coefficients de Lamé Propagation d'onde ra = m Dd + (l+m) grad (div d)
ra = m Dd + (l+m) grad (div d) Loi de comportement Loi de Hooke : dépendance linéaire s = 2 m e + l tr(e) I3 Accélération d'un point ra = div s l et m sont les coefficients de Lamé Préservation du volume ra = m Dd + (l+m) grad (div d)
Algorithme A partir du champ de déplacement Calculer Dd et grad (div d) En déduire l'accélération Intégrer l'accélération Nouvelles positions des particules
Plan Etat de l'art Notions d'élasticité linéaire Premier modèle multirésolution Nouveaux opérateurs différentiels Modèle hiérarchique multirésolution Implémentation
Calcul du laplacien di = j Généralisation de Taylor [DMSB99] [Fuji95] di = j Lij 2 j Lij dj - di dj i j di Lij
Mesure de l'expansion volumique Extension au grad div Mesure de l'expansion volumique grad (div d) = j nij nij i Radiale Rotationnelle (dj - di).nij Lij 2 j Lij
Résultats
Points d'échantillonnage Rangés dans une structure d'octree Points Structure d'échantillonage hiérarchique
Points d'échantillonnage Rangés dans une structure d'octree Points Structure d'échantillonage hiérarchique
Points d'échantillonnage Rangés dans une structure d'octree Points Structure d'échantillonage hiérarchique
Résultats Eurographics Workshop on Computer Animation and Simulation [DDBC99]
Problèmes Un peu lent Calcul incorrect du grad (div d) grad (div d) = Comportement instable lors du mélange des résolutions
Plan Etat de l'art Notions d'élasticité linéaire Premier modèle multirésolution Nouveaux opérateurs différentiels Modèle hiérarchique multirésolution Implémentation
Le théorème de Gauss Intégrale volumique de la dérivée calculée sur le contour Xi dV = X . ni dS n Volume V Surface S
Définition du volume associé Chaque particule échantillonne le volume de sa région Voronoï Voisins
Volumes de Voronoï en 3D
Application Gauss est appliqué au gradient et à la divergence du champ de déplacement d EF du premier ordre : interpolation linéaire j i k
grad (div d)i = - Sj=1..3 (aiT . aj) dj Expression en 2D Somme sur les triangles voisins Contribution d'un triangle : Ddi = - Sj=1..3 (ai . aj) dj grad (div d)i = - Sj=1..3 (aiT . aj) dj j j dj di ai dk i i k k
Nouveaux opérateurs Coefficients précalculés Expressions intuitives Comparable aux Eléments Finis en 2D, Dd = ou a Eléments finis Voronoï
Différence en 3D Eléments finis Voronoï
Protocole de test Niveau 0 Niveau 1 Niveau 2
Comparaison des modèles Masses-ressorts Eléments finis (Cauchy et Green-Lagrange) Méthode basée sur Voronoï et Gauss Méthode hybride
Masses-ressorts k=cte
Masses-ressorts k ~ l0
Masses-ressorts Van Gelder Le plus proche possible des EF [Gel98]
Eléments Finis explicites Tenseur de Cauchy Masses-tenseurs [Cot97]
Eléments Finis explicites Tenseur de Green-Lagrange [OH99]
Méthode basée sur Voronoï
Différence en 3D Eléments finis Voronoï
Divergence du grad (div)
Eléments finis explicites Méthode hybride Méthode d'EF modifiée d'après Voronoï Laplacien scalaire g Eléments finis explicites Méthode hybride
Méthode hybride
Multirésolution avec viscosité
Plan Etat de l'art Notions d'élasticité linéaire Premier modèle multirésolution Nouveaux opérateurs différentiels Modèle hiérarchique multirésolution Implémentation
Adapter la résolution
Cohabitation de maillages Plusieurs maillages indépendants de l'objet Grossier Fin
Interface entre les maillages Zone d'interface
Introduction des points fantômes Points actifs A F B
Introduction des points fantômes Transmission de l'information Points actifs Fantôme E2 F E1 E3 F interpolé d'après (E1E2E3)
Introduction des points fantômes Transmission de l'information G H B A C
Adaptivité de la simulation Point remplacé par ses fils de la résolution inférieure
Adaptivité de la simulation Point remplacé par ses fils de la résolution inférieure Région de Voronoï
Adaptivité de la simulation Point remplacé par ses fils de la résolution inférieure Fils
Adaptivité de la simulation Point remplacé par ses fils de la résolution inférieure
Plan Etat de l'art Notions d'élasticité linéaire Premier modèle multirésolution Nouveaux opérateurs différentiels Modèle hiérarchique multirésolution Implémentation
Liaison avec la surface Surface affichée Modèle physique interne
Choix du pas de temps Critère de Courant a dt = vnouv - vancien < max Synchronisation avec l'affichage
Simulation temps-réel Calcul et affichage synchronisés Temps perçu t Attente Dépassement Temps simulé
Simulation temps-réel Retour d'effort à 1000Hz
Résultats Computer Animation and Simulation 2000 [DDCB00]
Conclusion Nouveaux opérateurs différentiels Comparaison avec les Eléments Finis Méthode hybride multirésolution Premier modèle d'animation multirésolution temps-réel
Perspectives Plasticité Découpes de l'objet Validation par des chirurgiens Autres applications Jeux vidéos
Animation multirésolution d'objets déformables en temps-réel Application à la simulation chirurgicale Gilles Debunne
Découpes de l'objet Affaiblir puis supprimer les liens Propager aux niveaux supérieurs
Utilisation de repères locaux
Réponse aux collision Quels points déplacer ? Dans quelle direction ?
Détection de collision L'organe triangles déformations, découpes Pas de précalculs Les outils géométrie simple rigides passant par un point fixe
Utilisation du hardware graphique OpenGL select buffer Outil statique caméra orthographique Outil dynamique caméra perspective + 2 plans de clipping
Performances Temps Facteur d'accélération p/r Rapid (OBB Trees) 200 Temps Environ 0.1 ms avec OpenGL hard 2 ms sinon Facteur d'accélération p/r Rapid (OBB Trees) [Gottshalk & al. SIG’96] 150 100 Here we give the mean acceleration factor of our method with respect to the OBB-tree method implemented in RAPID. The left graph concerns a rigid object. This is the RAPID best case, because we neglect the pre-computation time. We almost have an acceleration factor of 5 with our method on OpenGL graphics hardware. On a personal PC (we took a pentium 2 333MHz) with or without a gaming Voodoo board, our algorithm is only two times slower than RAPID which is of complex programming. We also see that if we take into account the RAPID pre-computation times, as is the case in the right graph, our method is more than one hundred fifty times faster than OBB-tree for our collision detection problem. On the Onyx we reach an acceleration factor of one hundred and ninety . On the PC, our algorithm replies fifteen times faster than RAPID, even with no graphic specific hardware. 50 1 SGI Onyx2 IR DEC Alpha 4D60 Pentium (3Dfx) Pentium (soft)