Вы находитесь на странице: 1из 129

N o dordre : 0000

THSE
PRSENTE

LUNIVERSIT BORDEAUX I
COLE DOCTORALE DE MATHMATIQUES ET
DINFORMATIQUE
Par Richard MOUSSA
POUR OBTENIR LE GRADE DE

tel-00652445, version 1 - 15 Dec 2011

DOCTEUR
SPCIALIT : INFORMATIQUE
SEGMENTATION MULTI-AGENTS EN IMAGERIE BIOLOGIQUE ET
MDICALE : APPLICATION AUX IRM 3D

Soutenue le : 12 dcembre 2011


Aprs avis des rapporteurs :
Vincent CHEVRIER . . . . .

Matre de Confrences/HDR

Philippe JOLY . . . . . . . . . . .

Professeur

Devant la commission dexamen compose de :


Vincent CHEVRIER . . . . .

Matre de Confrences/HDR

Rapporteur

Philippe JOLY . . . . . . . . . . .

Professeur . . . . . . . . . . . . . . . .

Rapporteur

Achille BRAQUELAIRE .

Professeur . . . . . . . . . . . . . . . .

Examinateur

Pascal DESBARATS . . . . .

Professeur . . . . . . . . . . . . . . . .

Examinateur

Marie BEURTON-AIMAR

Matre de Confrences . . . . .

Examinateur

Mohamed MOSBAH . . . . .

Professeur . . . . . . . . . . . . . . . .

Examinateur

Guillaume HUTZLER . . . .

Matre de Confrences/HDR

Examinateur

Pascal BALLET . . . . . . . . .

Matre de Confrences . . . . .
2011

Examinateur

tel-00652445, version 1 - 15 Dec 2011

tel-00652445, version 1 - 15 Dec 2011

Remerciements

tel-00652445, version 1 - 15 Dec 2011

Rsum
La segmentation dimages est une opration cruciale pour le traitement dimages. Elle est toujours
le point de dpart des processus danalyse de formes, de dtection de mouvement, de visualisation, des
estimations quantitatives de distances linaires, de surfaces et de volumes. ces fins, la segmentation
consiste catgoriser les voxels en des classes bases sur leurs intensits locales, leur localisation
spatiale et leurs caractristiques de forme ou de voisinage. La difficult de la stabilit des rsultats des
mthodes de segmentation pour les images mdicales provient des diffrents types de bruit prsents.
Dans ces images, le bruit prend deux formes : un bruit physique d au systme dacquisition, dans notre
cas lIRM (Imagerie par Rsonance Magntique), et le bruit physiologique d au patient. Ces bruits
doivent tre pris en compte pour toutes les mthodes de segmentation dimages. Durant cette thse,
nous nous sommes focaliss sur des modles Multi-Agents bass sur les comportements biologiques
des araignes et des fourmis pour effectuer la tche de segmentation. Pour les araignes, nous
avons propos une approche semi-automatique utilisant lhistogramme de limage pour dterminer
le nombre dobjets dtecter. Tandis que pour les fourmis, nous avons propos deux approches : la
premire dite classique qui utilise le gradient de limage et la deuxime, plus originale, qui utilise une
partition intervoxel de limage. Nous avons galement propos un moyen pour acclrer le processus
de segmentation grce lutilisation des GPU (Graphics Processing Unit). Finalement, ces deux
mthodes ont t values sur des images dIRM de cerveau et elles ont t compares aux mthodes
classiques de segmentation : croissance de rgions et Otsu pour le modle des araignes et le gradient
de Sobel pour les fourmis.
Mots-cls : Systmes Multi-Agents, agents sociaux, GPU, segmentation dimages, IRM, imagerie
mdicale.

ii

tel-00652445, version 1 - 15 Dec 2011

Table des matires


Remerciements

Rsum

ii

Introduction

I Problmatique

1 Systmes Multi-Agents

1.1

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2

Les entits dun SMA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.1

Dfinition dun agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.2

Les types dagents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.3

Dfinition de lenvironnement . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.2.4

Interaction entre agents . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

Comportement du systme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.3.1

mergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

1.3.2

Auto-Organisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

1.3.3

Stigmergie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

Les Mta-heuristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

1.4.1

Les colonies daraignes . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

1.4.2

Les colonies de fourmis . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

1.4.3

Autres mta-heuristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

1.3

1.4

1.5

2 La segmentation dIRM mdicales


2.1

20

IRM crbrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.1.1

Principe de lIRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

20

2.1.2

Image anatomique du cerveau . . . . . . . . . . . . . . . . . . . . . . . . .

21

2.1.3

Qualit de limage acquise par IRM . . . . . . . . . . . . . . . . . . . . . .

22

2.1.3.1

Le bruit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.1.3.2

Le volume partiel . . . . . . . . . . . . . . . . . . . . . . . . . . .

23
iii

TABLE DES MATIRES

2.1.3.3
2.2

Les inhomognits dintensit . . . . . . . . . . . . . . . . . . .

23

Segmentation dIRM de cerveau . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

2.2.1

Segmentation dimages . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

2.2.2

Mthodes classiques de segmentation . . . . . . . . . . . . . . . . . . . . .

25

2.2.2.1

Mthodes bases sur les points . . . . . . . . . . . . . . . . . . . .

26

2.2.2.2

Mthodes bases sur les contours . . . . . . . . . . . . . . . . . .

29

2.2.2.3

Mthodes bases sur les rgions . . . . . . . . . . . . . . . . . . .

31

Mthodes utilisant les SMA . . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.2.3.1

Approches points . . . . . . . . . . . . . . . . . . . . . . . . . . .

33

2.2.3.2

Approche contours . . . . . . . . . . . . . . . . . . . . . . . . . .

34

2.2.3.3

Approche rgions . . . . . . . . . . . . . . . . . . . . . . . . . .

35

Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

2.2.3

tel-00652445, version 1 - 15 Dec 2011

2.3

II Modlisation et exprimentations

39

3 IPSiMAS

41

3.1

3.2

3.3

3.4
iv

Segmentation rgions : les araignes . . . . . . . . . . . . . . . . . . . . . . . . . .

41

3.1.1

Cration de lenvironnement . . . . . . . . . . . . . . . . . . . . . . . . . .

42

3.1.2

Dfinition des colonies . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

3.1.3

Description du cycle de vie . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

3.1.4

Identification des paramtres . . . . . . . . . . . . . . . . . . . . . . . . . .

44

3.1.4.1

Des problmes . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

3.1.4.2

Des solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

3.1.5

Instanciation de lenvironnement . . . . . . . . . . . . . . . . . . . . . . . .

49

3.1.6

Processus de segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . .

51

3.1.7

Construction de limage segmente . . . . . . . . . . . . . . . . . . . . . . .

55

Segmentation contours : les fourmis . . . . . . . . . . . . . . . . . . . . . . . . . .

57

3.2.1

Cration de lenvironnement . . . . . . . . . . . . . . . . . . . . . . . . . .

57

3.2.2

Description du cycle de vie . . . . . . . . . . . . . . . . . . . . . . . . . . .

58

3.2.3

Identification des paramtres . . . . . . . . . . . . . . . . . . . . . . . . . .

59

3.2.3.1

Des problmes . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

3.2.3.2

Des solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

59

3.2.4

Instanciation de lenvironnement . . . . . . . . . . . . . . . . . . . . . . . .

60

3.2.5

Processus de segmentation . . . . . . . . . . . . . . . . . . . . . . . . . . .

61

3.2.6

Construction de limage segmente . . . . . . . . . . . . . . . . . . . . . . .

67

3.2.7

Amlioration de la recherche des contours . . . . . . . . . . . . . . . . . . .

69

Ordonnanceur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

3.3.1

Excution squentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

3.3.2

Excution parallle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

69

Vers une modlisation Orient Objet . . . . . . . . . . . . . . . . . . . . . . . . . .

71

TABLE DES MATIRES

tel-00652445, version 1 - 15 Dec 2011

3.5

3.4.1 Agent . . . . .
3.4.2 Environnement
3.4.3 Simulation . . .
Conclusion . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

4 Exprimentations
4.1 Les images de test . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Les mthodes de comparaison . . . . . . . . . . . . . . . . . .
4.2.1 Otsu multi-niveaux . . . . . . . . . . . . . . . . . . . .
4.2.2 Croissance de rgions . . . . . . . . . . . . . . . . . . .
4.2.3 Oprateur de Sobel . . . . . . . . . . . . . . . . . . . .
4.3 Critres de comparaisons . . . . . . . . . . . . . . . . . . . . .
4.3.1 Pour la segmentation en rgions . . . . . . . . . . . . .
4.3.2 Pour lextraction de contours . . . . . . . . . . . . . . .
4.4 Rsultats sur la segmentation en rgions : mthode des araignes
4.5 Rsultats sur la segmentation contours : modles des fourmis . .
4.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.
.

.
.
.
.

. 71
. 73
. 74
. 74

.
.
.
.
.
.
.
.
.
.
.

76
76
79
79
80
83
85
85
86
87
91
95

.
.
.
.
.
.
.
.
.
.
.

Conclusion

97

Bibliographie

100

Table des figures

108

Liste des tableaux

110

A Implmentation
A.1 Catgories de Paralllisation . . . .
A.2 Modles de paralllisation . . . . .
A.3 Programmation GPGPU . . . . . . .
A.4 Mise en uvre . . . . . . . . . . . .
A.4.1 Diffrents types de mmoire
A.4.2 Le noyau . . . . . . . . . .
A.4.3 Performance . . . . . . . . .

111
111
112
113
114
116
117
121

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

tel-00652445, version 1 - 15 Dec 2011

Introduction
Quelle que soit son origine, une image constitue une reprsentation dun univers compos dentits,
i.e. des objets dans une scne (cellules, organes du corps humain, etc.), et lidentification de ces entits
est souvent la premire tape dun processus danalyse dimage, automatis ou non. Le but de toute
mthode de segmentation est lextraction dinformations caractrisant ces entits. Ces informations
correspondent des points dintrt ou des zones caractristiques de limage. En imagerie mdicale
par exemple, les images de cerveau (IRM, scanner, . . . ) sont utilises pour tudier les pathologies qui
touchent cet organe. En effet, les changements structurels dans le cerveau peuvent tre le rsultat de
ces pathologies et la quantification de ces changements, par la mesure de caractristiques de rgions
dintrt, peut tre utilise pour caractriser la gravit des maladies ou leur volution.
Une multitude dalgorithmes de segmentation dimages existe ce jour. La diversit des images,
les origines varies des chercheurs, lvolution de la puissance de calcul des ordinateurs, et un certain
empirisme dans lvaluation des rsultats ont conduit la production dautant de procdures spcialises et souvent difficiles calibrer ou rutiliser. Une segmentation robuste ncessite lincorporation
et lutilisation efficace des connaissances contextuelles globales. De nombreux lments prendre
en compte comme la variabilit de larrire-plan, les proprits polyvalentes des partitions cibles
qui ont des caractristiques prcises, ou la prsence de bruit, font quil est difficile daccomplir cette
segmentation automatiquement.
Notre travail porte sur la segmentation dimages IRM (Imagerie par Rsonance Magntique) de
cerveau et dans ce contexte le bruit est un des phnomnes majeurs prendre en compte. En effet,
dune part ce bruit est la somme de sources de bruit diverses (bruit thermique, bruit physiologique, etc.)
et dautre part, les petites structures extraire des images (notamment dans le cerveau) sont de la taille
des zones de bruit. Pour apprhender ce problme, nous avons dvelopp une mthodologie base
sur les Systmes Multi-Agents capables de rechercher les contours dune image et den extraire les
rgions. De tels systmes sont frquemment rencontrs en simulation de comportement de robots, de
phnomnes cologiques ou encore pour rsoudre des problmes doptimisation mais leur utilisation
en traitement dimages reste marginale. Nous avons tudi des modles bass sur des agents ractifs. Le
type dagents ractifs que nous avons slectionn, est appel "agents sociaux" car leurs comportements
sinspirent de comportements observs chez les insectes sociaux comme les fourmis ou comme certains
types daraignes capables de raliser une tche collective : la construction de toiles gigantesques.
En ce qui nous concerne, nous voulons concevoir une mthode de segmentation dimages rsistante
au bruit, o les acteurs du processus de segmentation seront des agents sociaux, limage segmente
1

tel-00652445, version 1 - 15 Dec 2011

TABLE DES MATIRES

devant merger de laction collective de tous les agents.


Un des reproches majeurs fait aux Systmes Multi-Agents est la taille du systme implmenter,
le nombre dagents ncessaires pouvant tre de lordre de plusieurs milliers. Le temps de simulation
est lui aussi souvent un frein lutilisation des Systmes Multi-Agents pour des applications de
taille relle. Dans notre cas, nous traitons des images de plusieurs millions de voxels, il est donc
ncessaire de prvoir un trs grand nombre dagents et comme la tche de segmentation est complexe,
on ne peut esprer atteindre lobjectif avant un grand nombre ditrations. Dans le cas de procdures
squentielles, la complexit des algorithmes est de lordre du nombre ditrations de la simulation
multipli par le nombre dagents. Nous avons donc tudi la possibilit de parallliser nos simulations
en utilisant le modle de mmoire partage disponible sur les cartes graphiques (GPU), esprant ainsi
amliorer nos performances.
Ce manuscrit est compos de deux parties. La premire partie prsente la problmatique de notre
travail tant du cot des Systmes Multi-Agents que de la segmentation dimages mdicales. La seconde
partie est consacre la prsentation de notre modle et des deux types dagents que nous avons
choisis pour segmenter les images. Nous y donnons aussi les rsultats des exprimentations que nous
avons effectues sur des images de cerveau. Une annexe donne les dtails dimplmentation de notre
modle sur GPU.

tel-00652445, version 1 - 15 Dec 2011

Premire partie
Problmatique

tel-00652445, version 1 - 15 Dec 2011


TABLE DES MATIRES

Chapitre

tel-00652445, version 1 - 15 Dec 2011

Systmes Multi-Agents
La thmatique des Systmes Multi-Agents (SMA) est actuellement un champ de recherche trs
actif pour de nombreux types dapplications. Sa particularit provient de sa connexion avec plusieurs
domaines de recherche comme lIntelligence Artificielle Distribue (IAD) et la Vie Artificielle (VA).
Cest une discipline qui sintresse aux comportements collectifs produits par les interactions de
plusieurs entits autonomes appeles agents. Dans ce chapitre, nous allons exposer lessentiel des
concepts utiliss dans le domaine du SMA. Tout dabord, nous dcrirons le principe gnral des
SMA tout en exposant les diffrentes parties qui les composent en partant des notions dagents, en
passant par la dfinition dun environnement jusqu lexploration des caractristiques dun SMA.
Puis nous prsenterons les mta-heuristiques couramment utilises et nous terminerons par un aperu
des diffrentes approches SMA appliques en imagerie.

1.1

Introduction

Les SMA sont apparus au carrefour des recherches traitant lIAD et la VA. Lune des sources
dinspiration pour ces systmes est le comportement des socits danimaux. Celles gnralement
tudies sont les familles dinsectes telles que les abeilles, les fourmis ou les termites. Dautres
sources dinspiration se trouvent galement dans la sociologie, la psychologie sociale, les sciences
cognitives, etc (Ferber, 1995). Ces systmes ont repris les modes de communication et de concertation
(organisation, ngociation, combinaison) entre les agents provenant de lIAD et les ides dautonomie
et dmergence de solutions partir des interactions individuelles de la VA.
Dune part, les SMA se placent au sein des sciences cognitives, des sciences sociales et des
sciences naturelles pour modliser, expliquer et simuler des phnomnes naturels, et susciter des
modles dauto-organisation. Dautre part, ils se prsentent comme une pratique et une technique dont
lobjectif est de raliser des systmes complexes partir du concept Agent et de leurs interactions
par lintermdiaire des processus de communication, de coopration et de coordination dactions
5

CHAPITRE 1. SYSTMES MULTI-AGENTS

(Ferber, 1995). Le principe dun modle IAD rside dans le fait de dcouper le problme rsoudre
en une multitude de sous-problmes qui vont tre leur tour rsolus par des agents afin de fournir des
solutions partielles. Ces solutions partielles vont ensuite tre regroupes pour construire la solution
globale du problme. De plus, les systmes SMA dfinissent les agents comme des entits ayant
leur propre autonomie et flexibilit. Lobjectif de la modlisation dun SMA est alors de dterminer
comment les agents vont se coordonner pour changer leurs connaissances, leurs buts et leurs stratgies
pour agir et rsoudre des problmes complexes. Gnralement, les types dapplication des SMA sont
dcomposs en trois grandes classes (Boissier et al., 2004) :

tel-00652445, version 1 - 15 Dec 2011

1. la modlisation de phnomnes du monde rel afin de les simuler pour mieux comprendre
leur comportements. Ceci est ralis par lobservation, la comprhension et lexplication de
leur comportement et de leur volution. Ce sont par exemple, des applications de simulation de
phnomnes sociaux, environnementaux, thologiques, etc ;
2. la conception de programmes dans lesquels des agents qualifis dassistants jouent le rle
des tres humains. La notion dagent simplifie la conception de ces programmes et amne
de nouvelles problmatiques centres utilisateurs telles que la communication, la scurit,
etc. (Hayzelden and Bigham, 1999; Lesprance et al., 1994). On trouve un exemple de tel
approche dans les systmes de ventes aux enchres dans lesquels les agents jouent les rles de
commissaires priseurs et dacheteurs (Sandholm, 1999).
3. la rsolution distribue de problmes : il sagit de concevoir des systmes artificiels intgrant
un ensemble dagents et une dynamique organisationnelle permettant laccomplissement collectif dune tche. Lhypothse de base est que des agents, de par leurs comportements et leurs
interactions locales, peuvent donner lieu, un niveau global, un comportement densemble
cohrent et fonctionnel (Steels, 1990). Ce sont par exemple les fourmis qui partent de leur
fourmilire la recherche de la nourriture en crant le plus court chemin (Dorigo et al., 1996).
Cest plutt ce type dapplication qui nous concerne.
lheure actuelle, la programmation de robots, de jeux ou encore la simulation de processus
biologiques sont autant dapplications des SMA qui montrent que ce domaine est trs actif aussi bien
en recherche fondamentale quen dveloppement.
Nous allons maintenant dcrire les concepts des catgories dagents, de notion denvironnement,
de modes dinteraction, dauto-organisation et dmergence.

1.2

Les entits dun SMA

premire vue, un SMA peut tre simplement considr comme un ensemble dagents partageant
un environnement commun. Toutefois, il est difficile de trouver une dfinition unique du concept
dAgent, do il savre difficile de caractriser un SMA. Ferber (Ferber, 1995) a expos quelques
aspects fondamentaux qui permettent de raliser cette caractristisation partir des systmes rencontrs
dans la nature:
un environnement E, disposant en gnral dune mtrique ;
6

1.2. LES ENTITS DUN SMA

tel-00652445, version 1 - 15 Dec 2011

un ensemble dobjets O, auxquels on peut associer une position dans E un moment donn.
Ces objets sont passifs : les agents peuvent les percevoir, les crer, les dtruire et les modifier ;
un ensemble dagents A, lesquels reprsentent les entits actives du systme ;
un ensemble de relations R, qui unissent les objets entre eux ainsi que les agents ;
un ensemble doprateurs Op permettant aux agents de A de percevoir, produire, consommer,
transformer et manipuler des objets de O ;
des oprateurs chargs de reprsenter lapplication de ces oprations et la raction du monde
cette tentative de modification, que lon appellera les lois de lunivers.
Daprs cette description, nous pouvons dfinir un SMA comme un systme qui sintresse aux
comportements collectifs produits par les interactions de plusieurs agents autonomes et flexibles et
que ces interactions sont dfinies comme la coopration et la comptition entre ces agents qui peuvent
tre htrognes (figure 1.1). Dans ce qui suit, nous allons dfinir la notion dagent ainsi que les
catgories dagents pouvant tre reprsentes dans un SMA.

Figure 1.1: Relation unissant lenvironnement et lensemble des agents.

1.2.1

Dfinition dun agent

Dans la littrature, nous trouvons plusieurs dfinitions du concept dAgent. Elles prsentent
certaines similitudes et dpendent du type dapplication pour laquelle est conu lagent (Ferber, 1995;
Jennings et al., 1998). Les dfinitions respectives de Ferber et de Jennings et al. sont gnralement les
plus communment utilises au sein de la communaut Multi-Agents:
Dfinition 1 (Ferber, 1995) Un agent est une entit autonome, relle ou abstraite, qui est capable
dagir sur elle-mme et sur son environnement, qui dans un univers Multi-Agents, peut communiquer avec dautres agents, et dont le comportement est la consquence de ses observations, de ses
connaissances et des interactions avec les autres agents.
Dfinition 2 (Jennings et al., 1998) Un agent est un systme informatique, situ dans un environnement, et qui agit dune faon autonome et flexible pour atteindre les objectifs pour lesquels il a t
conu.
7

CHAPITRE 1. SYSTMES MULTI-AGENTS

Les dfinitions exposes ci-dessus prsentent plusieurs proprits cls tels que lautonomie,
laction, la communication et la flexibilit. Lautonomie est un lment du comportement de lagent
qui est fortement lie aux notions dapprentissage et dadaptation. Si ceci est dtermin a priori,
lagent manque alors dautonomie. Les agents sont considrs comme autonomes sils ne sont pas
guids par des commandes venant de lutilisateur ou dun autre agent, mais par un ensemble de
tendances qui peuvent prendre la forme de buts individuels satisfaire ou de fonctions de satisfaction
ou de survie que lagent cherche optimiser. Maes dfinit les agents autonomes comme suit :

tel-00652445, version 1 - 15 Dec 2011

Dfinition 3 (Maes, 1995) Les agents autonomes sont des systmes de calcul qui se trouvent dans
un environnement complexe et dynamique, peroivent et agissent dune manire autonome dans cet
environnement, et ce faisant ralisent les objectifs et les tches pour lesquelles ils ont t conus.
Laction est un concept fondamental pour les SMA reposant sur le fait que les agents accomplissent
des actions qui vont modifier leur environnement et donc leurs prises de dcisions futures (Ferber,
1995).
Les interactions entre agents dpendent du mode de communication. Une communication entre
2 agents est considre comme une action pour celui qui la transmet et comme une perception pour
celui qui la reoit (Drogoul, 1994).

1.2.2

Les types dagents

Nous distinguons deux grandes familles dagents : les agents ractifs et les agents cognitifs
(Wooldridge and Jennings, 1995). Cette distinction tient essentiellement au processus dcisionnel chez
lagent et la reprsentation de lenvironnement dont il dispose. Si lagent est dot dune reprsentation
symbolique de lenvironnement partir duquel il est capable de formuler des raisonnements, nous
disons quil est cognitif tandis que sil ne dispose que dune reprsentation limite ses perceptions,
nous disons quil est ractif (Ferber, 1995). Quil soit ractif ou cognitif, un agent volue toujours
selon un cycle en trois tapes :
1. Perception : ses capteurs lui fournissent une vision locale de son environnement ;
2. Dcision : suivant ses intentions, son tat interne et sa perception, lagent choisi une action
effectuer ;
3. Action : il modifie lenvironnement par son action.
Nous allons maintenant prsenter les diffrents types dagents les plus couramment utiliss dans
les SMA.
Agents cognitifs Les agents cognitifs disposent dune base de connaissances comprenant lensemble
des informations disponibles et un raisonnement ncessaire la ralisation de leur tche ainsi qu
la gestion des interactions avec les autres agents et avec lenvironnement. De plus, ils possdent des
buts et des plans pour dcider de leurs actions. Les groupes dagents peuvent coordonner leur activit
et ngocier entre eux pour rsoudre leurs conflits. Ces comportements peuvent tre assimils des
comportements sociaux et les recherches dans ce domaine sappuient sur les travaux de sociologie
8

1.2. LES ENTITS DUN SMA

des organisations des groupes dindividus (Ferber, 1995). Lune des architectures cognitives les
plus connues est larchitecture BDI : Belief (Croyance), Desire (Dsir), Intention (Intention) (Rao
and Georgeff, 1992). Les croyances correspondent aux informations dont dispose lagent sur son
environnement. Les dsirs correspondent aux tats de lenvironnement que lagent souhaiterait voir
raliss. Les intentions correspondent aux projets de lagent pour satisfaire ses dsirs.

tel-00652445, version 1 - 15 Dec 2011

Agents ractifs Contrairement aux agents cognitifs, les agents ractifs ne sont pas ncessairement
assez intelligents individuellement pour que le systme ait un comportement global que lon puisse
qualifier dintelligent (Drogoul, 1994). Des mcanismes de ractions aux vnements et aux diffrentes
perceptions, ne tenant pas compte ni dune explication des buts, ni des mcanismes de planification,
peut alors dcouler la rsolution de problmes complexes: le comportement complexe du systme
merge alors de la coexistence et de la coopration des comportements simples de chaque agent (cf.
figure 1.2).

Figure 1.2: Principe de la raction dun agent ractif sur une environnement partir de son cycle de
vie.
Lorganisation des fourmilires ou des termitires est gnralement cite en exemple de tels
systmes qualifis dmergents. Dans ce cas, les buts sont la recherche de la nourriture, les soins
apports aux ufs ou encore la construction des nids. Les SMA ractifs prsentent des intrts en
terme de fiabilit assure par le grand nombre dagents du systme et leur simplicit ainsi que le
passage lchelle par ladaptation laugmentation du nombre dagents (Parunak, 1997).
Agents hybrides Les agents hybrides sont conus pour combiner des capacits ractives des
capacits cognitives, ce qui leur permet dadapter leur comportement en temps rel lvolution de
lenvironnement (Fisher, 1985). Dans le modle hybride, un agent est compos de plusieurs couches,
ranges selon une hirarchie en trois couches (Mller and Pischel, 1994) : la couche purement ractive,
la couche intermdiaire et la couche sociale. Dans ces trois couches, on va de la simple capture
dinformations partir de senseurs jusqu la gestion de la coopration entre agents en passant par la
construction dabstraction partir des connaissances.
9

CHAPITRE 1. SYSTMES MULTI-AGENTS

1.2.3

Dfinition de lenvironnement

Lenvironnement est lendroit dimmersion dans lequel voluent les agents. On distingue le
plus souvent deux sortes : lenvironnement social qui est compos des autres agents du systme
et lenvironnement physique au sein duquel les agents voluent.Un agent peut se placer dans lun
et/ou dans lautre. Lenvironnement physique dpend largement de lapplication traite alors que
lenvironnement social dpend souvent des choix de conception des SMA. Lenvironnement est
dfini comme suit :

tel-00652445, version 1 - 15 Dec 2011

Dfinition 4 (Weyns and Holvoet, 2007) Lenvironnement est une premire classe dabstraction
fournissant les conditions environnementales aux agents pour exister et sert dintermdiaire pour les
interactions entre les agents ainsi que pour laccs aux ressources.
Voici les proprits essentielles de lenvironnement (Russell et al., 1996) :
accessible/inaccessible : le systme peut obtenir une information complte, exacte et jour sur
ltat de son environnement. Dans un environnement inaccessible, une information partielle est
uniquement disponible ;
dterministe/non dterministe : une action a un effet unique et certain. Si le systme agit
dans son environnement, il ny a aucune incertitude sur leffet de son action sur ltat de
lenvironnement. Ltat suivant de lenvironnement est compltement dtermin par ltat
courant. Dans un environnement non dterministe, une action na pas un effet unique garanti ;
dynamique/statique : ltat de lenvironnement dynamique dpend des actions du systme
qui se trouve dans cet environnement, mais aussi des actions dautres processus. Ainsi, les
changements ne peuvent pas tre prdits par le systme. Un environnement statique ne peut
changer sans que le systme agisse ;
continu/discret : le nombre dactions et de perceptions possibles dans cet environnement est
infini et indnombrable. Dans le cas discret, lenvironnement est dfini par un nombre dtats
fini et selon un dcoupage rgulier tel quune grille. Par exemple, dans le jeu de la poursuite
(qualifi comme un problme de proies et de prdateurs) dont le but est de parvenir ce que les
prdateurs capturent les proies en les entourant (Ferber, 1995), les agents proies et prdateurs se
dplacent dans une grille et ont chacun des coordonnes/positions lintrieur de chaque case).
Lenvironnement est dfini la fois comme lieu dinscription permettant de partager le rsultat des
activits de chaque agent et comme ensemble de contraintes sur la dynamique des SMA (Mller and
Pischel, 1994). Lenvironnement peut tre trs lmentaire et se rduire lensemble des canaux de
communication entre les agents. Toutefois, dans les SMA base dinspiration biologique ou physique,
lenvironnement qui possde gnralement une mtrique, est plus prsent et a un rle primordial
(Ferber, 1995).

1.2.4

Interaction entre agents

Linteraction entre agents dans un SMA peut tre dfinie comme la mise en relation dynamique de
deux ou plusieurs agents par le biais dun ensemble dactions. Ces interactions prennent deux formes :
10

1.3. COMPORTEMENT DU SYSTME

directes et indirectes.
Les interactions directes sont en gnral des caractristiques des agents cognitifs qui, travaillant
pour un but prcis, sont capables de communiquer intentionnellement. Ce type dinteraction se
rapproche dun acte de langage. Tandis que les interactions indirectes sont les caractristiques des
agents ractifs qui rpondent des stimulis de lenvironnement par le dpt dinformation relative
des critres environnementaux (Chevrier, 2002).
Dans le cas des agents ractifs, Les interactions entre les agents sont modlises comme suit :
1. coopration : travailler ensemble dans un but commun, ceci est fait au travers de lenvironnement sans aucune communication directe entre les agents ;
2. coordination : organiser la solution dun problme de telle sorte que les interactions nuisibles
soient vites ou que les interactions bnfiques soient exploites.

tel-00652445, version 1 - 15 Dec 2011

Nous allons maintenant prsenter comment les diffrentes interaction entre les agents peuvent conduire
la ralisation de tches complexes par le SMA dans son ensemble.

1.3

Comportement du systme

Dans les SMA, on parle souvent de phnomnes mergents ou dauto-organisation des agents.
Lmergence et lauto-organisation soulignent des caractristiques diffrentes du comportement
dun systme (De Wolf and Holvoet, 2004). Les deux phnomnes peuvent exister sparment, comme
ils peuvent coexister dans un systme dynamique. Le but de cette section est la diffrenciation des
caractristiques importantes des deux concepts au travers dune vue densemble de lhistorique de
lutilisation de chaque concept.

1.3.1

mergence

Historique (Ali and Zimmer, 1998) Lorigine de lmergence pourrait bien tre le postulat datant
de la Grce antique : le tout est plus que la somme de ses parties . Des traces du concept dmergence
et dauto-organisation sont retrouves dans des crits de Thals (625 av. J.-C. vers 547 av. J.-C.) et
Anaximandre (610 av. J.-C. vers 546 av. J.-C.). De mme, Aristote (384 av. J.-C., 322 av. J.-C.) parle
du tout avant les parties . Il se rfre ainsi lexplication admise de la prcdence de lentit
reprsentant le tout par rapport aux parties sur lesquelles le tout est construit et il se sert de cette notion
pour expliquer certains phnomnes que lon narrive pas dcomposer. Au fil du temps, dautres
dfinitions ont t donnes (J.W. Von Goethe (1749 - 1832), Lewis (Lewes, 1875)).
Le concept Une des dfinitions les plus rcentes de De Wolf et Holvoet correspond bien aux
systmes dagents ractifs :
Dfinition 5 (De Wolf and Holvoet, 2004) Un systme exhibe de lmergence quand il y a des
mergents cohrents au niveau macro qui apparaissent dynamiquement partir des interactions entre
les parties au niveau micro. De tels mergents sont nouveaux par rapport aux parties du systme
prises individuellement en compte.
11

CHAPITRE 1. SYSTMES MULTI-AGENTS

tel-00652445, version 1 - 15 Dec 2011

Dans cette dfinition, les mergents dsignent ii le rsultat du processus dmergence : proprits,
comportements, structures, modles, etc. Le niveau macro considre le systme dans son intgralit
tandis que le niveau micro considre le systme du point de vue des diffrentes entits qui le
composent. J. Odell a identifi comme lments essentiels des phnomnes mergents : le contrle
dcentralis, le lien bi-directionnel entre les deux niveaux micro et macro (figure 1.3), la robustesse du
systme et la flexibilit des linsensibilit aux perturbations locales et le fait que le comportement
global soit nouveau par rapport aux comportements individuels du niveau macroscopique (James Odell,
2002).

Figure 1.3: Lmergence.


De nombreux cas de systmes mergents ont t tudis en biologie et en cologie. En cologie,
de nombreux systmes naturels composs dindividus autonomes exhibent des aptitudes effectuer
des tches qualifies de complexes sans contrle global. Cest le cas des colonies dinsectes sociaux
tels que les termites ou les fourmis (Bonabeau and Theraulaz, 1997). En biologie, le systme immunitaire est reprsentatif du fonctionnement dun systme complexe compos dun ensemble dagents
autonomes. Limmunit du systme tant le phnomne mergent obtenu.

1.3.2

Auto-Organisation

Historique Descartes fut le premier parler dorganisation produite de manire spontane (Descartes,
1856) et Asby fut pour sa part le premier utiliser le mot dauto-organisation (Ashby, 1947). Si nous
nous rfrons aux origines de lauto-organisation issues de la physique, une dfinition minimaliste
base sur lordre peut tre donne : le dsordre dans un systme physique est ltat homogne obtenu
aprs avoir perturb le systme, alors que lordre est un systme particulier et htrogne (Atlan,
1986).
Le concept Le concept dauto-organisation est utilis depuis les dernires dcennies en biologie
(Thompson, 1992) pour expliquer la diversit organise des motifs chez les vivants, par exemple les
rayures et dautres motifs chez les animaux ou les structures gomtriques de coquillages (Heylighen,
1999). Toutefois, cest un cas particulier dauto-organisation qui ne fait pas apparatre tout laspect
dynamique de lauto-organisation. En effet, lauto-organisation ne tend pas forcment vers un tat
dquilibre stable (Nicolis and Prigogine, 1977). A lheure actuelle, lide dauto-organisation est
12

1.3. COMPORTEMENT DU SYSTME

maintenant employe dans beaucoup de disciplines et dapplications telles que les travaux lis la
simulation, les rseaux et la robotique (Mostefaoui et al., 2003).

Figure 1.4: Lauto-organisation.

tel-00652445, version 1 - 15 Dec 2011

Avant dtudier les proprits de lauto-organisation (figure 1.4), nous en donnons les deux
dfinitions suivantes extraites de la littrature :
Dfinition 6 (Dempster et al., 1998) Lauto-organisation rfre ce qui est exactement suggr : des
systmes qui sorganisent sans direction, manipulation ou contrle externes.
Dfinition 7 (De Wolf and Holvoet, 2004) Lauto-organisation est un processus dynamique et adaptatif o les systmes acquirent et maintiennent une structure sans contrle externe.
Les proprits les plus importantes de lauto-organisation sont :
Mise en ordre croissante : On peut dfinir lorganisation comme une augmentation de lordre
dans le comportement dun systme qui permet ce dernier dacqurir une structure spatiale,
temporelle ou fonctionnelle. Cependant, il faut signaler que tout systme exhibant une mise en
ordre croissante ne peut tre dit auto-organis que sil est autonome.
Autonomie : Toute augmentation dordre ne peut tre appele auto-organisation. La deuxime
caractristique importante de lauto-organisation est labsence de contrle externe, do provient
le terme "auto". Un systme doit alors sorganiser sans interfrence avec lextrieur.
Adaptation et robustesse face aux changements : Dans les systmes auto-organiss, le terme
robustesse est employ dans le sens de ladaptabilit aux perturbations et aux changements. Un
systme auto-organis doit pouvoir faire face ces changements et maintenir son organisation
de manire autonome.
Dynamique : Les changements et les perturbations affectent les structures organises. Pour
rpondre ces changements, une structure auto-organise devra savoir sadapter. On parlera
alors dorganisation dynamique.
Les SMA sont actuellement un des outils les plus utiliss pour modliser les systmes autoorganiss.

1.3.3

Stigmergie

On considre gnralement que la combinaison de lmergence et de lauto-organisation constitue


une approche prometteuse pour proposer des solutions aux problmes complexes et fortement dynamiques (figure 1.5). Cette combinaison a suscit notre intrt pour traiter la segmentation dimages,
13

CHAPITRE 1. SYSTMES MULTI-AGENTS

tel-00652445, version 1 - 15 Dec 2011

Figure 1.5: La stigmergie (De Wolf, 2007).

activit qualifie de complexe et pour laquelle aucune mthodologie gnrique na pas encore t
labore.
La combinaison des concepts entre lmergence et lauto-organisation a t dfinie par Grass
(Grass, 1959). Il dfinit le terme de stigmergie qui provient des mots grecs stigma "marque, signe" et
ergon "travail, action", exprimant la notion que les actions dun agent laissent des signes dans lenvironnement, signes perus par lui-mme et par les autres agents et qui dterminent leurs prochaines
actions. Grass a tudi le comportement des termites et a dcrit les modifications de ltat de lenvironnement par lintermdiaire des gradients de phromones dposs, les termites arrivent, sans
rgulation centrale, communiquer et coordonner leur action.
La structuration de lenvironnement a un effet sur le comportement des agents qui agissent leur
tour sur la structure de lenvironnement, et ainsi de suite. Nous assistons alors un phnomne de
couplage entre le systme et son environnement, gnrant lauto-organisation, un niveau macro,
de lensemble (Bonabeau and Theraulaz, 1997). Ce couplage permet au systme de sauto-produire
comme un collectif auto-organis. En dautres termes, la stigmergie fournit un moyen de coordination
entre les agents, manant du systme lui-mme. Cest donc une mthode de communication indirecte
dans un environnement mergent auto-organis, o les individus communiquent entre eux en modifiant
leur environnement. Plusieurs travaux concernent lexploitation de lenvironnement pour la rsolution
et loptimisation de problmes travers des mcanismes stigmergiques : des phromones, des toiles,
des champs de forces, etc. Parmi les approches doptimisation, nous citons lalgorithme doptimisation
par des colonies de fourmis qui miment la capacit de vritables fourmis rsoudre des problmes
complexes. Par exemple, partant de leur nid la recherche de nourriture, les fourmis dposent des
phromones sur leur chemin afin de guider les autres vers un chemin qui finira par tre le plus court
chemin pour accder la nourriture. La perturbation des phromones gre par le phnomne de
lvaporation induit une auto-organisation des fourmis sur le chemin le plus utilis avec une mergence
de la solution optimale.

1.4

Les Mta-heuristiques

Une mta-heuristique est un processus de gnration itrative qui permet de guider une heuristique subordonne par la combinaison de divers concepts tels que lexploitation et lexploration
14

1.4. LES MTA-HEURISTIQUES

de lespace de recherche, ainsi que des stratgies dapprentissage qui sont utilises pour structurer
efficacement linformation afin de dterminer des solutions dexcellente qualit (College, 2002). Les
mta-heuristiques sont en gnral non-dterministes et ne donnent aucune garantie doptimalit mais
peuvent faire usage de lexprience accumule durant la recherche de loptimum, pour mieux guider
la suite de la procdure de recherche. Nous distinguons les mta-heuristiques solution unique parmi
lesquelles on retrouve de nombreux algorithmes de recherche locale, et les mta-heuristiques base
de population. Notre intrt se porte sur les mta-heuristiques base de population qui travaillent sur
une population dagents communiquant indirectement via lenvironnement.

tel-00652445, version 1 - 15 Dec 2011

1.4.1

Les colonies daraignes

La recherche de solutions optimales grce des colonies dagent-araignes est inspire de lactivit
de tissage de soies des araignes sociales (Chevrier, 2006). Tout comme les araignes sociales
collaborent pour crer de gigantesque toiles, les agent-araignes tisseront une toile sur limage dans
le cas de lanalyse dimage. Cette toile fournira alors les lments de segmentation de limage. Ces
araignes voluent dans un environnement cr partir dun espace bien dfini. Elles possdent un
cycle de vie dcrivant les actions quelles doivent excuter. Le cycle du systme consiste excuter le
cycle de vie de chaque araigne jusqu satisfaction dun critre darrt. Chaque point de lespace est
une position potentielle pour une araigne et permettra cette dernire datteindre dautres points
grce un voisinage calcul sous deux formes :
1. un voisinage statique calcul localement partir de la position de laraigne ;
2. un voisinage dynamique obtenu partir des soies entre le point courant et les autres points de
lenvironnement qui pourra sagrandir au fur et mesure que les araignes tisseront de nouveaux
fils.
Chaque araigne est constitue dun tat interne et dun ensemble de fonctionnalits. Ltat interne
comprend une position courante et un historique de la dernire position o laraigne a dj tiss. Les
fonctionnalits dont dispose laraigne sont les suivantes :
1. mouvement ;
2. tissage dune soie entre deux points ;
3. retour la dernire position tisse et restauration de son historique.
Lensemble des araignes est partitionn en sous-ensembles nomms colonies. Chaque colonie a une
tche bien dfinie accomplir et peut entrer en concurrence avec les autres colonies (sil y en a)
prsentes dans lenvironnement. La fonction de mouvement permet laraigne de se dplacer dans
lenvironnement. Le choix de la nouvelle position dpend entre autre des paramtres de la colonie
laquelle appartient laraigne. Suivant quil y ait une ou plusieurs colonies, le calcul du choix de la
position future sera diffrent.
Dans le cas o une seule colonie est prsente, laraigne a seulement le choix entre se dplacer
vers un point du voisinage local non tiss ou vers un point dj tiss dans lenvironnement. Ensuite,
chaque point du voisinage extrait aura une probabilit dtre choisi :
15

CHAPITRE 1. SYSTMES MULTI-AGENTS

1. si lensemble appartient au voisinage local non tiss, alors tous les points auront la mme chance
dtre la nouvelle position ;
2. sinon, chaque point une probabilit relative au nombre de soies prsentes sur le point pour
favoriser la slection du prochain dplacement.
Dans le cas o plusieurs colonies sont prsentes, un poids w(p) est associ chaque point. Plus le
poids dun point est grand, plus la probabilit que ce point soit choisi sera grande. Pour chaque point
p, la probabilit P(p) du dplacement est :
P(p) = P

w(p)

(1.1)

aVoisinage(p)w(a)

tel-00652445, version 1 - 15 Dec 2011

Cette fonction de poids va permettre de favoriser les pixels en fonction de leur nombre de soies. Si
p na pas encore t tiss, alors le poids de ce point est grand (suprieure une valeur de saturation
pour la convergence de lalgorithme). Dans le cas contraire, le poids est dfini selon les paramtres
dattraction des soies de la mme colonie ou des autres colonies comme suit:
Attraction(MaColonie) + Attraction(AutresColonies) = 1

(1.2)

Do le poids de chaque point tiss devient :


w(p) =
Attraction(MaColonie) #S oies(MaColonie)
+ Attraction(AutresColonies) #S oies(AutresColonie)

(1.3)

Aprs le dplacement de laraigne vers le nouveau point, une tentative de tissage est ralise si le
point satisfait un ensemble de contraintes (dfinies en fonction du problme rsoudre) et ce, afin de
crer un lien entre la position courante et le dernier point o il y a eu un tissage. Dans le cas o le
tissage est impossible, un retour en arrire peut tre effectu en fonction dune probabilit tire au sort
et de la probabilit de retour en arrire fixe pour chaque colonie.
Lalgorithme 1 commence par placer les araignes dans lenvironnement et le cycle de vie des
araignes est lanc par le tissage des soies comme dcrit ci-dessus jusqu satisfaction du critre
darrt. la fin, le nombre de soie dpos sur les points est analys pour extraire la solution optimale.

1.4.2

Les colonies de fourmis

Lheuristique des colonies de fourmis (ACO 1 ) est inspire par le comportement de recherche de
nourriture dune colonie de fourmis relles pour trouver le plus court chemin entre sa fourmilire
et la nourriture. Ceci est ralis au moyen dune substance chimique appele phromone dpose
et accumule par les fourmis qui se dirigent vers la nourriture. Durant la recherche de nourriture,
la fourmi utilise ses propres connaissances de lendroit o lodeur de la nourriture provient (les
informations heuristiques) et le fait que dautres fourmis aient choisi le mme chemin (linformation
phromone). Elle prend ensuite la dcision de son propre chemin en confirmant la voie par le dpt de
phromones, rendant ainsi plus dense leur concentration, et augmentant ainsi la probabilit du chemin
1. Ant Colony Optimization.

16

1.4. LES MTA-HEURISTIQUES

tel-00652445, version 1 - 15 Dec 2011

Algorithme 1 Colonies daraignes


Entrees: E : Environnement , A : Liste daraignes, C: Critre de terminaison.
Sorties: S : Solution optimale.
1: Placer les araignes A Dans E
2: t 0.
3: TantQue C non satisfait Faire
4:
t t + 1.
5:
Pour Chaque araigne ai de A Faire
6:
Mouvement(ai ,E).
7:
Tissage(ai ,E).
8:
RetourEnArrire(ai ,E).
9:
Fin Pour
10: Fin TantQue
11: S = ExtraireSolution(E).
dtre choisi par les autres fourmis. On parlera alors dmergence du meilleur chemin (le plus court)
partir des choix successifs des fourmis et avec une quantit de phromone dpose inversement
proportionnelle la longueur du chemin (Dorigo et al., 1996).
Dorigo et al ont choisi une colonie de fourmis dagents cooprants pour rsoudre le problme du
voyageur de commerce dfini comme suit : supposons pour toute paire de nuds Vi et V j du graphe G,
un poids de connexion attach larrte (Vi , V j ), une concentration de phromone et des informations
heuristiques. Soit une fourmi fk prsente sur le nud Vi au temps, cette fourmi choisira de suivre
larte conduisant au nud V j avec la probabilit :

fk
Pi j (t) =

i j (t)i j (t)
P

kCandidatsPotentiels( fk )

ik (t)ik (t)

Si

j CandidatsPotentiels( fk )

(1.4)

Sinon

O les paramtres i j et i j sont respectivement la concentration de phromones et les informations heuristiques sur larrte (Vi , V j ), et sont des constantes entre 0 et 1 qui dterminent
respectivement le poids accord la concentration de phromones et aux informations heuristiques, et
CandidatsPotentiels( fk ) sont lensemble des sommets autoriss tre visits selon les contraintes du
problme. Aprs avoir choisi une destination, chaque fourmi fk se dplace et dpose sur larte une
quantit de phromone sur le chemin dfinie comme suit :
fk
i
j (t) =

Q
L fk

(1.5)

O Q est une constante positive et L fk est le cot de la voie utilise par la fourmi fk . Aprs que toutes
les fourmis aient achev leur recherche de chemins, la concentration de phromone sur chaque voie
est mise jour selon la formule suivante:
0

fk
fk
i
j (t) = (1 ) i j (t) +

fk=N
X

f0

k
i
j

(1.6)

0
fk=1

O est un facteur dvaporation (0 1). Cette vaporation permet de renforcer le poids des
phromones rcentes alors que les anciennes concentrations, qui correspondent plutt aux solutions
17

CHAPITRE 1. SYSTMES MULTI-AGENTS

tel-00652445, version 1 - 15 Dec 2011

initiales indsirables trouves sont petit petit oublies. Lalgorithme 2 donne le traitement global qui
est appliqu lors de la simulation.
Algorithme 2 Colonies de fourmis
Entrees: G : Graphe , V1 : nud source, V2 : nud destination, F : Liste de fourmis, C: Critre de
terminaison.
Sorties: S : Solution optimale.
1: Placer les fourmis F sur V1 .
2: t 0.
3: TantQue C non satisfait Faire
4:
t t + 1.
5:
Pour Chaque fourmi fk de F Faire
6:
Se dplacer selon lquation 1.4.
7:
Ajout de phromones selon lquation 1.5.
8:
Fin Pour
9:
Mettre jour les phromones selon lquation 1.6.
10: Fin TantQue
11: S = ExtraireSolution(G).

1.4.3

Autres mta-heuristiques

Les mta-heuristiques ne se limitent pas seulement celles dcrites prcdemment. Deux autres
mthodes bases sur lalgorithmique gntique ou sur les essaims de particules ont aussi t
utilises par diffrents auteurs.
Lalgorithmique gntique sinspire dune analogie entre les processus doptimisation et lvolution des tres vivants. La simulation des mcanismes de variation et de slection prsente dans
les processus volutifs naturels est exploite pour rsoudre des problmes artificiels doptimisation,
comme lordonnancement dun atelier pour utiliser au mieux les ressources humaines et matrielles
disponibles (Croce et al., 1995). Cette analogie avec loptimisation consiste considrer les solutions
potentielles au problme comme des chromosomes. Ceux-ci sont manipuls par des oprateurs de
slection, de mutation ou encore de croisement. Le principe de loprateur de slection consiste
favoriser la propagation des meilleures solutions parmi la population, tout en prservant la diversit
gntique, pour explorer de nouvelles rgions de lespace de recherche (Holland, 1992). La mutation
consiste tirer alatoirement un gne dans le chromosome et le remplacer par une valeur alatoire
apportant ainsi la stochasticit ncessaire une exploration efficace de lespace de recherche. Cet
oprateur garantit la possibilit datteindre tout lespace dtat (mais dans un temps infini). Loprateur de croisement concerne la phase de recombinaison, il maintient la diversit en manipulant les
composantes des individus (chromosomes). On cre ainsi des gnrations de solutions depuis des
solutions parentes vers des solutions enfants plus optimales en valuant la qualit de chaque solution
grce une fonction de fitness 2 de chaque chromosome.
2. Le choix de la fonction de fitness reste un des problmes majeurs slectionner pour ce type de mthodes.

18

1.5. CONCLUSION

tel-00652445, version 1 - 15 Dec 2011

Loptimisation par essaim de particules (PSO 3 ) a t introduit en 1995 par Kennedy et Eberhart
comme une alternative lalgorithme gntique standard (Kennedy and Eberhart, 2002). Cette
optimisation est inspire des essaims dinsectes, des bancs de poissons et des nues doiseaux et de
leurs mouvements coordonns. Les individus de lalgorithme sont appels particules et la population
est appele essaim. Lalgorithme PSO se compose dun essaim de particules "volant" dans lespace
de recherche. La position de chaque particule est une solution potentielle au problme. La vitesse
de chaque particule est modifie en fonction de sa distance sa meilleure position personnelle et la
meilleure position globale de lessaim. En dautres termes, les particules se dplacent en fonction de
leur propre exprience, qui est dans ce cas la mmoire de la meilleure position quelles ont rencontre,
et en fonction de leur meilleur voisin (Clerc and Kennedy, 2002).
Ces mthodes ont t testes par dautres auteurs dans le contexte de la segmentation dimages,
on pourra se reporter aux travaux de Bhanu et al. pour lutilisation des algorithmes gntiques (Bhanu
et al., 1995) et aux travaux de Omran et al. pour lutilisation des essaims de particules (Omran et al.,
2006).

1.5

Conclusion

Ce chapitre a prsent les quelques lments fondamentaux de la dfinition des SMA. Ils permettent
la modlisation distribue des traitements et des connaissances, diffrents modes de coopration, etc.
Nous avons vu quil existait deux types dagents, ractifs et cognitifs. Nous avons montr quil existe
diffrents algorithmes pour modliser lactivit dun SMA. Dans le cadre de notre travail, ce sont
les mta-heuristiques des araignes et des fourmis qui ont t choisies pour effectuer respectivement
une dtection de rgions et de contours. Il vont reprsenter les agents dans lenvironnement et le
comportement appropri. Reste dfinir le contexte dans lequel ce travail se situe. Ainsi, le prochain
chapitre sera consacr la prsentation de ce contexte : lanalyse dimages IRM 3D de cerveau. Nous
prsenterons les diffrentes parties du cerveau dtecter et les mthodes classiques de lopration que
nous appliquons ces images : la segmentation, qui est un des points fondamentaux du traitement et
de lanalyse dimages.

3. Particle Swarm Optmization.

19

Chapitre

tel-00652445, version 1 - 15 Dec 2011

La segmentation dIRM mdicales


Lobjectif de notre travail est la segmentation dimages IRM de cerveau. Nous allons prsenter dans
ce chapitre les spcificits des IRM crbrales, puis la problmatique de la segmentation elle-mme et
enfin diffrentes mthodes de segmentation sappliquant cette problmatique.

2.1
2.1.1

IRM crbrale
Principe de lIRM

Le principe de lIRM est bas sur la dtection des proprits magntiques des protons contenus
dans les molcules deau du corps. En effet, la concentration en eau des tissus varie dun organe
lautre ou avec son tat physiologique. Afin destimer la quantit de protons dans les tissus, le

corps est plac dans un champ magntique de haute intensit B0 . Soumis ce champ magntique,

les protons sont aligns le long de la direction de B0 . Cet alignement est alors perturb par une

courte dure dun champ magntique B1 perpendiculaire au champ B0 et oscillant une frquence

donne appele frquence de Larmor (42.56MHz / Tesla pour le proton). Lorsque B1 est supprim,
les protons reviennent leur tat prcdent dans un mouvement doscillation. Le mouvement de
ces diples lectriques induit un petit champ magntique qui est enregistr par lantenne dIRM.
Cette RMN (Rsonance Magntique Nuclaire) du signal est la somme S de toutes les contributions

individuelles des protons. Si B0 est homogne, tous les protons oscillent la mme frquence et il
est donc impossible de discriminer les protons dans lespace 3D. Afin de fournir des informations

dimagerie, il est ncessaire de superposer un gradient magntique G(x, y, z) B0 suivant les trois
coordonnes spatiales. Ainsi, chaque proton, un ensemble donn de coordonnes (x, y, z), oscille

une frquence diffrente aprs lextinction du champ B1 . En prsence de G, le signal S recueilli par
20

2.1. IRM CRBRALE

lantenne IRM peut tre dcrit par la formule suivante:


Z +
S (t) =
M(x, y, z) ei(G x x+Gy y+Gz z) dx dy dz

(2.1)

tel-00652445, version 1 - 15 Dec 2011

o G x , Gy et Gz sont les valeurs de G au point (x, y, z), est le rapport gyromagntique et M (x,
y, z) est la densit magntique au mme point. Cette expression tant une transforme de Fourier

spatiale, on peut obtenir directement M(x, y, z) en appliquant une transforme de Fourier inverse. Pour

des coupes en 2D, M(x, y) est reprsent par le nombre complexe M.ei o M est lamplitude et est
la phase. Le niveau de gris correspondant limage anatomique est proportionnel M. peut tre
galement utilis pour construire une image de phase (servant entre autres estimer le flux sanguin, la
temprature, etc) (Denis De Senneville et al., 2003).
En modifiant les paramtres dacquisition, en particulier le temps de rptition entre deux excitations (TR) ou le temps entre le signal dexcitation et la rception de lcho (TE), on peut modifier la
pondration de limage. En effet, les tissus ont des temps de relaxation longitudinale (temps T 1 ) et
transversale (temps T 2 ) caractristiques (figure 2.1). Les carts de temps T 1 et T 2 mesurs permettent
de caractriser les tissus en chaque lment de lchantillonnage discret.

Figure 2.1: Le principe de la caractrisation des tissus de limage.

2.1.2

Image anatomique du cerveau

Le cerveau est la partie la plus volumineuse du systme nerveux central. Il est constitu essentiellement de deux hmisphres, spars par la scissure inter-hmisphre, et reli par diffrentes structures
telles que le corps calleux, le thalamus et lhypothalamus. Comme le montre la figure 2.2, le cerveau
est compos d :
1. une matire grise (MG) ;
2. une matire blanche (MB) ;
3. un liquide cphalo-rachidien (LCR) ;
21

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

4. une peau ;
5. un muscle ;
6. une graisse ;
7. une peau / un muscle ;
8. une conjonction.

tel-00652445, version 1 - 15 Dec 2011

Lors de lacquisition dune image de cerveau, deux objets supplmentaires sont dtects : le fond et la
crne.

Figure 2.2: Coupe du cerveau.

2.1.3

Qualit de limage acquise par IRM

Les sources dartfacts en IRM sont nombreuses. Ces perturbations sont responsables derreur
dans lencodage de limage, de perte ou de rehaussement artificiel du signal. Les sections suivantes
pointent les principales sources que lon peut corriger en partie en post-traitement. Connatre leur
origine permet de mieux les apprhender, de les rduire, voire de les supprimer.
2.1.3.1

Le bruit

Comme tout dispositif de mesure physique, les donnes sont entaches de bruit. Il provient la fois
du patient (agitation thermique des protons lorigine dmissions parasites) et de la chaine de mesure
(convertisseurs analogique-numrique, antenne, etc). La perturbation par le bruit est gnralement
quantifie par le rapport signal sur bruit (RSB), fonction de lamplitude du signal observ par rapport
limportance de la variation du bruit. Ce rapport, et donc la qualit de limage, peut tre amlior en

considrant diffrentes antennes, un champ magntique B0 plus intense, une matrice de rsolution
moins fine, ou encore une multiplication des mesures. Nanmoins, il restera toujours un bruit dans
limage reconstruite finale. On peut considrer que le bruit dans limage suit une distribution Ricienne
qui, avec un rapport signal sur bruit suffisant (typiquement RSB > 3), peut tre approxim par un bruit
gaussien (Sijbers et al., 1998).
22

2.1. IRM CRBRALE

2.1.3.2

Le volume partiel

Leffet de volume partiel est li la discrtisation de lespace : lorsque la surface entre plusieurs
objets se trouve dans un mme lment de volume discret (le point), la mesure dans ce point rsulte
dun mlange des contributions des diffrents objets. Cet effet se manifeste principalement linterface
entre les matires (MG, MB, LCR, etc) ou lors de la prsence de structures trop fines pour tre visibles
la rsolution de limage : vaisseaux sanguins, structures fines de la MG, etc. Leffet de volume partiel
est particulirement prsent linterface LCR-MG dans les replis du cortex, car lpaisseur des sillons
corticaux est gnralement infrieure la rsolution des images.

tel-00652445, version 1 - 15 Dec 2011

2.1.3.3

Les inhomognits dintensit

Les inhomognits dintensit sont des variations de lintensit observes pour un mme tissu.
Leurs sources sont multiples :
Les inhomognits lies aux imperfections de limageur, dues :

lhtrognit du champ statique B0 et du champ dexcitation B1 . Les champs magntiques


produits ne peuvent en effet tre parfaitement uniformes, provoquant des plages dombre
dans limage;
la qualit de lantenne de rception, et particulirement aux variations spatiales de sa
sensibilit. Lors des examens en IRM anatomique, on privilgie la plupart du temps des
antennes avec une sensibilit spatialement stable.
Ces sources dinhomognits sont responsables de lents dphasages et dcalages de frquence
dans le volume tudi. Elles produisent de lentes variations spatiales dintensit dans limage
reconstruite nomm "champ de biais" 1 (Juntu et al., 2005).
Les inhomognits lies des proprits biologiques des tissus, dues :
des compositions histologiques diffrentes des tissus. En effet, les temps de relaxation
T 1 et T 2 de la matire blanche et de la matire grise dpendent des rgions anatomiques
(Wansapura et al., 1999) et de lge (Cho et al., 1997). Par exemple le cortex et les noyaux
gris centraux comme le putamen sont tous composs de MG, mais prsentent des intensits
lgrement diffrentes sur une acquisition pondre T 1 . Cet artefact est expliqu par des tudes
histologiques, qui rvlent que le putamen est travers par un grand nombre de faisceaux de
fibres mylinises. Ces fibres sont trop fines pour tre visibles lIRM : lintensit observe
rsulte dun mlange de MG et de MB du fait de leffet de volume partiel. De la mme
manire, la MB est plus claire dans le corps calleux que dans les autres rgions, car les fibres
mylinises y sont plus concentres et orientes dans une direction commune;
lartfact de susceptibilit magntique. Chaque tissu possde une susceptibilit magntique
qui sexprime par une aimantation interne propre induite par le champ magntique statique

B0 . La diffrence de susceptibilit magntique linterface entre deux tissus provoque une

distorsion du champ B0 . Ces htrognits locales sont responsables de dphasages et de


1. Bias field.

23

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

dcalages de frquences localiss, lorigine dune perte de signal, et dhtrognit dintensit. Elles sont principalement localises aux interfaces air-tissu et cortical-tissu, et trs
marques en prsence de matriel mtallique. En particulier, cet artfact est responsable de
perturbations dues la seule prsence du patient dans limageur.
Ces inhomognits sont des artfacts dont la frquence spatiale est plus importante que celle
du champ de biais.

tel-00652445, version 1 - 15 Dec 2011

2.2

Segmentation dIRM de cerveau

La prsence simultane de tous ces artefacts dans les images IRM anatomique du cerveau va
constituer un difficult supplmentaire pour leur segmentation.
Nous allons passer en revue diffrentes techniques de segmentation qui ont t proposes sur ces
images, ainsi que leurs limites aprs avoir dfini formellement la problmatique de la segmentation
dimages.

2.2.1

Segmentation dimages

Une image discrte 3D est compose dun grille dlments appels voxels. Un voxel correspondant un volume lmentaire de cette grille.
chaque voxel dune image 3D est associe une valeur, qui correspond le plus souvent un
niveau de gris ou une tiquette. Le type de la valeur associe un voxel dpend du type dacquisition
utilise pour obtenir limage, mais nentre pas en considration pour dfinir la segmentation dimage
3D.
Lopration de segmentation consiste crer un partitionnement en rgions de limage. Ces rgions
doivent correspondre aux diffrentes rgions recherches par la tche de segmentation.
Dfinition 8 Le partitionnement dune image I est la division de I en un ensemble de N sousensembles connexes R1 , . . ., RN , appeles rgions de limage, tel que :
1. i , Ri , ;
2. i, j|i, j , Ri Ri = ;
S
3. I = i Ri
Dfinition 9 Une rgion est dfinie comme un ensemble de voxels connexes maximal par rapport aux
critres de segmentation utiliss.
Cette maximalit doit tre observe sur la totalit des rgions simultanment. Pour une rgion donne,
le regroupement de quelques voxels pourrait permettre dobtenir un meilleur rsultat par rapport
aux critres de segmentation. Leffet de bord de ce regroupement est quil supprime lappartenance
de voxels dautres rgions, qui peuvent obtenir un rsultat moins bon pour les mmes critres de
segmentation. Ainsi les rgions sont des ensembles de voxels dits maximaux pour des critres de
24

2.2. SEGMENTATION DIRM DE CERVEAU

segmentation donns, si la fusion de deux rgions voisines donne une partition moins bonne au regard
de ces mmes critres.
Pour modliser les critres de segmentation vrifis par le partitionnement effectu, on a besoin de
dfinir un prdicat qui doit tre satisfait pour les voxels appartenant une mme rgion. Ainsi, La
segmentation dune image devient le partitionnement de limage conformment au prdicat choisi :
Dfinition 10 Une image segmente I, utilisant un prdicat P, est lensemble E de N rgions R1 ; . . .;
RN tel que :
1. E est une partition de I;
2. RE , R vrifie le prdicat P;

tel-00652445, version 1 - 15 Dec 2011

3. (Ri ,R j )E 2 |Ri etR j sontvoisines , Ri R j ne vrifie pas le prdicat P.


Dans cette dfinition, le prdicat correspond aux critres choisis afin de dterminer les voxels
appartenant la mme rgion. Il faut remarquer que, tant donn un prdicat, plusieurs partitions
satisferont la dfinition 10. Le rsultat de la segmentation dpend alors :
1. du prdicat choisi;
2. de lalgorithme de segmentation.
Quelle que soit la dfinition de segmentation considre, lunicit de la partition satisfaisant la
dfinition ne peut tre garantie. Il est cependant possible de dfinir des critres de segmentation tels
que une seule partition soit solution du problme. Selon la dfinition 10, le prdicat, qui est vrai si
tous les voxels dune mme rgion ont la mme valeur, permet de construire de manire dterministe
lunique partition. Cependant, utiliser de tels prdicats ne fournit que rarement une segmentation
satisfaisante de limage pour des applications concrtes. Ainsi, le processus de segmentation doit
non seulement chercher une solution, mais aussi tre un processus doptimisation visant trouver la
meilleure partition parmi celles satisfaisant la dfinition 10. La segmentation dimage consiste alors
:
1. dfinir un ensemble de critres permettant de diffrencier les rgions segmenter dans limage;
2. trouver la meilleure partition vrifiant un ensemble de critres prdfinis.
Dans la suite, on parlera de points pour des pixels en 2D et pour des voxels en 3D.

2.2.2

Mthodes classiques de segmentation

Il est possible de regrouper les approches de segmentation de diffrentes faons (Haralick and
Shapiro, 1985; Pham et al., 2000). La manire de classifier ces approches dpend des caractristiques
du domaine dapplication et du contexte pour lequel elles sont diffrencies. Nous avons dcompos
les approches de segmentation en fonction des lments de limage sur lesquelles elles se basent.
Cette classification se fait en trois groupes :
1. les mthodes bases sur les points : ce sont les mthodes qui cherchent une rpartition des
points en classes;
25

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

2. les mthodes bases sur les contours : ce sont les mthodes qui cherchent placer correctement
les frontires entre les rgions de limage;
3. les mthodes bases sur les rgions : ce sont les mthodes qui cherchent regrouper les points
par rgion de limage. Ainsi, les contours de limage sont implicitement dfinis.
2.2.2.1

Mthodes bases sur les points

tel-00652445, version 1 - 15 Dec 2011

Les mthodes bases sur les points sont celles qui sappliquent directement sur des points sans
aucune considration pour la structure de la rgion. Linformation localise par point est utilise pour
dcider si oui ou non le point appartient la rgion dsire.
Seuillage
Cette mthode est probablement la mthode la plus simple parmi les mthodes de segmentation. Un
seuil est choisi pour crer une partition binaire des intensits des points. Tous les points ayant une
intensit suprieure au seuil sont regroups dans une classe et ceux ayant une intensit infrieure au
seuil sont placs dans une autre classe. Une multitude de mthodes ont t mises en uvre partir de
cette simple dfinition mais elles souffrent de limitations sur les images IRM de cerveaux cause des
artefacts prsents dans la section 2.1.3.
En effet, certaines images sont biaises, reprsentant des objets dont lintensit nest pas homogne,
ou avec des parties de limage plus contrastes que dautres. Il peut tre intressant dans ce cas de
recourir un seuillage non-uniforme : on partage limage en diffrentes rgions, sur lesquelles on
effectue un seuillage avec un seuil diffrent. De la mme manire, on peut estimer la variation
dintensit entre deux zones en interpolant le seuil entre diffrentes rgions.
Les seuils peuvent tre fixes ou calculs en fonction de limage. Dans ce cas, la mthode la plus
courante consiste calculer les seuils partir de lhistogramme de limage (Ridler and Calvard, 1978;
Trier and Jain, 1995). Lhistogramme des intensits dune image reprsente, pour chaque intensit le
nombre de points de limage ayant cette intensit (figure 2.3). Lutilisation de cette mthode part de
lhypothse que chaque pic, ou mode, de lhistogramme correspond un certain objet de limage. La
recherche du seuil optimal consiste partager lhistogramme suivant ses diffrents modes, cest--dire
trouver les zones dintensit minimale entre deux modes.
Bien que simple, cette mthode est trs efficace pour la segmentation dimages ayant un trs
bon contraste entre les rgions. Elle est gnralement utilise comme une premire tape vers une
segmentation.
Le principal inconvnient de cette technique est que les rsultats dpendent des seuils utiliss.
Toute modification aux valeurs des seuils peut donner une autre rgion segmente. Les seuils sont
gnralement gnrs dune manire interactive en utilisant un retour visuel sur lhistogramme de
limage. Un autre inconvnient est que cette technique est trs sensible au bruit et la non-homognit
des intensits.
Classification
Les mthodes de classification par apprentissage sont des mthodes de reconnaissance de forme
26

2.2. SEGMENTATION DIRM DE CERVEAU

(a)

(b)

tel-00652445, version 1 - 15 Dec 2011

Figure 2.3: Exemples de seuillage simple et multiple sur deux histogrammes.

qui cherchent diviser un espace dlments provenant de limage en utilisant des donnes ayant
des tiquettes connues. Lespace des lments est un groupe de vecteurs dattributs de dimension N
reprsentant des caractristiques chaque point. Ces caractristiques peuvent tre les intensits des
points, les gradients des points, les distances des points aux bords de limage, etc.
Ces classifieurs sont de la catgorie supervise car ils ont besoin de donnes pr-segmentes (soit
manuellement ou par toute autre mthode). Les donnes pr-segmentes sont ensuite utilises comme
rfrences pour procder la segmentation automatique sur de nouvelles donnes.
La forme la plus simple dun classifieur est le modle du plus proche voisin, o chaque point
est class dans la mme classe que celle des donnes ayant des intensits proches. Le classifieur k
plus proches voisins est la gnralisation de cette approche, o le point est class en fonction de la
majorit des k plus proches donnes (Denux, 1995). Un autre exemple similaire dun classifieur est la
fentre de Parzen, o la classification est faite en fonction de la majorit des couples de points au sein
dune fentre prdfinie de lespace des lments centrs sur les points non-tiquets (Breiman et al.,
1977). Ces deux classifieurs sont non-paramtriques car ils ne font aucune hypothse sur la structure
statistique des donnes. Un autre classifieur utilis est celui de Bayes ou maximum de vraisemblance.
Lhypothse de base est que les intensits des points sont chantillonnes indpendamment partir
dun mlange de distributions de probabilits, gnralement gaussiennes. La classification des points
est obtenue en assignant chaque point selon la valeur maximale de sa probabilit dappartenance
chaque classe.
Lorsque les donnes suivent une loi correspondant un mlange de distributions gaussiennes, le
classifieur du maximum de vraisemblance peut donner de bons rsultats et est capable de fournir une
segmentation dont les tiquettes sont les probabilits dappartenance chaque rgion. Les classifieurs
standard exigent que la structure segmenter possde des caractristiques distinctes quantifiables.
Parce que les donnes peuvent tre tiquetes, les classifieurs permettent de transfrer ces tiquettes
des nouvelles donnes tant que lespace des lments distingue suffisamment chaque tiquette.
tant non-itratif, ils sont relativement efficaces en temps de calcul et, la diffrence du seuillage, ils
peuvent tre appliques des images multi-canaux.
Linconvnient majeur de cette mthode est la constitution dune base de donnes dapprentissage,
processus qui peut tre long et laborieux et qui peut ne pas tre exhaustif (ce qui peut conduire des
27

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

rsultats biaiss).
Dans cette mme catgorie de mthodes de classification, il existe des algorithmes non superviss
tels que les algorithmes k-moyennes et c-moyennes floues.
k-moyennes
Lalgorithme des k-moyennes classifie les objets selon leurs attributs en k classes prdfinies en
supposant que les attributs des objets forment un espace vectoriel (Macqueen, 1967). Lobjectif est de
minimiser la variance intra-classe :
V =

k X
X

|x j i |2

(2.2)

tel-00652445, version 1 - 15 Dec 2011

i=1 xi S i

o S i , i = 1, 2, . . ., k sont les k classes et i est le centrode des points x j S i .


Lalgorithme commence par partitionner les points en k ensembles initiaux, soit au hasard, soit en
utilisant une heuristique. Il calcule ensuite le centrode de chaque ensemble et construit une nouvelle
partition en associant chaque point avec le centrode le plus proche. Lalgorithme se droule suivant
une alternance entre calcul des centrodes des nouvelles classes et appariement des points avec le
centrode le plus proche jusqu convergence. Celle-ci est obtenue quand aucun point ne change de
groupe ou lorsque les centrodes ne changent plus.
Cet algorithme est trs populaire car il est extrmement rapide en pratique. En effet, le nombre
ditrations est typiquement infrieur au nombre de points. En terme de performance, cet algorithme
ne garantit pas un optimum global. La qualit de la solution dpend grandement des ensembles initiaux
et peut, en pratique, tre bien en d de loptimum global. Comme lalgorithme est trs rapide, une
mthode courante est de le lancer plusieurs fois et de retourner la meilleur partition. Un autre problme
est quil est ncessaire de donner priori le nombre de classes (i.e. k) trouver ; cela nest toutefois
pas rellement gnant dans le cas de la segmentation dIRM crbrale car le nombre de classes est le
plus souvent connu.
c-moyennes floues
Lalgorithme des c-moyennes floues (FCM 2 ) gnralise lalgorithme des k-moyennes en permettant
la classification floue base sur la thorie des ensembles flous (Dunn, 1973). Dans ce cas, la fonction
minimiser est (Bezdek et al., 1999):
J p (x, v : y) =

n X
c
X

(xik ) p ||yk vi ||2A

(2.3)

k=1 i=1

o :
1. n est le nombre de points traiter, c le nombre de classes dsires, p [1, +[ est le poids de
floutage ;
2. v = (v1 , . . ., vc ) est le vecteur des centres de classes ;
3. ||||A est un produit scalaire o A est une matrice dfinie positive ;
2. Fuzzy C-Means.

28

2.2. SEGMENTATION DIRM DE CERVEAU

4. x = [xik ] Rc.n , avec xik [0, 1] 1 i c et 1 k n ; xik est la c-partition floue de y et doit
vrifier :
c
n
X
X
xik = 1 pour 1 k n,
xik > 0 pour 1 i c
(2.4)
i=1

i=1

tel-00652445, version 1 - 15 Dec 2011

Xue et al. utilisent les algorithmes c-moyennes floues pour combiner le filtre moyen au filtre
mdian local afin de raliser la segmentation locale de volumes IRM de cerveaux (Xue et al., 2001).
Pham utilise les inhomogneits dintensit des volumes IRM dans la fonctionnelle J p et obtient ainsi
un algorithme c-moyennes floue adaptatif qui permet une meilleure segmentation(Pham, 2001).
Les limites majeures de ces mthodes proviennent des donnes elles mmes. En effet, ces mthodes
sont sensibles au bruit qui malheureusement comme nous lavons vu au dbut de ce chapitre est
toujours prsent dans les images IRM.
Champs alatoires de Markov
Les champs alatoires de Markov modlisent les interactions entre un point et son voisinage. Le
formalisme des champs de Markov permet deffectuer une segmentation de limage en prenant
en compte les interactions avec les points voisins. Nous considrons que les k rgions que nous
souhaitons segmenter forment une partition de limage. Chaque rgion est reprsente par une
fonction caractristique et identifie par une tiquette dans 1, . . ., k. Le but de la segmentation est
destimer le champ des tiquettes X partir dune ralisation bruite de limage Y . La dmarche de
la segmentation peut se formaliser comme un problme destimation baysienne.
Une estimation du champ des tiquettes peut se faire suivant le critre du maximum postriori
(Zenglin et al., 2007). Cela se fait en minimisant lnergie grce lalgorithme des modes conditionnels
itrs 3 (Besag, 1986) ou du recuit simul 4 (Laarhoven and Aarts, 1987).
Dans le cadre de la segmentation dIRM crbrale, plusieurs auteurs se sont intresss cette mthode pour rduire les artfacts de limage. On cite titre exemple la modlisation des inhomognits
par un bruit blanc gaussien additif prendre en compte lors de la segmentation des 3 principaux
tissus du cerveau (Rajapakse et al., 1997). Une autre forme de lutilisation de cette mthode consiste
prendre en considration les effets du volume partiel en commenant par dtecter 2 composants
supplmentaires (mlanges de gris et de blanc et mlanges de gris et de LCR) afin de les replacer dans
les 3 principaux tissus (Ruan et al., 2000).
La modlisation de ces artfacts et leur combinaison restent nos jours le problme majeur pour
tablir une connaissance de ces systmes.
2.2.2.2

Mthodes bases sur les contours

Ces mthodes visent dlimiter les objets selon leurs contours. Elles ne se basent gnralement
pas sur les intensits mais sur les variations dintensit dans limage, variations qui sont normalement
significatives aux frontires entre les rgions.
3. ICM en anglais: Iterated Conditionnal Mode.
4. SA en anglais: Simulated Annealing.

29

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

Techniques de dtection de bords


Les bords sont forms par lintersection de deux rgions avec des intensits diffrentes. Ils sont lun
des principaux indices de distinction visuelle de deux rgions. Lalgorithme correspondant se droule
en deux tapes :
1. les bords sont dtects en utilisant une certaine forme de diffrenciation ;
2. ces bords sont ensuite regroups pour former des frontires sparant les points de la rgion
dsire des autres points de limage.

tel-00652445, version 1 - 15 Dec 2011

Un certain nombre doprateurs de dtection de bords a t propos cet effet. Liu a propos un
algorithme de dtection de surface 3D qui tend en 3D loprateur classique de Roberts (Liu, 1977).
Zucker et Hummel ont mis au point un oprateur optimal de dtection de bords, qui est essentiellement
un oprateur de Sobel(Zucker and Hummel, 1981).
Ce sont des oprateurs se basant sur des drives premires ou secondes. Pour cette raison, ils
sont connus pour tre trs sensibles aux bruits.
Morphologie mathmatique
La morphologie mathmatique propose un cadre thorique trs cohrent pour le traitement et lanalyse
dimages (Serra, 1983). Fonde sur des notions ensemblistes, elle tudie les caractristiques morphologiques (forme, taille, . . .) des objets par des transformations non linaires associes un ou
plusieurs objet(s) de rfrence (lment(s) structurant(s)). La forme et la taille des lments structurants permettent dagir localement sur les objets dune image. Les oprations morphologiques
sont gnralement simples comprendre et appliquer. Mais ceux-ci sont gnralement difficiles
contrler. Par exemple, il est difficile de contrler les oprations de dilatation moins de donner
la limite suprieure du nombre de fois dilater. Ces algorithmes exigent donc, en gnral, certains
critres externes pour les contrler. Ces oprations risquent galement de changer la gomtrie et la
topologie des rgions. Il est bien connu quune srie de dilatations suivi par des rosions conduit
la perte de hautes frquences et au remplissage des trous. De mme, une srie drosions suivie par
des dilatations peuvent introduire des trous et des hautes frquences. partir de ces deux exemples
simples, nous pouvons construire des oprateurs de plus en plus complexes, jusqu aboutir des
outils de haut niveau (ligne de partage des eaux, transforme en tout-ou-rien niveau de gris). Ces
algorithmes devraient tre vits lorsque la prcision est la premire proccupation et quil y a un
risque de perte de donnes importantes. Comme pour les dtecteurs de bords, on notera que les
oprateurs morphologiques ne sont pas des algorithmes de segmentation par eux-mmes, mais ils sont
gnralement une partie intgrante dun pipeline de segmentation.
Modles dformables
Les modles dformables ont t introduits dans le cadre de la segmentation dimages par Terzopoulos
et al. (Terzopoulos et al., 1988). Kass et al. ont introduit les modles dformables les plus populaires,
les contours actifs (Kass et al., 1988) . Les modles dformables offrent une alternative robuste
la segmentation dimages en introduisant une information sur la forme de lobjet segmenter, en
tant peu sensible au bruit et aux contours irrguliers. De plus, certains modles dformables sont
30

2.2. SEGMENTATION DIRM DE CERVEAU

tel-00652445, version 1 - 15 Dec 2011

dvelopps dans un espace continu (le contour obtenu a ainsi une prcision suprieure la rsolution
de limage). Le principe de ces mthodes est de partir dun modle gomtrique (courbe, surface, etc)
et de plonger ce modle dans limage. Le modle dformable peut ensuite se mouvoir sous laction de
forces internes (lies aux proprits du modle) et externes (lies limage) jusqu ce quil vienne se
plaquer sur la structure dintrt. Les forces internes sont des contraintes qui rgularisent la forme
du modle et lempchent de se dformer de faon anarchique. Les forces externes tendent faire
concider le modle sur un contour dobjet segmenter ou toute autre caractristique de limage.
Le principal avantage de cette mthode est son efficacit lorsque tous les paramtres sont bien
choisis, ainsi que la finesse de la segmentation. Les inconvnients sont la sensibilit de la segmentation
par rapport la qualit de son initialisation, ainsi que le nombre gnralement important de paramtres
rgler, qui ne garantissent, au final, ni la terminaison ni la convergence vers le rsultat souhait.
Mme si les modles dformables permettent lobtention de contours ferms, ces contours sont lisses
et induisent une variabilit anatomique dans le cas de la segmentation.
Isocontours
La mthode disocontours a t introduite par Osher et Sethian (Osher and Sethian, 1987). Elle est un
cadre de travail analytique travaillant sur lvolution gomtrique dobjets. Au lieu demployer une
reprsentation Lagrangienne classique pour dcrire les gomtries, la mthode des isocontours les
dcrit travers une fonction scalaire dfinie sur une grille fixe. Lquation dvolution, formalise
sous forme dune EDP 5 , est contrainte par un champ de vitesse impos dans le sens de la normale au
contour. Ce champ est construit de manire attirer le modle vers les objets extraire dans limage
sous contraintes de rgularisation gomtrique. La normale et la courbure du contour en chaque point
sont facilement dfinies partir des proprits diffrentielles gomtriques de cette reprsentation.
Un des principaux avantages de la description implicite dun contour est quelle gre intrinsquement les changements topologiques en cours de convergence. Par exemple, si un processus
de segmentation est initialis par des germes multiples, les collisions et fusions des composantes
connexes sont gres sans modification de lalgorithme, ce qui nest pas le cas par exemple avec
des contours actifs classiques. Le principal avantage de cette mthode est un meilleur rsultat que
celui obtenu par les modles dformables produit quelque soit la forme de lobjet en question. Un
inconvnient de cette mthode est le cot de calcul important dans sa formulation basique. Pour rsoudre ce problme, Lefohn et al. ont utilis des GPUs pour la dtection dune tumeur dans une image
IRM de cerveau(Lefohn et al., 2003). Mais son inconvnient majeur est son processus dinitialisation
(initialisation loigne de la solution) ainsi que son paramtrage (connaissance priori du nombre de
types de rgion).
2.2.2.3

Mthodes bases sur les rgions

Les mthodes bases sur les rgions se focalisent sur lextraction de rgions en considrant leur
homognit vis vis de caractristiques pertinentes (intensit, texture, ...) au niveau des points. Nous
dcrivons dans cette section les principales approches considres dans la littrature.
5. quation Drives Partielles.

31

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

Croissance de rgions
La croissance de rgions est probablement la technique la plus simple en ce qui concerne cette
approche. Elle consiste extraire une zone dintrt dune image en faisant crotre une rgion partir
dun ou de plusieurs germes constituant un sous-ensemble de la zone recherche. La croissance est
rgie par un critre de propagation pouvant tre bas sur des proprits colorimtries, mais galement
gomtriques ou topologiques. La croissance de rgion est rarement utilise seule, mais gnralement
dans le cadre dun ensemble doprations de traitement dimages. La qualit de la segmentation
obtenue par ce type dapproche est lie la pertinence du critre de propagation et au choix des
germes, qui requirent donc un temps de paramtrisation important.
Comme pour le seuillage, cette technique est simple, mais est souvent utilise pour la segmentation.
Le plus souvent, cette technique forme une partie du "pipeline" de segmentation pour une approche
particulire. Elle est souvent utilise comme mthode principale pour tudier les donnes de limage
avant lapplication dune technique de segmentation plus complexe. Cette technique est galement
sensible au bruit et leffet de volume partiel. Un autre inconvnient majeur de cette mthode est la
ncessit du choix dun point de dpart (germe) pour construire la rgion dintrt.

Division/Fusion
La segmentation par division fournit une structure hirarchise qui permet dtablir des relations
de proximit entre les rgions, mais qui peut fractionner une mme rgion en plusieurs ensembles
distincts.
La segmentation par fusion produit un nombre minimal de rgions connexes, mais fournit une
structure horizontale qui nindique pas de relation de proximit.
Lobjectif de la mthode par division/fusion est de rassembler, partir de la division grossire
obtenue par une premire division, les diffrents blocs adjacents de limage.
Lalgorithme standard de division/fusion a t propos par Horowitz et Pavlidis (Horowitz and
Pavlidis, 1974). Le processus est dcompos en deux tapes. Limage initiale peut tre une premire
partition rsultant dune analyse grossire ou bien limage brute.
Dans la premire tape, ou division, nous analysons individuellement chaque rgion Xi . Si celle-ci
ne vrifie pas le critre dhomognit, alors nous divisons cette rgion en blocs (le plus gnralement
en 4 quadrants) et nous ritrons le processus sur chaque sous-rgion prise individuellement. Nous
pouvons tout fait initier le processus en considrant que la premire rgion est compose de toute
limage.
Dans la deuxime tape, ou fusion, nous tudions tous les couples de rgions voisines (Xi ,X j ).
Si lunion de ces deux rgions vrifie le critre dhomognit choisi pour la fusion, alors, nous
fusionnons les rgions.
Le principal avantage de cette mthode par rapport la mthode de croissance de rgions est
quaucun point de dpart est ncessaire et par consquent, aucune interaction manuelle nest ncessaire.
Une difficult de cette approche rside dans le parcours de lensemble de tous les couples de rgions
voisines. Des valuations pour lextraction des principaux tissus dimages 3D crbrales ont t
proposes(Manousakas et al., 1998). Ces mthodes ont linconvnient dtre dpendant de la qualit
32

2.2. SEGMENTATION DIRM DE CERVEAU

tel-00652445, version 1 - 15 Dec 2011

de la dcomposition de limage originale (par exemple en quadtree).


Approches guides par un atlas
Ces approches utilisent un atlas standard ou un modle pour effectuer la segmentation. Latlas est
gnr par la compilation dinformations sur la partie qui requiert la segmentation. Latlas standard
traite la segmentation comme un problme denregistrement. Lalgorithme commence par rechercher
une transformation qui envoie une image datlas pr-segment limage cible segmenter. Ce
processus est souvent nomm une dformation datlas. La dformation peut tre ralise laide de
transformations linaires.
Ces approches ont t appliques principalement dans limagerie IRM de cerveau. Un avantage de
ces approches est que les tiquettes de limage sont transfres ainsi que la segmentation. Le principal
dfaut de ces approches est d la grande variabilit de lanatomie de cerveau. Pour rsoudre ce
problme, de nombreux chercheurs ont tent dappliquer une squence de transformations linaires
et non-linaires. La segmentation de structures complexes reste trs difficile. Thompson et Toga ont
introduit un atlas probabiliste pour modliser la variabilit anatomique, mais leur mthode exige
plus de temps et dinteraction pour accumuler des donnes (Thompson and Arthur Toga, 1997). Par
consquent, ces approches sont mieux adaptes la segmentation des structures qui sont stables dans
la population dtude.

2.2.3

Mthodes utilisant les SMA

Dans ce qui suit, nous allons exposer brivement quelques travaux utilisant les SMA dans le
domaine du traitement dimages et plus particulirement dans le but de segmenter ces images. Il est
noter que la plupart de ces travaux sont effectus dans le cas de la 2D.
2.2.3.1

Approches points

Haroun et al. ont propos une approche de segmentation des principaux tissus dune image IRM
du cerveau (Haroun et al., 2005). Les auteurs ont prsent une approche cooprative mettant en
uvre deux algorithmes de segmentation dimage : la classification FCM pour grer lincertitude et
limprcision, et la croissance de rgions pour agir localement sur limage. Un systme Multi-Agents
est introduit dans la phase de croissance de rgions afin damliorer la qualit de la segmentation. Il
existe deux types dagents, un agent de type "Contrleur" et plusieurs agents de type "Croissance"
dploys sur limage. Le processus est rpt plusieurs fois jusqu ce quil ne reste aucun pixel
susceptible dtre membre dune rgion. Cette mthode utilise un processus de classification floue
pour sparer les 3 principaux tissus du reste du cerveau afin de les segmenter (figure 2.4). Malgr le
fait que le nombre de rgions est petit, leur systme narrive pas dtecter tous les pixels de limage.
Scherrer et al. ont considr la segmentation des tissus et des structures (la matire grise, la matire
blanche et le liquide cphalo-rachidien) par les champs de Markov sur des images 3D de scanner
comme deux procdures locales et coopratives immerges dans un cadre Multi-Agents (Scherrer
33

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

(a)

(b)

tel-00652445, version 1 - 15 Dec 2011

Figure 2.4: Segmentation extraite de (Haroun et al., 2005) : (a) image originale et (b) image segmente
en MB, MG et LCR.
et al., 2007). La segmentation des tissus est effectue en partitionnant le volume en sous-volumes o
les agents estiment les modles locaux des champs de Markov en coopration avec leurs voisins pour
assurer la cohrence des modles locaux. Ces modles refltent mieux la distribution dintensit locale.
La segmentation des structures est ralise via des agents dynamiquement localiss qui intgrent
des contraintes anatomiques et spatiales fournies par une description floue priori de lanatomie du
cerveau (figure 2.5). Cette segmentation ne se rduit pas une tape de post-traitement : les agents des
structures cooprent avec les agents des tissus pour rendre les modles progressivement plus prcis.
Le processus sarrte lorsque le systme converge. Linconvnient de cette approche est la taille de la
fentre du voisinage qui diffre dune image lautre pour estimer lappartenance de chaque voxel
chaque classe de structure (dans le cas de Scherrer et al., il sagit dun voisinage de 20x20x20 voxels).

Figure 2.5: Segmentation extraite de (Scherrer et al., 2007) : (a) image originale, (b) image segmente
dcompose en blocs et (c) lhistogramme de la reprsentation des tissus dans le bloc rouge.

2.2.3.2

Approche contours

Pour segmenter des images 2D dIRM du cerveau, Germond et al. ont propos une mthode
de segmentation cooprative base sur la segmentation en rgions de la MG et de la MB. Cette
segmentation est effectue par des agents spcialiss partir dun modle dformable (McInerney
34

2.2. SEGMENTATION DIRM DE CERVEAU

tel-00652445, version 1 - 15 Dec 2011

and Terzopoulos, 1996) du cerveau construit au pralable (Germond et al., 2000). lissue de la
segmentation en rgions de ces tissus, le contour du cerveau plus prcis est obtenu par des agents
contours qui utilisent la mthode des contours actifs (figure 2.6). A la fin de lalgorithme, un retour
complet sur le processus de segmentation est considr, initialis par le contour reconstruit lors de la
phase prcdente. Ce processus est rpt plusieurs fois jusqu satisfaction dun critre darrt.
Linconvnient de cette approche est la propagation derreur induite par le passage dinformation
dune coupe lautre.

(a)

(b)

Figure 2.6: Segmentation extraite de (Germond et al., 2000) : (a) image originale et (b) image
segmente en MB, MG et LCR et les contours les englobant.

2.2.3.3

Approche rgions

Bourjot et al. ont dvelopp un SMA bas sur les araignes sociales (Bourjot et al., 2003). Ils ont
spar la segmentation en deux parties : la segmentation dune seule rgion et la segmentation de
plusieurs rgions. ltape initiale, les agents sont distribus alatoirement sur limage. Chaque agent
commence tisser des toiles selon une fonction de transition et lobjectif de la segmentation. Aprs
un nombre ditrations fix par lutilisateur, une analyse des toiles est faite pour extraire les rgions
de limage (figure 2.7). Linconvnient de cette mthode est la slection empirique des informations
couleurs de chaque colonie.

(a)

(b)

Figure 2.7: Segmentation extraite de (Bourjot et al., 2003) : (a) image originale et (b) image segmente
en 4 rgions.
Pour segmenter des images IRM de cerveau, Huang et al ont dvelopp une approche de segmentation bass sur les colonies de fourmis(Huang et al., 2008; Cao et al., 2008). Leur approche considre
35

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

tel-00652445, version 1 - 15 Dec 2011

que chaque fourmi a la capacit de mmoriser un objet de rfrence qui sera mis jour quand elle
trouve une nouvelle cible. Une mesure floue de la connexit est adopte pour valuer la similarit
entre la cible et lobjet de rfrence. Le comportement des fourmis est affect par le voisinage direct
et la coopration entre les fourmis est effectue de faon empirique par le partage dinformations
par le biais de la mise jour de phromones (figure 2.8). Lalgorithme sarrte aprs un nombre
ditrations fix lavance par lutilisateur. Linconvnient de cette mthode est le nombre important
de paramtres dterminer (7 paramtres).

(a)

(b)

Figure 2.8: Segmentation extraite de (Huang et al., 2008) : (a) image originale et (b) image segmente
en MB, MG et LCR.
Pour segmenter des images scanner CT du sein, Duchesnay et al. ont ralis une plateforme
Multi-Agents en plusieurs tapes (Duchesnay et al., 2003; Jacquelet et al., 2002; Duchesnay et al.,
2001). Comme pr-classification, Duchesnay et al. utilisent la dcomposition en division/fusion
avec des agents de type "rgion", ils obtiennent alors une segmentation qui ne donne que les zones
homognes dans limage. Ils utilisent ensuite des agents de type "contour", sans initialisation dont
lobjectif est de dtecter les hautes frquences. Chacun de ces deux types dagents partagent via
lenvironnement certaines caractristiques lies limage. Le systme interne est modlis par un
rseau de Ptri (Petri, 1975) et implment par sept rgles. Un agent est ensuite plac dans chaque zone
homogne et le processus de la segmentation bas sur les SMA commence. Les pyramides irrgulires
sont adoptes comme lment organisationnel de la population dagents ; la progression du processus
se faisant de la base de la pyramide jusquau sommet. Ce processus sarrte aprs un certain nombre
ditrations lorsquil y a convergence. Dans le mme contexte, Benamrane et Nassane ont utilis la
plateforme JADE (Bellifemine et al., 2007) pour effectuer la segmentation dimages IRM de cerveau
(figure 2.9) en changeant le systme interne par la mthode de croissance de rgions (Benamrane and
Nassane, 2007). Linconvnient de cette mthode repose sur le choix de linitialisation des rgions
initiales.et aussi la complexit des rgles dinteraction qui dpendent de limage segmenter.
Pour segmenter des images IRM de cerveau, Richard et al. ont propos une architecture hirarchique dagents situs et coopratifs (Richard et al., 2004). Trois types dagents ont t utiliss : un
agent de contrle global, un agent de contrle local, et un agent ddi au tissu. Le rle de lagent
de contrle global est de partitionner le volume de donnes en territoires adjacents et daffecter
36

2.2. SEGMENTATION DIRM DE CERVEAU

(a)

(b)

tel-00652445, version 1 - 15 Dec 2011

Figure 2.9: Segmentation extraite de (Benamrane and Nassane, 2007) : (a) image originale et (b)
extraction de contours par croissance de rgions.
chaque territoire un agent de contrle local. Le rle de ce dernier est de crer les agents ddis au
tissu, dont lobjectif est deffectuer une croissance de rgions lintrieur du volume local selon
des critres topologiques et colorimtriques. Les paramtres de distribution des donnes sont mis
jour par coopration entre les agents voisins. Par lutilisation de diffrents types dagents, le systme
propos a pris en compte le traitement dimages de bas niveau, ainsi que le contrle sur les tches
de segmentation (figure 2.10). Cependant, il rsulte des structures complexes dinteraction dont la
gestion est coteuse. Dans le mme contexte, ils proposent dutiliser les champs de Markov cachs
comme un critre de fusion (Richard et al., 2007). Cet algorithme prsente linconvnient de dpendre
largement du nombre de partitions quune image peut avoir. Ainsi, un mauvais choix priori de ce
nombre conduit invitablement un mauvais rsultat.

Figure 2.10: Segmentation extraite de (Richard et al., 2004) : (a) image originale dcompose en
blocs, (b) image segmente dcompose en blocs, (c) lhistogramme de limage, (d) lhistogramme du
bloc noir de limage originale et (e) lhistogramme du bloc noir de limage segmente.

37

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

2.3

Conclusion

tel-00652445, version 1 - 15 Dec 2011

Ce chapitre a expliqu les diffrentes mthodes classiques de segmentation dIRM bases points,
contours ou rgions et aussi certaines approches utilisant les SMA. Les diffrents points retenir sont
soit de possder priori une connaissance de limage segmenter soit la dfinition parfois fastidieuse,
datlas, de rfrence, etc. Enfin, le bruit inhrent dune part aux mthodes dacquisition et dautre part
la nature mme de limage : imagerie mdicale sur des sujets vivants, est une lment important
dans la recherche dune segmentation de qualit. Dans le chapitre suivant, nous allons prsenter notre
plateforme de segmentation au moyen dun SMA bas sur les agents sociaux avec pour objectif de
raliser des segmentations rsistantes au bruit.

38

tel-00652445, version 1 - 15 Dec 2011

Deuxime partie
Modlisation et exprimentations

39

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 2. LA SEGMENTATION DIRM MDICALES

40

Chapitre

tel-00652445, version 1 - 15 Dec 2011

IPSiMAS
Nous venons de dcrire dans la partie I les gnralits sur les systmes Multi-Agents et la segmentation dimages IRM crbrales. Dans loptique de pouvoir segmenter une image en rgions et
en contours (Moussa et al., 2009a), nous allons prsenter les modles utiliss dans notre plateforme
Image Processing Simulated by Multi-Agent System (IPSiMAS). Ces modles rpondent la problmatique de la segmentation dimages bruites. Ils utilisent des heuristiques sur le comportement
dagents sociaux, araignes et fourmis, tels que ceux vus au chapitre 1. Ce chapitre se terminera par
une prsentation du modle Orient Objet qui a t ralis pour limplmentation dIPSiMAS.

3.1

Segmentation rgions : les araignes

Figure 3.1: Chaine de segmentation en rgions.


Le schma 3.1 montre le principe de segmentation dimages avec des agents de types araignes
suivant le principe dune segmentation en rgions tel que dfinit dans le chapitre prcdent (Moussa
41

CHAPITRE 3. IPSIMAS

et al., 2008).
Les lments principaux de ce modle sont :
1. la dfinition dun environnement pour les agents-araignes ;
2. la dfinition de colonie ;
3. le cycle de vie affect chaque agent-araigne ;
4. la description dun ordonnanceur du systme ;
5. la description dventuels post-traitements pour valuer les rsultats de segmentation.
Pour ce premier modle de segmentation, nous nutiliserons pas de pr-traitement de limage.
Les sections suivantes vont maintenant expliquer le modle de segmentation dimages par les agentsaraignes.

tel-00652445, version 1 - 15 Dec 2011

3.1.1

Cration de lenvironnement

ltape initiale, limage 3D est charge dans lenvironnement. Chaque voxel est alors valu
avec une quantit reprsentant son niveau de gris. Cest cette information qui sera utilise par lagentaraigne lors de ltape de dcision quant au choix du prochain voxel taguer.
Au cours de la simulation, les voxels, i.e. lenvironnement, contiendront galement les informations
relatives au tissage de la toile.

3.1.2

Dfinition des colonies

La segmentation dimages IRM suppose la dtection de plusieurs niveaux de gris diffrents. Par
exemple, dans le cas dIRM crbrales, on peut chercher dtecter 3 types de matires (LCR, MB,
MG) caractrises par un intervalle de niveaux de gris. Comme nous le verrons dans le chapitre
suivant, des applications comme BrainWeb 1 propose des images IRM pour lesquels 10 rgions,
niveaux de gris, sont dtecter : LCR, MB, MG, crne, fond, graisse, peau/muscle, peau, matire
gliale, conjonction. Il est donc possible de dfinir de faon gnrale, une colonie dagents-araignes
comme une entit dont la tche consiste dcouvrir une rgion spcifique pour laquelle elle dtient
les caractristiques de couleurs (niveaux de gris dans notre cas).
Dans un souci de meilleur prise en compte de limage, ces intervalles de niveau de gris ne sont pas
disjoints introduisant ainsi une comptition entre les colonies. la fin du processus de segmentation,
les voxels ayant t tagus par plusieurs colonies constituent une sorte de frontire des diffrents
rgions. Toutefois, il faut noter que ce multi-tag de voxels peut aussi tre le reflet de diffrents artfacts
dacquisition (bruit, mouvement du patient, etc).

3.1.3

Description du cycle de vie

La position sur limage de chaque agent-araigne est initialise alatoirement. Ensuite, il excutera
son cycle de vie et ainsi partira la recherche de voxels tisser qui correspondent aux critres de
1. http://www.bic.mni.mcgill.ca/brainweb/

42

3.1. SEGMENTATION RGIONS : LES ARAIGNES

tel-00652445, version 1 - 15 Dec 2011

segmentation de sa propre colonie. La figure 3.2 reprend les tapes principale de ce cycle de vie tel
quil a dj t voqu dans la section 1.2.2 pour les agents ractifs. Nous allons maintenant dtailler
chacune de ces tapes.

Figure 3.2: Cycle de vie des agents-araignes.

Perception
La perception vise principalement les candidats voxels potentiels. Lors de cette tape de recherche,
une slection de voisinage est effectue, 3 catgories de voisinages sont distingues :
1. au moins 1 voxel du voisinage nest pas tiss ;
2. au moins 1 voxel du voisinage nest pas satur ;
3. lensemble du voisinage est satur.
Dcision
Dans le cas 1 : le niveau de gris du ou des voxels non tisss sont examins. Si ce niveau de gris satisfait
les contraintes dintervalles donnes par la colonie, un fil est tiss, si plusieurs sont candidats un est
tir au sort. Dans le cas o aucun voxel ne remplit les conditions de couleur alors lagent-araigne se
dplacera alatoirement sur un des voxels non tisss sans tisser de fil.
Dans le cas 2 : comme nous le dtaillerons dans la section 3.1.4.2, par souci defficacit, un
maximum de nombre de fil est dfini pour chaque voxel. Quand ce maximum est atteint, le voxel est
dclar satur. Lors du processus de dcision de tissage, si tous les voxels du voisinage sont tisss,
on considre alors comme candidats potentiels au tissage, les voxels non saturs. Une fonction de
transition prenant en compte les caractristiques des fils permet de choisir le voxel tisser.
Dans le cas 3 : si le voisinage de lagent-araigne est totalement satur, il se dplace alatoirement
dans le voisinage, videment sans tisser.
Action
Lorsque le choix de la nouvelle destination de lagent-araigne est prise, cet agent applique la fonction
de tissage et met jour sa position dans limage. Chaque agent garde en mmoire le prcdent voxel
43

CHAPITRE 3. IPSIMAS

tel-00652445, version 1 - 15 Dec 2011

tiss afin de pouvoir ventuellement y retourner en cas de blocage. Tous les dtails de ces procdures
seront donns dans la section 3.1.6.
Un ordonnanceur dfinit si les diffrents cycles de vie des agents sont excuts en parallle ou
en squence. Nous avons ralis les deux implmentations. Tous ces points sont dvelopps dans la
section 3.3.
Lalgorithme 3 prsente le processus de segmentation.
Algorithme 3 Segmentation par les araignes
Entrees: Image : Matrice de Voxels N3 , Cond : Condition darrt, NbRgions N, NbAgent N,
et Conf: paramtres de configuration
1: Extraire les NbRgions informations couleurs de Image.
2: A Placer les NbAgent dans Image et les rpartir dans NbRgions colonies.
3: t 0.
4: TantQue Cond != Vrai Faire
5:
t t+1 ;
6:
Ordonnancer(A) ;
7:
Pour Chaque Colonie Ci Faire
8:
Pour Chaque Araigne Ai j Faire
9:
Perception(t, Ai j ).
10:
Dcision(t, Ai j , Conf).
11:
Action(t, Ai j , Image).
12:
Fin Pour
13:
Fin Pour
14: Fin TantQue
15: ConstruireImage(Image).
La complexit de cet algorithme est de O(Clissage + C InitAgent + CCond (COrdonnancer + NbAgent
CCycle ) + CConstruireImage ) o :
1. Clissage est la complexit de la slection automatique des informations couleurs pour les colonies
;
2. C InitAgent est la complexit de linitialisation des agents-araignes ;
3. CCond est la complexit de la condition satisfaire qui est lie au nombre de pas de temps ;
4. COrdonnancer est la complexit de rorganiser les agents ;
5. NbAgent le nombre dagents plac dans lenvironnement ;
6. CCycle la complexit du cycle de vie de chaque agent-araigne qui est son tour dpendant du
nombre de candidats potentiels ;
7. CConstruireImage la complexit de la construction de limage segmente

3.1.4

Identification des paramtres

La simulation de la mthode des araignes est base sur la stigmergie: chaque agent-araigne
dpose des informations sur lenvironnement, qui sont ensuite utilises par dautres agents-araignes
ou par lui-mme dans un prochain pas de temps systme. Limage segmente merge alors de la toile
tisse par tous les agents-araignes.
44

3.1. SEGMENTATION RGIONS : LES ARAIGNES

3.1.4.1

Des problmes

La mthode des araignes possde lavantage dtre une mthode reposant sur des mcanismes
simples facilitant sa comprhension et son implmentation. Toute mthode de segmentation suppose
un certain nombre de paramtres en entre : colorimtrie, critre de choix, etc. Il est important de
pouvoir dfinir une procdure automatique ou semi-automatique de valuation de ces paramtres,
ceci afin de permettre la comparaison de la qualit des rsultats obtenus pour diffrentes images. En
minimisant le nombre de ces paramtres, la tche sen trouve dautant simplifie. Le deuxime point
crucial des simulations SMA est la dtermination soit du nombre de pas de temps soit du critre darrt
des simulations. Trop frquemment, de premiers rsultats sont invalids par dautres simulations
dont on a juste augment le temps. Les diffrentes solutions ces problmes vont tre maintenant
prsentes.

tel-00652445, version 1 - 15 Dec 2011

3.1.4.2

Des solutions

Tout dabord, nous dfinissons lensemble des paramtres qui doivent tre fixs et leur utilisation dans le programme. Ensuite, nous proposons des pistes pour rduire leur nombre. Enfin, nous
exposerons les solutions retenues. Le tableau 3.1 dcrit cinq des paramtres (paramtres de Config)
utiliss dans lalgorithme 3 dans sa version initiale.
Paramtres
Saturation
Couleur

Description
Le nombre maximal de fils autoriss tre
prsents dans un voxel
La couleur de rfrence

Slectivit

Lintervalle pour considrer quun voxel est


"intressant"

Attraction MaColonie

La probabilit dtre attire par les fils de la


mme colonie

AttractionAutresColonies

La probabilit dtre attire par les fils des


autres colonies

Table 3.1: Les paramtres de chaque colonie.


Nous avons introduit dans la section prcdente le concept de voxel satur. Le choix du paramtre
Saturation qui fixe le nombre maximal de nombre de fils accepts par un voxel joue un rle
primordial dans la convergence du systme. Ainsi, une valeur de Saturation trs leve ncessitera
un nombre important de pas de simulation pour atteindre la convergence.
Il existe aussi un lien quantitatif entre le nombre de colonies et la valeur de Saturation, plus le
nombre de colonies est grand plus il est ncessaire davoir un nombre de fils maximum grand.
N.B : une valeur de Saturation 1 reflte un processus de segmentation quivalant une croissance
de rgion dynamique.
Nous avons vu que le nombre de colonies tait li au nombre de rgions dtecter. Les deux
paramtres Couleur et Slectivit dfinissent respectivement pour chaque colonie la valeur
45

CHAPITRE 3. IPSIMAS

moyenne de la couleur dfinissant sa rgion et la plage de couleur accepte autour de cette couleur
de rfrence. Le choix des deux paramtres dattractions (Attraction MaColonie et AttractionAutresColonies )
sera discut par la suite.
Dans les paragraphes suivants, nous allons prsenter les mthodes semi-automatiques de dtermination des 3 premiers paramtres du tableau 3.1. Ces mthodes seront utilises par la suite dans tous
les processus de segmentation.
Dtection semi-automatique des paramtres
Rappelons que chaque colonie a un niveau de gris (ou intensit) de rfrence qui sera utilis par les
agents-araignes de la colonie pour dterminer si elles doivent fixer ou non un fil entre deux voxels.
Dans ce cas, il existe deux possibilits :

tel-00652445, version 1 - 15 Dec 2011

1. choisir "manuellement" les intervalles dintensit, ceci peut se rvler fastidieux et de plus il
faut sattendre des variations importantes dans ces choix en fonction des diffrents utilisateurs
;
2. utiliser une mthode pour dterminer automatiquement ou semi-automatiquement ces intervalles.
Une dtection semi-automatique va nous permettre dobtenir des paramtres optimaux sans
quaucune connaissance de lutilisateur sur limage segmenter ne soit ncessaire. Pour cela, nous
allons utiliser lhistogramme de limage. En effet, une rgion dans une image implique gnralement un
pic plus ou moins important dans son histogramme. Toutefois, nous pouvons noter que cet histogramme
est particulirement sensible au bruit. Par consquent, nous allons introduire une mthode pour rduire
les effets du bruit sur lhistogramme en le lissant et en permettant dobtenir un nombre de reprsentants
gal au nombre de rgions dtecter.
Dtection des maxima et minima locaux
Le lissage de lhistogramme permet de rduire les pics provoqus par le bruit. La mthode propose
ici est utilise chaque pas de temps. Pour chaque intensit i, on calcule le degr moyen ni des degrs
n des intensits [i-1, i+1]. Ce calcul est itr jusqu lobtention du nombre de pics (rgions) attendu.
Les valeurs obtenues sont des maxima locaux qui respectent la dfinition 11 avec S euil1 la taille
minimale accepte en nombre de voxels, pour un pic significatif.
Dfinition 11 Mi est un maximum local sil rpond aux ingalits suivantes : ni > ni1 , ni > ni+1 et ni
> S euil1 .
Ce lissage de lhistogramme permet de dtecter dynamiquement les rglages optimaux pour la
segmentation de limage. On notera que le risque deffacer un maxima intressant nest pas nul.
Lalgorithme 4 prsente lessentiel dextraction dun nombre de maxima locaux dun histogramme.
partir des maxima locaux, nous allons pouvoir calculer la moyenne de rfrence et lintervalle
de confiance ou slectivit pour chaque colonie. On considre que les valeurs issues de ce calcul des
46

3.1. SEGMENTATION RGIONS : LES ARAIGNES

tel-00652445, version 1 - 15 Dec 2011

Algorithme 4 Dtection des maxima locaux


Entrees: H: Histogramme de limage N, NbRgions N, S euil1 N (ncessaire pour la dfinition
11)
Sorties: L: Liste de maxima N
1: L ListeVide().
2: TantQue Taille(L) != NbRgions Faire
3:
L ListeVide().
4:
Pour i allant de 1 Taille (H) Faire
5:
Si H[i] rpond la dfinition 11 Alors
6:
L Ajouter(i).
7:
FinSi
8:
Fin Pour
9:
MiseAJour(H).
10: Fin TantQue
maxima locaux suit une loi normale N(mi , i ), o mi reprsente la coloration moyenne dtecter et i
lcart type de la distribution de couleurs potentielles. En pratique, des effets de "surlissage" peuvent
apparatre, en gnral causs par le bruit prsent dans toute image "relle". En effet, dans les images
bruites, une rgion ne sera pas reprsente par un seul maximum mais plutt par une ensemble de
valeurs proches. Dans ce cas le maximum finalement retenu peut tre dcal sur lhistogramme. Pour
corriger cela, on calcule des minima locaux mi entre chaque maximum local Mi suivant la dfinition
12 o le S euil2 est la valeur minimale de leffectif des voxels de chaque minimum.
Dfinition 12 mi est un minimum local sil rpond aux ingalits suivantes : ni < ni1 , ni < ni+1 et ni
> S euil2 .
Lalgorithme 5 calcul le minimum local entre deux maxima locaux voisins :
Algorithme 5 Dtection dun minimum local
Entrees: H: Histogramme de limage N, IndexM1 N, IndexM2 N, S euil2 N (ncessaire pour
la dfinition 12)
Sorties: l: minima N
1: l ListeVide().
2: TantQue Taille(l) != 1 Faire
3:
l ListeVide().
4:
Pour i allant de IndexM1 IndexM2 Faire
5:
Si H[i] rpond la dfinition 12 Alors
6:
l Ajouter(i).
7:
FinSi
8:
Fin Pour
9:
MiseAJour(H).
10: Fin TantQue
La complexit des algorithmes 4 et 5 est de lordre O(NbGris NbLissage) o :
1. NbGris reflte la plage des valeurs de niveaux de gris de lintervalle de recherche ;
2. NbLissage dcrivant le nombre de lissages effectus avant lobtention de la solution optimale.
47

CHAPITRE 3. IPSIMAS

La figure 3.3 rsume les tapes de la recherche des paramtres des colonies pour une image
compose de 10 rgions. La figure 3.3(a) est lhistogramme de limage avec la distribution des
intensits. La figure 3.3(b) est lhistogramme liss o les pics en rouges reprsentent les maxima
locaux et les pics en vert sont les minima locaux. La figure 3.3(c) reprsente la fonction de rpartition
des diffrentes couleurs de rfrence pour chaque colonie. Les chevauchements des courbes observes
reprsentent la comptition entre des colonies pouvant ventuellement taguer le mme voxel.
Histogramme

140000

140000
120000
Nombre de voxels

Nombre de voxels

120000
100000
80000
60000

100000
80000
60000

40000

40000

20000

20000

500 1000 1500 2000 2500 3000 3500 4000

tel-00652445, version 1 - 15 Dec 2011

Niveaux de gris

1000

1500

2000

2500

3000

3500

4000

Niveaux de gris

(a)

(b)

0.03

Cration des colonies


Colonie 1
Colonie 2
Colonie 3
Colonie 4
Colonie 5
Colonie 6
Colonie 7
Colonie 8
Colonie 9
Colonie 10

0.025
0.02
Distribution

500

0.015

0.01
0.005

500 1000 1500 2000 2500 3000 3500 4000


Niveaux de gris

(c)

Figure 3.3: Slection des informations colorimtries pour les colonies daraignes : (a) Histogramme
de limage, (b) Histogramme liss et slection des maxima et minima locaux, (c) intervalles de
recherche pour les diffrentes colonies.
Aprs la dtermination des 3 premiers paramtres du tableau 3.1, il reste dterminer lattraction
des fils pour les colonies. Les paramtres Attraction MaColonie et AttractionAutresColonies sont des probabilits dont la somme est gale 1. Plus la valeur AttractionAutresColonies est suprieure la valeur
Attraction MaColonie plus on autorise une colonie taguer des voxels ayant t attirs par dautres
colonies. Ceci savre intressant dans le cas o lon veut corriger la dtection des voxels bruits.
Condition darrt
Nous avons vu dans la figure 3.2 que la mthode des araignes possde un cycle de vie qui est rpt
48

3.1. SEGMENTATION RGIONS : LES ARAIGNES

plusieurs fois jusqu ce que limage soit segmente. Le nombre de pas de temps de la simulation va
influencer le rsultat de la segmentation sur deux points importants :
1. la qualit de la segmentation ;

tel-00652445, version 1 - 15 Dec 2011

2. le temps dexcution ncessaire pour atteindre ce rsultat.


chaque pas de temps, les agents-araignes tissent des fils entre les voxels, ces fils tant typs
par la colonie de laraigne, les informations relatives ces fils seront utilises pour dterminer
quelle rgion appartient chaque voxel. Si le nombre de pas de temps nest pas suffisant, le nombre de
voxels non tagus sera important et le rsultat sera de mauvaise qualit. Au contraire, si le nombre de
pas de temps est trs grand, les agents-araignes ne feront quaugmenter, partir dun certain temps,
les fils dj existant, sans fournir aucune nouvelle information. Ce dernier point aura comme effet
un temps dexcution long pour un rsultat de qualit approximativement identique. Une solution
vidente consiste dfinir un critre darrt de la simulation.
Lobjectif de saturer ou mme de taguer tous les voxels nest pas atteignable avec une mthode
comme celle des araignes. On dfinira donc un paramtre dont la valeur est le nombre de nouveaux
fils tisss pour un pas de temps. On ne prendra en compte que les fils tisss entre deux voxels de degr
0 i.e. non encore tagus. Lorsque tend vers 0, nous pouvons considrer que le systme se stabilise et
les agents-araignes ne font que renforcer les fils existants. Il est possible de dtecter quand reste
0. Ce moment dtermine la possibilit darrter la simulation. Nous pouvons amliorer cette condition
en ajoutant deux nouveaux paramtres :
1. un seuil qui dtermine quand peut tre considr comme invalide ;
2. le nombre de fois o on autorise valoir conscutivement zro avant darrter la simulation.
Le seuil peut tre dtermin par le nombre dagent-araignes. En effet, chaque pas de temps, chaque
agent-araigne a la possibilit de fixer un fil entre les voxels. Le nombre maximum de fils tisss durant
un pas de temps systme est limit par le nombre dagent-araignes.

3.1.5

Instanciation de lenvironnement

Comme nous lavons vu au chapitre 1, les agents ont besoin dun environnement pour excuter
leur cycle de vie. Dans notre modle, lenvironnement est construit partir dun maillage cubique
rgulier stock dans une matrice de niveaux de gris. Chaque voxel est une position potentielle pour un
agent-araigne et permettra ce dernier datteindre dautres voxels grce un voisinage bien dfini.
On trouve dans la littrature la description de trois types de connexit entre des voisins :
Dfinition 13 Deux voxels v1 et v2 sont dits 6-connexes si ils satisfont lquation suivante :
|xv1 xv2 | + |yv1 yv2 | + |zv1 zv2 | = 1

(3.1)

Dfinition 14 Deux voxels v1 et v2 sont dits 18-connexes si ils satisfont lquation suivante :
|xv1 xv2 | + |yv1 yv2 | + |zv1 zv2 | 2 et max(|xv1 xv2 |, |yv1 yv2 |, |zv1 zv2 |) = 1

(3.2)

49

CHAPITRE 3. IPSIMAS

Dfinition 15 Deux voxels v1 et v2 sont dits 26-connexes si ils satisfont lquation suivante :
|xv1 xv2 | + |yv1 yv2 | + |zv1 zv2 | 3 et max(|xv1 xv2 |, |yv1 yv2 |, |zv1 zv2 |) = 1

(3.3)

tel-00652445, version 1 - 15 Dec 2011

La figure 3.4 montre le voisinage du voxel central (en bleu) pour la 6-connexit (a), la 18-connexit
(b) et la 26-connexit (c).

(a)

(b)

(c)

Figure 3.4: Le voisinage dun voxel : (a) 6-voisins, (b) 18-voisins et (c) 26-voisins.
Dans le modle des araignes, pour une image 3D, nous avons retenu un voisinage en 26-connexit.
Nous distinguons ensuite deux sortes de voisinage :
1. le Voisinagedirect : voisinage 26-connexe compos dun ensemble statique des voxels ;
2. le Voisinagetisse : un ensemble dynamique de voxels pouvant sagrandir au fur et mesure que
les agents-araignes tisseront des fils entres les voxels. Ainsi tous voxels atteignables grce un
fil seront considrs comme tant une distance de 1 et ce quelque soit le nombre de voxels
parcourus par le fil.
Lunion de ces deux ensembles sera not Voisinagetotal . La figure 3.1.5 montre les diffrents
voisinages du voxel sur lequel est positionn lagent-araigne (voxel bleu). Le voisinage 26-connexe
correspond lensemble des voxels transparents comme expliqu prcdemment. Ce voisinage est
donc constitu des extrmits des fils tisss avec le voxel courant. Cet ensemble volue dynamiquement
au cours de la simulation, il est vide linstant zro, et sera augment au fur et mesure par le tissage
des agent-araignes chaque pas de temps.
La figure 3.1.5 montre le graphe du voisinage tiss qui voluera dans le temps. on peut remarquer
quun voxel peut appartenir aux 2 voisinages 26-connexes et tisss (cas du noeud rouge).
Dsormais nous pouvons considrer le voisinage total comme un graphe dynamique suivant la
dfinition de Harary et Gopta (Harary and Gupta, 1997) :
Dfinition 16 Un rseau (ou graphe entirement pondr) est un 4-uplet (S, A, F1 , F2 ) o S est un
ensemble de sommets, A est un ensemble d artes entre S i et S j o F1 est une fonction F1 : S N1 ,
o N1 est une certaine valeur numrique, par exemple, une quantit et/ou un poids, et F2 est galement
une fonction, F2 : A N2 , o N2 est une autre valeur numrique, reprsent aussi par une quantit
et/ou un poids.
50

3.1. SEGMENTATION RGIONS : LES ARAIGNES

Selon cette dfinition, on distingue 4 types de graphes dynamiques suivant llment du 4-uplets qui
volue dans le temps :
1. un graphe nud-dynamique : lensemble S varie avec le temps. Ainsi, certains nuds peuvent tre ajouts ou supprims : ajout dun nud au voisinage tiss. Lorsque les nuds sont
supprims, les artes incidentes avec eux sont galement supprimes ;
2. un graphe arte-dynamique : lensemble A varie avec le temps. Ainsi, les artes peuvent tre
ajoutes ou supprimes partir du graphe : ajout dun fil ;
3. un graphe nud-pondr-dynamique : la fonction F1 varie avec le temps. Ainsi, le poids et/ou
la quantit sur les nuds aussi change : le nombre de fils pour un voxel donn varie ;

tel-00652445, version 1 - 15 Dec 2011

4. un graphe arte-pondr-dynamique : la fonction F2 varie avec le temps. Ainsi, le poids et/ou la


quantit sur les artes aussi change : le nombre de fils pour un couple de voxels varie.

(a)

(b)

Figure 3.5: Voisinage dun voxel : (a) reprsentation de lenvironnement, (b) reprsentation des fils,
les voxels tisss reprsentent les nuds en rouge.

Ainsi dans notre modle, le graphe dynamique construit satisfait les quatre proprits cites
ci-dessus puisque nous avons une valuation dans le temps du tissage des fils. Le poids des nuds
sera utilis dans le processus de dcision pour dterminer si un nud est satur ou non. chaque
pas de temps, on testera si ce poids est infrieur ou non au paramtre de Saturation dcrit dans le
tableau 3.1. Les artes/fils portent lidentit de la colonie ayant tisse le fil. Pour chaque arte, on aura
un compteur par colonie. La dcision pour un agent-araigne de recruter ou non un voxel dans son
voisinage tiss utilisera cette information.

3.1.6

Processus de segmentation

Comme nous lavons vu dans la section 3.1.3, un agent-araigne possde un tat interne constitu
de sa position courante et de la dernire position o elle a tiss. Les agents-araignes appartenant
une mme colonie partagent le mme ensemble de valeurs des paramtres du tableau 3.1. Ainsi, tous
les agents-araignes de la mme colonie ont pour tche de dtecter la mme rgion (Moussa et al.,
2009b). Les fils tisss sont alors leur mdia de communication. Un cycle de vie dagent, comme le
montre la figure 3.2, consiste excuter chaque comportement selon une probabilit qui dpend des
51

CHAPITRE 3. IPSIMAS

valeurs des paramtres et des caractristiques environnementales lies la position de lagent-araigne.


Nous allons maintenant dcrire prcisment le cycle de vie des agents-araignes tel que nous lavons
dfini pour la segmentation dimages IRM 3D.
Perception
cette tape du cycle de vie, un agent-araigne peroit son voisinage total, soit une cible de voxels
candidats potentiels la slection, comme nouvelle destination. Le choix du meilleur candidat se fait
suivant la procdure suivante :
1. exploration du voisinage 26-connexe. Tous les voxels non-tisss de ce voisinage sont alors
candidats quiprobable au choix de la meilleure destination ;

tel-00652445, version 1 - 15 Dec 2011

2. si tous les voxels du voisinage 26-connexe sont tisss, on considre alors le voisinage tiss
(quelle que soit la colonie qui a tisse). On exclut uniquement la dernire position tisse et
les voxels saturs de cette liste. On affecte chaque candidat une probabilit dtre choisi
correspondant aux nombres de fils dj prsents.
Cas particulier : Aprs les deux tapes, la liste de candidats est toujours vide. Ceci se produit si le
voisinage total est satur. Dans ce cas, les voxels de ce voisinage sont considrs comme candidats
potentiels avec une quiprobabilit et le dplacement de lagent-araigne se fera sans tissage.
Cet algorithme permet de considrer des voxels diffrentes distances de la position actuelle de
lagent-araigne et grce ltape 1 favorise lexploration des voxels non encore tisss.
Lalgorithme 6 prsente la slection dun ensemble de voxels candidats potentiels.
La complexit de cet algorithme est de lordre de O(Voisinagetotal ). Dans cet algorithme, nous
communiquons la procdure de dcision non seulement la liste des candidats mais aussi leur type :
Non tiss (NT), tiss (T) ou satur (S).
Dcision
Aprs la construction de la liste des candidats potentiels, chaque agent-araigne procde une
valuation de ces candidats. Si le type de lensemble appartient la famille "S", aucun processus
dcisionnel nest ncessaire (tous les voxels ont la mme probabilit dtre choisi), une slection
alatoire dun voxel de la liste est effectue. Dans le cas o la liste est compose de voxels NT, une
premire slection sera faite en suivant linformation colorimtrique de la colonie laquelle appartient
lagent-araigne.
La dcision de choisir un voxel plutt quun autre dans la liste des candidats est conditionne par
lhistogramme de limage (figure 3.3). Pour chaque colonie k, nous connaissons la moyenne mk de la
couleur recherche et lcart-type k de cette moyenne. Nous avons choisi de prendre un intervalle de
confiance de 99% dans ce processus de slection, soit 3 cart-type. Pour rester candidat la future
destination, un voxel devra donc suivre la dfinition suivante :
Dfinition 17 Un voxel V j est considr comme un voxel de tissage si :
mk 3 k Intensite(V j ) mk + 3 k
52

(3.4)

tel-00652445, version 1 - 15 Dec 2011

3.1. SEGMENTATION RGIONS : LES ARAIGNES

Algorithme 6 La slection des candidats potentiels pour une araigne


Entrees: Image : Matrice N3 .
Sorties: V : liste de voisins N, TypeListe [S, T, NT].
1: VT isse s ListeVide().
2: VS ature s ListeVide().
3: VNonT isse s ListeVide().
4: Type NULL.
5: V ListeVoisinsTotal(Position(A), Image).
6: Pour Chaque voisin Vi de V Faire
7:
Si (Vi != Position(A)) et (Vi != Position(DernierFil(A))) Alors
8:
Si Tiss((Vi ) == Faux Alors
9:
VT isse s Ajouter(Vi ).
10:
FinSi
11:
Si EstSatur(Vi ) == Faux Alors
12:
VS ature s Ajouter(Vi ).
13:
Sinon
14:
VNonT isse s Ajouter(Vi ).
15:
FinSi
16:
FinSi
17: Fin Pour
18: Si Taille(VT isse s ) !=0 Alors
19:
V Vtempo1 .
20:
TypeListe NT.
21: Sinon Si Taille(VS ature s ) !=0 Alors
22:
V VS ature s .
23:
TypeListe T.
24: Sinon
25:
V VNonT isse s .
26:
TypeListe S.
27: FinSi
Dans le dernier cas o le voisinage est constitu de fils tisss et non saturs, une fonction de poids
est alors dfinie pour chaque voxel voisin afin dvaluer la probabilit dtre slectionn. Ainsi, pour
chaque voxel V j dans le voisinage de Vi , la probabilit de se dplacer vers V j est :
Poids(V j )
Vk Voisinagetotal (Vi ) Poids(Vk )

P(De placement(V j )) = P

(3.5)

Pour calculer Poids(V j ), nous distinguons les fils tisss par la colonie de laraigne de ceux
tisss par les autres colonies. Deux paramtres de simulation entrent en jeu, Attraction MaColonie et
AttractionAutresColonies pour calculer ce poids. Ces paramtres sont respectivement la probabilit de
tisser un fil par sa colonie et la probabilit de tisser un fil des autres colonies. Ces deux probabilits
sont choisies empiriquement et doivent satisfaire la condition suivante:
Attraction MaColonie + AttractionAutresColonies = 1.

(3.6)

Le calcul du poids de chaque voxel devient alors :


53

CHAPITRE 3. IPSIMAS

Poids(MaColonie) = Attraction MaColonie F0 (MaColonie)


Poids(AutresColonies) = AttractionAutresColonies F0 (AutresColonies)

(3.7)

Poids(V j ) = Poids(MaColonie) + Poids(AutresColonies)

tel-00652445, version 1 - 15 Dec 2011

O F0 (.) reprsente un critre dpendant du nombre de fils prsents sur le voxel en cours danalyse. Il
peut tre simplement le nombre de fils, cest la procdure que nous avons retenue ; mais on pourrait
choisir de prendre en compte une variation locale des intensits entre la position courante de lagentaraigne et le voxel candidat. Il serait aussi possible de combiner ces deux informations pour pondrer
lattraction entre les voxels.
Lalgorithme 7 dcrit le processus de slection de la nouvelle position pour un agent-araigne, il
prsente les cas explors ci-dessus.
Algorithme 7 La dcision du tissage dun voisin pour une araigne
Entrees: Image : Matrice N3 , V : liste de voisins N, TypeListe [S, T, NT].
Sorties: NouvellePosition N3 , Tissage : boolen [Vrai, Faux].
1: Tissage Faux.
2: Vtempo ListeVide().
3: PoidsMax 0.
4: IndexPoidsMAx 0.
5: Si TypeListe == S Alors
6:
NouvellePosition ChoixAlatoire(V).
7: Sinon Si TypeListe == NT Alors
8:
Pour Chaque voisin Vi de V Faire
9:
Si Vi satistfait linformation couleur Alors
10:
Vtempo Vi .
11:
FinSi
12:
Fin Pour
13:
Si Taille(Vtempo ) != 0 Alors
14:
NouvellePosition ChoixAlatoire(Vtempo ).
15:
Tissage Vrai.
16:
Sinon
17:
NouvellePosition ChoixAlatoire(V).
18:
FinSi
19: Sinon
20:
Pour Chaque voisin Vi de V Faire
21:
Si W(Vi ) > PoidsMax Alors
22:
PoidsMax W(Vi ).
23:
IndexPoidsMax i ;
24:
FinSi
25:
Fin Pour
26:
NouvellePosition VIndexPoidsMax
27:
Si NouvellePosition satisfait linformation couleur Alors
28:
Tissage Vrai.
29:
FinSi
30: FinSi

54

3.1. SEGMENTATION RGIONS : LES ARAIGNES

La complexit de cet algorithme est de lordre de O( Voisinagetotal ). la fin de cet algorithme,


lagent-araigne connait sa prochaine destination et si un fil doit tre tiss ou non.
Action

tel-00652445, version 1 - 15 Dec 2011

Une fois que le voxel de destination est choisi, lagent-araigne va mettre jour lenvironnement,
en dposant linformation fil, sil y en a, entre sa position actuelle et sa nouvelle position. Deux cas
se prsentent : soit le voxel de destination fera lobjet dun tissage avec la position courante, soit il
recevra lagent-araigne sans cration dun nouveau fil.
Lorsquun tissage doit tre effectu, soit il suffit dincrmenter le compteur de la colonie de lagent,
soit il est ncessaire de crer le compteur et dajouter la position courante et la nouvelle position pour
dfinir le fil.
La procdure action se termine par le dplacement de lagent-araigne et la mise jour de sa
position courante. Lalgorithme 8 prsente laction de lagent-araigne sur lenvironnement.
Algorithme 8 Le tissage dun fil par une araigne
Entrees: Image : Matrice N3 , NouvellePosition N3 et Tissage : boolen [Vrai, Faux].
1: Si Tissage == Vrai Alors
2:
Tisser(Position(A), NouvellePosition).
3:
MettreAJour(Tiss(Image), Satur(Image))
4:
Position(DernierFil(A)) Position(A).
5: FinSi
6: Position(A) NouvellePosition.
La complexit de cet algorithme est de lordre de O(RechercherFils(Position(A), NouvellePosition)
), o RechercherFils(Position(A), NouvellePosition) recherche si il existe dj un fil entre Position(A)
et NouvellePosition.

3.1.7

Construction de limage segmente

Pour extraire le rsultat de la segmentation, nous devons analyser la toile tisse par les araignes.
Aprs excution de tous les pas de temps, chaque voxel est porteur de 0 N fils. Le degr dun
voxel dfinit le nombre de fils entrant et sortant de ce voxel. Comme nous avons autant de nombre de
colonies que de rgions dtecter, ce degr est fourni en fonction des colonies.
Nous pouvons donc dterminer pour chaque voxel la colonie dominante, cest dire la colonie Cd
k=NbColonies
tel que deg(Vi , Cd ) = maxk=1
deg(Vi , Ck ). Une premire image segmente peut tre cre de la
faon suivante :
1. pour chaque voxel, laffectation de la couleur de rfrence de sa colonie dominante ;
2. affectation dune couleur pour les voxels de degr NULL.
La figure 3.6(a) montre une image de taille 555 voxels pour laquelle il y a un objectif de
segmentation en deux rgions. Dans cette image, on peut voir ltape initiale avec la valuation de tous
55

CHAPITRE 3. IPSIMAS

tel-00652445, version 1 - 15 Dec 2011

les voxels en niveau de gris. Deux rgions sont dfinies. Les agents-araignes de chacune dentre elles
vont tisser des fils sur ces voxels.
lissue du processus, on calcule les degrs de chaque voxel. Dans limage 3.6(b), on voit
des sommets rouges pour la colonie 1 et des sommets bleus pour la colonie 2. Les sommets verts
reprsentent les voxels tisss par les deux colonies. La figure 3.6(c) reprsente le graphe des rgions
de limage et la figure 3.6(d) montre limage segmente pour laquelle un choix a t fait daffecter
lune ou lautre les voxels pour lesquels il y avait une comptition (le maximum de degr du
compteur).

(a)

(c)

(b)

(d)

Figure 3.6: Les tapes de la segmentation en rgions : (a) image initiale, (b) image jour par les
informations des fils, (c) les informations des fils et (d) limage segmente.
Les zones de comptition entre les colonies sont intressantes analyser. En effet, comme le
montre la figure 3.7 ; partir de cette information, on peut aussi extraire une information topologique
sur limage.
56

3.2. SEGMENTATION CONTOURS : LES FOURMIS

(a)

(b)

tel-00652445, version 1 - 15 Dec 2011

Figure 3.7: Lextraction des voxels en comptition : (a) image segmente et (b) image de comptition.

3.2

Segmentation contours : les fourmis

Figure 3.8: Chaine de segmentation en contours.

Comme pour le modle des araignes dcrit ci-dessus, dans le modle des agents-fourmis (figure
3.8), nous navons pas besoin deffectuer un pr-traitement tel que lapplication de filtres sur limage
puisque notre objectif principal est de tester la robustesse du rsultat de la segmentation sur des
donnes bruites.

3.2.1

Cration de lenvironnement

Dans une segmentation classique, il est possible de considrer deux types de partitionnement :
un partitionnement en voxels ou en inter-voxels. Le modle dagents-fourmis pourra utiliser lun ou
lautre de ces partitionnements.
57

CHAPITRE 3. IPSIMAS

Suivant le partitionnement choisi, le codage de limage dans lenvironnement sera diffrent. Les
agents-fourmis seront toujours positionns sur un point de limage. Mais, dans un cas ce point
correspondra un voxel (comme pour le modle des araignes) et dans lautre cas il correspondra
un pointel (la notion de pointel sera explique dans la section 3.2.4).
De part le fait que les agents-fourmis sont des dtecteurs de contours et pas de rgions, ce modle
nutilise quune seule colonie.

3.2.2

Description du cycle de vie

tel-00652445, version 1 - 15 Dec 2011

Le cycle de vie des agents-fourmis est similaire celui des agents-araignes : Perception, Dcision
et Action. chaque pas de temps, un agent-fourmi se dplace dans lenvironnement afin de rechercher
des "voxels intressants" et de les phromoner.

Perception
Pour favoriser une exploration maximum de lenvironnement, les points de lenvironnement mmorisent linformation suivant quils aient t ou non dj visit. Une probabilit conditionnelle est
affecte chaque point et sera prise en compte lors de ltape de dcision de dplacement. Le dtail
de ces probabilits est donn dans la section suivante. cette tape de perception, lagent-fourmi
construit sa liste de destination potentielle suivant le principe suivant :
1. si au moins un point du voisinage nest pas visit, il est retenu ;
2. si plusieurs points du voisinage ne sont pas visits, leur liste est construite ;
3. si tous les points du voisinage ont dj t visits au moins une fois, tous les points appartiennent
la liste des destinations potentielles.

Dcision
Le rle de cette tape est de choisir le nouveau point phromoner. Pour cela, on prendra en compte
dune part le statut du point (quantit de phromones dj dpose) et dautre part ltat interne de
lagent-fourmi : direction privilgie et colorimtrie.

Action
Le dplacement de lagent-fourmi consiste non seulement en la mise jour de sa position mais aussi le
marquage du point darrive en ajoutant des phromones dans le compteur du point. Afin de pouvoir
faire marche arrire, chaque agent-fourmi mmorise aussi le dernier point quitt.
Avant lexcution dun pas de temps pour lensemble des agents-fourmis, la liste des agentsfourmis est rorganise alatoirement. Aprs lexcution dun pas de temps, une vaporation prdfinie
est applique tous les points de lenvironnement. La valeur 0 est la valeur minimum pour un point.
La complexit de lalgorithme des fourmis diffre de celui des araignes par lajout dune tape
dvaporation des phromones dans lenvironnement. Ceci est ralis chaque pas de temps.
58

3.2. SEGMENTATION CONTOURS : LES FOURMIS

3.2.3

Identification des paramtres

Dans cette simulation, la stigmergie est aussi prsente : chaque agent-fourmi partage des phromones
au travers lenvironnement avec les autres agents-fourmis et cette information sera utilise dans leur
processus dcisionnel pour le prochain pas de temps. Ces contours contenus dans limage sont donc
les chemins tracs par les phromones des fourmis qui auront rsist lvaporation.
3.2.3.1

Des problmes

Bien que la mthode des fourmis ne requiert que peu de paramtres, leur dfinition reste un point
crucial, gnrateur ventuel de biais. Plusieurs problmes se posent :
1. comment slectionner le nombre dagents ncessaires pour la segmentation sans aucune reconnaissance du nombre de points qui composent le contour dtecter ?

tel-00652445, version 1 - 15 Dec 2011

2. comment adapter et valuer la fonction dvaporation ?


3. comment calculer le nombre de pas ncessaires pour arrter la simulation ?
3.2.3.2

Des solutions

Afin de rpondre aux problmes soulevs dans la section prcdente, nous proposons les solutions
suivantes :
1. pour calculer le nombre dagents ncessaires pour la dtection des contours de limage, nous
pouvons nous rfrer au gradient de limage qui permettra de dterminer le pourcentage de
voxels appartenant aux contours. Ce nombre pourra tre utilis pour dterminer le nombre
dagents ;
2. pour dfinir le rythme de lvaporation des phromones, plusieurs lments peuvent tre pris en
compte :
a) considrer une information compltement vapore sil ny a pas eu de dpt de phromones
pendant une priode 4t ;
b) seuiller la distribution finale des phromones dposes sur lenvironnement.
Nous utiliserons la solution b) dans notre application.
3. Pour arrter la simulation, la solution la plus courante est dobserver chaque pas de temps
combien de nouveaux points sont phromons et darrter la simulation en dessous dun valeur
minimale.
La dtection des contours par les agent-fourmis dpend des phromones dposes ayant une
concentration suprieure 0 dans lenvironnement. Si le nombre de nouveaux points phromons tend
vers 0, nous pouvons considrer que le systme converge vers une solution et les agents-fourmis ne
font alors que renforcer les contours dtects.
Pour le modle des fourmis, il est intressant de mmoriser le nombre de passage dun agent sur
un point. En effet, avoir un compteur de phromones 0 peut rsulter de 2 situations diffrentes : le
point na jamais t visit ou bien les phromones qui y taient dposes se sont vapores (voxels
59

CHAPITRE 3. IPSIMAS

non visits depuis un certain temps). Ainsi, un point sera considr comme non-encore tagu non pas
quand son compteur tait prcdemment zero mais quand le nombre de passages mmoris est gal
zro.
Comme pour le modle des araignes, nous pouvons maintenant dfinir une condition darrt de la
simulation qui vrifie ces contraintes.
Dfinition 18 Soit le nombre de points phromons en un pas de temps donn et dont les compteurs
de passages taient prcdemment zro.

tel-00652445, version 1 - 15 Dec 2011

On dfinit 2 seuils : S euil Min et S euil Max .


S euil Min reprsente le nombre minimal de points nouvellement phromons attendu pour
considrer le pas de simulation comme significatif ;
S euil Max reprsente le nombre de pas de simulation conscutifs accepts o < S euil Min .
Lorsque S euil Max est atteint, la simulation est arrte automatiquement car on considre alors
que le systme se stabilise et quil converge.

3.2.4

Instanciation de lenvironnement

Comme nous lavons vu au chapitre 1, les fourmis ont besoin dun environnement pour excuter
leur cycle de vie. Cet environnement est dfini selon le partitionnement effectuer : partitionnement
voxels ou partitionnement inter-voxels. La dtection de contours suppose quune colonie de fourmis
va la recherche des voxels ou des lignels (cas inter-voxels) pouvant avoir une certaine discontinuit.
Nous allons donc prsenter une reprsentation de lenvironnement pour chaque cas. chacun de ces
cas correspond un partitionnement :
1. un maillage cubique classique de limage : dans ce cas les voxels seront les points sur lesquels
se dplacent les fourmis. Ce partitionnement est identique celui utilis comme solution par le
modle des araignes. Nous retiendrons aussi le 26-voisinage ;
2. un nouveau type de partitionnement issus des mthodes "inter-voxels".
Le deuxime point correspond un partitionnement inter-voxels dune extension en 3D du
partitionnement classique inter-pixels (Braquelaire and Brun, 1998), i.e. quune image nest pas
seulement considre comme une matrice de voxels mais comme une subdivision dun espace 3D en
un ensemble dlments de dimension 3, 2, 1 et 0. Ces lments, reprsents dans la figure 3.9, sont
respectivement le voxel, le surfel, le lignel et le pointel (Kovalevsky, 2003). Leurs dfinitions sont
donnes ci-dessous:
Dfinition 19 Un voxel (figure 3.9(a)) est reprsent par un cube.
Dfinition 20 Un surfel (figure 3.9(b)) est reprsent par lintersection de deux voxels tel que ces
deux derniers sont 6-connexes.
Dfinition 21 Un lignel (figure 3.9(c)) est reprsent par lintersection de deux voxels tel que ces
deux derniers sont 18-connexes et pas 6-connexes.
60

3.2. SEGMENTATION CONTOURS : LES FOURMIS

Dfinition 22 Un pointel (figure 3.9(d)) est reprsent par lintersection de deux voxels tel que ces
deux derniers sont 26-connexes et pas 18-connexes.

(a)

(b)

(c)

(d)

tel-00652445, version 1 - 15 Dec 2011

Figure 3.9: Les lments inter-voxels : (a) voxel, (b) surfel, (c) lignel et (d) pointel.
Le principe de base du partitionnement inter-voxels repose sur la considration des faces des
voxels sparant chaque rgion de ses voisines en tant que contours sparant les rgions de limage.
Dans notre cas, nous considrons les lignels sparant les voxels adjacents comme contours des rgions.
ltape finale, les voxels encodant ces lignels reprsentent les contours obtenus. La modlisation
de lenvironnement permet ensuite de dfinir le voisinage de lagent. Contrairement au modle
araignes pour lequel le voisinage pouvait dynamiquement tre modifi par la prsence dun fil, le
modle fourmis affecte chaque agent un voisinage strictement constitu des points adjacents au sens
des partitionnements que nous venons dexpliquer. Ce voisinage restera identique au fil des pas de
simulation.
Pour coder le partitionnement inter-voxels dune image 3D de taille X Y Z, nous utilisons
une matrice de taille (X + 1) (Y + 1) (Z + 1). Cette matrice contient soit les caractristiques
de colorimtrie de chaque voxel (niveaux de gris) soit pour chacun des axes x, y et z les valeurs de
colorimtrie associes au lignel correspondant, i.e. la variation des niveaux de gris entre les 2 voxels
adjacents (figure 3.10).

3.2.5

Processus de segmentation

Ltat interne dune fourmi est identique celui dune araigne au dtail prs quelle possde
galement la notion de direction pour ses dplacements. Afin de gnraliser notre plateforme de
segmentation, nous conservons la mme dfinition du cycle de vie pour les araignes et les fourmis :
Perception, Dcision et Action.
linitialisation de la simulation, Les fourmis vont se disperser dans lenvironnement dans le
but de dtecter les contours de limage (Moussa et al., 2011b). Puis, chaque pas de temps, tous les
agents-fourmis excuteront leur cycle de vie tel que dcrit ci-dessous.
Perception

61

CHAPITRE 3. IPSIMAS

x
z

tel-00652445, version 1 - 15 Dec 2011

Figure 3.10: Le codage inter-voxels

Comme expliqu prcdemment, la fourmi na quune vision purement locale de sa prochaine


destination. Cette visibilit permet la construction dune liste de points candidats o la fourmi souhaite
se dplacer et dposer une phromone. Comme pour le modle des araignes, chaque fourmi favorise
des points par rapport aux autres. Elle commence regarder les points quaucun membre de sa colonie
na encore visit, reprsents par les voxels en gris dans la figure 3.11(a) et par les lignels en jaune dans
la figure 3.11(b). Si il existe des candidats, cest cette liste qui sera value dans la partie dcisionnelle
pour le choix de la nouvelle position. Sinon, cest la liste compose des points dj phromons qui
va reprsenter les candidats potentiels en excluant toutefois la dernire position o il y a eu un dpt
de phromone (cf. algorithme 9).
Dcision
Pour procder la slection du meilleur chemin traverser entre les points, chaque fourmi analyse
la liste de choix quelle possde. Si cette liste correspond de nouveaux points explorer, une
slection alatoire est ralise afin den tirer la nouvelle destination. Dans le cas o tous les points
sont dj phromons, une fonction de transition est calcule reposant sur des caractristiques entre
chaque couple de points (p1 , p2 ) tel que p1 correspond la position actuelle de la fourmi et p2 la
prochaine destination. Ces caractristiques sont dune part la variation de couleur entre les deux points,
le gradient de p2 , la concentration de phromones prsente en p2 et dautre part une orientation de la
fourmi signalant la direction de son dplacement. Dans le cas o la dcision est faite par rapport un
partitionnement en voxels de lenvironnement, la slection du meilleur voxel v j destinataire est calcul
selon une probabilit PDV de passer au pas de temps t dun voxel vi o se situe la fourmi au voxel v j :
PDVvi v j (t) = P

PoidsDVvi v j (t)

vn Voisins(vi )

PoidsDVvi vn (t)

(3.8)

O le poids de dcision PoidsDVvi v j (t) dpend de lorientation (O) de la fourmi, du gradient (G) du
62

3.2. SEGMENTATION CONTOURS : LES FOURMIS

tel-00652445, version 1 - 15 Dec 2011

(a)

(b)

Figure 3.11: Voisinage dun point : (a) cas dun partitionnement en voxels : les voxels en gris sont
les voxels non visits, les voxels verts sont les voxels phromons et le voxel en jaune est la dernire
position do vient la fourmi, (b) cas du partitionnement inter-voxels : les lignels en rouges sont ceux
non visits, les lignels en vert sont ceux dj phromons et le lignel jaune reprsente la dernire voie
travers par la fourmi.

Algorithme 9 La slection dun voisinage locale par une fourmi


Entrees: Image : Matrice N3 , A : Agent
Sorties: V : liste de voisins N
1: V ListeVide().
2: Vtempo1 ListeVide().
3: Vtempo2 ListeVide().
4: V ListeVoisins(Position(A), Image).
5: Pour Chaque voisin Vi de V Faire
6:
Si (Vi != Position(A)) Alors
7:
Si Visit((Vi ) == Faux Alors
8:
Vtempo1 Ajouter(Vi ).
9:
FinSi
10:
Si Vi != Position(DernirePhromone(A)) Alors
11:
Vtempo2 Ajouter(Vi ).
12:
FinSi
13:
FinSi
14: Fin Pour
15: Si Taille(Vtempo1 ) !=0 Alors
16:
V Vtempo1 .
17: Sinon
18:
V Vtempo2 .
19: FinSi

63

CHAPITRE 3. IPSIMAS

voxel destination, de la variation locale (V) entre le voxel source et le voxel destination et du montant
de la concentration de phromones () dpos au cours des tapes prcdentes.
PoidsDVvi v j (t) = PoidsOvi v j (t) PoidsG(v j ) (t) PoidsVvi v j (t) Poids(v j ) (t)

PoidsOvi j (t) =

1
1
2
1
4
1
2

|vi j 0 |

Si 4 vi j 0 4
Si |vi j 0 | = 2 et vi j = 0
Si |vi j 0 | =
Sinon

(3.9)

(3.10)

tel-00652445, version 1 - 15 Dec 2011

O PoidsOvi j (t) dpend de la direction de la fourmi. Cette direction est donne par diffrence des
coordonnes de la position de lagent-fourmi au temps (t 1) et au temps (t) sur les 3 axes. La figure
3.12 montre partir dune position (cas bleu) les deux angles et correspondant au dplacement en
3 dimensions.
y

Figure 3.12: Calcul du poids de lorientation.

Pour le calcul de PoidsOvi j (t), on distingue les quatre cas de lquation 3.10. La figure 3.13 montre
ces diffrents cas de dplacement. Par exemple le cas 2 exprime un dplacement sur laxe des z.
P

PoidsG(vi ) (t) =

max(

F(vn )S (index(vn ))
P
)
kS |k|

vn Voisinsv(i)

(3.11)
Intensitemaximale
Le gradient (G) de chaque voxel voisin est calcul travers tous les configurations 3D grce
loprateur de Sobel (S) et le gradient maximal est slectionn. Le poids PoidsG(vi ) (t) est ensuite
normalis.

1
PoidsVvi v j (t) =

1
|F(vi ) F(v j )|

Si |F(vi )| = |F(v j )|
Sinon

(3.12)

La variation dintensit locale entre 2 points est calcule partir de lintensit de chaque point selon
lquation 3.12 o F(.) reprsente lintensit du point.
64

3.2. SEGMENTATION CONTOURS : LES FOURMIS

(a)

tel-00652445, version 1 - 15 Dec 2011

(c)

(b)

(d)

Figure 3.13: Les diffrents cas dorientation : (a) cas 1, (b) cas 2, (c) cas 3, (d) cas 4.
Le dernier terme de lquation 3.9 reprsente la prise en compte de la quantit de phromones
dj dpose sur le point j.
Dans le cas o le partitionnement est de type inter-voxels, la fourmi doit pouvoir se dplacer entre
les pointels. Dans ce modle, les surfels sont implicites pour connaitre la variation entre les 2 voxels
en raison du codage choisi (cf. section 3.2.4). La figure 3.14 montre que le calcul de la variation du
lignel entre le pointel du voxel bleu et le pointel du voxel noir est donn par le surfel gris fonc. Afin
de calculer la probabilit de chaque destination possible PDIV p(i)p( j) (t), le poids de chaque lignel (li ) est
normalise par le poids total de tous les voisins :
PDIV p(i)p( j) (t) = P

PoidsDIV p(i)p( j) (t)


pn Voisins(pi ) PoidsDIV p(i)pn (t)

(3.13)

Figure 3.14: Reprsentation du calcul de la variation dintensit sur un surfel.


La fonction de dcision utilise le mme calcul de probabilit de mouvement dcrit par lquation
3.10.
On obtient dsormais lquation 3.14 pour calculer PoidsDIV p(i)p( j) (t) de la dcision inter-voxels :
PoidsDIV p(i)p( j) (t) = PoidsO pi p j (t) PoidsVl(li j ) (t) PoidsV p pi p j (t) Poids(li j ) (t)

(3.14)
65

CHAPITRE 3. IPSIMAS

Avec dsormais PoidsVl(li j ) (t) la variation de lintensit du lignel li j .


|F1 (i) F1 ( j)|
(3.15)
Intensitemaximale
Poids(li j ) (t) reprsente de la mme faon la quantit de phromones sur le lignel li j .
Lalgorithme 10 dcrit le processus dcisionnel pour un agent-fourmi partir de la liste de voisins
fournie par ltape Perception et suivant le type de ces voisins (phromons ou pas). Le choix de la
prochaine destination sera alatoire dans un cas et dpendant du calcul du poids de chaque candidat,
calcul partir des quations 3.9 et 3.14 en fonction du type de partitionnement.

tel-00652445, version 1 - 15 Dec 2011

PoidsVlli j (t) =

Algorithme 10 La dcision sur le prochain voisin phromoner


Entrees: Image : Matrice N3 , V : liste de voisins N, VoisinPhromon : boolen in [Vrai, Faux]
Sorties: NouvellePosition N3 , Concentration R.
1: Concentration 0.
2: PhromoneMax 0.
3: Si VoisinPhromon == Faux Alors
4:
NouvellePosition ChoixAlatoire(V).
5:
Concentration Poids((.)) selon les quations 3.16 et 3.17.
6: Sinon
7:
Pour Chaque voisin Vi de V Faire
8:
Si PoidsDec (position(A), Vi ) > PhromoneMax Alors
9:
PhromoneMax PoidsDec (.) selon les quations 3.8 et 3.14.
10:
NouvellePosition Vi .
11:
Concentration Poids((.)) selon les quations 3.16 et 3.17.
12:
FinSi
13:
Fin Pour
14: FinSi
La complexit de cet algorithme est de lordre de O(Voisinagetotal ), o Voisinagetotal est le nombre
de candidats potentiels pour une fourmi.
Lorsquun agent-fourmi aura choisi son dplacement, on passe ltape Action.
Action
Soit j la nouvelle position de la fourmi, on mettra jour La quantit de phromones de j Poids(v j ) (t)
partir de sa prcdente valeur laquelle on ajoute une quantit Q prdfinie par le poids de la variation
de lintensit entre i et j et le gradient du voxel j (quation 3.16). Pour un partitionnement inter-voxels,
on utilisera lquation 3.17.
Poids(v j ) (t) = Poids(v j ) (t 1) + Q PoidsVvi v j (t) PoidsG(v j ) (t)

(3.16)

Poids(li j ) (t) = Poids(li j ) (t 1) + Q PoidsV p pi p j (t) PoidsVl(li j ) (t)

(3.17)

La mise jour de la quantit de phromones chaque pas de temps seffectue sur le voxel
destination dans le cas du partitionnement voxels et sur le lignel joignant les 2 pointels dans le cas du
partitionnement inter-voxels.
66

3.2. SEGMENTATION CONTOURS : LES FOURMIS

Un des problmes bien connus de la mthode fourmi est le problme des "aller-retour", i.e.
lenfermement dune fourmi dans un primtre restreint quelle parcourt perptuellement (Chevrier,
2002).
Notre algorithme, en pondrant le choix du nouveau point par sa direction permet en gnral de
rsoudre le problme et nos simulations ont montr que notre modle ne prsente pas ce type de biais.

3.2.6

Construction de limage segmente

Pour construire les contours recherchs dans limage, on va appliquer chaque voxel ou lignel
lquation 3.18 o IntensitMaximale est la couleur maximum de limage (255 ou 4095 selon le
codage).

tel-00652445, version 1 - 15 Dec 2011

Couleur(Vi ) =

Concentration(Vi )
Intensitemaximale
ConcentrationMax

(3.18)

partir de cette image, on peut construire une image binaire qui dterminera pour un seuil donn si un
voxel (lignel) appartient au contour. Le seuil peut tre choisi partir de lhistogramme des quantits
de phromones dposes sur limage.
Lexemple de la figure 3.16 est le mme que celui que nous avons utilis pour le modle des
araignes, limage segmenter est de taille 555 voxels. Nous avons simul une segmentation avec
les agents-fourmis. Dans un cas, des phromones sont dposes sur les voxels . Aprs avoir analys
les phromones de limage, nous obtenons limage segmente prsente par la figure 3.15(b).

(a)

(b)

Figure 3.15: Lextraction des voxels contours : (a) image origine et (b) image segmente en contours.

Dans le cas o nous simulons la segmentation inter-voxels, les phromones sont dposes au fil du
temps sur les lignels de limages (3.16(b)). Ce sont les voxels reprsentants ces lignels (figure 3.16(c))
qui vont construire les contours (figure 3.16(d)).
67

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 3. IPSIMAS

(a)

(c)

(b)

(d)

Figure 3.16: Lextraction des voxels contours : (a) image origine, (b) les lignels phromons, (c) le
graphe des lignels et (d) limage segmente en contours par les voxels reprsentants des lignels.

68

3.3. ORDONNANCEUR

3.2.7

Amlioration de la recherche des contours

tel-00652445, version 1 - 15 Dec 2011

Classiquement, les modles fourmis prvoient une vaporation des phromones dans le temps.
Cette vaporation a pour objectif deffacer le bruit induit par la dispersion des fourmis dans lenvironnement et dannuler leffet de passage peu frquent sur un point.
Toutefois, ce traitement est apparu comme insuffisant pour obtenir un contour de bonne qualit.
Nous avons donc utilis linformation concernant le nombre de passage sur un point comme lment
de pondration dans lvaluation de la quantit de phromones dposes.
Pour cela, nous crivons les quations 3.19 et 3.20 :
Poids(vi ) (t) = (1 ) Poids(vi ) (t 1) + NbPassage F(vi )

(3.19)

Poids(li ) (t) = (1 ) Poids(li ) (t 1) + NbPassage F(li )

(3.20)

Dans cette quation, est le facteur dvaporation (0 1 ), Poids(.) (t) est la valeur de
phromones avant vaporation. F(.) reprsente le poids du gradient pour un partitionnement en voxels
et le poids de la variation locale prsente sur le surfel pour le cas inter-voxels.
La complexit de cette opration est de O(Taille(Image)).

3.3

Ordonnanceur

Les simulations SMA peuvent en gnral tre excutes en mode squentiel ou en mode parallle.
Les ordinateurs tant des machines squentielles lorsquon dispose dun seul coeur, la simulation
est priori en mode squentiel. Dans le cas dun processeur multi-coeurs (CPU ou GPU), il devient
possible de parallliser lexcution dun pas de temps.

3.3.1

Excution squentielle

Dans ce cas, la liste des agents sera rordonne chaque dbut dexcution dun pas de temps et
tous les agents excuterons leur cycle de vie lun aprs lautre. Il a t prouv qu partir dun nombre
dagents assez grand ; ce type de simulation ne prsentait pas dartfact de synchronisation (Ballet,
2000). Nos simulations impliquent toujours plusieurs milliers dagents, nous sommes donc dans ce
cas prcis. Toutefois, le temps dexcution dune segmentation est massivement dpendant du nombre
de pas de temps de la simulation. Lorsquon a une excution squentielle, le temps de la simulation
devient T empsCalcul(cycledevie) NbAgents NbPasDeT emps. Ceci est un des reproches majeurs
fait aux simulations SMA, car il conduit des simulations extrmement longues.

3.3.2

Excution parallle

lheure actuelle, il existe plusieurs solutions pour excuter des simulations en parallle dont
certaines sont peu coteuse la fois en cot matriel, mais aussi en temps pour parallliser des
algorithmes.
69

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 3. IPSIMAS

En ce qui concerne laspect matriel, on dispose aisment des machines multi-coeurs CPU-8coeurs.
Pour les GPU, une carte graphique un peu spcialise telle que NVIDIA QUADRO 4000 fournira 256
coeurs. Dans le cas dun SMA base dagents sociaux ddi au traitement dimages, nous pouvons
dposer limage dans lenvironnement commun tous les coeurs et rpartir les agents sur les coeurs.
La question de linteraction entre les agents se pose. En effet, les agents appartenant diffrents
coeurs ne peuvent pas communiquer directement. Le modle dagents sociaux spcifie que les agents
communiquent au travers de lenvironnement, dans la mesure o pour le GPU la mmoire, et donc
lenvironnement, sont partags, ils deviennent naturellement le mdia de communication des agents.
La synchronisation des cycles de vie des agents nest donc pas cruciale. Dans limplmentation
mmoire partage, lalgorithme garantit que tous les agents excutent leur cycle de vie chaque
pas de temps. Il y a donc une synchronisation au niveau de chaque pas de temps et les diffrents
agents sont activs en mode asynchrone. Bien sr, il reste la possibilit qu un pas de temps donn,
2 agents modifient concurremment le mme point. Nous avons dcid de ne pas tenir en compte de
cette erreur aprs avoir mesur lors de tests lincidence de cette perte dinformation. En fait, tant
donn le trs grand nombre de points dune image 3D (en gnral, une image IRM est de taille
256x256x128), mme avec plusieurs milliers dagents, la probabilit que 2 agents soient sur le mme
point est trs faible. Tous les dtails de limplmentation sont donnes en annexe (annexe A). Pour
cette implmentation, la fois les versions de paralllisation CUDA et OpenCL.
On notera que la paralllisation en mmoire partage est particulirement favorable aux modles
SMA. En effet, chaque agent "embarque" son algorithme de cycle de vie, identique pour tous, pour
lexcuter sur le cur auquel il est ddi. Aucune modification de cet algorithme nest induite par la
paralllisation.
Nbagents
Dsormais, le temps de la simulation est T emps(CycleDevie) NbMaxT
NbPas o NbMaxT hread
hread
est le nombre de traitement maximum quune machine multi-curs excutera en un pas de temps. Pour
une carte graphique NVIDIA QUADRO 4000 (qui est celle que nous avons utilise pour lapplication),
ce nombre est (65535)3 512. Comme nous ne dpassons pas ce nombre dagents, nos simulations
sont de lordre de T empsCalcul(cycledevie) NbPasDeT emps. Dans la pratique, comme nous le
montrerons au chapitre suivant, nous avons vu nos temps de segmentation passer de plusieurs heures
quelques minutes, rendant ainsi les SMA concurrentiels par rapport aux mthodes classiques : Otsu
multi-niveaux, Croissance de rgions ou Sobel.
Il reste traiter la question de la synchronisation de la mise jour de ltat interne de chaque
agent. Il est possible soit de maintenir un tat actuel et un tat futur, soit deffectuer une mise
jour immdiate. La premire solution est plus coteuse en taille mmoire que la seconde. Si nous
examinons le comportement rel des agents sociaux dans la nature, leur comportement nest pas
synchronis et les consquences dune action sont immdiatement prises en compte.
Nous choisissons donc de raliser des mises jour asynchrones des tats internes des agents
(figure 3.17). Trois possibilits pour cela :
1. tous les agents sont mis jour chaque pas de temps du systme. Les agents sont rordonnancs
selon un tirage alatoire sur les agents et nous pouvons garantir une quiprobabilit pour chaque
agent de dposer une information ;
70

3.4. VERS UNE MODLISATION ORIENT OBJET

2. chaque agent est mis jour aprs lexcution de son cycle de vie. Lordonnancement des
agents se traduit ici par le tirage dune probabilit tre slectionn en premier. Cette liste de
probabilit est ensuite trie par ordre dcroissant et les agents sont activs suivant leur rang.
3. la slection dun seul agent parmi lensemble pour quil dpose son information sur lenvironnement. Cette slection est faite dune manire alatoire sur lensemble des agents prsents
dans lenvironnement. Dans ce cas, le nombre de pas de temps de la simulation jouera le rle le
plus important dans la slection des agents activer.

tel-00652445, version 1 - 15 Dec 2011

La solution 2 est celle qui a t adopt pour ces simulations sur GPU prsentes en annexe.

Figure 3.17: Ordonnancement des agents.


La complexit de cette opration est de O(Taille(Agents) + Taille(Agents) log (Taille(Agents))),
o Taille(Agents) reprsente le nombre dagents dans lenvironnement.

3.4

Vers une modlisation Orient Objet

La plateforme agent de IPSiMAS a t ralise suivant le paradigme Objet qui consiste dfinir
et assembler des objets. Chaque objet reprsente un concept, une ide ou une entit physique.
Dans un modle Orient Objet, les entits sont dfinies partir de classes et de relations entre ces
classes. Chaque classe est caractrise par des attributs et des comportements. Nous dsignons une
relation dhritage entre les classes lorsquune classe est spcialise en sous-classes et une relation de
composition ou dagrgation lorsque une classe contient des instances dautres classes. Lintrt de
cette modlisation est de favoriser la conception de modules gnriques faciles tendre pour des
besoins spcifiques.
Dans la suite, nous allons prsenter larchitecture dIPSiMAS (figure 3.18), et plus particulirement,
les classes essentielles pour la dcomposition de lenvironnement et la construction de colonies
dagents sans entrer dans une dissertation des mthodes utilises par les diffrentes classes. Dans les
sections suivantes, nous allons dcrire les lments essentiels des 3 principales classes du modle :
Agent, Environnement et Application.

3.4.1

Agent

Dans un modle SMA, de faon assez triviale, nous devons dfinir une classe gnrique Agent
qui sera la super-classe pour diffrents types dagents que nous utilisons.
71

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 3. IPSIMAS

Figure 3.18: Architecture dIPSiMAS.

72

tel-00652445, version 1 - 15 Dec 2011

3.4. VERS UNE MODLISATION ORIENT OBJET

Notre quipe dveloppe des SMA dans diffrents contextes : la segmentation dimages (concerne
par ce travail), la simulation de ractions mtaboliques, la reprsentation de molcules physiques
en interaction ou encore la simulation de mouvements de macro molcules. Nous avons dcid
de tous utiliser le mme modle de classe Agent en dveloppant plus ou moins certaines parties de larborescence suivant les besoins. Pour la segmentation dimages, nous nutilisons que
des agents de la classe ActiveAgent. Nous avons spcialis la classe ActiveAgent en deux
sous-classes : AntAgent et SpiderAgent. Les comportements gnriques tels que les mthodes
Perception/Decision/Action sont dfinis partir de la classe Agent car elle caractrise tout
comportement dagent. Chaque sous-classe aura ensuite la responsabilit de spcialiser chaque comportement.
La classe ActiveAgent hrite dun identifiant Ida, une position actuelle Posa de la classe Agent.
La classe ActiveAgent dfinit un paramtre, la dernire position LastPosa. La direction est un
attribut spcifique de la classe AntAgent. Lors de la cration des colonies dagents, un identifiant
unique est gnr pour chaque agent, la position est traite automatiquement par une slection alatoire
dun placement dans lenvironnement, la dernire position est vide et cest lors de la simulation que
cet attribut sera mis jour. Concernant la direction de chaque AntAgent, une direction initiale est
donne pour chaque agent afin de lui dfinir un sens pour son mouvement. La mthode GetPoidsDir
permet dattribuer un poids selon son orientation actuelle par rapport au voisinage quil souhaite
analyser. Ce poids est calcul selon lquation 3.10.
La classe Colony permet de mmoriser la couleur de rfrence de chaque colonie. Elle contient
aussi pour une colonie de SpiderAgent un intervalle de couleur pour reprsenter la plage dattraction
des voxels de lenvironnement, Attraction MaColonie et AttractionAutresColonies qui sont utilises pour
paramtrer la coopration et la comptitivit et la Saturation pour dfinir le nombre de fils maximal
que peut contenir un voxel dans lenvironnement.

3.4.2

Environnement

La classe Environment sert discrtiser limage 3D pour la simulation. Dans notre cas, lenvironnement est vu comme une grille rgulire de cubes non hirarchiques. Elle contient sa dimension qui
sont DimX, DimY et DimZ, et la mthode CreateEnvironment pour spcifier lespace de recherche
pour les agents (par exemple 6-connexes ou 26-connexes). De plus, il est souvent utile de pouvoir
mettre en place diffrentes rsolutions de grilles pour optimiser certaines tches et pratiquer une forme
de multi-rsolution. Cest pour cette raison que nous avons la classe Case permettant de regrouper un
ensemble dlments et ainsi avoir une vision multi-chelles de cet environnement. Ceci est utile, par
exemple, si nous voulons permettre la prise en compte de plusieurs positions dans une case. La classe
Element reprsente la plus petite partition accepte par le modle.
chaque voxel est associ des informations relatives la catgorie de segmentation que nous
souhaitons effectuer. Par exemple, pour une dtection des contours de limage, lattribut Tagged
recevra linformation si le voxel a t phromon. La classe AntInformation contient aussi des
informations sur la concentration actuelle de phromones prsentes (Pheromones), le nombre de
73

CHAPITRE 3. IPSIMAS

fois quil y a eu un dpt (Quantity). Tandis que pour extraire les rgions de limage, ce sont les
attributs relatifs la classe SpiderInformation qui vont contenir les positions des voxels tisss
(ListOfSilks), le nombre total de fils (TotalSilks), le poids total des fils (TotalWeight) et un
boolen Saturated pour spcifier sil reste de la place pour tisser de nouveaux fils.

tel-00652445, version 1 - 15 Dec 2011

3.4.3

Simulation

Pour simuler la segmentation dimages, nous avons la classe Application compose dun
environnement, dun groupe dagents rpartis et dune ou plusieurs colonies. Cette classe contient les
attributs NbAgents pour dfinir le nombre total dagents prsents dans lenvironnement, le nombre
de pas de temps systme (NbSteps) et le nombre de colonies que nous voulons crer (NbColonies).
Elle contient des mthodes pour initialiser la simulation suivant le mode dexcution choisi (CPU ou
GPU, synchrone ou asynchrone), pour instancier la mthode dfinissant un pas de temps (RunAStep
de la classe Engine) et pour crer limage rsultat (CreateSegmentedImage). La premire version
du code parallle est disponible via ladresse suivant : http://sourceforge.net/p/ipsimas/home/Home/.

3.5

Conclusion

Dans ce chapitre, nous avons prsent deux approches de segmentation bases sur le comportement
des araignes et des fourmis. La premire approche, celle des araignes, consiste segmenter une
image en plusieurs rgions. Le principe est de construire un environnement sous forme dun grille et
dy placer linformation couleur ou intensit. Cette information est ensuite utilise par les araignes
pour quelles dposent leurs fils entre chaque couple de voxels "intressants". Un graphe dynamique
est ainsi construit reprsentant limage segmente. Ce processus de segmentation est termin par une
condition darrt relative linformation porte par les fils (Saturation). Cest ainsi quest cre
limage reprsentant la segmentation finale. La deuxime approche, celle des fourmis, a deux visions
de lenvironnement pour dtecter les contours. La premire vision est de percevoir lenvironnement,
comme pour le cas des araignes, comme un partitionnement de voxels. Les fourmis vont alors se
dplacer sur les voxels pour crer des chemins. Ces chemins, au fil du temps, vont tre valids par
un grand nombre de fourmis prsentes dans lenvironnement malgr une perturbation induite par
lvaporation des phromones. Ce processus de segmentation finit en renforant les chemins existants.
Ce sont ces chemins qui vont construire limage segmente. La deuxime vision consiste utiliser
une partition base sur les inter-voxels. Pour encoder les voxels, ce type de partitionnement induit la
dfinition de pointels et de lignels. Dans ce cas, les fourmis vont se dplacer entre les pointels suivant
les lignels. Ils vont renforcer les lignels prsentant une forte chance dtre un contour de limage tout
en rsistant toujours une perturbation du systme (vaporation). Ce sont ces lignels qui fourniront
les voxels appartenant aux contours de limage. Finalement, la modlisation Oriente Objet du SMA
est dcrite.

74

3.5. CONCLUSION

tel-00652445, version 1 - 15 Dec 2011

Le chapitre suivant prsente lensemble des rsultats obtenus pour chaque type de SMA et par leur
combinaison.

75

Chapitre

tel-00652445, version 1 - 15 Dec 2011

Exprimentations
Dans ce chapitre, nous allons montrer les rsultats tirs dexprimentations produites laide
de nos mthodes de segmentation bases sur les SMA (Moussa et al., 2011a). Pour pouvoir estimer
la pertinence de ces rsultats, nous les avons compars avec des algorithmes classiques en utilisant
des critres tels que la corrlation, la spcificit et la sensibilit de la segmentation produite par
rapport la vrit terrain. Pour ce faire, nous avons choisi dutiliser des images obtenues laide dun
simulateur dacquisition dimages IRM (BrainWeb) car il est difficile dobtenir des rsultats objectifs
par comparaison avec une segmentation manuelle. En effet, la prcision du placement des contours est
dpendante de lexprience de lutilisateur. De plus, le fait dutiliser un simulateur permet de donner
des premiers rsultats en saffranchissant de lerreur inter- et intra-observateur.
Dans cette partie, nous commencerons donc par prsenter BrainWeb et les images sur lesquelles
nous allons faire nos comparaisons, puis les critres que nous utiliserons et les mthodes auxquelles
nous nous comparerons. Enfin, nous prsenterons nos rsultats et discuterons de la pertinence de nos
algorithmes.

4.1

Les images de test

BrainWeb contient une base de donnes dimages crbrales reprsentant un ensemble de volumes
de donnes IRM ralistes produites par un simulateur (Collins et al., 1998). Ces donnes peuvent tre
utilises par la communaut de neuro-imagerie pour valuer la performance des diffrentes mthodes
danalyse dimages dans un contexte o la vrit est connue. Les volumes de donnes ont t simuls
pour diverses squences dacquisition (T1, T2, etc) et une varit dpaisseurs de coupe, de niveau
de bruit, et dinhomognit. Le bruit ajout par BrainWeb correspond au modle mathmatique de
lacquisition IRM i.e. il suit la loi de Rayleigh pour le fond et la loi de Rice dans les rgions de signal.
Le pourcentage de bruit reprsente le ratio de lcart-type du bruit blanc gaussien par rapport au signal
dun tissu de rfrence. Dans le cadre de nos exprimentations, nous avons choisi des volumes T1
76

tel-00652445, version 1 - 15 Dec 2011

4.1. LES IMAGES DE TEST

Figure 4.1: Interface du simulateur BrainWeb : choix des paramtres.

(squence anatomique classique) pour lesquels lpaisseur de coupe est de 1mm (taille utilise en
routine clinique). Le choix du pourcentage de bruit propos par BrainWeb est compris entre 0% et
9%. Lintgralit de ces pourcentages de bruit a t utilis dans nos exprimentations pour tudier la
rsistance de nos algorithmes au bruit. Pour linhomognit, nous avons laiss la valeur par dfaut
de 20% ce qui correspond une acquisition raliste en application clinique. En rsum, les cerveaux
simuls ont les caractristiques suivantes :
Squence : T1.
paisseur de coupe : 1mm.
Bruit : X% (0X9).
Inhomognit : 20%.
Dimensions : 181 x 217 x 181 voxels (donnes par le simulateur).
Codage : 2 octets dont 12 bits significatifs (i.e. 4096 niveaux de gris).
77

CHAPITRE 4. EXPRIMENTATIONS

La figure 4.2 reprsente ce qui sera considr comme la "vrit terrain" savoir le rsulat dune
image segment de cerveau en rgions et les diffrents fantmes 1 avec le bruit variant entre 0% et 9
%. Ces informations sont ensuite tre utilises pour valider le rsultat de nos segmentations.

tel-00652445, version 1 - 15 Dec 2011

(a)

(b)

(c)

(d)

(e)

(f)

(g)

Figure 4.2: La coupe 94, reprsentant les diffrents "fantmes" utiliss : (a) La vrit terrain, (b) 0%
de bruit, (c) 1% de bruit, (d) 3% de bruit, (e) 5% de bruit, (f) 7% de bruit, (g) 9% de bruit.

BrainWeb propose un cerveau segment en 10 rgions o les niveaux de gris reprsentent des
tiquettes. Nous illustrons la segmentation de ces 10 rgions par la figure 4.2(a) et le tableau 4.1.
Lordinateur de test ayant servi pour nos exprimentations est quip de 2 processeurs Intel
Xeon (4 coeurs 2.53GHz), 16 Go de RAM et 4 GPUs avec 2 Go de mmoire chacun. Le systme
dexploitation de cet ordinateur est un noyau Linux x86_64 2.6.21. En raison de la taille importante
de lenvironnement ainsi que du nombre dagents traits et du nombre de pas de temps, nous avons
1. Cerveaux simuls dont les diffrents volumes sont connus prcisment.

78

4.2. LES MTHODES DE COMPARAISON

Elments
Fond

Pourcentage
42.2%

LCR

Forme

Elments
Peau / muscle

Pourcentage
8.7%

5.2%

Peau

10.2%

MG

12.7%

Crne

5.1%

MB

9.5%

Matire gliale

0.1%

Graisse

2.1%

Conjonction

4.2%

Forme

tel-00652445, version 1 - 15 Dec 2011

Table 4.1: "Fantme" BrainWeb : Les diffrents lments de la partition.

dcid de mettre en uvre les approches sur GPU afin davoir un temps de calcul rduit. Le temps de
calcul ne pourra pas donc pas tre pris en compte pour la comparaison des mthodes de segmentation
car les mthodes bases sur les SMA sont codes sur GPU (voir annexe A) et les autres sur CPU.
Dans la suite de ce travail, la coupe prsente dans les captures dcrans reprsente la 94e`me coupe de
limage 3D. Ce choix de reprsentation a t fait car cette coupe contient les 10 rgions de la partition
fournie par BrainWeb.

4.2

Les mthodes de comparaison

Dans ce qui suit, nous allons prsenter les mthodes de segmentation classiques avec lesquelles
nous allons nous comparer. Pour lapproche des colonies daraignes, les comparaisons vont nous
permettre de dterminer si elle conduit une bonne segmentation par rapport deux mthodes :
une mthode de classification par seuillage (voir section 2.2.2.1) : la mthode dOtsu multiniveaux ;
une mthode base rgions (voir section 2.2.2.3) : la mthode de croissance de rgions.
Pour les approches des fourmis, nous comparons les rsultats de segmentation avec un dtecteur
de contours classique : loprateur de Sobel.

4.2.1

Otsu multi-niveaux

La mthode que nous avons utilise est une mthode de seuillage multi-niveaux base sur la
mthode de Otsu (Otsu, 1979). Elle consiste dterminer, pour un nombre de rgions donn, les
valeurs optimales des diffrents seuils en se basant sur la variance des subdivisions ainsi cres.
La mthode de base consiste sparer le premier plan du fond. On cherche dans ce cas le seuil
optimal pour partager les voxels en deux rgions. Pour un seuil t, il est possible de calculer la variance
79

CHAPITRE 4. EXPRIMENTATIONS

inter-classes 2 (t). Cette mesure est obtenue partir des intensits moyennes 1 , 2 et des classes [0
; t], [t + 1 ; L] et [0 ; L] o L reprsente lintensit maximale. Lquation 4.1 montre le calcul de 2 (t)
reprsentant la proportion de voxels dans la classe [0 ; t] et [t+1 ; L] par rapport au nombre total de
voxels.
2 (t) = w1 (t) (1 (t) )2 + w1 (t) (2 (t) )2

(4.1)

Otsu montre que le seuil optimal t est obtenu pour une variance inter-classe maximale. La mthode
consiste donc calculer cette variance pour tous les seuils possibles (t 1, . . ., L - 1) et den dterminer
la valeur maximale.
Cette mthode stend facilement au calcul de M classes avec M-1 seuils { t1 , t2 , . . ., t M1 } avec
(t1 < t2 < . . . < t M1 ) (Liao et al., 2001). La variance inter-classes est alors dfinie de la faon suivante
:
M
X
2
(t1 , . . . , t M1 ) =
wk (k )2
(4.2)

tel-00652445, version 1 - 15 Dec 2011

k=1

o wk reprsente la proportion de voxels dans la classe [tk1 ; tk ] tel que t0 = 0 et t M = L, k lintensit


moyenne de cette mme classe et lintensit moyenne de la classe [0 ; L].
On calcule pour chaque M-1-uplet de seuils la variance inter-classes correspondante. Les seuils
optimaux, (t1 , . . ., tM1 ), correspondent la valeur maximale de la variance inter-classes.
Lalgorithme 11 prsente limplmentation de Liao et al. pour le calcul de plusieurs seuils partir
de lhistogramme de limage.
La complexit de cet algorithme est O(K (L-K-1) (K-1)) o :
1. L est le nombre de niveaux de gris dans limage ;
2. K est le nombre de seuils trouver.

4.2.2

Croissance de rgions

Cette technique est probablement la technique la plus simple. Elle consiste extraire une zone
dintrt dune image en faisant crotre une rgion partir dun ou de plusieurs germes constituant
un sous-ensemble de la zone recherche. partir de cet ensemble de germes initiaux, cette mthode
agrge les voxels suivant un double critre : lhomognit et ladjacence. Cette agrgation de voxels
est contrle par un prdicat (gnralement, une fonction boolenne). La croissance est rgie par
un critre de propagation pouvant tre bas sur des proprits colorimtriques, mais galement
gomtriques ou topologiques. Le prdicat peut avoir plusieurs formes tel que :
la variance 2R des niveaux de gris de limage associs aux points de la rgion R est infrieure
un seuil prfix ;
la proposition R de points dont le niveau de gris se situe hors de lintervalle [mR - R , mR +
R ] (o mR est la valeur moyenne des niveaux de gris), ne dpasse pas un seuil prfix ;
Algorithme
Pour chaque rgion, le processus de croissance comprend une phase dinitialisation et une phase
itrative. On suppose que lensemble des objets de limage a t partiellement partitionn en N rgions.
80

tel-00652445, version 1 - 15 Dec 2011

4.2. LES MTHODES DE COMPARAISON

Algorithme 11 Seuillage multi-niveaux (Liao et al., 2001)


Entrees: Histo: Histogramme de limage, K N, L N
Sorties: l: liste de seuils N
1: l ListeVide().
2: P matrice triangulaire de dimension L
3: S matrice triangulaire de dimension L
4: H matrice triangulaire de dimension L
5: P[0][0] Histo[0]
6: S[0][0] Histo[0]
7: H[0][0] Histo[0]
8: Pour i 1, . . ., L Faire
9:
P[0][i] = P [0][i-1] + Histo [i]
10:
S[0][i] = S [0][i-1] + i Histo[i]
[0][i])2
11:
H[0][i] = (SP[0][i]
12: Fin Pour
13: Pour i 1, . . ., L Faire
14:
Pour j 1, . . ., L Faire
15:
P[i][j] = P[0][j] - P[0][i-1]
16:
S[i][j] = S[0][j] - S[0][i-1]
[i][ j])2
17:
H[i][j] = (SP[i][
j]
18:
Fin Pour
19: Fin Pour
20: TantQue Taille(l) != K-1 Faire
21:
max 0
22:
Pour chaque d = (t1 , . . ., tk1 ) tel que 0 < t1 < . . . < tk1 < L Faire
23:
somme h [0][t1 ]
24:
Pour i 1, . . ., k-1 Faire
25:
somme somme + h [ti + 1][ti+1 ]
26:
Fin Pour
27:
somme somme + h [tk ][L]
28:
Si somme > max Alors
29:
max somme
30:
l Ajouter(d)
31:
FinSi
32:
Fin Pour
33: Fin TantQue

81

CHAPITRE 4. EXPRIMENTATIONS

La phase itrative modifie la rgion Ri (1 i N) reprsentant lobjet segment. Le processus de


croissance de rgion tant itratif, le contenu de la rgion Ri litration n est note R(n)
i .

tel-00652445, version 1 - 15 Dec 2011

Initialisation des germes


Linitialisation de la croissance de rgion ncessite le positionnement de germes dsignant la ou les
premires rgions. Bien entendu, le point ou la zone germe doit faire partie de la rgion recherche,
sinon on risque dobtenir une segmentation partiellement, voire totalement errone. Ces germes
(0)
constituent donc la rgion initiale R(0)
i . Le choix dun germe Ri peut se faire par seuillage sur un
attribut (par exemple le niveau de gris), ou de toute autre manire (extraction de formes gomtriques,
etc.). Un germe peut ventuellement tre rduit un seul point.
Construction des rgions
Suite la phase dinitialisation, un processus itratif de dformation ajoute progressivement des points
situs la priphrie de la rgion en train de crotre, sils respectent le prdicat. Ces nouveaux points
sont regroups dans lensemble que lon appelle couronne S (k) . Considrons une croissance de rgion
ne faisant crotre quune seule rgion. tant donn une rgion initiale R(0) , la rgion suivante R(k+1) est
obtenue par union de la rgion courante R(k) et de la couronne S (k) . Dans la croissance de rgion, la
condition dagglomration implique la dfinition dun terme de similarit entre un point candidat et la
rgion segmente. Ce terme de similarit, appel critre, est utilis par le prdicat pour dcider de
lajout ou non dun voxel.
Condition darrt Comme litration porte sur une rgion croissante et borne, la convergence
est assure au bout dun nombre fini ditrations. Le processus de croissance peut sarrter selon deux
conditions:
toutes les rgions satisfont le prdicat et la segmentation comprend N rgions ;
il existe N-1 rgions qui vrifient le prdicat, la N e`me rgion comprend les points ne vrifiant
pas le prdicat.
Algorithme 12 Croissance de rgions
Entrees: Voxels: matrice de points N3 , Height N, Width N, Depth N et Seuil N
Sorties: Rgions: liste de rgions
1: Rgions ListeVide().
2: Pour k allant de 0 Depth Faire
3:
Pour j allant de 0 Height Faire
4:
Pour i allant de 0 Width Faire
5:
Si Voxels[i][j][k] nest dans aucune rgion Alors
6:
AccrotreRgion(Voxels, Voxels[i][j][k], Rgions, Seuil).
7:
FinSi
8:
Fin Pour
9:
Fin Pour
10: Fin Pour
La complexit de cet algorithme est de O(N 2 V) o :
82

4.2. LES MTHODES DE COMPARAISON

tel-00652445, version 1 - 15 Dec 2011

Algorithme 13 Cration dune rgion


Entrees: Voxels: matrice de points N3 , Germe N, Rgions : Liste de rgions et S euil N
1: candidats ListeVide().
2: rgion ListeVide() ;
3: candidats.ajouter(Germe)
4: TantQue candidats != Faire
5:
c retirer un voxel de candidats
6:
rgion.ajouter(c)
7:
Pour chaque voisin v de c Faire
8:
Si NON(v rgion) ET | Intensit(v) - Intensit(Germe)| < Seuil Alors
9:
candidats.ajouter(v)
10:
FinSi
11:
Fin Pour
12: Fin TantQue
13: Rgions.ajouter(rgion)
1. N est la taille de limage.
2. V est la taille du voisinage considre.

4.2.3

Oprateur de Sobel

Cet oprateur vise dtecter des contours dans limage pour effectuer la segmentation. Les
contours sont forms par les frontires des rgions. Ils sont lun des principaux indices de distinction
visuelle de deux rgions. Lalgorithme correspondant se droule en deux tapes:
1. les contours locaux sont dtects en utilisant une certaine forme de diffrenciation ;
2. ces contours locaux sont regroups ensuite pour former des frontires sparant les voxels de la
rgion dsire des autres voxels de limage.
Cet oprateur part de lhypothse quun voxel appartient une frontire entre deux objets sil existe
une forte variation dintensit dans son voisinage. Lapproximation de la variation locale peut se faire
par exemple laide dun oprateur de convolution dfini sur le voisinage du voxel. Loprateur de
Sobel a t dfini en 2D et sadapte facilement en 3D. Sa dfinition en 2D utilise deux noyaux de
convolution de taille 3 3, un pour valuer les variations selon la direction x :
et lautre pour valuer les variations selon la direction y :

1 0 1

2 0 2
1 0 1

1 2 1

0 0 0
1 2 1

83

CHAPITRE 4. EXPRIMENTATIONS

Cette formulation en 2D de loprateur est facilement extensible en 3D par lutilisation de 6


noyaux de convolution de taille 3 3 3 pour valuer la variation suivant la direction x, la direction
y, la direction z, la direction xy, la direction xz et la direction yz.

-1

-2

-1

z+1
z
z-1

Figure 4.3: La reprsentation du premier masque de loprateur de Sobel en 3D.

tel-00652445, version 1 - 15 Dec 2011

1 0 1

2 0 2
1 0 1
z-1

1 2 1

0 0 0
1 2 1
z-1

1 2 1

2 4 2
1 2 1
z-1

2 0 2

4 0 4
2 0 2
z

2 4 2

0 0 0
2 4 2
z

0 0 0

0 0 0
0 0 0
z


2 1 2 0


1 4 1 0
2 1 2
0
z-1

2 1 0

1 0 1
0 1 2
z-1

1 0 1

2 0 2
1 0 1
z+1

1 2 1

0 0 0
1 2 1
z+1

1 2 1

2 4 2
1 2 1
z+1

0 0

0 0

0 0
z

2 1 2

1 4 1
2 1 2
z+1


4 2 0 2 1 0
2 0 2 1 0 1


0 2 4
0 1 2
z
z+1

Lalgorithme utilisant cet oprateur sexcute en trois phases. Tout dabord, le gradient est calcul
pour tous les voxels de limage. Ensuite, une opration de seuillage est utilise pour dterminer quels
sont les voxels correspondant des contours. Enfin, une attribution dune coloration aux contours et
une autre au fond.
84

4.3. CRITRES DE COMPARAISONS

0 1 2 0 2 4

1 0 1 2 0 2
2 1 0
4 2 0
z-1
z

4.3

2 1 0

1 0 1
0 1 2
z+1

Critres de comparaisons

Dans cette section, nous allons dcrire les critres de comparaison que nous avons choisi pour
valider les segmentations que nous avons effectues.

4.3.1

Pour la segmentation en rgions

tel-00652445, version 1 - 15 Dec 2011

Pour comparer les mthodes de segmentation en rgions, nous avons besoin dtablir des critres
que nous utiliserons sur toutes les images de test. Nous comparons les rsultats sur plusieurs points :
1. le nombre de rgions ;
2. la corrlation de Spearman (R s ) avant et aprs le post-traitement entre la vrit terrain et le
rsultat de la segmentation.
Le nombre de rgions est un critre permettant de dterminer la fiabilit de la segmentation. Nous
ajoutons au nombre total des rgions le nombre de rgions ayant une taille non significative. Pour
les mthodes classiques de segmentation, nous considrons une rgion comme non significative si sa
taille est infrieure 10 voxels.
Pour comparer les segmentations en rgions, nous avons opt pour un test de corrlation. Ce test
bas sur le calcul du coefficient de corrlation de Spearman (R s ) qui permet de prciser lexistence
dune relation entre deux variables quantitatives et son intensit (Dalgaard, 2002). Cette relation est
non-linaire et monotone.
Deux hypothses sont dfinies par ce test :
1. Hypothse nulle : "H0 : R s = 0"
2. Hypothse alternative : "H1 : R s est diffrent de 0"
Comme dans tout test non-paramtrique, et la diffrence des tests paramtriques, le calcul ne
porte pas sur les valeurs numriques des mesures issues des chantillons reprsentatifs des populations, mais sur leurs rangs attribus suite au classement des valeurs par ordre croissant. Ainsi, nous
nous affranchissons des conditions de normalit des distributions et dhomognit des variances
indispensables la fiabilit des tests paramtriques.
Nous considrons une image comme la ralisation dune variable alatoire X pour limage "vrit
terrain" et dune variable Y pour limage segmente. Pour calculer ce coefficient, nous commenons
par classer sparment les valeurs de la variable alatoire X et celles de la variable Y. Supposons quil
existe une liaison linaire positive entre X et Y, le calcul des rangs permettrait de se rendre compte que
les sujets qui auraient les plus petites valeurs de X auraient galement les plus petites valeurs de Y, et
inversement les sujets qui auraient les plus grandes valeurs de X auraient galement les plus grandes
valeurs de Y. En revanche, sil nexiste aucune liaison linaire entre X et Y, les sujets qui auraient
85

CHAPITRE 4. EXPRIMENTATIONS
hhhh

Image

Vrit terrain
hhh
hhhh
segmente
hh
h
hhhh

Contour
Fond

Contour

Fond

VP
FN

FP
VN

Table 4.2: VP (Vrais Positifs) sont les voxels de contours qui ont t bien segments, FN (Faux
Ngatifs) sont les faux contours, VN (Vrais Ngatifs) sont les voxels du fond qui ont t bien dtects
et FP (Faux Positifs) sont les voxels qui ont t des voxels de contours et sont devenus des voxels de
fond.

tel-00652445, version 1 - 15 Dec 2011

les plus petites valeurs de X auraient des valeurs de Y parses dans leur classement. Ce coefficient
sobtient de la manire suivante :
di2
Rs =
(4.3)
N (N 2 1)
O di reprsente la diffrence des rangs au niveau de lobservation i et N la taille de lchantillon. Ce
coefficient est proche de 1 sil y a une forte corrlation entre les deux chantillons tests et inversement,
il est proche de 0 si la corrlation est faible.

4.3.2

Pour lextraction de contours

Pour pouvoir valuer les approches de dtection de contours, nous jugeons la segmentation obtenue
par rapport des estimateurs classiques (Huguier and Flahault, 2003). Ces critres reposent sur la
mesure de la sensibilit et la spcificit. Ces mesures sont dfinies comme suit (voir table 4.2 pour la
dfinition des termes Vrais Positifs (VP), Faux Ngatifs (FN), Vrais Ngatifs (VN) et Faux Positifs
(FP) dans notre cas) :
Dfinition 23 La sensibilit (SE) est la proportion des Vrais Positifs par rapport lensemble des
contours (Vrais Positifs et Faux Ngatifs) qui devraient tre segments :
SE =

VP
V P + FN

(4.4)

Ce critre permet dvaluer la capacit dtecter tous les contours.


Dfinition 24 La spcificit (SP) est la proportion des Vrais Ngatifs par rapport lensemble des
contours qui ne devraient pas tre segments (Vrais Ngatifs et Faux Positifs) :
SP =

VN
V N + FP

(4.5)

Ce critre permet dvaluer dans quelle mesure des voxels nappartenant pas aux contours y
auraient t intgrs.
Ces deux critres sinterprte de la mme faon que le test de corrlation, la valeur est proche de 1
pour montrer la pertinence de la segmentation et proche de 0 pour montrer sa non pertinence.
86

4.4. RSULTATS SUR LA SEGMENTATION EN RGIONS : MTHODE DES ARAIGNES

4.4

Rsultats sur la segmentation en rgions : mthode des


araignes

La mthode des araignes a t teste avec les paramtres suivants (cf. section 3.1.4.2 ):
1. NbAgent = 1 000 000 ( valeur empirique dpendante de la taille de limage (13%)) ;
2. Couleur et Slectivit (calculs automatiquement partir de lhistogramme de limage comme
vu au chapitre prcdant dans la section 3.1.4.2) ;
3. Saturation = 100 (valeur empirique 1% de la taille de chaque colonie).

tel-00652445, version 1 - 15 Dec 2011

Les paramtres dattraction (Attraction MaColonie , AttractionAutresColonies ) et le nombre de pas de temps


(condition darrt) sont valus empiriquement partir des rsultats des diffrentes simulations
(0.5 Attraction MaColonie 1) (cf figure 4.4).

87

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 4. EXPRIMENTATIONS

(a)

(b)

(c)

(d)

(e)

(f)

Figure 4.4: La combinaison la plus optimale pour la slection de paramtres pour diffrents niveaux
de bruit : (a) 0%, (b) 1%, (c) 3%, (d) 5%, (e) 7%, (f) 9%.

88

tel-00652445, version 1 - 15 Dec 2011

4.4. RSULTATS SUR LA SEGMENTATION EN RGIONS : MTHODE DES ARAIGNES

La figure 4.4 montre que le systme a commenc converger partir de litration 50 000. Cest
cette valeur qui sera retenue pour la comparaison des rsultats. La valeur 100 000 na pas t retenue,
malgr sa corrlation un peu plus lev, puisquelle engendre un temps de calcul beaucoup plus
important pour un gain de prcision ngligeable par rapport 50 000.
Maintenant que nous avons dfini le pas de temps choisi, nous allons regarder le paramtrage
de Attraction MaColonie et AttractionAutresColonies . Nous voyons que ce paramtrage est dpendant du
pourcentage de bruit prsent dans limage, les paramtres optimaux pour les niveaux de bruit entre
0% et 3%, Attraction MaColonie = 0.7 et AttractionAutresColonies = 0.3, ont la meilleure corrlation. Cette
probabilit (AttractionAutresColonies = 0.3) dtre attir par les fils des autres colonies provient du fait
quil y a un petit nombre de voxels en comptition. Lorsque le bruit est entre 5% et 9%, les paramtres
optimaux deviennent Attraction MaColonie = 0.6 et AttractionAutresColonies = 0.4. Ceci provoque une forte
comptition entre les agents de colonies diffrentes pour taguer les voxels. Notons que pour 9%
de bruit, une valeur de Attraction MaColonie = 0.5 amne une corrlation trs proche de la solution
optimale retenue. Lorsque le niveau de bruit augmente, la probabilit AttractionAutresColonies crot et
la probabilit Attraction MaColonie dcrot jusqu une probabilit de 0.5 (MaColoniet 50% ie. tirage
compltement alatoire). Cest la cause des artfacts dont le bruit.
Le tableau 4.3 prsente les rsultats des diffrentes techniques de segmentation appliques sur
une image du cerveau avec diffrents niveaux de bruit. Lvaluation quantitative de ces rsultats est
donne dans le tableau 4.4 et sur la figure 4.5.
Aprs avoir slectionn le nombre de pas et les valeurs du comportement interne de chaque agentaraigne (Attract MaColonie et AttractAutresColonies ). Nous allons analyser qualitativement les rsultats
obtenus avec les diffrentes mthodes de segmentation. La mthode des araignes prsente les
meilleurs rsultats lorsque le bruit augmente (tableau 4.3). En particulier, linterface MG/MB voit sa
forme prserve.

Figure 4.5: Segmentation en rgions : corrlation de Spearman.

Le nombre de rgions que fournit la mthode des araignes est celui qua donn lutilisateur pour
dtecter les composantes du cerveau. Le nombre de composant tant 10, nous obtenons 11 rgions
89

CHAPITRE 4. EXPRIMENTATIONS

Bruit

Vrit terrain

Image originale

Otsu

Croissance de rgions

Araignes

0%

tel-00652445, version 1 - 15 Dec 2011

1%

3%

5%

7%

9%
Table 4.3: Rsultats qualitatifs : segmentation dimages avec diffrentes valeurs de bruit.

avec une rgion supplmentaire reprsentant un petit nombre de voxels non tagu. Ce nombre de
rgions est le rsultat dune lgre sur-segmentation.
Les mthodes classiques ont toujours sur-segment limage, quel que soit le niveau de bruit, en
particulier avec de petites rgions (rgions < 10 voxels). Cette sur-segmentation est le rsultat de leur
sensibilit au bruit. Malgr le fait que le post-traitement des mthodes classiques a men minimiser
le nombre de rgions dans limage, leurs rsultats montrent toujours une forte sur-segmentation de
90

4.5. RSULTATS SUR LA SEGMENTATION CONTOURS : MODLES DES FOURMIS


% de bruit
0%

1%

3%

5%

tel-00652445, version 1 - 15 Dec 2011

7%

9%

Rgions
Rgions > 10 voxels
Rs
R sp
Rgions
Rgions > 10 voxels
Rs
R sp
Rgions
Rgions > 10 voxels
Rs
R sp
Rgions
Rgions > 10 voxels
Rs
R sp
Rgions
Rgions > 10 voxels
Rs
R sp
Rgions
Rgions > 10 voxels
Rs
R sp

Otsu
917
203
67.91 %
68.19 %
1150
205
67.90 %
68.01 %
2503
198
67.17 %
67.25 %
9669
209
66.11 %
66.32 %
23138
317
63.83 %
64.21 %
42392
330
60.69 %
61.95 %

Croissance de rgions
70231
1006
68.02 %
68.20 %
135093
1609
59.90 %
60.13 %
224653
4890
57.63 %
62.16 %
241482
3483
57.23 %
61.18 %
249995
4673
49.73 %
54.54 %
186376
2935
47.13 %
49.73%

Colonies daraignes
11
11
71.63 %
72.3 %
11
11
71.35 %
71.7 %
11
11
68.76 %
69.32 %
11
11
67.93 %
68.82 %
11
11
65.46 %
66.33 %
11
11
63.11 %
63.65 %

Table 4.4: Rsultats quantitatifs : segmentation dimages avec diffrentes valeurs de bruit.

limage.
Le test de corrlation avant et aprs post-traitement, R s et R sp , a donn les meilleurs rsultats dans
tous les cas pour la mthode des araignes. Ces rsultats montre la rsistance de notre mthode aux
diffrents artfacts de limage et plus particulirement au bruit car on peut voir dans le tableau 4.4 que
plus le bruit augmente plus lcart entre nos rsultats et ceux des mthodes classiques est grand.

4.5

Rsultats sur la segmentation contours : modles des


fourmis

La mthode des fourmis possde les paramtres suivants (cf. section 3.2.5) :
1. NbAgent = 1 000 000 (valeur empirique dpendante de la taille de limage (13%)) ;
2. le seuillage de Sobel ainsi que celui des fourmis se fait de la mme faon (seuillage 10% de
lintensit maximale) ;
3. Q = 1 (valeur empirique dsignant le nombre de fois quune concentration de phromones doit
tre dpos par chaque agent-fourmi, la valeur par dfaut est 1 ce qui notre cas).
Le coefficient de simulation et le nombre de pas de temps sont obtenus par la configuration
optimale observe sur la figure 4.6. Comme pour la mthode des araignes, nous avons procd par
exprimentation pour la slection des paramtres optimaux. La figure 4.6 montre que le systme bas
sur un partitionnement en voxels a commenc converger partir de litration 5 000. Cest cette
91

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 4. EXPRIMENTATIONS

(a)

(b)

(c)

(d)

(e)

(f)

Figure 4.6: La combinaison la plus optimale pour la slection de paramtres pour diffrents niveaux
de bruit : (a) 0%, (b) 1%, (c) 3%, (d) 5%, (e) 7%, (f) 9%.

92

tel-00652445, version 1 - 15 Dec 2011

4.5. RSULTATS SUR LA SEGMENTATION CONTOURS : MODLES DES FOURMIS

valeur qui sera retenue pour la comparaison des rsultats. Les valeurs 10 000 et 15 000 nont pas t
retenues, malgr leur valeur de sensibilit un peu plus lev, puisquelle engendre un temps de calcul
beaucoup plus important pour un gain de prcision ngligeable par rapport un nombre de pas 5 000.
Pour le modle bas sur un partitionnement voxels, le systme a commenc se stabiliser partir
de litration 10 000. Ceci sexplique par le nombre important de lignels traverser pour crer les
contours de limage. De mme, nous avons obtenu une meilleure SE pour un nombre de pas de 15 000
mais cet avantage reste minime en comparaison du cot en temps de calcul engendr.
Maintenant que nous avons dfini le pas de temps choisi, nous allons regarder le paramtrage de
lvaporation . Nous voyons que ce paramtre est li au pourcentage de bruit. Ainsi, le paramtre
optimal pour les niveaux de bruit de 0% et 1%, = 0.1, a obtenu les meilleures sensibilit/spcificit.
Cette valeur faible dvaporation est due une faible valeur de bruit prsent dans limage. Lorsque le
bruit est de 3% ou 5%, la valeur de lvaporation devient un peu plus importante ( = 0.2) et permet de
rduire les nuisances lies au bruit. Le facteur dvaporation continue sa croissance ( = 0.3) lorsque
les images sont plus bruites (7% et 9%).
Le tableau 4.5 prsente les rsultats des diffrentes techniques de segmentation appliques sur
une image du cerveau avec diffrents niveaux de bruit. Lvaluation quantitative de ces rsultats est
donne dans le tableau 4.6 et la figure 4.7.

93

CHAPITRE 4. EXPRIMENTATIONS

Bruit

Vrit terrain

Sobel

Fourmi-voxel

Fourmi-intervoxel

0%

tel-00652445, version 1 - 15 Dec 2011

1%

3%

5%

7%

9%
Table 4.5: Rsultats qualitatifs : dtection de contours avec diffrents valeurs de bruit.

Les rsultats prsents dans le tableau 4.5 montre que loprateur de Sobel devient de moins en
moins pertinent lorsque le bruit augmente. La mthode des fourmis base sur le partitionnement en
voxels montre une meilleure rsistance au bruit avec une dtection dun peu moins de contours, tandis
que la mthode des fourmis base sur le partitionnement inter-voxels est aussi rsistante au bruit mais
avec la particularit dune meilleure dtection de contours.
Comme le montre le tableau 4.6 et la figure 4.7, loprateur de Sobel devient peu fiable partir
de 7% de bruit (SE < 50%). Ces mthodes des fourmis ont donn les meilleurs SE avec en plus une
94

4.6. CONCLUSION

% de bruit
0%
1%
3%
5%
7%
9%

Critre
SE
SP
SE
SP
SE
SP
SE
SP
SE
SP
SE
SP

Sobel
94.5%
99.2%
86.6%
98.8%
82.2%
97.8%
84.1%
96.8%
40.5%
92.4%
30.2%
91.1%

Fourmi-voxel
84.2%
96.8%
81.1%
95.8%
78.9%
95.2%
76.3%
94.9%
76.1%
93.2%
75.5%
92.8%

Fourmi-intervoxel
86.7%
97.6%
82.2%
96.7%
79.3%
96.5%
77.9%
96.1%
77.2%
94.3%
76.8%
93.6%

tel-00652445, version 1 - 15 Dec 2011

Table 4.6: Rsultats quantitatifs : dtection de contours avec diffrentes valeurs de bruit.

(a)

(b)

Figure 4.7: Dtection de contours : (a) sensibilit (SE), (b) spcificit (SP).

meilleure dtection des contours et la meilleure rsistance au bruit pour les agents-fourmis utilisant un
partitionnement inter-voxels.
La spcificit nous permet de voir la fiabilit de ces mthodes pour dtecter le fond de limage.
Loprateur de Sobel devient peu fiable partir de 7% de bruit. Comme pour la SE, le choix du
partitionnement inter-voxels a men une SP meilleure que celle dun partitionnement classique
(voxels).
Remarquons que pour aucune de ces mthodes un post-traitement na t effectu (fermeture des
contours notamment). Tous ces lments nous permettent daffirmer que les mthodes des fourmis ont
une meilleure dtection que Sobel pour les valeurs de bruit les plus importantes (7% et 9%).

4.6

Conclusion

Dans ce chapitre, nous avons prsent la procdure dvaluation de nos mthodes. Nous avons
commenc par introduire le choix des images utilises, puis, nous nous sommes focaliss sur les
95

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 4. EXPRIMENTATIONS

critres de validation que ce soit pour la dtection de rgions ou la dtection de contours. Nous
avons choisi une slection de mthodes classiques avec lesquelles nous nous sommes compares. Les
rsultats des exprimentations nous ont permis de valider nos mthodes que ce soit qualitativement ou
quantitativement tout en passant par le choix des paramtres ayant donn les rsultats optimaux. Cette
validation nous a montr la rsistance de nos mthodes au bruit, rsistance meilleure que celle des
mthodes classiques.
Nous tenons souligner, par ailleurs, que bien quun certain nombre de paramtres reste dfinir
: nombre de colonies, nombre dagents, vaporation ou saturation, nous avons chaque fois fourni
une mthode qui permet de dterminer des plages de valeurs acceptables et ce partir dune simple
analyse de limage : taille, histogramme, niveau de bruit. Nous navons pas voulu dans ce chapitre
donner de temps de calcul car il nest pas correct intellectuellement de comparer "basiquement" des
temps de calcul squentiel (sur le CPU) avec des temps de calcul parallle (sur le GPU). Le temps de
calcul est un des reproches majeurs adresss aux SMA. En utilisant des solutions GPU, nous avons
chaque fois pu ramener les segmentations des temps de calcul de lordre de quelques minutes sans
pour autant rencontrer de difficults majeures. La mise en uvre de cette paralllisation est prsente
en annexe.
Ce travail ralis au sein de lquipe Image et Son du LaBRI 2 connue pour son savoir-faire en
traitement dimages mdicales par des mthodes sappuyant sur des modles classiques, a ouvert
de nouvelles perspectives en abordant la segmentation dimages avec avec des SMA. En ce qui
concerne les SMA, nous avons montr quune "bonne" segmentation merge de la combinaison des
deux types de segmentation : segmentation rgions ralise par des agent-araignes et segmentation
contours par des agent-fourmis. Pour linstant, ces oprations sont appliques indpendamment. Il
pourrait tre intressant dcrire une application qui raliserais les deux traitements en parallle,
condition dimaginer un mode de communication entre les araignes et les fourmis. Enfin, les
dveloppements technologiques avec les cartes GPU et la mmoire partage, crent un climat favorable
aux dveloppements des simulations SMA en permettant le passage lchelle de traitement de
problmes de taille relle comme le montre nos applications sur les images IRM 3D.

2. Laboratoire Bordelais de Recherche en Informatique.

96

tel-00652445, version 1 - 15 Dec 2011

Conclusion
Dans ce mmoire, nous avons avons abord la problmatique de la segmentation dimages opre
par les Systmes Multi-Agents. Notre objectif tait de concevoir des approches de segmentation pour
des images IRM 3D de cerveau. Ces approches de segmentation doivent tre rsistantes aux diffrents
artfacts prsents dans limage et plus particulirement au bruit induit par des phnomnes physiques
et physiologiques lors de lacquisition de limage. Nos approches ont t conues pour dtecter les
rgions et les contours de limage. Pour remplir ces objectifs, nous avons conu une mthode inspire
des comportements des araignes et des fourmis. Tout dabord, les araignes, regroupes sous forme
de plusieurs colonies, ont pour objectif de dtecter les diffrents lments du cerveau. Cette tche est
ralise par le placement de fils au cours du temps sur des voxels qualifis "dintressants". Dans
la mesure o il y a toujours plusieurs rgions dtecter, nous avons utilis le concept de colonies
daraignes, chacune ayant la tche de dtecter une rgion spcifique. Ce sont ensuite les informations
portes par les fils qui vont construire les rgions de limage segmente. Pour leur part, les fourmis
ont pour objectif de dtecter les contours de limage. Pour raliser cette tche, lenvironnement
dans lequel les fourmis se dplacent est partitionn de deux faons : un partitionnement voxel et un
partitionnement intervoxel. Avec un partitionnement voxel, les fourmis vont se dplacer de voxel en
voxel et dans lautre cas, les fourmis vont se dplacer sur des lignels entre les pointels. Elles vont
dposer des phromones sur les positions considres comme des lments des contours de limage.
Ce dpt de phromone est pondr par une "vaporation" chaque pas de temps. Les phromones
qui ont persist jusqu la fin de la simulation marqueront les contours de limage.
Nous avons valu nos approches de segmentation en les comparant des approches classiques.
Pour les araignes, nous avons compares les rsultats aux approches de croissance de rgions et
de seuillage multi-niveaux dOtsu. Ces comparaisons ont utilis le test de corrlation de Spearman
avec lequel nous avons valu si ltiquetage des rgions ralis par les araignes correspondait la
"vrit terrain" (fournie par lapplication BrainWeb sur nos images de test). Pour les fourmis, nous
avons effectu une mesure de sensibilit et de spcificit et nous avons compar ces mesures celles
obtenues avec un oprateur classique de dtection de contours : loprateur de Sobel en 3D.
Lanalyse des rsultats de lapproche des araignes a montr que le comportement interne des
agents de chaque colonie joue un rle trs important pour lobtention dune segmentation satisfaisante
en terme de rsistance au bruit. Nous avons pu voir que la probabilit dattraction dune araigne
pour les fils de sa propre colonie est dpendante de la quantit de bruit prsent dans limage, les
meilleurs rsultats tant obtenus avec une probabilit inversement proportionnelle au pourcentage
97

tel-00652445, version 1 - 15 Dec 2011

CHAPITRE 4. EXPRIMENTATIONS

du bruit. Pour toutes les segmentations effectues, lapproche des araignes a toujours obtenu une
meilleure corrlation que les approches classiques quelque soit le niveau de bruit considr et on a pu
constater que lalgorithme de croissance de rgions est trs peu rsistant au bruit. Quant lalgorithme
de seuillage multi-niveaux dOtsu, bien que comptitif, il donne toujours de moins bon rsultats que
la mthode des araignes. Il est noter que dans notre implmentation de la mthode des araignes,
nous avons de plus propos une mthode dautomatisation de la recherche des valeurs des paramtres
lis limage. Dans le modle fourmis, nous avons identifi que le niveau de bruit pouvait tre pris en
compte par la valeur "vaporation" qui sapplique chaque itration. Plus le bruit augmente, plus
"lvaporation" doit tre importante. La mesure de sensibilit montre que les fourmis offrent une
meilleure dtection de contours que loprateur de Sobel partir de 7 % de bruit. Cette information
indique quil est recommand dutiliser nos approches lorsque le niveau de bruit est important, ce qui
est le cas des images IRM de cerveau. Grce au partitionnement intervoxel, nous avons obtenu une
mesure de spcificit meilleure que la mthode de Sobel partir de 7 % de bruit. En effet, grce ce
partitionnement, nous dtectons moins de faux contours (Faux Positifs) que Sobel.
Nous navons pas inclus le temps de calcul comme lment de comparaison entre nos mthodes
et les mthodes classiques car les programmes dont nous disposions pour ces mthodes taient
essentiellement squentielles et implmentes sur CPU et donc pas rellement comparables aux
programmes parallles. Nos temps de calculs sur GPU restent toujours de lordre de quelques minutes,
ils sont donc parfaitement utilisables sur des images de taille relle. Toutefois, il est toujours intressant
dessayer doptimiser les temps de simulation. Nous avons remarqu que la rpartition alatoire des
agents sur lenvironnement au moment de linitialisation du systme est un des facteurs pnalisant du
temps de simulation car ces agents vont avoir un temps dinactivit important lors de la recherche
du premier voxel taguer dans le cas des araignes. Quant aux fourmis, elles vont taguer des points
non intressants en premier et engendrer une activit inutile pour le comportement global du systme.
Pour rsoudre ces problmes, une solution consiste placer des nids lors de la phase dinitialisation.
Pour les araignes, ces nids vont reprsenter un des voxels dtecter pour chaque colonie prsente
dans limage. Pour les fourmis, les nids vont reprsenter des points de contours dtecter en priorit.
La prochaine version du programme devrait intgrer cette possibilit.
Une des perspectives plus large de ce travail est une intgration dans un schma gnral danalyse
dimages dvelopp par notre quipe. Ce schma repose sur un processus de division/fusion et nous
pourrions y intgrer de la manire suivante :
1. En effectuant une segmentation avec les araignes comme une premire opration de division
de limage en rgions. On obtiendrait ainsi une premire partition de limage avec des contours
imprcis. Ces contours pourraient tre ensuite raffins par des fusions successives de rgions
qui seraient guider par les informations dlivres par les araignes (fils provenant de diffrentes
colonies).
2. En effectuant une segmentation avec les fourmis qui pourrait apporter des informations sur la
qualit des contours dtects. En effet, lorsque le poids dun contour est faible, on pourrait alors
favoriser la fusion des rgions spares par ces contours.
En conclusion, nous pouvons esprer que cette approche de segmentation par les Systmes Multi98

4.6. CONCLUSION

tel-00652445, version 1 - 15 Dec 2011

Agents deviendra un des lments supplmentaire de la boite outils de lanalyse dimages tant pour
limagerie mdicale pour toute analyse dimages complexes.

99

Bibliographie

tel-00652445, version 1 - 15 Dec 2011

S. M. Ali and R. M. Zimmer. The Question Concerning Emergence. In Computing Anticipatory


Systems: CASYS - First International Conference, D.M. AIP Conference Proceedings 437, pages
138156, 1998.
W. Ashby. Principles of the self-organizing dynamic system. The Journal of General Psychology, 37
(2):125128, 1947.
H. Atlan. Entre le cristal et la fume: essai sur lorganisation du vivant. Collection Points: Srie
Sciences. ditions du Seuil, 1986. ISBN 9782020093620.
P. Ballet. Intrts mutuels des systmes multi-agents et de limmunologie. Application limmunologie,
lhmatologie et au traitement dimages. PhD thesis, Universit de Bretagne Occidentale, Jan.
2000.
F. Bellifemine, G. Caire, and D. Greenwood. Developing Multi-Agent Systems with JADE. Wiley,
2007.
N. Benamrane and S. Nassane. Medical image segmentation by a multi-agent system approach,
volume 4687. LNAI, 2007.
J. Besag. On the statistical analysis of dirty pictures. Journal of the Royal Statistical Society, B-48:
259302, 1986.
J. Bezdek, M. Pal, J. Keller, and R. Krisnapuram. Fuzzy Models and Algorithms for Pattern Recognition
and Image Processing. Kluwer Academic Publishers, Norwell, MA, USA, 1999. ISBN 0792385217.
B. Bhanu, S. Lee, and J. Ming. Adaptive image segmentation using a genetic algorithm. IEEE
Transactions On Systems Man And Cybernetics, 25(12):15431567, 1995.
O. Boissier, S. Gitton, and P. Glize. caractristiques des systmes et des applications. In y. Demazeau,
editor, Systmpes multi-agents, volume 29 of ARAGO, pages 2554. Editions TEC DOC, fvrier
2004. OFTA.
E. Bonabeau and G. Theraulaz. Auto-organisation et comportements collectifs : la modlisation des
socits dinsectes, pages 91140. Editions Hermes, 1997.
100

BIBLIOGRAPHIE

C. Bourjot, V. Chevrier, and V. Thomas. A new swarm mechanism based on social spiders colonies :
from web weaving to region detection. Web Intelligence and Agent Systems, 1:4764, 2003.
J.-P. Braquelaire and L. Brun. Image segmentation with topological maps and inter-pixel representation.
Journal of Visual Communication and Image representation, 9(1):6279, 1998.
L. Breiman, W. Meisel, and E. Purcell. Variable Kernel Estimates of Multivariate Densities. Technometrics, 19(2):135144, 1977. ISSN 00401706.
H. Cao, P. Huang, and S. Luo. A novel image segmentation algorithm based on artificial ant colonies,
volume 4987. LNCS, 2008.
V. Chevrier. Contributions au domaine des systemes multi-agents. Technical report, Universit
Henry-Poincarr - Nancy 1, 2002. URL http://www.loria.fr/~chevrier/Publi/HDR.zip.

tel-00652445, version 1 - 15 Dec 2011

V. Chevrier. Tisser des toiles daraignes sociales. Pour la Science, pages 6264, 2006.
S. Cho, D. Jones, W. E. Reddick, R. J. Ogg, and R. G. Steen. Establishing norms for age-related
changes in proton t1 of human brain tissue in vivo. Magn Reson Imaging, 15(10):113343, 1997.
ISSN 0730-725X.
M. Clerc and J. Kennedy. The particle swarm - explosion, stability, and convergence in a multidimensional complex space. Evolutionary Computation, IEEE Transactions on, 6(1):5873,
2002.
M. L. College. Global optimization and meta-heuristics, 2002.
D. L. Collins, A. P. Zijdenbos, V. Kollokian, J. G. Sled, N. J. Kabani, C. J. Holmes, and A. C. Evans.
Design and construction of a realistic digital brain phantom. IEEE Trans Med Imaging, 17(3):
463468, June 1998. ISSN 0278-0062.
F. D. Croce, R. Tadei, and G. Volta. A genetic algorithm for the job shop problem. Computers and
Operations Research, 22(1):15 24, 1995. ISSN 0305-0548.
P. Dalgaard. Introductory statistics with R. Statistics and computing. Springer, 2002. ISBN
9780387954752.
T. De Wolf. Analysing and engineering self-organising emergent applications. PhD thesis, Informatics
Section, Department of Computer Science, Faculty of Engineering, May 2007. Berbers, Yolande
and Holvoet, Tom (supervisors).
T. De Wolf and T. Holvoet. Emergence and self-organisation: a statement of similarities and differences.
In Eds), Lecture Notes in Artificial Intelligence, pages 96110. SpringerVerlag, 2004.
M. Dempster, U. of Waterloo. School of Urban, and R. Planning. A self-organizing systems perspective
on planning for sustainability. University of Waterloo, 1998. URL http://books.google.com/
books?id=Uh4fcgAACAAJ.
101

BIBLIOGRAPHIE

B. Denis De Senneville, P. Desbarats, B. Quesson, and C. Moonen. Real-time artefact corrections for
quantitative mr temperature mapping. In Journal of WSCG, volume 11, No.1, pages 8794. WSCG,
2003.
T. Denux. A k-nearest neighbor classification rule based on dempster-shafer theory. IEEE Trans. on
Systems, Man and Cybernetics, 25(05):804813, 1995.
R. Descartes. Discours de la mthode: pour bien conduire sa raison et chercher la vrit dans les
sciences. Hachette, 1856.
M. Dorigo, V. Maniezzo, and A. Colorni. The ant system: Optimization by a colony of cooperating
agents. IEEE Trans. on Systems, Man and Cybernetics-Part B, 26(1):2941, 1996.

tel-00652445, version 1 - 15 Dec 2011

A. Drogoul. De la simulation multi-agents la rsolution collective de problmes. PhD thesis,


Universit Paris VI, 1994.
E. Duchesnay, J. . Montois, Y. Jacquelet, and A. Kinie. An agent-based implementation of irregular
pyramid for distributed image segmentation. In Emerging Technologies and Factory Automation,
2001. Proceedings. 2001 8th IEEE International Conference on, volume 1, pages 409415, 2001.
E. Duchesnay, J.-. Montois, and Y. Jacquelet. Cooperative agents society organized as an irregular
pyramid: A mammography segmentation application. Pattern Recognition Letters, 24(14):2435
2445, 2003.
J. C. Dunn. A Fuzzy Relative of the ISODATA Process and Its Use in Detecting Compact WellSeparated Clusters. Journal of Cybernetics, 3(3):3257, 1973.
J. Ferber. Les systmes multi-agents : vers une intelligence collective. Informatique, Intelligence
Artificielle. Interditions, 1995.
M. Fisher. An application oriented guide to lagrangian relaxation. Interfaces, 1985.
M. Flynn. Some computer organizations and their effectiveness. Computers, IEEE Transactions on,
C-21(9):948 960, sept. 1972.
L. Germond, M. Dojat, C. Taylor, and C. Garbay. A cooperative framework for segmentation of mri
brain scans. Artificial Intelligence in Medicine, 20(1):7793, 2000.
P. P. Grass. La reconstruction du nid et les coordinations interindividuelles chez bellicositermes
natalensis et cubitermes sp. La theorie de la stigmergie: essai dinterpretation du comportement des
termites constructeurs. Insectes Sociaux, 6:4181, 1959.
R. M. Haralick and L. Shapiro. Image segmentation techniques. Computer Vision, Graphics, and
Image Processing, 29(1):100 132, 1985. ISSN 0734-189X.
F. Harary and G. Gupta. Dynamic graph models. Mathematical and Computer Modelling, 25(7):
7988, 1997.
102

BIBLIOGRAPHIE

R. Haroun, F. Boumghar, S. Hassas, and L. Hamami. A massive multi-agent system for brain MRI
segmentation, volume 3446. LNAI, 2005.
A. L. G. Hayzelden and J. Bigham. Agent technology in communications systems: an overview.
Knowl. Eng. Rev., 14:341375, December 1999. ISSN 0269-8889.
F. Heylighen. The science of self-organization and adaptivity. In in: Knowledge Management,
Organizational Intelligence and Learning, and Complexity, in: The Encyclopedia of Life Support
Systems, EOLSS, pages 253280. Publishers Co. Ltd, 1999.
J. H. Holland. Adaptation in natural and artificial systems. MIT Press, Cambridge, MA, USA, 1992.
ISBN 0-262-58111-6.

tel-00652445, version 1 - 15 Dec 2011

S. Horowitz and T. Pavlidis. Picture Segmentation by a Directed Split-and-Merge Procedure. In Proc.


Second Intern. Joint Conf. on Pattern Recognition, pages 424433, Aug. 1974.
P. Huang, H. Cao, and S. Luo. An artificial ant colonies approach to medical image segmentation.
Computer Methods and Programs in Biomedicine, 92(3):267273, 2008.
M. Huguier and A. Flahault. Biostatistiques au quotidien. Elsevier, 2003. ISBN 9782842994013.
Y. Jacquelet, J. . Montois, E. Duchesnay, and A. Kinie. Combinatorial pyramid transposed to
behavioural space for object recognition process. In Systems, Man and Cybernetics, 2002 IEEE
International Conference on, volume 1, pages 212217, 2002.
J. James Odell. Agents and complex systems. Journal of Object Technology, 1(2):3545, 2002.
N. Jennings, K. Sycara, and M. Wooldridge. A roadmap of agent research and development. Autonomous Agents and Multi-Agent Systems, 1:738, 1998. ISSN 1387-2532.
J. Juntu, J. Sijbers, D. Van Dyck, and J. Gielen. Bias field correction for mri images. Computer
Recognition Systems, 30:18, 2005.
M. Kass, A. Witkin, and D. Terzopoulos. Snakes: Active contour models. International Journal Of
Computer Vision, 1(4):321331, 1988.
J. Kennedy and R. Eberhart. Particle swarm optimization. In Neural Networks, 1995. Proceedings.,
IEEE International Conference on, volume 4, pages 19421948, Aug. 2002.
V. Kovalevsky. Multidimensional cell lists for investigating 3-manifolds. Discrete Applied Mathematics, 125:2543, 2003.
P. J. M. Laarhoven and E. H. L. Aarts, editors. Simulated annealing: theory and applications. Kluwer
Academic Publishers, Norwell, MA, USA, 1987.
A. Lefohn, J. Cates, and R. Whitaker. Interactive, GPU-Based Level Sets for 3D Segmentation. In
MICCAI, pages 564572. Springer, 2003.
103

BIBLIOGRAPHIE

Y. Lesprance, H. Levesque, F. Lin, D. Marcu, R. Reiter, and R. Scherl. A logical approach to highlevel robot programming a progress report. In Control Of The Physiscal World By Intelligent
Systems: Papers From The 1994 AAAI Fall Symposium, pages 7985, 1994.
G. H. Lewes. Problems of Life and Mind Vol 2. Kegan Paul, Trench, Turbner, & Co., London, 1875.
P.-S. Liao, T.-S. Chen, and P.-C. Chung. A Fast Algorithm for Multilevel Thresholding. Journal of
Information Science and Engineering, 17:713727, 2001.
H. Liu. Two- and three-dimensional boundary detection. CGIP, 6(2):123134, April 1977.

tel-00652445, version 1 - 15 Dec 2011

J. B. Macqueen. Some methods of classification and analysis of multivariate observations. In


Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, pages
281297, 1967.
P. Maes. Artificial life meets entertainment: lifelike autonomous agents. Commun. ACM, 38:108114,
November 1995. ISSN 0001-0782.
I. N. Manousakas, P. E. Undrill, G. G. Cameron, and T. W. Redpath. Split-and-merge segmentation of
magnetic resonance medical images: performance evaluation and extension to three dimensions.
Comput. Biomed. Res., 31:393412, December 1998. ISSN 0010-4809.
T. McInerney and D. Terzopoulos. Deformable models in medical image analysis: a survey. Medical
Image Analysis, 1(2):91 108, 1996. ISSN 1361-8415.
S. Mostefaoui, O. Rana, N. Foukia, S. Hassas, G. Di Marzo-Serugendo, C. Van Aart, and A. Karageorgos. Self-Organising Applications: A Survey, 2003.
R. Moussa, M. Beurton-Aimar, M., G. Savin, and P. Desbarats. Image segmentation using socials
agents. 21 pages, Dec 2008.
R. Moussa, M. Beurton-Aimar, and P. Desbarats. On the use of social agents for image segmentation.
In International Conference on complex systems and applications (iccsa 2009), Le Havre, France,
Jun 2009a. 5 pages.
R. Moussa, M. Beurton-Aimar, and P. Desbarats. Multi-agent segmentation for 3d medical images.
In Information Technology and Applications in Biomedicine, 2009. ITAB 2009. 9th International
Conference on, pages 15, nov. 2009b.
R. Moussa, M. Beurton-Aimar, and P. Desbarats. Image processing on mr brain images using
social spiders. In F. Alkhateeb, E. Al Maghayreh, and I. Abu Doush, editors, Modeling, Control,
Programming, Simulations and Applications, pages 4568. Intech, 2011a. ISBN 978-953-307-1749.
R. Moussa, M. Beurton-Aimar, and P. Desbarats. Towards noise robust edge detection using ants
colonies in 3d medical mr images. System, pages 310, 2011b.
104

BIBLIOGRAPHIE

J. Mller and M. Pischel. An architecture for dynamically interacting agents. In CoopIS, pages
114121, 1994.
G. Nicolis and I. Prigogine. Self-Organization in Non-Equilibrium Systems. Wiley, New York, 1977.
M. Omran, A. Salman, and A. Engelbrecht. Dynamic clustering using particle swarm optimization
with application in image segmentation. Pattern Analysis and Applications, 8:332344, 2006. ISSN
1433-7541.
S. Osher and J. A. Sethian. Fronts propagating with curvature dependent speed [microform] : algorithms based on Hamilton-Jacobi formulations. National Aeronautics and Space Administration,
Langley Research Center, Hampton, Va. :, 1987.

tel-00652445, version 1 - 15 Dec 2011

N. Otsu. A threshold selection method from gray-level histograms. IEEE Transactions on Systems,
Man and Cybernetics, 9(1):6266, Jan. 1979.
H. V. Parunak. "Go to the ant": Engineering principles from natural multi-agent systems. Annals of
Operations Research, 75(1):69101, 1997. ISSN 0254-5330.
C. A. Petri. Introduction to general net theory. In W. Brauer, editor, Advanced Course: Net Theory
and Applications, volume 84 of Lecture Notes in Computer Science, pages 119. Springer, 1975.
ISBN 3-540-10001-6.
D. Pham. Robust fuzzy segmentation of magnetic resonance images. In Proceedings of the Fourteenth
IEEE Symposium on Computer-Based Medical Systems, CBMS 01, pages 127, Washington, DC,
USA, 2001. IEEE Computer Society.
D. L. Pham, C. Xu, and J. L. Prince. A Survey of Current Methods in Medical Image Segmentation.
Annual Review of Biomedical Engineering, pages 315338, 2000.
J. Rajapakse, J. Giedd, and J. Rapoport. Statistical approach to segmentation of single-channel cerebral
mr images. IEEE Trans. Med. Imaging, 16(2):176186, 1997.
A. Rao and M. Georgeff. An abstract architecture for rational agents. In C. Rich, W. Swartout, and
B. Nebel, editors, Proceedings of Knowledge Representation and Reasoning (KRgR-92), pages
439442, 1992.
N. Richard, M. Dojat, and C. Garbay. Automated segmentation of human brain mr images using a
multi-agent approach. Artificial Intelligence in Medicine, 30(2):153175, 2004.
N. Richard, M. Dojat, and C. Garbay. Distributed markovian segmentation: Application to mr brain
scans. Pattern Recognition, 40(12):34673480, 2007.
T. Ridler and S. Calvard. Picture thresholding using an iterative slection method. Ieee Transactions
On Systems Man And Cybernetics, 8(Aug):630632, 1978.
105

BIBLIOGRAPHIE

S. Ruan, C. Jaggi, J.-H. Xue, M.-J. Fadili, and D. Bloyet. Brain tissue classification of magnetic
resonance images using partial volume modeling. IEEE Trans. Med. Imaging, pages 11791187,
2000.
S. Russell, P. Norvig, J. Candy, J. Malik, and D. Edwards. Artificial intelligence: a modern approach.
Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1996. ISBN 0-13-103805-2.
T. Sandholm. Distributed rational decision making, 1999.
B. Scherrer, M. Dojat, F. Forbes, and C. Garbay. Mrf agent based segmentation: Application to mri
brain scans. In Proceedings of the 11th conference on Artificial Intelligence in Medicine, AIME
07, pages 1323, Berlin, Heidelberg, 2007. Springer-Verlag. ISBN 978-3-540-73598-4.

tel-00652445, version 1 - 15 Dec 2011

J. Serra. Image Analysis and Mathematical Morphology. Academic Press, Inc., Orlando, FL, USA,
1983. ISBN 0126372403.
J. Sijbers, A. Den Dekker, A.-J. Den Dekker, P. Scheunders, and D. Van Dyck. Maximum-likelihood
estimation of rician distribution parameters. IEEE Transactions on Medical Imaging, 17:357361,
1998.
L. Steels. Towards a theory of emergent functionality. In Proceedings of the first international
conference on simulation of adaptive behavior on From animals to animats, pages 451461,
Cambridge, MA, USA, 1990. MIT Press. ISBN 0-262-63138-5.
D. Terzopoulos, A. Witkin, and M. Kass. Constraints on deformable models:Recovering 3D shape
and nonrigid motion. Artificial Intelligence, 36(1):91123, Aug. 1988.
D. W. Thompson. On Growth and Form. Cambridge University Press, 1992.
P. Thompson and A. Arthur Toga. Detection, visualization and animation of abnormal anatomic
structure with a deformable probabilistic brain atlas based on random vector field transformations.
Medical Image Analysis, 1(4):271294, 1997.
O.-D. Trier and A.-K. Jain. Goal-directed evaluation of binarization methods, 1995.
J. Wansapura, S. Holland, R. Dunn, and W. Ball. Nmr relaxation times in the human brain at 3.0 tesla.
Journal of Magnetic Resonance Imaging, 9(4):531538, 1999. ISSN 1522-2586.
D. Weyns and T. Holvoet. Architecture-centric software development of situated multiagent systems.
In Proceedings of the 7th international conference on Engineering societies in the agents world
VII, ESAW06, pages 6285, Berlin, Heidelberg, 2007. Springer-Verlag. ISBN 3-540-75522-5,
978-3-540-75522-7.
M. Wooldridge and N. Jennings. Intelligent agents: Theory and practice. Knowledge Engineering
Review, 10:115152, 1995.
106

BIBLIOGRAPHIE

J.-H. Xue, S. Ruan, B. Moretti, M. Revenu, and D. Bloyet. Knowledge-based segmentation and
labeling of brain structures from mri images. Pattern Recogn. Lett., 22:395405, March 2001.
ISSN 0167-8655.
X. Zenglin, H. Kaizhu, Z. Jianke, K. Irwin, and M. R.L. Kernel maximum a posteriori classification
with error bound analysis. In M. Ishikawa, K. Doya, H. Miyamoto, and T. Yamakawa, editors,
Neural Information Processing, 14th International Conference, ICONIP 2007, Kitakyushu, Japan,
November 13-16, 2007, Revised Selected Papers, Part I, volume 4984 of Lecture Notes in Computer
Science, pages 841850. Springer, 2007. ISBN 978-3-540-69154-9.

tel-00652445, version 1 - 15 Dec 2011

S. Zucker and R. Hummel. A three-dimensional edge operator. PAMI, 3(3):324331, May 1981.

107

tel-00652445, version 1 - 15 Dec 2011

Table des figures


1.1

Relation unissant lenvironnement et lensemble des agents. . . . . . . . . . . . . . . . .

1.2

Principe de la raction dun agent ractif sur une environnement partir de son cycle de vie.

1.3

Lmergence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

1.4

Lauto-organisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

1.5

La stigmergie (De Wolf, 2007). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

2.1

Le principe de la caractrisation des tissus de limage. . . . . . . . . . . . . . . . . . . .

21

2.2

Coupe du cerveau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.3

Exemples de seuillage simple et multiple sur deux histogrammes. . . . . . . . . . . . . .

27

2.4

Segmentation extraite de (Haroun et al., 2005) : (a) image originale et (b) image segmente
en MB, MG et LCR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

2.5

Segmentation extraite de (Scherrer et al., 2007) : (a) image originale, (b) image segmente
dcompose en blocs et (c) lhistogramme de la reprsentation des tissus dans le bloc rouge. 34

2.6

Segmentation extraite de (Germond et al., 2000) : (a) image originale et (b) image
segmente en MB, MG et LCR et les contours les englobant. . . . . . . . . . . . . . . .

35

Segmentation extraite de (Bourjot et al., 2003) : (a) image originale et (b) image segmente
en 4 rgions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

Segmentation extraite de (Huang et al., 2008) : (a) image originale et (b) image segmente
en MB, MG et LCR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

Segmentation extraite de (Benamrane and Nassane, 2007) : (a) image originale et (b)
extraction de contours par croissance de rgions. . . . . . . . . . . . . . . . . . . . . . .

37

2.10 Segmentation extraite de (Richard et al., 2004) : (a) image originale dcompose en
blocs, (b) image segmente dcompose en blocs, (c) lhistogramme de limage, (d)
lhistogramme du bloc noir de limage originale et (e) lhistogramme du bloc noir de
limage segmente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

3.1

Chaine de segmentation en rgions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

3.2

Cycle de vie des agents-araignes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

3.3

Slection des informations colorimtries pour les colonies daraignes : (a) Histogramme
de limage, (b) Histogramme liss et slection des maxima et minima locaux, (c) intervalles de recherche pour les diffrentes colonies. . . . . . . . . . . . . . . . . . . . . . .

48

Le voisinage dun voxel : (a) 6-voisins, (b) 18-voisins et (c) 26-voisins. . . . . . . . . . .

50

2.7
2.8
2.9

3.4
108

Table des figures

3.5
3.6

tel-00652445, version 1 - 15 Dec 2011

3.7
3.8
3.9
3.10
3.11

3.12
3.13
3.14
3.15
3.16

3.17
3.18
4.1
4.2
4.3
4.4
4.5
4.6
4.7

Voisinage dun voxel : (a) reprsentation de lenvironnement, (b) reprsentation des fils,
les voxels tisss reprsentent les nuds en rouge. . . . . . . . . . . . . . . . . . . . . .
Les tapes de la segmentation en rgions : (a) image initiale, (b) image jour par les
informations des fils, (c) les informations des fils et (d) limage segmente. . . . . . . . .
Lextraction des voxels en comptition : (a) image segmente et (b) image de comptition.
Chaine de segmentation en contours. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Les lments inter-voxels : (a) voxel, (b) surfel, (c) lignel et (d) pointel. . . . . . . . . .
Le codage inter-voxels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Voisinage dun point : (a) cas dun partitionnement en voxels : les voxels en gris sont les
voxels non visits, les voxels verts sont les voxels phromons et le voxel en jaune est la
dernire position do vient la fourmi, (b) cas du partitionnement inter-voxels : les lignels
en rouges sont ceux non visits, les lignels en vert sont ceux dj phromons et le lignel
jaune reprsente la dernire voie travers par la fourmi. . . . . . . . . . . . . . . . . . .
Calcul du poids de lorientation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Les diffrents cas dorientation : (a) cas 1, (b) cas 2, (c) cas 3, (d) cas 4. . . . . . . . . .
Reprsentation du calcul de la variation dintensit sur un surfel. . . . . . . . . . . . . .
Lextraction des voxels contours : (a) image origine et (b) image segmente en contours.
Lextraction des voxels contours : (a) image origine, (b) les lignels phromons, (c) le
graphe des lignels et (d) limage segmente en contours par les voxels reprsentants des
lignels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ordonnancement des agents. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Architecture dIPSiMAS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interface du simulateur BrainWeb : choix des paramtres. . . . . . . . . . . . . . . . . .
La coupe 94, reprsentant les diffrents "fantmes" utiliss : (a) La vrit terrain, (b) 0%
de bruit, (c) 1% de bruit, (d) 3% de bruit, (e) 5% de bruit, (f) 7% de bruit, (g) 9% de bruit.
La reprsentation du premier masque de loprateur de Sobel en 3D. . . . . . . . . . . .
La combinaison la plus optimale pour la slection de paramtres pour diffrents niveaux
de bruit : (a) 0%, (b) 1%, (c) 3%, (d) 5%, (e) 7%, (f) 9%. . . . . . . . . . . . . . . . . .
Segmentation en rgions : corrlation de Spearman. . . . . . . . . . . . . . . . . . . . .
La combinaison la plus optimale pour la slection de paramtres pour diffrents niveaux
de bruit : (a) 0%, (b) 1%, (c) 3%, (d) 5%, (e) 7%, (f) 9%. . . . . . . . . . . . . . . . . .
Dtection de contours : (a) sensibilit (SE), (b) spcificit (SP). . . . . . . . . . . . . . .

51
56
57
57
61
62

63
64
65
65
67

68
71
72
77
78
84
88
89
92
95

A.1 Architecture dun GPU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115


A.2 Gestion des Block Thread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A.3 Les performances : (a) araignes, (b) fourmis. . . . . . . . . . . . . . . . . . . . . . . . 122

109

tel-00652445, version 1 - 15 Dec 2011

Liste des tableaux


3.1

Les paramtres de chaque colonie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

45

4.1
4.2

"Fantme" BrainWeb : Les diffrents lments de la partition. . . . . . . . . . . . . . .


VP (Vrais Positifs) sont les voxels de contours qui ont t bien segments, FN (Faux
Ngatifs) sont les faux contours, VN (Vrais Ngatifs) sont les voxels du fond qui ont t
bien dtects et FP (Faux Positifs) sont les voxels qui ont t des voxels de contours et
sont devenus des voxels de fond. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rsultats qualitatifs : segmentation dimages avec diffrentes valeurs de bruit. . . . . . .
Rsultats quantitatifs : segmentation dimages avec diffrentes valeurs de bruit. . . . . .
Rsultats qualitatifs : dtection de contours avec diffrents valeurs de bruit. . . . . . . .
Rsultats quantitatifs : dtection de contours avec diffrentes valeurs de bruit. . . . . . .

79

4.3
4.4
4.5
4.6

86
90
91
94
95

A.1 Organisation du kernel lanc sur le GPU en blocs de threads et grilles de blocks. Chaque
thread dun bloc a un identifiant (par exemple, coordonne 1D) unique au bloc. De mme
chaque bloc de la grille a un identifiant unique. On peut accder un thread particulier
connaissant la taille des blocs de la grille. Dans nos modles, lagent est le thread. . . . . 115
A.2 Les informations sur les mmoires du GPU. . . . . . . . . . . . . . . . . . . . . . . . . 116

110

Annexe

tel-00652445, version 1 - 15 Dec 2011

Implmentation
Les mthodes dveloppes dans le chapitre prcdent sont gourmandes en temps de calculs. Elles
sont donc peu exploites pour des applications de segmentation dimages volumineuses. Une faon de
diminuer la dure des traitements consiste parallliser les simulations des mthodes.
La paralllisation consiste excuter des calculs de faon simultane, en divisant un problme en
sous problmes, excuts en parallle sur des architectures matrielles compatibles. Elle soppose la
programmation squentielle, qui consiste excuter des instructions les unes la suite des autres sur
un processeur. Lors de la paralllisation dune application, il faut aussi bien considrer la mthode de
paralllisation que la machine employe. La mthode de paralllisation dpend de lapplication elle
mme, tandis que le choix du matriel doit tre pris en compte selon son disponibilit et son prix.

A.1

Catgories de Paralllisation

Afin quune application bnficie de la paralllisation, il est dabord ncessaire didentifier les
portions de celle-ci susceptibles dtre paralllises. Lapplication pourra alors tre subdivise en
portions parallles et squentielles. Le traitement impliqu dans les portions parallles doit ensuite
subir une dcomposition qui peut tre effectue de deux faons :
1. Paralllisation de tches : Le traitement est lui-mme dcompos en sous-tches. Ces
dernires seront excutes sous formes de threads ou de processus. Elles seront rparties
sur diffrentes units de calcul par le systme dexploitation. Le temps dexcution dune
portion parallle est alors rduite au temps dexcution de la tche la plus longue.
2. Paralllisme de donnes : Dans le cas ou un mme traitement est rpt plusieurs fois sur
diffrentes donnes, on peut alors distribuer ces donnes sur les units de calcul et traiter
chaque donne en parallle. On parle alors de paralllisation de donnes. Chaque processeur
ralise la mme tche sur diffrents lments dun ensemble de donnes. La paralllisation de
111

ANNEXE A. IMPLMENTATION

tel-00652445, version 1 - 15 Dec 2011

donnes ncessite que les donnes soit distribues, et nest donc compatible quavec certaines
applications. Un bon exemple dapplication adapte ce type de paralllisme est laddition de
2 matrices. Idalement, chaque processeur se voit attribuer une case de la matrice et ralise
lopration daddition. Lacclration du traitement ne dpend pas, dans ce cas, du traitement
lui-mme mais seulement de la taille des donnes et du nombre dunits de calcul disposition.
Selon les applications, on pourra parallliser un traitement selon lun de ces paradigmes, selon les
deux, ou bien pas du tout si celui-ci est strictement squentiel et que les donnes ne sont pas de nature
distribue.
Dans le cadre des SMA, les deux types de paralllisation peuvent tre envisags. Les systmes
comportant peu dagents de types diffrents, comme ceux impliqus dans les architectures logicielles,
peuvent bnficier de la paralllisation de tche. Si le systme contient un nombre important dagents
au comportement similaire, comme dans notre cas, la paralllisation de donnes est plus adapte.
Limage constitue lenvironnement des agents, cest dire les donnes traiter, et les agents qui
excutent tous le mme code sont rpartis sur les processeurs.

A.2

Modles de paralllisation

Pour choisir le modle de paralllisation qui convient le mieux aux SMA, nous avons tudi la
taxonomie de Flyn, une classification des architectures ordinateur selon le flux dinstructions et de
donnes (Flynn, 1972). 4 architectures ont t proposes :
1. SISD (Single Instruction, Single Data) : son rle est dexcuter une instruction sur une
donne. Elle correspond aux ordinateurs mono-coeur ;
2. SIMD (Single Instruction, Multiple Data) : son rle est dexcuter linstruction paralllement
sur plusieurs donnes. Elle correspond un ordinateur qui utilise la paralllisation au niveau
des donnes, comme celles quips de GPU ;
3. MISD (Multiple Instruction, Simple Data) : son rle est dexcuter des instructions diffrentes sur la mme donne. Ce type darchitecture est rarement utilis ;
4. MIMD (Multiple Instruction, Multiple Data) : son rle est dexcuter plusieurs instructions sur plusieurs donnes. Les processeurs sont alors autonomes et fonctionnent de manire
asynchrone. Elle correspond un ordinateur quip dun ou de plusieurs CPU multi-coeurs.
partir des besoins des SMA, nous avons considr que les deux architectures MIMD et SIMD sont
les plus adapts. Gnralement, on distingue deux types de mmoires :
1. Mmoire distribue : chaque processeur son propre espace mmoire qui ne peut pas tre
accd par les autres processeurs. Toute communication entre les processeurs doit alors passer
par un rseau dinterconnexions. Par exemple, la biblithque MPI (Message Parssing Interface) 1
est consacre des architectures qui utilisent ce type de mmoire;
1. http://www.mcs.anl.gov/research/projects/mpi/

112

A.3. PROGRAMMATION GPGPU

2. Mmoire partage : tous les processeurs partagent la mme espace mmoire. Ils peuvent
accder cette mmoire via un espace dadressage global. Lusage de ces architectures ncessite
de grer les conflits daccs une mme zone. Une mmoire partage peut tre encore mule
de faon logicielle sur une architecture mmoire distribue (par exemple, celle contenant un
GPU). On parle ainsi de mmoire partage virtuelle.

tel-00652445, version 1 - 15 Dec 2011

Le choix dune mmoire partage est lui essentiel pour nos modles. En effet, les agents partagent
le mme environnement, et devront avoir un accs direct aux modifications faites par les autres agents
sur lenvironnement.
Nous avons choisi dutiliser les GPU, architectures spcialises dans le traitement de donnes
graphiques et prsents dans la plupart des ordinateurs de bureaux. Les GPU, qui disposent dune
mmoire partage, sont de plus en plus utiliss dans le cadre de la paralllisation en raison de leur
prix comparable un CPU multi-coeurs et de leurs performances qui peuvent tre jusqu 100 fois
suprieures ces mmes CPU, selon lapplication concerne.

A.3

Programmation GPGPU

La programmation GPGPU (General Purpose computing on Graphic Processing Units) consiste


utiliser les GPU, prsents sur les cartes graphiques et initialement prvus pour effectuer des calculs
lis au rendu graphique 3D. Ils sont utiliss dans des domaines comme le traitement audio/vido, les
calculs scientifiques et les simulations. Ils peuvent tirer avantage du type de paralllisation massive li
au fonctionnement du GPU.
Larchitecture des GPU est conue pour excuter des calculs massivement parallles, selon
le mode de fonctionnement SIMD prsent dans la section A.2. Ils sont composs de centaines
dunits de calcul capables dexcuter un mme traitement en parallle. Ils montrent un intrt pour
les applications paralllisables par une partage de donne. Leur utilisation prsente de nombreux
avantages :
1. De fortes possibilits dacclrations de performances, variables selon les proprits de lapplication.
2. Organisation des processeurs du GPU autour dune mmoire partage.
3. Cot de plus en plus rduit par rapport la plupart des autres architectures parallles pouvant
tre envisages.
4. Disponibilit sur la plupart des ordinateurs de bureau.
Le premier inconvnient dune programmation GPU reste nos jours la ncessit dune rorganisation ou de la rcriture du code de lapplication pour ladapter au modle de programmation GPU.
Le deuxime inconvnient est la limitation de la taille de la mmoire prsente sur le GPU (quelques
GO). De plus les changes de donnes entre les mmoires du GPU et du CPU doivent tre rduits au
minimum en raison du faible dbit du bus PCI-Express qui les relient. Toutefois les GPU sont de plus
en plus utiliss pour lacclration dapplications grce au dveloppement de plateformes ddies
113

ANNEXE A. IMPLMENTATION

OpenCL (Open Computing Language) 2 et CUDA (Computed Unified Device Architecture) 3 , qui
facilitent la programmation GPGPU.

tel-00652445, version 1 - 15 Dec 2011

CUDA
Elle est dveloppe depuis 2007 par Nvidia. Elle est compatible avec tous les systmes dexploitation. Elle fournit un SDK, une API bas niveau (CUDA driver) et une API de haut niveau (CUDA
Runtime). Des interfaces vers lAPI Runtime sont disponibles dans de nombreux langages dont C++,
Java, etc. Sa principal limitation est de permettre seulement la programmation des GPU de marque
Nvidia. Elle permet de programmer la carte graphique via un langage driv du langage C avec des
extensions/restrictions (C for CUDA). Certaines fonctionnalits du langage C++ ont t intgres
dans les dernires versions, permettant une programmation de haut niveau (classes, templates, etc)
tout en restant linaire en terme de stockage de donnes. Elle bnficie de mises jour rgulires, et
dun grand nombre de documentation/tutoriels.
OpenCL
Initie en 2009 par le Khronos group. Elle fournit une API et un langage de programmation des
GPU driv de la norme C99. Chaque spcification OpenCL constitue un standard libre, que les
diffrents constructeurs doivent suivre dans leur implmentation dOpenCL. Son principal avantage
est son aspect multi-architecture. En effet, elle permet de programmer aussi bien sur des GPU Nvidia
quAMD. LAPI OpenCL est similaire lAPI CUDA Runtime, et les mmes interfaces peuvent tre
utilises. Le langage de programmation du GPU ne possde pas de fonctionnalit de haut-niveau
comme celles de CUDA pour linstant, de plus des restrictions par rapport au C99 ont t ajoutes.
Ainsi des fonctionnalits comme les pointeurs de fonctions, la rcursivit et les tableaux / structures
taille variable sont interdits. En terme de performances, OpenCL est lgrement infrieur CUDA sur
des GPU Nvidia.

A.4

Mise en uvre

Les principes de bases de la programmation GPU, avec CUDA ou OpenCL, sont quasiment les
mmes. On distingue dans une application GPU une partie hte qui correspond aux instructions
excutes sur le CPU, et la partie machine qui sera excute sur larchitecture cible (figure A.1).
Le code hte gre le transfert des donnes vers et depuis la mmoire du GPU, et joue le rle
dordonnanceur pour lexcution du code machine. Tous les aspects de chargement des paramtres et
dinitialisation dune simulation devront tre grs sur la partie hte, de mme pour le traitement des
rsultats. La partie machine concernera uniquement les agents et leur comportement durant chaque
pas de temps. Le code machine dans le domaine du GPGPU est appel noyau 4 . Un noyau sera excut
sur chaque unit de calcul du GPU.
2. www.khronos.org/OpenCL/
3. http://www.nvidia.com/object/cuda_home_new.html
4. kernel en anglais

114

A.4. MISE EN UVRE

Figure A.1: Architecture dun GPU.

tel-00652445, version 1 - 15 Dec 2011

CUDA
Grid
Thread Block
Thread
Thread ID
Block Index
Thread Index

OpenCL
NDRange
Work Group
Work Item
Global Id
Block Id
Local ID

Table A.1: Organisation du kernel lanc sur le GPU en blocs de threads et grilles de blocks. Chaque
thread dun bloc a un identifiant (par exemple, coordonne 1D) unique au bloc. De mme chaque bloc
de la grille a un identifiant unique. On peut accder un thread particulier connaissant la taille des
blocs de la grille. Dans nos modles, lagent est le thread.

Le modle dexcution dun noyau (figure A.2) est bas sur une grille de calcul un niveau de
granularit initialis et pouvant profiter des informations dcrites dans la table A.1. CUDA ou OpenCL
dispose de trois niveaux de granularit que ce soit pour les blocks ou les threads. Premirement cette
grille est divise en plusieurs Thread Block. Ceux-ci sont excuts indpendamment des autres Thread
Block, et dans un ordre qui ne peut pas tre contrl par le programmeur. Un Thread Block est son
tour subdivis en plusieurs Thread.

Figure A.2: Gestion des Block Thread.


Pour adapter notre modle agent ce systme, le noyau doit correspondre au cycle de vie dun
agent. Chaque Thread sera donc une instance de lagent.
115

ANNEXE A. IMPLMENTATION

CUDA
Global Memory
Local Memory
Constant Memory
Texture Memory
Shared Memory
Registers

OpenCL
Global Memory
Global Memory
Constant Memory
Global Memory
Local Memory
Private Memory

Table A.2: Les informations sur les mmoires du GPU.

A.4.1

Diffrents types de mmoire

tel-00652445, version 1 - 15 Dec 2011

Les Thread excutant un noyau ont accs plusieurs espaces mmoires (table (A.2)), qui diffrent
par leur latence, leur visibilit depuis les diffrents Thread et Thread Block, et leurs tailles. Une utilisation adapte des diffrents types de mmoires pourra influencer considrablement les performances
de lapplication. Les GPU de NVIDIA disposent de 6 types de mmoires :
1. Mmoire globale (Global Memory) : elle permet un accs en lecture/criture tous les Thread
et Thread Block. Cest la mmoire la plus importante en terme despace avec une taille de
quelques GO. Cependant, elle est la plus lente en terme daccs aux donnes. Elle a la dure de
vie de la simulation ;
2. Mmoire Texture (Global Memory) : elle est une drive de la mmoire globale. Elle possde
un accs en lecture seule tous les Thread et Thread Block. Elle est plus rapide que la mmoire
globale en terme daccs aux donnes. Comme pour la mmoire globale, elle a la dure de vie
de la simulation ;
3. Mmoire Locale (Local Memory) : elle rside dans la mmoire globale. Elle est utilise en
recours des registres.
4. Mmoire Constante (Constant Memory) : elle correspond une mmoire en lecture seule,
accessible tous les Thread. Sa taille est faible de quelques KO. Elle est cache et dune dure
de vie de la simulation. Elle possde une meilleure latence que celle de la mmoire globale.
Elle doit tre alloue et initialise du cot hte ;
5. Mmoire partage (Shared Memory) : elle correspond mmoire cache accessible en
lecture/criture par tous les Thread Block. Sa taille est aussi faible de quelques KO. elle possde
la dure de vie dun Thread Block.
6. Registres (Private Memory) : ils correspondent aux variables alloues pour chaque Thread.
Sa taille est galement faible de quelques KO. Sil y aura un dpassement de taille, cest la
mmoire locale qui sen charge pour allouer les nouvelles variables. Les variables alloues ont
la dure de vie dun Thread.
Donc, Les donnes de la simulation devront, dans un premier temps, tre charges sur les mmoires
globales et textures. Il est donc ncessaire de profiter des autres mmoires prsentes dans les GPU
pour faire les optimisations.
116

A.4. MISE EN UVRE

A.4.2

Le noyau

Le noyau implmente le cycle de vie des agents. Cest lui qui va sexcuter dune faon parallle.
Nous dtaillerons ii les modalits de lutilisation des diffrentes mmoires des GPU pour profiter
au maximum de leurs caractristiques. Les donnes utiles pour le processus de segmentation sont
divises en 2 catgories :
1. Celles en lecture seule envoyes la mmoire de texture.

tel-00652445, version 1 - 15 Dec 2011

2. Celles en lecture/criture envoyes la mmoire globale.


Pour initialiser le processus de segmentation par les araignes, nous envoyons les informations de
niveaux de gris de limage et celles des paramtrages des colonies la mmoire de texture puisquils
sont non modifiables. Les informations relatives aux fils et celles aux agents seront envoyes la
mmoire globale. Ce sont eux qui vont tre modifi au cours de la simulation. Les agents vont se
propager pendant un nombre de pas de temps et modifier leurs propres informations et celles des fils
tisss au cours de la simulation. De la mme manire, pour la segmentation par les fourmis, nous
envoyons les informations de niveaux de gris et du gradient de limage pr-calcul lavance par un
autre noyau sur la mmoire de texture. Les informations relatives aux phromones et aux agents seront
envoyes la mmoire globale. Au cours de la simulation, les phromones vont tre modifies et les
agents vont mettre jour leurs informations personnelles. Quelque soit le processus de segmentation
dploy, nous avons utilis la mmoire partage pour calculer le voisinage de chaque agent. Cette
mmoire nous a permis doptimiser le calcul du voisinage puisque les agents vont se dplacer le plus
souvent dans le voisinage local.
Algorithme du processus de segmentation sur un GPU
La gestion de cet algorithme ne passe pas par lordonnanceur puisque cest le GPU qui gre les
excutions de faon asynchrone. Dsormais, le nombre dagents ninfluence plus important le temps
de simulation puisquils sont tous traits simultanment. Lalgorithme se droule en 5 tapes :
1. Cration des agents ;
2. Envoi des donnes du CPU vers GPU ;
3. Pour un nombre de pas de temps, excution du noyau compos du cycle de vie de lagent ;
4. Rcupration des donnes du GPU vers CPU ;
5. Analyse des donnes et construction limage.
Au niveau de complexit, lalgorithme des araignes passe de
O(Clissage + C InitAgent + CCond COrdonnancer NbAgent CCycle + CConstruireImage )

O(Clissage + C InitAgent + CCond CCycle + CConstruireImage )


Tandis que lalgorithme des fourmis devient passe de
O(CCond (COrdonnancer + NbAgent CCycle + C Evaporer ) + CConstruireImage )
117

ANNEXE A. IMPLMENTATION

O(CCond (CCycle + C Evaporer ) + CConstruireImage )

Code du cycle de vie de lagent


Ce code prsente le moyau d un cycle de vie dun agent-araigne en langage CUDA.


__global__ void SEG_RunKernelSpider(AGE_Spider *Gpucolonies,

ENV_SilksSpiders *Gpusilksin, ENV_SilksSpidersOut *Gpusilksout, float


* Gpucolors, float *Cudaparam , ushort *Gpuintensities, uint *
Gpuvisited, uint *Gpustatglobal, uint *Gpustatcol , uint NbAgent, uint

tel-00652445, version 1 - 15 Dec 2011

NbColonies, uint DimX, uint DimY, uint DimZ, Rand48 RandomVar)


2

// Thread index

uint idx = blockIdx.x * blockDim.x + threadIdx.x;

if (idx >= NbAgent)

return;

int tid = threadIdx.x;

uint idc , ida, numagentcol;

numagentcol = NbAgent / NbColonies;

10

idc = idx/numagentcol;

11

ida = idx%numagentcol;

12

__shared__ struct Voisinage Voisins[MAXTHREAD];

13

bool nothing = false, newsilk = false;

14

float weight = 0.;

15

uint newpos = 0;

16

//Perception

17

Gpucolonies[idc*numagentcol+ida].AGE_DiscretePerception(Gpusilksout, &
Voisins[tid] , Gpuvisited, idc, ida, &nothing , DimX, DimY, DimZ);

18

//Decision

19

Gpucolonies[idc*numagentcol+ida].AGE_DiscreteDecision(Gpusilksin,
Gpusilksout, Voisins[tid], Cudaparam, Gpucolors, Gpuintensities, idc,
Gpuvisited, Gpustatglobal,nothing, &newpos, &newsilk, &weight , DimX,
DimY, DimZ, RandomVar);

20

//Action

21

Gpucolonies[idc*numagentcol+ida].AGE_DiscreteAction(Gpusilksin,
Gpusilksout, CudaParam, newpos, weight, newsilk, Gpuvisited,
Gpustatglobal, Gpustatcol, idc, DimX, DimY, DimZ);

22

La mise en oeuvre de verion parallle avec CUDA ou OpenCL ncessite toujours lcriture des
morceaux de code totalement spcifique qui seront ensuite compils avec le compilateur associ (nvcc
ou g++ avec un lien dynamique avec les libraires associes).
118

A.4. MISE EN UVRE

Le traitement de la rpartition des donnes sur les mmoires et des threads sur les blocks (tape 2)
seffectue de la manire suivante :



1

// Send Read/Write data to the global memory.

2
3

// Colonies.

cutilSafeCall(cudaMalloc((void**)&cudacolonies, Taille(cpucolonies) ));

cutilSafeCall(cudaMemcpy(cudacolonies, cpucolonies, Taille(cpucolonies),


cudaMemcpyHostToDevice));

cudaCheckError("Copy from host to device error-Colonies");

7
8

// Silks.

cutilSafeCall(cudaMalloc((void**)&cudasilksin, Taille(cpusilksin) ));

10

cutilSafeCall(cudaMemcpy(cudasilksin, cpusilksin, Taille(cpusilksin),

tel-00652445, version 1 - 15 Dec 2011

cudaMemcpyHostToDevice));
11

cudaCheckError("Copy from host to device error-silkin");

12
13

cutilSafeCall(cudaMalloc((void**)&cudasilksout, Taille(cpusilksout) ));

14

cutilSafeCall(cudaMemcpy(cudasilksout, cpusilksout, Taille(cpusilksout),


cudaMemcpyHostToDevice));

15

cudaCheckError("Copy from host to device error-silkout");

16
17

// Statistics.

18

cutilSafeCall(cudaMalloc((void**)&cudavisited, Taille(cpuvisited) ));

19

cutilSafeCall(cudaMemcpy(cudavisited, cpuvisited, Taille(cpuvisited) ,


cudaMemcpyHostToDevice));

20

cudaCheckError("Copy from host to device error-visited");

21
22

cutilSafeCall(cudaMalloc((void**)&cudastatglobal, Taille(cpustatglobal) )
);

23

cutilSafeCall(cudaMemcpy(cudastatglobal, cpustatglobal, Taille(


cpustatglobal), cudaMemcpyHostToDevice));

24

cudaCheckError("Copy from host to device error-Statglobal");

25
26

cutilSafeCall(cudaMalloc((void**)&cudastatcol, Taille(cpustatcol)));

27

cutilSafeCall(cudaMemcpy(cudastatcol, cpustatcol, Taille(cpustatcol),


cudaMemcpyHostToDevice));

28

cudaCheckError("Copy from host to device error-Stat"col);

29
30
31

// Send readonly memory to the texture memory / till now they are
attached to the global memory.

32

119

ANNEXE A. IMPLMENTATION

33

// Color information for each colony.

34

cutilSafeCall(cudaMalloc((void**)&cudacolors, Taille(cpucolors)));

35

cutilSafeCall(cudaMemcpy(cudacolors, cpucolors, Taille(cpucolors),


cudaMemcpyHostToDevice));
cudaCheckError("Copy from host to device error-colors");

36
37
38
39

//Sils attractions and saturation information.

40

cutilSafeCall(cudaMalloc((void**)&cudaparam, Taille(cpuparam)));

41

cutilSafeCall(cudaMemcpy(cudaparam, cpuparam, Taille(cpuparam),


cudaMemcpyHostToDevice));
cudaCheckError("Copy from host to device error-Param");

42

tel-00652445, version 1 - 15 Dec 2011

43
44

// Gray level of the voxels.

45

cutilSafeCall(cudaMalloc((void**)&cudaintensities, Taille(cpuintensities)
));
cutilSafeCall(cudaMemcpy(cudaintensities, cpuintensities, Taille(

46

cpuintensities), cudaMemcpyHostToDevice));
cudaCheckError("Copy from host to device error-Intensities");

47
48
49

// Create blocks and threads for the system.

50

uint numThread = MAXTHREAD;

51

uint numBlock = NbAgent / numThread + (NbAgent % numThread > 0 ? 1 : 0);

52

dim3 dimBlock(numThread);

53
54

dim3 dimGrid(numBlock);

Il est noter que la dclaration des mmoires de textures doit tre faite de manire globale pour
que tout les fichiers du programmes puissent accder ces informations. Nous allons donnes les
points importants pour crer la mmoire texture. Tout dabord, il faut crer des variables globales de
texture visibles par tout le programme. Aprs cette tape, les donnes sont initialises dans la mmoire
globale puis affecter la mmoire de texture. Par exemple, pour affect les intensits de limage la
mmoire de texture, nous avons avons besoin de suivre la procdure suivante :

1

// Creation of the global variable of the texture memory, in our case it


is in 3D.

texture<ushort, 3, cudaReadModeElementType> texcudaintensities;

// Create the memory on the GPU side.

cutilSafeCall(cudaMalloc((void**)&cudaintensities, Taille(cpuintensities)
));

cutilSafeCall(cudaMemcpy(cudaintensities, cpuintensities, Taille(


cpuintensities), cudaMemcpyHostToDevice));

120

cudaCheckError("Copy from host to device error-Intensities");

A.4. MISE EN UVRE

7
8

//Linking the global memory to the texture memory in order to be cached.


cudaBindTexture(0, texcudaintensities, cudaintensities, Taille(

cpuintensities));
10
11

// Setting the options.

12

texcudaintensities.normalized = false;

13

texcudaintensities.filterMode = cudaFilterModePoint;

tel-00652445, version 1 - 15 Dec 2011

Laffection de ces donnes la mmoire de texture induit la suppression des paramtres qui les
reprsentent du noyau et de tout les fonctions excutes sur la partie GPU.
Lagent-fourmi a exactement le mme format mais la diffrence du travail sur les phromones et
non pas les fils. Le programme IPSiMAS dont dcoule ce cycle de vie est disponible sur sourceforge
(http://sourceforge.net/p/ipsimas/home/Home/ ).

A.4.3

Performance

Nous avons voulu valuer le gain de performances obtenu par lutilisation du GPU. Pour cela
nous avons implment une version de lapplication crite uniquement en langage C++. Dans celle-ci,
lexcution du cycle des agents est squentielle et nutilise quun seul coeur du CPU.
Les comparaisons des performances des diffrents Systmes Multi-Agents est effectu sur la base
de la fixation du nombre dagent 1 million et la variation du nombre de pas de temps. La figure
A.3 reprsente le temps de simulation moyen obtenu avec les paramtres optimaux utiliss. Lanalyse
des temps de simulations nous a montr que le gain de performance par les GPU peut atteindre un
facteur 135 fois pour le modle des fourmis utilisant un partitionnement en voxels, un facteur 102 lors
du partitionnement intervoxels et un facteur 86 pour le modle des araignes. Nous avons remarqu
que la plateforme OpenCL est infrieure CUDA sur des GPU Nvidia. Ceci est d au fait que lAPI
CUDA est plus mature que lAPI OpenCL et que CUDA est spcifiquement conu et optimis pour
programmer des GPU NVIDIA.

121

tel-00652445, version 1 - 15 Dec 2011

ANNEXE A. IMPLMENTATION

(a)

(b)

Figure A.3: Les performances : (a) araignes, (b) fourmis.

122

Вам также может понравиться