Projet Matlab : Segmentation d images selon la Dimension Fractale

Documents pareils
Traitement bas-niveau

Géométrie discrète Chapitre V

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

FORMATION ECLAIRAGE PUBLIC

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

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

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

Introduction aux SGBDR

TSTI 2D CH X : Exemples de lois à densité 1

Chap17 - CORRECTİON DES EXERCİCES

Fête de la science Initiation au traitement des images

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

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

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

La nouvelle planification de l échantillonnage

données en connaissance et en actions?

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Opérations de base sur ImageJ

Cours Fonctions de deux variables

Projet de Traitement du Signal Segmentation d images SAR

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

Qualité du logiciel: Méthodes de test

Introduction au Data-Mining

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

STRICTEMENT CONFIDENTIEL

I. Polynômes de Tchebychev

UNIVERSITE DES ANTILLES et DE LA GUYANE Campus de Fouillole BP Pointe-à-Pitre Cedex CONTRAT LE MASTER NOM DU DOMAINE STS

Quantification Scalaire et Prédictive

Présentation du logiciel

DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE

TP : Gestion d une image au format PGM

Python - introduction à la programmation et calcul scientifique

Votre Réseau est-il prêt?

Fonctions de plusieurs variables

exigences des standards ISO 9001: 2008 OHSAS 18001:2007 et sa mise en place dans une entreprise de la catégorie des petites et moyennes entreprises.

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

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

ATELIER IMAGEJ. Différentes applications vous sont proposées pour apprendre à utiliser quelques fonctions d ImageJ :

Formats d images. 1 Introduction

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

Initiative de stage Hippocampe : Les moteurs de recherche

Figure 3.1- Lancement du Gambit

Prestations de conseil en SRM (Storage Ressource Management)

Introduction à MATLAB R

«Vous éditez, nous archivons!»

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Annexe commune aux séries ES, L et S : boîtes et quantiles

Intérêt du découpage en sous-bandes pour l analyse spectrale

Évaluation et implémentation des langages

Activité 4. Tour de cartes Détection et correction des erreurs. Résumé. Liens pédagogiques. Compétences. Âge. Matériels

Sébastien DEBIA Damien DUMAZER. Cahier des Charges

INTRODUCTION AU DATA MINING

Fonctions de deux variables. Mai 2011

Cours d initiation à la programmation en C++ Johann Cuenin

Introduction au datamining

Présentation du PL/SQL

Indications pour une progression au CM1 et au CM2

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Les BRMS Business Rules Management System. Groupe GENITECH

Résolution d équations non linéaires

Analyse d images. Edmond.Boyer@imag.fr. Edmond Boyer UFRIMA 1

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Réplication E-maj Foreign Data Wrapper PostGIS PostgreSQL-f

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

Solution logicielle pour le pilotage et l ERM. Journées d études IARD 26 mars mars 2010

Optimisation, traitement d image et éclipse de Soleil

Séance 0 : Linux + Octave : le compromis idéal

SSTIC Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...

de calibration Master 2: Calibration de modèles: présentation et simulation d

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

MSP Center Plus. Vue du Produit

Organigramme / Algorigramme Dossier élève 1 SI

Chapitre 13 Numérisation de l information

Cours d Analyse. Fonctions de plusieurs variables

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Info-assurance Séance d information de l IASB du 19 mars 2015

Rappel sur les bases de données

LE PROJOPHONE de Fresnel

Routage AODV. Languignon - Mathe - Palancher - Pierdet - Robache. 20 décembre Une implémentation de la RFC3561

Une étude de différentes analyses réalisées par le BIT

Stockage de chaleur solaire par sorption : Analyse et contrôle du système à partir de sa simulation dynamique

Chapitre 2 Le problème de l unicité des solutions

Continuité et dérivabilité d une fonction

MODÉLISATION DU FONCTIONNEMENT EN PARALLELE À DEUX OU PLUSIEURS POMPES CENTRIFUGES IDENTIQUES OU DIFFERENTES

Lyre Matricielle Beam. 25 Leds 4 en 1 de 15W. Manuel de l utilisateur

Devenez un véritable développeur web en 3 mois!

On ne peut pas entendre la forme d un tambour

Évaluation d une architecture de stockage RDF distribuée

Dossier Logique câblée pneumatique

Analyse Sémantique de Nuages de Points 3D et d Images dans les Milieux Urbains

SUGARCRM MODULE RAPPORTS

Transcription:

UNIVERSITE François Rabelais TOURS Polytech Tours-Département Informatique 64, Avenue Jean Portalis 37200 TOURS Projet Matlab : Segmentation d images selon la Dimension Fractale Encadré par : Présenté par : Mme. Djedjiga Ait Aouit Florian AGEN M. Pascal Makris Julien MICHOT Promotion 2004-2007

Projet Matlab : Segmentation d images selon la Dimension Fractale Florian AGEN - Julien MICHOT Mai 2006

Table des matières 1 La Dimension Fractale 3 1.1 Présentation................................... 3 1.1.1 Distance de Hausdorff......................... 3 1.1.2 La dimension fractale.......................... 4 1.2 Algorithme BoxCounting............................ 5 1.3 Remarques.................................... 8 2 Segmentation selon la dimension fractale 9 2.1 Méthodologie.................................. 9 2.1.1 Algorithme général........................... 9 2.1.2 Elimination du texte.......................... 9 2.1.3 Gradient et seuillage.......................... 10 2.2 Le logiciel.................................... 10 2.2.1 Les fonctions.............................. 11 2.2.2 La version avec interface........................ 13 3 Tests et résultats 15 3.1 Résultats sur une image en 2 dimensions................... 15 3.2 Discutions.................................... 18 3.2.1 Limites de la méthode......................... 18 3.2.2 Application aux images 3D....................... 18 1

Introduction La dimension fractale est une donnée statistique révélant la nature fractale d un objet. Cette dimension est aujourd hui beaucoup utilisée dans de nombreux domaines variés (finance, traitement d informations, etc...). Afin de caractériser des zones de rupture sur différents matériaux, nous avons été amené à employer cette caractéristique fractale sur des images 2D. Nous allons décrire dans ce document les différents procédés entrepris lors de l élaboration de la segmentation des images selon les dimensions fractales locales des images. Nous présenterons dans une première partie la dimension fractale, les propriétés et algorithmes de calcul, puis nous aborderons la segmentation selon les dimensions fractales locales. Enfin, la dernière partie sera consacrée à la présentation et à l évaluation de notre logiciel. 2

Chapitre 1 La Dimension Fractale 1.1 Présentation Avant d aborder la dimension fractale, il nous faut définir la notion de distance de Hausdorff. 1.1.1 Distance de Hausdorff En topologie mathématique, la distance de Hausdorff mesure l éloignement de deux sous-ensembles d un espace métrique. L application de cette distance en informatique (en reconaissance des formes notamment) est généralement notée ainsi : Soient S et T deux ensembles de points. La distance de Hausdorff est définie par DH(S, T ) = maxfd(s, T ), fd(t, S), (1.1) où fd est appelée la distance de Hausdorff relative (ou semi-distance de Hausdorff). Elle est définie par fd(s, T ) = max p S d(p, T ). (1.2) Habituellement, la distance d utilisée est la distance euclidienne. Mais la distance de Hausdorff peut aussi être exprimée de la manière suivante : comme le montre la figure suivante : N = r D (1.3) 3

Fig. 1.1 Distance de Hausdorff, dans Z Les 3 cas particuliers précédents où la distance de Hausdorff est entière, permettent d illustrer ce que la distance de Hausdorff mesure. Il s agit d une équation liant cette même distance à un rapport de segmentation r, qui découpe une forme topologique en sous-formes isométriques, et à une quantité N, représentant le nombre de sous-formes ainsi générées. Si l on prend l exemple d une dimension de Hausdorff de 2 et d un rapport de découpe de 3 alors le nombre de sous ensembles formés est de 3 2 = 9. A l inverse, nous pouvons déterminer la distance de Hausdorff par la relation : D = log N log r (1.4) Pour calculer la dimension de Hausdorff d un objet présent dans une image 2D, il suffit donc de segmenter l image en carrés, avec un pas r déterminé, et de compter le nombre de carré dont au moins un pixel appartient à l objet. La distance de Hausdorff peut ainsi être vue comme le taux de recouvrement d un objet dans un espace caractéristique. 1.1.2 La dimension fractale On appelle dimension fractale d une image, la distance de hausdorff aux alentours de 0. Ou plus précisément, la limite du nombre de cases contenant l objet, lorsque le ratio 4

de segmentation tend vers 0. D où la relation suivante : D = lim s 0 log N(s) log s (1.5) Cette caractéristique est une propriété intéressante d un objet. En effet, elle mesure le degré d autosimilarité de celui-ci et peut quelques fois expliquer des phénomènes physiques comme par exemple une optimisation naturelle (dispersion thermique, surface de contact, etc..). La figure suivante montre une règle de production du type L-système, en 3 stades, avec un paramètre d angle différent. Fig. 1.2 Exemple de dimensions fractales Sur une image 2D la dimension fractale se situe dans un intervalle de valeurs réelles, entre 1 et 2, comme le montre la figure précédente. Sur des objets de dimension D, la dimension fractale sera alors comprise entre 1 et D. Mais il est aussi possible de rencontrer des valeurs inférieures à 1 (mais positives) sur des images réelles, puisque celles-ci peuvent ne pas être connexes. Sur ces images, il est de plus possible de mesurer le degré d autosimilarité en utilisant des algorithmes appropriés. Nous allons détailler dans ce document la méthode dite du BoxCounting. 1.2 Algorithme BoxCounting L algorithme de calcul de la dimension fractale d une image le plus répendu est certainement la méthode appelée BoxCounting. 5

Cet algorithme, itératif, détermine la distance de Hausdorff de l image selon différents pas (s) de segmentation. Le calcul de la distance de Hausdorff est effectué à l aide d un simple comptage. En effet, l algorithme commence par réaliser un pavage uniforme de l image en carrés d un pas s fixe, puis il compte simplement le nombre de carrés possèdant un ou plusieurs pixels noirs (appartenant à l objet étudié), comme le montre la figure suivante. Fig. 1.3 Principe du BoxCounting La distance ainsi obtenue est fournie par la relation de Hausdorff : D H = log Nombre De Carrés Comptés log s (1.6) L algorithme de BoxCounting réitère ensuite la procédure avec un pas de segmentation plus restreint, et augmente ainsi la définition du pavage. 6

Fig. 1.4 Augmentation du détail des boîtes Enfin, l agorithme aborde le calcul de la dimension fractale en elle-même. Après avoir calculer différentes coordonnées (log s,log N(s)), l algorithme opère une régression linéaire sur la courbe, comme le montre la figure suivante. Fig. 1.5 Courbe caractéristique du BoxCountig Le coefficient directeur de la droite obtenue par la régression linéaire représente la dimension fractale de l image, au signe près. Pour des raisons d efficacité, l algorithme présenté livre une dimension fractale négative. Cela vient du fait que la courbe représentative des distances de Hausdorff a comme abscisse log s et non log ɛ, avec s = 1. Suivant les ɛ notations, les s et ɛ sont utilisés, mais seul le signe du coefficient directeur change. Démonstration de la convergence : 7

D = lim s 0 log N(s) log s Régression linéaire : y = D.x + e, avec y = log N(s) et x = log s, log N(s) or = D + e, et (s 0 log s ), log s log s donc lim s 0 log N(s) log s = D, D est bien la dimension fractale de l image. 1.3 Remarques Un inconvénient connu de l algorithme de BoxCounting est la qualité de la régression linéaire employée. En effet, la courbe des distances de Hausdorff tend à se courber lorsque le pas de la segmentation s approche de la définition de l image. Cette courbure ajoute une certaine erreur lors de la régression, comme nous pouvons l observer dans la figure précédente. Il serait en théorie préférable de ne réaliser la régression que seulement sur la partie linéaire de la courbe. La difficulté réside dans le fait que la détermination de cette sous partie ne peut être automatisée rapidement et, puisque nous appliquons l algorithme de BoxCounting sur plusieurs zones de l image, nous ne pouvons nous permettre de régler manuellement ce paramètre. Il existe différents algorithmes de calcul de la dimension fractale. Nous avons choisi le BoxCounting car il a l avantage d être simple et relativement efficace. D autres méthodes sont plus précises, mais nécessitent généralement une réflexion plus importante, tant au niveau de l implémentation en Matlab, que dans les limites imposées par les images à traiter. Nous avons néanmoins testé un autre algorithme basé sur la transformation de Fourier. Bien que l efficacité de celui-ci soit plus importante, il s est en revanche montré fort décevant sur des images réduites (lors de la segmentation). Cet algorithme a besoin d une quantité d informations plus importante pour fonctionner correctement. Nous sommes donc restés au BoxCounting, plus avantageux. La dimension fractale peut aussi être approximée. Il s agit ici de ne s intéresser qu aux distances de Hausdorff, sur une segmentation d un pas de 1 pixel. Cette valeur a l avantage d être rapide à déterminer, et est relativement proche de la dimension fractale de l image traitée. 8

Chapitre 2 Segmentation selon la dimension fractale 2.1 Méthodologie Afin de caractériser les régions dont le dimension fractale est importante, nous avons opté pour une segmentation en régions carrées. Cette méthode a l avantage d être économique en temps de calcul et assez efficace, avec un pas relativement restreint. 2.1.1 Algorithme général L algorithme principal de notre projet est simple. Il s agit simplement d une de segmentation en régions carrées, et de l application de l algorithme de calcul de dimension fractale BoxCounting sur chaque région. Voici les étapes composant l algorithme général. 1. Ouvrir l image 2. Convertir l image en niveau de gris (si l image est en couleur) 3. Eliminer le texte situé en bas de l image 4. Appliquer un filtre gradient 5. Binariser l image (seuillage) 6. Calculer la segmentation en carrés selon le pas mentionné 7. Appliquer l algorithme de BoxCounting sur chaque région 8. Construire la matrice des dimensions fractales associée 9. Dessiner le contour des régions dont la dimension fractale est relativement importante. Si certaines étapes de l algorithme sont simples à réaliser (grâce aux nombreuses méthodes présentes dans Matlab), d autres demandent plus de réflexions. 2.1.2 Elimination du texte Afin d exprimenter notre logiciel, un jeu de quelques images en niveaux de gris nous a été fourni. Ces images proviennent d un microscope électronique, et ciblent une zone 9

particulière d une surface. Afin de conserver des informations d échelle notamment, le microscope ajoute sur l image des données alpha-numériques que nous devons éliminer avant de traiter l image. Etant donnée la localisation du texte, nous avons opté pour une simple découpe de l image (méthode crop). 2.1.3 Gradient et seuillage Comme nous l avons vu précédemment, l algorithme BoxCounting nécessite en entrée une 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 image est contre indiquée, car nous avons besoin de conserver simplement les contours présents dans l image. Nous avons par conséquent réalisé un gradient puis un seuillage de l image (méthode edge), comme le montre la figure suivante. Fig. 2.1 Gradient (Laplacien du Gaussien) et seuillage de l image Sur des images réelles comme celles présentent dans notre jeu d images, le gradient de Sobel est peut révélateur, alors que le Laplacien du Gaussien de l image est beaucoup plus intéressant. 2.2 Le logiciel Nous avons donc implémenté la segmentation suivant les dimensions fractales locales en langage Matlab. Ce langage est particulièrement adapté pour le calcul mathématique. Notre projet est cependant dépourvu de calculs mathématiques complexes, et il aurait été 10

intéressant, du point de vue de la vitesse d execution, de l implémenter en C/C++. 2.2.1 Les fonctions Le projet est constitué de plusieurs fonctions qui peuvent être appelées séparément. Nous allons décrire ces différentes fonctions ainsi que leurs paramètres d entrées et de sorties. Fonction hausdorff Entrée : Image en Noir et Blanc Sortie : Nombre réel (dimension de Hausdorff) Action : calcule la dimension de Hausdorff d une image. Fonction BoxCountingFromImage Entrées : - 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 à réaliser - ShowInfos : booléen, afficher le diagramme - DejaEdge : l image est déjà en noir et blanc Sortie : Nombre réel (dimension fractale de l image) Action : calcule la dimension fractale d une image, par la méthode du BoxCounting, à partir d une image ouverte. Appel : - Fonction BoxCountingFromFile Entrées : - 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 à réaliser - ShowInfos : booléen, afficher le diagramme Sortie : Nombre réel (dimension fractale de l image) Action : calcule la dimension fractale d une image, par la méthode du BoxCounting, à partir d un chemin. Appel : BoxCountingFromImage Fonction BoxCountingFromMatrix Entrées : - Matrix : une matrice 2D - MinSize : taille minimale des boîtes (ex 1/512) - MaxSize : taille maximale des boîtes (ex 1/2) 11

- NbBox : nombre de calculs de Hausdorff à réaliser - ShowInfos : booléen, afficher le diagramme Sortie : Nombre réel (dimension fractale de la matrice) Action : calcule la dimension fractale d une matrice 2D, par la méthode du Box- Counting. Appel : BoxCountingFromImage Fonction SegmentMatrice Entrées : - Matrice : matrice 2D - pas : taille de la segmentation en carrés de pas pixels - DrawSquares : Booléen, afficher la segmentation et les zones dont la dimension fractale est supérieure à Threshold - Threshold : Dimension fractale de référence - Algo : Type d algorithme à utiliser (0 = BoxCounting, 1 = simple estimation par Hausdorff) 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 Entrées : - FileName : chemin d accès d une image - pas : taille de la segmentation en carrés de pas pixels - DrawSquares : Booléen, afficher la segmentation et les zones dont la dimension fractale est supérieure à Threshold - Threshold : Dimension fractale de référence - Algo : Type d algorithme à utiliser (0 = BoxCounting, 1 = simple estimation par Hausdorff) 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 écrire 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

true signifie que l image segmentée sera affichée à la fin 1.3 est le seuil de la dimension fractale Remarques L ensemble de ces fonctions peuvent être lancées à partir d un interpréteur Matlab. Nous avons affecté des valeurs par défaut sur les entrées facultatives, afin de limiter le nombre de paramètres des fonctions. Au regard du temps de calcul de notre segmentation, nous avons choisis de développer une version allégée. Cette version, basée sur le calcul de la simple dimension de Hausdorff, remplace ainsi le coûteux BoxCounting. La version Hausdorff est beaucoup plus rapide que la version précédente, mais reste moins précise, car la dimension de Hausdorff n est qu une estimation de la dimension fractale. 2.2.2 La version avec interface Après avoir implémenté l ensemble des fonctions utiles pour la segmentation selon les dimensions fractales locales, nous avons réalisé une interface sous matlab, afin de donner un peu d esthétisme à notre logiciel. Fig. 2.2 Interface du logiciel Nous retrouvons dans cette interface (accessible en tapant UISegmentFractal sous 13

matlab), les différents paramètres vus précédemment. De plus le logiciel permet de sélectionner et traiter plusieurs images à la suite, ce qui évite des lancements succéssifs. 14

Chapitre 3 Tests et re sultats 3.1 Re sultats sur une image en 2 dimensions Tout au long du de veloppement de nos algorithmes, nous avons lance plusieurs campagnes de tests afin de ve rifier la conformite des re sultats, notamment avec le calcul de la dimension fractale. Une fois l ensemble du projet re alise, nous avons applique nos fonctions sur diffe rentes images. La figure de test suivante fait partie d un jeu de facie s obtenus a l aide d un microscope e lectronique. Fig. 3.1 Image de test facies1 CR0291er rupture.tif Elimination automatique du texte, parasitant le calcul de la dimension fractale : 15

Fig. 3.2 Image dépourvue de texte Cette dernière image devient donc notre support de calcul des dimensions fractales locales. L application d une segmentation en carrés de 40 pixels de coté, sur cette image, donne lieu à une matrice de dimensions fractales locales, dont les valeurs varient de 0 à 1,4. Afin de mieux caractériser ces valeurs, nous avons colorisé la matrice sur la figure suivante. 16

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), possèdent des dimensions fractales inférieures à 1. Il s agit en fait d une particularité fréquente des images réelles, discontinues. 17

Enfin, la figure suivante symbolise par des carrés blanc les zones locales de l image, dont la dimension fractale est relativement imporante (supérieure à une certaine valeur). Fig. 3.5 Image segmentée avec un seuil de 1,2 Comme le soulignent la figure précédente ainsi que les différents tests effectués sur plusieurs images, notre logiciel détecte bien les zones de l image dont la dimension fractale est importante. L objectif du projet est donc atteint. 3.2 Discutions 3.2.1 Limites de la méthode Le logiciel que nous avons réalisé est efficace et réalise bien le travail demandé, mais il est nécessaire de prendre quelques précautions lors de son utilisation. En effet, l algorithme BoxCounting nécessite une quantité minimale d information pour le calcul de la dimension fractale, et une segmentation trop détaillée impliquerait des résultats erronés. Un pas de segmentation minimal de 20 pixels est dès lors conseillé. De plus, notre algorithme BoxCounting s avère relativement lent. Il existe d autres algorithmes plus précis et/ou plus rapides, mais leur implémentation en Matlab demande beaucoup plus de temps. 3.2.2 Application aux images 3D Nous avons enfin envisagé le calcul sur des images en trois dimensions. Il existe plusieurs possibilités pour entreprendre ce calcul. 18

- Soit on utilise la segmentation précédente, en calculant les dimensions fractales locales sur une image 2D, et en ne considèrant plus les niveaux de gris de l image mais bien la troisième dimension. - Soit on utilise l extension 3D de notre logiciel. La première solution a l avantage d être rapide et représentative des caractéristiques fractales de l objet. Les valeurs des dimensions fractales ne sont que l adaptation 2D des dimensions fractales 3D réelles de l objet scanné. Nous pouvons dès lors approximer les dimensions fractales et ainsi appliquer une segmentation sur l image 3D. Nous avons cependant porté notre algorithme sur des objets en 3 dimensions. La fonction BoxCountingFromImage3D effectue le BoxCounting sur une image 3D, fournie en entrée (matrice 2D de valeurs de z), exactement comme le ferait le BoxCountingFromImage sur une image 2D. Cette fonction fournit cependant des dimensions fractales locales comprisent entre 0 et 3, et calcule les dimensions fractales réelles de l objet 3D. Néanmoins, l inconvénient de cette méthode est sa lenteur, en effet une dimension supplémentaire a été ajoutée dans le calcul du BoxCounting, et il est parfois préférable d approximer un calcul plutôt que d attendre de longues minutes pour voir un résultat quasi-similaire. 19

Conclusion Le projet de segmentation suivant la dimension fractale répond pleinement aux attentes précisées lors de l élaboration du cahier des charges. Le logiciel, d une grande simplicité, calcule et définit les régions de l image où la dimension fractale dépasse une valeur, définie au préalable. Les résultats obtenus par notre logiciel semblent cohérents, notamment en ce qui concerne l algorithme de BoxCounting. En effet, celui-ci fournit des dimensions fractales correctes sur une multitudes d images. Enfin, ce projet nous a permis d apprendre à utiliser la puissance et l efficacité du langage et de l interpréteur Matlab. Ce logiciel est relativement simple à manipuler et implémente de nombreuses fonctions, généralement non définies dans les langages objets comme le C++. 20

Table des figures 1.1 Distance de Hausdorff, dans Z......................... 4 1.2 Exemple de dimensions fractales........................ 5 1.3 Principe du BoxCounting............................ 6 1.4 Augmentation du détail des boîtes....................... 7 1.5 Courbe caractéristique du BoxCountig.................... 7 2.1 Gradient (Laplacien du Gaussien) et seuillage de l image.......... 10 2.2 Interface du logiciel............................... 13 3.1 Image de test facies1 CR0291er rupture.tif.................. 15 3.2 Image dépourvue de texte........................... 16 3.3 Matrice des dimensions fractales locales de l image.............. 17 3.4 Graphe des dimensions fractales locales de l image.............. 17 3.5 Image segmentée avec un seuil de 1,2..................... 18 21

Résumé La dimension fractale est une caractéristique représentant la nature fractale d un objet. Cette dimension est aujourd hui beaucoup utilisée dans de nombreux domaines. Ce projet a pour but de réaliser une segmentation sur des images 2D (puis 3D), à partir des dimensions fractales locales. Mots clés Dimension fractale, Hausdorff, algorithme Box-counting, Matlab, segmentation d image. Abstract The fractal dimension represents the fractal nature of any objects. This dimension is very used in a lot of domains. The aim of this project is the segmentation of a 2D (and next 3D) images, according to locals fractals dimensions. Keywords Fractal dimension, Hausdorff, Box-counting algorithm, Matlab, segmentation.