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/?

Documents pareils