Recalage rigide Recalage non-rigide - Creatis
Recalage rigide Recalage non-rigide - Creatis
Recalage rigide Recalage non-rigide - Creatis
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Recalage</strong> d'images<br />
<strong>Recalage</strong> <strong>rigide</strong><br />
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong>
<strong>Recalage</strong> <strong>rigide</strong>/<strong>non</strong>-<strong>rigide</strong><br />
● Modèle <strong>rigide</strong> :<br />
● Modèle <strong>non</strong> <strong>rigide</strong> :<br />
– T inclue des déformations<br />
– T = transformation «locale» vs «globale»
Déformation<br />
●<br />
Contraindre la déformation<br />
– Pourquoi ?
Déformation<br />
●<br />
Contraindre la déformation<br />
– Pourquoi ?
Déformation<br />
●<br />
Contraindre la déformation<br />
– Pourquoi ?
Déformation<br />
●<br />
Contraindre la déformation<br />
– Comment ?<br />
– Limiter les déformations<br />
– Notions de «temps» ...<br />
– Construire un espace de transformations<br />
«valides»
Déformation<br />
●<br />
Déformation 3D<br />
T x=x '<br />
T x=xu x<br />
ux x x = x ' , x ' , x ' <br />
1, 2, 3 1 2 3<br />
u ,T :R ³ R ³
Déformation<br />
●<br />
Déformation 4D<br />
T x ,t =x '<br />
T x ,t =T x , t−1u x ,t
Déformation T<br />
●<br />
Propriétés d'un difféomorphisme<br />
– Homéomorphisme : T(x) = x'<br />
●<br />
●<br />
●<br />
Continu<br />
Bijectif («one to one»)<br />
Ayant un inverse T -1 qui est aussi continu<br />
– Différentiable, avec un inverse différentiable
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
●<br />
Deux grandes classes<br />
– «Epars» : interpolation des déplacements des<br />
points de contrôle avec un modèle de<br />
déformation<br />
– «Dense» : évaluation d’un vecteur de<br />
déplacement en chaque point
Points de contrôle<br />
●<br />
Correspondances de points<br />
– Ensemble de paires de points homologues
Points de contrôle<br />
●<br />
Correspondances de points<br />
– Ensemble de paires de points homologues<br />
– Interpolation
Points de contrôle<br />
●<br />
Correspondances de points<br />
– Ensemble de paires de points homologues<br />
– Paramétrisation de la T :<br />
● «courbes» d'un type particulier (Spline ...)<br />
●<br />
Contraintes par des propriétés de continuité,<br />
dérivabilité ...
Free-form<br />
●<br />
●<br />
●<br />
Correspondances de points<br />
Ensemble dense<br />
Contraintes a posteriori (=regularisation)
Contraintes<br />
● Exemples :<br />
– Deux points voisins ont un déplacement voisin<br />
– Directions, normes ...<br />
– Dépend de l'application !<br />
– Compromis, info apriori
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
● Modèle générique :<br />
● Énergies :<br />
T =arg min E I , J ,T <br />
E I , J , T =E s I , J , T E r T <br />
– De similarité E s<br />
– De régularisation E r<br />
● Paramètre de contrôle :
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
● Une approche :<br />
E s<br />
I , J ,T =∫ x<br />
L s<br />
x<br />
●<br />
●<br />
Intégration de similarité locale (au niveau des<br />
points)<br />
Exemple : SSD<br />
L s=ssd x=I x−J T x 2<br />
L s=ssd x= I x−J xux 2
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
● Une approche :<br />
E r<br />
I , J ,T =∫ x<br />
L r<br />
u x<br />
●<br />
Intégration de regularisation locale<br />
● Exemples :<br />
L r = frobenius x=∥∇ u x∥ 2 =∑ i<br />
∑ j <br />
u i<br />
x j<br />
2
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
●<br />
●<br />
Matrice Jacobienne de la transformation<br />
Matrice des dérivées partielles<br />
u:R ³ R ³<br />
ux x x = x ' , x ' , x ' <br />
1, 2, 3 1 2 3<br />
u={u x x x <br />
1 1, 2, 3<br />
}<br />
u x x x <br />
2 1, 2, 3<br />
u x x x 3 1, 2, 3<br />
u 1<br />
u 2<br />
u 3<br />
x 1 x 1 x 1<br />
u<br />
∇ u x= <br />
1 u 2 u 3<br />
x 2<br />
x 2<br />
x 2<br />
u 1<br />
u 2<br />
u 3<br />
x 3<br />
x 3<br />
x 3
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
●<br />
●<br />
Similarité locale Ls<br />
Contraintes locale Lr<br />
– Sur dérivées partielles locales<br />
● Dérivées ?<br />
– Différences finies :<br />
f ' x≃<br />
f xh− f x−h <br />
O h 2 <br />
2h
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
●<br />
Exemple pour une dérive partielle<br />
u 1<br />
a ,b , c≃ u 1a ,b1, c−u 1 a ,b−1, c<br />
x 2<br />
2
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
● Critères de régularisation :<br />
– Très nombreux !<br />
– Paramètres à régler ...
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
●<br />
Optimisation<br />
T =arg min E I , J ,T <br />
● Combien de dimension ?
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
● Combien de dimension ?<br />
– n voxels (par exemple 10 millions)<br />
– 3 degrés de liberté (3D)<br />
– Espace de recherche à<br />
30 millions de dimensions
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
● Descente de gradient ?<br />
T =arg min E I , J ,T <br />
E I , J , T =E s I , J , T E r T <br />
E I , J ,T =∫ L x<br />
s x s<br />
E I , J ,T =∫ L u x<br />
r x r
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
●<br />
Descente de gradient LOCALE<br />
u i =u i −1 ∇ E<br />
u i =u i −1 ∇ E s E r <br />
u i x=u i −1 x ∇L s xL r x
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
● Expression des gradients locaux :<br />
∇L s x∈R 3<br />
L s= ssd<br />
u 1<br />
x=<br />
I x− J xu x2<br />
u 1<br />
=2 J xu x−I x ∇ J xu x
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong><br />
●<br />
Conclusion<br />
– Critère de similarité (local ?)<br />
– Critère de régularisation (local ?)<br />
●<br />
Définition, contrainte de l'espace de recherche<br />
– Implicite, explicite<br />
– Densité des «points de contrôle»<br />
– Minimisation<br />
– Nombreux paramètres !<br />
– Schémas multi-résolution, multi-grille ...<br />
– Validation ?
«Demons»<br />
● Proposé par Thirion (INRIA) 1995<br />
●<br />
●<br />
Processus itératif<br />
Deux étapes<br />
– Appariement<br />
●<br />
– Régularisation<br />
Critère d'arrêt<br />
● (Pas de minimisation explicite ...)
«Demons»<br />
u<br />
i<br />
(x)<br />
=<br />
∇I<br />
2<br />
+<br />
I(x)<br />
− J<br />
α<br />
2<br />
T<br />
i−1<br />
( I(x)<br />
− J<br />
(x)<br />
T<br />
i−1<br />
(x))<br />
2<br />
∇I<br />
T +<br />
i<br />
= smooth( T u<br />
i−1<br />
i<br />
)
«Demons»<br />
●<br />
Hypothèses<br />
– Conservation de l'intensité entre les images<br />
– Petits / large déplacements (alpha)<br />
– Lissage / gradient<br />
●<br />
Non symétrique
Régularisation : Gaussienne
Régularisation : Gaussienne<br />
●<br />
Filtrage Gaussien 1D<br />
– le champ h(x) est 3D<br />
– Donc de h(x 1<br />
,x 2<br />
,x 3<br />
)=(y 1<br />
,y 2<br />
,y 3<br />
)<br />
– h 1<br />
(x 1<br />
,x 2<br />
,x 3<br />
)=y 1<br />
– h 2<br />
(x 1<br />
,x 2<br />
,x 3<br />
)=y 2<br />
– h 3<br />
(x 1<br />
,x 2<br />
,x 3<br />
)=y 3<br />
– 3x3=9 filtres 1D !
Exemple de déroulement<br />
/home/dsarrut/enseignement/dea-disic/site/demons/movie.mpg
ecalage<br />
Application
Application en radiothérapie<br />
●<br />
●<br />
●<br />
●<br />
Radiothérapie<br />
TTT du cancer (270.000 nx cas/an en fr)<br />
– Chirurgie / Chimio / RTX (1/3)<br />
But = délivrer le max de dose (RX) à la<br />
tumeur<br />
... épargner au maxium les tissus sains<br />
environnants
Radiothérapie<br />
●<br />
Etape 1 = scanner X
Radiothérapie<br />
●<br />
Etape 2 : plan de traitement
Radiothérapie<br />
●<br />
Etape 3 : séances d'irradiation
Contrôle de traitement<br />
●<br />
Difficultés<br />
– position du patients<br />
– mouvement du patient (respiration)<br />
– évolution de l'anatomie (régression tumeur, perte<br />
de poids)
Centre de lutte contre le cancer<br />
●<br />
Léon Bérard (Lyon, grange-blanche)
Mouvements respiratoire
ABC (Active Breath Control)
Mouvements respiratoire
ABC (Active Breath Control)<br />
●<br />
Traitement en respiration bloquée (limite les<br />
mouvements)<br />
● Acquisitions scanner également !<br />
●<br />
Données<br />
– 1 scan 3D de référence<br />
– 3 scan en blocage, même blocage<br />
– 3 scan en blocage, 3 blocages différents (expiration,<br />
inspiration, forte inspiration)
Cycle respiratoire
ABC (Active Breath Control)
Différents instants du cycle
ABC (Active Breath Control)<br />
●<br />
Même blocage : étude de la reproducibilité<br />
– faible déplacement<br />
●<br />
Blocage différent : étude des mouvements<br />
– fort déplacement<br />
<strong>Recalage</strong> <strong>non</strong>-<strong>rigide</strong>
ABC (Active Breath Control)<br />
/home/dsarrut/public_html/vectorfield/coupesZ/images.html
Futur<br />
Collimateur de<br />
l'accélérateur<br />
Synchronisation avec la<br />
respiration<br />
Modèle 4D de la respiration
Positionnement<br />
●<br />
<strong>Recalage</strong> <strong>rigide</strong> 2D/3D