Contours Actifs Rapport de Stage

  • Upload
    oaka21

  • View
    64

  • Download
    0

Embed Size (px)

Citation preview

Universit Franois Rabelais Institut Universitaire de Technologie de Tours Dpartement Gnie lectrique et Informatique Industrielle

RAPPORT DE STAGE

Laboratoire dinformatique de TOURS Dpartement RFAI

Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage.

MICHOT Julien Promotion 2002-2004

ROUSSELLE Jean-Jacques NEBEL Fabien

Universit Franois Rabelais Institut Universitaire de Technologie de Tours Dpartement Gnie lectrique et Informatique Industrielle

RAPPORT DE STAGE

Laboratoire dinformatique de TOURS Dpartement RFAI

Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage.

MICHOT Julien Promotion 2002-2004

ROUSSELLE Jean-Jacques NEBEL Fabien

Remerciements

Je tiens remercier les Pr. C. Proust et H.Cardot de mavoir accueilli au Laboratoire dInformatique de Tours, au dpartement Reconnaissance de formes et analyse dimage. Je remercie aussi M.ROUSSELLE, M. BONE et M. NEBEL qui mont suivi tout au long de ce stage. Leurs conseils et indications mont permis davancer et damliorer lefficacit de lalgorithme prsent dans ce rapport. De plus, je tiens remercier Fabrice RUBINO, lve de troisime anne lEPU-DI, pour ses explications prcieuses sur la programmation avec la librairie FOX-toolkit et sur le contour actif. Enfin, je remercie Florian AGEN, tudiant lIUT GEII de Tours, de mavoir aid et soutenu tout au long de ce stage.

SommaireINTRODUCTION 1. PRESENTATION DE L'ENTREPRISE....................................................................7 1.1. 1.2. 1.3. 2. PRESENTATION ........................................................................................................7 COORDONNEES ET LOCALISATION ...........................................................................8 LES DEPARTEMENTS DE RECHERCHE .......................................................................9

PRESENTATION DES DIFFERENTS OUTILS DE DEVELOPPEMENT .......12 2.1. 2.2.2.3.

LE VISUAL C++ ET LA MFC ..................................................................................12 LA LIBRAIRIE FOX ................................................................................................13 LA LIBRAIRIE IMAGEMAGICK ................................................................................15 VIDEOMACH......................................................................................................16

2.4. 3.

ETUDE DU CONTOUR ACTIF...............................................................................17 3.1. 3.2. 3.3. DEFINITION DU SNAKE ...........................................................................................17 L'ALGORITHME GREEDY .......................................................................................18 PARCOURS DES DIFFERENTS PARAMETRES SUPPLEMENTAIRES REGLABLES ...........26

4.

ADAPTATION DES COEFFICIENTS D'ENERGIE ............................................26 4.1. 4.2. PRESENTATION DU PROJET .....................................................................................26 ANALYSE FONCTIONNELLE ....................................................................................26

5.

TESTS DE LALGORITHME AVEC UN SNAKE NON-AUTONOME.............26 5.1. 5.2. 5.3. 5.4. 5.5. 5.6. LE CAURYBROKEN ................................................................................................26 LE CONDYLE .........................................................................................................26 LE LOSANGE ..........................................................................................................26 LPAULE ..............................................................................................................26 TEMPS SUPPLEMENTAIRE .......................................................................................26 SYNTHESE DES RESULTATS ....................................................................................26

6.

TESTS DE LALGORITHME AVEC UN CONTOUR ACTIF AUTONOME...26 6.1. 6.2. 6.3. LE LOSANGE ..........................................................................................................26 LE CONDYLE ..........................................................................................................26 SYNTHESE DES RESULTATS ....................................................................................26

CONCLUSION ..................................................................................................................26 RESUME ............................................................................................................................26 ABSTRACT........................................................................................................................26 INDEX DES MOTS CLES................................................................................................26 TABLE DES ILLUSTRATIONS .....................................................................................26 BIBLIOGRAPHIE.............................................................................................................26 ANNEXES ..........................................................................................................................26

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

IntroductionLe stage de fin de deuxime anne de lIUT1 sest droul au Laboratoire d'Informatique de Tours, qui se situe au sein du dpartement Informatique de lcole Polytechnique de Tours (EPU-DI2). Lobjectif de la mission tait simple : tudier le comportement dun contour actif dot dune nouvelle technique issue de la thorie de lapprentissage. En effet, un contour actif est encore de nos jours difficile utiliser pour la dtection de contour. Celui-ci require lajustement de plusieurs paramtres suivant les images traites et ne peut donc tre facilement exploit par des personnes inexprimentes. Ds lors, le contour actif autonome, utilisant des paramtres alatoires, fut invent pour palier ce problme. Mais ce systme, seul, reste totalement imprvisible et instable chaque tentative. Aussi, plusieurs techniques sont aujourdhui exprimentes pour amliorer la dtection des contours dune image, et on pourra citer notamment le Line Search , le Momentum ou l Adaptation des coefficients suivant leur influence , le sujet du stage. Lenjeu sera donc de dterminer si la modification des coefficients dnergie suivant leur influence dans le choix du dplacement dun contour actif, amliore la dtection des contours dune image. Ltude sera ralise dans une premire phase sur le contour actif coefficients dits constants, et dans une autre phase, sur un snake3 autonome. Les diffrents rsultats obtenus seront utiliss en vue dune publication scientifique. Nous allons voir dans un premier temps lentreprise daccueil, avec les diffrents dpartements de recherche, puis nous prsenterons les multiples outils de dveloppement utiliss au cours du stage. Nous tudierons ensuite, le contour actif et lalgorithme Greedy dans une troisime partie, et ladaptation des coefficients dnergie dans une quatrime. Enfin, les deux dernires parties seront consacres ltude des tests du programme sur le contour actif coefficients dnergie statiques et sur le snake autonome.

1 2 3

IUT : Institut Universitaire de Technologie EPU-DI : cole polytechnique de luniversit de Tours, dpartement Informatique Snake : mot anglais signifiant serpent utilis cause du mode de dplacement du contour actif

Promotion 2002 - 2004

6 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

1. Prsentation de l'entreprise1.1. Prsentation Historique Cr en 1970, le Laboratoire dInformatique (L.I.) a volu paralllement au dveloppement des enseignements dInformatique au sein de lUniversit Franois Rabelais de Tours. A compter de lanne universitaire 1991-1992, la gestion du L.I. a t confie la nouvelle Ecole dIngnieurs en Informatique pour lIndustrie (E3i), aujourdhui devenu Dpartement Informatique de LEcole Polytechnique Universitaire de Tours (EPU DI). Depuis le 1er septembre 2003 le laboratoire est dirig par le Professeur Christian Proust assist de trois Professeurs Directeurs-Adjoints : Jean-Charles Billaut, Hubert Cardot et Denis Maurel.

Structure Son dveloppement sinscrit dans la filire Mathmatiques-Informatique-Physique Fondamentale de lEcole Doctorale Sant, Sciences, Technologie de lUniversit de Tours. Ses activits se dveloppent autour denseignants-chercheurs qui encadrent des doctorants, des stagiaires du D.E.A.4 dInformatique, notamment, des lves-ingnieurs et des stagiaires duniversits trangres. Il comprend 74 enseignants-chercheurs et chercheurs la rentre 2003-2004, dont plus de 30 doctorants (hors visiteurs divers). Les chercheurs sont rpartis en trois catgories : chercheurs permanents, personnels techniques, correspondants-visiteurs-chercheurs temporaires. Grce une organisation par projets, un chercheur rattach une des quipes du laboratoire participe aux activits des autres quipes, selon les intrts du LI et ses proccupations du moment.

4

Diplme dtude approfondie

Promotion 2002 - 2004

7 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Les ressources annuelles du LI proviennent du Ministre de la Recherche, de contrats CIFRE5 ou assimils, de contrats ponctuels (CNRS6, ANVAR7, RNTL8, actions incitatives du MR, accord programme, collectivits territoriales : Rgion Centre, Dpartements de lIndre, de lIndre et Loire, ), de contrats de valorisation avec des entreprises, de

subventions diverses (Universit de Tours, collectivits territoriales ). Le LI est hberg principalement dans les locaux de lEPU-DI et de lIUP de Blois. 1.2.Coordonnes et localisation Ladresse de lquipe au laboratoire o jai ralis ce stage est la suivante : Laboratoire dInformatique de Tours, Equipe reconnaissance des formes et analyses dimage 64 avenue Jean Portalis 37200 TOURS. La localisation est donne sur la figure suivante :

5 6 7 8

Conventions industrielles de formation par la recherche Centre national de la recherche scientifique Agence nationale de valorisation de la recherche Rseau national de recherche et dinnovation en technologies logicielles

Promotion 2002 - 2004

8 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Laboratoire dinformatique de Tours

Figure 1. Localisation du laboratoire

1.3.

Les Dpartements de recherche

Le laboratoire dinformatique de Tours est structur en cinq quipes : - Ordonnancement (systmes informatiques, systmes de production) et Conduite des systmes de production , sous la responsabilit de : Pr. J.-C. Billaut, Pr. P. Martineau - Reconnaissance des Formes et Analyse dImages , sous la responsabilit de : Pr. H. Cardot - Bases de donnes et Traitement du Langage Naturel , sous la responsabilit de : Pr. D. Maurel. - Rseaux (charges, scurit) et TIC9 (web) , sous la responsabilit de : Pr. G. Venturini.

9

Technologies de linformation et de la communication

Promotion 2002 - 2004

9 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

- Handicap et Nouvelles Technologies, sous la responsabilit de : P. Gaucher, Pr. M. Slimane.

Le thme central des recherches effectues au laboratoire tant : Algorithmes et heuristiques doptimisation et de dcision . Voici un petit aperu des diffrentes quipes et de leurs axes de recherche.

a. Base De Donnes Et Traitement Du Langage Naturel (BdTln) Responsable : Denis MAUREL Chercheurs permanents : 14 Personnels techniques : 3 Correspondants, visiteurs, chercheurs temporaires: 6 Cette quipe propose trois axes de recherches : dcouverte de connaissances dans les bases de donnes, Informatique et linguistique. b. Reconnaissance des Formes et Analyses dImages (R.F.A.I.) Responsable : Hubert CARDOT Chercheurs permanents : 19 Personnels techniques : 2 Correspondants, visiteurs, chercheurs temporaires: 5

Cette quipe propose trois axes de recherches : reconnaissance des formes analyse dimages traitement du document c. Rseaux/Technologies de lInformation et de la Communication (R.T.I.C.) Responsable : Gilles VENTURINI Chercheurs permanents : 7 Personnels techniques : 2 Correspondants, visiteurs, chercheurs temporaires: 0

Promotion 2002 - 2004

10 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Cette quipe de recherche est celle qui a t cre le plus rcemment. Sa cration est le fait de la place importante quoccupe prsent, les rseaux et limplantation sur Internet, dans tous les travaux du laboratoire informatique. Cette quipe de recherche tudie trois axes de recherches : Cration dun site web gnrique, ralit virtuelle, scurit des rseaux (dtection dvnements anormaux). d. Ordonnancement et conduite (O.C.) Responsables : Jean-Charles BILLAUT, Christian PROUST Chercheurs permanents : 19 Personnels techniques : 2 Correspondants, visiteurs, chercheurs temporaires: 4

Cette quipe tudie trois axes de recherches : conception de nouveaux algorithmes pour rsoudre des problmes

dordonnancement, mise en oeuvre dordonnancements pour la conduite, identification de problmes dordonnancement, systme dexploitation et conduite : conduite des systmes de production et systmes dexploitation. e. Handicap et Nouvelles Technologies Responsables : Pierre GAUCHER, Mohamed SLIMANE Chercheurs permanents : 8 Personnels techniques : 0 Correspondants, visiteurs, chercheurs temporaires: 0

Cette quipe soccupe, entre autres, de la conception dun prototype dune maison intelligente modulaire, facilement transportable, pour handicap moteur lourd, lieu de vie en milieu ouvert. Ce projet ncessite des alliances multiples, y compris avec des conomistes. Nous essayons de le promouvoir depuis 1997. Il est support par le CG 37 et lentreprise CORONA Mdical notamment.Promotion 2002 - 2004

11 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

f. Habitat Mobile pour Personnes Handicapes Responsable : Pierre GAUCHER Chercheurs permanents : 9 Personnels techniques : 2 Correspondants, visiteurs, chercheurs temporaires: 1

Ce projet est tranversal aux quipes de recherches : (R.F.A.I), BdTln, RTIC, et ncessite des alliances multiples, notamment avec des conomistes. Cette quipe de recherche tudie quatre axes de recherches : aides techniques pour personnes handicapes, domotique pour handicap, habitat intelligent, outil daide la conception dun habitat adapt.

Le stage sest droul au sein de lquipe Reconnaissance des formes et analyses dimages.

2. Prsentation des diffrents outils de dveloppement2.1. Le visual C++ et la MFC10 La programmation de logiciels se fait de nos jours laide de programmes totalement ddis, comme Borland C++ ou Visual C++. En effet, contrairement la programmation sous DOS, la programmation sous Windows ncessite beaucoup plus de paramtres pour fonctionner correctement, paramtres automatiquement grs pas ces derniers compilateurs. La MFC utilise le concept de document/vue et de classe pour nous offrir rapidement des objets tels que des boutons, des zones de textes etc.. Ainsi, il nous devient tout fait possible des raliser des programmes en dposant nos composants. La MFC gre aussi dinnombrables lments comme des icnes, des fentres, ou des images. Voici un aperu de lespace de travail de visual.

10

MFC : Microsoft Foundation Classes

Promotion 2002 - 2004

12 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Figure 2. La MFC sous Visual C++ 6.0

Ce compilateur ressemble beaucoup au compilateur manipul lIUT, Borland C++. Ils est nanmoins beaucoup moins simple dutilisation. Toutes les parties programmations du stage ont t effectues en gnral en langage C++. Le langage Visual Basic a t aussi manipul lorsque nous avons ralis des Macros11 sous Excel. 2.2. La librairie FOX

La bibliothque Fox Toolkits, base sur une conception C++ et une philosophie Java, permet de raliser trs simplement une interface graphique (GUI12). Les crateurs de la librairie fournissent plusieurs exemples de programmes raliss entirement avec FOX, ce qui nous permet de mieux comprendre comment manipuler la syntaxe.

11 12

Macro : macro-commande qui permet dexcuter automatiquement des actions Graphical User Interfaces

Promotion 2002 - 2004

13 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Linstallation de cette librairie reste simple, il suffit dinclure le dossier fox1.0.46/include , contenant tous les fichiers denttes .h lors de la compilation. Ces fichiers sont trs intressants car ils contiennent toutes les classes, et tous les prototypes des fonctions et des mthodes existants dans la librairie. Le fichier principal de la librairie FOX fox.lib ( ou foxd.lib pour le mode debug) est aussi inclure dans le projet, celui-ci contenant justement toutes les sources des mthodes mentionnes dans les fichiers denttes. La librairie permet de manipuler facilement aussi bien les flux de fichiers, que les images, ou les diffrents boutons/menus/objets des fentres de Windows, etc (cf. figure 3) De plus, les concepteurs de la FOX ont eut lingnieuse ide dinsrer un FX au dbut de chaque classe appartenant la FOX. Cela rend lutilisation bien plus confortable.

Figure 3. Le programme initialement modifi (Param_AAC13), utilisant la FOX

Cette librairie est aussi trs portable puisque nous pouvons lutiliser dans des systmes dexploitation tels que Windows ou Linux. Lapplication utilisant la FOX devra cependant tre en Win32 (et non AppWizard) afin de pas rencontrer de conflits logiciels.

13

Param_AAC : Parameters Activ Autonomous Contour

Promotion 2002 - 2004

14 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

La bibliothque Fox ToolKits est approprie au traitement simple des images 2D/3D et peut inclure des bibliothques comme OpenGL14 pour tre encore plus complte. Nous avons utilis lors du stage la version 1.0.51 de la librairie. . Param_AAC fut le premier programme utilis pour, non seulement tudier le contour actif lui mme, mais aussi pour coder les diffrentes amliorations ncessaires llaboration du sujet de stage. Mais en raison dune multitude derreurs, de dfauts et dapproximations, nous avons t contraint de reporter notre travail sur un autre logiciel : SnakeMagick.

2.3.

La librairie ImageMagick

Le programme utilis en second lieu (SnakeMagick) est celui que nous avons retenu pour tester notre algorithme. Ce programme est bas sur la plate-forme MFC et utilise la librairie ImageMagick. Pour utiliser ce programme, il faut installer au pralable la bibliothque ImageMagick sur chaque poste de travail. Nous obtenons alors une vingtaine de DLL15 directement utilises par le programme SnakeMagick. (Le dtail de linstallation est fourni en annexe 3 p 70)

Voici un aperu du logiciel utilis.

14 15

OpenGL : Open Graphics Library librairie graphique orient 3D DLL : Dynamic Link Library

Promotion 2002 - 2004

15 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Figure 4. Programme finalement adopt, utilisant ImageMagick

Contrairement la librairie FOX, ImageMagick ne gnre aucune plate-forme, il faut donc lutiliser avec la MFC par exemple. Cette librairie est beaucoup plus complte que la FOX, elle intgre beaucoup plus de fonctionnalit notamment sur les images. Lutilisation, tout comme linstallation, reste longue est fastidieuse, mais sa grande libert de traitement la rend trs efficace. 2.4. VIDEOMACH Le logiciel VideoMach est un programme ralisant des vidos dans plusieurs formats (dont : avi, mpeg, etc.).

Promotion 2002 - 2004

16 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Figure 5. Le logiciel VideoMach

Ce logiciel nous a permis de crer des vidos au format avi avec les diffrentes images du snake extraites automatiquement. La visualisation du dplacement du snake (et la sauvegarde de celle-ci) est utile pour rgler les diffrents paramtres du snake (notamment le critre darrt).

3. Etude du contour actif3.1. Dfinition du snake KASS et al.16 proposrent ds 1985, dans Proceedings of First International Conference on Computer Vision, une nouvelle mthode pour la dtection de contours dans une image : les contours actifs. Ce contour est modlis par une courbe qui se dforme en fonction de diffrentes nergies pour venir se positionner sur les frontires de lobjet. Pour les images numriques, le traitement seffectuera avec un certain nombre de points chans, et dont le nombre varie en fonction de la prcision dsire.

16

et al : latin, et son quipe

Promotion 2002 - 2004

17 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Etant donn lexistence de diffrentes formes dimages, des coefficients sont attribus chacune des nergies utilises. La fonctionnelle dnergie reprsentera alors lensemble des nergies, auxquelles sont appliqus leur coefficient respectif. Lapproche variationnelle (utilise dans notre projet) tendra minimiser cette fonctionnelle dnergie. Il existe trois sortes dnergies : les nergies internes les nergies externes et les nergies de contexte

Les nergies internes grent la cohrence de la courbe. Elles dfinissent la raideur de la courbe et la cohsion des points. Cette catgorie est compose de deux nergies : lnergie de continuit (la drive premire de la courbe), et lnergie de courbure (deuxime drive). Les nergies externes prennent en compte les caractristiques des images traites. Parmi celles-ci, il faut compter lnergie dintensit (la couleur du pixel de limage) et lnergie de gradient (la drive premire de limage cette fois-ci). Enfin, les nergies de contexte, parfois appeles nergies de contrainte, permettent dintroduire des connaissances a priori sur ce que nous cherchons. Dans notre logiciel, nous utiliserons lnergie de contexte de ballon. Ces diffrentes nergies seront tudies en dtail par la suite. Tout au long du stage, nous avons utilis un seul et mme algorithme, nomm Greedy, qui est reconnu pour tre lun des algorithmes les plus rapides pour les contours actifs. 3.2. L'Algorithme Greedy Dans le cas de lalgorithme greedy utilis, lnergie globale (ou fonctionnelle globale dnergie) du contour associe aux N points est :

avec Mi, i=1..N, un ensemble de points ordonns.quation 1. Fonctionnelle d'nergie

Il sagit de trouver lensemble des N points Mi qui dfinissent la courbe C. Pour cela, il existe plusieurs mthodes et parmi celles-ci, lalgorithme greedy. a. Principe La mthode du greedy consiste faire voluer le contour actif en minimisant la fonctionnelle dnergie : pour chaque point du snake, on choisit un nombre de voisins pour lesquels on va calculer lnergie, le point se dplacera alors sur le voisin qui possde lnergie la plus faible. On cherche donc lensemble M des points pour laquelle lnergie est minimale.Promotion 2002 - 2004

18 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Cest donc un algorithme itratif qui dplace un point unique pour constituer un nouveau contour actif chaque itration. Tous les points sont traits successivement lors de chaque itration. Dans lalgorithme greedy utilis, la fonctionnelle dnergie est une somme de 5 nergies (intensit, continuit, courbure, gradient et ballon) normalises et pondres chacune par un coefficient (a, b, c, g et d). Dans lalgorithme greedy avec tirage alatoire des paramtres (le contour actif autonome), il sagit de dterminer, pour chaque itration et pour chaque point du snake M, le meilleur jeu de coefficients qui minimisent la fonctionnelle dnergie cette itration. Pour dterminer le meilleur jeu de coefficients, on tire alatoirement un nouveau jeu de paramtres, chaque point du snake, chaque point du voisinage et chaque itration. Puis, en comparant la fonctionnelle dnergie avec ces coefficients et la prcdente, on garde le nouveau jeu de coefficients si celui-ci livre une nergie plus faible.

b. Les algorithmes Pour mieux comprendre comment fonctionne le greedy, voici les deux algorithmes utiliss : Le Greedy coefficients dnergie constants

Figure 6. L'algorithme Greedy

Promotion 2002 - 2004

19 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Le contour actif autonome

Figure 7. Algorithme pour le contour actif autonome

Promotion 2002 - 2004

20 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Voici la bote de dialogue regroupant tous les paramtres (a b c d et g en haut) du snake et plus particulirement ceux de lalgorithme Greedy.

Figure 8. Bote de dialogue regroupant les diffrents paramtres

Nous allons dans la suite de cette partie tenter dexpliquer quel est le rle de chaque nergie dans la dcision du dplacement du snake. Nous allons parcourir aussi les autres paramtres propres lalgorithme Greedy. c. Lnergie dIntensit

Promotion 2002 - 2004

21 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Lnergie dIntensit fait partie des nergies externes. Cette nergie reprsente simplement la valeur du pixel (sur un octet, donc de 0 255) de limage transforme en niveaux de gris. Eintensit = NiveauxDeGris[x][y] ;quation 2. Calcul de l'nergie d'Intensit

Remarque : la transformation dune image en niveau de gris est explicite dans la partie 3.2.f. d. Lnergie de Courbure Lnergie de courbure dfinit langle form par trois points adjacents du snake. Plus le coefficient attribu cette nergie sera fort, et plus le snake aura la forme connue pour tre la forme la moins coteuse en nergie : la ligne droite ou le cercle pour des objets ferms. (cf. figure 9)

Figure 9. Test effectu avec un fort coefficient de courbure

Lnergie de courbure est donne par la relation suivante :Ecourbure = 0,5 (Po int i 1 . X 2 Po int i . X + Po int i +1 . X ) + (Po int i 1 .Y 2 Po int i .Y + Po int i +1 .Y )2

(

2

)

quation 3. Calcul de l'nergie de Courbure

e. Lnergie de Continuit Lnergie de continuit fait partie des nergies dites internes au contour actif. Cette nergie rgit la distance entre les diffrents points du snake. Ainsi, lorsque le coefficient de lnergie de continuit est nul, les points du snake pourront se dplacer aussi loin les uns des autres que limage leur permettra. Dans le cas contraire, c'est--dire lorsque le coefficient de continuit est trs lev, le snake sera rigide. (cf. figure suivante)

Promotion 2002 - 2004

22 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Du fait de la forte valeur du coefficient de continuit, la distance entre les points du snake est fixe. Cela oblige les points du snake se dplacer une distance fixe de ses points adjacents. Nous observons que, entre trois points du snake, il existe des angles trs obtus. (haut de limage) Cela est

principalement d au coefficient de courbure nul, et non lnergie de continuit.

Lnergie de continuit se calcule par rapport la moyenne des distances entre les points du snake, telle que :Econtinuit= 0,5 abs ( DistanceMoyenne

(Point2.X - Point1.X )2 + (Point2.Y - Point1.Y )2

)

quation 4. Calcul de l'nergie de continuit

Nous remarquons que pour minimiser cette expression, le point Point1 doit se positionner une distance gale la distance moyenne (DistanceMoyenne) du point Point2.

f. Lnergie de GradientLnergie de Gradient est la deuxime nergie du contour actif qui dpende de limage. Cette nergie externe est dune importance premire pour la dtection du contour. En effet, un contour est gnralement caractris par une forte diffrence entre les valeurs de plusieurs pixels. Ainsi, si la drive dune fonction reprsente les pentes dune courbe, le gradient montrera les fortes diffrences, les contours de limage. En mathmatique, le gradient dune fonction spatiale (trois dimensions au minimum) reprsente simplement la drive de celle-ci suivant toutes les directions du plan (O,i,j) :

r f r f r gra d ( f ( x, y ) ) = i + j x yquation 5. Formule du gradient

En informatique, les fonctions sont discrtes, et il devient difficile voir impossible dappliquer cette formule. Aussi, pour obtenir le gradient dune image, donc dune matrice de pixels, nous pouvons utiliser les mthodes de Roberts, Prewitt ou de Sobel. Premirement, afin dallger les calculs, nous ralisons le gradient sur une image en niveau de gris. Les images en couleur, possdant trois composantes de couleur : Rouge Vert et Bleu, sont transformes en images possdant une seule composante grise, reprsentative des Promotion 2002 - 2004 Julien MICHOT 23 sur 74

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

trois anciennes composantes pour ne pas dtriorer trop fortement limage et donc les contours. La valeur de cette dernire est calcule selon la relation : Gris = (0,299*Rouge+0,587*Vert+0,114*Bleu)

Figure 10. Transformation d'une image en niveau de gris

La transformation en niveau de gris conserve linformation essentielle de limage : le contours (cf. figure 10). Nous appliquons ensuite lalgorithme de calcul du gradient de limage. Pour obtenir le gradient dune image, chaque pixel, chaque case de la matrice image sera calcul en fonction de ses voisins pondrs par une matrice de coefficients dtermins. Voici un exemple de matrices de coefficients, les plus utilises. Matrices de Roberts 1 0 0 -1 Matrices de Prewitt : 1 1 0 0 1 0 1 1 1 1 2 1 0 0 0 0 0 0 -1 -1 1 -1 -2 1 0 1 -1 0

-1 1 1 Matrices de Sobel : 1 2 0 0 1 0

-1 2 1

Le gradient de Sobel de la matrice m la ligne i et la colonne j sera donc :

Promotion 2002 - 2004

24 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Grad

(m )ij

(1 mi 1 j 1 + 2 mi j 1 + 1 mi +1 j 1 1 mi 1 j +1 2 mi j +1 1 mi +1 j +1 )2 = + (1 mi 1 j 1 + 2 mi 1 j + 1 mi 1 j +1 1 mi +1 j 1 2 mi +1 j 1 mi +1 j +1 )2 quation 6. Le gradient de sobel

Voici une comparaison entre le gradient dune image et limage originale :

Figure 11. Le gradient dune image et limage originale

Nous observons que les contours sont bien renforcs (couleurs sombres). Si nous effectuons ensuite un seuillage de limage du gradient, nous filtrerons alors les faibles pentes, les contours peu importants.

Figure 12. Gradient seul et gradient + seuillage (150)

Voici un test effectu avec un coefficient dnergie de gradient nul :

Promotion 2002 - 2004

25 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Figure 13. Coefficient dnergie de gradient nul

Le snake na capt aucun contour, il ne sarrte donc pas. Ce test montre bien que sans gradient, le contour actif ne pourrait pas connatre les emplacements des contours. Voici un autre test effectu sur une image relle, avec un fort coefficient dnergie de gradient: A linverse, le coefficient lev du gradient bloque le snake. En effet, le gradient tant une drive spaciale de limage, plus la diffrence de couleur entre deux pixels est leve, plus le gradient sera fort, et plus le snake pensera quil sagit dun contour. Un fort gradient va donc stopper le snake sur une faible variation de couleur. Cette image tant fortement bruite, le snake ne peut avancer. Ce problme de bruit est caractristique des images relles. En effet, celles-ci possdent des pixels gnralement diffrents de ses voisins, ce qui donne au gradient de nombreux piques de couleur noire. (cf. figure 14 et 15)

Promotion 2002 - 2004

26 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Figure 14. Le "bruit" d'une image relle

Voila pourquoi le gradient dune image relle ne va pas donner une trs bonne indication pour les contours, contrairement aux images synthtiques qui fournissent des contours nets. (cf. figure 15)

Figure 15. Gradient d'une image synthtique et d'une image relle

g. Lnergie de BallonLnergie de Ballon est lnergie qui dcide du sens de propagation du contour actif. Un coefficient dnergie de ballon positif va concentrer le snake, alors quun coefficient ngatif va rendre le snake expansif. (cf. figure 16)

Promotion 2002 - 2004

27 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Energie de ballon positive

Energie de ballon ngative

Le snake va se contracter

Le snake va se gonfler

Figure 16. Importance du signe de lnergie de ballon

Pour calculer lnergie Ballon, nous tudions la distance entre un point du snake et le barycentre des diffrents points composant le snake.

Eballon = abs (

(Po int . X MoyenneX )2 + (Po int .Y MoyenneY )2 (Po int . X Po int_ avant. X )2 + (Po int .Y Po int_ avant.Y )2

Nous remarquons que pour minimiser cette nergie, le point Point de coordonnes Point.X et Point.Y, aura tendance vouloir atteindre le barycentre du snake.

Mais lalgorithme Greedy apporte lui-aussi dautres paramtres.

3.3.

Parcours des diffrents paramtres supplmentaires rglables a. Le mode Alatoire

Comme nous lavons vu prcdemment, un contour actif est compos de plusieurs nergies, auxquelles nous appliquons diffrents coefficients pour savoir o se dplacer. Le grand handicap de cette mthode est quil est ncessaire de rgler, dajuster les coefficients pour obtenir de bons rsultats, et cela peut prendre parfois beaucoup de temps. Aussi, un contour actif autonome a t conu. Celui-ci gnre en effet alatoirement les coefficients dnergie, et garde le meilleur jeu de coefficients pour les itrations suivantes.

Promotion 2002 - 2004

28 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

En thorie, au bout dun certain nombre ditrations, le jeu de coefficient devient optimal et la dtection du contour est probable. Mais les tests que nous effectu montrent quil est ncessaire damliorer cette mthode, en ajoutant par exemple un algorithme gntique17.

b. Le voisinagePour dplacer un point, lalgorithme greedy calcule toutes les nergies des pixels prsents dans le voisinage du pixel o le point est. Pour un voisinage de trois par exemple, lalgorithme va calculer les nergies dune matrice de 7x7 pixels pour choisir son dplacement (cf. figure 17).

3 3

3

Figure 17. Exemple dun voisinage de 3

Ce paramtre du Greedy permet au snake de se dplacer assez rapidement, en terme ditration, car si lon prend lexemple du cercle (cf. figure 18), ds la premire itration presque la moiti du contour est dtecte. Dans cette figure, nous avons initialis volontairement le snake (itration 0) en dcalage par rapport au cercle, et cela permet de bien voir que l o les points sont les plus proche du cercle, la partie du contour est dtect ds la premire itration. Cependant, ce que nous gagnons en itration, nous en perdons en temps car avec un voisinage de neuf, cela revient calculer les nergies dune matrice de 19x19 pixels pour chaque point. Nous restons tout de mme gagnant en temps.

17

cf. Thse de J.J. Rousselle

Promotion 2002 - 2004

29 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Itration 0 (Initialisation)

Itration 1

Itration 7 Voisinage : 9 Autour de chaque point du snake, lalgorithme calcule les nergies de tous les pixels du carr de 19x19 pixels (dont le centre est le point du snake). Il choisira ensuite lnergie

Itration 8

Itration 10

minimale pour dplacer le point.

Figure 18. Evolution du snake avec un fort voisinage

Un grand voisinage peut aussi savrer inutile voir nfaste pour le snake car, si lon prend lexemple du condyle, le snake va alors capter les contours internes au condyle (cf. figure 19).

Contours internes

Figure 19. Contours internes suivis du condyle avec un fort voisinage

c. La normalisationPromotion 2002 - 2004

30 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Afin dviter une trop grande dispersion des valeurs des nergies (certaines nergies varient entre 0 et 500 alors que dautres entre -1 et 0), il est absolument ncessaire de normaliser, c'est--dire de diviser la valeur calcule par la plus grande valeur du voisinage. Cela nous permet ainsi, dobtenir des variations comprises entre -1 et 1, pour toutes les nergies.

d. Les critres darrtLes critres darrt sont trs importants, notamment lorsque lon travaille avec des images relles, comme le condyle par exemple. En effet, il faut parfois prciser au snake quand sarrter car, dans certains cas, le contour actif sarrte pendant un moment sur les contours de limage puis dpasse ceux-ci, attir par des voisins dont lnergie est plus faible. Dans le tout premier programme, trois types de critres darrt taient programms. Le snake sarrte lorsque : moins de x % des points du snake se sont dplacs entre deux itrations. la moyenne des dplacements sur une itration est infrieure x pixel(s). la variation de lnergie est infrieure x % sur les six dernires itrations.

Aprs avoir manipuler et tester le programme, nous nous sommes rendus compte que dans des cas particuliers (avec des images relles dont les contours sont assez forts comme le cauryBroken), le snake avait tendance osciller entre deux positions, sur le contour de limage. Nous tions donc devant un cas o le contour actif avait bien dtect le contour et o le programme ne sarrtait pas du fait de loscillation du snake. Le premier critre darrt ne se rvla pas du tout efficace dans ce cas prcis. Aussi, nous avons pens qui serait intressant de modifier le premier critre darrt, et de comparer les dplacements des points non pas avec la position litration prcdente, mais avec lavant dernire position. Ainsi, le problme de loscillation du snake a t rsolu. Cette dernire mthode ne change de plus pas beaucoup laction premire de lancien critre darrt, puisquelle rajoute en thorie une seule itration supplmentaire.

4. Adaptation des coefficients d'nergie4.1. Prsentation du projet a. Cahier des charges et objectifsLe problme majeur des contours actifs est la ncessit de rgler, dajuster les coefficients pondrateurs des diffrentes nergies mises en jeu. Et le snake reste trs dpendant de ces coefficients. Plusieurs mthodes ont t inventes pour amliorer le contour Promotion 2002 - 2004 Julien MICHOT 31 sur 74

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

actif, comme le Line Search , le momentum ou la liste Tabou , mais celles-ci nutilisaient pas les coefficients pour amliorer la convergence du snake. Aussi, il ma t demand dcrire et de tester une technique issue de la thorie de lapprentissage (cest--dire dont le comportement dpend dinformations antrieures). Lalgorithme devait dans un premier temps savoir quelle tait lnergie la plus suivie par le snake, puis il devait modifier le coefficient de cette nergie pour les itrations suivantes. Deux cas se sont alors prciss : nous calculons lnergie la plus suivie pour chaque point, ce que nous appellerons le mode local, ou nous calculons lnergie prpondrante pour tous les points (en faisant une moyenne par exemple), ce que nous nommerons le mode global. De plus, un troisime mode de modification des coefficients sincorpora dans lalgorithme. Au lieu daugmenter ou de diminuer le coefficient de lnergie la plus suivie avec une valeur constante (10 ou 15 % par exemple), ce dernier mode modifie le paramtre suivant la variation de lnergie dun mme point (donc localement), entre deux itrations. Enfin, nous dterminerons laide de tests, si notre algorithme est efficace et amliore bien le contour actif coefficients constants et le contour actif autonome.

Promotion 2002 - 2004

32 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

b. PlanningVoici le planning final labor et modifi chaque semaine.

26 avril 03 mai

31 mai 07 juin

12 19 avril

19 26 avril

07 14 juin

Semaines

TravauxEtude du contour actif et du programme dun PFE Amlioration du programme (ajout de nouveaux paramtres, correction derreurs) Cration de fichiers Excel et images (bmp) pour le stockage des informations (images et valeurs) Etude de lalgorithme sur ladaptation des coefficients dnergie Ajout dune boite de dialogue et de nouveaux paramtres Programmation de lalgorithme au niveau local et global Rcriture de lalgorithme dans un autre programme TESTS de lalgorithme Pour le snake nonautonome Programmation de lalgorithme pour le snake autonome TESTS de lalgorithme pour le snake autonome Rdaction du rapport

Tableau 1. Planning

4.2.

Analyse fonctionnelle

Nous allons dans ce paragraphe reprendre lanalyse fonctionnelle de lalgorithme, labor avant chaque ligne de programmation.Promotion 2002 - 2004

33 sur 74

VACANCES

Julien MICHOT

14 21 juin

03 10 mai

10 17 mai

17 24 mai

24 31 mai

5 12 avril

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

a. Dtermination de linfluence de chaque nergiePour connatre la proportion de suivi des diffrentes nergies et, par consquent,

lnergie la plus suivie, plusieurs mthodes existent. Nous avons tout dabord utilis la mthode dite des distances euclidiennes, puis la mthode de corrlation. Mais avant de voir ces mthodes, il faut dfinir au pralable ce quon appelle le suivi des nergies. Comme nous lavons vu prcdemment, le contour actif se dplace dans limage et sarrte ds quun contour est dtect. Pour ce faire, le snake interroge toutes les nergies en leur demandant quel est le pixel du voisinage qui a le moins dnergie. Chaque nergie va donc slectionner le meilleur pixel suivant son propre critre. Le contour actif choisit alors le pixel le plus cit et par consquent le plus propice au dplacement. La premire mthode utilise fut donc celle des distances euclidiennes. Le procd fut le suivant : rcuprer les dplacements dsigns par chaque nergie (Pn) rcuprer le dplacement rellement effectu par le snake (P) mettre dans un tableau les distances euclidiennes Dn entre les pixels dsigns par chaque nergie et le pixel choisi. La distance Dn dune nergie n sera telle que : r r 2 2 Dn = Pn P = (Pn. X P. X ) + (Pn.Y P.Y ) Ainsi, lorsque le point dsign correspond au point du dplacement, la valeur Dn est nulle. Lnergie la plus suivie sera donc celle qui aura la valeur la plus faible. En ralisant une moyenne de ces rsultats chaque point et chaque itration, nous obtenons une bonne estimation du suivi des nergies. (Rcapitulatif des rsultats en Annexe 1 p 67) Cette mthode est certes assez prcise, mais elle est aussi coteuse en temps de calcul : il y a deux carrs et une racine. Une autre mthode fut alors adopte. La mthode de corrlation utilise comme son nom lindique le calcul des coefficients de corrlation des nergies. Le procd est similaire la mthode des distances euclidiennes : rcuprer les dplacements dsigns par chaque nergie (Pn) rcuprer le dplacement rellement effectu par le snake (P) mettre dans un tableau les coefficients de corrlation entre les pixels dsigns par chaque nergie et le pixel choisi. La coefficient de corrlation Cn dune nergie sera tel que :

Promotion 2002 - 2004

34 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Si Pn = P Alors Cn = Cn + 1 Sinon Si Pn = - P Alors Cn = Cn - 1

Cet algorithme dlivre alors directement lnergie la plus suivie puisque plus la valeur Cn de lnergie n est leve est plus lnergie est influente. Cette mthode est moins prcise que la premire, mais avec un snake de 100 points, nous pouvons considrer que le calcul des coefficients de corrlation sur dix itrations est suffisant (cela fait quand mme 100x10 = 1000 valeurs en global, ou 10 en local).

Voici une comparaison des deux mthodes faite sur 100 points et 10 itrations:COEFFICIENTS DE CORRELATION Courbure Continuit Gradient Ballon 0,98873188 0,24902142 0,06059258 0,46796626 DISTANCES EUCLIDIENNES Courbure Continuit Gradient Ballon 0,15140926 0,31958281 0,49387699 0,44177461 Tableau 2. Comparaison Corrlation - Distance Euclidienne

Lnergie la plus suivie possde la valeur la plus grandes suivant la mthode de Corrlation et la plus faible suivant la mthode des distances euclidiennes. Ces deux mthodes donnent donc le mme rsultat. Nous avons normalis les distances euclidiennes par normalise par la racinede 72.

La figure suivante montre les diffrents lments ajouts dans la bote de dialogue, regroupant tous les coefficients introduits par notre algorithme, et expliqus dans la suite de ce chapitre.

Figure 20. La paramtres ajouts

b. La modification locale et globalePour quune modification locale puisse voir le jour, il nous a fallu intgrer au programme SnakeMagick des paramtres propres chaque points du snake et chaquePromotion 2002 - 2004

35 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

itration, car initialement, celui-ci ne gardait aucune information sur ltat de ces points. Pour raliser cela, nous avons dcid de modifier le programme en ajoutant une classe nomme PtSnake, contenant de multiples paramtres comme : les valeurs des nergies, les coordonnes du point, les coefficients dnergie, etc Nous en crons donc un nombre assez important :Nombre de Point du Snake x Nombre ditrations. Une fois que nous avons substitu cette

classe aux valeurs globales anciennement utilises, nous pouvons calculer, notament, les coefficients de corrlation des nergies sur plusieurs itrations, ce que nous naurions pu entreprendre auparavant. Aprs avoir dterminer quelle tait le classement des nergies suivant leur influence, il ne reste plus qu modifier le coefficient de cette nergie. Lorganigramme ci-dessous rsume les tapes.

Dbut Calculer les coefficients de corrlation de chaque nergie

Trouver lnergie la plus suivie et la moins suivie

Modifier les coefficients dnergie en consquence

Fin

Figure 21. Organigramme de l'algorithme de modification des coefficients

Le contour actif coefficients constants tait bien trop rigide avec ses coefficients dnergie statiques, car entre le dbut et la fin des itrations, les nergies voluent beaucoup, elles sont dynamiques. Aussi, il me semble ingnieux de calquer cette dynamique sur les coefficients dnergie et ceux, de faon local pour que chaque point puisse tre influent sur le lui et sur ses voisins. Cependant, dans certaines situations il est plus ncessaire dliminer des points sgarant dans une zone non dsire, que daugmenter son influence aussi, nous avons donc entreprisPromotion 2002 - 2004

36 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

une modification globale. Ainsi, tous les points ont exactement les mmes coefficients dnergies, que nous modifions suivant le classement des nergies de lensemble des points. Les diffrents tests sur ces deux modes (local et global) sont prsents dans la partie 5.

c. La modification suivant la variation dnergieLa modification suivant la variation dnergie est une extension de la modification locale. En effet, au lieu daugmenter les coefficients dnergie avec une valeur, un pourcentage fixe, nous lui additionnons un pourcentage de la variation de lnergie. La variation dnergie reprsente simplement la diffrence entre lnergie du point P litrationn et lnergie de ce mme point litration n+1. Cela semble tout fait logique car de cette

manire, nous gardons le signe de linfluence . En effet, si lnergie dun point diminue, alors la variation sera ngative, et nous retrancherons un pourcentage de cette variation. Les coefficients vont par consquent suivrent les fluctuations gnres par le snake et par limage. Nous avons insr un coefficients (pourcentage) sur la variation dnergie car en additionnant directement la valeur, lnergie serait bien trop dpendante des variations.

Coef = Coef x ( 1 + K x (Energie_itn - Energie_itn-1)/max(Energie_itn,Energie_itn-1))Avec K le coefficient rglable mentionn dans le tableauquation 7. Modification des coefficients suivant la variation d'nergie

d. Notions de paliersLorsque nous avons test notre programme sur diffrentes images (cf. partie 4.3), nous nous sommes aperus que laugmentation du coefficient de lnergie prpondrante tait trop importante, au regard notamment du coefficient multiplicateur paramtr. Si lon regarde les valeurs des coefficients dnergie en deux points, et avec une augmentation locale de 10 % (calculs sur dix itrations), nous obtenons ceci :

Promotion 2002 - 2004

37 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

1 ,2 1

0 ,8 0 ,6

0 ,4 0 ,2

0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97

Figure 22. Augmentation locale - Point N 29

0,6 0,5 0,4 0,3 0,2 0,1 0 15 22 29 36 43 50 57 64 71 78 85 92 99 1 8 Intensit Courbure Continuit Gradient Ballon

Figure 23. Augmentation locale - Point N 30

Nous remarquons, tout dabord, que laugmentation est belle et bien locale puisque les coefficients dnergie sont ingaux entre les deux points, mais surtout que pour le point N 29, aprs litration 70, les coefficients dintensit, de courbure, de gradient, et de ballon sont presque totalement nul. En effet, laugmentation trs forte du coefficient de lnergie de courbure implique une certaine diminution, rpartie sur les autres coefficients (du fait de la normalisation des coefficients). Et, au bout dun certain nombre ditrations, les valeurs deviennent nulles. Ds lors, le contour actif sera restreint une seule nergie, ce qui ne peut que dtriorer la qualit du snake.

Promotion 2002 - 2004

38 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Aussi, pour ralentir cette augmentation, nous avons dcid dajouter une option qui modifiera les coefficients de faon discrte, par paliers. Lalgorithme augmente alors le coefficient une fois toutes les n itrations, ce qui donne la forme de paliers. (cf. figure 24) Augmentation locale de 20% par palier de 10 itrations

0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 1 8 15 22 29 36 43 50 57 64 Intensit Courbure Continuit Gradient Ballon

Figure 24. Augmentation locale par paliers - Point N 29

Dans cet exemple de relev, il ny a plus de coefficient tendant vers de fortes valeurs, ce qui permet au snake de garder une certaine libert dans le choix du dplacement. Pour plus de prcision, dautres cas sont prsents en annexe 4 p 72.

e. Modification du contour actif autonomeAu cours de lutilisation du logiciel SnakeMagick, nous nous somme rendu compte de lexistence dune erreur avec le contour actif autonome. La figure suivante est un relev des valeurs alatoires des cinq coefficients dnergie en un point du snake, suivant les itrations, avec le snake autonome.

Promotion 2002 - 2004

39 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

0,8 0,6 0,4 0,2 0 11 16 21 26 31 36 41 46 51 56 -0,2 -0,4 -0,6 -0,8 -1 61 1 6 Intensit Courbure Continuit Gradient Ballon

Figure 25. Variation des coefficients en un point, avec lancien programme

Il est en effet trs surprenant dobtenir ceci car, normalement, le contour actif ne tire pas alatoirement les coefficients chaque itration mais garde les anciennes valeurs si celles-ci sont meilleurs. Aprs r-criture dune partie de la fonction greedy, voici ce que nous obtenons :0,8 0,6 0,4 0,2 0 1 8 15 22 29 36 43 50 57 64 71 78 85 92 -0,2 -0,4 -0,6 -0,8 99 Intensit Courbure Continuit Gradient Ballon

Figure 26. Variation des coefficients en un point, avec le bon algorithme

Ici, on saperoit trs vite que les anciennes valeurs ont bien t conserves, ces zones linaires sont de plus trs frquentes.

Promotion 2002 - 2004

40 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

5. Tests de lalgorithme avec un snake non-autonomeAfin de valider notre algorithme et surtout lefficacit de celui-ci, nous avons entrepris diffrents tests sur quatre images : le CauryBroken, le Condyle, le Losange et lpaule. Cependant, la ralisation de ces tests demandait de connatre au dpart des coefficients dnergie assez bons, et cela a t difficile den obtenir avec un programme initial erron ! Heureusement que dautres stagiaires en avaient dj calculs. Voici la synthse des rsultats sur les quatre images, mentionnant toutes les informations ncessaires la reproduction des essais.

5.1.

Le CauryBroken

Figure 27. Le CauryBroken, lors de l'initialisation des points et la fin des itrations

Paramtres initiauxImage Paramtres CauryBroken.bmp

X Y rayon Points Voisinage Normalisation 128 128 100 100 3 (E-Emin)/(Emax-Emin) Coefficients de dpart Intensit Courbure Continuit Gradient Ballon 0,9 0,9 1 0,8 1 Critre d'arrt : plus de 98% des points oscillent entre 2 positions Calcul des coefficients de corrlation sur 10 itrations

Promotion 2002 - 2004

41 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

RsultatsModification locale Cas N 0 1 2 3 4 5 6 7 8 Energie prpondrante 1 1,5 - 1,05 1,5 - 1,1 0,95 0,95 - 0,9 1,5 - 1,05 1,5 - 1,1 0,95 0,95 Energie la moins suivie 1 1 1 1 1 0,95 0,95 1,5 - 1,05 1,5 - 1,05 Paliers (10 itrations) sans sans avec sans avec sans avec sans avec NON Moyen NON Contour respect OUI NON Moyen NON NON NON OUI OUI OUI Nombre d'itrations 60 100* 100* - 51 94 100* - 46 100* 100* - 75 100* 100* Amlioration (itrations) 9 14 Modification globale Cas N 0 1 2 3 4 5 6 7 8 Energie prpondrante 1 1,5 - 1,05 1,5 - 1,05 0,95 0,95 1,5 - 1,05 1,5 - 1,1 0,95 0,95 Energie la moins suivie 1 1 1 1 1 0,95 0,95 1,5 - 1,05 1,5 -1,1 Paliers (10 itrations) sans sans avec sans avec sans avec sans avec NON NON NON NON Contour respect OUI NON MOYEN MOYEN OUI OUI OUI OUI OUI Nombre d'itrations 60 100* 100* 100 57* 100* - 30* 100* - 75 100* - 41 100* - 42 Amlioration 30 19 18

Modification locale suivant la variation d'nergie Coefficient multiplicateur de la variation d'nergie Paliers (10 itrations) Contour respect 0 sans OUI 0,1 sans OUI 0,1 avec OUI -0,1 sans OUI -0,2 avec OUI 30 30***

Nombre d'itrations 60 42 45 26 Amlioration 18** 15 34*** Tableau 3. Rsultats des tests sur le CauryBroken, avec un snake non-autonome

Lgende pour les tableaux des 4 essais de cette partie 5 100* : Arrt litration 100. 100** : Arrt lorsque la distance moyenne des dplacements est infrieure 1,4 pixel 100*** : Arrt lorsque 70 % des points oscillent entre deux positions

Prcision sur les tableauxLes lignes Energie prpondrante et Energie la moins suivie correspondent aux coefficients multiplicateurs attribus au cours du traitement. La ligne Amlioration correspond au gain final ditrations, par rapport lessai N 0, sans modification de coefficient. Au terme Moyen correspond un contour quasi-dtect. (cf. annexe 2 p 68, cas N 3 en mode local) Le mode par paliers signifie que lalgorithme modifie les coefficients toutes les 10 itrations, et garde ces mmes valeurs pour les itrations 10 x n + k (n,k ; kSet Active Configuration). Cette opration est assez longue (environ 10-15 min) Dans Visual C++ 6.0, aller dans le menu : tools->options, onglet directories Les chemins suivants sont indiqus dans la continuit des Cette tape configure Visual C++ 6.0 en lui spcifiant les chemins afin d'utiliser ImageMagick exemples prcdents. Ils doivent tre adapts si c:\ImageMagick\VisualMagick\VisualDynamicMT.dsw

ImageMagick n'a pas t install en c:\ImageMagick . Ne pas retaper les chemins la main, utiliser le bouton "..." pour parcourir l'arborescence.

Dans include files, ajouter les chemins :

C:\IMAGEMAGICK\MAGICK++\LIB C:\IMAGEMAGICK C:\IMAGEMAGICK\VISUALMAGICK\BIN C:\IMAGEMAGICK\VISUALMAGICK\LIB C:\IMAGEMAGICK\VISUALMAGICK\BIN C:\IMAGEMAGICK\VISUALMAGICK\LIB

Dans library files, ajouter les chemins :

Dans executable files, ajouter les chemins :

Si l'installation d'ImageMagick a lieu sous Windows 98 ou Windows NT, ajouter au fichier %PATH%;c:\ImageMagick\VisualMagick\bin; c:\autoexec.bat le chemin:

Promotion 2002 - 2004

70 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage Si l'installation d'ImageMagick a lieu sous Windows XP, aller dans le et panneau de

configuration,

performance

maintenance,

systme, avanc et variables d'environnements puis modifier la variable PATH en y ajoutant le premier chemin indiqu ci-contre : Crer ensuite une nouvelle %PATH%;c:\ImageMagick\VisualMagick\bin; variable c:\ImageMagick\VisualMagick\bin

d'environnement MAGICK_HOME avec la valeur du second champ indiqu ci-contre : Suivre la mme procdure pour Windows 2000 sauf que systme se trouve directement dans le panneau de configuration L'installation est termine. Il est conseill de redmarrer l'ordinateur pour s'assurer de la prise Pour obtenir de l'aide sur l'utilisation d'ImageMagick, ouvrir en compte des nouvelles variables le fichier c:\ImageMagick\ImageMagick.html

d'environnement

Source : www.ImageMagick.com

Promotion 2002 - 2004

71 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

Annexe 4

Visualisation des diffrents modes dadaptation des coefficients dnergie1. Augmentation locale de 20 % par paliers de 10 itrations :0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 1 6 11 16 21 26 31 36 41 46 51 56 61 61 66

Point N 28 et 29

2. Augmentation globale de 20 % par paliers de 10 itrations :0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0 1 6 11 16 21 26 31 36 41 46 51 56 66

Point N 28 et 29

3. Augmentation locale de 10 % (calcul sur 10 itrations) sans palier :1,2 1 0,8 0,6 0,6 0,5 0,4

0,3 0,2 0,1 0 1 7 1 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97

0,4 0,2 0

Point N 28 et 29

Promotion 2002 - 2004

72 sur 74

Julien MICHOT

Rapport de StageAmlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage

4. Augmentation locale suivant la variation dnergie (calcul sur 10 itrations) :0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 0,2 0,8 1,2

1

0,6

0,4

0 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97

Point N 28 et 29 Lgende :

Tests effectus avec une normalisation des coefficients (la somme des valeurs absolues doit tendre vers 1).

Source : Cration personnelle

Promotion 2002 - 2004

73 sur 74

Julien MICHOT