126
N° d’ordre 04ISAL0042 Année 2004 Thèse Approche fonctionnelle générique des méthodes de segmentation d’images présentée devant L’Institut National des Sciences Appliquées de Lyon Pour obtenir le grade de Docteur Ecole doctorale : Electronique, Electrotechnique, Automatique Spécialité : Images et Systèmes par Tarik ZOUAGUI Soutenue le 08/10/04 devant la Commission d’examen Jury Examinateur Olivier Basset Professeur (UCBL) Examinateur Hugues Benoit-Cattin Maître de Conférences (Insa de Lyon) Rapporteur Patrice Dalle Professeur (UPS) Directeur de thèse Christophe Odet Professeur (Insa de Lyon) Examinateur Jack-Gérard Postaire Professeur (USTL) Rapporteur Marinette Revenu Professeur (ENSICAEN) CREATIS

Approche fonctionnelle générique des méthodes de ...csidoc.insa-lyon.fr/these/2004/zouagui/these.pdfN d’ordre 04ISAL0042 Année 2004 Thèse Approche fonctionnelle générique

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

N° d’ordre 04ISAL0042 Année 2004

Thèse

Approche fonctionnelle générique des méthodes de segmentation

d’images

présentée devant L’Institut National des Sciences Appliquées de Lyon

Pour obtenir

le grade de Docteur

Ecole doctorale : Electronique, Electrotechnique, Automatique Spécialité : Images et Systèmes

par

Tarik ZOUAGUI

Soutenue le 08/10/04 devant la Commission d’examen

Jury

Examinateur Olivier Basset Professeur (UCBL) Examinateur Hugues Benoit-Cattin Maître de Conférences (Insa de Lyon) Rapporteur Patrice Dalle Professeur (UPS) Directeur de thèse Christophe Odet Professeur (Insa de Lyon) Examinateur Jack-Gérard Postaire Professeur (USTL) Rapporteur Marinette Revenu Professeur (ENSICAEN) CREATIS

2

Résumé

La segmentation d’image est une opération de traitement d’images de bas

niveau qui consiste à localiser dans une image les régions (ensembles de pixels)

appartenant à une même structure (objets ou scène imagés). Cette opération est à la

base de nombreuses applications tant en vision industrielle, qu’en imagerie

médicale. De nombreuses recherches ont eu lieu dans le passé sur les méthodes de

segmentation. Il en résulte un très grand nombre de méthodes dont la comparaison,

soit en terme de structure soit en terme de performance, est très difficile.

L’objectif de cette thèse est de proposer une nouvelle vision de la segmentation

d’images basée sur un modèle fonctionnel (MF) original. Ce modèle qui décrit la

segmentation en termes de fonctions, se présente sous la forme d’un opérateur de

segmentation (OS). L’OS est composé de cinq blocs élémentaires enchaînés au

cours d’un processus itératif qui correspond au processus de segmentation. Ce

modèle fonctionnel unifie les méthodes de segmentation sous un formalisme

commun et permet une meilleure compréhension de ces méthodes. En effet, la

modélisation avec la même logique de techniques de segmentation (simple ou

complexe) a priori totalement différentes a été obtenue et implantée. Cela a permis

de montrer la généricité du modèle proposé et son utilité pour la structuration et

l’implantation logicielle de nombreuses méthodes de segmentation. Nous avons

également proposé un modèle multi-opérateurs permettant la représentation de

méthodes complexes telles que les méthodes multirésolution ou les méthodes multi-

agents. Les modélisations qui ont conduit à un certain nombre de blocs fonctionnels

indépendants, ont servi à la réalisation d’un logiciel modulaire dénommé GenSeg. Ce

logiciel peut aider à terme à construire de nouvelles techniques de segmentation.

3

Abstract

Image segmentation is a low-level image processing operation, which consists in

recognizing homogeneous regions within an image as distinct and belonging to

different objects. A wide range of works has been undertaken to achieve this aim and

segmentation has been used in applications ranging from industrial to medical uses.

One of the results, is a very great number of segmentation methods, which makes

the task of comparing them a very difficult challenge.

We propose a new approach of the image segmentation methods based on a

functional model (FM). The core of the functional model is a segmentation operator

(SO) composed of five elementary blocks called in an iterative process. The

functional model unifies segmentation methods under the same framework and

allows a better understanding of these methods. Indeed, the decomposition with the

same logical way of various segmentation techniques has been obtained and

implemented. This showed the genericity of the model and its usefulness in

structuring and implementing segmentation methods. We propose also a multi-

operator model which represents complex segmentation methods like multiresolution

or agent-based methods. The decompositions led to independent functional blocks

which have been used to realize a modular software called GenSeg. This software

can help in implementing segmentation techniques and in building new methods as

well.

4

Ecoles Doctorales CHIMIE DE LYON Responsable : M. Denis SINOU Université Claude Bernard Lyon 1 Lab Synthèse Asymétrique UMR UCB/CNRS 5622 Bât 308, 2ème étage 43 bd du 11 novembre 1918 69622 VILLEURBANNE Cedex Tél : 04.72.44.81.83 [email protected] ECONOMIE, ESPACE ET MODELISATION DES COMPORTEMENTS (E2MC) Responsable : M. Alain BONNAFOUS Université Lyon 2, 14 avenue Berthelot, MRASH Laboratoire d’Economie des Transports 69363 LYON Cedex 07 Tél : 04.78.69.72.76 [email protected] ELECTRONIQUE, ELECTROTECHNIQUE, AUTOMATIQUE (EEA) Responsable : M. Daniel BARBIER INSA DE LYON Laboratoire Physique de la Matière, Bât. Blaise Pascal 69621 VILLEURBANNE Cedex Tél : 04.72.43.64.43 http://www.insa-lyon.fr/eea [email protected] EVOLUTION, ECOSYSTEME, MICROBIOLOGIE, MODELISATION (E2M2) Responsable : M. Jean-Pierre FLANDROIS UMR 5558 Biométrie et Biologie Evolutive Equipe Dynamique des Populations Bactériennes Faculté de Médecine Lyon-Sud Laboratoire de Bactériologie BP 1269600 OULLINS Tél : 04.78.86.31.50 [email protected] http://biomserv.univ-lyon1.fr/E2M2 INFORMATIQUE ET INFORMATION POUR LA SOCIETE (EDIIS) Responsable : M. Lionel BRUNIE INSA DE LYON EDIIS, Bât. Blaise Pascal 69621 VILLEURBANNE Cedex Tél : 04.72.43.60.55

5

[email protected] http://www.insa-lyon.fr/ediis INTERDISCIPLINAIRE SCIENCES-SANTE (EDISS) Responsable : M. Alain Jean COZZONE IBCP (UCBL1) 7 passage du Vercors 69367 LYON Cedex 07 Tél : 04.72.72.26.75 [email protected] http://www.ibcp.fr/ediss MATERIAUX DE LYON Responsable : M. Jacques JOSEPH Ecole Centrale de Lyon Bât F7 Lab. Sciences et Techniques des Matériaux et des Surfaces 36 Avenue Guy de Collongue BP 163 69131 ECULLY Cedex Tél : 04.72.18.62.51 [email protected] http://www.ec-lyon.fr/sites/edml MATHEMATIQUES ET INFORMATIQUE FONDAMENTALE (Math IF) Responsable : M. Franck WAGNER Université Claude Bernard Lyon1 Institut Girard Desargues UMR 5028 MATHEMATIQUES, Bât. Doyen Jean Braconnier Bureau 101 Bis, 1er étage 69622 VILLEURBANNE Cedex Tél : 04.72.43.27.86 [email protected] http://www.ens-lyon.fr/MathIS MECANIQUE, ENERGETIQUE, GENIE CIVIL, ACOUSTIQUE (MEGA) Responsable : M. François SIDOROFF Ecole Centrale de Lyon Lab. Tribologie et Dynamique des Systèmes, Bât G8 36 avenue Guy de Collongue BP 163 69131 ECULLY Cedex Tél :04.72.18.62.14 [email protected] http://www.lmfa.ec-lyon.fr/autres/MEGA/index.html

6

Juin 2004

INSTITUT NATIONAL DES SCIENCES APPLIQUEES DE LYON Directeur : STORCK A. Professeurs : AMGHAR Y. LIRIS AUDISIO S. PHYSICOCHIMIE INDUSTRIELLE BABOT D. CONT. NON DESTR. PAR RAYONNEMENTS IONISANTS BABOUX J.C. GEMPPM*** BALLAND B. PHYSIQUE DE LA MATIERE BAPTISTE P. PRODUCTIQUE ET INFORMATIQUE DES SYSTEMES MANUFACTURIERS BARBIER D. PHYSIQUE DE LA MATIERE BASKURT A. LIRIS BASTIDE J.P. LAEPSI**** BAYADA G. MECANIQUE DES CONTACTS BENADDA B. LAEPSI**** BETEMPS M. AUTOMATIQUE INDUSTRIELLE BIENNIER F. PRODUCTIQUE ET INFORMATIQUE DES SYSTEMES MANUFACTURIERS BLANCHARD J.M. LAEPSI**** BOISSE P. LAMCOS BOISSON C. VIBRATIONS-ACOUSTIQUE BOIVIN M. (Prof. émérite) MECANIQUE DES SOLIDES BOTTA H. UNITE DE RECHERCHE EN GENIE CIVIL - Développement Urbain BOTTA-ZIMMERMANN M. (Mme) UNITE DE RECHERCHE EN GENIE CIVIL - Développement Urbain BOULAYE G. (Prof. émérite) INFORMATIQUE BOYER J.C. MECANIQUE DES SOLIDES BRAU J. CENTRE DE THERMIQUE DE LYON - Thermique du bâtiment BREMOND G. PHYSIQUE DE LA MATIERE BRISSAUD M. GENIE ELECTRIQUE ET FERROELECTRICITE BRUNET M. MECANIQUE DES SOLIDES BRUNIE L. INGENIERIE DES SYSTEMES D’INFORMATION BUFFIERE J-Y. GEMPPM*** BUREAU J.C. CEGELY* CAMPAGNE J-P. PRISMA CAVAILLE J.Y. GEMPPM*** CHAMPAGNE J-Y. LMFA CHANTE J.P. CEGELY*- Composants de puissance et applications CHOCAT B. UNITE DE RECHERCHE EN GENIE CIVIL - Hydrologie urbaine COMBESCURE A. MECANIQUE DES CONTACTS COURBON GEMPPM COUSIN M. UNITE DE RECHERCHE EN GENIE CIVIL - Structures DAUMAS F. (Mme) CENTRE DE THERMIQUE DE LYON - Energétique et Thermique DJERAN-MAIGRE I. UNITE DE RECHERCHE EN GENIE CIVIL DOUTHEAU A. CHIMIE ORGANIQUE DUBUY-MASSARD N. ESCHIL DUFOUR R. MECANIQUE DES STRUCTURES DUPUY J.C. PHYSIQUE DE LA MATIERE EMPTOZ H. RECONNAISSANCE DE FORMES ET VISION ESNOUF C. GEMPPM*** EYRAUD L. (Prof. émérite) GENIE ELECTRIQUE ET FERROELECTRICITE FANTOZZI G. GEMPPM*** FAVREL J. PRODUCTIQUE ET INFORMATIQUE DES SYSTEMES MANUFACTURIERS FAYARD J.M. BIOLOGIE FONCTIONNELLE, INSECTES ET INTERACTIONS FAYET M. (Prof. émérite) MECANIQUE DES SOLIDES FAZEKAS A. GEMPPM FERRARIS-BESSO G. MECANIQUE DES STRUCTURES FLAMAND L. MECANIQUE DES CONTACTS FLEURY E. CITI FLORY A. INGENIERIE DES SYSTEMES D’INFORMATIONS FOUGERES R. GEMPPM*** FOUQUET F. GEMPPM*** FRECON L. (Prof. émérite) REGROUPEMENT DES ENSEIGNANTS CHERCHEURS ISOLES GERARD J.F. INGENIERIE DES MATERIAUX POLYMERES GERMAIN P. LAEPSI**** GIMENEZ G. CREATIS** GOBIN P.F. (Prof. émérite) GEMPPM*** GONNARD P. GENIE ELECTRIQUE ET FERROELECTRICITE GONTRAND M. PHYSIQUE DE LA MATIERE

7

GOUTTE R. (Prof. émérite) CREATIS** GOUJON L. GEMPPM*** GOURDON R. LAEPSI****. GRANGE G. (Prof. émérite) GENIE ELECTRIQUE ET FERROELECTRICITE GUENIN G. GEMPPM*** GUICHARDANT M. BIOCHIMIE ET PHARMACOLOGIE GUILLOT G. PHYSIQUE DE LA MATIERE GUINET A. PRODUCTIQUE ET INFORMATIQUE DES SYSTEMES MANUFACTURIERS GUYADER J.L. VIBRATIONS-ACOUSTIQUE GUYOMAR D. GENIE ELECTRIQUE ET FERROELECTRICITE HEIBIG A. MATHEMATIQUE APPLIQUEES DE LYON JACQUET-RICHARDET G. MECANIQUE DES STRUCTURES JAYET Y. GEMPPM*** JOLION J.M. RECONNAISSANCE DE FORMES ET VISION JULLIEN J.F. UNITE DE RECHERCHE EN GENIE CIVIL - Structures JUTARD A. (Prof. émérite) AUTOMATIQUE INDUSTRIELLE KASTNER R. UNITE DE RECHERCHE EN GENIE CIVIL - Géotechnique KOULOUMDJIAN J. (Prof. émérite) INGENIERIE DES SYSTEMES D’INFORMATION LAGARDE M. BIOCHIMIE ET PHARMACOLOGIE LALANNE M. (Prof. émérite) MECANIQUE DES STRUCTURES LALLEMAND A. CENTRE DE THERMIQUE DE LYON - Energétique et thermique LALLEMAND M. (Mme) CENTRE DE THERMIQUE DE LYON - Energétique et thermique LAREAL P (Prof. émérite) UNITE DE RECHERCHE EN GENIE CIVIL - Géotechnique LAUGIER A. (Prof. émérite) PHYSIQUE DE LA MATIERE LAUGIER C. BIOCHIMIE ET PHARMACOLOGIE LAURINI R. INFORMATIQUE EN IMAGE ET SYSTEMES D’INFORMATION LEJEUNE P. UNITE MICROBIOLOGIE ET GENETIQUE LUBRECHT A. MECANIQUE DES CONTACTS MASSARD N. INTERACTION COLLABORATIVE TELEFORMATION TELEACTIVITE MAZILLE H. (Prof. émérite) PHYSICOCHIMIE INDUSTRIELLE MERLE P. GEMPPM*** MERLIN J. GEMPPM*** MIGNOTTE A. (Mle) INGENIERIE, INFORMATIQUE INDUSTRIELLE MILLET J.P. PHYSICOCHIMIE INDUSTRIELLE MIRAMOND M. UNITE DE RECHERCHE EN GENIE CIVIL - Hydrologie urbaine MOREL R. (Prof. émérite) MECANIQUE DES FLUIDES ET D’ACOUSTIQUES MOSZKOWICZ P. LAEPSI**** NARDON P. (Prof. émérite) BIOLOGIE FONCTIONNELLE, INSECTES ET INTERACTIONS NAVARRO Alain (Prof. émérite) LAEPSI**** NELIAS D. LAMCOS NIEL E. AUTOMATIQUE INDUSTRIELLE NORMAND B. GEMPPM NORTIER P. DREP ODET C. CREATIS** OTTERBEIN M. (Prof. émérite) LAEPSI**** PARIZET E. VIBRATIONS-ACOUSTIQUE PASCAULT J.P. INGENIERIE DES MATERIAUX POLYMERES PAVIC G. VIBRATIONS-ACOUSTIQUE PECORARO S. GEMPPM PELLETIER J.M. GEMPPM*** PERA J. UNITE DE RECHERCHE EN GENIE CIVIL - Matériaux PERRIAT P. GEMPPM*** PERRIN J. INTERACTION COLLABORATIVE TELEFORMATION TELEACTIVITE PINARD P. (Prof. émérite) PHYSIQUE DE LA MATIERE PINON J.M. INGENIERIE DES SYSTEMES D’INFORMATION PONCET A. PHYSIQUE DE LA MATIERE POUSIN J. MODELISATION MATHEMATIQUE ET CALCUL SCIENTIFIQUE PREVOT P. INTERACTION COLLABORATIVE TELEFORMATION TELEACTIVITE PROST R. CREATIS** RAYNAUD M. CENTRE DE THERMIQUE DE LYON - Transferts Interfaces et Matériaux REDARCE H. AUTOMATIQUE INDUSTRIELLE RETIF J-M. CEGELY* REYNOUARD J.M. UNITE DE RECHERCHE EN GENIE CIVIL - Structures RICHARD C. LGEF RIGAL J.F. MECANIQUE DES SOLIDES RIEUTORD E. (Prof. émérite) MECANIQUE DES FLUIDES ROBERT-BAUDOUY J. (Mme) (Prof. émérite) GENETIQUE MOLECULAIRE DES MICROORGANISMES ROUBY D. GEMPPM*** ROUX J.J. CENTRE DE THERMIQUE DE LYON – Thermique de l’Habitat RUBEL P. INGENIERIE DES SYSTEMES D’INFORMATION SACADURA J.F. CENTRE DE THERMIQUE DE LYON - Transferts Interfaces et Matériaux SAUTEREAU H. INGENIERIE DES MATERIAUX POLYMERES SCAVARDA S. (Prof. émérite) AUTOMATIQUE INDUSTRIELLE SOUIFI A. PHYSIQUE DE LA MATIERE SOUROUILLE J.L. INGENIERIE INFORMATIQUE INDUSTRIELLE THOMASSET D. AUTOMATIQUE INDUSTRIELLE

8

THUDEROZ C. ESCHIL – Equipe Sciences Humaines de l’Insa de Lyon UBEDA S. CENTRE D’INNOV. EN TELECOM ET INTEGRATION DE SERVICES VELEX P. MECANIQUE DES CONTACTS VERMANDE P. (Prof émérite) LAEPSI VIGIER G. GEMPPM*** VINCENT A. GEMPPM*** VRAY D. CREATIS** VUILLERMOZ P.L. (Prof. émérite) PHYSIQUE DE LA MATIERE Directeurs de recherche C.N.R.S. : BERTHIER Y. MECANIQUE DES CONTACTS CONDEMINE G. UNITE MICROBIOLOGIE ET GENETIQUE COTTE-PATAT N. (Mme) UNITE MICROBIOLOGIE ET GENETIQUE ESCUDIE D. (Mme) CENTRE DE THERMIQUE DE LYON FRANCIOSI P. GEMPPM*** MANDRAND M.A. (Mme) UNITE MICROBIOLOGIE ET GENETIQUE POUSIN G. BIOLOGIE ET PHARMACOLOGIE ROCHE A. INGENIERIE DES MATERIAUX POLYMERES SEGUELA A. GEMPPM*** VERGNE P. LaMcos Directeurs de recherche I.N.R.A. : FEBVAY G. BIOLOGIE FONCTIONNELLE, INSECTES ET INTERACTIONS GRENIER S. BIOLOGIE FONCTIONNELLE, INSECTES ET INTERACTIONS RAHBE Y. BIOLOGIE FONCTIONNELLE, INSECTES ET INTERACTIONS Directeurs de recherche I.N.S.E.R.M. : KOBAYASHI T. PLM PRIGENT A.F. (Mme) BIOLOGIE ET PHARMACOLOGIE MAGNIN I. (Mme) CREATIS** * CEGELY CENTRE DE GENIE ELECTRIQUE DE LYON ** CREATIS CENTRE DE RECHERCHE ET D’APPLICATIONS EN TRAITEMENT DE L’IMAGE ET DU SIGNAL ***GEMPPM GROUPE D'ETUDE METALLURGIE PHYSIQUE ET PHYSIQUE DES MATERIAUX ****LAEPSI LABORATOIRE D’ANALYSE ENVIRONNEMENTALE DES PROCEDES ET SYSTEMES INDUSTRIELS

9

Remerciements

Je tiens tout d’abord à remercier chaleureusement mon directeur de thèse M.

Christophe Odet pour sa rigueur scientifique, son esprit d’ouverture et sa

disponibilité. Il a su m’encourager et me guider dans la bonne direction tout au long

de ces trois ans et demi de thèse.

Je remercie aussi M. Hugues Benoit-Cattin pour avoir co-dirigé ce travail, de

m’avoir fait profiter de son expérience. Il m’a fournit de nombreux et précieux

conseils, notre collaboration a été des plus agréables.

J’adresse mes remerciements à Madame Marinette Revenu, Professeur à

l’université de Caen, pour avoir accepté d’être rapporteur de cette thèse et pour le

temps qu’elle a consacré à la lecture de ce manuscrit ainsi qu’aux remarques

judicieuses qu’elle a prodiguée pour préciser certains aspects de ce travail.

Je remercie également, Monsieur Patrice Dalle, Professeur à l’université Paul

Sabatier, pour avoir bien voulu rapporté mon travail de thèse. Je lui suis

reconnaissant pour le temps qu’il a consacré à la lecture, à l’évaluation de ce travail

et à son point de vue très enrichissant.

Mes remerciements vont également à Monsieur Jack-Gérard Postaire,

Professeur à l’université des sciences et de la technologie de Lille qui m’a fait

l’honneur de présider le jury de thèse, ainsi qu’a Monsieur Olivier Basset, Professeur

à l’université Claude Bernard de Lyon, pour avoir accepté le rôle d’examinateur

critique dans ce jury.

Ce travail de thèse a pu être mené à son terme grâce à la contribution de

nombreuses personnes, je tiens à toutes les remercier ici. Mes remerciements vont

aussi à tous mes collègues de CREATIS que j’ai côtoyé au quotidien pour la bonne

ambiance.

10

Merci enfin à mes parents qui m’ont aidé, soutenu et pour m’avoir offert la

chance de faire toutes mes études.

11

Table des matières

1 Introduction ..........................................................................15 1.1 CONTEXTE ET PROBLÉMATIQUE ................................................................................... 15 1.2 OBJECTIF ET PLAN DE LA THÈSE ................................................................................... 16

2 Etat de l’art...........................................................................18 2.1 NOTIONS DE BASE ........................................................................................................ 18 2.2 APPROCHES MATHÉMATIQUES ..................................................................................... 21 2.3 APPROCHES ORIENTÉES SYSTÈMES COMPLEXES ........................................................... 23 2.4 APPROCHES ORIENTÉES SYSTÈMES À BASE DE CONNAISSANCES................................... 25 2.5 CONCLUSIONS.............................................................................................................. 27

3 Modèle fonctionnel...............................................................29 3.1 INTRODUCTION ............................................................................................................ 29 3.2 VUE D’ENSEMBLE ........................................................................................................ 29 3.3 ARCHITECTURE DU MODÈLE ........................................................................................ 30

3.3.1 Bloc Mesures ........................................................................................................ 30 3.3.2 Bloc Critère .......................................................................................................... 32 3.3.3 Bloc Contrôle ....................................................................................................... 34 3.3.4 Bloc Modification................................................................................................. 35 3.3.5 Bloc Arrêt ............................................................................................................. 36

3.4 STRATÉGIE DE DÉCOMPOSITION ................................................................................... 37 3.5 CONCLUSION................................................................................................................ 40

4 Décomposition de méthodes de segmentation dans un modèle mono-opérateur ...........................................................41

4.1 INTRODUCTION ............................................................................................................ 41 4.2 MÉTHODE PAR ARBRE QUATERNAIRE........................................................................... 42 4.3 MÉTHODE MARKOVIENNE ........................................................................................... 45 4.4 MÉTHODE DE CONTOUR ACTIF ..................................................................................... 51 4.5 MÉTHODE PAR AGENTS ................................................................................................ 58 4.6 BILAN DES DÉCOMPOSITIONS MONO-OPÉRATEURS....................................................... 66

12

5 Modèle générique multi-opérateurs .....................................68 5.1 INTRODUCTION ............................................................................................................ 68 5.2 ANALYSE ET DÉCOMPOSITION D’APPROCHES COOPÉRATIVES....................................... 69

5.2.1 Vue d’ensemble .................................................................................................... 69 5.2.2 Décomposition fonctionnelle d’une approche séquentielle ................................. 71 5.2.3 Décomposition fonctionnelle d’une approche hybride ........................................ 75 5.2.4 Coopération dans les méthodes par agents et modèle fonctionnel ...................... 77

5.3 ANALYSE ET DÉCOMPOSITION D’APPROCHES MULTIRÉSOLUTION ................................ 81 5.3.1 Vue d’ensemble des méthodes de segmentation multirésolution ......................... 81 5.3.2 Modèle multirésolution ........................................................................................ 82 5.3.3 Décomposition d’une méthode multirésolution.................................................... 86

5.4 BILAN .......................................................................................................................... 92

6 Implantation du modèle fonctionnel .....................................94 6.1 INTRODUCTION ............................................................................................................ 94 6.2 PARADIGME DE PROGRAMMATION ............................................................................... 94 6.3 STRUCTURE DE DONNÉES ET MODÈLE GÉNÉRIQUE ....................................................... 95 6.4 LOGICIEL GENSEG ....................................................................................................... 97 6.5 GÉNÉRICITÉ LOGICIELLE ............................................................................................ 102 6.6 CONCLUSION.............................................................................................................. 103

7 Conclusion et perspectives ................................................105

Annexes..................................................................................108

Bibliographie...........................................................................119

13

Table des figures

Figure 1 : Modèle fonctionnel de segmentation d’images......................................... 30 Figure 2 : Représentation graphique du contrôle linéaire par seuillage.................... 35 Figure 3 : (a) Découpage d’une image par arbre quaternaire. (b) Représentation arborescente............................................................................................................. 42 Figure 4 : Décomposition fonctionnelle d’une segmentation par arbre quaternaire. . 44 Figure 5 : Résultat obtenu pour l’arbre quaternaire sur l’image Lena. ...................... 44 Figure 6 : Evolution du critère global de l’arbre quaternaire pour l’image Lena........ 45 Figure 7 : Systèmes de voisinage en 8-connexité et cliques d’ordre 2 correspondantes....................................................................................................... 48 Figure 8 : Décomposition fonctionnelle d’une segmentation par approche Markovienne. ............................................................................................................ 50 Figure 9 : Résultat obtenu pour l’approche Markovienne sur une image synthétique ‘carrés’. ..................................................................................................................... 51 Figure 10 : Evolution du critère global pour une segmentation Markovienne sur l’image ‘carrés’.......................................................................................................... 51 Figure 11 : Décomposition fonctionnelle d’une segmentation par contour actif. ....... 55 Figure 12 : Résultat obtenu pour la méthode de contour actif. ................................. 57 Figure 13 : Evolution du critère global pour une segmentation par contour actif. ..... 58 Figure 14 : Comportement d’un agent situé sur un segment homogène. ................. 61 Figure 15 : Comportement de diffusion d’un agent................................................... 61 Figure 16 : Voisinage circulaire d’un agent à la position (i,j)..................................... 62 Figure 17 : Comportements et règles d’évolution d’un agent autonome................... 63 Figure 18 : Blocs fonctionnels obtenus pour la segmentation par agents de Liu. ..... 64 Figure 19 : Segmentation par agents d’une image synthétique................................ 65 Figure 20 : Schéma général du modèle fonctionnel complexe. ................................ 68 Figure 21 : Stratégie de coopération de méthodes par initialisation (séquentielle)... 69 Figure 22 : Stratégie de coopération hybride de méthodes de segmentation........... 70 Figure 23 : Stratégie de coopération de méthodes par fusion d’information (parallèle).................................................................................................................................. 71 Figure 24 : Décomposition fonctionnelle d’une méthode de fusion de régions. ........ 73 Figure 25 : Décomposition fonctionnelle d’une segmentation par split&merge......... 74 Figure 26 : Résultats obtenus de la division-fusion sur l’image bruit. ....................... 74 Figure 27 : Modèle fonctionnel pour l’opérateur de dilatation. .................................. 75 Figure 28 : Modèle fonctionnel pour l’opérateur de contraction d’histogramme. ...... 76 Figure 29 : Décomposition fonctionnelle d’une segmentation par croissance de régions...................................................................................................................... 76 Figure 30 : Résultats obtenus avec la croissance de régions sur une image synthétique. .............................................................................................................. 77

14

Figure 31 : Segmentation issue de la décomposition fonctionnelle d’un agent contour.................................................................................................................................. 80 Figure 32 : Pyramide Gaussienne. ........................................................................... 81 Figure 33 : Schéma bloc du modèle fonctionnel générique multirésolution. ............. 83 Figure 34 : Schéma du macro bloc générique Construction Pyramide..................... 84 Figure 35 : Schéma général du macro bloc Segmentation. ...................................... 85 Figure 36 : Schéma général du macro bloc Projection. ............................................ 86 Figure 37 : Représentation d’une pyramide reliée avec P=2 et F=4......................... 87 Figure 38 : Macro bloc Construction Pyramide de la méthode de Burt..................... 88 Figure 39 : Macro bloc Segmentation pour la méthode de Burt................................ 89 Figure 40 : Opérateur de segmentation ‘Redéfinition des liaisons parent-enfants’ identique à l’OS de la méthode Markovienne (figure 8). Les éléments supprimés sont barrés sur le schéma dans les blocs Mesures et Critère. ......................................... 91 Figure 41 : Construction d’une pyramide : Image Lena (0), résolutions inférieures (1-5). ............................................................................................................................. 91 Figure 42 : Résultat de la segmentation multirésolution par la méthode de Burt...... 92 Figure 43 : Liste des classes ‘Process’ pour le bloc Mesures................................... 96 Figure 44 : Structure interne de la classe vtkGenSegData. ...................................... 97 Figure 45 : Interface graphique de segmentation basée sur le modèle fonctionnel.. 99 Figure 46 : Interface pour la gestion des mesures dans GenSeg........................... 100 Figure 47 : Interface pour le bloc Critère. ............................................................... 101 Figure 48 : Interfaces pour les blocs Contrôle et Modification. ............................... 101 Figure 49 : Résultat (c ) obtenu avec l’opérateur de segmentation composé par des blocs fonctionnels issus de décompositions précédentes. Mesures (Variance, Moyenne) + Critère (Combinaison binaire) + Contrôle (Adaptatif) + Modification (Division quaternaire) ............................................................................................. 103 Figure 50 : Décomposition fonctionnelle de la méthode d’Isodata.......................... 109 Figure 51 : Segmentation fonctionnelle par la méthode Isodata de l’image bruit.... 109 Figure 52 : Modélisation fonctionnelle de la méthode de la bulle discrète.............. 110 Figure 53 : Sélection de pixels candidats selon la direction du contour courant..... 111 Figure 54 : Modèle fonctionnel pour une croissance de contour. ........................... 112 Figure 55 : Résultat de l’opérateur de segmentation contour sur une image synthétique. ............................................................................................................ 113 Figure 56 : Schéma du contenu des macro blocs de la méthode de Spann........... 114 Figure 57 : Schéma bloc de la méthode de la pyramide reliée à seuillage dynamique................................................................................................................................ 116

Introduction

15

1 Introduction 1.1 Contexte et problématique

Cette thèse aborde l’un des principaux problèmes de la vision par ordinateur : la

segmentation d’images. Celle-ci consiste à localiser dans une image les régions

(ensembles de pixels) appartenant à une même structure (objet ou scène imagée).

Aujourd'hui, vue la simplicité de la définition de l'objectif de la segmentation d'images

et la richesse des travaux effectués dans ce domaine, on pourrait penser que la

segmentation d'images est un problème en grande partie résolu. Il n'en est rien,

probablement à cause de la très grande diversité des besoins et des applications

mais également parce que des approches mathématiques (analyse multirésolution,

champs de Markov, réseaux de neurones, géométrie différentielle,...) permettent de

nouveaux développements. L'augmentation de la puissance des ordinateurs autorise

également l'exploration de nouvelles approches et la mise en œuvre de techniques

d'optimisation autrefois trop coûteuses en temps de calcul. Par conséquent, on se

trouve devant un nombre considérable de méthodes [PAL93] qu'il est difficile de

classer en dehors du schéma régions versus frontières qui tend à disparaître avec

les approches coopératives. Sans approche synthétique des techniques de

segmentation d'images, il est difficile de comparer des méthodes de plus en plus

complexes et de juger de façon pertinente de l'originalité et de l'apport d'une

méthode par rapport à l'existant.

La recherche d’une méthode performante, pour une application donnée, passe la

plupart du temps par la comparaison de quelques méthodes disponibles et bien

maîtrisées et par la modification d’une méthode existante afin de l’adapter. La

recherche d’une méthode optimale parmi un très grand nombre de méthodes

existantes (et leurs nombreuses variations proposées) nécessiterait actuellement de

disposer d’une bibliothèque logicielle énorme et certainement très redondante. Cette

redondance entraîne un surcoût de calcul qui limite l’élargissement du champ de

recherche d’une méthode adaptée.

Le traitement et l’analyse d’images est un domaine en pleine expansion et

certains travaux s’orientent actuellement vers la conception de systèmes d’aide au

développement d’applications de traitement d’images [CLOU02, FICE99] et de

systèmes d’aide à l’interprétation [CREV97, DEJE96, MATS89]. La première

Approche fonctionnelle générique des méthodes de segmentation d’images

16

catégorie de systèmes, qui est celle qui nous intéresse ici, est constituée d’une

bibliothèque d’opérateurs de traitement d’images. Ces opérateurs sont enchaînés au

cours d’un processus qui permet de générer un programme exécutable

correspondant à une application particulière de traitement d’images. L’utilisation de la

programmation graphique permet de créer des chaînes de traitement avec un

minimum de temps de programmation. Ces systèmes procurent ainsi une aide

précieuse à certains utilisateurs (non-spécialistes) qui ont à leur disposition tous les

éléments pour créer des applications de traitement d’images. Mais, il est nécessaire

actuellement de disposer d'une très large bibliothèque de fonction de segmentation si

l'on souhaite offrir à l'utilisateur de nombreux choix de méthodes. Une approche plus

fonctionnelle de la segmentation devrait contribuer à réduire le champ des

possibilités et la taille de ces bibliothèques d'opérateurs de segmentation.

Malgré des avancées significatives, les solutions actuelles évoquées dans le

chapitre 2 ne permettent pas de résoudre le problème de l’unification de la

segmentation sous un formalisme mathématique commun de manière satisfaisante.

Dans ce contexte, où la littérature est très prolifique, nous proposons d’étudier la

segmentation d’images d’un point de vue fonctionnel. Cette nouvelle approche

intégrative propose une autre vision du processus de segmentation en incorporant

les formalismes mathématiques dans des blocs fonctionnels.

1.2 Objectif et plan de la thèse

L’objectif principal de cette thèse est de proposer un modèle générique des

opérations de segmentation d’images. Le modèle fonctionnel est décrit sous forme

de blocs réalisant des fonctions partagées par l’ensemble des méthodes de

segmentation comme la définition d’un critère d’homogénéité ou encore la

modification d’une carte de segmentation. La validation de notre approche passe par

une représentation par notre modèle (que nous appellerons décomposition) d’un

grand nombre de méthodes de segmentation ainsi que par l’implantation

expérimentale de cette décomposition. Ceci nous conduit à produire un logiciel

modulaire qui constituera à terme un outil de construction de méthodes de

segmentation.

Introduction

17

Ce manuscrit est organisé de la manière suivante. Nous décrivons dans le

chapitre 2 l’état de l’art des principaux travaux qui ont pour but l’unification de

méthodes de segmentation sous le même formalisme mathématique. Nous abordons

la structuration des méthodes coopératives sous forme de systèmes complexes ainsi

que les systèmes d’aide à la conception d’applications de traitement d’images. Le

chapitre 3 présente notre proposition de modèle fonctionnel (MF) pour la

segmentation d’images. Nous détaillons l’opérateur de segmentation (OS) qui est

composé de cinq blocs élémentaires que nous dénommons Mesures, Critère,

Contrôle, Modification et Arrêt. Ces blocs enchaînés itérativement forment le

processus de segmentation. Dans le chapitre 4, nous présentons les résultats de la

décomposition de méthodes de segmentation connues selon le modèle fonctionnel

générique. Ces résultats concernent des méthodes a priori très différentes comme

l’arbre quaternaire, les contours actifs, une méthode Markovienne ou encore les

systèmes multi-agents. Ces derniers systèmes nous intéressent particulièrement car

ils utilisent fortement des procédures de coopération et de communication avec leur

environnement. Le chapitre 5 est dédié aux méthodes de segmentation que nous

qualifions de "complexes". Nous entendons par le terme ‘complexe’ des méthodes

qui nécessitent plus d’un opérateur de segmentation (OS) tel que nous l’avons défini.

Celles-ci concernent en premier lieu les méthodes coopératives. Nous abordons

ensuite les méthodes de segmentation multirésolution et la façon de les intégrer

dans notre modèle. Le chapitre 6 présente la mise en œuvre informatique du MF

proposé, dans le cadre du logiciel GenSeg que nous avons développé. Ce logiciel

est basé sur une approche orienté objet du modèle fonctionnel générique de

segmentation. Il contient les classes correspondants aux blocs de base de toutes les

méthodes de segmentation que nous avons implémentées. Finalement, dans le

chapitre 7, les conclusions et les perspectives de ce travail sont exposées.

Etat de l’art

18

2 Etat de l’art Dans ce chapitre, nous proposons une analyse de l’existant en matière de

segmentation d’images pour pouvoir situer notre travail dans ce domaine très actif.

Nous commençons d’abord par présenter un bref aperçu de ce qu’est la

segmentation d’images suivie par une description des principales classes de

méthodes de segmentation. Nous abordons ensuite les trois approches essentielles

proposées dans la littérature qui tentent d’unifier l’approche de la segmentation.

2.1 Notions de base

L’usage des images numériques est actuellement très répandu dans le monde.

En effet, des quantités énormes d’images sont produites chaque année dans

différents domaines, particulièrement dans les domaines médical, spatial ou

industriel. Ces images ne sont pas exclusivement utilisées visuellement à l’état brut

mais entrent souvent dans un processus d’analyse qui nécessite généralement un

traitement de bas niveau, appelé segmentation d’images, destiné à extraire les

objets d’intérêt présents dans l’image. La segmentation [COCQ95] est définie

comme un processus qui consiste à partitionner une image I en sous-ensembles

disjoints et connexes iR , appelés régions tels que :

Ui

i

ji

i

RI

jiRRjiRi

=

≠∅=∩∀∅≠∀

pour, Eq. 1

Pour être significative, dans le cadre d’une application donnée, une région doit

être un ensemble connexe de points (pixels) de l’image ayant des "propriétés

communes" qui les différencient des pixels des autres régions. L’équation 1 exprime

le fait que chaque pixel de l’image doit appartenir à une région iR , que les régions

doivent être disjointes et que l’union de ces régions constitue l’image entière.

Approche fonctionnelle générique des méthodes de segmentation d’images

19

Idéalement, on cherche en particulier à obtenir une et une seule zone pour

chaque objet de l’image, ainsi qu’une localisation des zones la plus précise possible

géométriquement. Un objet peut être défini comme une partie sémantiquement

cohérente dans une image. En pratique, les objets sont souvent connexes, ont une

couleur cohérente et sont délimités par des contours nets.

Le résultat de la segmentation est un ensemble de régions qui est représenté par

une carte, dans laquelle une étiquette ou label, est attribuée à chaque pixel.

L’étiquette correspond au numéro de la région à laquelle le pixel appartient.

La segmentation d’images dépend fortement de l’application et c’est pour cette

raison qu’il n’existe pas de solution générale à ce problème mais plutôt un ensemble

d’outils mathématiques et algorithmiques que l’on peut combiner pour résoudre des

problèmes spécifiques. Ces outils ou méthodes de segmentation sont actuellement

classés en deux catégories principales [CHAK99] : les approches frontières et les

approches régions. De nombreux travaux ont été consacrés à ces techniques. Pour

plus de détails, le lecteur peut consulter les papiers de Haralick [HARA85] et de Pal

[PAL93], ou le site (http://iris.usc.edu/Vision-Notes/bibliography/contents

segment.html) qui résument amplement les techniques de segmentation existantes

et leur classification.

Les approches frontières détectent les zones de fortes discontinuités de l’image.

C’est la frontière des objets qui permet de définir les objets. Les contours des objets

dans les images sont localisés par les maxima locaux du gradient ou les zéros du

Laplacien de la fonction de niveaux de gris. Les deux approches fournissent des

contours sensiblement équivalents bien qu’elles ne localisent pas tout à fait les

mêmes discontinuités. Les difficultés de la détection de contours proviennent du bruit

présent dans les images, car il perturbe fortement le gradient. Les approches

contours n’aboutissent pas directement à une segmentation, car les contours

obtenus ne sont généralement pas connexes et fermés. On utilise alors des

techniques de fermeture de contours [COCQ95] qui sont utilisés en aval de la

détection de contours. Pour éviter ce type d’inconvénients, d’autres approches plus

sophistiquées [CHEU02, MONT01] ont été développées et regroupées sous le nom

de modèles déformables. Le principe général consiste à déformer une courbe ou une

surface afin de l’adapter au contour de l’objet à segmenter.

Etat de l’art

20

Les approches régions (duales des approches frontières) ont pour but de mettre

en évidence les régions homogènes de l’image. Il s’agit de rechercher des

ensembles de pixels partageant des propriétés communes. Les régions sont

différenciées entre elles par des propriétés élémentaires basées sur des critères

locaux tels que le niveau de gris de chaque pixel, ou bien sur un attribut estimé dans

le voisinage du pixel tel que la valeur moyenne, la variance ou des paramètres de

texture. L’ensemble des regroupements de pixels constitue une segmentation de

l’image.

Ce schéma de classification régions versus frontières tend actuellement à

disparaître au profit des méthodes coopératives [CUFI02]. Cette coopération des

approches régions et frontières est menée dans le but de combiner les avantages de

ces deux techniques. Nous distinguons trois principes de coopération [GER00a]

[KERM02]: la coopération séquentielle (ou par initialisation), la coopération parallèle

(ou par fusion) et la coopération hybride (ou par rétroaction).

− L’approche séquentielle consiste à utiliser le résultat d’une première

segmentation comme point de départ à la suivante.

− L’approche parallèle fusionne les résultats issus de deux ou plusieurs

segmentation.

− L’approche hybride combine les deux approches précédentes et permet un

retour sur le processus global de segmentation dans un but d’affinement de la

solution.

La segmentation d’images est l’un des domaines les plus actifs en analyse

d’images et en vision par ordinateur. Nous dénombrons actuellement plus de 10000

références bibliographiques1 (de 1999 à 2004), présentant des centaines de

méthodes. Chaque méthode dispose de son propre développement théorique et

utilise différentes techniques algorithmiques. Ces techniques sont en plein essor du

fait de la puissance des ordinateurs. Cependant, la plupart des algorithmes de

segmentation ont été développés pour un usage ou un cadre spécifique. Jusqu’à

Approche fonctionnelle générique des méthodes de segmentation d’images

21

présent, il n’existe pas un algorithme unique qui puisse être utilisé dans toutes les

applications ou pour toutes les catégories d’images. D’un autre côté, le choix d’un

algorithme de segmentation, pour une application particulière, est un problème

difficile à aborder car il n’existe pas de théorie établie pour cela. La procédure qui est

envisagée généralement dans ce cas est de prendre une méthode existante, de

l’améliorer quelque peu et de la comparer à des méthodes assez proches selon des

critères difficiles à définir. On parle alors de méthodes ‘ad hoc’ dont l’originalité, la

pertinence et les performances réelles sont difficilement évaluables en dehors du

contexte spécifique où elles ont été élaborées.

A partir de là, des chercheurs issus de communautés différentes ont essayé de

développer des approches fédératives en segmentation d’images, que nous

regroupons en trois catégories : approches mathématiques, approches orientées

systèmes complexes (avec en particulier la structuration des méthodes coopératives)

et approches orientées systèmes à base de connaissances.

2.2 Approches mathématiques

Nous qualifions d’approches mathématiques les travaux dont l’objectif est de

présenter sous un même formalisme mathématique plusieurs méthodes de

segmentation. Parmi les nombreuses techniques de segmentation [FU81, HARA85,

PAL93, SAHO88], nous présentons quelques références importantes représentatives

des approches mathématiques.

Geiger et Yuille [GEIG91] ont utilisé la théorie du Mean Field Anneanling (MFA)

[COCQ95] pour montrer que différentes approches déterministes (Graduated Non

Convexity, Minimum Description Length, …) sont équivalentes et sont très proches

des approches statistiques (champs de Markov). Ce travail représente une tentative

d’unification sous un même formalisme commun de plusieurs méthodes présentées

comme a priori différentes dans la littérature.

1 Bases de données INSPEC et Compendex via l’interface Engineering Village 2 avec une recherche sur ‘image segmentation’.

Etat de l’art

22

Beaucoup d’algorithmes de segmentation, par exemple [CASS97, GEMA84,

KASS88], essayent de minimiser par différents moyens une certaine énergie. Dans

ces approches, l’énergie est définie par une fonctionnelle sur l’ensemble des

segmentations possibles. Cette fonctionnelle se décompose en deux termes

distincts : un premier terme mesurant la qualité de l’approximation par rapport à

l’image initiale et un second terme régularisant la solution recherchée. Parmi ces

travaux, la fonctionnelle de Mumford et Shah [MUMF85] peut être considérée comme

un travail assez général et les travaux suivants [SHAH96] dérivent de cette

formulation. L’avantage de cette fonctionnelle est sa définition mathématique concise

du problème de la segmentation d’images.

Dans le même cadre, nous pouvons citer le travail de Zhu et Yuille [ZHU96] qui

ont développé un algorithme appelé ‘Compétition de régions’ en utilisant une

approche statistique et variationnelle (snakes). Cet algorithme est obtenu en

minimisant un critère généralisé Bayes/MDL (Minimun Description Length) [LECL89]

en utilisant le principe variationnel. Cet algorithme combine alors les différents

aspects des contours actifs [KASS88] ou des ballons (caractéristiques géométriques)

et ceux de la croissance de régions [ADAM94]. Cet algorithme a été testé avec

succès sur des images de niveaux de gris, couleur et de texture. Cet algorithme

présente une perspective d’unification de plusieurs méthodes et de modèles

(modèles d’énergie, modèle de Bayes).

Chakraborty [CHAK99] propose une méthode qui permet d’intégrer les

approches régions et les approches frontières en se basant sur la théorie du jeu

(game theory) [OWEN95]. Un jeu est essentiellement un ensemble de règles et de

conventions pour pouvoir jouer et une partie est une réalisation possible de ces

règles. Pour la segmentation d’images, deux modules de segmentation (régions et

contours) sont assimilés à deux joueurs essayant d’optimiser une fonction coût

basée sur la théorie Bayésienne qui maximise la probabilité a posteriori. L’innovation

majeure de cette méthode réside dans le fait que les deux modules améliorent leurs

résultats grâce à un partage de l’information. De plus, cette méthode est robuste vis

à vis du bruit et de l’initialisation.

Ces différentes approches n’ont finalement pas abouti à unifier la segmentation

du fait de la difficulté de la tâche et de la quasi impossibilité de développer une

théorie mathématique unique. Cependant, la segmentation apparaît la plupart du

temps comme la minimisation d’un critère représenté par une fonctionnelle. En fait la

Approche fonctionnelle générique des méthodes de segmentation d’images

23

segmentation d’images dépend fortement des mesures combinées dans un critère,

de la modélisation de l’image, de la carte des régions et de la stratégie mise en

œuvre pour modifier cette carte. Ces différents aspects n’apparaissent cependant

pas toujours de façon claire dans les présentations de la littérature des nombreuses

techniques de segmentation où une approche globale de la méthode proposée est

souvent retenue.

2.3 Approches orientées systèmes complexes

Cette partie de l’état de l’art concerne les systèmes dits complexes au sens de la

multiplicité de leur composantes et de leurs interactions mais aussi de la diversité de

leurs comportements. Nous nous intéressons particulièrement aux solutions

apportées au problème de la segmentation en exploitant divers paradigmes

empruntés à ces systèmes tels que les différentes façons de faire coopérer des

méthodes de segmentation.

Le système proposé par Bellet [BELL98] est destiné à la segmentation d’images

par coopération d’opérateurs contours et régions. Son travail suggère de construire

simultanément les contours et les régions en se basant sur une approche

incrémentale utilisant un système à bases de tâches. Cette approche incrémentale

permet de construire la solution progressivement. Une gestion efficace de

l’information peut être mise en œuvre ce qui se traduit par des prises de décisions

motivées par l’information existante, l’utilisation au maximum de l’information

disponible et la création de l’information manquante si le besoin se fait sentir. Un

système de segmentation a été construit qui permet de segmenter des images en

utilisant un mécanisme de croissance de régions et un mécanisme de croissance de

contours.

Une autre procédure est suivie par Germond et al. [GER00b] pour segmenter

des images IRM cérébrales. Cette procédure consiste à décomposer ce problème

assez complexe du point de vue de la variabilité du cerveau et des images acquises,

en tâches élémentaires moins complexes. Cela est possible en utilisant la

coopération. La caractéristique principale de cette technique est d’intégrer plusieurs

modules réalisant des objectifs différents et cependant complémentaires. Le système

de segmentation obtenu est un système multi-agents avec un modèle statistique

déformable et un détecteur de contours. Le module ‘Agents’ est le module central de

Etat de l’art

24

ce système. Il y définit deux classes d’agents : agents de type régions et agents de

type contours. Les agents adoptent un comportement d’agrégation de pixels pour

segmenter la matière grise et la matière blanche. Le module qui représente le

modèle déformable est utilisé dans le but de repérer automatiquement l’enveloppe

du cerveau. Le dernier module qui est le détecteur de contours a été choisi pour sa

capacité à localiser de façon précise et robuste l’ensemble des contours présents

dans une image.

Dans le même cadre des systèmes par agents, Pithon [PITH01] propose un

travail coopératif et concurrent pour la segmentation d’images. Cette approche

intègre plusieurs méthodes basées régions et basées contours en utilisant un

système multi-agents. L’approche proposée est caractérisée par une coopération

multi-directionnelle qui a pour conséquence une amélioration globale des résultats.

Dans un autre registre, Chaurroux [CHAU96] présente un système de vision

dédié à la segmentation d’images en régions, par coopération d’opérateurs, et guidé

par l’interprétation. Ce système de vision, par une comparaison locale entre plusieurs

segmentations/interprétations, détermine la meilleure segmentation d’une image. Les

deux points importants sont la construction d'un arbre qui contient les segmentations

possibles d'une image et la comparaison des résultats de segmentation, à partir de

l'interprétation des régions. Des données symboliques (dédiées à une application, ici

les images aériennes) et numériques sont utilisées conjointement. La capacité

d'apprentissage des objets d'une scène par des techniques de reconnaissances des

formes, ainsi que la capacité de généraliser l'apprentissage à des objets non appris

sont étudiées.

Enfin, Spinu [SPIN97] s’intéresse particulièrement à la segmentation d’images

par adaptation d’opérateurs. Ces opérateurs, regroupés au sein d’une bibliothèque,

sont des opérateurs de détection de contours et de filtrage d’images. Les

caractéristiques de l'image sont d'abord estimées (en termes de bruit, texture,

contraste, etc.) et un chaînage d'opérateurs approprié est sélectionné. Les

paramètres des opérateurs sont ajustés en fonction d'une évaluation de la qualité du

résultat (par des méthodes heuristiques ou par optimisation). Cette méthode est

implantée par un système multi-agents. Cette implantation permet une meilleure

flexibilité et une parallélisation des traitements sur les régions de l’image. Les agents

traitant des régions adjacentes peuvent coopérer entre eux.

Approche fonctionnelle générique des méthodes de segmentation d’images

25

2.4 Approches orientées systèmes à base de connaissances

Ce que nous appelons approches orientées systèmes à base de connaissances

concernent toutes les approches qui visent à développer des systèmes experts ou de

nouvelles méthodologies de conception et d’analyse d’images. Ces approches

traitent particulièrement du mode opératoire pour sélectionner et enchaîner des

opérateurs, et exploitent des systèmes de pilotage ou de planification de

bibliothèques d’opérateurs.

Notons que ces systèmes qui représentent des solutions généralistes, ne sont

pas particulièrement dédiés à la segmentation d’images.

Nazif et Levine [NAZI84] proposent la conception d’un système expert à base de

règles comme solution au problème de la segmentation. Des règles de

connaissances sont utilisées pour segmenter l’image en régions homogènes et en

contours. Une première étape de pré-segmentation en régions est réalisée. Dans

une seconde étape, un ensemble de règles, qui prend en compte localement la

connaissance des régions et des contours, permet de fusionner des régions, de

joindre ou de supprimer des contours. D’autre part, des règles de contrôle régissent

l’ordre dans lequel les règles sur les connaissances sont appliquées. Enfin, des

règles de plus haut niveau modifient de manière dynamique la stratégie de

traitement.

Matsuyama [MATS89] est un des premiers chercheurs à présenter un système

pour faciliter le développement de processus d’analyse d’images. Son travail

concerne différents systèmes experts pour le traitement d’images. Ces systèmes, qui

composent des processus d’analyse d’images à partir de primitives ou d’opérateurs

stockés sous forme de librairies, ne génèrent pas de nouveaux algorithmes mais

permettent de sélectionner et combiner des algorithmes existants. Ceci permet de

franchir un pas important dans le développement d’environnements de

programmation flexibles pour l’analyse d’images et dans l’élargissement des

domaines d’application du traitement d’images. Malgré cela, plusieurs problèmes

n’ont pas encore trouvé de solutions. Ces problèmes concernent la description de la

qualité d’image et de la connaissance, la généralisation de la composition de

processus d’analyse d’images et enfin l’évaluation du résultat.

Etat de l’art

26

Avec le même objectif de faciliter la réutilisation de composants de traitements

d’images, Ficet-Cauchard [FICE99] propose un système d’aide à la conception

d’applications de traitement d’images utilisant une approche basée sur le

raisonnement à partir de cas. Son principe est de résoudre un nouveau problème en

retrouvant et en adaptant des solutions ou des éléments de solution d’un problème

précédemment résolu. D’autres chercheurs proposent une méthodologie de

développement d’applications de traitement d’images [CLOU02]. Cette approche se

fonde d’une part sur le paradigme du pilotage d’une bibliothèque de tâches de

traitement [THON00], dans lequel la conception d’une solution est vue comme un

processus d’agglomération de tâches ponctuelles et indépendantes, et d’autre part

sur le paradigme de la ‘programmation visuelle par flot de données’ tels que Khoros

[KONS94] ou AVS [VROO95].

Une autre approche développée par Dejean [DEJE96] concerne la modélisation

des entités de traitement d’images. Le formalisme développé fournit une description

orientée concepts et entités du traitement d’images dans une perspective de

planification de chaînes d’opérateurs et de description d’objectifs de traitement

d’images. Il permet de décrire de façon rigoureuse le traitement d’images en tant que

manipulation de données mais aussi en tant que manipulation de concepts d’un

domaine spécifique. Ce formalisme est constitué de trois parties essentielles qui sont

un modèle unifié de données, des modèles d’opérateurs de traitement d’images et

d’un langage de description de données. Ce modèle permet de décrire précisément

des données en termes de transformations subies ou en termes de spécifications à

faire subir aux données. Le modèle d’opérateurs associé a pour but de faire

apparaître les transformations que la donnée subit. Il fournit aussi des informations

sur les types d’entités admises en entrée et en sortie d’un opérateur. L’objectif de ce

travail est d’aider à la conception d’une chaîne de traitement en fournissant les

éléments nécessaires à la construction itérative d’un graphe d’opérateurs.

Dans le même cadre et se basant sur les travaux de Dejean [DEJE96], Nouvel

[NOU02b] propose une approche interactive pour la réalisation d’applications de

traitement d’images. Dans cette approche, l’utilisateur associe les résultats

d’enchaînements d’opérateurs à des concepts du modèle de la scène, au lieu de

procéder par des cycles ‘essai-erreur’ d’opérateurs. L’outil ainsi proposé permet de

masquer les fonctionnalités du traitement d’images à l’utilisateur, de raisonner en

termes de concepts du domaine d’application et de se placer dans une logique

Approche fonctionnelle générique des méthodes de segmentation d’images

27

d’interprétation. Notons que le modèle d’opérateurs décrit par Dejean [DEJE96,

NOU02a] ne modélise pas spécifiquement les opérations de segmentation, qui reste

un opérateur parmi d’autres dans la chaîne de traitement.

Ropert [ROPE01] propose un nouveau paradigme de vision où le contrôle n’est

plus appliqué aux capteurs mais aux opérateurs de traitement d’images. L’objectif est

de dégager l’utilisateur final d’un système de vision des prises de décision relatives

aux choix d’opérateurs et à leur paramétrage car sans connaissance en traitement

d’images, la tâche de segmentation peut s’avérer rapidement complexe. La

modélisation proposée est analogue à celle d’un robot mobile autonome.

L’environnement du robot devient l’image, les données acquises par les capteurs du

robot deviennent des mesures sur l’image et les effecteurs, les opérateurs du

système. Le système est alors plongé dans un environnement évolutif, incertain et

incomplet. Une notion de perception empruntée au domaine de la robotique, est

introduite. Celle-ci traduit un état de l’image (environnement) à partir de mesures

extraites de l’image. Une architecture de contrôle permet de prendre une décision

selon deux axes : l’évaluation des pré-traitements et la caractérisation du résultat de

segmentation à l’aide de mesures. Ce travail souligne la difficulté d’obtenir une

modélisation analytique du comportement d’un opérateur de traitement d’images.

Plusieurs points restent à améliorer surtout l’évaluation et l’introduction d’aspects

plus sémantiques dans ce type d’architecture.

2.5 Conclusions

Les approches décrites précédemment (§2.2, §2.3, §2.4) permettent de dégager

quelques remarques très importantes.

Les systèmes de vision avec plus ou moins de connaissance intégrée,

constituent une autre manière d’aborder la segmentation. En effet, celle-ci fait partie

d’une chaîne globale qui permet :

De planifier les opérations de traitement d’images.

De contrôler le processus de traitement et particulièrement la segmentation.

De convertir les résultats numériques en symboles.

De représenter et utiliser la connaissance en traitement d’images.

Etat de l’art

28

D’implanter des mécanismes d’évaluation de la qualité du traitement

d’images.

De reconnaître finalement des objets.

Ces différentes étapes sont souvent abordées par le biais de systèmes experts

ou de systèmes d’aide à la conception d’applications de traitement d’images. En

effet, la composition de processus de traitement à travers une sélection appropriée

d’opérateurs ainsi que leur enchaînement, et l’utilisation de bibliothèques

d’opérateurs de traitement d’images constituent les traits dominants de ces

systèmes. L’utilisation de la connaissance dans ces systèmes concerne tout aussi

bien le type de caractéristiques à extraire d’une image, le type d’opérateurs à utiliser

et la manière effective de combiner ces opérateurs. Dans ce contexte, l’étape de

segmentation est bien sûr cruciale pour l’étape suivante d’interprétation.

Les systèmes complexes soulignent quant à eux l’importance de la notion

d’échanges entre le système et son environnement ainsi que l’interaction entre les

différents éléments du système. Pour cela, diverses stratégies de coopération ont été

mises en œuvre pour résoudre le problème de la segmentation. Les outils utilisés

dans ce cadre concernent surtout les systèmes multi-agents.

Toutes ces approches sont des tentatives de voir la segmentation d’une manière

intégrative et sémantiquement plus élevée que les approches purement

algorithmiques. Ces dernières présentent une grande diversité dans les formalismes

utilisés. Il n’existe que très peu de travaux théoriques sur l’unification de la

segmentation et ceux mis en œuvre pour fédérer les algorithmes de segmentation,

n’ont pas résolu ce problème ouvert et difficile qu’est le développement d’un

formalisme commun pour la segmentation. A partir de là, il nous est apparu important

de rechercher une méthodologie complémentaire des approches précédentes pour

développer un modèle original qui s’appuie sur les fonctions que réalise tout

algorithme de segmentation. Ce modèle fonctionnel de segmentation d’images est

décrit ci-après.

Modèle fonctionnel

29

3 Modèle fonctionnel

3.1 Introduction

Ce chapitre détaille l’élément fondateur du modèle fonctionnel qui est un

opérateur de segmentation. Il précise également la stratégie que nous qualifions de

décomposition permettant de modéliser une méthode de segmentation existante.

3.2 Vue d’ensemble

Après avoir étudié les principales méthodes de segmentation classiques, nous

avons élaboré un modèle fonctionnel (MF) générique [ZOUA04]. Nous avons extrait

les propriétés communes aux différentes méthodes, qu’elles soient de type

frontières, régions, Markoviennes ou autres. Cela a permis d’identifier des étapes

déterminantes dans la progression du processus de segmentation. Ces étapes

seront modélisées par des blocs fonctionnels qui décrivent chacun une fonction

essentielle qui existe dans toute méthode de segmentation.

Le MF générique de segmentation d’images se présente sous la forme d’un

opérateur de segmentation (OS), représenté sur la figure 1. Cet OS est composé de

cinq blocs élémentaires dénommés : Mesures, Critère, Contrôle, Modification et

Arrêt. Ces blocs sont enchaînés au cours d’un processus éventuellement itératif qui

correspond au processus de segmentation.

La carte initiale sur la figure 1 correspond à la carte des régions initiale que l’on

retrouve dans toute méthode de segmentation d’images. Cette carte initiale ( 0RM )

peut être triviale (une région couvrant toute l’image par exemple) ou peut être

obtenue par tout algorithme de segmentation.

Approche fonctionnelle générique des méthodes de segmentation d’images

30

Mesures

Critère

Contrôle

Modification Arrêt

Image

Opérateur de Segmentation (OS)

Carte des régions

( )niF k ,

( )nCk

( )nEk

kRMs ( )kRM

kRMs

Carte initiale

( )0RM

Figure 1 : Modèle fonctionnel de segmentation d’images

3.3 Architecture du modèle

Nous décrivons dans cette section les différents blocs élémentaires et

présentons les règles qui doivent être appliquées pour respecter le modèle. Le rôle

de chaque bloc sera détaillé ainsi que les contraintes posées sur les entrées/sorties

pour garantir leur généricité. A titre d’illustration, quelques exemples de blocs

fonctionnels génériques sont donnés en fin de chaque paragraphe.

3.3.1 Bloc Mesures

Une mesure est le résultat d’un calcul sur une image et/ou sur une carte de

segmentation. Les mesures servent à estimer l’homogénéité ou la non-homogénéité

entre deux régions, les propriétés d’un contour, … Le rôle de ce bloc est de créer un

ensemble de M mesures scalaires à chaque itération k, notées :

( ){ }NnMiniF k ..1,..1,, == Eq. 2

où N est le nombre de régions dans l’image.

Modèle fonctionnel

31

Le bloc Mesures s’occupe uniquement du calcul des mesures, qu’il transmet

sous forme de vecteurs (tableau de mesures par région) au bloc Critère. En entrée,

le bloc Mesures a besoin de l’image originale et de la carte de segmentation à

l’itération courante.

Le bloc Mesures possède deux modes de fonctionnement :

• Mode global : Les mesures sont faites sur tous les pixels et sur toutes les régions

de l’image.

• Mode local : Les mesures sont évaluées à une position ou site s. Ces mesures

sont calculées généralement autour d’un voisinage du site s. En mode local, la

position de ce site est précisée au bloc Mesures par le bloc Modification (figure

1). Nous appelons « cycle » le balayage de l’ensemble des sites de l’image.

Ce bloc a aussi la possibilité de recalculer des mesures systématiquement à

chaque itération ou à la demande du bloc Modification (§ 3.3.4) à la fin de chaque

cycle.

Une mesure de moyenne par exemple en mode global se traduit par un vecteur

de taille N (nombre de régions) et dont le contenu est la moyenne des pixels de

chaque région. Pour une mesure de moyenne en mode local, ce calcul ne prend en

compte que les pixels appartenant à un voisinage (par exemple une fenêtre carrée

centrée) centré sur le site s.

Les mesures usuelles dans les méthodes de segmentation sont essentiellement

des mesures intra-régions basées sur des niveaux de gris ou de couleur, des

attributs géométriques ou surfaciques. Nous citons dans ce cas la variance, la

moyenne, la surface ou le périmètre. D’autres types de mesures font, quant à elles,

intervenir deux régions (mesures inter-régions) telles que l’adjacence, l’écart de

niveaux de gris ou l’écart de moyennes de niveaux de gris entre deux régions

voisines.

Approche fonctionnelle générique des méthodes de segmentation d’images

32

3.3.2 Bloc Critère

Le rôle du bloc Critère est d’évaluer la qualité de la segmentation en

transformant les mesures en une fonction mathématique dénommée critère. Ce

critère peut être un critère d’homogénéité, de similarité, ou un critère statistique

quelconque. Selon les techniques de segmentation, on peut parler d’énergie ou de

fonctionnelle. Le critère est représenté à chaque itération k pour une région donnée

n , par l’équation générale suivante :

( ) ( )( )niFfnC kk ,= Eq. 3

Dans notre modèle fonctionnel, le critère sert à identifier les changements

significatifs dans les résultats de segmentation entre une itération et la suivante.

Nous avons choisi de manière arbitraire une convention pour notre critère. Celui-ci

doit diminuer quand la carte de segmentation approche un ‘bon résultat’ en allant

dans le sens d’une bonne segmentation.

Le bloc Critère prend en entrée les MxN mesures et fournit en sortie un critère

par région, soit un total de N valeurs.

Parmi les exemples significatifs de blocs Critère, correspondant à des critères de

segmentation souvent rencontrés, le critère linéaire égal à une somme pondérée de

mesures est donné par l’équation suivante:

( ) ( ) ( )∑=

=M

i

kkk niFniwnC1

,, Eq. 4

Les ( )niwk , sont des paramètres du critère ( )nC k et sont nommés hyper paramètres.

Nous utilisons ce terme emprunté au domaine de l’optimisation car ceux-ci ne

peuvent être déterminés en fonction de la minimisation de ( )nC k . Ils peuvent être

fixes ou suivre une loi d’évolution au cours des itérations. Si c’est le cas, cette loi est

précisée au bloc Critère.

Modèle fonctionnel

33

Un autre exemple de critère peut être représenté par l’équation ci-dessous :

( ) ( )nDnC k 1

= Eq. 5

( ) ( ) ( )( )∑ <= niwniFnD kk ,,EVAL Eq. 6

avec ( )nD qui est une combinaison logique des différentes mesures ( )niF k , . Dans

ce cas, le critère est conditionné par des seuils liés aux mesures seuillées

binairement. Ces seuils peuvent être assimilés à des hyper paramètres car ils

influencent directement le résultat final d’une segmentation. Comme pour l’exemple

précédent, les valeurs des seuils peuvent varier au fur et à mesure que se déroule le

processus de segmentation.

L’expression mathématique du critère est souvent complexe et représenté par

une fonction non-linéaire. Nous y retrouvons des opérations arithmétiques, des

opérations logiques et d’autres opérateurs tels que le minimum ou le maximum. Le

bloc Critère peut être vu comme un bloc programmable, capable de créer des

critères emboîtés [MONG87] à partir de plusieurs mesures.

L’évolution globale de la qualité de la segmentation peut être observée en

calculant à chaque itération k la valeur du critère global CG qui est donné par

l’équation suivante :

( )∑=

=N

n

kk nCN

CG1

1 Eq. 7

où N représente le nombre total de régions dans l’image et ( )nC k la valeur du

critère pour la région n . L’évolution du critère global permet de suivre le processus

de segmentation et sa progression vers une bonne segmentation. A noter que ce

n’est pas ce critère qui est minimisé par le processus de segmentation.

Approche fonctionnelle générique des méthodes de segmentation d’images

34

3.3.3 Bloc Contrôle

Le bloc Contrôle a pour objectif d’évaluer le besoin d’évolution d’une carte de

segmentation. En entrée, le bloc Contrôle dispose des critères associés à chacune

des régions et en sortie il fournit le besoin d’évolution, noté ( )nE k , de ces mêmes

régions. ( )nE k est un nombre réel, normalisée entre -1 et +1, qui permet de préciser

ce besoin. Quand la valeur de contrôle ( )nE k est positive, ceci signifie que la région

n doit être modifiée car elle n’a pas encore atteint la qualité requise. Si cette valeur

est égale à zéro, alors la région n a atteint la qualité requise et si ( )nE k est négatif,

la région n a été modifiée au delà de la qualité requise.

Nous présentons ci-dessous deux exemples de blocs Contrôle. Ceux-ci sont

dénommés contrôle dérivatif et contrôle linéaire par seuillage.

Dans le contrôle dérivatif, l’évolution est construite par rapport à la variation du

critère entre deux itérations. La sortie du bloc Contrôle pour une région n est alors

donnée par :

( ) ( ) ( )( ) ( )nCnC

nCnCnE kk

kkk

1

1

+−

= Eq. 8

où ( )nC k est le critère associé à la région n pour l’itération courante k et ( )nC k 1−

celui obtenu lors de l’itération précédente. Ce contrôle peut mémoriser des valeurs

de critères antérieurs, cela peut être utile pour définir des blocs Contrôle particuliers

ou pour le suivi temporel de l’évolution du critère.

Pour le contrôle linéaire par seuillage, représenté sur la figure 2, ( )nE k est donné

par l’expression suivante :

( ) ( )( )( ) TnC

TnCnE k

n

kk

−−

=max

Eq. 9

Modèle fonctionnel

35

où T représente un seuil.

( )nC k

( )nE k

1

T ( )( )nC kmax0

( )( ) TnCT

k −−

max

Figure 2 : Représentation graphique du contrôle linéaire par seuillage.

3.3.4 Bloc Modification

La fonction principale de ce bloc est de modifier la carte de segmentation. Il

existe trois grandes catégories de modifications possibles :

1) Modification avec nombre de régions constant : ce type de modification peut être

rencontré dans une approche Markovienne, en croissance de régions ou dans

une approche déformation de maillage.

2) Modification avec création de régions : on trouve cela dans les techniques de

division de régions ou dans les approches par introduction de germe.

3) Modification avec suppression de régions : principalement présent en fusion de

régions.

Ce bloc constitue le cœur du processus de segmentation. Il est bâti sur une

représentation (modèle) explicite ou implicite de la carte des régions qui influence

directement le processus de modification. Il peut être très simple (déplacement d’un

Approche fonctionnelle générique des méthodes de segmentation d’images

36

seuil) ou très complexe (contour actif). Mais dans tous les cas, il doit faire évoluer la

carte de segmentation en respectant les consignes d’évolution ( )nE k telles qu’elles

lui sont données par le bloc Contrôle.

En sortie, ce bloc génère une nouvelle carte de segmentation construite à partir

d’une stratégie de modification. Le bloc Modification est capable de produire deux

types de représentation de cartes de régions. Une carte d’étiquettes ou chaque pixel

possède l’étiquette correspondant à sa région d’appartenance et une carte des

régions définies par les points de leur contour et le mode d’interpolation entre les

points. Notez que cette représentation ne correspond pas obligatoirement à la

modélisation des régions interne au bloc Modification mais est nécessaire pour le

fonctionnement du bloc Mesures. Ces deux cartes permettent de faire fonctionner

indépendamment des blocs précédents les approches régions et les approches

basées sur les contours actifs ou sur les maillages actifs. Ce bloc peut aussi fournir

une information au bloc Mesures sur le voisinage (site s) à utiliser en mode local. La

position du site suivant dépend du type de balayage effectué par l’algorithme initial.

Ce bloc peut réaliser toute action nécessaire pour modifier la carte de segmentation

comme réaliser ses propres mesures sur l’image et/ou sur la carte de segmentation

indépendamment du bloc Mesures. De plus, il peut mémoriser des cartes et gérer

des cycles (itérations du modèle) en ne modifiant la carte qu’en fin de cycle. Un cycle

correspond au traitement de tous les pixels de l’image ou de tous les points de

contrôle d’un contour.

3.3.5 Bloc Arrêt

Le bloc Arrêt permet d’arrêter le processus de segmentation lorsque la carte des

régions n’évolue plus. i.e. ( ) SRMRMd kk <+ ,1 , où d représente la variation entre

deux cartes de régions entre deux itérations successives et S un seuil. Ce bloc peut

aussi interrompre la segmentation lorsqu’on atteint un nombre d’itérations maximum

voulu ou un nombre suffisant de régions. Il peut participer à l’évaluation de la

segmentation obtenue et à la détection de la stabilité de la carte des régions entre

deux itérations.

Modèle fonctionnel

37

3.4 Stratégie de décomposition

Le formalisme proposé par notre modèle fonctionnel définit rigoureusement le

rôle des blocs, leur entrée/sortie mais laisse évidemment une grande souplesse

quant à leur contenu, ce qui est nécessaire pour pouvoir représenter un grand

nombre de méthodes de segmentation. Néanmoins, la décomposition en MF d’une

méthode de segmentation donnée n’est pas pour autant toujours évidente. Si le

modèle peut sembler assez trivial pour représenter certaines méthodes, d’autres

nécessiteront une analyse détaillée de l’algorithme sous-jacent. Pour conduire cette

analyse, nous proposons la stratégie suivante.

Recherche des mesures

Cette étape consiste à repérer dans l’algorithme initial les différents calculs

effectués soit sur l’image, soit sur la carte des régions ou sur les deux. Si ces calculs

sont effectués sur l’ensemble des pixels des régions, le modèle fonctionnel (MF)

fonctionnera en mode global. Si ces mesures sont effectuées dans le voisinage d’un

pixel ou d’un élément d’un contour alors le MF sera en mode local. Si la méthode fait

apparaître des mesures à la fois globales et locales, le MF sera en mode local.

Tri des mesures

Cette étape revient à classer les mesures en deux catégories : La première

catégorie rassemble les mesures effectuées pour quantifier la qualité de

segmentation. Par exemple, une mesure de variance de niveau de gris réalisée à

partir de l’image et de la carte des régions (§ 4.2), est une mesure de qualité utilisée

par le bloc Critère. La deuxième catégorie concerne des calculs effectués pour

modifier la carte de segmentation sans intégrer explicitement un objectif de qualité.

Ces calculs seront dans le bloc Modification.

Règles d’association des mesures de la première catégorie

On cherche à identifier le critère de qualité qui guide le processus de

segmentation dans l’algorithme initial. Ce critère doit faire intervenir les mesures de

la première catégorie. Les formules de combinaison de ce critère seront implantées

dans le bloc Critère de notre modèle, en le modifiant éventuellement pour respecter

la contrainte de décroissance imposée par le MF (§ 3.3.2)

Approche fonctionnelle générique des méthodes de segmentation d’images

38

Optimisation de la segmentation

Le but ici est d’identifier la stratégie d’optimisation du critère de qualité qui guide

la segmentation en répondant à la question « comment décide-t-on de faire évoluer

la carte de segmentation ? ». La réponse définira le contenu du bloc Contrôle. On

rencontre des approches basées sur le seuillage du critère, de sa dérivée ou encore

des algorithmes d’optimisation classiques (§ 4.2).

Recherche de la stratégie de modification

Cette étape nécessite d’abord l’identification de la nature de la carte des régions

qui peut être par exemple une carte d’étiquettes ou un ensemble de contours. La

phase suivante consiste à isoler l’étape élémentaire qui réalise la transformation de

la carte des régions. Ceci peut correspondre à un simple changement de label ou à

un déplacement d’un point d’un contour actif.

Recherche des paramètres de la méthode

Cette étape consiste à identifier tous les paramètres qui interviennent dans la

méthode de segmentation analysée et à les associer à des blocs fonctionnels

préalablement définis. On peut trouver

− Des paramètres liés aux mesures comme la taille d’un voisinage (§ 4.2).

− Des paramètres intervenant dans le critère pour pondérer les mesures. Ils

portent généralement le nom d’hyper paramètres.

− Des paramètres liés au bloc Contrôle comme la valeur d’un seuil.

− Des paramètres liés au bloc Modification comme le sens d’un balayage.

Notons également qu’un nombre d’itérations ou le choix d’une carte initiale

peuvent être vus comme des paramètres de la méthode.

Cette analyse et la décomposition qui en découle, peuvent aboutir à une

restructuration profonde de l’algorithme initial. Néanmoins pour une image donnée,

dans les mêmes conditions d’application, on doit obtenir les mêmes résultats de

segmentation.

Modèle fonctionnel

39

En respectant les interfaces entre les différents blocs et la philosophie liée à la

décomposition fonctionnelle, nous avons pu constater qu’il n’existe pas de

décomposition unique pour une méthode de segmentation donnée. Nous en avons

cependant identifié le plus souvent deux que nous avons dénommées,

décomposition canonique (triviale) et décomposition maximale.

1) Décomposition canonique

Cette décomposition est la plus triviale car elle représente le modèle fonctionnel

dans sa version simplifiée. Dans ce cas, tout le processus de segmentation se situe

au niveau du bloc Modification. Le prédicat d’homogénéité et la stratégie de

modification sont implantés dans ce bloc unique. C’est lui qui décide de faire évoluer

la carte de segmentation. Les blocs Critère et Contrôle ne remplissent alors aucune

fonction. Les itérations sont alors inutiles. Toute implantation informatique existante

d’une méthode donnée peut rentrer dans ce cadre. Cette décomposition n’a

cependant aucun intérêt en terme d’analyse et de lisibilité d’une méthode. C’est le

niveau zéro de la décomposition fonctionnelle.

2) Décomposition maximale

Cette décomposition est strictement conforme à notre modèle générique et suit

évidemment sa philosophie pour tous les blocs. Aucune fonctionnalité de l’un des

blocs ne relève ostensiblement de l’un des autres blocs. C’est la décomposition qui

permet la meilleure lisibilité de la méthode de segmentation considérée. En

particulier, on pense que dans ce cas, les hyper paramètres ne doivent apparaître

qu’au niveau du bloc Critère qui évalue la qualité de la segmentation. Dans ce cas,

chaque bloc remplit sa fonction de manière indépendante. Le bloc Modification ne

fait alors qu’appliquer la stratégie qui lui est transmise par le bloc Contrôle. Il n’y a

pas de choix à faire et aucun calcul supplémentaire ne peut être autorisé.

Entre ces deux décompositions, pour une méthode donnée, d'autres sont parfois

possibles. C'est en particulier ce qui se produit lorsque on choisit de laisser dans le

bloc Modification un certain nombre de mesures qui serviront à guider partiellement

l'évolution de la carte des régions, éventuellement en contradiction avec les sorties

du bloc Contrôle. Ceci n'est évidemment pas cohérent et peut rapidement conduire à

Approche fonctionnelle générique des méthodes de segmentation d’images

40

des algorithmes de segmentation qui ne convergeront pas vers un bon résultat. La

recherche de la décomposition maximale nous semble donc indispensable, même si

elle est peut-être difficile à obtenir à partir de la description initiale de la méthode.

3.5 Conclusion

L’étude de plusieurs méthodes classiques de segmentation d’images [COCQ95,

HARI98, HUNT79, REVO97, VELA80], nous a permis de mettre en évidence des

structures fonctionnelles communes à ces méthodes. Nous en avons déduit un

modèle fonctionnel (MF) de segmentation qui se présente sous la forme d’un

opérateur de segmentation (OS). Cet OS est constitué de blocs fonctionnels

enchaînés au cours d’un processus itératif. Ces blocs dénommés Mesures, Critère,

Contrôle, Modification et Arrêt, remplissent chacun une fonction essentielle en

segmentation d’images.

Ce modèle fonctionnel doit offrir une vision unifiée des méthodes de

segmentation qui peuvent être représentées par un opérateur de segmentation (OS)

et permet une meilleure compréhension fonctionnelle des méthodes. La validation de

ce modèle passe par la décomposition de méthodes de segmentation a priori très

différentes et par l’obtention après une réimplantation selon cette décomposition, de

résultats identiques à ceux obtenus avec les méthodes initiales. Si une implantation

de l’algorithme initial n’est pas disponible, l’observation visuelle du résultat ainsi que

le comportement de l’algorithme décomposé suivant le MF, doivent être cohérents

avec la description de l’algorithme initial et des résultats associés.

La validation du modèle fonctionnel proposé, par la décomposition maximale de

techniques de segmentation très différentes a priori, est l’objet du prochain chapitre.

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

41

4 Décomposition de méthodes de segmentation dans un modèle mono-opérateur

4.1 Introduction

Pour valider notre vision fonctionnelle de la segmentation, nous avons mené

divers tests de décomposition selon le MF de méthodes de segmentation

appartenant à différentes classes ou catégories. Il est important de préciser que

notre objectif n’est pas de décomposer l’ensemble des techniques mais plutôt

différentes approches couramment employées pour segmenter une image. Pour la

segmentation région, nous avons choisi l’arbre quaternaire [HUNT79], la fusion de

régions [HARI98] et la croissance de régions [REVO97, REVO02]. En ce qui

concerne la classification, le choix s’est porté sur l’algorithme Isodata [VELA80] et

sur une technique Markovienne [PAPP92]. La segmentation des contours est

représentée ici par un contour actif [ANWA01] et par le modèle de la bulle discrète

[COCQ95]. Pour la segmentation par agents, nous avons sélectionné la technique

développée par Liu [LIU99]. Les méthodes de segmentation choisies, sont des

méthodes citées régulièrement dans la littérature. Elles sont représentatives ou à la

base des méthodes ou des classes de méthodes auxquelles elles appartiennent et

ne font pas partie des méthodes ad hoc.

Nous présentons dans ce qui suit les décompositions détaillées de quatre

méthodes : une méthode d’arbre quaternaire, une méthode Markovienne, une

méthode de contour actif et une méthode de segmentation par agents. Pour chacune

de ces méthodes, nous rappellerons brièvement les théories sous-jacentes afin

d’expliciter la décomposition fonctionnelle proposée. Enfin, nous illustrons ces

décompositions par des résultats obtenus par des implantations conformes au MF

qui seront détaillées dans le chapitre 6. Les autres résultats concernant la méthode

Isodata et l’approche contour par agent sont donnés respectivement en annexes ((a),

et (c)). La comparaison de ces résultats avec l’implantation initiale concerne

Approche fonctionnelle générique des méthodes de segmentation d’images

42

uniquement la méthode de contour actif. Les implantations originales des autres

méthodes de segmentation n’étant pas disponibles, les résultats sont appréciés

visuellement.

Notons que des imprécisions dans les algorithmes initiaux ne permettent pas

toujours de connaître les détails de leurs implantations. Par conséquent,

l’implantation de la décomposition maximale de ces méthodes peut produire des

résultats qui ne sont pas strictement identiques à ceux obtenus avec l’original.

4.2 Méthode par arbre quaternaire

La méthode par arbre quaternaire [HUNT79] utilisée en segmentation d’images,

consiste à découper récursivement une image en un ensemble de quatre régions

disjointes jusqu'à ce que les régions deviennent homogènes. Le critère

d’homogénéité utilisé peut être un niveau de gris constant, une variance minimale ou

tout autre attribut de région. Le schéma de la figure 3 présente le principe de

découpage récursif utilisé.

(a) (b)

Figure 3 : (a) Découpage d’une image par arbre quaternaire. (b) Représentation arborescente.

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

43

Lorsque l’image originale est de type carré, de taille NxN où N est une

puissance de 2 ( nN 2= ), toutes les régions produites par le processus de division sont

carrées de taille MxM où mM 2= avec nm≤ . Puisque la procédure est récursive, la

segmentation résultante peut être représentée par un arbre (figure 3 (b)) dont les

nœuds ont chacun quatre fils et chaque fils possède un seul père.

La décomposition fonctionnelle de la méthode par arbre quaternaire produit les

blocs suivants (figure 4). Le bloc Mesures réalise en mode global une seule mesure

qui est par exemple la variance de niveaux de gris. Le bloc Critère est élémentaire

puisqu’il correspond à la mesure faite. La variance d’une région devant diminuer

conformément au modèle. Le bloc Contrôle effectue un contrôle par seuil. Si la

variance d’une région est supérieure à un seuil prédéfini, alors la région est

considérée comme non homogène. La valeur de contrôle pour cette région est mise

à un. Le bloc Modification applique la stratégie de modification des arbres

quaternaires qui est de découper une région non homogène en quatre sous-régions.

Ce processus est répété jusqu'à ce que toutes les régions créées soient homogènes.

Un exemple de segmentation obtenu sur l’image Lena est montré sur la figure 5.

En analysant les résultats, on observe le bon comportement de l’algorithme avec des

découpages visuellement fins au voisinage des contours et grossiers dans les

régions homogènes.

Approche fonctionnelle générique des méthodes de segmentation d’images

44

MESURES, mode global

( ) Variance:,1 nF k

CRITERE

( ) ( )nFnC kk ,1=

CONTRÔLE, par seuillage

MODIFICATION ARRÊT

Découper la région n en 4 sous-régions

Non variation de la carte desrégions entre deux itérations

( ) ,1=nE kSi

( ) ( )( ) 0

1,=

=>nE

nEnCk

kk

SinonSi ε

Figure 4 : Décomposition fonctionnelle d’une segmentation par arbre quaternaire.

(a) Image originale (b) Structure résultante

Figure 5 : Résultat obtenu pour l’arbre quaternaire sur l’image Lena.

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

45

0

10

20

30

40

50

60

0 2 4 6 8

I té ra tio n s

Crit

ère

glob

al

Figure 6 : Evolution du critère global de l’arbre quaternaire pour l’image Lena

L’évolution du critère global fourni par le bloc Critère et qui est égale à la

moyenne des variances dans ce cas, est présenté sur la figure 6. Cette courbe

illustre la règle concernant l’évolution du critère au cours du processus de

segmentation qui doit diminuer au fur et à mesure que la carte de segmentation

évolue.

4.3 Méthode Markovienne

Nous avons choisi d’aborder les méthodes Markoviennes à travers la méthode

proposée par Pappas [PAPP92]. Cette méthode réalise une séparation des pixels

dans une image en classes (typiquement 2 à 4) en se basant à la fois sur leurs

intensités et sur leurs voisinages.

L’utilisation des champs de Markov en segmentation d’images s’est généralisée

à la suite des travaux de Geman [GEMA84]. Cette approche consiste à construire un

modèle a priori portant sur le processus à estimer et un modèle de déformation ayant

conduit à l’observation faite. Ces modèles sont ensuite combinés dans le cadre

Markovien. Le formalisme des champs de Markov permet de prendre en

considération les relations de voisinage entre les pixels et ne se limite donc pas à la

prise en compte individuelle des pixels. Ainsi la probabilité qu’un pixel appartienne à

une classe dépend non seulement de son niveau de gris mais aussi de ceux de ses

Approche fonctionnelle générique des méthodes de segmentation d’images

46

voisins. Nous rappelons brièvement dans ce qui suit les concepts qui ont conduit à

l’élaboration de cette théorie.

En segmentation d’images, le champ de données est noté ( ) SssxX ∈= où S

représente l’ensemble des sites (image) et les sx sont des valeurs dans l’ensemble L

des valeurs de niveaux de gris. L’image segmentée est notée ( ) SssyY ∈= , les

différentes valeurs sy prennent des valeurs dans l’ensemble des labels Λ . La

modélisation Markovienne permet de définir une loi a priori sur l’espace des

configurations SΛ , notée ( )YP . D’autre part, une modélisation des données permet

de définir une loi d’attache aux données sur l’espace des configurations SL , notée

( )YXP / . L’inconnue dans ce cas est Y, nous cherchons alors à minimiser la loi a

posteriori exprimée par la formule de Bayes suivante :

( ) ( ) ( )( )XP

YPYXPXYP // = Eq. 10

Ce qui revient à minimiser la quantité : ( ) ( )YPYXP /

L’algorithme d’optimisation le plus couramment utilisé est le MAP (Maximum A

Posteriori). Celui-ci revient à choisir un estimateur MAPY qui maximise ( )XYP / . Nous

avons alors l’expression suivante de MAPY :

( ){ } ( ) ( ){ } ( ) ( ){ }YPYXPYPX/YPXYPYYYY

MAP log/logminargmaxarg/argmax −−=== Eq. 11

La recherche du minimum est ensuite un problème classique d’optimisation. Une

solution approchée peut être obtenue soit par des algorithmes déterministes, dont

l’algorithme ICM (Iterated conditional Mode) est un exemple, soit par des algorithmes

stochastiques comme le RS (Ricuit Simulé).

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

47

La méthode de segmentation développée par Pappas modélise l’image comme

une collection de régions dont l’intensité est uniforme ou à faible variation. Le modèle

a priori utilisé pour caractériser l’image segmentée ( ( )YP ) suit une distribution de

Gibbs. Un bruit blanc Gaussien est choisi pour la probabilité conditionnelle

modélisant le bruit ( ( )YXP / ).

D’après le théorème d’Hammersley-Clifford, ( )YP est une distribution de Gibbs

et est complètement définie par sa fonction d’énergie ( )YU . Cette fonction peut être

réécrite comme une somme de fonctions de potentiels de cliques ( )YVC tel que :

( ) ( )∑∈

=CQC

C YVYU Eq. 12

Une clique C est un ensemble de pixels (un ou plusieurs) qui sont tous voisins

les uns des autres (figure 7). Plusieurs fonctions de potentiels de cliques ont été

proposées dans la littérature. Dans son article Pappas [PAPP92] propose une

fonction d’énergie dont les contributions non nulles, sont issues de cliques d’ordre 2.

Le potentiel de cliques ( )YVC associé aux différentes paires horizontales, verticales

ou diagonales de pixels adjacents est donné par l’expression suivante :

( ) ( ) ( )( ) ( )⎩

⎨⎧

≠+=−

=lkYjiYiflkYjiYif

YVC ,,,,,,

ββ

Eq. 13

où ( ) ( ) Clkji ∈,,, . Notons qu’un faible potentiel ou énergie correspond à une

probabilité élevée et vice versa. Par conséquent, en choisissant une valeur positive

pour β , deux pixels voisins ( )ji, et ( )lk, auront une plus grande probabilité s’ils

appartiennent à la même région (Pappas choisit une valeur de β égale à 0.5).

Approche fonctionnelle générique des méthodes de segmentation d’images

48

s

Figure 7 : Systèmes de voisinage en 8-connexité et cliques d’ordre 2 correspondantes.

La probabilité conditionnelle ( )YXP / modélisant le bruit est dans le cas

Gaussien donnée par une fonction d’énergie notée ( ) ( ) ( )2

2

22log,

s

sss

yYXVσ

µσπ

−+=

où s est le pixel courant, µ la moyenne et 2σ la variance.

La probabilité ( )XYP / a posteriori est alors donné par l’équation suivante :

( ) [ ] ( )⎭⎬⎫

⎩⎨⎧

−−−∝ ∑ ∑s C

Css xVyExpXYP 222

1 µσ

.

Un MAP optimisé par ICM est utilisé pour maximiser cette probabilité

conditionnelle. Le processus de maximisation est effectué sur chaque point de

l’image et ce cycle est répété jusqu'à convergence. Une configuration (segmentation)

initiale aussi proche que possible de la configuration optimale est nécessaire.

Après analyse de l’algorithme de Pappas, nous proposons la décomposition

fonctionnelle représentée figure 8.

Le bloc Mesures réalise deux mesures. La première notée ( )nF k ,1 est une

mesure de déviation par rapport à une moyenne locale nsm (moyenne locale des

niveaux de gris des pixels voisins du site s ayant le label n). Elle est donnée par

l’équation suivante :

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

49

( ) ( )2,1 nss

k mynF −= Eq. 14

où sy est le niveau de gris du site s.

La deuxième mesure ( )nF k ,2 associée au modèle a priori et au potentiel de

cliques ( )sVc est exprimée par :

( ) ∑∈

=CQc

ck sVnF )(,2 Eq. 15

La sommation porte sur toutes les cliques CQ et le potentiel de cliques ( )sVc

dépend uniquement des pixels qui appartiennent à la clique c, de label n dans la

carte de régions kRM .

Notons que le bloc Mesures effectue deux mesures pour chaque label (région)

présent dans la carte des régions. Le site courant s est indiqué au bloc Mesures par

le bloc Modification (figure 8), ce qui correspond au mode local. Le balayage des

pixels s’effectue de gauche à droite en commençant par le pixel 0 situé sur le coin

haut gauche (type raster scan).

Le bloc Critère réalise une combinaison additive des deux mesures. Le

paramètre ( )nwk ,2 est un hyper paramètre qui sert à contrôler le poids à donner à

chaque mesure.

Le bloc Contrôle implante la méthode d’optimisation ICM. Dans ce cas, on

cherche le label 0nn = pour lequel ( )nCk

e− est maximum pour tout n . La sortie du bloc

Contrôle ( )0nE k est mise à 1 alors que les autres valeurs ( )nE k sont mis à 0. Cela

peut être interprété comme une indication au bloc Modification pour agrandir la

région 0n en récupérant un pixel. Ce pixel est le site courant s de label 0n .

Le bloc Modification est un bloc qui fait de l’étiquetage ou du pixel labeling à

chaque cycle. Il donne au site s le label n pour lequel ( )nE k est égale à un. Ensuite,

ce bloc choisit le nouveau site à traiter (suivant son propre balayage interne) et

Approche fonctionnelle générique des méthodes de segmentation d’images

50

transmet ses coordonnées au bloc Mesures. A la fin de chaque balayage (qui

correspond à un cycle), la carte des régions kRM est mise à jour par le bloc

Modification.

Le bloc Arrêt examine à chaque fin de cycle de balayage le nombre de pixels

modifiés et arrête le processus quand celui-ci est au-dessous d’un certain seuil.

• Etiquetage avec n tel que

• Coordonnées du site s suivant indiqué à Mesures

Non variation de la carte desrégions entre deux itérations

MESURES, mode local

CRITERE

CONTRÔLE

MODIFICATION ARRÊT

( ) ( ) ( ) ( )nFnwnFnC kkkk ,2,2,1 ⋅+=

( ) 0,1 0 sinonsi nnnE k ==

( ) 1=nE k

( )( )n

nn

k-C0 eargmax=

( )( ) cliquesdesEnergie

localemoyenneDéviation:,2:,1

nFnF

k

k

s

s

Figure 8 : Décomposition fonctionnelle d’une segmentation par approche Markovienne.

Un exemple de résultat obtenu après l’implantation de cette méthode

Markovienne est donné sur la figure 9. Avec la prise en compte des étiquettes du

voisinage par l’énergie de cliques, on observe bien (figure 9(b) - figure 9(c)) la

disparition des labels isolés. La carte initiale est générée par un seuillage arbitraire

des niveaux de gris de l’image en 4 classes.

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

51

(a) Image originale (b) Carte de segmentation initiale (c) Carte de segmentation finale

Figure 9 : Résultat obtenu pour l’approche Markovienne sur une image synthétique ‘carrés’.

La courbe montrant l’évolution du critère global pour la méthode Markovienne est

représenté sur la figure 10. Elle illustre bien la diminution du critère global avec

l’amélioration de la carte de segmentation.

-3700

-3600

-3500

-3400

-3300

-3200

-3100

-3000

-2900

0 5 10 15 20

Nombre d'iterations

Crit

ère

glob

al

Figure 10 : Evolution du critère global pour une segmentation Markovienne sur l’image ‘carrés’.

4.4 Méthode de contour actif

La troisième méthode, dont nous présentons les résultats, est une méthode de

contour actif [ANWA01]. Nous rappelons que les contours actifs ou snakes [KASS88,

Approche fonctionnelle générique des méthodes de segmentation d’images

52

XU98] sont des courbes définies dans l’image et qui sont capables de se mouvoir

sous l’influence de forces internes issues de la courbe elle-même et de forces

externes calculées à partir des données de l’image. Nous démarrons généralement

d’une courbe initiale proche du contour recherché et l’évolution se fait à travers un

processus itératif qui déforme la courbe à chaque itération jusqu'à sa position finale.

Nous présentons dans ce qui suit un bref rappel sur le modèle classique [KASS88]

des contours actifs.

Mathématiquement, un contour actif est une courbe paramétrée C représentée

par la notation suivante :

[ ]

( ) ( )( )⎥⎦

⎤⎢⎣

⎡=→

ℜ→

sysx

svs

baC 2,: Eq. 16

où s désigne l’abscisse curviligne le long du contour, a et b sont les extrémités

(confondues ou non) du contour et ( )sv le point courant de coordonnées ( ) ( )sysx , .

Cette courbe se déplace dans le domaine de l’image dans le but de minimiser la

fonctionnelle d’énergie suivante :

( ) ( ) ( )CECECE externei += nterne Eq. 17

Le premier terme, qui est le terme d’énergie interne de la fonctionnelle, est défini

par :

( ) ( ) ( ) dssCs

sCsCEi

2

2

21

0

2

nterne 21

∂∂

+∂∂

= ∫ βα Eq. 18

La dérivée première par rapport à l’abscisse curviligne s , 2

sC

∂∂ agit sur la

longueur de la courbe en l’empêchant d’être trop élastique et le paramètre ( )sα , qui

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

53

influence sa tension, est appelé paramètre d’élasticité. La dérivée seconde 2

2

2

sC

∂∂ agit

quant à elle sur la courbure du contour et ( )sβ est appelé paramètre de rigidité. En

pratique, les deux paramètres βα , ont souvent des valeurs constantes.

Le deuxième terme de la fonctionnelle est un terme d’énergie potentielle et il est

calculé en intégrant une fonction d’énergie potentielle P(C(s)) définie en tout point de

l’image par :

( ) ( )( )∫=Ρ1

0

dssCPC Eq. 19

Cette fonction d’énergie potentielle dépend des données image. Etant donné une

image de niveau de gris I(x,y), la fonction d’énergie potentielle qui permet de mettre

en valeur les zones de l’image de fort contraste peut être exprimée par l’équation

suivante :

( ) ( ) ( )[ ] 2,*,, yxIyxGyxP e σω ∇−= Eq. 20

où eω est un paramètre de pondération, ( )yxG ,σ est une fonction Gaussienne

d’écart-type σ , ∇ est l’opérateur gradient, et * est l’opérateur de convolution 2D.

Le problème qui consiste à chercher une courbe qui minimise la fonctionnelle

d’énergie E(C) est un problème variationnel [COUR53]. Il a été démontré que la

courbe qui minimise E(C) doit satisfaire l’équation d’Euler-Lagrange [COHE91]

suivante :

( ) 02

2

2

2

=∇−⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

∂∂

−⎟⎠⎞

⎜⎝⎛

∂∂

∂∂ CP

sC

ssC

sβα Eq. 21

Approche fonctionnelle générique des méthodes de segmentation d’images

54

Cette équation aux dérivées partielles exprime l’équilibre entre les forces

externes et les forces internes.

( ) ( ) 0nt =+ CFCF exti Eq. 22

L’équation 21 qui n’a pas de solution explicite, est résolue dynamiquement par

l’ajout d’un terme de variation temporelle. Ce qui revient à résoudre :

( )CPsC

ssC

stC

∇−⎟⎟⎠

⎞⎜⎜⎝

⎛∂∂

∂∂

−⎟⎠⎞

⎜⎝⎛

∂∂

∂∂

=∂∂

2

2

2

2

βαγ Eq. 23

( ) ( )CFCFtC

exti +=∂∂

ntγ Eq. 24

où γ est un paramètre de viscosité du milieu où se déplace le contour.

Pour une résolution numérique de l’équation ci-dessus, nous passons par une

étape de discrétisation du problème qui se ramène à la résolution d’une équation

linéaire de type : bAX = . Différentes implantations numériques ont été proposés

dans la littérature, parmi elles la méthode des différences finies [KASS88]. En

approximant les dérivées dans l’équation 23 par des différences finies, on aboutit à

l’équation suivante :

( ) ( )[ ]111 −−− +−= next

nn CFCAIC γγ Eq. 25

où nC , 1−nC et ( )1−next CF sont des matrices de taille 2Nx , A est une matrice de taille

NxN , N étant le nombre de points définissant le contour. La matrice A , appelée

matrice de rigidité, contient les opérateurs de dérivation partielle le long de la courbe

(Eq. 23). L’inversion de la matrice A est calculée seulement lorsque le contour actif

est rééchantillonné.

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

55

Après ce bref aperçu du modèle classique de contour actif, nous avons

décomposé selon le MF la méthode développée dans [ANWA01]. Les blocs obtenus

sont représentés sur la figure 11.

Non variation de la carte desrégions entre deux itérations

MESURES, mode local

CRITERE

CONTRÔLE, par seuillage

MODIFICATION ARRÊT

( ) 22nn

k UyUxnC ∆+∆=

( ) ( )( ) 0

1,=

=>nE

nEnCk

kk

sinonSi ε

s

s( )( )

( )( )⎥⎦

⎤⎢⎣⎡∆∆=⎥⎦

⎤⎢⎣⎡

nsUynsUx

nFnF

k

k

k

k

,,

,2,1

( ) ( )( )nsVnsUnsU

k

kk

,,, 1

∆+= −

Figure 11 : Décomposition fonctionnelle d’une segmentation par contour actif.

Le bloc Mesures est un bloc qui calcule deux mesures correspondant aux

déplacements en x et en y ( ( ) ( )nsUynsUx kk ,,, ∆∆ ) d’un point de contrôle du snake à la

position s. Le bloc Mesures fonctionne en mode local. Les deux mesures sont

exprimées par l’équation suivante :

( )( )

( )( )⎥

⎥⎦

⎢⎢⎣

∆=

⎥⎥⎦

⎢⎢⎣

nsUy

nsUx

nF

nFk

k

k

k

,

,

,2

,1 Eq. 26

Le vecteur de déformation du point de contrôle s à chaque itération k , est noté

( ) ( ) ( )( )nsUynsUxnsU kkk ,,,, ∆∆=∆ . Il est obtenu à partir de la matrice ( )nU k∆ de taille

Approche fonctionnelle générique des méthodes de segmentation d’images

56

2×P qui contient les P points de contrôle de la région n (snake). Celui-ci peut être

obtenu par l’équation suivante [ANWA01] :

( ) [ ] ( )( ) ( )[ ] ( )nUnUnUwFAInU kkkext

k 1111 −−−− −++=∆ γγ Eq. 27

où ( )nUk est la matrice 2×P de coordonnées du point s à chaque itération k . extF

sont les forces externes et w est un paramètre de pondération. γ est un coefficient

de viscosité. A est une matrice de taille PP× et I la matrice identité. La matrice A

est recalculée uniquement lorsque le nombre de points de contrôle du snake a

changé, c’est à dire après une opération de ré-échantillonnage du snake.

Le bloc Critère calcule le module de la déformation (Eq. 28). Il reçoit les

déformations en x et en y , et crée un critère pour chaque point de contrôle du

contour. Quand la valeur du critère ( )nC k diminue au cours des itérations, cela

signifie que nous sommes proches d’une position stable du snake par rapport à

l’équilibre des forces.

( ) ( )( ) ( )( )22,2,1 nFnFnC kkk += Eq. 28

Le bloc Contrôle est un bloc de contrôle par seuillage. C’est à dire que quand la

déformation est supérieure à un seuil ( 0=ε , résultat figure 12), alors la valeur de

contrôle ( )nE k est mise à 1, sinon elle est mise à zéro pour signifier la convergence

du contour vers sa position idéale.

Le bloc Modification a pour fonction de faire bouger le snake vers sa nouvelle

position en déplaçant les points du contour. En effet, ce bloc calcule les nouvelles

coordonnées du contour. Celles-ci sont données par :

( ) ( ) ( )nsVnsUnsU kkk ,,, 1 ∆+= − Eq. 29

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

57

où ( )nsV k ,∆ est un déplacement qui doit être calculé dans le bloc Modification. Dans

ce cas précis, le déplacement ( )nsV k ,∆ est égal2 à ( )nsU k ,∆ donné par l’équation 27.

Le bloc Modification travaille en mode local et un cycle correspond ici au traitement

de tous les points du contour.

Le bloc Arrêt peut stopper le processus de segmentation de deux manières

différentes. La première correspond à un nombre suffisant d’itérations. La seconde

permet d’arrêter l’évolution du contour quand les coordonnées des points ne

changent pas (à un seuil près) entre deux cycles de modification.

Nous avons testé cette décomposition selon le MF sur des images différentes.

La figure 12 montre un exemple de résultat obtenu sur une image synthétique à

partir de cette décomposition.

(a) Image originale (b) Contour initial (c) Contour final

Figure 12 : Résultat obtenu pour la méthode de contour actif.

L’algorithme initial testé sur la même image aboutit au même contour final mais

avec un nombre d’itérations très différent. En effet, le temps d’exécution de

l’implantation originale est beaucoup plus rapide que l’implantation selon le modèle

fonctionnel (rapport de 1 à 10). Cela est dû au fait que l’implantation selon le modèle

2 Notons que si des mesures calculées dans le bloc Modification sont similaires à celles calculées dans le bloc Mesures, alors notre stratégie de programmation (§ 6) nous permet de les utiliser directement dans le bloc Modification dans le souci évident de réduire le temps de calcul.

Approche fonctionnelle générique des méthodes de segmentation d’images

58

fonctionnel utilise un mode local et qu’une itération correspond au traitement d’un

point de contrôle du contour actif.

Nous avons calculé aussi l’évolution du critère global au cours des itérations.

Celui-ci est représenté sur la figure 13. Ce critère global correspond ici à la somme

des modules des déformations de tous les points de contrôle du contour. Il tend

globalement à diminuer jusqu’à la stabilisation du snake. On remarque entre la 7ème

et la 15ème itération une remontée du critère global qui correspond à des

mouvements importants du contour après le passage du goulot d’étranglement au

centre de l’objet à segmenter. L’arrêt de la segmentation à l’itération 8 (minimum

local du critère) correspond à un résultat de segmentation relativement cohérent

(contour stoppé par l’étranglement)

0

0,5

1

1,5

2

2,5

3

3,5

0 5 10 15 20 25Nombre d'iterations

Crit

ère

glob

al

Figure 13 : Evolution du critère global pour une segmentation par contour actif.

4.5 Méthode par agents

Pour terminer cette partie, nous abordons les méthodes de segmentation par

agents. La notion d’agent, en intelligence artificielle distribuée, propose de distribuer

l’expertise sur un groupe d’agents qui doivent être capable de travailler et d’agir dans

un environnement commun et de résoudre les éventuels conflits. Selon Ferber

[FERB95], un agent est une entité physique ou virtuelle agissant dans un

environnement, communiquant directement avec d’autres agents, possédant des

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

59

ressources propres, capable de percevoir partiellement son environnement,

disposant d’une représentation partielle de l’environnement, et possédant des

compétences. Son comportement tend à satisfaire ses objectifs, en tenant compte

des ressources et des compétences dont il dispose, et en fonction de sa perception,

de ses représentations et des communications qu’il reçoit.

Les systèmes par agents ont été d’abord utilisés en vision par ordinateur

[BOIS94, LEFE93, YANA98] et étendus par la suite à la segmentation d’images

[BOUC98, LIU98, LIU99]. En segmentation d’images, un agent peut-être représenté

et agir de diverses façons, et à divers niveaux d’abstraction.

Au niveau le plus bas, on trouve les agents de segmentation à proprement

parler. Ceux-ci sont localisés dans l’image même et leur comportement est

directement observable. A chaque instant un agent est rattaché à un pixel. Partant

de pixels germes, les agents sont alors chargés d’explorer l’image dans le but de

réunir sous un même label les pixels possédant des caractéristiques photométriques

similaires, laissant à penser qu’ils appartiennent à une même région. C’est

notamment le cas dans [LIU99]. Nous retrouvons le même type d’agents, sans pour

autant que le terme agent soit explicitement employé dans le travail de Bellet

[BELL98]. Bellet parle, lui, de processus incrémentaux de croissance de régions ou

de contours. Guillaud [GUIL00] s’intéresse particulièrement à un type d’agents

(contours) qui permet de détecter et de suivre des contours. Kagawa [KAGA99] a

recourt aussi à des agents autonomes pour segmenter diverses images naturelles.

A un niveau un peu plus élevé, on trouve des agents correspondant aux régions

d’une image [DUCH03] [PORQ03]. Ici, les agents ne sont pas chargés de construire

les régions, car celles-ci existent déjà. Elles peuvent avoir été obtenues par une

segmentation préliminaire quelconque. Les agents sont alors chargés d’affiner cette

segmentation par fusion ou division de régions, en tirant profit d’informations

échangées avec leurs voisins.

Enfin, à des niveaux encore plus élevés apparaissent les agents de contrôle.

Dans les systèmes très complexes, ces agents sont chargés d’organiser la

répartition des tâches entre les agents de plus bas niveaux et de gérer leurs

comportements. Nous retrouvons ce genre d’agents dans les travaux de Boucher

[BOUC98], de Germond [GER00b] et de Abchiche [ABCH01].

Approche fonctionnelle générique des méthodes de segmentation d’images

60

Pour montrer que ce type de méthodes s’intègre dans notre modèle, nous avons

choisi de décomposer la méthode de Liu [LIU99] selon notre MF. Le système de

segmentation par agents autonomes de Liu entre dans le cadre des processus

incrémentaux de croissance de régions ou de contours. Partant d’un pixel germe, un

agent dans un processus incrémental de segmentation, est défini par sa position

dans l’image, un ensemble de paramètres caractéristiques et par un ensemble de

règles permettant de fixer son évolution.

Dans son approche, Liu utilise des agents autonomes distribués aléatoirement

dans l’image. Suivant le type d’images à segmenter, il définit un certain nombre de

classes d’agents. Par exemple, pour segmenter une image IRM du cerveau, quatre

classes sont répertoriées, la matière blanche, la matière grise, les contours et la

tumeur. Les agents disposés dans l’image ont pour objectif de labelliser ou

d’étiqueter une zone homogène. Pour cela, des mesures sont effectuées dans un

voisinage défini autour de chaque agent. Si le pixel visité est situé dans une zone

homogène alors l’agent l’étiquette et il devient inactif. Ensuite, des agents fils sont

créés (comportement de reproduction) aux alentours immédiats de l’agent père

suivant des directions héritées de leurs prédécesseurs (voir figure 14). Si l’agent

échoue dans sa tentative de trouver une zone homogène alors il diffuse suivant des

directions de diffusion. Ce comportement de diffusion peut être vu comme un

déplacement de l’agent vers un autre site de son voisinage dans une direction

héritée de ses parents (voir figure 15). Au cours de ces tentatives, l’agent vieillit et

meurt si le nombre de cycles de recherche excède sa durée de vie.

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

61

Label

Agents Fils

Agent (Pixel Courant)

Segment Homogène

Figure 14 : Comportement d’un agent situé sur un segment homogène.

Segment homogène Segment homogène

Agent (pixel courant) Agent (pixel courant)

Figure 15 : Comportement de diffusion d’un agent.

Les mesures effectuées par un agent dans l’image sont au nombre de trois :

mesure de contraste ( )jiG , , mesure locale de niveau de gris moyen ( )ji,µ et mesure

locale de la variance ( )ji,σ . Toutes ces mesures sont réalisées dans un voisinage

circulaire de l’agent (figure 16). Celles-ci sont données par les équations suivantes :

Approche fonctionnelle générique des méthodes de segmentation d’images

62

Agent (i,j)

Figure 16 : Voisinage circulaire d’un agent à la position (i,j).

( ) ( )( ) ( ) ( )

∑<−

=jiRlkji

ji lkjiG,,,

, ,,,ρ Eq. 30

avec

( ) ( ) ( )⎩⎨⎧ ≤−

=sinon0

,,1,,,

δρ

lkIjiIiflkji Eq. 31

où ( )jiR , est le rayon de la région de mesure, centrée sur la position ( )ji, . ( )jiI , est le

niveau de gris du pixel ( )ji, , N est le nombre de pixels contenu dans la région de

mesure et δ est un seuil de valeur positive.

( ) ( )( ) ( ) ( )

∑<−

=jiRlkji

ji lkIN

,,,, ,1µ Eq. 32

( ) ( ) ( )( )( ) ( ) ( )

∑≤−

−=jiRlkji

jiji lkIN

,,,

2,, ,1 µσ Eq. 33

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

63

Nous pouvons résumer le comportement d’un agent et ses règles d’évolution par

le schéma de la figure 17.

Chaque agent possède un certain nombre de paramètres caractéristiques qui

régissent son comportement, parmi eux un âge limite (LifeSpan) et une fonction

appelée Fitness Value qui intervient dans le calcul des directions de reproduction et

de diffusion [LIU99].

La figure 19 donne la décomposition selon notre MF de la méthode par agents

de Liu.

Pixel Courant

Mesure dans le voisinage circulaire

Homogénéité

Diffusion + Vieillissement Reproduction + Etiquetage

ouinon

Figure 17 : Comportements et règles d’évolution d’un agent autonome.

Approche fonctionnelle générique des méthodes de segmentation d’images

64

Le processus est arrêté lorsque la carte des régions n’évolue plus

MESURES, mode local

CRITERE

CONTRÔLE, par seuillage

MODIFICATION ARRÊT

( ) ( ) ( ) ( )( ) ( ) ( )nFnwnF

nwnFnwnCkkk

kkkk

,3,3,2,2,1,1

⋅+

⋅+⋅=

s

s

( ) ( )( ) 0

1,=

=>nE

nEnCk

kk

sinonSi ε

( )( )( ) localContraste:,3

localeVariance:,2localeMoyenne:,1

nFnFnF

k

k

k

( )

Mesures à indiqué suivant (agent) s Siteagentl' de

mentvieillisse puis diffusion sinonfilsagentsd' créationetcourant

pixeldu étiquetageSi ,1=nEk

Figure 18 : Blocs fonctionnels obtenus pour la segmentation par agents de Liu.

Les mesures sont effectuées en mode local et les coordonnées de l’agent sont

transmises par le bloc Modification au bloc Mesures.

Le bloc Critère combine de façon linéaire les mesures préalablement binarisées.

C’est à dire que la mesure est transformée en une donnée binaire qui vaut un si le

résultat de la mesure se situe dans l’intervalle d’homogénéité de l’agent et zéro s’il

est en dehors. A partir de là, une somme est réalisée et le résultat est affecté au

critère.

Le bloc Contrôle est un contrôle par seuillage. Le seuillage est réalisé sur la

valeur transmise par le bloc Critère. Si cette valeur vaut trois alors nous pouvons dire

que les trois mesures ont donné des résultats probants. Le pixel est situé donc dans

une zone homogène et la valeur de contrôle sera alors égale à un. Si au contraire la

valeur du critère est inférieure à trois alors nous sommes en présence d’un pixel non

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

65

homogène. La valeur de contrôle sera zéro. D’autres stratégies sont bien sûr

envisageables.

Si la valeur de contrôle transmise au bloc Modification vaut un, celui-ci

étiquettera le pixel courant puis créera de nouveaux agents (comportement de

reproduction). Si la valeur est nulle, alors il déplacera l’agent dans l’image et

augmentera son âge (comportement de diffusion).

Le résultat de segmentation que nous présentons figure 19, a été obtenu sur une

image synthétique. L’objectif est de segmenter par exemple le serpentin et le cercle.

Les agents, au nombre de 10, sont placés aléatoirement sur chaque ligne de l’image

de taille 128x128.

(a) Image originale (b) Image segmentée après quelques itérations

(c) Image segmentée finale

Figure 19 : Segmentation par agents d’une image synthétique.

La segmentation du cercle et du serpentin a été obtenue et constatée

visuellement. Le fond est ici représenté en blanc et les agents qui ont diffusé sont en

gris sur l’image finale (19 (c)). Le nombre d’agents actifs présents dans l’image peut

être visualisé en temps réel. Par exemple sur la figure 19 (b), il atteint le nombre de

2904 agents et diminue jusqu’à devenir nul. Ce qui signifie que le processus de

segmentation est fini.

Approche fonctionnelle générique des méthodes de segmentation d’images

66

4.6 Bilan des décompositions mono-opérateurs

Nous avons souligné avec quatre exemples pris parmi les dix méthodes

décomposées et implantées [ANWA01, BELL98, BURT81, COCQ95, HARI98,

HUNT79, LIU99, PAPP92, REVO02, VELA80], que le modèle fonctionnel proposé

permet de décomposer avec la même logique des méthodes de segmentation a

priori très différentes. Ces décompositions de méthodes, nous conduisent à avancer

le terme générique pour notre modèle bien qu’il ne soit pas démontrable que toutes

les méthodes de segmentation d’images soient décomposables selon ce modèle. Le

caractère générique du modèle est porté par la définition des fonctions des blocs du

modèle et des données d’entrée/sortie de ces blocs.

Le MF donne ainsi un cadre unifié à la segmentation d’images et améliore de fait

la lisibilité et la compréhension fonctionnelle des méthodes. Il offre également, de par

sa généricité, un cadre efficace pour l’intégration de méthodes de segmentation dans

un système de vision. En effet, l’ensemble des blocs issus de la décomposition de

méthodes de segmentation, deviennent indépendants des méthodes et sont

utilisables pour tester diverses combinaisons de blocs. Ces combinaisons permettent

d’asseoir la généricité logicielle du modèle fonctionnel que nous aborderons à travers

un exemple dans le chapitre 6.

Le MF peut aider à comparer les méthodes de segmentation en proposant une

comparaison structurelle bloc à bloc. On entend par comparer deux méthodes, le

dénombrement des blocs communs et différents issus d’une décomposition

maximale. Nous avons effectué dans ce sens une première analyse des méthodes

de fusion de régions [HARI98, PARK98, SAND89]. Après décomposition, nous avons

constaté que seuls les blocs Mesures et Modification diffèrent. En effet, les mesures

correspondent généralement à des mesures inter régions telles que l’écart de

moyenne de niveaux de gris ou la dynamique entre deux régions adjacentes.

D’autres mesures peuvent intervenir pour discriminer les nombreuses régions à

fusionner. Par exemple, une mesure de surface peut être utilisée pour favoriser la

fusion des grandes régions par rapport aux petites régions ou inversement.

Concernant le bloc Modification, différentes stratégies sont mises en œuvre bien

qu’elles conduisent toutes à une diminution du nombre de régions. La décomposition

Décomposition de méthodes de segmentation dans un modèle mono-opérateur

67

fonctionnelle de ces méthodes de fusion permet ainsi d’affirmer que celles-ci ont la

même stratégie d’évaluation de la qualité de la segmentation (blocs Contrôle et

Critère).

Le développement de méthodes de segmentation s’oriente actuellement vers les

méthodes coopératives ou les méthodes multirésolution. C’est pour cette raison qu’il

est nécessaire de valider notre modèle fonctionnel générique dans ce cadre avec

l’enchaînement de plusieurs OS. Ce modèle dit multi-opérateurs est l’objet du

prochain chapitre.

Approche fonctionnelle générique des méthodes de segmentation d’images

68

5 Modèle générique multi-opérateurs 5.1 Introduction

La seule vision binaire de la segmentation qui propose des méthodes de

segmentation soit de type contour, soit de type région, présente des limites. Afin de

cumuler les avantages de ces deux types d’approches sans avoir leurs

inconvénients, de nouvelles approches basées sur la coopération de plusieurs

méthodes ont été introduites [MUNO03] [KERM02].

La confrontation de ces approches de segmentation coopératives avec notre MF,

nous a conduit à définir un modèle multi-opérateurs schématiquement illustré figure

20. Ce modèle doit représenter des méthodes de segmentation complexe par un

enchaînement d’opérateurs de segmentation génériques. La mise en cascade des

opérateurs de segmentation est facilitée par la normalisation des interfaces des OS

et est naturellement adaptée aux approches coopératives exploitant la dualité

contour/région. Dans ce chapitre, après avoir rappelé les grands principes des

approches coopératives, nous décomposerons plusieurs méthodes de segmentation

de ce type (cas des méthodes de division/fusion ou des méthodes par agents) selon

notre modèle. Nous abordons également dans ce chapitre les méthodes de

segmentation multirésolution qui sont décomposables selon le MF générique multi-

opérateurs associé à un bloc Adaptation permettant la prise en compte des différents

niveaux de résolution aussi bien pour les images que pour les cartes de

segmentation.

Opérateur Opérateur Opérateur

Figure 20 : Schéma général du modèle fonctionnel complexe.

Modèle générique multi-opérateurs

69

5.2 Analyse et décomposition d’approches coopératives

5.2.1 Vue d’ensemble

Dans cette section, nous aborderons les méthodes coopératives et les

principales stratégies mises en œuvre pour faire coopérer des méthodes de

segmentation à savoir l’approche séquentielle, l’approche parallèle et l’approche

hybride.

• Approche séquentielle : cette approche, une des premières mise en œuvre

[GAMB93] [KARA94], est également appelée coopération par initialisation. Le

principe est simple. Il s’agit de démarrer une segmentation par une première

méthode et le résultat obtenu est utilisé comme initialisation d’une deuxième

méthode. Les méthodes de segmentation associées à cette stratégie sont

généralement des méthodes de détection de contours, de division-fusion et

de croissance de régions. Le but est alors d’incorporer l’information contours

dans les techniques de segmentation régions.

OS 1 OS 2Carte

Image

Figure 21 : Stratégie de coopération de méthodes par initialisation (séquentielle).

La figure 21 présente le principe de coopération séquentielle. Nous avons

délibérément remplacé les méthodes de segmentation classiques par notre

opérateur de segmentation (OS).

Approche fonctionnelle générique des méthodes de segmentation d’images

70

• Approche hybride : ce processus itératif complète la coopération par

initialisation en introduisant une boucle de retour sur le processus global de

segmentation dans le but d’affiner les résultats (figure 22). Différents travaux

appartiennent à cette approche, nous citerons [BAJC88] [ZHU96]. Cette

approche est bien représentée par le travail de Germond [GER00a] qui

essaye d’exploiter la complémentarité d’un modèle déformable, d’un

détecteur de contours et enfin d’un système multi-agents.

Carte

ImageOS 1 OS 2

Figure 22 : Stratégie de coopération hybride de méthodes de segmentation.

• Approche parallèle : cette approche utilise un bloc de fusion d’informations

pour fusionner les résultats issus de plusieurs méthodes de segmentation

(figure 23). En effet, ces méthodes de segmentation s’exécutent en parallèle

sur la même image et leur fonctionnement est indépendant l’un de l’autre.

Cette approche coopérative fait souvent appel à la théorie de fusion de

données [BLOC96, BLOC03]. Nous citerons dans ce cas les travaux de Chu

et Aggarwal [CHU93] ou Spann et Wilson [SPAN85]. En général, on retrouve

dans ce contexte des méthodes de segmentation de type croissance de

régions ou multirésolution.

Modèle générique multi-opérateurs

71

Fusion

OS 1 OS 2

Carte2

Carte1

Carte finale

Image

Figure 23 : Stratégie de coopération de méthodes par fusion d’information (parallèle).

5.2.2 Décomposition fonctionnelle d’une approche séquentielle

Nous illustrons cette approche coopérative par une méthode de division - fusion

(split and merge). Avec ce type d’approches, l’image est divisée en régions

homogènes qui respectent des critères globaux, puis les régions adjacentes qui

répondent à des critères locaux sont fusionnées. La méthode de division que nous

avons sélectionnée correspond à la méthode de l’arbre quaternaire présentée

précédemment (§ 4.2). Après avoir analysé quelques méthodes de fusion de régions

[CHAN95, HARI98, HERN00, MONG87, PARK98, SAND89], nous avons retenu et

implanté selon le MF celle de Haris [HARI98]. Nous n’allons pas revenir sur la

décomposition fonctionnelle de la méthode de l’arbre quaternaire (§ 4.2), nous nous

contentons de détailler la décomposition concernant la méthode de fusion de régions

qui a pour objectif d’améliorer la segmentation d’une image en regroupant des

régions suivant un prédicat fixé.

Le bloc Mesures fonctionne ici en mode global et pour chaque région n , nous

calculons une seule mesure notée ( )nF k ,1 , qui est le minimum de l’écart quadratique

de la valeur moyenne de niveaux de gris entre la région considérée et ses voisines.

La mesure ( )nF k ,1 est un vecteur exprimé par :

Approche fonctionnelle générique des méthodes de segmentation d’images

72

( ) [ ] ⎟⎟⎠

⎞⎜⎜⎝

⎛−

+= 2minarg,1 mn

mn

mn

n

k

NNNNnF µµ Eq. 34

avec nN qui est le nombre de pixels de la région n et nµ sa valeur moyenne de

niveaux de gris. mN et mµ représente les attributs de la région voisine m . k

représente l’itération courante.

Le bloc Critère calcule une valeur de critère à partir de la valeur de mesure qu’il

reçoit. Ce bloc calcule l’inverse de la mesure. Il est donné par l’équation suivante :

( ) ( )nm

kk

nFnC

=,1

1 Eq. 35

Un critère trop grand signifie que la segmentation est mauvaise, c’est à dire que

l’on doit fusionner des régions et donc faire bouger la carte de segmentation. Les

besoins d’évolution de la carte de segmentation sont calculés par le bloc Contrôle.

Dans notre cas, ce bloc effectue un contrôle linéaire par seuillage dont la sortie,

exprimée par ( )nE k , est :

( ) ( )( )( ) TnC

TnCnE k

n

kk

−−

=max

Eq. 36

où T est un seuil global de valeur positive.

Le bloc Modification qui implante la stratégie de modification d’une fusion de

région correspond à un bloc de suppression de régions. Si la valeur ( )nE k est

supérieure à zéro, alors, la région n doit grossir. Le processus de fusion est le

suivant : les deux régions ayant le besoin d’évolution ( )nE k le plus grand sont

fusionnées en premier. Si on se trouve en présence de deux valeurs maximales de

( )nE k , alors, on fusionne les deux régions correspondantes. Dans le cas où deux

Modèle générique multi-opérateurs

73

valeurs ( )nE k ou plus seraient égales, on vérifie d’abord l’adjacence et ensuite on

élabore une stratégie d’ordre de fusion qui sera basée par exemple sur la taille des

régions, la moyenne de niveaux de gris ou sur un choix aléatoire. Dans notre cas,

c’est cette dernière stratégie qui est mise en œuvre.

Notons que nous n’utilisons pas l’algorithme de partage des eaux pour obtenir

une sur-segmentation comme dans l’algorithme originel de Haris [HARI98].

La décomposition fonctionnelle pour cette méthode de fusion de régions est

représentée sur la figure 24.

Non variation de la carte desrégions entre deux itérations

MESURES, mode global

CRITERE

CONTRÔLE

MODIFICATION ARRÊT

( ) [ ] ⎥⎦

⎤⎢⎣

⎡−

+= 2,1 mn

mn

mn

n

k

NNNNnF µµargmin

( ) ( )( )mn

kk nFnC≠

−=

1,1

( ) ( )( )( ) TnC

TnCnE k

n

kk

−−

=max

( )fusionnerdoitrégionla

Si maximum estn

nE k ,

Figure 24 : Décomposition fonctionnelle d’une méthode de fusion de régions.

Approche fonctionnelle générique des méthodes de segmentation d’images

74

Ce type de coopération illustre bien l’enchaînement d’opérateurs de

segmentation dans le cas des méthodes complexes. Le premier opérateur exécute

son processus de découpage jusqu'à ce que toutes les régions soient homogènes. Il

transmet ensuite sa carte de régions à l’opérateur de fusion qui doit fusionner

certaines régions voisines (figure 25).

Split Merge

Figure 25 : Décomposition fonctionnelle d’une segmentation par split&merge.

Un exemple de résultat de segmentation obtenu avec la méthode de division-

fusion, est présenté sur la figure 26. Après la segmentation par arbre quaternaire

(figure 27-b), on obtient 605 régions, qui seront regroupées par l’opérateur de fusion

en 61 régions (figure 27-c). La valeur du seuil global T est égale ici à 0.001.

(a) Image originale (b) Image segmentée par arbre quaternaire

(c) Image segmentée finale après fusion

Figure 26 : Résultats obtenus de la division-fusion sur l’image bruit.

Modèle générique multi-opérateurs

75

5.2.3 Décomposition fonctionnelle d’une approche hybride

La méthode que nous avons décidé d’étudier dans le cadre d’une stratégie de

coopération hybride, est une méthode de croissance de régions [REVO97, REVO02].

Le processus de décomposition fonctionnelle de cette méthode est passé par deux

phases. Une première phase de décomposition, fidèle à l’algorithme original, a

engendré quatre opérateurs de segmentation : dilatation d’histogramme, érosion

réduite, contraction d’histogramme et dilatation réduite. La deuxième phase de

relecture de cet algorithme, à travers les opérateurs de segmentation que nous

avons définis, a abouti à une décomposition plus simple. Au final, elle comporte deux

opérateurs de segmentation, un opérateur de dilatation d’histogramme et un

opérateur de contraction d’histogramme représentés respectivement figure 27 et 28.

La décomposition fonctionnelle en deux opérateurs a donné le résultat suivant :

trois blocs sont communs aux deux opérateurs. Ces blocs sont les blocs Mesures,

Critère et Contrôle. Le bloc Modification du premier opérateur implante une stratégie

de modification par dilatation des régions. Le bloc Modification du second opérateur

effectue une contraction d’histogramme des régions présentes dans l’image.

MESURES, mode global

( ) VariancenF k :,1

CRITERE

( ) ( )nFnC kk ,1=

CONTRÔLE, par seuillage

MODIFICATION ARRÊT

Dilatation de la région n Non variation de la carte desrégions entre deux itérations

( ) 0>nESi k

( ) ( )( ) 0Sinon

1,Si=

=≤

nEnEnC

k

kk ε

Figure 27 : Modèle fonctionnel pour l’opérateur de dilatation.

Approche fonctionnelle générique des méthodes de segmentation d’images

76

MESURES, mode global

( ) VariancenF k :,1

CRITERE

( ) ( )nFnC kk ,1=

CONTRÔLE, par seuillage

MODIFICATION ARRÊT

Contraction de la région n Non variation de la carte desrégions entre deux itérations

( ) 0>nESi k

( ) ( )( ) 0Sinon

1,Si=

=≥

nEnEnC

k

kk ε

Figure 28 : Modèle fonctionnel pour l’opérateur de contraction d’histogramme.

Cette approche, replacée dans notre modèle fonctionnel, nous permet de

représenter la méthode de croissance de régions par l’enchaînement d’OS donné sur

la figure 29. Un exemple de résultat obtenu après implantation de l’algorithme initial

est illustré figure 30.

Dilatation Contraction

Figure 29 : Décomposition fonctionnelle d’une segmentation par croissance de régions.

Modèle générique multi-opérateurs

77

(a) Image Originale (b) Image segmentée initiale (c) résultat final

Figure 30 : Résultats obtenus avec la croissance de régions sur une image synthétique.

5.2.4 Coopération dans les méthodes par agents et modèle fonctionnel

Les systèmes multi-agents fournissent un cadre naturel pour l’expression de la

coopération. Cette coopération exploite la dualité entre contours et régions, ce qui

permet d’améliorer la segmentation lorsque les régions et les contours échangent

des informations. Les mécanismes de coopération dans les méthodes de

segmentation par agents s’expriment généralement par des règles de fusion ou de

division de régions, de prolongement ou de raccordement de contours.

Bellet [BELL98] décrit un système de segmentation faisant intervenir une

coopération entre des opérateurs incrémentaux de type contours et des opérateurs

incrémentaux de type régions. La coopération intervient lorsqu’un opérateur éprouve

des difficultés à segmenter une zone de l’image. Il peut alors faire appel à un ou

plusieurs autres opérateurs, en demandant leur création ou en utilisant ceux déjà

présents dans l’image, afin d’obtenir des informations supplémentaires qui lui

permettront de poursuivre sa progression de manière plus sûre.

Le mécanisme permettant à un agent contour de tirer profit d’une remontée

d’information provenant d’agents régions correspond à une adaptation locale du seuil

du gradient de l’agent contour, en tenant compte de l’homogénéité des régions

voisines. Le seuil du gradient pourra être d’autant plus faible que les régions voisines

seront peu texturées ou bruitées. Si ces régions ont déjà été segmentées, l’agent

contour pourra directement profiter des informations concernant ces régions. Dans le

cas contraire, il pourra se mettre en attente et demander la création, de part et

d’autre de son extrémité, de nouveaux agents régions chargés de faire remonter

Approche fonctionnelle générique des méthodes de segmentation d’images

78

l’information qui lui manque. Dans le même temps, il propose la création d’un agent

de type contour dans le prolongement du contour existant, permettant ainsi d’espérer

un éventuel raccordement.

Si les contours peuvent faire appel aux régions pour mieux progresser, l’inverse

est également envisagé. L’idée est cette fois-ci de borner l’expansion d’une région

par l’initialisation tout autour d’elle de germes contours. Si ces germes détectent

effectivement la présence de contours, alors la progression de la région pourra être

stoppée aux abords de ces contours.

Dans [PORQ03] les agents correspondent aux régions de l’image. La fusion des

régions se fait sur la base d’un critère mesurant le désir mutuel de fusion des deux

régions. Ce critère se base sur les caractéristiques photométriques des deux régions

concernées ainsi que sur le nombre de pixels frontières communs aux deux régions.

Il apparaît également un critère de survie, permettant au système de décider lequel

des deux agents région survivra à la fusion. Nous retrouvons le même type de

coopération Région-Région dans [DUCH03], qui s’appuie sur une structure de

pyramide irrégulière pour gérer le processus d’agrégation de régions et assurer la

convergence de la segmentation.

Nous avons vu que les mécanismes de coopération mis en jeu dans les

systèmes multi-agents sont essentiellement basés sur l’exploitation de la dualité

régions/contours. L’idée générale est de faire un usage judicieux et opportun des

informations apportées par chacun des deux types de processus, pour autoriser ou

non la fusion ou la division des primitives et pour adapter localement les paramètres

des méthodes.

Après une étude approfondie des méthodes de segmentation par agents, nous

avons confronté notre modèle fonctionnel à la coopération dans les systèmes multi-

agents. Nous avons décidé de décomposer la méthode développée par Bellet

[BELL98] dans le cadre de notre modèle fonctionnel de segmentation d’images.

Pour faire coopérer deux opérateurs de segmentation de type contour et de type

régions, qui représentent respectivement des agents régions et contours, nous avons

envisagé deux solutions :

Modèle générique multi-opérateurs

79

1) Ne considérer qu’un seul et unique opérateur de segmentation, mêlant les deux

types de processus. La coopération est alors gérée en interne dans le bloc

Modification.

2) Considérer deux opérateurs de segmentation différents, l’un pour les régions,

l’autre pour les contours. Dans ce cas, la gestion de la coopération est confiée à

un superviseur ou à un mécanisme coopératif par émergence.

La première solution est tout à fait envisageable. Cependant elle présente

l’inconvénient de ne pas être très souple. En revanche, le fait de considérer deux OS

distincts dont la coopération est réalisée par le biais d’un superviseur se justifie

pleinement :

Du point de vue de la généricité du modèle : le système multi-agents

coopératif dont nous voulons réaliser la mise en œuvre met en jeu deux types

de processus distincts, qui pris individuellement peuvent être assimilés à des

méthodes de segmentation à part entière. Au sens du modèle fonctionnel, il

est donc logique de considérer que chacun d’eux sera représenté par un OS

différent.

Du point de vue des recherches actuellement menées concernant les

systèmes multi agents coopératifs : celles-ci concernent les moyens de gérer

l’organisation et la coopération de la population d’agents et souvent, le choix

est porté sur un superviseur.

Pour l’implantation selon le modèle fonctionnel de ce type de méthodes avec un

mécanisme de coopération du type de celui présenté dans [BELL98], nous avons

décidé d’utiliser pour l’opérateur région, l’opérateur développé précédemment qui

concernait la méthode de Liu (§ 4.5). L’opérateur contour choisi est celui qui est

décrit dans Bellet [BELL98]. La mise en œuvre d’un tel opérateur suivant le modèle

fonctionnel a été réalisée et elle est présentée en annexes de ce document (annexes

(c)). Le résultat obtenu sur une image synthétique est montré sur la figure 31 ci-

dessous.

Approche fonctionnelle générique des méthodes de segmentation d’images

80

(a) Image Originale (b) Image segmentée finale

Figure 31 : Segmentation issue de la décomposition fonctionnelle d’un agent contour.

Le rôle d’un superviseur est de gérer le fonctionnement parallèle des deux

opérateurs de segmentation et de diriger les opérations lorsqu’il y a une demande de

coopération de la part du processus contour par exemple. Les deux opérateurs de

segmentation région et contour effectuent leurs processus de segmentation

normalement jusqu'à ce que l’un ou l’autre se bloque. Ceci signifie que l’un des

opérateurs est dans l’incapacité de continuer sa segmentation. Le superviseur

intervient alors en créant d’autres processus qui permettront de lever l’ambiguïté et

de terminer la segmentation.

Cette partie concernant l’utilisation d’un superviseur n’a pu être achevée et

testée. En effet, nous pensons introduire dans ce cadre des procédures de

communications basées sur la notion de médiateur [GAMM95]. Ces procédures

peuvent permettre une meilleure gestion de plusieurs OS ainsi que les

communications inter OS. C’est une des perspectives envisagées à notre travail.

Modèle générique multi-opérateurs

81

5.3 Analyse et décomposition d’approches multirésolution

5.3.1 Vue d’ensemble des méthodes de segmentation multirésolution

L’approche multirésolution conduit à analyser l’image à une échelle

correspondant aux structures spatiale présentes dans l’image. Selon cette approche,

il existe pour chaque structure une résolution à laquelle la recherche, l’extraction et la

description de cette structure sont les meilleures [BERT95].

Les méthodes de segmentation multirésolution reposent principalement sur la

construction de pyramides d’images [JOLI94] obtenues généralement par filtrage

puis par sous échantillonnages successifs à partir de l’image originale. L’idée donc

consiste à empiler les différentes représentations de la même image. Cette structure

forme alors une pyramide où chaque niveau peut se calculer à partir du niveau

précédent et de règles de simplification. Les pyramides les plus connues sont les

pyramides Gaussienne et Laplacienne [BURT83]. Dans le cas de la pyramide

Gaussienne, le filtrage de type passe-bas, est obtenu en utilisant un noyau de

convolution dont les coefficients approximent les valeurs d’une courbe Gaussienne.

La figure 32 présente une suite d’images obtenues en utilisant une pyramide

Gaussienne. Une représentation pyramidale similaire peut être obtenue avec des

bancs de filtres ondelettes [MALL89]. Dans ce cas, on trouve également à chaque

niveau de résolution les images de détails perdues lors du changement de niveau.

Figure 32 : Pyramide Gaussienne.

Le modèle pyramidal est à la fois une représentation hiérarchique d’images et un

modèle d’analyse d’images pour la segmentation d’images.

Approche fonctionnelle générique des méthodes de segmentation d’images

82

Les approches pyramidales utilisées en segmentation sont représentées par trois

grandes familles : les pyramides rigides, les pyramides souples et les pyramides de

graphes [BERT95]. Dans les approches rigides ou géométriques, la même approche

par division récursive est utilisée pour créer les images à différentes résolutions mais

avec différentes techniques. L’arbre quaternaire [COCQ95] est un exemple

représentatif de ce type de pyramide. La relation parent-enfant est fixe, chaque

parent a quatre pixels enfants et tous les pixels possèdent un parent.

Les pyramides souples constituent une première étape vers des structures non

régulières. La relation parent-enfant est variable. Des enfants peuvent avoir plusieurs

parents potentiels. Chaque enfant doit alors être relié à son père le plus ressemblant

(en terme de propriété). La pyramide liée [BURT81, PREW01] est un exemple

concret de ce type de pyramides.

Dans les pyramides de graphes (ou pyramides irrégulières) [BERT96, MONT91],

le niveau 0 de la pyramide est représenté par un graphe. Chaque pixel est associé à

un sommet et l’arête entre deux sommets (pixels) est crée si et seulement si les deux

pixels sont voisins. La dimension et la résolution de l’image sont constantes quel que

soit le niveau. Par contre, le graphe se simplifie en diminuant le nombre de sommets

lorsque l’on passe d’un niveau au niveau immédiatement supérieur [COCQ95].

5.3.2 Modèle multirésolution

L’étude de plusieurs méthodes de segmentation pyramidales [BERT96, BURT81,

HONG84, MONT91, PREW01, SPAN89, SPAN85] a abouti à l’élaboration d’un

modèle fonctionnel générique multirésolution dont la structure est présentée sur la

figure 33. Le modèle fonctionnel multirésolution est constitué de trois macro blocs

principaux : Construction Pyramide, Segmentation et Projection. Le macro bloc

‘Construction Pyramide’ crée des images à différentes résolutions en allant de bas

en haut (Images Multirésolution IM). Le macro bloc ‘Segmentation’ correspond ici à

un processus de segmentation (représenté par un ou plusieurs OS). Ces deux macro

blocs sont itérés selon différents schémas, dépendant des méthodes de

segmentation. Par exemple, on réalise un simple enchaînement comme dans

[SPAN89, SPAN85], ou des itérations multiples jusqu'à convergence des cartes de

segmentation comme dans [BURT81, PREW01]. Le troisième macro bloc ‘Projection’

Modèle générique multi-opérateurs

83

effectue une projection de la basse vers la haute résolution des différentes cartes de

segmentation jusqu’à la carte de segmentation finale ( LCS ).

Arrêt

2°Segmentation

1°Construction

Pyramide

ImageInitiale

CartesSegmentation

Initiales

3°Projection

CarteSegmentation

Finale

oui

non

CartesSegmentationHiérarchiques

CartesSegmentationHiérarchiques

LI

CSI

LCS

IM

CSHCSH

ImagesMultirésolution

Figure 33 : Schéma bloc du modèle fonctionnel générique multirésolution.

Les abréviations utilisées dans le schéma ci-dessus sont définies de la manière

suivante :

lCSI : carte de segmentation initiale au niveau de résolution l . Dans ce cas,

chaque pixel est associé à un label qui définit une région. Ce type de carte

peut provenir de n’importe quelle méthode de segmentation (seuillage par

exemple).

lCSH : carte de segmentation hiérarchique au niveau de résolution l . Dans le

cas multirésolution, les labels peuvent avoir un sens complémentaire et on

parlera de carte de segmentation hiérarchique. Celle-ci contient les liens

géométriques entre les pixels dits enfants (niveau l ) et les pixels parents (au

niveau 1−l ). La notation CSH inclue toutes les lCSH pour 0llL ≤≤ .

lCS : carte de segmentation finale au niveau de résolution l .

Approche fonctionnelle générique des méthodes de segmentation d’images

84

Nous détaillons dans ce qui suit le contenu de chaque macro bloc ainsi que son

rôle.

a) Macro bloc Construction Pyramide

Le macro bloc générique Construction Pyramide est montré sur la figure 34. Son

rôle est de générer des images de résolutions décroissantes (du bas de la pyramide

à son sommet) (0

,,, 21 lLL III L−− ). Ce macro bloc qui comporte un bloc de base pour

chaque résolution, est constitué d’un bloc Adaptation Montante et d’un bloc

Opérateur Segmentation qui est identique à l’OS défini chapitre 3. Le bloc Adaptation

Montante prend en entrée une image et une carte de segmentation hiérarchique

( lCSH ) à une résolution l et fournit en sortie une image ( 1−lI ) à une résolution 1−l .

Le rôle du bloc Opérateur Segmentation est de présenter une carte de segmentation

hiérarchique ( lCSH ) au bloc Adaptation Montante à partir d’une carte de

segmentation hiérarchique initiale. La présence et le type des blocs Opérateur

Segmentation dépend de la méthode multirésolution considérée. Par exemple pour

la méthode de segmentation multirésolution développée par Spann [SPAN85]

(pyramide rigide), les blocs Opérateur Segmentation ne sont pas nécessaires. Les

cartes de segmentation hiérarchiques ( CSH ) passent alors directement dans les

blocs Adaptation Montante. Dans ce cas, le bloc Adaptation Montante est un bloc de

moyennage où le niveau de gris d’un pixel parent est égal à la moyenne du niveau

de gris de ses quatre pixels enfants.

OpérateurSegmentation

AdaptationMontante

OpérateurSegmentation

AdaptationMontante

OpérateurSegmentation

AdaptationMontante

1° Construction Pyramide

LCSH

LCSH

1−LCSH

1−LCSH

lCSH

lCSH

0lI

lI1−LI

LI

Figure 34 : Schéma du macro bloc générique Construction Pyramide.

Modèle générique multi-opérateurs

85

b) Macro bloc Segmentation

Le macro bloc Segmentation du modèle fonctionnel générique multirésolution

dont le rôle est de mettre à jour les cartes de segmentation hiérarchiques ( CSH ) pour

chaque niveau de la pyramide, est représenté sur la figure 35. Ce bloc est constitué

de plusieurs Opérateur Segmentation, un pour chaque niveau, qui fonctionnent

indépendamment les uns des autres sur les différentes cartes de segmentation

hiérarchiques.

On peut noter le cas particulier du niveau de résolution 0l où il n'y a pas de carte

de segmentation hiérarchique. Un opérateur de segmentation est prévu pour réaliser

le calcul de la carte de régions à ce niveau final 0l nécessaire pour débuter la phase

de projection.

OpérateurSegmentation

2° Segmentation

OpérateurSegmentation

OpérateurSegmentation

OpérateurSegmentation

LCSH

LCSH

lCSH

lCSH

1−lCSH

1−lCSH

0lCS

LI lI 1−lI0lI

Figure 35 : Schéma général du macro bloc Segmentation.

c) Macro bloc Projection

Le dernier macro bloc du modèle générique multirésolution est le bloc Projection.

Il est donné sur la figure 36. Il est constitué d'une cascade de blocs Adaptation

Descendante et Opérateurs Segmentation. Les blocs Adaptation Descendante

réalisent la projection de la carte de segmentation sur le niveau de résolution

immédiatement supérieur. Ces blocs ont besoin en entrée des cartes de

Approche fonctionnelle générique des méthodes de segmentation d’images

86

segmentation hiérarchiques ( CSH ) et des cartes de segmentation ( CS ). Les blocs

Opérateur Segmentation qui sont prévus pour chaque niveau de résolution, modifient

la carte de segmentation en effectuant par exemple un raffinement de frontières

[SPAN85].

3° Projection

OpérateurSegmentation

OpérateurSegmentation

AdaptationDescendante

AdaptationDescendante

LCSHLI

0lCS

10 +lCSH10 +lI

10 +lCS

10 +lCSLCS

LCS

Figure 36 : Schéma général du macro bloc Projection.

Le modèle générique multirésolution (multi-opérateurs) que nous avons

développé comporte des opérateurs de segmentation qui sont conformes au modèle

fonctionnel du chapitre 3. Ceux-ci sont toujours constitués des mêmes blocs

élémentaires (§ 3.3). Une analyse de la méthode choisie est nécessaire pour

déterminer le contenu de chaque macro bloc. La structure du modèle fonctionnel

multi-opérateurs s’est enrichie de blocs Adaptation Montante qui crée la pyramide

d’images et Adaptation Descendante qui propage les étiquettes de niveau en niveau

jusqu'à la carte de segmentation finale.

Un exemple de décomposition de méthodes multirésolution basé sur la pyramide

reliée [BURT81] est décrit dans le paragraphe suivant.

5.3.3 Décomposition d’une méthode multirésolution

Comme exemple de décomposition de méthodes de segmentation

multirésolution selon le modèle fonctionnel générique multi-opérateurs, nous avons

Modèle générique multi-opérateurs

87

choisi la méthode basée sur la pyramide reliée proposée par Burt [BURT81]. Cette

méthode est représentative des méthodes de segmentation multirésolution dans le

sens où elle intègre l’aspect ‘itération’ entre les macro blocs ‘Construction Pyramide’

et ‘Segmentation’ du modèle. Nous rappelons brièvement le principe de la pyramide

reliée. Celle-ci est caractérisée par une relation parent-enfants qui n’est pas fixe et

qui peut être remise en cause au cours des itérations. Chaque élément d’un niveau

de résolution l possède P pères potentiels au niveau 1−l et chaque père du niveau

1+l a F fils au niveau l . Par contre, chaque père partage ses fils avec ses voisins

du niveau 1+l (figure 37). C’est pour cette raison que la pyramide reliée est aussi

appelée pyramide à recouvrements. La segmentation d’images est obtenue dans le

cas de la pyramide reliée par le processus qui permet de sélectionner un père parmi

les P pères potentiels. Cela conduit généralement à définir un critère de

ressemblance entre le père et son fils.

Les parents voisins peuvent avoir des enfants potentiels communs en fonction

du voisinage choisi. Plusieurs variantes de la pyramide reliée sont possibles,

symétriques ou non, avec un nombre d’enfants potentiels plus ou moins grand.

Enfantpotentiel

Enfant

Figure 37 : Représentation d’une pyramide reliée avec P=2 et F=4.

Nous détaillons dans ce qui suit la méthode de la pyramide relié décrite dans

[BURT81] qui définit quatre parents potentiels par enfant ( 4=P ) et seize enfants

potentiels ( 16=F ) par parent. Le niveau le plus bas de la pyramide L contient

l’image à traiter. L’algorithme se déroule en itérant deux étapes. La première étape

vise à construire la pyramide d’images multirésolution. Les différentes résolutions de

Approche fonctionnelle générique des méthodes de segmentation d’images

88

l’image sont calculées de bas (niveau L ) en haut jusqu’à un niveau prédéfini 0l en

moyennant les niveaux de gris des enfants (niveau l ) de chaque parent pour calculer

le niveau de gris des parents (niveau 1−l ). La deuxième étape consiste à redéfinir

les liaisons parents–enfants en affectant à chaque enfant le père potentiel qui

possède le niveau de gris le plus proche. Ce procédé itératif Construction Pyramide

suivi par Segmentation (redéfinition liaisons parents-enfants) s’arrête lorsqu’il n’y a

plus de changements dans les liaisons parents–enfants. Pour terminer, on procède à

l’étiquetage des pixels. Au niveau l0, on assigne à chaque nœud une étiquette. En

descendant dans la pyramide, les étiquettes des nœuds de résolution supérieure

sont simplement celles des parents sélectionnés.

Le schéma bloc de la partie Construction Pyramide pour la méthode de la

pyramide reliée de Burt, est donné sur la figure 38.

AdaptationPyramide

reliée

AdaptationPyramide

reliée

AdaptationPyramide

reliée

AdaptationPyramide

reliée

LCSH lCSH 1−lCSH 10 +lCSH

0lILI

1−LI lI 1−lI

Figure 38 : Macro bloc Construction Pyramide de la méthode de Burt.

Ce macro bloc est constitué d’un enchaînement de blocs ‘Adaptation Pyramide

reliée’ qui est spécifique à la méthode de Burt. Chaque bloc prend en entrée l’image

( lI ) à la résolution l ainsi que des cartes de segmentation hiérarchiques ( lCSH ) et

fournit une image à chaque résolution ( lI ).

Modèle générique multi-opérateurs

89

Le macro bloc Segmentation est montré sur la figure 39. Ce bloc contient des OS

‘Redéfinition liaisons parent-enfant’ qui sont conformes au modèle fonctionnel. A

chaque résolution, chaque opérateur de segmentation effectue un changement dans

les relations parents-enfants. Ces opérateurs de segmentation qui ne sont pas

itératifs (un cycle de traitement est effectué), délivrent une carte de segmentation

hiérarchique à chaque résolution.

OS

Redéfinitionliaisons

Parent-enfants

2° Segmentation

OS

Redéfinitionliaisons

Parent-enfants

OS

Redéfinitionliaisons

Parent-enfants

OS

Redéfinitionliaisons

Parent-enfants

LCSH

LCSH lCSH

lCSH

1−lCSH

1−lCSH

0lCS

0lI1−lIlILI

Figure 39 : Macro bloc Segmentation pour la méthode de Burt.

Le macro bloc Projection est ici très simple, les blocs dénommés ‘Adaptation

Projection Carte de Régions’ réalisent une propagation d’étiquettes d’un niveau de

résolution vers le niveau suivant jusqu’à la carte de segmentation finale recherchée.

Le contenu d’un OS qui réalise la redéfinition des liaisons parent-enfants est

décrit ci-après.

Le bloc Mesures fonctionne en mode local. A chaque résolution l , il calcule

l’écart de niveau de gris ( )ljiv ,, d’un pixel site ( )ji, par rapport au niveau de gris

moyen ( ( )lnv , ) de chaque région n ( l est le niveau de résolution courant). Ce niveau

de gris moyen est associé à la propriété du parent n dans la terminologie de la

méthode de Burt. La mesure est donnée par l’équation ci-dessous.

Approche fonctionnelle générique des méthodes de segmentation d’images

90

( ) 2)],(),,([,1 lnvljivnF k −= Eq. 37

Le bloc Critère est élémentaire. Le critère est égale à la mesure. Le bloc

Contrôle calcule les consignes d’évolution ( )nE k qui sont données par l’équation

suivante :

( )( )( ) ailleursetpour

argmin

01 0

0

nnnE

nCnk

k

n

==

= Eq. 38

Pour chaque enfant, ce bloc choisit la région 0n (c’est à dire son père pour Burt)

dont le critère est minimum. Le bloc Modification implante une stratégie d’évolution

de la carte de segmentation qui correspond à de l’étiquetage de pixels. Le bloc

Modification ne commande qu’un cycle de balayage de tous les pixels.

La structure fonctionnelle de l’opérateur de segmentation issue de la

décomposition de la méthode de Burt est présentée sur la figure 40. Il est intéressant

de remarquer que cette décomposition est identique à celle obtenue en

décomposant la méthode Markovienne (figure 8) à l’exception du bloc Mesures qui

n’intègre pas le calcul de l’énergie de cliques.

Nous présentons sur la figure 41, le résultat de l’application du bloc ‘Construction

Pyramide’ avec ses blocs Adaptation montante sur l’image Lena. Nous partons de

l’image originale et nous descendons jusqu’à la résolution la plus faible.

Modèle générique multi-opérateurs

91

• Etiquetage avec n tel que

• Coordonnées du site s suivant indiquées à Mesures

Fin du balayage de tous les sites

MESURES, mode local

CRITERE

CONTRÔLE

MODIFICATION ARRÊT

( ) ( ) ( ) ( )nFnwnFnC kkkk ,2,2,1 ⋅+=

( ) 1=nEk

s

s( )( ) cliquesdesEnergie

localemoyenneDéviation:,2:,1

nFnF

k

k

( )( )( ) ailleurs

argmin

pour 0,1 0

0

nnnE

nCnk

k

n==

=

1 cycle

Figure 40 : Opérateur de segmentation ‘Redéfinition des liaisons parent-enfants’ identique à l’OS de la méthode Markovienne (figure 8). Les éléments supprimés sont

barrés sur le schéma dans les blocs Mesures et Critère.

0 1 2

3 4 5

Figure 41 : Construction d’une pyramide : Image Lena (0), résolutions inférieures (1-5).

Approche fonctionnelle générique des méthodes de segmentation d’images

92

Nous avons testé notre modèle générique multirésolution (méthode de Burt) sur

une image synthétique, et nous avons obtenu la segmentation suivante montrée sur

la figure 42.

(a) Image originale (b) Image segmentée

Figure 42 : Résultat de la segmentation multirésolution par la méthode de Burt.

Nous avons effectué la même procédure d’analyse pour trois autres méthodes

de segmentation multirésolution : l’arbre quaternaire [SPAN85], la pyramide reliée à

seuillage dynamique [SPAN89] et la pyramide irrégulière [BERT95]. Les modèles

fonctionnels multirésolution que nous avons obtenus pour ces méthodes sont

présentés en annexes (d) et (e).

5.4 Bilan

Ce chapitre a abordé le développement d’un modèle fonctionnel (MF) générique

multi-opérateurs. Cela a nécessité d’étudier deux aspects importants de la

segmentation d’images à savoir les méthodes coopératives et la multirésolution.

Nous avons montré qu’il était très possible de décomposer ces méthodes selon le

MF. Cependant, l’enchaînement des OS dépend des stratégies mises en œuvre pour

faire coopérer les méthodes de segmentation, stratégies que nous n’avons pas

cherché à intégrer dans le modèle fonctionnel générique. Pour la segmentation

multirésolution, le MF générique a été structuré pour faire apparaître 3 macro blocs

Modèle générique multi-opérateurs

93

(Construction Pyramide, Segmentation, Projection) dans lesquels on trouve des OS

génériques ainsi que deux nouveaux blocs dénommés Adaptation Montante et

Adaptation Descendante, l’un créant une pyramide d’images et l’autre réalisant une

projection des labels. Le MF multi-opérateurs générique issu de l’étude des

méthodes multirésolution est capable maintenant de modéliser des méthodes de

segmentation complexes différentes.

Les possibilités offertes par notre MF en terme de réutilisation de blocs ont été

vérifiées lors des différentes décompositions fonctionnelles de méthodes de

segmentation complexes. En effet, des fonctions (blocs) mises en évidence lors de

ces décompositions correspondent à des blocs issus de décompositions

précédentes(§ 4). Cette caractéristique devrait induire une implantation logicielle

rapide en factorisant les sous-structures communes à plusieurs méthodes (§ 6).

Par ailleurs, la structuration apportée par le modèle générique et la

standardisation des blocs qui le composent doit conduire à une implantation

informatique cohérente avec le modèle. Le chapitre suivant présente le résultat de

cette implantation informatique que nous avons baptisé GenSeg.

Approche fonctionnelle générique des méthodes de segmentation d’images

94

6 Implantation du modèle fonctionnel

6.1 Introduction

Ce chapitre aborde l’aspect implantation informatique du modèle fonctionnel

générique. Nous présentons le paradigme de programmation qui nous a permis de

développer le logiciel de segmentation GenSeg. Nous détaillons l’architecture interne

de ce logiciel et particulièrement sa structure de données. Nous présentons ensuite

un exemple d’implantation d’une des méthodes de segmentation modélisée dans le

chapitre 4. Nous abordons en fin de chapitre la généricité du logiciel proposé.

6.2 Paradigme de programmation

La philosophie du modèle fonctionnel nous a amené à adopter une implantation

informatique basée sur la programmation orienté objet où chaque bloc fonctionnel

est représenté par une classe de base qui contient les contraintes théoriques du

modèle. L’interface entre les blocs est définie dans ces classes de base. Celles-ci

font respecter l’enchaînement des blocs qui correspond à un pipeline. La notion de

pipelining où la sortie d’un bloc est redirigée vers l’entrée du bloc suivant, a été

popularisée par les environnements de programmation tels que Khoros [KONS94],

AVS [VROO95] ou VTK3 [SCHR98].

Le modèle fonctionnel est générique et cette généricité s’exprime à travers les

classes de base qui sont dérivées dans le but d’implanter les fonctions spécifiques

(blocs fonctionnels) à une méthode de segmentation donnée.

Le paradigme de programmation défini par le modèle fonctionnel utilise quatre

classes de bases associées aux quatre blocs fonctionnels Mesures, Critère, Contrôle

et Modification, ainsi qu’une classe représentant le flot d’information (données)

circulant entre ces blocs. Le bloc Arrêt est incorporé dans une classe qui sert à

piloter l’opérateur de segmentation et à enchaîner le processus de segmentation.

3 Visualization ToolKit. http://www.vtk.org

Implantation du modèle fonctionnel

95

Les blocs Adaptation Montante et Descendante issus du modèle fonctionnel

multi-opérateurs sont eux aussi représentés par une classe de base.

Le logiciel résultant, appelé GenSeg, est bâti sur la librairie VTK (qui gère

l’enchaînement des blocs dans un pipeline). Il n’est dédié à aucune méthode de

segmentation particulière. Il représente un opérateur de segmentation (OS).

6.3 Structure de données et modèle générique

GenSeg est organisé en classes de type ‘Data’ et de type ‘Process’. Les classes

‘Data’ correspondent aux données qui circulent à travers le pipeline de blocs

fonctionnels représentés par les classes ‘Process’. Nous détaillons dans ce qui suit

les aspects de la structure interne du logiciel GenSeg liés au modèle fonctionnel.

Les classes ‘Process’ sont toutes des classes de type ‘Filter’ (terminologie VTK),

c’est à dire qu’elles possèdent une ou plusieurs entrées et une ou plusieurs sorties.

Les classes de base contiennent l’interface (API) entre les blocs. Nous les avons

dénommées :

vtkGenSegMeasures : classe de base du bloc Mesures.

vtkGenSegCriterion : classe de base du bloc Critère.

vtkGenSegControl : classe de base du bloc Contrôle.

vtkGenSegModification : classe de base du bloc Modification.

vtkGenSegAdapt : classe de base du bloc Adaptation (Montante ou

Descendante).

Pour une méthode de segmentation donnée, ces classes spécifiques sont

dérivées et enrichies par des fonctions de traitement propres à la méthode. Par

exemple, les classes qui héritent de vtkGenSegControl, sont des classes qui

calculent les besoins d’évolution ( )nE k pour chaque région n .

Approche fonctionnelle générique des méthodes de segmentation d’images

96

Figure 43 : Liste des classes ‘Process’ pour le bloc Mesures.

La classe ‘Data’ (figure 44) est appelée ‘vtkGenSegData’. Elle contient l’image

originale, la carte de régions sous forme d’étiquettes (RegionMapImage) et sous

forme de points de contours (ContourMapPoly) ainsi que d’autres objets liés à la

structure de données du modèle générique. Ces objets sont des vecteurs de

mesures (MEAS 1, … , MEAS M) associé aux mesures ( )niF k , , un vecteur Critère

(CRIT) qui représente les valeurs de critère ( )nC k et un vecteur Contrôle (CONT)

correspondant aux consignes d’évolution ( )nE k .

Les autres paramètres correspondent aux modes de fonctionnement spécifique

du modèle fonctionnel.

LocalPoint : contient les coordonnées du point (ou site) étudié en mode local.

LocalModeFlag : permet de préciser le mode (local ou global) dans lequel

sont faites les mesures.

RefreshMeasureFlag : permet de recalculer des mesures.

Le contenu de la classe ‘vtkGenSegData’ est représentée sur la figure 44.

Implantation du modèle fonctionnel

97

GenSegData

CRIT

CONT

MEAS 1

MEAS 2

MEAS M

LocalPoint

LocalModeFlag

RefreshMeasureFlag

Image originale RegionMapImageContourMapPoly

( )niFk ,

( )nCk

( )nEk

Figure 44 : Structure interne de la classe vtkGenSegData.

6.4 Logiciel GenSeg

Nous avons d’abord construit les classes de base et ensuite les classes

spécifiques aux différentes méthodes de segmentation décomposées selon le

modèle fonctionnel dans les chapitres 4 et 5. Par exemple, pour la méthode de

l’arbre quaternaire (§ 4.2, figure 4), les classes suivantes ont été implantées :

vtkGenSegMesSigma : classe spécifique au bloc Mesures, calcule en mode

global la variance des régions de l’image.

vtkGenSegCritAddCombination : cette classe crée un critère par combinaison

additive de mesures.

vtkGenSegCtrlThreshold : représente un bloc Contrôle par seuillage.

vtkGenSegModSplit : stratégie de modification d’une carte de segmentation par

découpage en quatre régions.

L’étude et l’implantation de 10 méthodes de segmentation [ANWA01, BELL98,

BURT81, COCQ95, HARI98, HUNT79, LIU99, PAPP92, REVO02, VELA80] a

conduit à l’implantation des classes énumérées dans le tableau 1 ci-dessous. Il est

Approche fonctionnelle générique des méthodes de segmentation d’images

98

intéressant de noter que finalement toutes ces classes sont indépendantes des

méthodes.

Type de blocs Fonctions

Mesures

1. Variance 2. Moyenne 3. Surface 4. Ecart local de moyennes 5. Energie de cliques 6. Erreur quadratique moyenne 7. Distance local 8. Déformation d’un point de snake 9. Contraste local 10. Moyenne local 11. Gradient local 12. Moyenne d’une région (locale) 13. Variance d’une région (locale) 14. Coalescence d’histogramme

Critère

1. Combinaison additive 2. Combinaison binaire 3. Critère inverse 4. Critère emboîté 5. Critère module

Contrôle

1. Seuillage 2. Dérivatif 3. Critère maximum 4. Critère minimum 5. Linéaire min 6. Linéaire max

Modification

1. Division de régions 2. Déplacement d’un point de contour 3. Etiquetage de pixels 4. Seuillage d’histogramme 5. Fusion de régions 6. Dilatation d’histogramme 7. Contraction d’histogramme 8. Déplacement du snake 9. Redéfinition relation parent-enfants 10. Suivi de contours 11. Etiquetage/reproduction de pixels

Tableau 1 : Liste de blocs obtenus après l’implantation de 10 méthodes de segmentation.

Implantation du modèle fonctionnel

99

Le modèle fonctionnel est accessible à travers une interface (figure 45) qui

permet de configurer l’opérateur de segmentation (OS) de manière interactive. Cette

interface est utilisée pour n’importe quelle technique de segmentation décomposée

suivant le modèle fonctionnel générique mono-opérateur.

Cette interface peut servir à tester des méthodes de segmentation et à combiner

les différents blocs présentés dans le Tableau 1.

Figure 45 : Interface graphique de segmentation basée sur le modèle fonctionnel.

Chaque bouton Mesures, Critère, Contrôle et Modification, permet à l’utilisateur

de choisir et de configurer un des blocs présentés dans le tableau 1. Le processus

de segmentation est activé par le bouton ‘Exécution’. Le bouton ‘Itérateur’ permet de

contrôler l’arrêt du processus de segmentation avec un nombre maximum d’itérations

ou lorsque la carte de segmentation est stable entre deux itérations successives. La

fenêtre de gauche contient l’image originale et celle de droite l’image segmentée qui

évolue au cours des itérations.

Approche fonctionnelle générique des méthodes de segmentation d’images

100

Le bouton ‘Mesures’ de l’interface (figure 45), permet de sélectionner parmi les

mesures existantes celles qui seront utilisées. La figure 46 présente le cas d’une

segmentation par arbre quaternaire où nous utilisons deux mesures à savoir la

variance et la moyenne. Il n’y a pas de contrainte concernant l’utilisation des blocs

Mesures. En effet, nous avons prévu un mécanisme qui permet de rajouter des

mesures même si celles-ci n’interviennent pas directement dans la méthode de

segmentation décomposée.

Figure 46 : Interface pour la gestion des mesures dans GenSeg.

De la même manière, nous avons la possibilité d’interagir avec les autres blocs.

Cela se fait avec les interfaces spécifiques données sur les figures 47 et 48.

Le bouton ‘Configure’ (figure 46, 47 et 48) sert à modifier les paramètres du bloc

considéré (§ 3.4).

Implantation du modèle fonctionnel

101

Figure 47 : Interface pour le bloc Critère.

Figure 48 : Interfaces pour les blocs Contrôle et Modification.

Approche fonctionnelle générique des méthodes de segmentation d’images

102

6.5 Généricité logicielle

La généricité logicielle est décrite par le processus qui permet de combiner et

d’enchaîner des blocs fonctionnels existants. Ceci représente une étape importante

pour la validation du modèle fonctionnel proposé. En effet, si les contraintes

théoriques imposées par le modèle ont bien été respectées par l’implantation

logicielle, il doit être possible d’enchaîner n’importe lesquels des dérivés des cinq

blocs de base pour synthétiser un opérateur de segmentation. Nous avons testé en

ce sens différentes combinaisons de blocs fonctionnels. Nous avons sélectionné

parmi les blocs Mesures, Critère, Contrôle et Modification donnés dans le tableau 1,

un bloc spécifique et avons créer un opérateur de segmentation. Le pipeline ainsi

formé s’exécute sans erreur, ce qui permet de vérifier la généricité du logiciel

GenSeg. Néanmoins, la carte de segmentation finale obtenue n’a pas toujours un

sens en segmentation d’images.

Nous présentons également dans ce qui suit un exemple de synthèse

d’opérateur de segmentation à partir de blocs issus de la modélisation et de

l’implantation des différentes méthodes faites aux chapitres 4 et 5.

Dans cet exemple, nous avons retenu les mesures de variance et de moyenne

que nous avons associées aux blocs ci-dessous pour former un opérateur de

segmentation. Ainsi nous avons pu mixer des blocs fonctionnels issus de deux

méthodes de segmentation différentes.

Bloc Critère : combinaison binaire

Bloc Contrôle : contrôle par seuillage

Bloc Modification : division quaternaire

Le bloc Critère a été développé lors de la décomposition de la méthode par

agents (§ 4.5). Les blocs Contrôle et Modification sont issus de l’implantation de

l’arbre quaternaire (§ 4.2).

Un exemple de résultat est présenté sur la figure 49. La prise en compte de la

moyenne dans un critère par combinaison binaire, permet de guider la segmentation

Implantation du modèle fonctionnel

103

par arbre quaternaire pour obtenir des régions homogènes mais dont la moyenne de

niveaux de gris est comprise entre 100 et 170.

(a) Image originale (b) Segmentation issue du modèleimplanté au chapitre 4.2 (c) Segmentation obtenue avec composition

de blocs fonctionnels

Figure 49 : Résultat (c ) obtenu avec l’opérateur de segmentation composé par des blocs fonctionnels issus de décompositions précédentes. Mesures

(Variance, Moyenne) + Critère (Combinaison binaire) + Contrôle (Adaptatif) + Modification (Division quaternaire)

La composition d’un opérateur de segmentation par combinaison de blocs

fonctionnels déjà implantés est bien fonctionnelle et confirme la généricité de notre

logiciel. Elle est très simple à mettre en œuvre via l’interface de GenSeg mais

l’opérateur de segmentation ainsi obtenu ne conduit pas nécessairement à une

bonne segmentation. En effet, si notre logiciel facilite la réalisation d’un opérateur de

segmentation, il ne remplace pas l’expertise en traitement d’images qui demeure

indispensable pour faire un choix de blocs pertinents pour un type donné d’images.

6.6 Conclusion

Nous avons présenté l’implantation du modèle fonctionnel ainsi que le logiciel qui

en découle. Nous avons utilisé un paradigme de programmation associant notre

modèle théorique, la programmation orienté objet et la notion de pipelining. Ce

paradigme permet d’implanter et de tester à travers une interface logicielle unique

des opérateurs de segmentation en chaînant de blocs fonctionnels indépendamment

des méthodes segmentation les utilisant initialement.

Approche fonctionnelle générique des méthodes de segmentation d’images

104

Nous avons expérimenté la généricité du logiciel proposé en associant librement

des blocs fonctionnels issus de méthodes différentes pour construire des opérateurs

de segmentation. Cette généricité logicielle offrira une grande facilité pour implanter

et tester des méthodes de segmentation mais ne supprimera pas la réflexion à faire

sur la cohérence des blocs fonctionnels avec l’objectif de la segmentation.

La conception du logiciel GenSeg a nécessité le développement de 60 classes

qui vont des classes de base du modèle à des classes spécifiques aux méthodes de

segmentation décomposées dans les chapitres 4 et 5. La généricité du modèle a

permis une factorisation des blocs fonctionnels qui a été confirmée lors de la phase

d’implantation par une économie de développement de classes.

Nous ne nous sommes pas préoccupés de la rapidité d’exécution des méthodes

de segmentation d’images décomposées suivant le modèle fonctionnel et implantées

dans le logiciel GenSeg. Nous avons cependant constaté que les méthodes qui

utilisent le mode global du modèle fonctionnel s’exécutaient dans des temps

équivalents à ceux obtenus pour une implantation directe de l’algorithme initial. Par

contre, les méthodes utilisant le mode local sont beaucoup plus lentes à cause de

l’itération du modèle fonctionnel sur les sites (pixels) de l’image.

Approche fonctionnelle générique des méthodes de segmentation d’images

105

7 Conclusion et perspectives Nous avons proposé une nouvelle vision de la segmentation d’images basée sur

un modèle fonctionnel original [BEN01b, ZOUA04]. Le modèle proposé est basé sur

cinq blocs associés à des fonctions essentielles de la segmentation d’images : les

blocs Mesures, Critère, Contrôle, Modification et Arrêt. Ces blocs sont enchaînés au

cours d’un processus itératif et forment ce que nous appelons un opérateur de

segmentation (OS). Nous avons montré que de nombreuses méthodes de

segmentation peuvent être modélisées par un seul OS. Nous pouvons citer des

approches régions (division, fusion, croissance de régions), des approches de type

contours actifs, de type seuillage, des approches Markoviennes, de classification ou

encore des méthodes par agents.

L’opérateur de segmentation est prévu pour être mis en cascade et itéré formant

ainsi un modèle multi-opérateurs. Ce modèle permet alors de modéliser des

méthodes de segmentation plus complexes impliquant notamment la coopération

entre approches régions et contour. Le modèle multi-opérateurs a été étendu pour

modéliser les méthodes de segmentation qui s’appuient sur la multirésolution. Ce

modèle définit trois Macros blocs qui encapsulent des OS. Le macro bloc

Construction pyramide dont la fonction est de construire la pyramide d’images

multirésolution ; le macro bloc Segmentation qui met en œuvre la segmentation à

chaque niveau de résolution et le macro bloc Projection qui adapte les cartes de

segmentation jusqu’à la résolution initiale.

Manifestement, il n’est pas démontrable que toutes les méthodes de

segmentation soient modélisables selon le modèle fonctionnel proposé. Néanmoins,

comme le modèle mono-opérateur, le modèle multi-opérateurs et sa version

multirésolution ont été utilisés pour modéliser une grande variété de méthodes de

complexités variables. L’ensemble des modélisations réalisées a permis de valider

ce modèle et nous conduit à qualifier notre modèle de « générique » compte tenu de

la grande diversité des méthodes représentées sous un formalisme unique. Ce

modèle permet également de renforcer la lisibilité des méthodes de segmentation en

les représentant dans un cadre unifié. Il offre également un cadre fonctionnel pour la

Conclusion et perspectives

106

comparaison des méthodes qui peut être conduite en comparant le nombre d’OS

utilisés et le type de blocs fonctionnels utilisés par chaque OS.

Ce modèle générique de représentation des méthodes de segmentation a

également permis des développements originaux pour l’implantation des algorithmes

de segmentation. Nous avons ainsi utilisé notre modèle fonctionnel comme

paradigme de programmation [BEN01a] et développé un logiciel baptisé Genseg. Ce

logiciel propose une interface interactive unique permettant de construire, de

configurer et de contrôler n’importe quel OS. L’implantation de nombreuses

méthodes de segmentation a produit un certain nombre de blocs fonctionnels

représentés par des classes de base. Ces blocs ainsi obtenus deviennent

indépendants des méthodes et peuvent constituer une bibliothèque de blocs qui peut

servir à terme à construire efficacement des méthodes de segmentation.

Les développements logiciels pourront être poursuivis par l’intégration de

nouvelles méthodes de segmentation mais également par la réalisation d’une

interface pour le modèle multi-opérateurs et sa version multirésolution.

D’un point de vue modélisation, l’analyse des liens entre les méthodes

d’optimisation qui se généralisent dans les méthodes de segmentation et le modèle

fonctionnel (en particulier avec le bloc Contrôle) nous semble intéressante à

approfondir.

Par ailleurs, les réflexions concernant la construction automatique et le choix

d’opérateurs de segmentation ainsi que la modélisation de la supervision de ces

opérateurs devront être poursuivies. En effet, de multiples stratégies sont

développées pour guider l’enchaînement de plusieurs OS via l’utilisation de boucles

de retour, l’évaluation des résultats des opérateurs avec une notion de priorité ou de

fusion de cartes de segmentation. Nous pensons que ces différentes stratégies, les

données qu’elles manipulent et les fonctions qu’elles réalisent, peuvent être

modélisées. Dans ce contexte, la supervision intra-opérateur pourra être également

étudiée, en particulier les modes d’évolution des hyper paramètres au cours du

temps. De même, la construction et le choix d’un opérateur pourraient être guidés

par des stratégies de type systèmes experts.

Approche fonctionnelle générique des méthodes de segmentation d’images

107

Enfin, il nous parait intéressant de placer notre modèle fonctionnel de

segmentation dans un cadre plus général en l’associant en particulier à des modèles

d’évaluation des résultats de la segmentation et d’évaluation des traitements réalisés

après la segmentation. En effet, la recherche efficace d’une méthode de

segmentation adaptée à une application donnée demeure l’objectif à atteindre dans

lequel s’est inscrit notre travail.

Approche fonctionnelle générique des méthodes de segmentation d’images

108

Annexes

La validation du modèle fonctionnel s’est faite en deux phases : premièrement, la

décomposition (modélisation) de méthodes de segmentation existantes selon le

modèle proposé comme illustré chapitre 4 et 5 ; Deuxièmement l’implantation et le

test de méthodes avec le paradigme de programmation proposé dans le chapitre 6.

Ces annexes donnent le résultat de la décomposition et de l’implantation des

méthodes non présentées dans le corps de cette thèse.

a) La méthode de classification Isodata :

La méthode de classification Isodata [VELA80] a été modélisée selon le schéma

de la figure 50. Cette méthode réalise un seuillage global en classifiant les pixels en

fonction de leur niveau de gris. Chaque classe est définie par son seuil haut nT et

son seuil bas 1−nT qui est le seuil haut de la classe 1−n .

Le seuil nT est défini par :

21++

= nnnT µµ

où nµ est la moyenne de niveaux de gris des pixels de la classe n .

Une carte de segmentation initiale est nécessaire pour cette méthode de

segmentation. Nous fixons de façon arbitraire des seuils linéairement répartis sur la

dynamique de l’image et un nombre de classes a priori. Le bloc Mesures effectue

deux mesures de type variance et moyenne en mode global. Le critère correspond à

la variance. Les besoins d’évolution des régions sont obtenus par un bloc Contrôle

linéaire. Le bloc Modification modifie la carte des régions en déplaçant les seuils

définissant chaque classe. On étiquette alors tous les pixels en utilisant les nouveaux

seuils.

Annexes

109

MESURES, mode global( )( ) Moyenne :

Variance

nkF

nF k

,2

:,1

CRITERE

( ) ( )nFnC kk ,1=

CONTRÔLE, Linéaire

MODIFICATION ARRÊT

Non variation de la carte desrégions entre deux itérations

( ) ( )( )( ) TnkC

n

TnkCnkE

−=

max

Calcul des seuils etétiquetage de tous lespixels

Figure 50 : Décomposition fonctionnelle de la méthode d’Isodata.

La méthode Isodata a été implantée et la figure ci-dessous (figure 51) illustre un

des résultats obtenus.

(a) Image originale (c) Image segmentée(b) segmentation initiale

Figure 51 : Segmentation fonctionnelle par la méthode Isodata de l’image bruit.

Approche fonctionnelle générique des méthodes de segmentation d’images

110

b) Méthode de la bulle discrète :

Dans cette approche [COCQ95], chaque région autre que le fond est définie par

son contour formé par un polygone constitué d’une liste chaînée de points. La

segmentation est conduite en minimisant itérativement pour chacune des régions

une fonction d’énergie. L’énergie en un point du contour est composée de deux

termes : un terme d’énergie interne lié à la courbure du contour en ce point et un

terme d’énergie externe lié à la mesure du gradient au voisinage du point. Ainsi à

chaque itération, on déplace le point dont l’énergie est maximale d’une distance fixe

dans une direction orthogonale au segment défini par les deux points voisins.

Le modèle d’opérateur pour cette méthode de la bulle discrète est donné sur la

figure 52.

MESURES, mode global

( )( ) (gradient) externeEnergie

(courbure) interne Energie

:2

:1,nkF

,nF k

CRITERE

( ) ( ) ( ) ( )nFnwnFnC kkkk ,2,2,1 +=

CONTRÔLE, par dérivée

MODIFICATION ARRÊT

Non variation de la carte desrégions entre deux itérations

( ) ( ) ( )( ) ( )nCnC

nCnCnE kk

kkk

1

1

+−

=

( ) maximumest dont contour depoint du t Déplacemen

nE k

Figure 52 : Modélisation fonctionnelle de la méthode de la bulle discrète.

Annexes

111

c) Croissance incrémentale de contour selon le modèle fonctionnel :

Nous présentons dans cet annexe (c) l’implantation suivant le MF d’un processus

incrémental de croissance de contours inspiré des principes décrits par Fabrice

Bellet dans sa thèse [BELL98]. La construction du contour se fait selon le schéma

suivant :

− Sélection de pixels candidats.

− Evaluation des pixels candidats : mesure pour chacun des pixels candidats de la

norme du gradient. Le gradient est calculé dans la direction donnée par

l’extrémité du contour courant et du pixel candidat.

− Etiquetage du pixel candidat possédant la meilleure évaluation.

Deux cas de figures sont possibles pour la sélection des pixels candidats.

1. Lorsque la direction formée par l’extrémité du contour courant est horizontale ou

verticale, on sélectionne trois pixels candidats comme indiqué sur la figure 53 (a).

2. Lorsque la direction formée par l’extrémité du contour est oblique, on en

sélectionne cinq, comme indiqué sur la figure 53 (b).

(a) (b)

Figure 53 : Sélection de pixels candidats selon la direction du contour courant.

La stratégie d’implantation d’une méthode de segmentation par agents contours

requiert un opérateur de segmentation pour l’ensemble des processus contours. Il

est donné figure 54. Les mesures en mode local, sont des mesures de gradient

moyenné sur des points situés de part et d’autre de l’extrémité du contour. Les blocs

Critère et Contrôle sont exactement les mêmes que ceux que nous avons

Approche fonctionnelle générique des méthodes de segmentation d’images

112

développés pour la décomposition de la méthode de Liu. Le bloc Modification gère

une liste chaînée de pixels candidats et pose un label sur l’emplacement du pixel

dont l’évaluation est la meilleure.

MESURES, mode local

( ) Gradient:,1 nF k

CRITERE

( ) ( )nFnC kk ,1=

CONTRÔLE, par seuillage

MODIFICATION ARRÊT

Non variation de la cartedes régions entre deuxitérations

( ) ( )( ) 0

1,=

=>nE

nEnCk

kk

sinonSi ε

( )

Mesures à indiqué suivant (agent) s Site

courantpixeldu étiquetageSi ,1=nE k

Figure 54 : Modèle fonctionnel pour une croissance de contour.

Nous avons testé l’implantation du processus de croissance de contours suivant

le modèle générique et le résultat obtenu sur une image synthétique est donné sur la

figure ci-dessous (figure 55).

Annexes

113

(a) Image Originale (b) Image segmentée finale

Figure 55 : Résultat de l’opérateur de segmentation contour sur une image synthétique.

Le même seuil de gradient a été appliqué sur toute l’image. Les agents contours

sont placés aléatoirement sur l’image. La qualité de la segmentation peut être

améliorée en utilisant un estimateur de gradient plus précis. Le but ici était de

montrer que le modèle fonctionnel pouvait servir à implanter un opérateur régions et

un opérateur contours avec un minimum de changements dans les blocs

fonctionnels. Ici seul le bloc Mesures a été modifié entre l’opérateur contours (figure

54) et l’opérateur régions (figure 18).

Approche fonctionnelle générique des méthodes de segmentation d’images

114

d) Décomposition fonctionnelle de la méthode multirésolution de l’arbre quaternaire

C’est une structure basée sur la décomposition récursive d’une image divisée en

régions carrées de tailles différentes. Les pixels de la pyramide ont chacun 4 pixels

enfants, sauf ceux du niveau Ll = , qui est le niveau à la résolution maximale. De

même tous les pixels possèdent un parent sauf celui pour lequel 0ll = .

Si l’on considère une structure de données en arbre quaternaire du bas vers le

haut, un simple moyennage peut être défini pour calculer les résolutions

correspondant à tous les niveaux de la pyramide.

La méthode développée par Spann et Wilson consiste en trois étapes

principales [SPAN85] : Adoucissement quaternaire, classification (coalescence de

centroïde local) et estimation de frontières. Ces trois étapes correspondent aux trois

macro blocs définis par le modèle fonctionnel multirésolution (§ 5.3.2). L’étude de

cette méthode, nous a permis de la modéliser comme montrée sur la figure 56.

AdaptationAdoucissement

Quaternaire

OS

Coalescencecentroïde

local

AdaptationProjection

OS

Estimation defrontières

1° Construction Pyramide

2° Segmentation

3° Projection

AdaptationAdoucissement

QuaternaireLI

0lCS10 +lCSLCS

0lI10 +lI

Figure 56 : Schéma du contenu des macro blocs de la méthode de Spann.

Annexes

115

La construction de la pyramide d’images est obtenue à l’aide d’un arbre

quaternaire. Chaque bloc ‘Adoucissement quaternaire’ réalise un moyennage

quaternaire. Il prend en entrée une image à une résolution donnée et sort l’image à

une résolution inférieure. Le macro bloc Segmentation comporte ici un seul opérateur

de segmentation qui fait de la classification basée sur l’histogramme de niveau de

gris. Le macro bloc Projection est représenté par la mise en cascade de blocs

Adaptation Descendante qui projettent la carte de segmentation au niveau de

résolution supérieur, et d’opérateurs de segmentation qui estiment les frontières à

partir des cartes de segmentation successives.

Dans le cadre des pyramides reliées, nous avons étudié une deuxième

technique de segmentation multirésolution. Cette technique [SPAN89] est basée sur

une pyramide dite à seuillage dynamique. Cette étude nous a permis de modéliser

cette méthode à travers un schéma fonctionnel général qui est donné sur la figure

57. Nous retrouvons les trois macro blocs du modèle fonctionnel multirésolution (§

5.3.2). Le macro bloc ‘Construction Pyramide’ est similaire à celui de la méthode de

Burt (§ 5.3.3). il contient une cascade d’opérateurs de segmentation et de bloc

Adaptation Moyennage. Le macro bloc Segmentation correspond à des opérateurs

de segmentation de fusion de régions. Le nombre de nœuds (régions) est réduit de

résolution en résolution en utilisant diverses stratégies de rassemblement de nœuds

(vertical, horizontal et oblique). Le macro bloc Projection contient des blocs

Adaptation qui appliquent un étiquetage du haut vers le bas de la pyramide pour

donner finalement la carte de segmentation LCS .

Approche fonctionnelle générique des méthodes de segmentation d’images

116

AdaptationMoyennage

OS

Définitionliaisons

parent-enfant

AdaptationMoyennage

OS

Définitionliaisons

parent-enfant

OS

Fusion

OS

Fusion

AdaptationProjection

AdaptationProjection

3° Projection

2° Segmentation

1° Construction Pyramide

LCSH10 +lCSH

10 +lI1−LI

LCSH 10 +lCSH

LI

1−LCS

LCS

0lI

Figure 57 : Schéma bloc de la méthode de la pyramide reliée à seuillage dynamique.

Annexes

117

e) Décomposition fonctionnelle d’une méthode basée sur la pyramide irrégulière

La pyramide irrégulière [BERT95] doit son nom au type de voisinage particulier

de cellules qui la composent. Dans cette pyramide le nombre de voisins n’est pas

fixe, il dépend de chaque cellule. C’est une représentation par graphe qui est

totalement adaptée aux relations d’adjacence qui unissent les régions. Chaque

région est modélisée par un sommet du graphe. Chaque niveau de résolution

correspond à une phase de réduction du nombre de régions, donc de sommets. Ce

processus est appelé processus de décimation. Cela permet de choisir les sommets

qui seront gardés au niveau supérieur.

Dans la pyramide irrégulière développée dans [BERT95], une procédure de

construction d’un graphe d’adjacence est chargée d’initialiser la structure pyramidale.

On crée le niveau L à partir de l’image en utilisant une connexité 4 ou 8. Il s’ensuit

une procédure de création d’un graphe de similarité. Celui-ci permet de déterminer

les sommets voisins susceptibles de fusionner avec chaque sommet selon un seuil

prédéfini. Le traitement qui suit la sélection des voisins similaires est un processus

itératif de décimation des sommets du graphe de similarité. Après chaque décimation

partielle du graphe de niveau l , le nombre de survivants pour le niveau 1−l est

calculé. Lorsque ce nombre ne diminue pas, la décimation est terminée. Chaque

sommet non retenu pour former le graphe du niveau supérieur est rattaché à un

sommet survivant voisin.

Dés lors que les survivants connaissent les sommets non survivants dont ils ont

hérité, leurs attributs peuvent être calculés en prenant en compte leurs propres

attributs et ceux de chacun des sommets non survivants associés. La dernière phase

reconstruit le nouveau voisinage du niveau 1+l à l’aide du graphe d’adjacence du

niveau l .

Voici les principaux points que nous avons retenus de cette étude.

Au cours des traitements, la méthode utilise l’image originale et la carte des

régions à un seul niveau de résolution. Initialement chaque pixel est représenté

par une région et au fur et à mesure des calculs le nombre de régions diminue.

La multirésolution est présente au niveau du nombre variable de régions qui

constituent les nœuds d’un graphe.

Approche fonctionnelle générique des méthodes de segmentation d’images

118

La méthode peut être modélisée par un macro bloc Segmentation qui contient un

seul opérateur de segmentation. Celui-ci réalise une fusion de régions voisines

selon des critères de proximité et de ressemblance en termes de propriétés. Les

macro blocs Construction Pyramide et Projection n’ont pas de fonction dans ce

cas précis puisqu’il n’y a pas d’images multirésolution.

Le schéma fonctionnel de cette méthode est identique à la structure fonctionnelle

de la méthode de fusion de régions décrite dans le paragraphe 5.2.2 à l’exception du

blocs Mesures.

Notons que nous n’avons pas testé l’implantation des méthodes décrites dans

les annexes (d) et (e).

Approche fonctionnelle générique des méthodes de segmentation d’images

119

Bibliographie [ABCH01] Abchiche Y., Dalle P. Un système multi-agent pour l'analyse d'images.

2ème ateliers de Traitement et d'Analyse d'Images: Méthodes et

Applications, TAIMA'01, 8-12 octobre 2001, Hammamet, Tunisie, 2001,

pp. 141-146.

[ADAM94] Adams R., Bishop L. Seeded region growing. IEEE Trans. on Pattern

Analysis and Machine Intelligence, 1994, vol. 16, n° 6, pp. 641-647.

[ANWA01] Anwander A. Segmentation d'images couleur par un opérateur

gradient vectoriel multiéchelle et contour actif. Application à la

quantification des phases minéralogiques du clinker de ciment. Thèse

de doctorat. Lyon : INSA de Lyon, 2001, 145 p.

[BAJC88] Bajcsy R. Active perception. Proceedings of IEEE, 1988, vol. 76, n° 8,

pp. 996-1005.

[BELL98] Bellet F. Une approche incrémentale à base de processus coopératifs

et adaptatifs pour la segmentation des images en niveaux de gris.

Thèse de Doctorat. Grenoble : Institut National Polytechnique de

Grenoble, 1998, 210 p.

[BEN01a] Benoit-Cattin H., Zouagui T., Odet C. Functionnal model and object

oriented programming for image segmentation methods. International

Conference on Quality Control by Artificial Vision, QCAV, 21-23 May,

Le Creusot, France, 2001, pp. 391-394.

[BEN01b] Benoit-Cattin H., Zouagui T., Odet C. Vers une vision fonctionnelle de

la segmentation d'images. Congrès Francophone de Vision par

Ordinateur, ORASIS, 5-8 juin, Cahors, 2001, pp. 425-433.

[BERT95] Bertolino P. Contribution des pyramides irrégulières en segmentation

multirésolution d'images. Thèse de Doctorat. Grenoble : Institut

National Polytechnique de Grenoble, 1995, 166 p.

Bibliographie

120

[BERT96] Bertolino P., Montanvert A. Multiresolution segmentation using the

irregular pyramid. IEEE International Conference on Image Processing,

Lausanne, Suisse, 1996, pp. 257-260.

[BLOC96] Bloch I. Information combination operators for data fusion : A

comparative review with classification. IEEE Trans. on Systems, Man,

and Cybernetics, 1996, vol. 26, n° 1, pp. 52-67.

[BLOC03] Bloch I. Fusion d'informations en traitement du signal et des images.

Paris: Hermès, 2003, 318 p.

[BOIS94] Boissier O., Demazeau Y. A multi-agent system for visual integration.

IEEE International Conference on Multisensor Fusion and Integration

for Intelligent Systems, Las Vegas, 1994, pp. 731-738.

[BOUC98] Boucher A., Doisy A., Ronot X., et al. A society of goal-oriented

agents for the analysis of living cells. Artificial Intelligence in Medicine,

1998, vol. 14, pp. 183-199.

[BURT83] Burt P. J., Adelson E. H. The Laplacian pyramid as a compact image

code. IEEE Trans. on Communications, 1983, vol. 31, pp. 532-540.

[BURT81] Burt P. J., Hong T., Rosenfeld A. Segmentation and estimation of

image region properties through cooperative hierarchical computation.

IEEE Trans. on Systems, Man and Cybernetics, 1981, vol. 11, n° 12,

pp. 802-809.

[CASS97] Casselles V., Kimmel R., Sapiro G. Geodesic active contours.

International Journal of Computer Vision, 1997, vol. 22, n° 1, pp. 61-79.

[CHAK99] Chakraborty A., Duncan J. S. Game-theoretic integration for image

segmentation. IEEE Trans. Pattern Analysis and Machine Intelligence,

1999, vol. 21, n° 1, pp. 12-30.

[CHAN95] Chang Y. L., Li X. Fast image region growing. Image and Vision

Computing, 1995, vol. 13, n° 7, pp. 559-571.

[CHAU96] Chaurroux B., Philipp S., Coquerez J.-P. Système de vision mettant

en oeuvre une coopération d'opérateurs de segmentation guidée par

l'interprétation. Congrès Reconnaissance des Formes et Intelligence

Artificielle, RFIA, Rennes, France, 1996, pp. 527-536.

[CHEU02] Cheung K. W., Yeung D. Y., Chin R. T. On deformable models for

visual pattern recognition. Pattern Recognition, 2002, vol. 35, pp. 1507-

1526.

Approche fonctionnelle générique des méthodes de segmentation d’images

121

[CHU93] Chu C. C., Aggarwal J. K. The integration of image segmentation

maps using region and edge information. IEEE Trans. on Pattern

Analysis and Machine Intelligence, 1993, vol. 15, n° 12, pp. 1241-1252.

[CLOU02] Clouard R., Elmoataz A., Revenu M. Une méthodologie de

développement d'applications de traitement d'images. Congrès de

Reconnaissance de Formes et Intelligence Artificielle, RFIA, janvier

2002, Angers, France, 2002, pp. 1033-1042.

[COCQ95] Cocquerez J. P., Philipp S. Analyse d'images : filtrage et

segmentation. Paris: Masson, 1995, 457 p.

[COHE91] Cohen L. D. On active contour models and balloons. Computer Vision,

Graphics, and Image Processing: Image Understanding, 1991, vol. 53,

n° 2, pp. 211-218.

[COUR53] Courant R., Hilbert D. Methods of Mathematical Physics. New York:

Interscience, 1953, 561 p.

[CREV97] Crevier D., Lepage R. Knowledge-based image understanding

systems: A survey. Computer Vision and Image Understanding, 1997,

vol. 67, n° 2, pp. 161-185.

[CUFI02] Cufi X., Munoz X., Freixenet J., et al. A review of segmentation

techniques integrating region and boundary information. Advances in

Imaging and Electron Physics, 2002, vol. 120, pp. 1-39.

[DEJE96] Dejean P. Un formalisme pour les entités du traitement et de l'analyse

des images. Thèse de Doctorat. Toulouse : Université de Toulouse -

Paul Sabatier, 1996, 280 p.

[DUCH03] Duchesnay E., Montois J.-J., Jacquelet Y. Cooperative agents

society organized as an irregular pyramid : A mammography

segmentation application. Pattern Recognition Letters, 2003, vol. 24, n°

14, pp. 2435-2445.

[FERB95] Ferber J. Les systèmes multi-agents - vers une intelligence collective.

Paris: InterEditions, 1995, 522 p.

[FICE99] Ficet-Cauchard V. Réalisation d'un système d'aide à la conception

d'applications de traitement d'images : une approche basée sur le

raisonnement à partir de cas. Thèse de Doctorat. Caen : Université de

Caen, 1999, 187 p.

Bibliographie

122

[FU81] Fu K. S., Mui J. K. A survey on image segmentation. Pattern

Recognition, 1981, vol. 13, pp. 3-16.

[GAMB93] Gambotto J. P. A new approach to combining region growing and edge

detection. Pattern Recognition Letters, 1993, vol. 14, pp. 869-875.

[GAMM95] Gamma E., Helm R., Johnson R., et al. Design Patterns : Elements of

reusable object-oriented software. Addison Wesley, 1995, 395 p.

[GEIG91] Geiger D., Yuille A. A common framework for image segmentation.

International Journal of Computer Vision, 1991, vol. 6, n° 3, pp. 227-

243.

[GEMA84] Geman S., Geman D. Stochastic relaxation, Gibbs distributions, and

the Bayesian restoration of images. IEEE Trans. Pattern Analysis and

Machine Intelligence, 1984, vol. 6, n° 6, pp. 721-741.

[GER00b] Germond L., Dojat M., Taylor C., et al. A cooperative framework for

segmentation of MRI brain scans. Artificial Intelligence in Medicine,

2000, vol. 20, pp. 77-93.

[GER00a] Germond L., Dojat M., Taylor C., et al. Trois principes de coopération

pour la segmentation en IRM. Congrès Reconnaissance de Formes et

Intelligence Artificielle, RFIA, Février 2000, Paris, 2000, pp. 69-78.

[GUIL00] Guillaud A. Un système multi-agents pour la reconnaissance de

formes sur des pièces calcifiées. Aide à l'estimation de l'âge de

poissons et de céphalopodes. Thèse de Doctorat. Brest : Université de

Bretagne Occidentale, 2000, 188 p.

[HARA85] Haralick R. M., Shapiro L. G. Survey : Image segmentation

techniques. Computer Vision, Graphics and Image Processing, 1985,

vol. 29, pp. 100-132.

[HARI98] Haris K., Efstratiadis S. N., Maglaveras N., et al. Hybrid image

segmentation using watersheds and fast region merging. IEEE Trans.

on Image Processing, 1998, vol. 7, n° 12, pp. 1684-1699.

[HERN00] Hernandez S. E., Barner K. E. Tactile imaging using watershed-based

image segmentation. 4th ACM Conference on Assistive Technologies,

Arlington, Virginie, 2000, pp. 26-33.

[HONG84] Hong T. H., Rosenfeld A. Compact region extraction using weighted

pixel linking in a pyramid. IEEE Trans. on Pattern Analysis and Machine

Intelligence, 1984, vol. 6, n° 2, pp. 222-229.

Approche fonctionnelle générique des méthodes de segmentation d’images

123

[HUNT79] Hunter G. M., Steiglitz K. S. Operations on images using quadtree.

IEEE Trans. on Pattern Analysis and Machine Intelligence, 1979, vol. 1,

n° 2, pp. 145-153.

[JOLI94] Jolion J. M., Rosenfeld A. A pyramid framework for early vision.

Dordrecht: Kluwer Academic Publishers, 1994, 222 p.

[KAGA99] Kagawa H., Kinouchi M., Hagiwara M. Image segmentation by

artificial life approach using autonomous agents. International Joint

Conference on Neural Networks, Washington, 1999, pp. 4413-4418.

[KARA94] Kara-Falah R., Bolon P., Cocquerez J. P. A region-region and region-

edge cooperative approach of image segmentation. International

Conference on Image Processing, Austin, Texas, 1994, pp. 470-474.

[KASS88] Kass M., Witkin A., Terzopoulos D. Snake : Active contour models.

International Journal of Computer Vision, 1988, vol. 1, pp. 321-331.

[KERM02] Kermad C. D., Chehdi K. Automatic image segmentation system

through iterative edge-region co-operation. Image and Vision

Computing, 2002, vol. 20, pp. 541-555.

[KONS94] Konstantinides K., Rasure J. The Khoros software development

environment for image and signal processing. IEEE Trans. on Image

Processing, 1994, vol. 3, pp. 243-252.

[LECL89] Leclerc Y. G. Constructing simple stable descriptions for image

partitioning. International Journal of Computer Vision, 1989, vol. 3, pp.

73-102.

[LEFE93] Lefèvre V., Pollet Y. BBI : un système multi-agent d'aide à la photo-

interprétation. 13ème journées internationales intelligence artificielle,

systèmes experts et langages naturels, Avignon, France, 1993, pp.

473-482.

[LIU98] Liu J. Reactive agents for adaptive image analysis. International

Conference on Autonomous Agents, May 9-13, Minneapolis, 1998, pp.

441-448.

[LIU99] Liu J., Tang Y. Y. Adaptive image segmentation with distributed

behavior-based agents. IEEE Trans. Pattern Analysis and Machine

Intelligence, 1999, vol. 21, n° 6, pp. 544-551.

Bibliographie

124

[MALL89] Mallat S. A theory for multiresolution signal decomposition: The wavelet

representation. IEEE Trans. on Pattern Analysis and Machine

Intelligence, 1989, vol. 11, pp. 674-693.

[MATS89] Matsuyama T. Expert systems for image processing: Knowledge-based

composition of image analysis processes. Computer Vision, Graphics,

and Image Processing, 1989, vol. 48, pp. 22-49.

[MONG87] Monga O., Wrobel B. Segmentation d'images: vers une méthodologie.

Traitement de signal, 1987, vol. 4, n° 3, pp. 169-193.

[MONT01] Montagnat J., Delingette H., Ayache N. A review of deformable

surfaces : Topology, geometry and deformation. Image and Vision

Computing, 2001, vol. 19, pp. 1023-1040.

[MONT91] Montanvert A., Meer P., Rosenfeld A. Hierarchical image analysis

using irregular tessellations. IEEE Trans. on Pattern Analysis and

Machine Intelligence, 1991, vol. 13, n° 4, pp. 307-316.

[MUMF85] Mumford D., Shah J. Boundary detection by minimizing functionals.

IEEE Conference on Computer Vision and Pattern Recognition, 1985,

pp. 22-26.

[MUNO03] Munoz X., Freixenet J., Cufi X., et al. Strategies for image

segmentation combining region and boundary information. Pattern

Recognition Letters, 2003, vol. 24, pp. 375-392.

[NAZI84] Nazif A. M., Levine M. D. Low level segmentation : An expert system.

IEEE Trans. Pattern Analysis and Machine Intelligence, 1984, vol. 6, n°

5, pp. 555-577.

[NOU02a] Nouvel A. Description de concepts par un langage visuel pour un

système d'aide à la conception d'applications de traitement d'images.

Thèse de doctorat. Toulouse : Université Paul Sabatier, 2002, 169 p.

[NOU02b] Nouvel A., Dalle P. Une approche interactive de définition d'ontologies

image. Congrès de Reconnaissance de Formes et Intelligence

Artificielle, RFIA, janvier 2002, Angers, France, 2002, pp. 1023-1031.

[OWEN95] Owen G. Game theory. New York: Academic Press, 1995, 443 p.

[PAL93] Pal N. R., Pal S. K. A review on image segmentation techniques.

Pattern Recognition, 1993, vol. 26, n° 9, pp. 1277-1294.

[PAPP92] Pappas T. N. An adaptive clustering algorithm for image segmentation.

IEEE Trans. on Signal Processing, 1992, vol. 40, n° 4, pp. 901-914.

Approche fonctionnelle générique des méthodes de segmentation d’images

125

[PARK98] Park H. S., Ra J. B. Homogeneous region rerging approach for image

segmentation preserving semantic objets contours. International

Workshop on Very Low Bitrate Video Coding, Chicago, IL, 1998, pp.

149-152.

[PITH01] Pithon L., Bouakaz S., Hassas S. A framework for cooperative

segmentation based on the multi-agents paradigm. Proceedings of

SPIE - Visual Communications and Image Processing, 2001, vol. 4310,

pp. 135-143.

[PORQ03] Porquet C., Settache H., Ruan S., et al. Une plate forme multi-agent

pour la segmentation d'images. Etude des stratégies de coopération

contour-région. Congrès Francophone de Vision par Ordinateur,

ORASIS, Gerardmer, France, 2003, pp. 413-422.

[PREW01] Prewer D., Kitchen L. Soft image segmentation by weighted linked

pyramid. Pattern Recognition Letters, 2001, vol. 22, pp. 123-132.

[REVO97] Revol C., Jourlin M. A new minimum variance region growing

algorithm for image segmentation. Pattern Recognition Letters, 1997,

vol. 18, pp. 249-258.

[REVO02] Revol-Muller C., Peyrin F., Carrillon Y., et al. Automated 3D region

growing algorithm based on an assessment function. Pattern

Recognition Letters, 2002, vol. 23, pp. 137-150.

[ROPE01] Ropert V. Proposition d'une architecture de contrôle pour un système

de vision. Thèse de Doctorat. Paris : Université René DESCARTES,

2001, 192 p.

[SAHO88] Sahoo P. K., Soltani S., Wong A. K. C., et al. A survey of thresholding

techniques. Computer Vision Graphics and Image Processing, 1988,

vol. 41, pp. 233-260.

[SAND89] Sander P. T., Vinet L., Cohen L., et al. Hierarchical region based

stereo matching. International Conference on Computer Vision and

Pattern Recognition, San Diego, CA, 1989, pp. 416-421.

[SCHR98] Schroeder W., Martin K. The VTK user's guide. Kitware, Inc

Publishers, 1998, 344 p.

[SHAH96] Shah J. A common framework for curve evolution, segmentation and

anisotropic diffusion. IEEE Conference on Computer Vision and Pattern

Recognition, San Francisco, Ca, 1996, pp. 136-142.

Bibliographie

126

[SPAN89] Spann M., Horne C. Image segmentation using a dynamic thresholding

pyramid. Pattern Recognition, 1989, vol. 22, n° 6, pp. 719-732.

[SPAN85] Spann M., Wilson R. A quad-tree approach to image segmentation

which combines statistical and spatial information. Pattern Recognition,

1985, vol. 18, pp. 257-269.

[SPIN97] Spinu C. Une approche multi-agents pour la segmentation d'images

associant estimation et évaluation. Thèse de Doctorat. Grenoble :

Université Joseph Fourier, 1997.

[THON00] Thonnat M., Moisan. What can program supervision do for program

reuse? IEE Proceedings on Software, 2000, vol. 47, n° 5, pp. 179-185.

[VELA80] Velasco F. R. D. Thresholding using the Isodata clustering algorithm.

IEEE Trans. on Systems, Man and Cybernetics, 1980, vol. 10, pp. 771-

774.

[VROO95] Vroom J. AVS/Express: A new visual programming paradigm. Boston,

Massachusetts: Proceedings of AVS, 1995, 29 p.

[XU98] Xu C., Prince J. L. Snakes, shapes, and gradient vector flow. IEEE

Trans. on Image Processing, 1998, vol. 7, n° 3, pp. 359-369.

[YANA98] Yanai K., Deguchi K. An architecture of object recognition system for

various images based on multi-agent. International Conference on

Pattern Recognition, 1998, pp. 643-646.

[ZHU96] Zhu S. C., Yuille A. Region competition : Unifying snakes, region

growing and Bayes/MDL for multiband image segmentation. IEEE

Trans. on Pattern Analysis and Machine Intelligence, 1996, vol. 18, n°

9, pp. 884-900.

[ZOUA04] Zouagui T., Benoit-Cattin H., Odet C. Image segmentation functional

model. Pattern Recognition, 2004, vol. 37, n° 9, pp. 1785-1795.