23
Segmentation deux Segmentation deux classes classes interactive interactive Par Par Francis Brissette Francis Brissette Guillaume Comeau Guillaume Comeau Université de Sherbrooke Université de Sherbrooke 3 décembre 2007 3 décembre 2007

Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

Embed Size (px)

Citation preview

Page 1: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

Segmentation deux Segmentation deux classes interactiveclasses interactive

ParPar

Francis BrissetteFrancis BrissetteGuillaume ComeauGuillaume Comeau

Université de SherbrookeUniversité de Sherbrooke3 décembre 20073 décembre 2007

Page 2: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

Plan de la présentationPlan de la présentation

► Mise en contexte du projet

► Les méthodes implémentées

► Perspectives

► Conclusion et remerciements

Page 3: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

Mise en contexte du projetMise en contexte du projet

Page 4: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

► Consiste à regrouper dans une même classe tous les pixels d'une image possédant une ou plusieurs caractéristiques communes.

► Dans une segmentation deux classes, l'image est partitionnée en deux classes, le résultat pouvant être représentée par une image binaire.

Segmentationdeux classes

Qu’est-ce que la Qu’est-ce que la segmentation ?segmentation ?

Page 5: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

Les objectifs du projetLes objectifs du projet

► Réaliser un programme simple permettant la segmentation deux classes d'images en niveaux de gris à l'aide de différentes méthodes.

► Permettre la segmentation de plusieurs images reliées sémantiquement, soit par la coupe en tranches d'un objet 3D, soit par le mouvement d'un objet dans l'espace.

► Réaliser l’interface graphique du programme à l'aide de la bibliothèque Qt.

Page 6: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

Les méthodes implémentéesLes méthodes implémentées

Page 7: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode du seuilLa méthode du seuil

► Classe tous les pixels ayant une intensité inférieure au seuil dans la classe« arrière-plan » et les autres pixels dans la classe « objet ».

► Trivial à implémenter.

Page 8: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode du seuilLa méthode du seuil

Page 9: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode du seuil La méthode du seuil optimaloptimal

► Version non supervisée de la méthode du seuil.

► Représente l’histogramme de l’image par une mixture de gaussiennes, chaque gaussienne conceptualisant une classe.

► Vérifie, pour une intensité donnée, quelle gaussienne est la plus probable.

► Algorithmes itératifs d’estimation des paramètres des gaussiennes : K-Means ;

Soft K-Means ;

Expectation-Maximization (EM).

Page 10: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode du seuil La méthode du seuil optimaloptimal

Page 11: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode de la La méthode de la baguette baguette magiquemagique

► Utilisateur doit choisir un pixel source ainsi qu’une valeur de tolérance.

► Utilise un algorithme de remplissage par diffusion (Flood Fill ).

Page 12: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode de la La méthode de la baguette baguette magiquemagique

Page 13: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode La méthode ICMICM

► Utilise une approche markovienne : considère l’intensité du pixel courant ainsi que son voisinage. Algorithme itératif.

► Cherche à minimiser l’énergie globale de la segmentation.

► U(xs ,ys ) : terme de vraisemblance : détermine à quelle classe devrait appartenir le pixel courant selon son intensité.

► W(xs ,ys ) : terme d’a priori : détermine à quelle classe devrait appartenir le pixel courant afin qu’il soit cohérant avec son voisinage.

Ss

sssx

xWyxUx ,minargˆ

s

s

sx

xsxss

yyxU

2

2

22ln,

sinon 0

si1,où ,1 tsts

ttss

xxxxxxxW

s

Page 14: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode La méthode ICMICM

Page 15: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode La méthode Graph CutGraph Cut► Utilise également une approche markovienne, mais via un graphe non

orienté.

► Cherche à minimiser la même fonction d’énergie globale, avec les mêmes termes de vraisemblance et d’a priori que la méthode ICM.

► L’image à segmenter est convertie en graphe où chaque pixel est représenté par un nœud intermédiaire. Il y a également deux nœuds terminaux, un pour chaque classe. Les liens possèdent tous un poids.

► Liens entre les nœuds intermédiaires et lesnœuds terminaux : terme de vraisemblance.

► Liens entre les nœuds intermédiaires : terme d’a priori.

► L’algorithme sépare le graphe en deux sections,chacune d'elle devant contenir un nœud terminal.

Y. Boykov, V. Kolmogorov

Page 16: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode La méthode Graph CutGraph Cut

Page 17: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode de Boykov-JollyLa méthode de Boykov-Jolly

► Segmentation interactive.

► Récupère l’approche de la méthode Graph Cut, mais en supportant le concept de contraintes dures spécifiées par l’utilisateur.

► L’utilisateur spécifie des régions dans l’image qu’il veut absolument voir appartenir à la classe « objet » et à la classe « arrière-plan ». Consiste à modifier le poids des liens entre les nœuds intermédiaires et

les nœuds terminaux dans le graphe.

► Sous-méthodes : Basée sur les régions (à l’aide des paramètres des gaussiennes);

Basée sur les régions (à l’aide des histogrammes des classes);

Basée sur les contours.

Page 18: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La méthode de Boykov-JollyLa méthode de Boykov-Jolly

Page 19: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La segmentation 3DLa segmentation 3D

► Récupère l’approche de la méthode Graph Cut.

► Peut être appliquée à la méthode Graph Cut et à la méthode de Boykov-Jolly.

► Consiste à segmenter d’un seul coup plusieurs images reliées sémantiquement, soit par la coupe en tranches d'un objet 3D, soit par le mouvement d'un objet dans l'espace.

► Conceptuellement, la seule différence réside endes liens supplémentaires entre les nœudsintermédiaires des différents étages (images) du graphe.

Y. Boykov, V. Kolmogorov

Page 20: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

La segmentation 3DLa segmentation 3D

Segmentation multi-images

Page 21: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

PerspectivesPerspectives► Ajouter la reconstruction d’un modèle 3D à l’aide d’OpenGL.

► Permettre un plus grand voisinage dans le graphe(présentement seulement 4 voisins).

► Permettre une segmentation multi-images en 4D (non seulement en 3D).

► Optimiser l’algorithme du Graph Cut lors de l’ajout de contraintes dures spécifiées par l’utilisateur.

► Implémenter l’algorithme du Graph Cut. Présentement, il y a une fuite de mémoire lorsque nous réalisons une segmentation multi-images.

► Ajouter des fonctionnalités dans l’interface graphique : Inversion du résultat de la segmentation.

Outil « Efface » pour la méthode Boykov-Jolly.

Page 22: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

Conclusion et remerciementsConclusion et remerciements► Lorsqu’une méthode demande peu ou pas d’interaction de la part de

l’utilisateur, la segmentation ne sera efficace que pour des images peu complexe (ex: objet blanc sur fond noir).

► La méthode de Boykov-Jolly demande une grande interaction avec l’utilisateur, mais donne des résultats très surprenant peu importe la complexité de l’image.

► Nous avons atteints tous les objectifs du projet tout en s’amusant.

► La bibliothèque Qt est fiable, robuste et complète, ce qui nous a énormément simplifié la vie.

► Un remerciement particulier pour le professeur Pierre-Marc Jodoin, sans qui ce projet n’aurait pas eu lieu.

Page 23: Segmentation deux classes interactive Par Francis Brissette Guillaume Comeau Université de Sherbrooke 3 décembre 2007

RéférencesRéférences► P.-M. Jodoin. « Chapitre 2 : Segmentation 2D », Cours IMN 559, Vision par ordinateur, [En ligne],

http ://www.dmi.usherb.ca/ jodoin/cours/imn559/ (Page consultée le 27 novembre 2007).

► Y. Boykov, O. Veksler and R. Zabih. « Fast Approximate Energy Minimization via Graph Cuts », in IEEE transactions on Pattern Analysis and Machine Intelligence (PAMI), vol. 23, no. 11, pp. 1222-1239, November 2001.

► V. Kolmogorov and R. Zabih. « What energy functions can be minimized via graph cuts ? », in IEEE transactions on Pattern Analysis and Machine Intelligence (PAMI), vol. 26, no. 2, pp. 147-159, February 2004.

► Y. Boykov and V. Kolmogorov. « An Experimental Comparison of Min-Cut/Max-Flow Algorithms for Energy Minimization in Vision », in IEEE transactions on Pattern Analysis and Machine Intelligence (PAMI), vol. 26, no. 9, pp. 1124-1137, September 2004.

► O. Veskler. « Code for Energy Minimization with Graph Cuts », Olga Veksler, [En ligne],http ://www.csd.uwo.ca/faculty/olga/ (Page consultée le 19 novembre 2007).

► Y. Boykov and M.-P. Jolly. « Interactive organ segmentation using graph cuts », in Medical Image Computing and Computer-Assisted Intervention (MICCAI), pp. 276-286, 2000.

► Y. Boykov and M.-P. Jolly. « Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D images », in International Conference on Computer Vision (ICCV), vol. I, pp. 105-112, July 2001.