Академический Документы
Профессиональный Документы
Культура Документы
RAPPORT DE STAGE
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage.
Universit Franois Rabelais Institut Universitaire de Technologie de Tours Dpartement Gnie lectrique et Informatique Industrielle
RAPPORT DE STAGE
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage.
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.
Sommaire
INTRODUCTION 1. PRESENTATION DE L'ENTREPRISE....................................................................7 1.1. 1.2. 1.3. 2. PRESENTATION ........................................................................................................7 COORDONNEES ET LOCALISATION ...........................................................................8 LES DEPARTEMENTS DE RECHERCHE .......................................................................9
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 Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Introduction
Le 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
6 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
1. Prsentation de l'entreprise
1.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.
7 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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
8 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
1.3.
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 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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
10 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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 Stage
Amlioration 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.
10
12 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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
13 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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.
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
14 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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)
14 15
OpenGL : Open Graphics Library librairie graphique orient 3D DLL : Dynamic Link Library
15 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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.).
16 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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).
16
17 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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 :
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 Stage
Amlioration 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
19 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
20 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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.
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
21 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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)
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)
22 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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
Lnergie de continuit se calcule par rapport la moyenne des distances entre les points du snake, telle que :
Econtinuit= 0,5 abs ( DistanceMoyenne
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 Gradient
Lnergie 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 y
quation 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 Stage
Amlioration 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)
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
24 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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
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.
25 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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)
26 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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)
g. Lnergie de Ballon
Lnergie 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)
27 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Le snake va se contracter
Le snake va se gonfler
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.
3.3.
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.
28 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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 voisinage
Pour 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
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
29 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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
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
c. La normalisation
Promotion 2002 - 2004
30 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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.
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.
Rapport de Stage
Amlioration 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.
32 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
b. Planning
Voici 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
Travaux
Etude 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 Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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 :
34 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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 racine
de 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.
35 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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.
Fin
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 entrepris
Promotion 2002 - 2004
36 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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.
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.
d. Notions de paliers
Lorsque 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 :
37 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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
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
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.
38 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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
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.
39 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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
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
Ici, on saperoit trs vite que les anciennes valeurs ont bien t conserves, ces zones linaires sont de plus trs frquentes.
40 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
5.1.
Le CauryBroken
Figure 27. Le CauryBroken, lors de l'initialisation des points et la fin des itrations
Paramtres initiaux
Image 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
41 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Rsultats
Modification 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
42 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
La modification du coefficient de lnergie prpondrante, suivant la variation dnergie est telle que :
Conclusion
Sur cette image trs bruite, plusieurs jeux de coefficients multiplicateurs amliorent la rapidit de convergence du snake. En effet, une faible augmentation ou diminution de 10% de lnergie prpondrante, lchelle locale et par paliers, permettent de gagner de 9 14 itrations. Cependant, la modification globale des coefficients permet dobtenir de meilleurs rsultats. En augmentant sensiblement lnergie la moins suivie de 5 10% et en diminuant lnergie la plus suivie de 5%, nous obtenons le contour de limage ds litration 41-42, soit une amlioration de 18 (avec paliers) 19 (sans palier) itrations, ou une diminution du nombre ditration de 30%. Mais cette diminution peut encore augmenter puisquelle atteint les 50% lorsque lon augmente de 5% lnergie la plus suivie, et que lon diminue de 5% lnergie la moins suivie. En ce qui concerne le modification locale des coefficients suivant la variation dnergie, nous obtenons de bons rsultats puisquun gain de 15 34 itrations est envisageable, et celuici pourrait tre encore amlior en ajustant le critre darrt.
43 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
5.2.
Le Condyle
Figure 28. Le Condyle, lors de l'initialisation des points et la fin des itrations
Paramtres initiaux
Image Condyle224x224.bmp Paramtres X Y rayon Points Voisinage Normalisation 112 111 75 100 3 (E-Emin)/(Emax-Emin) Coefficients de dpart Ballon Intensit Courbure Continuit Gradient 0,1 0,6 0,6 0,65 -1 Critre d'arrt : plus de 90% des points oscillent entre 2 positions Calcul des coefficients de corrlation sur 10 itrations
Rsultats
Modification locale Energie prpondrante 1 1,5 - 1,05 1,5 - 1,05 0,95 0,95 1,5 - 1,05 1,5 - 1,05 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 NON NON Contour respect OUI NON MOYEN MOYEN NON NON MOYEN MOYEN MOYEN Nombre d'itrations 76 100* 100* - 76 100* 56 100* 100* - 57 100* 100* - 84 Amlioration Modification globale Energie prpondrante 1 1,5 - 1,05 1,5 - 1,05 0,95 0,95 - 0,9 1,5 - 1,05 1,5 - 1,05 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 NON NON Contour respect OUI NON OUI NON NON NON MOYEN MOYEN MOYEN Nombre d'itrations 76 100* - 62 100* 100* 76 100* 100* 100* - 76 100* - 72 Amlioration
44 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage Modification locale suivant la variation d'nergie Coefficient multiplicateur de la variation d'nergie 0 0,1 0,1 -0,05 -0,1 Paliers (10 itrations) sans sans avec sans avec Contour respect OUI MOYEN MOYEN MOYEN MOYEN Nombre d'itrations 76 99 100* 62 58 Amlioration Tableau 4. Rsultats des tests sur le Condyle, avec un snake coefficients non-alatoires
Conclusion
Les tests effectus sur cette image ne sont pas probants, aucun jeu de coefficients namliore le contour actif. Il est mme difficile datteindre le contour de limage avant les 100 itrations. Ladaptation locale, globale et suivant la variation dnergie dtriorent plus le snake quil ne laide. Il faut remarquer nanmoins que pour un coefficient ngatif, le snake sarrte avant les 76 itrations et, mme si le contour pourrait tre meilleur, il se peut quun ajustement du coefficient et du critre darrt permette dobtenir un bon contour. Limage du condyle est difficile travaille car les contours sont beaucoup moins nets quavec une image comme le CauryBroken. Il se peut que notre algorithme amliore le snake sur le condyle, mais ce serait avec des valeurs daugmentation-diminution infrieures 1%. Cela napporterait alors rien notre sujet, le but de celui-ci tant darriver obtenir le contour dune image en partant de coefficient non-optimaux, et ce, afin justement dviter les rglages des paramtres.
45 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
5.3.
Le Losange
Figure 29. Le Losange, lors de l'initialisation des points et la fin des itrations
Paramtres initiaux
Image Paramtres losange.bmp
X Y rayon Points Voisinage Normalisation 150 150 75 100 3 (E-Emin)/(Emax-Emin) Coefficients de dpart Ballon Intensit Courbure Continuit Gradient 0,1 0,6 0,8 1 -1 Critre d'arrt : plus de 90% des points oscillent entre 2 positions Calcul des coefficients de corrlation sur 10 itrations
Rsultats
Energie prpondrante Energie la moins suivie Paliers (10 itrations) Contour respect Nombre d'itrations Amlioration 1 1 Modification locale 1,5 - 1,05 1,5 et + 0,95 0,95 1 1 1 1 avec OUI 28 4 1,5 - 1,15 0,95 1,5 0,95 0,95 1,5 - 1,05 0,95 1,5
sans avec sans avec sans avec OUI OUI NON - OUI OUI NON - OUI OUI 41 26 100* - 28 29 100* - 26* 30 6 4 3 6 2
Modification globale Energie prpondrante 1 1,5 - 1,05 1,7 0,95 0,95 - 0,8 1,5 - 1,05 Energie la moins suivie 1 1 1 1 1 0,95 Paliers (10 itrations) sans sans avec sans avec sans Contour respect OUI NON - OUI OUI OUI OUI NON - OUI Nombre d'itrations 32 100* - 28 27 28 27 - 21 100* - 32 Amlioration 4 5 4 9
Promotion 2002 - 2004
1,5 0,95 0,95 0,95 1,5 - 1,05 1,5 -1,05 avec sans avec OUI NON OUI 28 100* 32 4
Julien MICHOT
46 sur 74
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Modification locale suivant la variation d'nergie Coefficient multiplicateur de la variation d'nergie 0 0,2 0,1 -0,1 -0,15 Paliers (3 itrations) sans sans avec sans avec Contour respect OUI OUI OUI NON OUI Nombre d'itrations 32 27 25 100* 21 Amlioration 5 7 9 Tableau 5. Rsultats des tests sur le Losange, avec un snake coefficients non-alatoires
Conclusion
Sur cette image synthtique, les rsultats sont assez homognes. Dans presque tous les cas, nous rduisons le nombre ditrations de dpart 32 21, au maximum (soit environ de 30 %). Il faut remarquer que cest avec de faibles augmentations-diminutions que nous obtenons les meilleurs rsultats, sauf peut-tre lorsque lon augmente seulement lnergie prpondrante par paliers. Il est toutefois surprenant dobtenir une amlioration de quatre cinq itrations en augmentant lnergie prpondrante et en la diminuant. Aussi, nous avons entrepris de vrifier si lalgorithme fonctionnait correctement. Voici les relevs des coefficients des nergies du snake effectus au point numro dix, sur une mme image (le losange), dans les deux cas suivants : - Diminution globale de 5 % de lnergie prpondrante, sans palier - Augmentation globale de 70 % de lnergie prpondrante, avec paliers (en bas)
0,4 0,3 0,2 0,1 0 13 17 21 -0,1 -0,2 -0,3 -0,4 25 1 5 9 Intensit Courbure Continuit Gradient Ballon
47 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
0,5 0,4 0,3 0,2 0,1 0 10 13 16 19 22 -0,1 -0,2 -0,3 -0,4 25 1 4 7 Intensit Courbure Continuit Gradient Ballon
Ces deux graphiques montrent bien que la premire nergie prpondrante (courbure) est attnue dans un cas et augmente dans lautre, ce qui atteste de la validit de notre programmation. De plus, la modification locale suivant la variation dnergie permet elle aussi de gagner neuf itrations dans le meilleur des cas. En somme, notre algorithme amliore nettement la rapidit du snake. Celui-ci atteint le contour avec une vitesse moyenne 20 % plus grande (30 % au maximum) quavec des coefficients dnergies statiques.
48 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
5.4.
Lpaule
Figure 32. L'paule, lors de l'initialisation des points et la fin des itrations
Paramtres initiaux
Image Paramtres paule.bmp
X Y rayon Points Voisinage Normalisation 125 130 75 100 3 (E-Emin)/(Emax-Emin) Coefficients de dpart Intensit Courbure Continuit Gradient Ballon 0,4 0,8 1 0,467 -1 Critre d'arrt : plus de 90% des points oscillent entre 2 positions Calcul des coefficients de corrlation sur 10 itrations
Rsultats
Modification locale Energie prpondrante 1 1,5 - 1,05 1,5 - 1,05 0,95 0,95 1,5 - 1,05 1,5 - 1,05 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 Contour respect OUI NON NON NON NON NON NON NON MOYEN Nombre d'itrations 84 100* 100* 100* 100* 100* 100* 100* 100* Amlioration
Modification globale Energie prpondrante 1 1,5 - 1,05 1,5 - 1,05 0,95 0,95 1,5 - 1,05 1,5 - 1,05 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 Contour respect OUI NON NON NON NON NON NON NON NON Nombre d'itrations 84 51 100* 100* 100* 100* 100* 100* 100* Amlioration
49 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage Modification locale suivant la variation d'nergie Coefficient multiplicateur de la variation d'nergie 0 0,1 0,1 -0,02 -0,045 Paliers (10 itrations) sans sans avec sans avec Contour respect OUI NON OUI OUI OUI Nombre d'itrations 84 100* 100* 57*** 57*** Amlioration 27 27 Tableau 6. Rsultats des tests sur l'paule, avec un snake coefficients non-alatoires
Conclusion
Limage de lpaule est trs proche de celle du condyle, en terme de bruit et de nettet des contours. Aussi, tous les tests effectus au niveau local ou global, ou suivant la variation dnergie, se sont avrs totalement inefficaces, voir mme nfastes pour le contour actif.
5.5.
Temps supplmentaire
Nous avons de plus ralis plusieurs tests sur le CauryBroken pour savoir si lalgorithme prenait beaucoup de temps de calcul, auquel cas, lajout de temps compenserait la diminution du nombre ditrations et notre algorithme serait peu intressant. Tests sur le CauryBroken, avec 100 itrations et 100 points (sans critre darrt) :
7,0 secondes.
7,1 secondes.
Lalgorithme ne prend pas beaucoup de temps supplmentaire pour calculer les coefficients de corrlation des nergies et pour modifier les coefficients.
(Les temps proposs si dessus sont fortement dpendants de chaque ordinateur, suivant la puissance de ceux-ci et des programmes fonctionnant en mme temps.)
5.6.
Lensemble des rsultats prsents dans cette partie tend montrer que la modification des coefficients suivant limportance des nergies dans la dcision du dplacement tait assez prometteuse sur des images comme celle du CauryBroken ou du losange, ou plus Promotion 2002 - 2004 Julien MICHOT 50 sur 74
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
gnralement sur des images o les contours sont assez prononcs, comme dans les images synthtiques par exemple. Les tests sur lpaule ou le condyle montrent que lalgorithme na pas un effet bnfique, bien au contraire, sur le contour actif. Le bruit, la nettet des contours, ou la forme de lobjet sont peut-tre lorigine de cette dfaillance. Cette mthode est de plus peu coteuse en temps de calculs aussi, le gain en itration est tout fait rvlateur de lamlioration apporte par notre algorithme.
Discutions
Les tests effectus sur le CauryBroken et le losange montrent quune augmentation du coefficient de lnergie la plus suivie entrane une diminution du nombre ditrations ncessaire la dtection des contours. Cela semble cohrent : puisque cette nergie est trs suivie par le snake, pourquoi ne pas augmenter son influence vis--vis de celui-ci. Nous obtenons ds lors une certaine amlioration, sauf sur le condyle et lpaule, je le rappelle. Mais ce qui est intressant de voir, cest quune diminution locale de cette mme nergie entrane aussi une amlioration du contour actif. La cause venait peut-tre de la normalisation des coefficients, commune aux deux cas. Mais aprs avoir lancer le programme sans augmentation ni diminution des valeurs, mais en ajoutant simplement la normalisation des coefficients, nous obtenons exactement le mme rsultat que sans normalisation. Cette situation ne vient donc pas de paramtres auxiliaires mais bien des coefficients eux-mmes, et de linfluence quils ont sur la dcision du snake. Une autre explication peut tre lorigine de cette particularit.
Nous sommes partis pour raliser nos exprimentations de coefficients dnergies statiques pseudo-optimaux. Nous pourrions alors penser que lnergie ayant le plus fort coefficient serait lnergie prpondrante. Or, entre la premire itration et la dernire, le fait est que le classement de suivi des nergies change. Pendant un certain temps ce sera lnergie de courbure, puis lnergie de continuit, etc (cf. figure suivante : une diminution correspond la prpondrance de lnergie)
51 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
0,25
0 13 17 21 25 29 33 37 41 45 1 5 9
Par consquent, puisque linfluence des nergies varient au cours du traitement, les coefficients de dpart sont senss tre des moyennes (pour tous les points et pour toutes les itrations). Et, puisquil sagit de moyennes, les valeurs peuvent osciller au dessus et en dessous de celle-ci. Cela pourrait justifier lamlioration lorsque nous mettons un coefficient ngatif.
A la fin de mon stage, il ma t demand de tester les capacits de cet algorithme sur le contour actif autonome. Nous allons donc prsenter dans la partie suivante, les diffrents tests effectus sur deux images.
52 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
6.1.
Le losange
Linitialisation du snake sur le losange a t modifie car tous tests effectus avec un rayon initial de 75 pixels taient errons.
53 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Figure 35. Le Losange, lors de l'initialisation des points et la fin des itrations
Paramtres initiaux
Image Paramtres losange.bmp
X Y rayon Points Voisinage Normalisation 150 150 65 100 3 (E-Emin)/(Emax-Emin) Coefficients de dpart Ballon Intensit Courbure Continuit Gradient 1 1 1 1 -1 Critre d'arrt : AUCUN car ils ne fonctionnent pas avec le snake autonome Calcul des coefficients de correlation sur 10 itrations
Les coefficients de dpart mentionns ci-dessus ne reprsentent pas la valeur des coefficients (puisquils sont choisis alatoirement), mais il sagit des valeurs maximales de ces mmes coefficients. Ainsi, pour lnergie de ballon par exemple, le coefficient variera entre 0 et 1. Aprs avoir essayer de nombreux critres darrt, nous nous sommes rendus compte que ceux-ci narrtaient jamais le contour actif. En effet, les coefficients alatoires changeaient la direction des points chaque itration.
54 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage Modification locale 1,1 1,1 0,9 1 1 1 avec sans OUI OUI MOYEN (4/4) (4/4) 34 33 34 OUI OUI sans
Energie prpondrante Energie la moins suivie Paliers (10 itrations) Contour respect Nombre d'itrations Amlioration
1 1 sans MOYEN 42
1,1 0,9
1,1 0,9
0,9 1,1
0,9 1,1
sans avec sans avec OUI OUI OUI MOYEN (2/4) (4/4) (3/4) 70 32 33 36 OUI OUI OUI
Modification globale Energie prpondrante 1 1,1 1,1 0,9 0,9 1,1 1,1 0,9 0,9 Energie la moins suivie 1 1 1 1 1 0,9 0,9 1,1 1,1 Paliers (10 itrations) sans sans avec sans avec sans avec sans avec Contour respect MOYEN NON OUI (4/4) OUI (4/4) OUI (4/4) NON MOYEN OUI (4/4) OUI (4/4) Nombre d'itrations 42 100 53 29 35 100 70 26 32 Amlioration OUI OUI OUI OUI OUI Modification locale suivant la variation d'nergie Coefficient multiplicateur de la variation d'nergie 0 0,1 0,1 -0,1 -0,1 Paliers (3 itrations) sans sans avec sans avec Contour respect MOYEN OUI (4/4) OUI (4/4) OUI (4/4) OUI (4/4) Nombre d'itrations 42 35 32 33 32 Amlioration OUI OUI OUI OUI Tableau 7. Rsultats des tests sur le Losange, avec un snake autonome
Conclusion Tout dabord, il est intressant de remarquer que dans le cas N 0, cest--dire lorsque nous avons le snake autonome seul, les diffrents essais se sont avrs imparfaits. Nous navons jamais russi obtenir un contour parfait, ce qui montre bien la ncessit damliorer le snake autonome. Daprs le relev ci-dessus, notre algorithme semble apporter une forte amlioration dans la dtection des contours car dans 15 cas sur 20, le contour est bien suivi. Nous obtenons en moyenne le contour ds litration 30, en mode local, global ou suivant la variation dnergie. De plus, la probabilit dobtenir le bon contour est satisfaisante car, avec la modification locale, nous avons obtenu dans quatre cas 100% de russite. Cette remarque peut aussi tre faite la modification suivant la variation dnergie puisque dans tous les cas les 100 % de russite ont t atteint. Le nombre ditrations moyen ncessaire la capture du contour avec un snake autonome pourvu de notre algorithme, reste toutefois assez proche du nombre ditration
55 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
moyen avec un snake coefficients constants. Mais il faut remarquer que dans ces diffrents essais nous navons pas pass 30 minutes rgler les coefficients au pralable.
Comme limage du Losange est une image totalement ralise par ordinateur, nous ne pouvons tablir de gnralits sur ce seul type dimage, et nous avons donc ralis les mmes essais sur une image relle : le condyle.
6.2.
Le condyle
Le condyle est une image assez difficile traiter, les rsultats obtenus avec le contour actif coefficients constants nont pas t satisfaisants, nous avons donc choisi cette image pour ltude de notre amlioration du contour actif autonome. Paramtres initiaux
Image Condyle224x224.bmp Paramtres X Y rayon Points Voisinage Normalisation 112 111 75 100 3 (E-Emin)/(Emax-Emin) Coefficients de dpart Intensit Courbure Continuit Gradient Ballon 1 1 1 1 -1 Critre d'arrt : AUCUN car ils ne fonctionnent pas avec le snake autonome Calcul des coefficients de corrlation sur 10 itrations Modification locale 1,1 1,1 0,9 1 1 1
Energie prpondrante Energie la moins suivie Paliers (10 itrations) Contour respect Nombre d'itrations Amlioration
1 1
0,9 1
1,1 0,9
1,1 0,9
0,9 1,1
0,9 1,1
sans sans avec sans avec sans avec sans avec MOYEN OUI (3/4) OUI (2/4) MOYEN OUI (3/4) NON OUI (2/4) NON MOYEN 100 62 70 70 65 100 90 100 60 OUI OUI OUI OUI Modification globale 1,1 1,1 0,9 0,9 1,1 1,1 0,9 0,9 1 1 1 1 0,9 0,9 1,1 1,1 sans avec sans avec sans avec sans avec NON MOYEN NON MOYEN NON MOYEN NON NON 100 90 100 100 100 90 100 100
Energie prpondrante Energie la moins suivie Paliers (10 itrations) Contour respect Nombre d'itrations Amlioration
56 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage Modification locale suivant la variation d'nergie Coefficient multiplicateur de la variation d'nergie 0 0,1 0,1 -0,1 Paliers (3 itrations) sans sans avec sans Contour respect MOYEN OUI (3/4) OUI (3/4) MOYEN Nombre d'itrations 100 85 100 80 Amlioration OUI OUI Tableau 8. Rsultats des tests sur le condyle, avec un snake autonome
Conclusion Les rsultats de nos essais sur le condyle sont assez prometteurs pour les images relles. En effet, alors que nous navions pas obtenu la dtection parfaite des contours du condyle avec le snake autonome seul, nous parvenons capter le contour en seulement 62 itrations (en moyenne !) dans le meilleur des cas. La modification globale des coefficients dnergie est nanmoins bien moins satisfaisante puisque tous les tests nont pas t convaincants. Sur une image comme le condyle, il est trs important de rester avec des points totalement autonomes car les nergies influentes diffrent beaucoup suivant le point tudi. Les meilleurs taux de russite sont prsents dans la modification suivant la variation dnergie. Les 100 % ne sont toutefois pas atteint.
6.3.
La modification des coefficients dnergie sur le snake autonome apporte bien une amlioration. Sur des images artificielles, notre algorithme savre efficace puisque le nombre moyen ditrations avec un snake autonome (qui a donc des coefficients dnergie alatoires) est trs proche du nombre moyen ditrations avec des coefficients constants. De plus, le comportement du snake autonome sur une image relle comme le condyle, est plus que prometteur car, rappelons-le, la modification des coefficients dnergie avec un contour actif coefficients constants (non-alatoires serait maintenant le terme exact), navait aucunement amliorer le snake. De meilleurs rsultats pourraient tre envisags car nous avons ralis les tests avec des valeurs de 1,1 et 0,9 pour ladaptation des coefficients en mode local et global, et avec 0,1 suivant la variation dnergie. Il est en effet probable de rduire le nombre ditrations en ajustant ces nouveaux paramtres.
Enfin, un autre point intressant de lalgorithme est le taux de russite des essais. Contrairement au contours actifs coefficients non-alatoires, le snake autonome ne donne
Promotion 2002 - 2004
57 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
jamais le mme rsultat, il peut parfois se coller au contours dune image et parfois non. Mais dans certains cas de la modification des coefficients, nous obtenons chaque fois le mme rsultat, bon, ce qui est trs avantageux. Voici une simple comparaison entre le snake autonome seul ( gauche) et le snake autonome avec notre algorithme ( droite).
Cela montre bien que la modification des coefficients dnergie suivant leur influence sur le snake apporte bel et bien une amlioration, mais elle a besoin dtre encore amliore.
58 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Conclusion
Dans ce travail, nous nous sommes intresss une technique issue de la thorie de lapprentissage pour amliorer les contours actifs. Celle-ci a fourni de bons rsultats lorsque nous lavons utilise sur un snake coefficients constants, pour des images artificielles comme le losange. En effet, dans le meilleur des cas nous obtenons une amlioration de 30 % du nombre ditrations. Mais, en ce qui concerne les images relles, la mthode sest avre plus nfaste que bnfique. Avec le contour actif autonome, nous obtenons cependant de bien meilleurs rsultats avec la modification des coefficients dnergie, que sans celle-ci. Dans de nombreux cas, les contours de limage traite sont bien suivis, pour des images synthtiques ou relles, et avec une probabilit qui semble tre correcte. Cette mthode apporte aussi quelques dsavantages, avec notamment, une forte augmentation de lespace de mmoire ncessaire au traitement de limage (la dtermination de lnergie la plus suivie require nombre de donnes stocker), et deux trois nouveaux paramtres rgler en plus. Nanmoins, aprs avoir ralis nombre dessais de lalgorithme, nous pouvons dire que le meilleur jeu de paramtres de lalgorithme de lamlioration est une augmentation locale de 1,1 (donc de 10 %) par paliers, de lnergie directrice. Pour encore amliorer cette technique, nous pourrions peut-tre augmenter chaque nergie suivant leur influence dans la dcision du snake sur le dplacement, et non plus augmenter seulement la premire ou la dernire nergie.
Le stage ma permis aussi dapprendre beaucoup de choses sur la programmation oriente objet, sur le langage C++, les contours actifs biensr, mais principalement sur le traitement dimage en gnral. Jai aussi appris tre de plus en plus autonome vis--vis de mon travail, et essayer de mimposer une certaine rigueur, la rigueur dun scientifique, que je navais pas encore acquise au cours de lIUT.
59 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Rsum
Le contour actif, appel aussi snake, est employ pour dtecter les contours dune image. Il est compos de multiples nergies externes, internes et de contexte, qui permettent au snake de ce dplacer dans limage et de sarrter sur un contour. Dans le cadre du stage, nous avons utilis lalgorithme Greedy qui utilise cinq nergies pondres : lnergie de courbure, dintensit, de continuit, de gradient et de ballon. Le dplacement seffectue en comparant les diffrentes fonctionnelles dnergies des pixels voisins dun point du snake. Dans lalgorithme Greedy initial, la pondration des nergies tait statique et nous avons dcid de changer cela et de rendre dynamique cette pondration, suivant linfluence de chaque nergie. Nous avons dans un premier temps essay de modifier les coefficients lchelle locale, cest--dire que nous avons pour chaque point dtermin quelle tait lnergie la plus suivie, puis nous avons modifi le coefficient de celle-ci. Ensuite, nous avons ralis le mme travail mais de faon globale, en modifiant le mme coefficients pour tous les points du snake. Enfin, au lieu de modifier les coefficients dnergie avec un pourcentage fixe, nous avons entrepris de modifier les coefficients avec un pourcentage de la variation dnergie dun mme point, entre deux itrations. Pour valider lefficacit de notre algorithme, de nombreux tests ont t raliss, sur diffrents types dimages (artificielles et relles), avec diffrents pourcentages
daugmentation ( 10 % etc.), et sur deux types de contours actifs : le contour actif coefficients dnergie constants, et le snake autonome.
60 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Abstract
Active contours, called snake, is used to detect images contours. It is based on several energies, externs, interns and contexts energies, which make snake move into images and make it stop if it detect a contour. The Greedy algorithm we used, is splited on five ponderated enregies : curve, intensity, continuity, gradient and balloon energy. The move is determined comparing differents fonctionnels of energy between all neighborhood of pixels of each point in a snake. In the Greedy algorithm alone, the ponderation of energies is static and we decided to change this and make it dynamic, according to influence of each energie. The first step was determine which energie was the more chosen. Then, we modify the coefficient of this more followed energie according each point for the local method and according all of points for the global method. Moreover, we modify coefficients in two differents ways : either we add a constant percentage (ex 10 %), or we add a percentage depending of the variation of energy. We check our algorithm in differents ways, with two kinds of images (real and artificial), with several percents of augmentation, and especially with two kinds of actives contours : the active contour with constants coefficients, and with the Autonomous Snake.
61 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
62 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
63 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Figure 32. L'paule, lors de l'initialisation des points et la fin des itrations CP...............26 Figure 33. Etude de l'volution des coefficients de corrlations des nergies CP ................26 Figure 34. Tests rpts sur le condyle, en mode autonome CP ...........................................26 Figure 35. Le Losange, lors de l'initialisation des points et la fin des itrations CP ..........26 Figure 36. Le snake autonome seul et avec notre algorithme CP..........................................26
Tableaux
Tableau 1. Planning CP .........................................................................................................26 Tableau 2. Comparaison Corrlation - Distance Euclidienne CP .........................................26 Tableau 3. Rsultats des tests sur le CauryBroken, avec un snake non-autonome CP .........26 Tableau 4. Rsultats des tests sur le Condyle, avec un snake non-autonome CP .................26 Tableau 5. Rsultats des tests sur le Losange, avec un snake coefficients non-alatoires ....26 Tableau 6. Rsultats des tests sur l'paule, avec un snake coefficients non-alatoires CP.26 Tableau 7. Rsultats des tests sur le Losange, avec un snake autonome CP.........................26 Tableau 8. Rsultats des tests sur le condyle, avec un snake autonome CP..........................26
Equations
quation 1. Fonctionnelle d'nergie CP ................................................................................18 quation 2. Calcul de l'nergie d'Intensit CP.......................................................................22 quation 3. Calcul de l'nergie de Courbure CP ...................................................................22 quation 4. Calcul de l'nergie de continuit CP ..................................................................23 quation 5. Formule du gradient CP .....................................................................................23 quation 6. Le gradient de sobel CP .....................................................................................25 quation 7. Modification des coefficients suivant la variation d'nergie CP........................26
CP : crations personnelles.
64 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Bibliographie
- uvres, revues et thses : Thse de M. Mraghni, Dtection de chanes de contours dans une image numrique par approche symbolique et par grammaire de formes , 1997 Thse de J.J. Rousselle, Les contours actifs, une mthode de segmentation , Juillet 2003 - sites Internet et documents lectroniques : Thse de J.J. Rousselle - Les contours actifs, une mthode de segmentation http://rfai.li.univ-tours.fr/rfai/rapports/rou03a.pdf - consult le 10/04/2004. La librairie FoxToolkit www.fox-toolkit.org - consult le 20/04/2004. Un modle de contour actif pour le suivi rapide dobjets en movement , http://rfai.li.univ-tours.fr/rfai/rapports/lef01d.pdf - consult le 20/04/2004. A web oriented recurrent neural network simulator , www-rocq.inria.fr/~crucianu/src/iconib98.pdf- consult le 20/04/2004. La librairie ImageMagick www.ImageMagick.org - consult le 20/04/2004. Nicolas Sorel - Codes Sources en C++, www.cppfrance.com - consult le 20/04/2004. Laboratoire dinformatique de Tours www.li.univ-tours.fr - consult le 20/04/2004. J.J. Rousselle - Remarques sur la prsentation des rapports http://www.rfai.li.univ-tours.fr/rousselle/docum/pdf/Rqmemo02.pdf - consult le 27/05/2004.
65 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Annexe 3 Installation d'Image Magick pour Windows 98, NT, 2000 et XP pour Visual C++ 6.0 : Magick++.70 Annexe 4 Visualisation des diffrents modes dadaptation des coefficients dnergie72
66 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Annexe 1
Aperu des donnes crites dans un fichier Excel pour y tre traites
Coordonnes du cercle de dpart : Rayon Centre X Centre Y 123 128 128 Moving Actif Normalisation : Maximum Critre d'arret n 1 Valeur : 20 Line search Inactif Valeur : 0 Momentum Inactif Valeur : 0 Coefficients constants : Courbure Continuit Gradient Ballon 0,5 0,5 0,5 0,5 Itration 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Num Point Courbure dx dy 1 -1 0 2 1 1 3 -1 0 4 1 0 5 -1 1 6 1 0 7 0 0 8 0 0 9 0 0 10 0 1 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 16 0 0 17 1 0 18 0 0 19 0 0 20 0 0 21 0 1 22 1 -1 23 0 1 Continuit dx dy 2 0 -2 0 3 -1 -1 -1 -2 0 0 -1 -1 0 0 0 1 0 1 1 1 0 2 1 2 1 2 2 3 2 3 2 0 -1 3 3 0 -1 0 0 0 1 1 0 0 2 Gradient dx dy 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 Ballon dx dy -3 0 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -3 Dplacement dx dy -3 1 -1 1 0 0 -1 -1 -3 1 -1 -1 -2 -1 -2 -1 -2 -2 -2 -1 -2 -2 -1 -1 -1 -2 -2 -1 -1 -2 -2 -2 -1 -2 -1 -2 -1 -2 -1 -2 -1 -1 1 -3 -1 -1
67 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Annexe 2
Rsultats des tests effectus sur le CauryBroken, selon une modification locale des coefficients.
Cas n 0
Cas n 1
Cas n 2
Cas n 3
Cas n 4
Cas n 5
Cas n 6
Cas n 7
Cas n 8
68 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Rsultats des tests effectus sur le CauryBroken, selon une modification globale des coefficients.
Cas n 0
Cas n 1
Cas n 2
Cas n 3
Cas n 4
Cas n 5
Cas n 6
Cas n 7
Cas n 8
69 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Annexe 3
INSTALLATION D'IMAGE MAGICK POUR WINDOWS 98, NT, 2000 et XP POUR VISUAL C++ 6.0 : MAGICK++
Disposer du fichier ImageMagick.zip (41523Ko) ftp://ftp.simplesystems.org/pub/ImageMagick/ImageMagickou bien tlcharger : 5.3.0.tar.gz
Dcompresser le fichier dans un rpertoire du type c:\ImageMagick Nous obtenons l'arborescence suivante : Ouvrir le projet configure.dsw dans Visual C++ 6.0, le compiler et l'excuter Pour chaque fentre du programme de un rpertoire c:\ImageMagick contenant les rpertoires : bzlib, coders, contrib, ... c:\ImageMagick\VisualMagick\configure\configure.dsw
configuration, laisser les paramtres proposs par Cliquer sur suivant, suivant... dfaut Ouvrir le projet VisualDynamicMT.dsw dans Visual C++ 6.0, le compiler en mode DEBUG (menu Build->Set 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.
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:
70 sur 74
Julien MICHOT
Rapport de Stage
Amlioration 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
71 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
Annexe 4
Point N 28 et 29
Point N 28 et 29
0,4 0,2 0
Point N 28 et 29
72 sur 74
Julien MICHOT
Rapport de Stage
Amlioration des paramtres des contours actifs par une technique issue de la thorie de lapprentissage
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).
73 sur 74
Julien MICHOT