cours 5 : segmentation, recalage dimages formation isis ujfc castres clovis tauber [email protected]...
TRANSCRIPT
Cours 5 : Segmentation, Recalage d’images
Formation ISISUJFC Castres
Clovis [email protected]
Imagerie Médicale
Plan du cours
1. Segmentation
2. Modèles des contours (qu'est ce qu'un contour)
3. Détection par convolution
4. Croissance de région
5. Contours actifs
6. Recalage d'images
7. 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 sectionsconstantes (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
IRM cérébral
Rétinogramme
• 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
Types de contours : détection
• Le gradient de au point (x,y) est un vecteur à deux dimensions
• En imagerie, on s'intéresse à la norme (magnitude) du gradient et à son orientation
Mesure de contours : Gradient
FG
G
f
xf
y
x
y
x
y
yx
G
GG
y
f
x
f
GGf
arctan
22
22
• Principe du gradient : détecter les zones de forte variation du niveau de gris
Mesure de contours : Gradient
-1 0
0 1
0 1
-1 0Opérateurs de Roberts Rx’ Ry’
-1 0 1
-1 0 1
-1 0 1
Opérateurs de Préwitt Px Py
-1 -1 -1
0 0 0
1 1 1
-1 0 1
-2 0 2
-1 0 1
Opérateurs de Sobel Sx Sy
-1 -2 -1
0 0 0
1 2 1
• Appliquez les masques de Sobel et Préwitt à l’image damier
Mesure de contours : Gradient
• 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 : Exercice
• Le Laplacien est le plus simple opérateur dérivatif isotropique
• C'est un scalaire (information quantitative, pas directionnelle)
• Dérivé partielle seconde de f(x,y) dans la direction de x– version discrète
• Dérivé partielle seconde de f(x,y) dans la direction de y– version discrète
Mesure de contours : Laplacien
22
2
2
2ff
x
f
y
2
2 1 1 2f
xf x y f x y f x y ( , ) ( , ) ( , )
2
2 1 1 2f
yf x y f x y f x y ( , ) ( , ) ( , )
• 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
Mesure de contours : Laplacien
Propriétés du Laplacien en tant qu’opérateur sur l’image :• ..•..•..•..
• Exercice :– Évaluez l’influence sur une image des masques suivants
– Interprétez mathématiquement les résultats
Mesure de contours : Laplacien
0 -1 0
-1 5 -1
0 -1 0
-1 -1 -1
-1 9 -1
-1 -1 -1
• 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é
• 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
amorce croissance région finale
• 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.
Croissance de région
• Principe :– Découper l’image en arbre (SPLIT)
– Fusionner les parties homogènes (MERGE)
Split and Merge
Image initialeSplit 1
Split 2Split 3
Quadtree RAG
• 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
Split and Merge
• 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.
Ligne de partage des eaux
1. Trouver les minima de l’image– n_bassin=n_minima
2. 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
Watershed lines
• 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
Ligne de partage des eaux
• Principe : utiliser des courbes déformables qui sont attirées par les formes et contours recherchés dans l’image.
Contours actifs
• Comment modélise-t-on un contour actif ?
Contours actifs : modèle explicite
P1 P2
P3
P4P5
P6
P7
P8P9
P10
P11
externeinternesnake EEE
• Propriétés intrinsèques• Longueur, courbure…
• Propriétés locales de l’image autour du snake
• Comment évolue un contour actif ?
Contours actifs : modèle explicite
Comportement dynamique du snake?
Minimiser l’énergie totale (interne + externe)
Calculer les forces à appliquer à chaque point de contrôle de telle sorte que l’énergie soit minimisée
y
yxEF
x
yxEF
y
x
),(
),(
EF
Contours actifs : modèle explicite
Exemples d’énergie EXTERNE (Image):
2
ext IE Contours en tant que maxima de la norme du gradient:
IE extZones brillantes ou sombres:
Adapté au speckle :
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
Dedans
Dehors
Dehors
F
phi(0) =Level set
z =PHI(x,y,t)
y
x
phi(0) x
y
phi(1)
phi(1)
Ensembles de niveaux (level sets)
• Intérêt majeur : prise en compte des changements topologiques
x
x
y
y
t t
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
Application d'unetransformation T
Mesure de similarité
Domaine destransformations
Méthode d'optimisation
Recalage d’images
Image mobile Image fixe
Transformation+
InterpolationEchantillonage
Similarité
Optimisation
EoIoT(J)
J I
T
EIT final^T
représentation représentation
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, Levenberg-
Marquardt, 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
• 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
Contours actifs, Recalage : application
Utilisation du plugin Active ContourAdd 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 shouldpass 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.
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.
Utilisation du plugin Active Contour
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 :• Robustesse à l’initialisation ?
• Qualité du résultat (atteinte des concavités) ? Meilleure énergie externe ?
3. Segmentez une cavité cardiaque de
l’image échographique– Varier la proportion d’énergie gradient/région
– Analysez les différents résultats
Exercices : segmentation
• 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
Exercices : recalage