IVRG Image and Visual Representation Group



Documents pareils
Traitement bas-niveau

TP SIN Traitement d image

Projet Matlab/Octave : segmentation d'un ballon de couleur dans une image couleur et insertion d'un logo

Choisir entre le détourage plume et le détourage par les couches.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Optimisation, traitement d image et éclipse de Soleil

Utilisation des médicaments au niveau des soins primaires dans les pays en développement et en transition

Traitement numérique de l'image. Raphaël Isdant

Vers l'ordinateur quantique

Utilisation du logiciel ImageJ gratuit

Les pôles commerciaux et leurs magasins

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Fête de la science Initiation au traitement des images

TEXT MINING von 7

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Introduction au Data-Mining

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Géométrie discrète Chapitre V

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Logiciel SCRATCH FICHE 02

Le Data Mining au service du Scoring ou notation statistique des emprunteurs!

Sauvegarde et restauration d'un système d'exploitation Clonezilla

Algorithmique avec Algobox

Note technique. Formats de compression vidéo utilisés par CamTrace V11 avantages et inconvénients.

Le traitement du 5ème concours A.I.P. pour l objet SH2-155 de Franck JOBARD

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration

Christophe CANDILLIER Cours de DataMining mars 2004 Page 1

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

La classification automatique de données quantitatives

Projet de Traitement du Signal Segmentation d images SAR

Date : Tangram en carré page

LibreOffice Calc : introduction aux tableaux croisés dynamiques

Utilisation de XnView

Ripper vos DVD (extraire vos fichier du DVD pour les mettre sur votre pc)

Utilisation du logiciel Epson Easy Interactive Tools

La voix sur IP n'est pas un gadget, et présente de réels bénéfices pour l'entreprise.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Systemes d'exploitation des ordinateurs

Projet Matlab : un logiciel de cryptage

CHAPITRE VIII : Les circuits avec résistances ohmiques

LE PROBLEME DU PLUS COURT CHEMIN

Chapitre 1 : Introduction aux bases de données

Par Richard Beauregard. Novembre 2011

Chapitre 1 I:\ Soyez courageux!

La segmentation à l aide de EG-SAS. A.Bouhia Analyste principal à la Banque Nationale du Canada. Chargé de cours à l UQAM


I. Introduction aux fonctions : les fonctions standards

- Enlever les imperfections de la peau avec l'outil clonage. - Donner plus d'impact à la chevelure du personnage

Mode d'emploi du plugin Grayscale_Granulometry

Classer et partager ses photographies numériques

Détection des points d intérêt et Segmentation des images RGB-D. Présentée par : Bilal Tawbe. Semaine de la recherche de l UQO

Les étapes du traitement de l analyse d image

COMMUNICATEUR BLISS COMMANDE PAR UN SENSEUR DE POSITION DE L'OEIL

PRÉCISIONS POUR DÉFINIR VOTRE PROJET COMPTE DE BANQUE

Faire de la déformation interactive avec GIMP

Trier les ventes (sales order) avec Vtiger CRM

Algorithmes de recherche

Rapidolect Les Productions de la Columelle ( ) Page 1

DETERMINER LA LARGEUR DE PAGE D'UN SITE et LES RESOLUTIONS d'ecran

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

1. Introduction Création d'une macro autonome Exécuter la macro pas à pas Modifier une macro... 5

APPLICATION DU SCN A L'EVALUATION DES REVENUS NON DECLARES DES MENAGES

Optimisation de la compression fractale D images basée sur les réseaux de neurones

Leica Application Suite

Le Raid c est quoi? Comment ca marche? Les différents modes RAID :

La correction des erreurs d'enregistrement et de traitement comptables

Les probabilités. Chapitre 18. Tester ses connaissances

Etude comparative de différents motifs utilisés pour le lancé de rayon

UNE MARQUE, MODE D'EMPLOI

MODE D'EMPLOI DE LA CALCULATRICE POUR LES COURTS SÉJOURS DANS L'ESPACE SCHENGEN

Le poids et la taille des fichiers

Catégories de format d'optimisation

Cyber-base du Pays Martégal. Atelier «Découverte de l ordinateur»

Recherche dans un tableau

Introduction à MATLAB R

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Livre blanc Mesure des performances sous Windows Embedded Standard 7

Utilisation du visualiseur Avermedia

CommandCenter Génération 4

1. Cliquez sur dans le coin supérieur gauche de l'écran 2. Sélectionnez la Langue de l'interface désirée 3. Cliquez sur

Observation des modalités et performances d'accès à Internet

Introduction au Data-Mining

Créer votre propre modèle

Université du Québec à Trois-Rivières Politique de gestion des documents actifs, semi-actifs et inactifs de l'u.q.t.r.

Introduire un nouveau type de maille ou un nouvel élément de référence

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Analyse tarifaire en ligne (TAO) de l'omc

RAPPORT D'EXPERTISE : SYNERGIE GLOBALE DU PROJET POUR LA FRANCE

D'UN THÉORÈME NOUVEAU

Déduplication des données : un élément essentiel de votre stratégie de protection des données

Sauvegarde des données du scribe sur disque USB

DÉCOUVERTE DE CAPTURE ONE

Comparatif entre Matrox RT.X2 et Adobe Premiere Pro CS3 (logiciel seul)

Rapport d'expérience final

Traitement d un AVI avec Iris

Comment optimiser dans ImageReady?

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

DECOUVREZ Discover TYPE EDIT V12 Français

Gestion de projets. avec. Microsoft Office PROJECT 2003

Transcription:

IVRG Image and Visual Representation Group Projet en Digital Photography Responsable : Patrick Vandewalle Sylvain PASINI Bertrand GRANDGEORGE le 2 juin 2003

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 Sylvain Pasini Bertrand Grandgeorge Page 2 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. Sylvain Pasini Bertrand Grandgeorge Page 3 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 : Originale Filtre médian Nagao et al. Edge-based K-means Clustering (6 régions) Algorithme Nagao et al. Algorithme Watershed Figure 2.1 : Sommaire des résultats Sylvain Pasini Bertrand Grandgeorge Page 4 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 : 3.1.2 Algorithme de Nagao et al. Figure 3.1 : Exemple filtre médian 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 : 3.2 Segmentation Figure 3.2 : Exemple du filtre de Nagao 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 : Sylvain Pasini Bertrand Grandgeorge Page 5 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. Sylvain Pasini Bertrand Grandgeorge Page 6 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. Sylvain Pasini Bertrand Grandgeorge Page 7 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 : Sylvain Pasini Bertrand Grandgeorge Page 8 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. Sylvain Pasini Bertrand Grandgeorge Page 9 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 Moyen appartenir à la même région s'ils ont la même couleur K difficile à déterminer 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 Sylvain Pasini Bertrand Grandgeorge Page 10 sur 10