24
UNIVERSITE Fran¸cois Rabelais TOURS Polytech’Tours-D´ epartement Informatique 64, Avenue Jean Portalis 37200 TOURS Projet Matlab : Segmentation d’images selon la Dimension Fractale Encadr´ e par : Pr´ esent´ e par : Mme. Djedjiga Ait Aouit Florian AGEN M. Pascal Makris Julien MICHOT Promotion 2004-2007

Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

UNIVERSITE Francois Rabelais TOURSPolytech’Tours-Departement Informatique64, Avenue Jean Portalis37200 TOURS

Projet Matlab :Segmentation d’images selon la Dimension

Fractale

Encadre par : Presente par :Mme. Djedjiga Ait Aouit Florian AGENM. Pascal Makris Julien MICHOT

Promotion 2004-2007

Page 2: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Projet Matlab : Segmentation d’images selon laDimension Fractale

Florian AGEN - Julien MICHOT

Mai 2006

Page 3: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Table des matieres

1 La Dimension Fractale 31.1 Presentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Distance de Hausdorff . . . . . . . . . . . . . . . . . . . . . . . . . 31.1.2 La dimension fractale . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Algorithme BoxCounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Remarques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Segmentation selon la dimension fractale 92.1 Methodologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Algorithme general . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.2 Elimination du texte . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.3 Gradient et seuillage . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Le logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.1 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.2 La version avec interface . . . . . . . . . . . . . . . . . . . . . . . . 13

3 Tests et resultats 153.1 Resultats sur une image en 2 dimensions . . . . . . . . . . . . . . . . . . . 153.2 Discutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2.1 Limites de la methode . . . . . . . . . . . . . . . . . . . . . . . . . 183.2.2 Application aux images 3D . . . . . . . . . . . . . . . . . . . . . . . 18

1

Page 4: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Introduction

La dimension fractale est une donnee statistique revelant la nature fractale d’un ob-jet. Cette dimension est aujourd’hui beaucoup utilisee dans de nombreux domaines varies(finance, traitement d’informations, etc...).

Afin de caracteriser des zones de rupture sur differents materiaux, nous avons eteamene a employer cette caracteristique fractale sur des images 2D. Nous allons decriredans ce document les differents procedes entrepris lors de l’elaboration de la segmentationdes images selon les dimensions fractales locales des images.

Nous presenterons dans une premiere partie la dimension fractale, les proprietes etalgorithmes de calcul, puis nous aborderons la segmentation selon les dimensions fractaleslocales. Enfin, la derniere partie sera consacree a la presentation et a l’evaluation de notrelogiciel.

2

Page 5: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Chapitre 1

La Dimension Fractale

1.1 Presentation

Avant d’aborder la dimension fractale, il nous faut definir la notion de distance deHausdorff.

1.1.1 Distance de Hausdorff

En topologie mathematique, la distance de Hausdorff mesure l’eloignement de deuxsous-ensembles d’un espace metrique. L’application de cette distance en informatique (enreconaissance des formes notamment) est generalement notee ainsi :

Soient S et T deux ensembles de points. La distance de Hausdorff est definie par

DH(S, T ) = maxfd(S, T ), fd(T, S), (1.1)

ou fd est appelee la distance de Hausdorff relative (ou semi-distance de Hausdorff).Elle est definie par

fd(S, T ) = maxp∈Sd(p, T ). (1.2)

Habituellement, la distance d utilisee est la distance euclidienne.

Mais la distance de Hausdorff peut aussi etre exprimee de la maniere suivante :

N = rD (1.3)

comme le montre la figure suivante :

3

Page 6: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Fig. 1.1 – Distance de Hausdorff, dans Z

Les 3 cas particuliers precedents ou la distance de Hausdorff est entiere, permettentd’illustrer ce que la distance de Hausdorff mesure. Il s’agit d’une equation liant cettememe distance a un rapport de segmentation r, qui decoupe une forme topologique ensous-formes isometriques, et a une quantite N, representant le nombre de sous-formes ainsigenerees.

Si l’on prend l’exemple d’une dimension de Hausdorff de 2 et d’un rapport de decoupede 3 alors le nombre de sous ensembles formes est de 32 = 9.

A l’inverse, nous pouvons determiner la distance de Hausdorff par la relation :

D =log N

log r(1.4)

Pour calculer la dimension de Hausdorff d’un objet present dans une image 2D, il suffitdonc de segmenter l’image en carres, avec un pas r determine, et de compter le nombrede carre dont au moins un pixel appartient a l’objet. La distance de Hausdorff peut ainsietre vue comme le taux de recouvrement d’un objet dans un espace caracteristique.

1.1.2 La dimension fractale

On appelle dimension fractale d’une image, la distance de hausdorff aux alentours de0. Ou plus precisement, la limite du nombre de cases contenant l’objet, lorsque le ratio

4

Page 7: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

de segmentation tend vers 0. D’ou la relation suivante :

D = lims→0

log N(s)

log s(1.5)

Cette caracteristique est une propriete interessante d’un objet. En effet, elle mesurele degre d’autosimilarite de celui-ci et peut quelques fois expliquer des phenomenes phy-siques comme par exemple une optimisation naturelle (dispersion thermique, surface decontact, etc..).

La figure suivante montre une regle de production du type L-systeme, en 3 stades,avec un parametre d’angle different.

Fig. 1.2 – Exemple de dimensions fractales

Sur une image 2D la dimension fractale se situe dans un intervalle de valeurs reelles,entre 1 et 2, comme le montre la figure precedente. Sur des objets de dimension D, ladimension fractale sera alors comprise entre 1 et D.

Mais il est aussi possible de rencontrer des valeurs inferieures a 1 (mais positives) surdes images reelles, puisque celles-ci peuvent ne pas etre connexes. Sur ces images, il est deplus possible de mesurer le degre d’autosimilarite en utilisant des algorithmes appropries.Nous allons detailler dans ce document la methode dite du BoxCounting.

1.2 Algorithme BoxCounting

L’algorithme de calcul de la dimension fractale d’une image le plus rependu est cer-tainement la methode appelee ”BoxCounting”.

5

Page 8: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Cet algorithme, iteratif, determine la distance de Hausdorff de l’image selon differentspas (s) de segmentation. Le calcul de la distance de Hausdorff est effectue a l’aide d’unsimple comptage.

En effet, l’algorithme commence par realiser un pavage uniforme de l’image en carresd’un pas s fixe, puis il compte simplement le nombre de carres possedant un ou plusieurspixels noirs (appartenant a l’objet etudie), comme le montre la figure suivante.

Fig. 1.3 – Principe du BoxCounting

La distance ainsi obtenue est fournie par la relation de Hausdorff :

DH =log Nombre De Carres Comptes

log s(1.6)

L’algorithme de BoxCounting reitere ensuite la procedure avec un pas de segmentationplus restreint, et augmente ainsi la definition du pavage.

6

Page 9: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Fig. 1.4 – Augmentation du detail des boıtes

Enfin, l’agorithme aborde le calcul de la dimension fractale en elle-meme. Apres avoircalculer differentes coordonnees (log s,log N(s)), l’algorithme opere une regression lineairesur la courbe, comme le montre la figure suivante.

Fig. 1.5 – Courbe caracteristique du BoxCountig

Le coefficient directeur de la droite obtenue par la regression lineaire represente ladimension fractale de l’image, au signe pres. Pour des raisons d’efficacite, l’algorithmepresente livre une dimension fractale negative. Cela vient du fait que la courbe representativedes distances de Hausdorff a comme abscisse log s et non log ε, avec s = 1

ε. Suivant les

notations, les s et ε sont utilises, mais seul le signe du coefficient directeur change.

Demonstration de la convergence :

7

Page 10: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

D = lims→0log N(s)

log s

Regression lineaire : y = D.x + e , avec y = log N(s) et x = log s,

or log N(s)log s

= D + elog s

, et (s → 0 ⇒ log s → −∞),

donc lims→0log N(s)

log s= D , D est bien la dimension fractale de l’image.

1.3 Remarques

Un inconvenient connu de l’algorithme de BoxCounting est la qualite de la regressionlineaire employee. En effet, la courbe des distances de Hausdorff tend a se courber lorsquele pas de la segmentation s’approche de la definition de l’image. Cette courbure ajouteune certaine erreur lors de la regression, comme nous pouvons l’observer dans la figureprecedente. Il serait en theorie preferable de ne realiser la regression que seulement sur lapartie lineaire de la courbe. La difficulte reside dans le fait que la determination de cettesous partie ne peut etre automatisee rapidement et, puisque nous appliquons l’algorithmede BoxCounting sur plusieurs zones de l’image, nous ne pouvons nous permettre de reglermanuellement ce parametre.

Il existe differents algorithmes de calcul de la dimension fractale. Nous avons choisi leBoxCounting car il a l’avantage d’etre simple et relativement efficace. D’autres methodessont plus precises, mais necessitent generalement une reflexion plus importante, tant auniveau de l’implementation en Matlab, que dans les limites imposees par les images atraiter.

Nous avons neanmoins teste un autre algorithme base sur la transformation de Fourier.Bien que l’efficacite de celui-ci soit plus importante, il s’est en revanche montre fortdecevant sur des images reduites (lors de la segmentation). Cet algorithme a besoin d’unequantite d’informations plus importante pour fonctionner correctement. Nous sommesdonc restes au BoxCounting, plus avantageux.

La dimension fractale peut aussi etre approximee. Il s’agit ici de ne s’interesser qu’auxdistances de Hausdorff, sur une segmentation d’un pas de 1 pixel. Cette valeur a l’avantaged’etre rapide a determiner, et est relativement proche de la dimension fractale de l’imagetraitee.

8

Page 11: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Chapitre 2

Segmentation selon la dimensionfractale

2.1 Methodologie

Afin de caracteriser les regions dont le dimension fractale est importante, nous avonsopte pour une segmentation en regions carrees. Cette methode a l’avantage d’etre economiqueen temps de calcul et assez efficace, avec un pas relativement restreint.

2.1.1 Algorithme general

L’algorithme principal de notre projet est simple. Il s’agit simplement d’une de seg-mentation en regions carrees, et de l’application de l’algorithme de calcul de dimensionfractale BoxCounting sur chaque region. Voici les etapes composant l’algorithme general.

1. Ouvrir l’image

2. Convertir l’image en niveau de gris (si l’image est en couleur)

3. Eliminer le texte situe en bas de l’image

4. Appliquer un filtre gradient

5. Binariser l’image (seuillage)

6. Calculer la segmentation en carres selon le pas mentionne

7. Appliquer l’algorithme de BoxCounting sur chaque region

8. Construire la matrice des dimensions fractales associee

9. Dessiner le contour des regions dont la dimension fractale est relativement impor-tante.

Si certaines etapes de l’algorithme sont simples a realiser (grace aux nombreusesmethodes presentes dans Matlab), d’autres demandent plus de reflexions.

2.1.2 Elimination du texte

Afin d’exprimenter notre logiciel, un jeu de quelques images en niveaux de gris nousa ete fourni. Ces images proviennent d’un microscope electronique, et ciblent une zone

9

Page 12: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

particuliere d’une surface. Afin de conserver des informations d’echelle notamment, lemicroscope ajoute sur l’image des donnees alpha-numeriques que nous devons elimineravant de traiter l’image.

Etant donnee la localisation du texte, nous avons opte pour une simple decoupe del’image (methode crop).

2.1.3 Gradient et seuillage

Comme nous l’avons vu precedemment, l’algorithme BoxCounting necessite en entreeune image binaire. Il s’agit donc de transformer les images 2D de notre jeu d’images(en niveaux de gris), en images en noir et blanc. Or, une simple binarisation de l’imageest contre indiquee, car nous avons besoin de conserver simplement les contours presentsdans l’image. Nous avons par consequent realise un gradient puis un seuillage de l’image(methode edge), comme le montre la figure suivante.

Fig. 2.1 – Gradient (Laplacien du Gaussien) et seuillage de l’image

Sur des images reelles comme celles presentent dans notre jeu d’images, le gradientde Sobel est peut revelateur, alors que le Laplacien du Gaussien de l’image est beaucoupplus interessant.

2.2 Le logiciel

Nous avons donc implemente la segmentation suivant les dimensions fractales localesen langage Matlab. Ce langage est particulierement adapte pour le calcul mathematique.Notre projet est cependant depourvu de calculs mathematiques complexes, et il aurait ete

10

Page 13: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

interessant, du point de vue de la vitesse d’execution, de l’implementer en C/C++.

2.2.1 Les fonctions

Le projet est constitue de plusieurs fonctions qui peuvent etre appelees separement.Nous allons decrire ces differentes fonctions ainsi que leurs parametres d’entrees et desorties.

Fonction hausdorff– Entree : Image en Noir et Blanc– Sortie : Nombre reel (dimension de Hausdorff)– Action : calcule la dimension de Hausdorff d’une image.

Fonction BoxCountingFromImage– Entrees :

- Image : une image en couleur/niveaux de gris/noir et blanc- MinSize : taille minimale des boıtes (ex 1/512)- MaxSize : taille maximale des boıtes (ex 1/2)- NbBox : nombre de calculs de Hausdorff a realiser- ShowInfos : booleen, afficher le diagramme- DejaEdge : l’image est deja en noir et blanc

– Sortie : Nombre reel (dimension fractale de l’image)– Action : calcule la dimension fractale d’une image, par la methode du BoxCounting,

a partir d’une image ouverte.– Appel : -

Fonction BoxCountingFromFile– Entrees :

- File : le chemin d’une image- MinSize : taille minimale des boıtes (ex 1/512)- MaxSize : taille maximale des boıtes (ex 1/2)- NbBox : nombre de calculs de Hausdorff a realiser- ShowInfos : booleen, afficher le diagramme

– Sortie : Nombre reel (dimension fractale de l’image)– Action : calcule la dimension fractale d’une image, par la methode du BoxCounting,

a partir d’un chemin.– Appel : BoxCountingFromImage

Fonction BoxCountingFromMatrix– Entrees :

- Matrix : une matrice 2D- MinSize : taille minimale des boıtes (ex 1/512)- MaxSize : taille maximale des boıtes (ex 1/2)

11

Page 14: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

- NbBox : nombre de calculs de Hausdorff a realiser- ShowInfos : booleen, afficher le diagramme

– Sortie : Nombre reel (dimension fractale de la matrice)– Action : calcule la dimension fractale d’une matrice 2D, par la methode du Box-

Counting.– Appel : BoxCountingFromImage

Fonction SegmentMatrice– Entrees :

- Matrice : matrice 2D- pas : taille de la segmentation en carres de pas pixels- DrawSquares : Booleen, afficher la segmentation et les zones dont la dimensionfractale est superieure a Threshold- Threshold : Dimension fractale de reference- Algo : Type d’algorithme a utiliser (0 = BoxCounting, 1 = simple estimation parHausdorff)

– Sortie : Matrice 2D des dimensions fractales locales de l’image.– Action : Calcule et segmente selon les dimensions fractales locales d’une matrice, et

retourne la matrice 2D des dimensions fractales locales.– Appel : BoxCountingFromImage ou Hausdorff

Fonction SegmentImage– Entrees :

- FileName : chemin d’acces d’une image- pas : taille de la segmentation en carres de pas pixels- DrawSquares : Booleen, afficher la segmentation et les zones dont la dimensionfractale est superieure a Threshold- Threshold : Dimension fractale de reference- Algo : Type d’algorithme a utiliser (0 = BoxCounting, 1 = simple estimation parHausdorff)

– Sortie : Matrice 2D des dimensions fractales locales de l’image.– Action : Calcule et segmente selon les dimensions fractales locales d’une image, et

retourne la matrice 2D des dimensions fractales locales.– Appel : SegmentMatrice

Enfin, pour lancer le calcul de la segmentation selon les dimensions fractales locales,il suffit d’ecrire dans le shell de Matlab :

M = SegmentImage(’NomImage.png’,20,true,1.3) ;

– M sera la matrice des dimensions fractales locales– 20 est le nombre de pixels de la segmentation

12

Page 15: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

– true signifie que l’image segmentee sera affichee a la fin– 1.3 est le seuil de la dimension fractaleRemarques

L’ensemble de ces fonctions peuvent etre lancees a partir d’un interpreteur Matlab.Nous avons affecte des valeurs par defaut sur les entrees facultatives, afin de limiter lenombre de parametres des fonctions.

Au regard du temps de calcul de notre segmentation, nous avons choisis de developperune version allegee. Cette version, basee sur le calcul de la simple dimension de Hausdorff,remplace ainsi le couteux BoxCounting. La version Hausdorff est beaucoup plus rapideque la version precedente, mais reste moins precise, car la dimension de Hausdorff n’estqu’une estimation de la dimension fractale.

2.2.2 La version avec interface

Apres avoir implemente l’ensemble des fonctions utiles pour la segmentation selon lesdimensions fractales locales, nous avons realise une interface sous matlab, afin de donnerun peu d’esthetisme a notre logiciel.

Fig. 2.2 – Interface du logiciel

Nous retrouvons dans cette interface (accessible en tapant UISegmentFractal sous

13

Page 16: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

matlab), les differents parametres vus precedemment. De plus le logiciel permet de selectionneret traiter plusieurs images a la suite, ce qui evite des lancements successifs.

14

Page 17: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Chapitre 3

Tests et resultats

3.1 Resultats sur une image en 2 dimensions

Tout au long du developpement de nos algorithmes, nous avons lance plusieurs cam-pagnes de tests afin de verifier la conformite des resultats, notamment avec le calcul dela dimension fractale.

Une fois l’ensemble du projet realise, nous avons applique nos fonctions sur differentesimages. La figure de test suivante fait partie d’un jeu de facies obtenus a l’aide d’unmicroscope electronique.

Fig. 3.1 – Image de test facies1 CR0291er rupture.tif

Elimination automatique du texte, parasitant le calcul de la dimension fractale :

15

Page 18: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Fig. 3.2 – Image depourvue de texte

Cette derniere image devient donc notre support de calcul des dimensions fractaleslocales. L’application d’une segmentation en carres de 40 pixels de cote, sur cette image,donne lieu a une matrice de dimensions fractales locales, dont les valeurs varient de 0 a1,4. Afin de mieux caracteriser ces valeurs, nous avons colorise la matrice sur la figuresuivante.

16

Page 19: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Fig. 3.3 – Matrice des dimensions fractales locales de l’image

Fig. 3.4 – Graphe des dimensions fractales locales de l’image

Remarques : Certaines valeurs de la matrice (les plus sombres), possedent des dimen-sions fractales inferieures a 1. Il s’agit en fait d’une particularite frequente des imagesreelles, discontinues .

17

Page 20: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Enfin, la figure suivante symbolise par des carres blanc les zones locales de l’image,dont la dimension fractale est relativement imporante (superieure a une certaine valeur).

Fig. 3.5 – Image segmentee avec un seuil de 1,2

Comme le soulignent la figure precedente ainsi que les differents tests effectues surplusieurs images, notre logiciel detecte bien les zones de l’image dont la dimension fractaleest importante. L’objectif du projet est donc atteint.

3.2 Discutions

3.2.1 Limites de la methode

Le logiciel que nous avons realise est efficace et realise bien le travail demande, maisil est necessaire de prendre quelques precautions lors de son utilisation.

En effet, l’algorithme BoxCounting necessite une quantite minimale d’information pourle calcul de la dimension fractale, et une segmentation trop detaillee impliquerait desresultats errones. Un pas de segmentation minimal de 20 pixels est des lors conseille.

De plus, notre algorithme BoxCounting s’avere relativement lent. Il existe d’autresalgorithmes plus precis et/ou plus rapides, mais leur implementation en Matlab demandebeaucoup plus de temps.

3.2.2 Application aux images 3D

Nous avons enfin envisage le calcul sur des images en trois dimensions. Il existe plu-sieurs possibilites pour entreprendre ce calcul.

18

Page 21: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

- Soit on utilise la segmentation precedente, en calculant les dimensions fractales localessur une image 2D, et en ne considerant plus les niveaux de gris de l’image mais bien latroisieme dimension.

- Soit on utilise l’extension 3D de notre logiciel.La premiere solution a l’avantage d’etre rapide et representative des caracteristiques

fractales de l’objet. Les valeurs des dimensions fractales ne sont que l’adaptation 2D desdimensions fractales 3D reelles de l’objet scanne. Nous pouvons des lors approximer lesdimensions fractales et ainsi appliquer une segmentation sur l’image 3D.

Nous avons cependant porte notre algorithme sur des objets en 3 dimensions. La fonc-tion BoxCountingFromImage3D effectue le BoxCounting sur une image 3D, fournie enentree (matrice 2D de valeurs de z), exactement comme le ferait le BoxCountingFromI-mage sur une image 2D. Cette fonction fournit cependant des dimensions fractales localescomprisent entre 0 et 3, et calcule les dimensions fractales reelles de l’objet 3D. Neanmoins,l’inconvenient de cette methode est sa lenteur, en effet une dimension supplementaire aete ajoutee dans le calcul du BoxCounting, et il est parfois preferable d’approximer uncalcul plutot que d’attendre de longues minutes pour voir un resultat quasi-similaire.

19

Page 22: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Conclusion

Le projet de segmentation suivant la dimension fractale repond pleinement aux at-tentes precisees lors de l’elaboration du cahier des charges. Le logiciel, d’une grande sim-plicite, calcule et definit les regions de l’image ou la dimension fractale depasse une valeur,definie au prealable.

Les resultats obtenus par notre logiciel semblent coherents, notamment en ce quiconcerne l’algorithme de BoxCounting. En effet, celui-ci fournit des dimensions fractalescorrectes sur une multitudes d’images.

Enfin, ce projet nous a permis d’apprendre a utiliser la puissance et l’efficacite dulangage et de l’interpreteur Matlab. Ce logiciel est relativement simple a manipuler etimplemente de nombreuses fonctions, generalement non definies dans les langages objetscomme le C++.

20

Page 23: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Table des figures

1.1 Distance de Hausdorff, dans Z . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Exemple de dimensions fractales . . . . . . . . . . . . . . . . . . . . . . . . 51.3 Principe du BoxCounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4 Augmentation du detail des boıtes . . . . . . . . . . . . . . . . . . . . . . . 71.5 Courbe caracteristique du BoxCountig . . . . . . . . . . . . . . . . . . . . 7

2.1 Gradient (Laplacien du Gaussien) et seuillage de l’image . . . . . . . . . . 102.2 Interface du logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1 Image de test facies1 CR0291er rupture.tif . . . . . . . . . . . . . . . . . . 153.2 Image depourvue de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3 Matrice des dimensions fractales locales de l’image . . . . . . . . . . . . . . 173.4 Graphe des dimensions fractales locales de l’image . . . . . . . . . . . . . . 173.5 Image segmentee avec un seuil de 1,2 . . . . . . . . . . . . . . . . . . . . . 18

21

Page 24: Projet Matlab : Segmentation d’images selon la Dimension ...webfractales.free.fr/site_fractale/fichier/RapportMatlab.pdf · Sur des objets de dimension D, la dimension fractale

Resume

La dimension fractale est une caracteristique representant la nature fractale d’un ob-jet. Cette dimension est aujourd’hui beaucoup utilisee dans de nombreux domaines. Ceprojet a pour but de realiser une segmentation sur des images 2D (puis 3D), a partir desdimensions fractales locales.

Mots clesDimension fractale, Hausdorff, algorithme Box-counting, Matlab, segmentation d’image.

Abstract

The fractal dimension represents the fractal nature of any objects. This dimension isvery used in a lot of domains. The aim of this project is the segmentation of a 2D (andnext 3D) images, according to locals fractals dimensions.

Keywords

Fractal dimension, Hausdorff, Box-counting algorithm, Matlab, segmentation.