• Aucun résultat trouvé

1.3 Évolution des modèles déformables

1.3.7 Équation d’évolution

La résolution de l’équation stationnaire nécessite une méthode itérative qui, dans tous les cas, part d’une solution initiale pour converger. Les méthodes directes sont des techniques classiques de minimisation d’une fonction multivariée comme la descente de gradient. Un autre approche consiste à introduire des termes évolutifs dans l’équation stationnaire puis à résoudre itérativement le système différentiel.

Résolution par descente de gradient

La descente de gradient ou l’un des algorithmes dérivés (Press et al., 1992) permettent la mini-misation d’une fonction comme celle de l’énergie. On suppose ici que l’énergie E est discrétisée en utilisant un schéma des différences finies comme explicité dans le paragraphe 1.3.2 par exemple.

• Descente de gradient.

Cette méthode nécessite de prendre une surface initiale S0 à partir de laquelle on évolue en suivant la ligne de plus grande pente de l’énergie. On itère en appliquant la formule :

Sk+1=Sk− ∆t∇E(Sk) (1.10)

où ∆t est une constante strictement positive. Cette méthode converge vers un minimum local. Le choix de la solution initiale est donc déterminant.

Lorsque l’on trouve le minimum d’une fonction selon une direction, le gradient en ce minimum est nécessairement orthogonal à la direction suivie. Une descente de gradient va donc tendre à évoluer par pas constants en suivant des directions orthogonales les unes aux autres, ce qui ne conduit en général pas au plus vite vers le minimum local de la fonction. En conséquence, la convergence peut nécessiter un grand nombre d’itérations.

• Gradient conjugué.

La méthode des gradients conjugués est similaire à la précédente, mais cherche à chaque itération à se déplacer dans une nouvelle direction orthogonale à toutes les précédentes. Soit gk =−∇E(Sk). Si dk est la direction suivie par l’algorithme à l’itération k, alors la direction :

dk+1 = gk+(gk− gk−1).gk gk−1.gk−1 dk

est conjuguée aux directions di,i∈ [0,k]. Si E est une forme quadratique, l’algorithme converge de manière optimale en m itérations, où m est la dimension de la matrice E.

• Méthode de Newton.

Si la fonctionnelle d’énergie est de classe C2, on peut l’approcher par son développement de Taylor au second ordre au voisinage d’un point Sk:

T (S) = E(Sk) + (S − Sk)∇E(Sk) +1

2(S − Sk)T2E(S)(S − Sk)

Si la matrice Hessienne ∇2E(Sk) est définie positive alors T admet un minimum unique défini par :

Sk+1=Sk;2E(Sk)<−1∇E(Sk) (1.11) Dans le cas d’une forme quadratique, cette méthode converge vers le minimum en une itération. Dans le cas contraire, il faut itérer jusqu’à convergence.

• Méthode de Levenberg-Marquardt.

Si la fonctionnelle d’énergie est proche d’une forme quadratique, la méthode de Newton (équa-tion 1.11) est efficace et conduit à une bonne approxima(équa-tion du résultat. Dans le cas contraire, le mieux que l’on puisse faire est d’utiliser une méthode de descente de gradient (équation 1.10). La méthode de Levenberg-Marquardt permet de passer de manière continue d’une convergence de type Newton à une convergence de type descente de gradient alors qu’on s’approche du minimum. On peut mettre les équations 1.10 et 1.11 sous la forme :

A(Sk)(Sk+1− Sk) =∇E(Sk) avec A(Sk) =

6 I

∆t pour 1.10

2E(Sk) pour 1.11 , (1.12) où I représente la matrice identité. La méthode de Levenberg-Marquardt consiste à prendre :

A(Sk) =∇2E(Sk) + ρI

dans l’équation 1.12. Lorsque la constante ρ est nulle ou presque, on s’approche d’une ré-solution de Newton. En revanche, si ρ est grand, les termes diagonaux de la matrice A(Sk) deviennent prépondérants et la résolution est proche d’une descente de gradient.

(Vemuri et al., 1997) introduisent de nouveaux algorithmes de résolution numérique et comparent leur efficacité.

Résolution par méthodes itératives

L’équation stationnaire discrète 1.7 est non linéaire. Sa résolution nécessite une expression évo-lutive qui va itérativement converger vers la solution. De nombreuses méthodes de résolution des systèmes évolutifs sont présentées dans (Press et al., 1992), chapitres 10 et 14.

L’approche évolutive consiste à considérer le modèle comme une entité dynamique évoluant selon un paramètre t :

S : Ω × [0, + ∞] → IRn

1.3. Évolution des modèles déformables 35

et un terme d’énergie correspondant :

E(S,t) = E(S(.,t)).

On introduit alors des termes inertiels dans l’équation 1.7 du premier ordre (évolution Lagran-gienne) :

∂S

∂t + KS = f(S) ou du second ordre (évolution Newtonienne) :

M∂2S

∂t2 + CS

∂t + KS = f(S), (1.13)

où M et C sont deux matrices NM ×NM représentant la masse du modèle et la viscosité du milieu. M et N sont les dimensions de l’espace discrétisé des paramètres Ω∆s∆r.

Cette formulation aboutit à un schéma évolutif adapté aux contours actifs puisqu’il permet à l’utilisateur d’interagir avec le modèle au cours du processus de déformation. Elle nécessite de disposer d’une surface initiale proche de la solution S0 =S(.,0) qui évolue jusqu’à ce que les termes inertiels s’annulent. La surface est alors en équilibre entre les forces régularisantes et les forces d’attache aux données.

Dans la mesure où on ne cherche pas à donner une signification physique aux déformations du système, de nombreux auteurs considèrent que la masse du système est nulle, supprimant ainsi le terme du second ordre (Terzopoulos et Metaxas, 1991; Cohen, 1991).

Le système dynamique 1.13 doit encore être discrétisé dans le temps. La discrétisation de la variable t nécessite l’utilisation d’un schéma de différences finies. Étant donné un pas de temps ∆t, la différenciation dans le temps est approchée par :

∂S

∂t 1 St+∆t2∆t− St−∆t 1 St+∆t∆t− St et

2S

∂t2 1 St+∆t− 2S∆tt2+St−∆t.

Les matrices M et C sont construites de manière à être diagonales ou diagonales par bandes. Elles conduisent donc à des équations découplées et sont facilement inversibles. Le résultat de la discrétisation dans le temps conduit soit à un schéma explicite, soit à un schéma implicite.

Un schéma explicite :

MSt+∆t− 2St+St−∆t

∆t2 + CSt+∆t− St

∆t + KSt= f (St), (1.14) n’est assuré de converger que si le pas de temps est choisi suffisamment faible (Press et al., 1992), chapitre 17. Cependant l’équation 1.14 permet de déterminer St+∆t explicitement à partir de St et St−∆t: St+∆t= + M ∆t2 + C ∆t ,−1++2M ∆t2 + C ∆t− K , StM ∆t2St−∆t+ f (St) , . (1.15)

Elle est simple et peu coûteuse à résoudre. Dans le cas où M = 0, et C = I, l’équation 1.15 se simplifie en :

Le schéma explicite Lagrangien conduit donc exactement à la même équation que la descente de gradient 1.10. Un schéma implicite : MSt+∆t− 2St+St−∆t ∆t2 + CSt+∆t− St−∆t 2∆t + KSt+∆t= f (St+∆t).

est impossible à résoudre puisqu’il nécessiterait de pouvoir calculer f(St+∆t). On se reporte en pratique sur un schéma semi-implicite :

MSt+∆t− 2St+St−∆t

∆t2 + CSt+∆t− St−∆t

2∆t + KSt+∆t= f (St). (1.16) Le schéma semi-implicite est plus stable que le schéma explicite et assure la convergence numérique pour des pas de temps plus élevés. Le schéma semi-implicite 1.16 nécessite la résolution d’un système d’équations linéaires couplées à chaque itération :

St+∆t= + M ∆t2 + C 2∆t+ K ,−1+2M ∆t2St+ + C 2∆t − M ∆t2 , St−∆t+ f (St). ,

Bien que nécessitant moins d’itérations que le schéma explicite puisqu’utilisant un pas de temps plus grand, il nécessite l’inversion coûteuse de la matrice K. Cette matrice est susceptible de changer et doit être inversée de nouveau si la topologie ou les paramètres physiques du maillage évoluent. Cas des modèles paramétrés

Dans le cas des modèles paramétrés, on cherche à déterminer un vecteur de paramètres q dé-crivant la surface Sq = Tq où T est une matrice de transformation. Cette représentation discrète conduit à une équation d’évolution similaire à 1.13 :

M'd2q

dt2 + C'dq

dt + K'q= f',

où M', C' et K' s’expriment en fonction de M, C, K et T. La résolution temporelle est ensuite similaire à celle de l’équation 1.13.

Optimisation par analyse modale

(Pentland et Sclaroff, 1991) proposent d’optimiser la résolution du système discrétisé en espace 1.13 en décomposant sur une nouvelle base le vecteur S qui représente un modèle discrétisé en n points. Soit ˜S = ΦS où Φ est une matrice carrée orthogonale de transformation. L’équation 1.13 s’écrit : ˜ Md 2S˜ dt2 + ˜Cd ˜S dt + ˜K ˜S = ˜F , (1.17)

où ˜M, ˜C, ˜Ket ˜f s’expriment en fonction de M, C, K, f et Φ.

On recherche une matrice de transformation Φ optimale qui diagonalise simultanément M, K et C et telle que le système d’équations 1.17 soit découplé. On cherche donc à résoudre le problème aux valeurs propres :

1.3. Évolution des modèles déformables 37

où Φ = [φ12, . . . ,φ3n] et Ω = diag(ω12, . . . ,ω3n) sont telles que les vecteurs propres soient M-orthonormalisés, c’est à dire que ΦTKΦ = Ω2 et ΦTMΦ = I. Le vecteur propre φi est le ième mode vecteur de forme et ωi la fréquence de vibration associée.

La diagonalisation de la matrice de viscosité C implique qu’elle soit définie sous la forme d’une série de Caughey : C= M p−1 0 k=0 ak[M−1K]k. Si p = 2, on a C = a0M+ a1Ket l’équation 1.17 se simplifie en : d2S˜ dt2 + ˜Cd ˜S dt + Ω 2S = Φ˜ T˜f,

où ˜C = aoI+ a12. Ce système est composé de 3n équations indépendantes qu’il est possible de résoudre en discrétisant le temps.

Approche hiérarchique

(Szelisky, 1990) propose une approche hiérarchique pour la minimisation de la fonctionnelle d’énergie guidant les déformations de la surface. Il construit une pyramide multi-résolution de fonc-tions de base. Il est ainsi possible d’exprimer l’énergie discrète à différents niveaux de précision. La minimisation de l’énergie débute à une échelle grossière qui est raffinée avec la convergence de l’algorithme.