Les modèles déformables
Transcription
Les modèles déformables
Les modèles déformables Séverine Dubuisson Les modèles déformables – p. 1/? Introduction Les méthodes classiques de segmentation échouent dans certains cas : Si les images sont bruitées Si les images contiennent des faux contours Une solution : les modèles déformables Autres noms dans la littérature : contours/surfaces actifs, balloons, contours/surfaces déformables Terme apparu à la fin des années 80 dans les travaux de Terzopoulos Domaine de recherche très actif et fructueux dans les travaux de segmentation en particulier Les modèles déformables – p. 2/? Qu’est-ce que c’est ? Contour placé dans une image et se déformant jusqu’à atteindre une position et une forme “optimales” Le modèle se déforme sous l’influence de forces Les forces internes : définies sur les propriétés de la courbe ֒→ Préservent le lissage du contour lors de sa déformation Les forces externes : définies dans l’image ֒→ Permettent de déformer la courbe en fonction des caractéristiques de l’image Les modèles déformables – p. 3/? Modèles déformables Deux grandes familles (principes des méthodes relativement proches) Les modèles paramétriques déformables : Représentent explicitement les modèles sous leur forme paramétrique pendant la déformation Représentation compacte permettant des implémentations rapides (temps réel) L’adaptation de la topologie des ces modèles peut poser des problèmes dans le cas de séparation ou d’union lors de la déformation Les modèles géométriques déformables : Représentent implicitement les modèles comme un ensemble de niveaux d’une fonction scalaire de dimension supérieure Leur paramétrisation est donnée après la déformation L’adaptation de la topologie des ces modèles est naturelle Les modèles déformables – p. 4/? Les modèles paramétriques déformables Deux formulations qui amènent à des résultats similaires Minimisation d’énergie : ֒→ On minimise la somme pondérée d’énergies internes et potentielles afin de trouver les paramètres de la courbe Forces dynamiques : ֒→ On obtient les paramètres du modèle en résolvant un problème dynamique utilisant des forces externes plus générales Les modèles déformables – p. 5/? Minimisation d’énergie Un contour déformable est une courbe v(s) = [x(s), y(s)]t , où s ∈ [0, 1] est l’abscisse curviligne v(s) se déplace dans un domaine spatial de l’image afin de minimiser la fonctionnelle énergie suivante : Etotale = Einterne (v(s)) + Epotentielle (v(s)) Le premier terme désigne l’énergie interne Le second terme est l’énergie potentielle et est obtenue en intégrant une fonction d’énergie potentielle P (x, y) le long du contour v(s) Les modèles déformables – p. 6/? Minimisation d’énergie : énergie interne (1/2 L’énergie interne a pour but d’obtenir un modèle aux formes lisses Idées : Pénaliser la taille du modèle : plus l’aire ou la longueur sont importantes, plus l’énergie est grande Pénaliser les irrégularités de la forme du modèle : on cherche à minimiser la courbure en tout point du modèle Contraindre le modèle à certaines formes (cercles, ellipses, ...) Formulation générale : optimisation Dépend de la famille des modèles Si la formulation est finie, on peut trouver un minimum global : recherche exhaustive, algorithmes probabilistes Si la formulation est infinie, on trouve un minimum local : adaptation progressive, descente de gradient, résolution d’EDP Les modèles déformables – p. 7/? Minimisation d’énergie : énergie interne (2/2 Énergie interne : Einterne 1 = 2 Z 0 1 α(s) ∂v ∂s 2 + β(s) ∂2v ∂s2 2 ds où : La dérivée du premier ordre prend en compte les variations de longueur de la courbe : tension contrôlée par l’élasticité attribuée au contour La dérivée du second ordre exprime les variations de la courbure : flexion contrôlée par la raideur du contour α(s) et β(s) contrôlent respectivement la tension et la rigidité du modèle. Le plus souvent ce sont des constantes. Les modèles déformables – p. 8/? Minimisation d’énergie : énergie potentielle (1/2) L’énergie potentielle est donnée par : Z 1 P (v(s)) ds Epotentielle = 0 La fonction d’énergie potentielle P (x, y) est obtenue à partir de l’image et prend des petites valeurs au niveau des frontières de celle-ci ou à d’autres points d’intérêts Soit I(x, y) une image, pour déformer le modèle adapté pour suivre les maximum de niveaux de gris, on a : P (x, y) = −wl I(x, y) où wl est un paramètre de poids Les modèles déformables – p. 9/? Minimisation d’énergie : énergie potentielle (2/2) Soit I(x, y) une image, pour déformer le modèle selon les contours de l’image, on a : P (x, y) = −we |∇[Gσ (x, y) ⋆ I(x, y)]|2 où : we ≥ 0 est un paramètre de poids et Gσ (x, y) une fonction gaussienne bidimensionnelle de variance σ Le paramètre σ permet de définir l’étendue de l’attraction voulue ֒→Peut causer des erreurs de localisation s’il est choisi trop grand Le plus souvent, on choisit P (x, y) = −∇I(x, y) Les modèles déformables – p. 10/? Minimisation d’énergie : principe On veut trouver la courbe v(s) qui minimise l’énergie totale, soit résoudre le problème variationnel donné par l’équation d’Euler-Lagrange : ∂ ∂s | ∂v α ∂s Fpotentielle 2 z }| { ∂ v − 2 β 2 −∇P (v) = 0 ∂s ∂s {z } ∂2 (1) Finterne On cherche en fait à équilibrer le balancement des forces, donc à avoir : Finterne + Fpotentielle = 0 On empêche les étirements et fléchissements trop forts du modèle tout en le plaquant contre les contours de l’objet à détecter Les modèles déformables – p. 11/? Cas du modèle déformable dynamique (1/2) La minimisation d’énergie est vue comme un problème statique ֒→ On peut construire aussi un système dynamique que l’on veut faire évoluer vers un équilibre, selon les principes de mécanique lagrangienne Ce modèle dynamique unifie les descriptions de forme et de mouvement : contour actif ֒→ On ne quantifie plus qu’une forme statique, mais l’évolution d’une forme à travers le temps Le modèle déformable est obtenu dynamiquement en traitant v(s) comme une fonction dépendant également du temps t, soit v(s, t) = [x(s, t), y(s, t)]t Les modèles déformables – p. 12/? Cas du modèle déformable dynamique (2/2) L’équation de mouvement, selon la deuxième loi de Newton, pour le modèle avec les énergie interne et externe définies précédemment est donnée par : 2 2 2 ∂ v ∂ ∂v ∂ ∂v ∂ v µ 2 +γ − α + 2 β 2 + ∇P (v(s, t)) = 0 ∂t ∂t ∂s ∂s ∂s ∂s où γ et µ sont des termes de régulation, potentiellement variables le long de la courbe L’équilibre est obtenu quand les forces internes et externes se stabilisent et que le contour ne se déforme plus : ∂2v ∂v = =0 2 ∂t ∂t On obtient la solution de l’équation (??) Les modèles déformables – p. 13/? Minimisation d’énergie : résolution (1/4) On réécrit l’équation (??) de la manière simplifiée suivante : ′′ αv − βv (4) − ∇P (v) = 0 On ne peut trouver de solution analytique à cause de l’énergie externe, il faut donc discrétiser le problème Deux solutions : Selon les différences finies : chaque élément de la courbe est vu comme un point auquel sont rattachés des éléments mécaniques Selon les éléments finis : la courbe est divisée en segments élémentaires auxquels sont rattachés des éléments mécaniques On représente le modèle comme un vecteur de N points de contrôles vj , t t soit v = (v1t , v2t , . . . , vN ) , séparés par un pas h Les modèles déformables – p. 14/? Minimisation d’énergie : résolution (2/4) On approche les dérivées au point de contrôle vj par les différences finies : ′′ vj (4) vj vj−1 − 2vj + vj+1 ≈ h2 vj−2 − 4vj−1 + 6vj − 4vj+1 + vj+2 ≈ h4 Cela permet d’écrire l’équation au point de contrôle vj sous la forme : α vj−1 − 2vj + vj+1 h2 −β vj−2 − 4vj−1 + 6vj − 4vj+1 + vj+2 h4 − ∇P (vj ) = 0 Les modèles déformables – p. 15/? Minimisation d’énergie : résolution (3/4) Le problème peut donc être formalisé sous la forme matricielle suivante : Ax = ∇P (x, y) vx Av = ∇P (v) soit Ay = ∇Pvy (x, y) (2) où A est la matrice penta-diagonale par bande suivante : 2α + 6 hβ2 −α − 4 hβ2 1 β A=− 2 h2 h 0 .. . −α − 4 hβ2 2α + 6 hβ2 4 hβ2 −α − .. . .. . β h2 0 −α − 4 hβ2 2α + .. 6 hβ2 .. ··· β h2 β h2 .. .. . 0 .. . .. . .. . . .. . .. . . .. . .. . .. . . −α − 4 hβ2 β h2 0 .. . .. . Les modèles déformables – p. 16/? Minimisation d’énergie : résolution (4/4) L’équation (??) amène à une résolution itérative, car ∇Pv x (x, y) et ∇Pv y (x, y) ne sont pas linéaires et que A est rarement inversible On considère le système : Axt − ∇Pv x (xt−1 , yt−1 ) = −γ(xt − xt−1 ) Ayt − ∇Pv y (xt−1 , yt−1 ) = −γ(yt − yt−1 ) où γ exprime une inertie de la courbe aux déplacements. A l’équilibre, on a γ = 1 h On itère de la manière suivante : xt = (A + γI)−1 (γxt−1 + ∇Pv x (xt−1 , yt−1 )) yt = (A + γI)−1 (γyt−1 + ∇Pv y (xt−1 , yt−1 )) où : (A + γI)−1 est obtenu par la méthode LU ∇Pv x (xt−1 , yt−1 ) et ∇Pv y (xt−1 , yt−1 ) sont constants entre t − 1 et t si ||xt − xt−1 || ≃ 0 et ||yt − yt−1 || ≃ 0 après une itération, alors (xt , yt ) est une solution Les modèles déformables – p. 17/? Influence des paramètres (1/2) Étant donnée la résolution de l’image (taille du pixel), le nombre de nœuds du modèle doit être choisi de telle sorte qu’il ait l’air continu : pas de discrétisation spatiale légèrement inférieur à la taille du pixel α est la contrainte d’élasticité et exprime donc la faculté pour chaque nœud de s’écarter de ses voisins ֒→ S’il est trop petit, les nœuds s’éloignent beaucoup les uns des autres, le modèle peut donc se scinder en plusieurs morceaux β est fortement lié à la rigidité de la courbe : si on veut détecter des angles, on le choisira petit, au contraire, si l’on veut privilégier une certaine régularité, on le choisira grand Le pas temporel est ajusté de telle sorte que le déplacement de chaque nœud ne dépasse pas un ou deux pixels Les modèles déformables – p. 18/? Influence des paramètres (2/2) vt est obtenue en déplaçant vt−1 le long du vecteur γF (vt−1 ) (où F est la force extérieure) Le choix du pas de temps γ est donc déterminant pour l’évolution de la courbe Si γF (vt−1 ) est trop grand, vt risque de passer par dessus le contour. Deux cas se présenteront alors: Soit vt sera tellement loin du contour qu’il ne verra plus le minimum d’énergie, il ne reviendra donc jamais et se stabilisera au niveau d’un autre minimum Soit, vt dépasse le contour et va osciller avec une grande amplitude autour de l’équilibre sans jamais l’atteindre. Si γ est trop petit, la courbe évolue trop lentement et peut s’accrocher dans des minima locaux, la force n’étant pas suffisamment grande pour en sortir. Les modèles déformables – p. 19/? Avantages Extraction d’un minimum local par déplacements successifs d’une courbe polygonale Convient à l’extraction des contours ouverts, fermés (v0 = vN −1 ) ou à extrémités fixées (v0 et vN −1 fixés) Principe très général : des milliers de variantes Rapide et simple à mettre en œuvre, stabilité numérique face aux contraintes internes Les modèles déformables – p. 20/? Inconvénients Plus instable face aux contraintes externes : si le pas fixé est trop grand, on peut “rater” le contour Minimum local ⇒ sensibilité à l’initialisation Paramétrage difficile Ne permet pas de changements de topologie (division/fusion) Ne permet pas d’utiliser simultanément plusieurs contours Les modèles déformables – p. 21/? Autre modèle de minimisation d’énergie (1/2 Modèles déformables probabilistes (deformable templates) Maximiser la probabilité d’existence du modèle par rapport aux données en tenant compte de la probabilité a priori de réalisation du modèle Soit v le vecteur des paramètres du modèle et fv la réalisation image. On cherche : P (I|fv )P (fv ) P (fmap ) = max v P (I) avec P (I|fv ) probabilité d’avoir cette image sachant ce modèle, P (fv ) probabilité a priori d’avoir cette forme et P (I) probabilité d’avoir cette image (constante) Les modèles déformables – p. 22/? Autre modèle de minimisation d’énergie (2/2 Lien avec la minimisation d’une énergie Distribution de Gibbs : probabilité par rapport à une énergie P (fv ) = Z1t e−Eint (v) , où Zt est la constante de normalisation P (I|fv ) = Z1I e−Eext (v) , où ZI est la constante de normalisation On maximise : ln P (fv |I) = ln P (I|fv ) + ln P (fv ) − ln P (I) ≃ −Eint (v) − Eext (v) Les modèles déformables – p. 23/? Forces dynamiques (1/2) On résout un problème dynamique utilisant sur une formulation de forces, ce qui permet d’utiliser des forces externes plus générales que les forces potentielles Le modèle déformable doit satisfaire, selon la loi de Newton du second ordre : ∂2v µ 2 = Fvisqueuse (v) + Finterne (v) + Fexterne (v) ∂t où : µ est un coefficient de poids Fvisqueuse (v) = −γ ∂v ∂t , avec γ coefficient de viscosité Les modèles déformables – p. 24/? Forces dynamiques (2/2) En général, en segmentation, on pose µ = 0, et la formulation devient : ∂v γ = Finterne (v) + Fexterne (v) ∂t Les forces internes sont les mêmes que celles explicitées dans (??) Les forces externes peuvent être des forces potentielles ou d’autres types, et sont la superposition de différentes forces : Fexterne (v) = F1 (v) + F2 (v) + . . . + FN (v) Les modèles déformables – p. 25/? Force potentielle gaussienne multi-échelle La force est utilisée à différentes échelles pour élargir l’étendue d’attraction du modèle On commence par une grande valeur de σ pour obtenir une énergie potentielle créant une large vallée au niveau des contours La valeur de σ est ensuite réduite pour affiner la plaquage du modèle contre le contour Les modèles déformables – p. 26/? Force de pression (1/2) On appelle baloons (Cohen) les modèles déformables utilisant la force de pression et permettant d’extraire un contour fermé Elle est décomposée en deux forces distinctes : Une force de gradient permettant d’attirer le modèle vers les contours Une force de ballon, obligeant le modèle à se gonfler/dégonfler On la définit par : Fp (v) = k1~n(s) − k ∇P |∇P | où : ~n(s) est le vecteur normal unitaire sortant en s k1 définit si on gonfle ou dégonfle le modèle et détermine la puissance de la force de pression Les modèles déformables – p. 27/? Force de pression (2/2) Ces deux forces sont calculées en chaque nœud du modèle La force de gradient nécessite un calcul du gradient de l’image La force de ballon le calcul des normales au modèle Ces forces se compensent près des contours : le modèle est freiné ou accéléré par ces forces Gros avantage : on peut contrôler la dynamique du modèle grâce à la force de pression Si les forces ne se compensent pas, k augmente et le modèle se déforme plus vite d’une itération à l’autre Si les forces tendent à se compenser, k diminue et le modèle se déforme moins vite d’une itération à l’autre Les modèles déformables – p. 28/? Force potentielle de distance On calcule la distance (Euclidienne ou de Chamfer) de chaque pixel au point de contour le plus proche Cette carte de distance donne un champs de forces potentielles ayant une grande étendue d’attraction Si on considère une carte de distance d(x, y), l’énergie potentielle correspondante est donnée par : −d(x,y)2 Pd (x, y) = wd e Le champ de forces correspondant est donné par Fd (v) = −∇Pd (x, y) Problème dans le cas de contours concaves Les modèles déformables – p. 29/? Gradient vector flow (1/6) Objectifs : S’affranchir des problèmes d’initialisation Converger vers les régions concaves Les méthodes classiques travaillant sur le gradient de l’image comme force externe utilisent les propriétés suivantes : Les vecteurs gradient pointent vers les contours (normales entrantes) Ces vecteurs ont de forts modules au voisinage des contours Dans les régions homogènes de l’image, le module de gradient est proche de 0 Problèmes : La portée d’attraction est faible (uniquement près des contours) Les zones homogènes ne présentent aucune force externe d’attraction Les modèles déformables – p. 30/? Gradient vector flow (2/6) Solution proposée par Xu Garder les propriétés du gradient près des frontières Étendre ces propriétés en utilisant un processus de diffusion du gradient à travers les régions homogènes On utilise une carte de contours f (x, y) dérivée de l’image I(x, y) ayant de grandes valeurs au niveau des contours On définit le flot de vecteurs gradient comme le champs de vecteur v = [u(x, y), v(x, y)] qui minimise : Z Z 2 2 2 2 ǫ = µ ux + uy + vx + vy + |∇f |2 |v − ∇f |2 dxdy ∂u ∂v ∂v où ux = ∂u ∂x , uy = ∂y , vx = ∂x , vy = ∂y et µ est un paramètre de régularisation entre le premier et le second terme de l’integrale Les modèles déformables – p. 31/? Gradient vector flow (3/6) Conséquences : Si ∇f est petit (régions homogènes), l’énergie dépend essentiellement des dérivées partielles du champs de vecteurs, donc le champs varie lentement Si ∇f est grand (près des contours), le second terme domine l’intégrale, et ǫ est minimisée pour v = ∇f Le champs est attiré par les contours et diffusé lentement dans les zones homogènes Selon la formulation variationnelle, Le GVF peut être calculé en résolvant les équations d’Euler-Lagrange suivantes : µ∇2 u − (fx2 + fy2 )(u − fx ) = 0 µ∇2 v − (fx2 + fy2 )(v − fy ) = 0 Les modèles déformables – p. 32/? Gradient vector flow (4/6) Pour l’implémentation numérique, on considère u et v comme des fonctions temporelles et on obtient les équations de diffusions généralisées suivantes : ut (x, y, t) = µ∇2 u(x, y, t) − (fx (x, y)2 + fy (x, y)2 )(u(x, y, t) − fx (x, y)) vt (x, y, t) = µ∇2 v(x, y, t) − (fx (x, y)2 + fy (x, y)2 )(v(x, y, t) − fy (x, y)) On réécrit les équations de la manière suivante : ut (x, y, t) = µ∇2 u(x, y, t) − b(x, y)u(x, y, t) + c1 (x, y) vt (x, y, t) = µ∇2 v(x, y, t) − b(x, y)v(x, y, t) + c2 (x, y) en posant : b(x, y) = fx (x, y)2 + fy (x, y)2 c1 (x, y) = b(x, y)fx (x, y) c2 (x, y) = b(x, y)fy (x, y) Les modèles déformables – p. 33/? Gradient vector flow (5/6) Pour mettre en œuvre la solution, on remplace les indices x, y et t, respectivement par i, j et n, on appelle △x et △y l’espace entre les pixels et △t le temps entre deux itérations On obtient les approximations suivantes (différences finies) : ut = vt = ∇2 u = ∇2 v = 1 n+1 n ui,j − ui,j △t 1 n+1 n v − vi,j △t i,j 1 (ui+1,j + ui,j+1 + ui−1,j + ui,j−1 − 4ui,j ) △x△y 1 (vi+1,j + vi,j+1 + vi−1,j + vi,j−1 − 4vi,j ) △x△y Les modèles déformables – p. 34/? Gradient vector flow (6/6) La solution itérative est donnée par : un+1 i,j = r uni+1,j + uni,j+1 + uni−1,j + uni−1,j − 4uni,j + (1 − bi,j △t) uni,j + c1i,j △t n+1 vi,j = r n vi+1,j n + vi,j+1 n + vi−1,j n + vi−1,j n + c2i,j △t + (1 − bi,j △t) vi,j Avec : r = n − 4vi,j µ△t △x△y Les modèles déformables – p. 35/? Les modèles déformables géométriques Modèles utilisant la théorie de l’évolution de courbes ou les méthodes level set (ensembles de niveaux) Les courbes et les surfaces évoluent par le biais de mesures géométriques résultant d’une évolution, et donc indépendantes de paramètres Les courbes sont représentées comme un ensemble de niveaux d’une fonction de dimension supérieure Les changements de topologie sont pris en compte automatiquement Idée : coupler la vitesse de déformation avec les données de l’image ֒→ L’évolution de la courbe s’arrête aux contours de l’objet Les modèles déformables – p. 36/? La théorie de l’évolution de courbes (1/2) On étudie l’évolution de la courbe en utilisant uniquement des mesures géométriques (normale à la courbe, courbure, ...) et non pas des quantités dépendant de paramètres (comme les dérivées d’une courbes spécifiques) On considère une courbe X(s, t) = [X(s, t), Y (s, t)], avec s une paramétrisation et t le temps L’évolution de X dans la direction de sa normale unité N est donnée par l’équation différentielle : ∂X ∂t = V (κ)N où κ est une fonction des propriétés de la courbe (normale, courbure) et V (κ) est appelée fonction vitesse de propagation, caractérisant la vitesse d’évolution de la courbe. Les modèles déformables – p. 37/? La théorie de l’évolution de courbes (2/2) Deux déformations de courbes ont été principalement étudiées, qui sont complémentaires L’étude de la déformation de courbure, donnée par l’équation : ∂X ∂t = ακN où α est une constante positive. ֒→ Effet similaire à l’utilisation d’une force interne élastique dans un modèle paramétrique L’étude de la déformation constante, donnée par l’équation : ∂X ∂t = V0 N où V0 est un coefficient donnant la vitesse et la direction de la déformation ֒→ Effet similaire à l’utilisation d’une force externe de pression dans un modèle paramétrique Les modèles déformables – p. 38/? Méthodes Level Set (1/5) Méthodes numériques pour calculer la propagation spatiale de front au cours du temps : ajout d’une dimension temporelle Caractérisation précise des propriétés géométriques Un level set est un ensemble de points qui ont la même valeur de fonction (i.e. courbe de niveaux) : c’est un isocontour d’une fonction (x, y, t), défini sur le domaine de l’image Les méthodes level set font évoluer une courbe en mettant à jour une fonction level set à des coordonnées fixes au cours du temps L’isocontour constitue la borne d’une surface ouverte dans Rn : si on cherche des contours, on introduit des surfaces de R3 , si on cherche des surfaces, on introduit des volumes de R4 Les modèles déformables – p. 39/? Méthodes Level Set (2/5) On considère le modèle X(s, t), limité à une région Ω et on veut calculer et analyser son mouvement ultérieur à une vitesse ~v Soit φ(x, y, t) une fonction level set, dont les propriétés sont les suivantes : φ(x, y, t) < 0 pour (x, y) ∈ Ω φ(x, y, t) > 0 pour (x, y) 6∈ Ω φ(x, y, t) = 0 pour (x, y) ∈ X(s, t) Le modèle X(s, t) se définit donc comme le level set zéro de φ, puisqu’on a φ(X(s, t), t) = 0 X(s, t) reste le level set zéro durant son évolution : on doit trouver les valeurs de X(s, t) pour lesquelles φ(X(s, t), t) = 0 Les modèles déformables – p. 40/? Méthodes Level Set (3/5) Comment bouger la surface level set ? 1. Définir un champs mouvement F spécifiant comment les points du modèle bougent dans le temps ֒→ Théorie de l’évolution des courbes (normale, courbure, etc.) 2. Construire une valeur initiale pour la fonction level set φ(x, y, t = 0), basé sur la position initiale du contour 3. Ajuster φ au cours du temps, le contour courant étant défini par φ(x(t), y(t), t) = 0 Les modèles déformables – p. 41/? Méthodes Level Set (4/5) On doit modéliser l’évolution de X(s, t) dans le temps L’équation d’évolution des courbes est donnée par l’équation de la chaleur : ∂φ(X, t) ∂t = ∂φ ∂X + ∇φ · =0 ∂t ∂t D’après la théorie de l’évolution des courbes, on a ∂X ∂t = V (κ)N Si on appelle F la vitesse de la courbe dans la direction de la normale entrante, on a F = −N · V (κ) L’équation d’évolution de φ devient : ∂φ ∂t = F |∇φ| Les modèles déformables – p. 42/? Méthodes Level Set (5/5) Les propriétés géométriques de la courbe sont connues facilement : ∇φ La normale est donnée par ~n = |∇φ| La courbure κ est donnée par : φxx φ2y − 2φx φy φxy + φyy φ2x ∇φ = κ = div 32 |∇φ| φ2 + φ2 x y La fonction de vitesse V (κ) : De type déformation de courbure et/ou constante Dépend des données de l’image But : V (κ) = 0 aux frontières de l’objet à segmenter Les modèles déformables – p. 43/? Un exemple simple : expansion d’un cercle Représentation d’un cercle par level set : p x2 − y 2 − r φ(x, y, t = 0) = On suppose que le cercle s’étend uniformément : F = 1 et que ∇φ = 1 est observé partout (par choix de représentation) L’équation d’évolution obtenue est : ∂φ = F |∇φ| = 1 ∂t p La solution est donc φ(x, y, t) = x2 − y 2 − r + t, soit le cercle a un rayon de r + t au temps t Les modèles déformables – p. 44/? Mouvement de la courbe (1/3) Chaque partie du modèle se déplace perpendiculairement à la courbe, selon une vitesse proportionnelle à la courbure ֒→ Des points peuvent se déplacer vers l’intérieur et d’autres vers l’extérieur, selon le signe de la courbure On choisit en général une distance signée au contour : Distance négative à l’intérieur de la courbe et positive en dehors Le gradient de cette fonction est unitaire partout, et elle est relativement lisse Les modèles déformables – p. 45/? Mouvement de la courbe (2/3) Le choix d’une fonction vitesse appropriée (selon besoins) permet ensuite de segmenter un objet. La forme générale d’une telle fonction vitesse est : F = 1 − ǫκ + β(∇φ · ∇|∇I|) où : 1 permet au modèle d’augmenter à l’intérieur de l’objet −ǫκ est un terme de viscosité réduisant la courbure du modèle β(∇φ · ∇|∇I|) plaque le modèle contre les contours de l’image Les modèles déformables – p. 46/? Mouvement de la courbe (3/3) Les modèles déformables – p. 47/? Autres exemples de fonctions vitesse (1/2) Formulation proposée par Malladi et al. ∂φ = c(κ + V0 )|∇φ| ∂t où : c= 1 1+|∇(Gσ ⋆I)| V0 > 0 raccourcit la courbe et V0 < 0 l’étend Problème : cela fonctionne sur des images bien contrastées, sinon le modèle déformable peut manquer le contour (c permet de diminuer l’étendue de déformation uniquement près des contours) Les modèles déformables – p. 48/? Autres exemples de fonctions vitesse (2/2) Formulation proposée par Caselles et al. ∂φ = c(κ + V0 )|∇φ| + ∇c · ∇φ ∂t où ∇c · ∇φ est un terme d’arrêt supplémentaire qui peut ramener le modèle au contour si celui-ci a été manqué Formulation proposée par Siddiqi et al. 1 ∂φ = λ(cκ|∇φ| + ∇c · ∇φ) + (c + X · ∇c)|∇φ| ∂t 2 où 12 X · ∇c permet d’arrêter la propagation de la courbe dans le cas de petites discontinuités dans le contour Les modèles déformables – p. 49/? Mise-à-jour de la fonction level set L’équation de mise-à-jour est donnée par : φn+1 i q q = φni − ∆t( Di−x + Di+x ) q q où Di−x et Di+x sont respectivement les distances (dans le sens de la normale) aux points les plus proches du point i du modèle (sur l’axe de φ) Cette solution est très coûteuse, il y a deux alternatives : Méthode de la bande étroite (Narrow Band Level Set Method) Méthodes de recherche rapide (Fast Marching Methods) Les modèles déformables – p. 50/? Avantages des level set Représentation des changements topologiques de X(s, t) Facteurs géométriques intrinsèques (normales entrantes/sortantes, courbure) faciles à calculer Extension en 4D simple : il suffit d’ajouter une variable à l’équation d’évolution du volume φ(x, y, z, t) Avantages numériques : discrétisation de φ(x, y, t) avec une grille pour les valeurs possibles de (x, y), et utilisation des méthodes numériques connues pour évaluer les dérivées Les modèles déformables – p. 51/? Inconvénients des level set L’implémentation implique trois problèmes : 1. On doit construire une fonction initiale φ(x, y, t = 0) de manière à ce que son level set zéro corresponde à la position initiale du contour 2. L’équation d’évolution n’est dérivée qu’au level set zéro, la fonction vitesse F n’est donc pas définie (en général) pour les autres level set 3. La déformation constante peut causer la formation de coins saillants sur le modèle initialement lisse. Ce coin peut perturber les déformations successives, puisque la définition de la normale devient ambiguë Les modèles déformables – p. 52/?