+ All Categories
Home > Documents > Image Segmentation

Image Segmentation

Date post: 03-Jul-2015
Category:
Upload: khirat-zeyyan
View: 367 times
Download: 0 times
Share this document with a friend
Popular Tags:
10
IVRG Image and Visual Representation Group Projet en Digital Photography Image Segmentation Responsable : Patrick Vandewalle Sylvain PASINI Bertrand GRANDGEORGE le 2 juin 2003
Transcript
Page 1: Image Segmentation

IVRG Image and Visual Representation Group

Projet en Digital Photography

Image Segmentation

Responsable : Patrick Vandewalle

Sylvain PASINI Bertrand GRANDGEORGE le 2 juin 2003

Page 2: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 2 sur 10

Table des matières Table des matières __________________________________________________________ 2

1. Introduction _____________________________________________________________ 3

1.1 Description du problème ______________________________________________________ 3

1.2 Idée du fonctionnement de l’outil _______________________________________________ 3

1.3 Objectifs et Méthodes proposées________________________________________________ 3 1.3.1 Prétraitement _____________________________________________________________________ 3 1.3.2 Segmentation_____________________________________________________________________ 3 1.3.3 Post-traitement____________________________________________________________________ 3

2. Sommaire des résultats_____________________________________________________ 4

3. Travail réalisé ____________________________________________________________ 5

3.1 Prétraitement _______________________________________________________________ 5 3.1.1 Filtre Médian _____________________________________________________________________ 5 3.1.2 Algorithme de Nagao et al. __________________________________________________________ 5

3.2 Segmentation________________________________________________________________ 5 3.2.1 Edge-based segmentation ___________________________________________________________ 5 3.2.2 K-means clustering ________________________________________________________________ 7 3.2.3 Algorithme by Nagao et al. __________________________________________________________ 8 3.2.4 Algorithme Watershed______________________________________________________________ 8

3.3 Post traitement ______________________________________________________________ 9

4. Principaux résultats ______________________________________________________ 10

5. Conclusion _____________________________________________________________ 10

Bibliographie _____________________________________________________________ 10

Page 3: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 3 sur 10

1. Introduction

1.1 Description du problème De nos jours, le nombre d’images stockées devient de plus en plus grand. Chacun publie ses images sur le Web sans pour autant y ajouter de bons mots clés. Il est maintenant difficile de réaliser une recherche précise. Les moteurs de recherche actuels se basent sur les mots clés compris dans le texte ou dans le nom du fichier image. Un meilleur moteur serait vraiment très utile, par exemple basé sur l’image elle-même. Vu la quantité d’informations, il serait évidemment impensable de concevoir ce type d’outil non automatique !

1.2 Idée du fonctionnement de l’outil Pour pouvoir rechercher avec une grande puissance, un ordinateur devrait découper chaque image en plusieurs objets et ensuite les classifier. La première opération est faite par les spécialistes du traitement d’images, la segmentation. Il est possible de voir qu’une bonne classification dépend directement d’une excellente segmentation.

1.3 Objectifs et Méthodes proposées L’objectif de ce projet est de ce concentrer sur la partie de segmentation. Il existe une grande quantité de méthodes permettant de réaliser une découpe. Chacune a évidemment des avantages et des inconvénients. Il serait donc bien d’énumérer ses caractéristiques. Trois phases seront utiles pour mener à bien cette segmentation

• Il y aura tout d’abord un prétraitement permettant d’améliorer les caractéristiques de l’image à segmenter.

• Il y aura ensuite la segmentation proprement dite. • Pour terminer un post-traitement sera réalisé afin d’améliorer les régions segmentées.

1.3.1 Prétraitement En général, cette étape consiste à filtrer l’image. Deux méthodes seront abordées :

- Le filtre médian - L’algorithme de Nagao et al.

1.3.2 Segmentation Les méthodes de segmentation sont sub-divisées en deux types :

1. La segmentation basée sur les flancs Ce type d’algorithme recherche les bords séparants les différents objets. Une seule méthode de segmentation sera traitée profondément (edge based).

2. La segmentation basée sur les régions Ce type d’algorithme recherche les similarités entre les pixels voisins afin d’extraire une région. En fait, il cherche des régions homogènes. Trois méthodes de segmentation seront abordées en détails : - Le K-means clustering - L’algorithme de Nagao et al. - L’algorithme Watershed

1.3.3 Post-traitement Ce projet ne contient pas de méthode de post-traitement. Toutefois, quelques idées seront proposées.

Page 4: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 4 sur 10

2. Sommaire des résultats Il s’agit ici de pré visualiser les différents résultats en fonctions des différentes méthodes :

Figure 2.1 : Sommaire des résultats

Filtre médian

Nagao et al.

Edge-based K-means Clustering (6 régions)

Algorithme Nagao et al.

Algorithme Watershed

Originale

Page 5: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 5 sur 10

3. Travail réalisé

3.1 Prétraitement

3.1.1 Filtre Médian L’algorithme est relativement simple. Le filtre remplace chaque pixel par la valeur médiane du pixel et de ses voisins. Le nombre de voisins peut être déterminés à l’aide d’un paramètre. Cette variable indique la taille du carré dans lequel seront effectués les calculs. L’algorithme est appliqué sur chaque composante RGB indépendamment. Voici un exemple d’une image choisie, de gauche à droite, l’originale aerial.jpg, filtrée avec une taille de 3, filtrée avec une taille de 5 :

Figure 3.1 : Exemple filtre médian

3.1.2 Algorithme de Nagao et al. L’algorithme de Nagao est un peu plus complexe. Il permet d’adoucir l’image sans pour autant rendre les bords flous. Dans un carré de 5x5 entourant le pixel à traiter, la variance de 9 différentes régions est calculée. La valeur du pixel central est remplacée par la valeur moyenne de la région qui a la plus faible variance. L’implémentation est la suivante :

o Pour chaque pixels de l’image : o Filtrer l’image par chacune des 9 matrices de Nagao o Calculer la variance des 9 résultats ci-dessus o Rechercher l’ensemble qui a la plus faible variance o Remplacer la valeur du pixel par la moyenne de l’ensemble ci-dessus

Comme dans le cas du filtre médian, le filtre de Nagao est appliqué sur les trois composantes RGB indépendamment. Ceci paraît facile, mais les boucles imbriquées sont très lentes. Par conséquent, cet algorithme fonctionne relativement lentement sous Matlab. Ceci peut devenir un inconvénient majeur si le nombre d’images à traiter est important. Voici un exemple du filtre de Nagao sur la même image que ci-dessus :

Figure 3.2 : Exemple du filtre de Nagao

3.2 Segmentation

3.2.1 Edge-based segmentation Il suffit d'utiliser la fonction "edge" de Matlab. Cet outil détecte automatiquement les flancs. Il existe cependant plusieurs méthodes. Afin de savoir laquelle utiliser, des tests ont été réalisés :

Page 6: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 6 sur 10

Figure 3.3 : Test des méthodes de la fonction "edge"

Sur ces 6 images, il est possible de constater que la méthode "Canny" est la plus sensible. Il est important de savoir que plus il y a de flancs, plus il y a aura de régions. Dans le cas où il y a trop de régions, il est possible d'en supprimer, et au contraire s'il n'y en a pas assez, il est impossible de les inventer. L'image "discs" est utilisée comme exemple. Elle est en fait une image relativement simple.

Figure 3.4 : Image originale et résultante

Sur le résultat des images ci-dessus, il est possible de constater que les flancs ne sont pas continus. L'affectation des régions ne sera alors pas efficace. Une série d'opérations sont réalisées sur les images afin de palier à ce défaut. Premièrement, les bords sont élargis. Ceci est réalisé simplement par une dilatation en utilisant un carré de dimension 3 comme élément structurant. Ensuite les petits éléments isolés sont supprimés. Ils ne forment pas réellement des frontières. Cette opération est réalisée par une ouverture de surface.

Figure 3.5 : Frontières élargies, puis sans les éléments isolés

Finalement, les frontières sont rétrécies afin quelles n'empiètent pas trop sur les régions. L'affectation des régions peut alors être effectuée, mais l'image doit tout d'abord être inversée.

Page 7: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 7 sur 10

Figure 3.6 : Frontières rétrécies, puis inversée, avec les régions affectées

A présent, il est possible de comparer l'effet d'un prétraitement sur le résultat de la segmentation :

Figure 3.7 : Comparaison des prétraitements (sans, médian 3, médian 5, Nagao filter)

La première constatation est que dans tous les cas, l'image est sur-segmentée. Un filtre médian diminue le nombre de région car l'image contient moins de transitions rapides donc moins de contours.

3.2.2 K-means clustering Le critère de segmentation est ici la couleur des pixels. On choisit k régions de couleur différentes. Chaque point est affecté à la région ayant la couleur la plus proche, ensuite on recalcule la couleur de chaque région, jusqu'à ce qu'elles soient plus distinctes. Implémentation :

o Déterminer k couleurs de manière aléatoire. o Jusqu'à ce que les régions soient stables:

• Affecter chaque pixel à la région de couleur la plus proche • Recalculer la nouvelle couleur de la région en prenant la moyenne de la couleur des pixels lui

appartenant. Exemple sur une image relativement complexe, qui prouve le bon fonctionnement de l'algorithme. Il est aussi possible de constater l'intérêt du choix du paramètre (le nombre de régions).

Figure 3.8 : Originale, traitée 5-means, traitée 6-means

Un aspect notable de cette segmentation est le fait que deux objets éloignés peuvent appartenir à la même région. C'est un avantage que seule cette méthode offre. En effet il est plus facile de séparer des objets que de les rassembler dans une même région.

Page 8: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 8 sur 10

Il est aussi possible de comparer l'effet d'un prétraitement sur le résultat de la segmentation (5 régions) :

Figure 3.9 : Comparaison du pré-traitement (sans, médian 3, médian 5, Nagao filter)

On remarque qu'un niveau de pré-traitement plus élevé augmente l'homogénéité des régions. Le filtre Nagao en revanche n'est pas très adapté à cette méthode de segmentation. Cette constatation est basée sur le bas de l'image, les arbres sont sur-segmentés. En revanche dans les zones plus homogènes, le résultat est plutôt bon.

3.2.3 Algorithme by Nagao et al. Cette fois le critère de segmentation est la différence de couleur entre voisins. Un pixel appartient à la même région que son voisin si la différence de couleur avec celui-ci est inférieure à une certaine limite. Chacune des trois couleurs du pixel est traitée indépendamment, il y a donc trois paramètres. Implémentation :

o Répéter les opérations suivantes jusqu'à ce qu'il n'y ait plus de pixels non affecté • Choisir un pixel non affecté. • Le mettre dans la liste des pixels à vérifier • Tant qu'il y a des pixels ajoutés:

§ Pour chacun de ses voisins (connectivité 4), vérifier s'il appartient à la région. Il suffit de calculer la différence entre la couleur du pixel et son voisin pour chacune des trois couleur. Si les trois différences sont plus faibles que les seuils correspondants, le pixel appartient à la région.

§ Dans le cas positif l'ajouter à la liste. Un exemple est présenté ci-dessous. Il est possible de constater l'importance et la difficulté de déterminer les seuils.

Figure 3.10 : Originale, Nagao (Tr,Tg,Tb = 20), Nagao (Tr,Tg,Tb = 25), Nagao (Tr,Tg,Tb = 30)

Il est donc évident que les seuils sont déterminants pour avoir un bon résultat lors de la segmentation.

3.2.4 Algorithme Wa tershed Le watershed est appelé en français "ligne de partage des eaux". Ce nom vient de la méthode utilisée. Le principe de la segmentation est le suivant :

En chaque minimum local, une source d'eau est placée. Le niveau d'eau est ensuite augmenté. Une contrainte doit être alors respectée : "Les eaux de différentes sources ne doivent pas se rejoindre". Par conséquent, lorsque les eaux montent, des barrages sont érigés afin que les eaux ne se mélangent pas. Le résultat de la segmentation est l'ensemble des barrages, ce qui représente une image binaire.

L'implémentation est basée sur la fonction "watershed" fournie dans le toolbox de traitement d'images de Matlab. Cependant, il est possible de donner une image RGB ou une image binaire. Mais attention, le Watershed interprète l'image RGB comme une image 3D. La segmentation sera alors réalisée dans un volume, ce qui n'a aucun sens. Dans le cas du watershed, l'image d'entrée doit mettre en évidence les contours de l'image à segmenter. En général on choisit l'image du gradient. La segmentation ci-dessous a été prise comme exemple :

Page 9: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 9 sur 10

Figure 3.11 : Originale, Gradient, Watershed

Sur les images ci-dessus, il est très clair que le résultat est sur-segmenté. Pourtant l'image choisie est très simple. Ceci s'explique facilement, Il y a autant de régions que de sources d'eau. L'image est bruitée et il y a donc énormément de minimums locaux, par conséquent une très grande quantité de sources. Les sources d'eau étant placées dans les minima locaux, si l'on veut diminuer leur nombre, il suffit de diminuer le nombre de minima. Un filtre ne peut alors que améliorer le résultat.

Figure 3.12 : Pré-traitée avec un filtre médian de 5

Il est évident que le nombre de région a fortement diminué. D'après le livre de P. Soille[3], il est possible de voir qu'il existe une manière d'améliorer cela. Toujours dans le but de diminuer le nombre de minima, il existe un procédé permettant d'imposer ceux-ci. C'est-à-dire qu'il n'y aura un minimum que si l'on a décidé de le placer. La fonction utilisée est "imimposemin". Il faut lui donner l'image d'entrée ainsi qu'une image binaire contenant la position des minima. Dans le cas de l'image utilisée ici, un marqueur au centre du disque ainsi qu'un à l'extérieur suffisent :

Figure 3.13 : Image des marqueurs, Watershed

La segmentation est alors presque parfaite. Le problème de cette méthode est qu'il faut trouver une bonne image de marqueurs ce qui n'est pas évident. Il serait par exemple possible d'utiliser une segmentation du type k-means pour ensuite l'utiliser comme image de marqueurs du watershed.

3.3 Post traitement La segmentation n’est en général pas parfaite, le post-traitement est donc censé améliorer le résultat.

1. Dans tous les cas, les frontières ne font partie d'aucune région. Il est alors possible de les affecter à une région proche selon un critère, par exemple la différence de couleur.

2. Dans les cas de sur-segmentions, les petites régions peuvent être regroupées à d'autres. 3. Il serait aussi possible d'utiliser plusieurs méthodes de segmentation et de les unir afin d'obtenir un

résultat plus satisfaisant.

Page 10: Image Segmentation

Digital Photography Image Segmentation

Sylvain Pasini – Bertrand Grandgeorge Page 10 sur 10

4. Principaux résultats Nom Paramètres Avantage(s) Inconvénients(s) Rapidité Filtres Filtre médian n : taille du filtre Paramétrable Image floue Rapide Nagao et al. - Automatique Cadre noir dû au padding Lent Segmentations Edge-based - Automatique Rapide K-means k : nbr de régions Nbr limité de régions Deux objets éloignés peuvent

appartenir à la même région s'ils ont la même couleur K difficile à déterminer

Moyen

Nagao et al. Tr, Tg, Tb : Seuils RGB Seuils difficiles à déterminer Lent Watershed - Automatique Sur-segmentation Rapide Our Watershed Image de marqueurs Excellent résultat Dépend fortement des marqueurs Rapide

5. Conclusion Il est possible de constater qu'un prétraitement est indispensable dans certains cas (K-means), mais à proscrire dans d'autres (Watershed). Les résultats dépendent beaucoup de cette étape. Chacune des méthodes de segmentation a ses avantage, mais a également ses inconvénients. Comme dans la plupart des problèmes, c'est une histoire de compromis. Les méthodes demandant des paramètres sont très délicates à manipuler. Elles fonctionnent correctement dans le cas où les paramètres sont choisis judicieusement. L'idéal serait de développer des algorithmes permettant de déterminer ces paramètres de façon optimale. Il pourrait par exemple agir sur le prétraitement, les paramètres de la segmentation, ainsi que le post-traitement. Mais ceci demande l'élaboration de critères permettant de savoir si le résultat est bon ou pas. Ceci est un énorme problème. Il est évident pour une personne de savoir si la segmentation est correcte, mais pour une machine cela pose réellement de grandes difficultés. Un aspect important lors du choix de l'une de ces méthodes est le temps d'exécution. En effet, si l'on veut appliquer la segmentation à toutes les images sur le Web, il faut que cela puisse être effectué en un temps raisonnable. Un bon post-traitement serait envisageable. Il permettrait d'améliorer considérablement le résultat final. Chaque méthode impose de concevoir un post-traitement adapté à celle-ci. L'apport de connaissance durant ce projet a été très grand. La segmentation est un des sujets les plus captivants du traitement d'images. Les méthodes analysées sont très intéressantes, non seulement du point de vue du concept mais aussi du point de vue de la programmation. A ce stade du développement, les algorithmes sont relativement lent, surtout les deux méthodes de Nagao et Al. Un travail futur pourrait consister à optimiser ces différentes méthodes de segmentation. Le traitement d’images en est encore à ces débuts, il reste et restera encore une grande source de développement pour les années à venir…

Bibliographie [1] "Digital Photography Cours", Prof. Sabine Süsstrunk, EPFL 2003 [2] Help de Matlab [3] “Morphological Image Analysis”, Pierre Soille, Springer 1999


Recommended