Transcript 0 - Free

Imagerie Médicale
Cours 5 : Segmentation,
Recalage d’images
Formation ISIS
UJFC Castres
Clovis Tauber
[email protected]
Plan du cours
1.
2.
3.
4.
5.
6.
7.
Segmentation
Modèles des contours (qu'est ce qu'un contour)
Détection par convolution
Croissance de région
Contours actifs
Recalage d'images
Exercices de segmentation et de recalage
Segmenter une image ?
• Partitionner l’image en zone homogènes selon un
critère déterminé: couleur, texture, niveau de gris,
indice, contours …
Qu’est ce qu’un contour ?
• Analyse d’un profil horizontal :
–
–
–
–
–
Rampe
Point isolé
Ligne mince
Marche (escalier)
Plusieurs sections
constantes (plats)
Types de contours : analyse 1D
Calculez en 1 dimension
•les valeurs de la dérivée du signal
•les valeurs de la dérivée seconde
•Établissez un moyen de repérer chaque type de contour
Types de contours : Exemples 2D
Rétinogramme
IRM cérébral
Types de contours : détection
• Dérivé première
– arêtes grossières
– changements abruptes (escalier)
• Dérivé seconde
– détails fins tel lignes et points
– double aux changements abruptes
Mesure de contours : Gradient
• Le gradient de  au point (x,y) est
un vecteur à deux dimensions
 f 
 Gx    x 
F      
 Gy    f 
  y 
• En imagerie, on s'intéresse à la norme (magnitude) du
gradient et à son orientation
2
2
f  G x  G y
 f   f 
     
 x   y 
2
 Gy 
 G   arct an 
 Gx 
2
Mesure de contours : Gradient
• Principe du gradient : détecter les zones de forte variation du
niveau de gris
-1 0
0 1
Opérateurs de Roberts Rx’
Ry’
0 1
-1 0
Opérateurs de Préwitt
Opérateurs de Sobel
Px
Sx
-1
0
1
-1
0
1
-1
0
-1
-1 -1
-1
0
0
0
1
1
1
1
0
1
-1
-2
-1
-2
0
2
0
0
0
-1
0
1
1
2
1
Py
Sy
Mesure de contours : Gradient
• Appliquez les masques de Sobel et Préwitt à l’image
damier
Mesure de contours : Exercice
• Exercice :
– À travers un protocole que vous choisissez, votre objectif
est d’émettre des hypothèses sur les propriétés respectives
(et les différences) entre les filtres de Préwitt et Sobel
– Puis de les démontrer
• Conseils :
– Appliquez les masques de Sobel et Préwitt à des images de
différents types pour étudier leur comportement
– Une fois une hypothèse faite, créez une image spécifique
pour mettre en valeur la propriété
• Proposez des masques complémentaires à ceux de
Sobel et Préwitt
Mesure de contours : Exercice
• Préwitt :
– ….
– ….
Contenu enlevé
• Sobel :
– ….
– ….
Mesure de contours : Laplacien
• Le Laplacien est le plus simple opérateur dérivatif isotropique
• C'est un scalaire (information quantitative, pas directionnelle)
2
2

f

f
2
 f
2 
 x  y2
• Dérivé partielle seconde de f(x,y) dans la direction de x
– version discrète
 2f
2  f ( x  1, y)  f ( x  1, y)  2 f ( x, y)
x
• Dérivé partielle seconde de f(x,y) dans la direction de y
– version discrète
 2f
2  f ( x, y  1)  f ( x, y  1)  2 f ( x, y)
y
Mesure de contours : Laplacien
• Le Laplacien est un opérateur linéaire : il peut donc se calculer
par convolution
• A vous de jouer : trouvez le masque de convolution qui
correspond au Laplacien
Mesure de contours : Laplacien
• Exercice : trouver l’effet du Laplacien sur une image
– Construisez le masque de convolution du Laplacien dans ImageJ
– Appliquez le masque à différentes images aux propriétés différentes
– Concluez
Propriétés du Laplacien en tant qu’opérateur sur l’image :
• ..
•..
•..
•..
Mesure de contours : Laplacien
• Exercice :
– Évaluez l’influence sur une image des masques suivants
– Interprétez mathématiquement les résultats
0
-1
0
-1 -1 -1
-1
5
-1
-1
0
-1
0
-1 -1 -1
9
-1
Croissance de région
• Idée: partir d’un point amorce (seed) et étendre en ajoutant les
points de la frontières qui satisfont un critère d’homogénéité
amorce
croissance
région finale
• Le point amorce peut être choisi soit par un humain, soit de
manière automatique en évitant les zones de fort contraste
(gradient important) => méthode par amorce.
• Si le critère d’homogénéité est local (comparaison de la valeur
du pixel candidat et du pixel de la frontière) => méthode
linéaire.
Croissance de région
• Avantages :
– Méthode rapide
– Conceptuellement très simple
• Inconvénients :
– Méthode locale: aucune vision globale du problème. En pratique, il y a
presque toujours un chemin continu de points connexes de couleur
proche qui relie deux points d’une image…
– Problème du gradient:
– Tenir compte de l’homogénéité globale donne un algorithme sensible à
l’ordre de parcours des points (méthode par amorce)
– Algorithme très sensible au bruit, peu stable.
Split and Merge
•
Principe :
–
–
Découper l’image en arbre (SPLIT)
Fusionner les parties homogènes (MERGE)
Image initiale
Split 1
Split 2
Split 3
Split and Merge
• Construire le RAG : graphe qui prend en compte l’adjacence
• Valeur des arrêtes : mesure de la différence d’homogénéité
• Fusion itérative des nœuds
Quadtree
RAG
Ligne de partage des eaux
• Considérer une image comme une carte topographique.
• Principe : inonder cette carte topographique à partir de
sources qui seront placées dans l’image.
• L’image finale sera composée de bassins (où l’eau s’est
accumulée) et de lignes délimitant ces bassins.
Watershed
lines
1.
Trouver les minima de l’image
–
2.
n_bassin=n_minima
Tant que n_bassin>1 faire
–
–
inonder l’image à partir des minima
Si deux bassins communiquent alors
un maximum local est trouvé fin si
Fin tant que
Ligne de partage des eaux
• Avantages:
– Grande précision sur les frontières obtenues
– Distinction parfaite de 2 régions collées
• Inconvénients:
–
–
–
–
Consommation de mémoire
Sensibilité au bruit
Sur-segmentation
Demande un post-traitement
Contours actifs
• Principe : utiliser des courbes déformables qui sont attirées par
les formes et contours recherchés dans l’image.
Contours actifs : modèle explicite
• Comment modélise-t-on un contour actif ?
P9
P8
P10
P7
P11
P6
P3
P1
P2
P5
P4
Esnake  Einterne  Eexterne
• Propriétés intrinsèques
• Longueur, courbure…
• Propriétés locales de l’image
autour du snake
Contours actifs : modèle explicite
• Comment évolue un contour actif ?
Comportement dynamique du snake?
Minimiser l’énergie totale (interne + externe)
F  E
Calculer les forces à appliquer à chaque point de contrôle de
telle sorte que l’énergie soit minimisée
E ( x, y )

 Fx  x

 Fy  E ( x, y )

y
Contours actifs : modèle explicite
Exemples d’énergie EXTERNE (Image):
Zones brillantes ou sombres:
Eext  I
Contours en tant que maxima de la norme du gradient:
Eext   I
Adapté au speckle :
2
Contours actifs : modèle explicite
• Avantages:
– Adaptation aux déformations des tissus biologiques
– Adaptation aux différences d’organe entre coupes
– Quelques itérations suffisent
• Désavantages du modèle classique :
–
Le contour initial ne peut pas être sélectionné automatiquement (sauf cas simple)
–
Le contour initial doit être proche du contour final
–
Le modèle classique n’est pas utilisable dans le cas de la présence de texture
–
Le modèle classique peut être perturbé en présence de bruit
–
La minimisation d'énergie demande l’inversion de matrices de grandes tailles à chaque
itération
Ensembles de niveaux (level sets)
• Représentation du contour actif comme la courbe de niveau 0
d’une fonction de degré supérieur
• Déplacement à une vitesse F suivant une direction normale au
contour
z =PHI(x,y,t)
F
y
Dehors
y
phi(1)
Dedans
phi(0)
Dehors
x
phi(0) =Level set
phi(1)
x
Ensembles de niveaux (level sets)
• Intérêt majeur : prise en compte des changements topologiques
t
t
y
y
x
x
Recalage d’images
• Définition : étant données deux images (I,J), trouver la
transformation géométrique qui les met en correspondance
spatiale.
• Formulation de Brown
Méthode d'optimisation
Domaine des
transformations
Application d'une
transformation T
Mesure de similarité
Recalage d’images
Image mobile
Image fixe
représentation
représentation
J
I
Transformation
+
Interpolation
Echantillonage
T
EoIoT(J)
Similarité
Optimisation
EIT final
^
T
Recalage d’images : représentation de
l’image
• Approche Géométrique
– Détection de primitives (points, lignes, surfaces...)
– Avantages : réduction de la taille des données à traiter, rapidité
– Inconvénients : précision limitée, extraction d'indice difficile
• Approche Iconique
– Basée sur l'ensemble des niveaux de gris : pas de réduction de
l'information
– Recalage par minimisation d'une fonctionnelle d'énergie (attache aux
données + régularisation)
– Avantages :
• Pas d'étape d'extraction, robustesse, flexibilité
– Inconvénients:
• Lourde complexité, généralement pas adapté à la multimodalité, pb
initialisation
Recalage d’images : type de transformation
• Choix de la transformation :
–
–
–
–
Nature des déformations (rigide, non rigide …)
Disponibilité d'infomation a priori
Précision voulue
Importance du coût en calcul de la méthode
• Caractéristiques :
– Zone d'influence (locale / globale)
– Nature du modèle (paramétrique ou non)
– Préservations géométriques (linéaire ou non)
Recalage d’images : fonctions de similarité
•
•
•
•
•
•
•
•
•
•
•
•
•
Recherche du point le plus proche (NN, ICP)
Minimisation de la distance entre points extraits
Maximisation de l'aire d'intersection de surfaces
Alignement des axes d'inertie
Corrélation entre deux images (spatial/Fourier)
Fonction de similarité quadratique
Minimisation de la variance des rapports d'intensité
Minimisation de la variance dans les partitions de IMref sur Imfloat
Maximisation de l'information mutuelle
Minimisation de mesures fondées sur la matrice de co-occurrence
Utilisation de la transformée de distances
Critères bayésiens
....
Recalage d’images : fonctions de similarité
• Similarité entre intensités (mono modal)
– Quadratique :
– Quadratique normalisé
– Corrélation
– Similarité robuste
Recalage d’images : Optimisation
• Algos classiques :
– Gradient, gradient conjugué, Powell, simplexe, LevenbergMarquardt, Newton-Raphson...
• Initialisation:
– Connaissance a priori, axes d'inertie, essais à partir de
plusieurs positions
– Optimisation stochastique, algo génétique, recuit
• Autres :
– Méthodes adaptées à la fct de coût : ex ICP
– Recherche par graphe, programmation dyn.
Recalage d’images : Interpolation
• Calcul de la transformée inverse
• Problème de la valeur à affecter
Recalage d’images : Interpolation
• Calcul de la valeur :
– Interpolation bi-linéaire
– Interpolation spline
– Plus proche voisin …
Recalage d’images : comment choisir ?
• Nature des données
– Image : dimensions, résolutions, distorsions, modalités ...
– Objet : même objet ou même type d'objet ? quelle partie ?
Mouvement ?
– Cause du décalage : on ne veut pas forcement tout corriger
• Méthode de résolution
–
–
–
–
Classe de transformation
Base de recalage : extrinsèque, intrinsèque, non basé image
Intéraction
Calcul : initialisation, mesure de similarité, methode
d'optimisation
Contours actifs, Recalage : application
• Installation d’un plug-in de contours actifs pour ImageJ
– Méthode de Jacob et Unser
M. Jacob, T. Blu, M. Unser, "Efficient energies and algorithms for parametric
snakes", IEEE Transactions on Image Processing.
– Modèle hybride : basé contour et région
• Installation d’un plug-in de recalage pour ImageJ
– bUnwarpJ
Utilisation du plugin Active Contour
Add points: Click on the image to start the curve input.
Double click or click on the first(red point) to close the curve
Delete points: Click on the knot to delete it.
Delete all: Clear everything
Add constraints: Click on the point through which the curve should
pass through
Delete constraint: Click on the constraint point to delete it.
Double click the button to clear all constraints
Preferences: See below for explanations of the parameters.
Snake: Start the snake algorithm.
Accept: Accept the final snake (red) as the initialization.
Stack: Reserved for future use on image stacks
Save to File: Saves the current snake to a file.
Exit SplineSnake: Exit the SplineSnake to ImageJ
Zoom.
Utilisation du plugin Active Contour
The parameters on the left are the ones used during the curve
initialization. They are
•
•
•
•
Optimization: Level of optimization during curve initialization.
Knot spacing: Spacing of the curve knots. Widely spaced knots imply smooth curves, but
may fail to capture the details. Its proper choice depends on the application.
StepSize: Size of the step in the optimization during initialization.
Smoothing radius: used for smoothing the image prior to the gradient computation.
The ones on the right are used by the snake.
• Image energy: proper linear combination of gradient and region energies can result in better
convergence. The right combination depends on the image.
• Max #iterations: Maximum number of iterations.
• Accuracy: Accuracy to which the snake is optimized.
• Smoothing radius: used for smoothing the image prior to the gradient computation.
• Spring weight: Weight for the constraint (active only if Spring Constraint is set. A high value
may cause the snake to misbehave).
The current parameter values may be saved to avoid entering
them each time. The saved values can be recovered by pressing
the "Default" button.
Exercices : segmentation
A l’aide du plugin SplineSnake
1. Segmentez le corps du caméraman
2. Segmentez les différentes formes de l’image « objects.png »
–
–
Analysez l’influence de la forme et de l’initialisation sur le résultat.
Pour chaque forme notez :
•
•
3.
Robustesse à l’initialisation ?
Qualité du résultat (atteinte des concavités) ? Meilleure énergie externe ?
Segmentez une cavité cardiaque de
l’image échographique
–
–
Varier la proportion d’énergie gradient/région
Analysez les différents résultats
Exercices : recalage
• A l’aide du plugin bUnwarpJ
– Choisissez une image du répertoire
– Appliquez dessus une rotation à l’aide d’imageJ et sauvegardez le
résultat
– Utilisez bUnwarpJ pour retrouver la transformation
– Vérifiez les résultats pour des rotations croissantes
• Recalez les images déformées du caméraman avec l’image
initiale