approche fonctionnelle générique des méthodes de...
Post on 24-May-2020
3 Views
Preview:
TRANSCRIPT
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 sinou@univ-lyon1.fr 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 Alain.Bonnafous@mrash.fr 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 Daniel.Barbier@insa-lyon.fr 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 Jean-Pierre.Flandrois@biomserv.univ-lyon1.fr 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
lbrunie@if.insa-lyon.fr 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 cozzone@ibcp.fr 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 Jacques.Joseph@ec-lyon.fr 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 wagner@desargues.univ-lyon1.fr 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 Francois.Sidoroff@ec-lyon.fr 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.
top related