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