182
ORSAY N d’ordre : UNIVERSITÉ DE PARIS-SUD U.F.R. SCIENTIFIQUE D’ORSAY THÈSE DE DOCTORAT Ecole Doctorale "Sciences et Technologies de l’Information des Télécommunications et des Systèmes" Spécialité : PHYSIQUE Mise en Correspondance d’Images pour l’Analyse du Mouvement et la Stéréovision par Nikom Suvonvorn Soutenue le 18 décembre 2006 devant les membres du jury Roger MOHR Président Bertrand ZAVIDOVIQUE Directeur de thèse Philippe BOLON Rapporteur Maurice MILGRAM Rapporteur Samia BOUCHAFA Examinateur Guna SEETHARAMAN Invité

Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

ORSAYN◦ d’ordre :

UNIVERSITÉ DE PARIS-SUDU.F.R. SCIENTIFIQUE D’ORSAY

THÈSE DE DOCTORAT

Ecole Doctorale "Sciences et Technologies de l’Informationdes Télécommunications et des Systèmes"

Spécialité : PHYSIQUE

Mise en Correspondance d’Imagespour l’Analyse du Mouvement et

la Stéréovision

par

Nikom Suvonvorn

Soutenue le 18 décembre 2006 devant les membres du jury

Roger MOHR PrésidentBertrand ZAVIDOVIQUE Directeur de thèsePhilippe BOLON RapporteurMaurice MILGRAM RapporteurSamia BOUCHAFA ExaminateurGuna SEETHARAMAN Invité

Page 2: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je
Page 3: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

Résumé

Ce mémoire traite d’une méthode de mise en correspondance entre images, et de sesapplications. Il est divisé en deux parties : la partie méthodologique et la partie ingé-nierie. La première étudie le type de décision qu’est l’appariement de primitives image.Nous prônons le modèle dit de "mariage stable". Plusieurs algorithmes sont dévelop-pés autour de cette contrainte de stabilité, à laquelle sont ajoutées des contraintes desatisfaction globale et d’équité pour mieux adapter le schéma de base aux nécessitésde l’éventuelle application, notamment maîtriser un certain équilibre local/global dela décision. Nous présentons un système générique de mise en correspondance à basede ces algorithmes dont le mariage stable est la clé. La deuxième partie est consacréeau traitement d’applications à partir de ce noyau opérationnel. Pour toutes les appli-cations, on décide que les primitives extraites d’image en vue d’appariement serontbasées sur les ensembles de niveau. Nous testons le noyau dans le développement detrois applications : un système de recalage, un système de détection d’obstacle parstéréovision, et un système générique d’analyse du mouvement. La qualité de mise encorrespondance est expérimentée et vérifiée dans ces trois applications en comparantavec des algorithmes différents : une méthode de vote et une méthode de programma-tion dynamique.

Mots-clés : Mise en correspondance, Mariages stables, Ensemble de niveaux, Lignesde niveau, Points d’intérêt, Stéréovision, Analyse du mouvement.

Abstract

This dissertation is invested on image matching methods, and their applications. Itis divided into two parts : methodological and engineering. The first tackles decisionmethods used to match features between images. We found it on the "stable mar-riage" paradigm. Several algorithms are developed with constraints added, as globalsatisfaction or equity, for better adapting to application needs as controlling a certainlocal/global balance in the decision. Then, we introduce a generic matching system ba-sed on these algorithms where stable marriages become the key mechanism. The secondpart is devoted to applicative processes building on this matching core. First, level linesand their junctions are selected for primitive features to be paired in all applications.Then, the adapted implementation of the core is studied in the following applications :a registration system, a system for obstacle detection from stereo pairs, and a genericsystem for motion analysis. The matching quality is experimented on and tested in allthree applications. It is compared with vote based and dynamic programming basedmatching results.

Keywords : Matching, Stables marriages, Level sets, Level lines, Points of interest,Stereovision, Motion analysis.

Page 4: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je
Page 5: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

À mes parents, ma famille, mes amisSans vous, tout serait difficile...

Page 6: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je
Page 7: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

Remerciements

Je souhaite remercier Bertrand Zavidovique de m’avoir accueilli au sein de l’équipeVAX, d’avoir accepté d’être mon directeur de thèse, d’avoir toujours pris le temps dedonner conseils et remarques précieux. Grâce à ses qualités humaines et profession-nelles, j’ai pu mener correctement mes travaux de recherche.

Je tiens à remercier Samia Bouchafa qui a accepté d’être co-directeur de ma thèse,de m’avoir encadrée avec patience en donnant des réponses à mes questions dont desremarques positives qui m’ont beaucoup encouragé.

Je remercie sincèrement Lionel Lacassagne qui m’a également donné beaucoup deconseils pratiques sur mes travaux de recherche, malgré un emploi du temps chargé.

Merci à Adel Hafiane qui m’a toujours apporté de l’aide quand j’en avais besoin, etd’avoir créé une ambiance amicale et chaleureuse dans notre bureau.

Merci à François le Coat pour sa gentillesse et sa patience à me renseigner et àm’aider dans le développement et le transport d’application réelle.

Enfin, merci à tous ceux qui dans les opérations VAX et SACOL m’ont accueillidans un environnement actif et sympatique.

vii

Page 8: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je
Page 9: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

ix

Table des matières

Remerciements vii

Introduction 1

1 Outils et techniques pour la mise en correspondance 51.1 Mise en correspondance : essai de classification . . . . . . . . . . . . . . 51.2 Caractéristiques adaptées . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Méthodes de mise en correspondance . . . . . . . . . . . . . . . . . . . 101.4 Quelques techniques d’optimisation . . . . . . . . . . . . . . . . . . . . 131.5 Modèles de transformation géométrique . . . . . . . . . . . . . . . . . . 151.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Jonctions de lignes de niveaux 212.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2 Représentation topologique d’une image . . . . . . . . . . . . . . . . . 22

2.2.1 Ensemble des niveaux . . . . . . . . . . . . . . . . . . . . . . . 222.2.2 Lignes de niveaux . . . . . . . . . . . . . . . . . . . . . . . . . . 242.2.3 Jonctions de lignes de niveaux . . . . . . . . . . . . . . . . . . . 25

2.3 Le Modèle EFLAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.4 Méthode d’extraction des jonctions . . . . . . . . . . . . . . . . . . . . 302.5 La primitive "jonction de lignes de niveaux" . . . . . . . . . . . . . . . 33

2.5.1 Descripteurs de primitives . . . . . . . . . . . . . . . . . . . . . 332.5.2 Fiabilité des primitives . . . . . . . . . . . . . . . . . . . . . . . 35

2.6 Expérimentation et discussion . . . . . . . . . . . . . . . . . . . . . . . 362.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3 Problème de mariages stables 413.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2 Les algorithmes classiques de mariages stables . . . . . . . . . . . . . . 42

3.2.1 Mariage stable avec liste incomplète et totalement triée . . . . . 433.2.2 Mariage stable avec liste complète et indifférence . . . . . . . . 443.2.3 Mariage stable avec liste incomplète et indifférence . . . . . . . 463.2.4 Contraintes pour une nouvel algorithme de mariages stables . . 47

3.3 Nouvelle représentation du problème de mariages stables . . . . . . . . 483.4 Algorithmes de mariage quasi-stable . . . . . . . . . . . . . . . . . . . . 51

Page 10: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

x TABLE DES MATIÈRES

3.4.1 Un résultat de bornitude . . . . . . . . . . . . . . . . . . . . . . 523.4.2 Algorithme ZigZag homme (resp. femme)-optimal (ZZ) . . . . . 533.4.3 Algorithme Zigzag Optimal (OZ) . . . . . . . . . . . . . . . . . 563.4.4 Faire tourner la table pour plus de satisfaction et d’égalité . . . 56

3.5 Algorithmes de mariages fortement-stables . . . . . . . . . . . . . . . . 623.5.1 Algorithme Zigzag Bloqué (BZ) . . . . . . . . . . . . . . . . . . 623.5.2 Analyse de l’instabilité des mariages . . . . . . . . . . . . . . . 653.5.3 Zigzag Bloqué Stable (SBZ) homme-optimal (SBZm) ou femme-

optimal (SBZw) . . . . . . . . . . . . . . . . . . . . . . . . . . 703.6 Retour sur la complexité . . . . . . . . . . . . . . . . . . . . . . . . . . 803.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

4 Un système de mise en correspondance 87

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874.2 Un système pour la mise en correspondance des jonctions en multi échelle 88

4.2.1 Préparation des listes de préférences . . . . . . . . . . . . . . . 924.2.2 Mise en correspondance par l’algorithme de mariage stable . . . 974.2.3 Elimination des intrus . . . . . . . . . . . . . . . . . . . . . . . 994.2.4 Expérimentation et discussion . . . . . . . . . . . . . . . . . . . 101

4.3 Evaluation du système pour le recalage bidimensionnel . . . . . . . . . 1074.3.1 Déplacement par notre méthode . . . . . . . . . . . . . . . . . . 1114.3.2 Déplacements par la méthode de vote . . . . . . . . . . . . . . . 1144.3.3 Expérimentation, comparaison et discussion . . . . . . . . . . . 117

4.4 Evaluation du système en stéréovision . . . . . . . . . . . . . . . . . . . 1184.4.1 Disparités par la méthode de Le Coat . . . . . . . . . . . . . . . 1204.4.2 Disparités par la méthode de Birchfield et Tomasi . . . . . . . . 1224.4.3 Expérimentation, comparaison et discussion . . . . . . . . . . . 122

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

5 Analyse du mouvement 129

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295.2 Un système pour l’analyse du mouvement . . . . . . . . . . . . . . . . 1305.3 Identification des mouvements . . . . . . . . . . . . . . . . . . . . . . . 132

5.3.1 Déplacement du flot . . . . . . . . . . . . . . . . . . . . . . . . 1345.3.2 Méthode de C-moyennes floues avec contrainte spatiale sur l’en-

semble de niveaux . . . . . . . . . . . . . . . . . . . . . . . . . . 1355.3.3 Contrainte spatiale sur l’ensemble de niveaux . . . . . . . . . . 1365.3.4 Expérimentation et discussion . . . . . . . . . . . . . . . . . . . 139

5.4 Segmentation d’image (explicitation d’objets) . . . . . . . . . . . . . . 1425.4.1 Segmentation d’objet homogène . . . . . . . . . . . . . . . . . . 1435.4.2 Segmentation d’objet non homogène par la méthode de JF-Snake 146

5.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

6 Conclusion et perspectives 159

Page 11: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

TABLE DES MATIÈRES xi

Conclusion et perspectives 1596.1 Commentaire sur les principaux résultats . . . . . . . . . . . . . . . . . 1596.2 Perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

Publications 163

Bibliographie 165

Page 12: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

xii TABLE DES MATIÈRES

Page 13: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

1

Introduction

La mise en correspondance est une opération centrale à toute activité intelligente.Toute décision résulte de la mise en correspondance d’une entité (ou d’une collectiond’entités i.e. une entité) avec une autre entité ou un modèle de telles entités. Toutedécision volontaire (les involontaires étant aléatoires) à effet positif est une mise en cor-respondance optimale sous certaines contraintes (d’information, de temps, de connais-sance, de capacité etc.) et en un certain sens (mesure ou norme, privilégiant certainsparamètres au détriment d’autres, selon telle ou telle technique etc.). Par conséquenttoute action résultant d’une telle décision inclut au moins une mise en correspondance,celle de la décision ou du choix préalable, mais souvent plusieurs parce que le passageà l’acte demande à son tour la mise en correspondance du schéma entrepris avec lesmoyens disponibles. C’est dire l’importance du concept.

Pourtant dans la plupart des approches en théorie des systèmes (automatique, sys-témique, informatique (I.A.), ou cognitive) cette opération est rarement étudiée en tantque telle. Elle ressort plutôt comme l’optimisation qui supporte la décision, ou elle estconfondue avec. La mise en correspondance serait ainsi la version combinatoire voiregrammaticale ou lexicale de cette optimisation, à éviter le plus possible en travaillantle modèle et les représentations pour se ramener à une forme fermée. Considérons parexemple deux ensembles de points du plan, p et p′. Même s’ils sont ordonnés leur cardi-nal peut être différent, si bien que définir une distance entre p et p′ n’est pas simple. Ila d’ailleurs fallu attendre Wagner puis Levenstein et les années soixante avec Bellmanpour apporter des solutions quasi optimales à cette classe de problèmes.

Pourtant si on sait interpoler lesdits ensembles, séparément mais par le même pro-cédé, c’est-à-dire si on sait les considérer respectivement comme un seul objet, parexemple une courbe ou surface continue donc intégrable, alors décider si p et p′ seressemblent n’était déjà plus un problème dès le début du 19ème siècle avec Euler etLagrange réunis. A contrario, il peut se faire qu’on dispose d’emblée d’un formalismecontinu et que pourtant les techniques d’optimisation soient inévitablement combina-toires. Par exemple, schématisons le contrôle d’un système comme le calcul de l’actionminimisant une distance entre (i.e. mettant en correspondance) son modèle et sonétat dans un but donné : des méthodes modernes de contrôle stochastique, de typeBayesien, débouchent souvent sur des équations de Ricatti pour lesquelles les solutionsnumériques passent à nouveau par la programmation dynamique. Notons que dans lepremier exemple regrouper des points en une courbe, sauf à en avoir un modèle simple

Page 14: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2 INTRODUCTION

(ex. à peu de paramètres), est un problème de complexité équivalente à celui de laressemblance entre p et p′ et au minimum de la complexité d’un tri.

Il apparaît ainsi très tôt que certaines décisions, même élémentaires, sont en essencemultiples donc parallèles par contraction temporelle et potentiellement combinatoires :elles demandent des essais et erreurs (retours en arrière) ou elles demandent la compéti-tion de plusieurs hypothèses (inférence multiple) ou encore l’accord mutuel de plusieursentités (relaxation). La formalisation par des graphes s’introduit naturellement, d’au-tant que :

Définition 1 Soit des entités à mettre en correspondance (ou encore à mettre ensembles’il y en a plus de deux) leur mise en correspondance (son résultat) est un sous ensembledu produit .

Le cas particulier majeur est celui de deux ensembles distincts, qui est le pointde départ de cette thèse. En effet, le traitement des images et, au-delà, la vision puisla perception des robots multiplient de telles mises en correspondance. Pour prendrequelques exemples génériques :

- Au stade de la segmentation fruste : la détection des contours ou des points d’inté-rêt s’opère très souvent par convolution dont le noyau découle d’un modèle de contourou encore par corrélation directe avec des configurations locales de pixels (modèle élé-mentaire), la détection de région résulte d’associations répétées sous contraintes entrepixels voisins, pixels et parties connexes voisins ou parties connexes voisines.

- Au stade des premières analyses : le mouvement ou la profondeur (volume) s’ob-tient par associations de pixels ou de segments sélectionnés respectivement dans desimages successives (mouvement) ou issues de différents points de vue (stéréo), l’extrac-tion d’objet ou d’attitude enchaîne plusieurs des techniques précédentes au nom demodèles plus complexes de type relationnel (e.g. mécanique, fonctionnel etc.).

- Au stade de la compréhension ou reconnaissance : les premiers procédés sont derecherche en dictionnaire, donc comparaison directe à des modèles parfois complexesd’objet ou de situation, et plus généralement l’analyse suppose la composition de clas-sifications diverses.

Enfin, n’oublions pas que les décisions effectives sont à tous niveaux des recherchesd’optimum mais surtout des comparaisons répétées à des seuils, et que la perceptionmulti capteurs (homogènes ou hétérogènes) impose l’association des différentes moda-lités comme préalable à toute exploitation dont la stéréovision est un cas particulier.

Savoir (décider !) les conditions dans lesquelles on peut exploiter une simple distance,celles dans lesquelles le processus décisionnel sera plus complexe sinon laborieux neserait-ce que par l’accumulation de sources d’incertitude, est donc une question fonda-mentale dans l’élaboration de systèmes autonomes. Il n’existe pas à notre connaissancede modèle, de début d’une théorie, au nom de quoi prendre cette (méta) décision : onpeut cependant apporter des éléments de réponse, par exemple méthodologiques, pourconcentrer progressivement une expertise en construction de tels systèmes doués de

Page 15: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

INTRODUCTION 3

perception. A cette fin lointaine, dans le présent mémoire nous traitons un cas particu-lier, encore que fondamental pour la vision des machines, celui de l’extraction d’objetsen mouvement. Nous-nous attacherons à expliciter, décliner puis justifier (en exhibantdes algorithmes robustes et, espérons le, pas trop ad hoc) des modèles qui peuvent êtreaussi vagues en première expression que "présente un déplacement différent de celuide son environnement". On comprendra que ce type de modèle n’a probablement pasla précision d’autres définitions de classe comme "camion" pourtant déjà très vague etpolymorphe. "Vague" ou "peu précis" signifie ici, dans le cadre du problème général dedécision posé plus haut, que ce modèle ne permet pas l’extraction par recours immédiatà une distance !

Pour mieux comprendre la difficulté, reprenons l’idée de l’interpolation, en ayantcompris qu’elle est en fait universelle : elle est la métaphore de l’association d’entitésen un ensemble globalement mieux opérable car plus contraint. De son exemplarité,nous dérivons une conjecture intéressante :

compromis association/modélisation : dans tout problème de mise en correspon-dance, on peut utiliser la puissance de calcul pour modéliser les données de manièreà faciliter la décision jusqu’à éventuellement une simple distance, ou à l’opposé consa-crer la même puissance de calcul pour décider de manière dynamique en se contentantéventuellement du modèle associé à la technique de décision exploitée.

Notre travail de thèse est très précisément une recherche pragmatique de compro-mis entre l’effort de modélisation (i.e. qualification puis quantification) des objets, plusprécisément des primitives objets, à mettre en correspondance et celui de mise en cor-respondance proprement dite. Le plan du mémoire en découle : le premier chapitrereprend l’analyse du problème d’appariement en vision, quelques techniques classiques,et s’intéresse notamment à deux sources de variabilité pour deux images d’un mêmeobjet : la transformation géométrique et la variation dans l’éclairement. De plus, leniveau d’abstraction des définitions ou modèles envisagés proscrivant toute distance,élémentaire ou non, nous orientons les choix d’algorithme d’appariement vers des pro-cédés combinatoires à modèle "sociétal" type vote ou mariage.

Le deuxième chapitre est consacré au choix de primitive. L’accent étant mis surune robustesse aux changements de contrastes, et compte tenu des orientations algo-rithmiques pour la décision, nous défendons l’idée que les lignes de niveau (l’ensemblede niveau) puis leurs points anguleux sont préférables aux autres primitives telles quecelles esquissées plus haut. De plus leur relative simplicité d’extraction (notammentrelative au modèle construit pour les points d’intérêt) et leur caractère naturellementlocal unidirectionnel sont attractifs pour contrebalancer la complexité des futurs appa-riements. On vérifie que cela se traduit dans le choix des descripteurs.

Le troisième chapitre étudie en détail le modèle d’appariement retenu : le mariagestable. Nous montrons comment l’ajout de contraintes pour mieux adapter le schémade base aux nécessités de l’application, notamment maîtriser un certain équilibre lo-

Page 16: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4 INTRODUCTION

cal/global de la décision, conduit à un changement de représentation et à une refontecomplète de la famille algorithmique. Si au chapitre 2 notre contribution majeure est laconstruction d’un modèle de données, dans celui-ci au contraire l’innovation est surtoutdans le modèle de décision. Soulignons qu’un tel problème de contraintes additionnellesà la stabilité a été posé comme ouvert fin des années 80 et n’a pas été résolu à notreconnaissance.

Avec le quatrième chapitre, nous abordons la question de l’adaptation des outilsdéveloppés aux contingences de l’application. La séquence d’opérateurs qui constituentnotre système de mise en correspondance est passée en revue pour mettre en perspec-tive le but premier, c’est à dire la correspondance optimale des jonctions de lignes deniveau. Plusieurs opérateurs élémentaires outre l’extraction et le codage des jonctionssont déterminés comme le filtrage spatial des flots optiques, et leurs paramètres instan-ciés comme la compatibilité et la mesure de similarité. Nous réalisons deux applicationsconcrètes pour expérimenter l’efficacité de l’adaptation : le système de recalage et lesystème de détection d’obstacle par stéréovision. Nous montrons la qualité du systèmeen le confrontant à deux autres méthodes selon l’application : une méthode de vote etune programmation dynamique.

Le cinquième chapitre conclut toute cette étude par le traitement de l’applicationla plus aboutie à notre sens en matière de mouvement : son analyse. On recombine lesopérations précédentes avec d’autres plus classiques en un système conçu pour iden-tifier des formes mobiles d’après leur seul mouvement alors que lui-même est mobile.L’appariement des images dans le temps bénéficie à ce stade du processus de tous lescodages de résultats précédents. Cependant, la décision est reconditionnée à la fois parla nature des données et par le modèle des ambiguïtés à résoudre. Les flots optiques ob-tenus par l’appariement indiquent tous les déplacements de formes dans l’image. Pourreconnaître le mouvement de chacun, une méthode de classification (C-moyennes flouesavec contrainte spatiale sur ensemble de niveau) est donc appliquée. Et finalement, lesformes identifiées par leurs mouvements sont extraites : un procédé direct sur les en-sembles de niveau et un autre fondé sur les contours actifs dans le cas des "jonctionsde lignes de niveaux" sont testés.

Page 17: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5

Chapitre 1

Outils et techniques pour la mise en

correspondance

Dans ce chapitre nous nous attachons à mettre en place les gammes d’outils dontnous devrions avoir besoin.

La classification, très classique au demeurant, des techniques de mise en correspon-dance d’images ne se veut pas approfondie pas plus que l’amorce de bibliographie sur lesujet présentée ci-dessous. On pourra se référer à [1] ou [2] pour des descriptions et com-mentaires plus techniques et détaillés. Notre seul but ici est de remettre par avance enperspective de l’existant la technique que nous avons trouvée intéressante indépendam-ment (cf. chapitre 3), et notamment de rappeler qu’en amont on devra programmerune segmentation d’image et en aval un calcul des paramètres d’une transformationgéométrique.

De même la revue succinte des caractéristiques image, qui en découle, ne prétendque les lister avec leurs propriétés a priori dans le but de promouvoir notre propre choixde points d’intérêt particuliers qui sera justifié au chapitre 2, et de mettre ici encoreles principes de leur algorithmie d’extraction en perspective de l’existant. Pour plusd’algorithmie on pourra se référer à tout bon cours de Traîtement d’Image.

Enfin, s’agissant des modèles géométriques ou physiques que notre étude aurait pûnécessiter ils servent essentiellement à mieux asseoir les choix applicatifs hors la mise encorrespondance proprement dite : la géométrie fournit des contraintes sur les variablesextraites et leur nombre, la physique est le rappel de ce qui fonde la robustesse deslignes de niveau au changement de contraste.

1.1 Mise en correspondance : essai de classification

La mise en correspondance d’images est l’opération qui réalise l’appariement spatialentre éléments d’images basé sur leurs intensités. Les méthodes peuvent être divisées entrois principales approches selon l’acquisition. Dans la première, les images à mettre en

Page 18: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

6 1. Outils et techniques pour la mise en correspondance

correspondance sont prises par un (ou plusieurs) capteur(s) (identiques) avec des orien-tations différentes. La mosaïque et la stéréovision sont des exemples. Dans la deuxièmeapproche, il s’agit de mettre en correspondance des images prises par le capteur pen-dant une période de temps. Par exemple un système de surveillance ou l’analyse demouvement sont de cette catégorie. La dernière approche couvre l’analyse multi mo-dale d’ images prises par différents types de capteur. Ainsi, les formats de l’informationextraite sont différents. Les systèmes d’information géographique (GIS) illustrent cetteproblématique.

Les méthodes de mise en correspondance se séparent également en deux catégoriesselon la nature des éléments appariés : la catégorie dite pixellique à distinguer des tech-niques exploitant des caractéristiques image. Le premier type met en correspondancedes pixels d’image en exploitant directement leurs intensités. Il réfère généralementà la corrélation, comme l’algorithme de détection par similarité séquentielle (SSDA).L’avantage de ces méthodes est leur facilité d’implantation adaptée aux systèmes d’ana-lyse en temps réel. En revanche, l’efficacité en apparaît limitée à des transformationssimples comme translation ou petite rotation. Par ailleurs, elles sont inefficaces sur desimages représentant des objets dont la surface est plate et homogène ou composéesde formes répétitives. De plus, elles sont sensibles au bruit et aux changements decontraste. La méthode de corrélation croisée normalisée peut pallier ces inconvénients :elle est plus complexe et gourmande en temps de calculs.

Les méthodes du type transformation de Fourier adressent également le pixel. Lesintensités des pixels sont transposées puis globalement analysées dans le domaine fré-quentiel, comme dans la méthode de Fourier-Mellin, le filtrage du Cepstrum, ou lacorrélation de phase. Leurs avantages sont une rapidité relative au prix de codagesoptimisés, la robustesse au changement de contraste et l’indépendance par rapport aubruit. En combinant ces méthodes on peut détecter des transformations incluant larotation et le changement d’échelle. Au delà de la corrélation, plusieurs méthodes d’op-timisation peuvent s’appliquer directement au niveau des pixels. Un exemple désormaisclassique est la programmation dynamique par exemple ligne, bande ou bloc à ligne,bande ou bloc. Dans cette famille, une fonction de coût basée sur les disemblanceslocales entre images doit être d’abord établie. Puis, la méthode cherche à minimiser uncoût cumulé sur les lignes (ou bandes ou blocs). On rencontre souvent aussi des tech-niques de descente de gradient. Les méthodes exploitant la théorie de l’information sontune autre famille qui peut opérer à l’échelle du pixel. En mesurant statistiquement ladépendance de deux ensembles de données, on détermine la similarité. La plupart de cesdernières méthodes renvoient aux précédentes mais avec des distances plus statistiquescomme celle de Kulback. Le principal intérêt de ces méthodes pixelliques lorsqu’ellessont efficaces reste que l’étape de détection et extraction des caractéristiques imageavant mise en correspondance n’existe pas.

Dans la deuxième catégorie, une méthode mettra en correspondance des caractéris-tiques. Les caractéristiques sont des éléments, associations de pixels, qui transportent

Page 19: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

1.2. Caractéristiques adaptées 7

une information résumée. Elles sont ici détectées et extraites comme préalable à la miseen correspondance. On distingue trois types classiques de caractéristiques image : les ré-gions, les contours et les points. Ces caractéristiques présentent des propriétés stables etuniques qui diffèrent d’autres informations contenues dans l’image et surtout du bruit.Elles doivent être robustes et invariantes vis-à-vis des dégradations d’image et du chan-gement de contraste qui sont les perturbations usuelles de l’acquisition. La précision etla bonne détectabilité sont aussi des propriétés nécessaires puisqu’elles conditionnentdirectement la fiabilité des résultats obtenus. Ainsi, les caractéristiques doivent appa-raître régulièrement sur la structure principale des objets contenus dans l’image lesquelsdonneront accès à la transformation globale de celle-ci. La méthode d’extraction descaractéristiques désirées joue donc un rôle primordial. La mise en correspondance esten effet naturellement conditionnée par la similarité des caractéristiques et par l’inva-riance de leurs propriétés dans la relation spatiale.

La "mise en correspondance" exhibe de fait la correspondance optimale (en uncertain sens), par exemple la transformation géométrique qui respecte au mieux leursintensités pour une interpolation donnée. Soit I1 et I2 les intensités image.

I2(x, y) = g(I1(x′, y′)) avec (x′, y′) = f(x, y) (1.1)

Où f est la fonction de transformation spatiale des coordonnées dans le plan imageet g représente la fonction de changement d’éclairement ou de contraste.

Dans le cas général, les méthodes de mise en correspondance procédent en quatreétapes : l’extraction des caractéristiques (cf. 1.2), l’appariement des caractéristiques (cf.1.3, 1.4), les modèles de la transformation (cf. 1.5). La procédure à chaque étape estsupposée robuste au bruit notamment d’acquisition, aux déformations géométriques,ou aux variations de contraste.

1.2 Caractéristiques adaptées

La détection des caractéristiques image peut être effectuée manuellement par lesexperts d’une application donnée ou automatiquement selon des méthodes et des al-gorithmes à définir. Les caractéristiques, points d’intérêt, contours, régions, exprimentdes informations présentant déjà une certaine sémantique. Chacune doit se distinguersuffisamment des autres. En conséquence, ses propriétés doivent permettre de la dé-tecter facilement même dans des images dégradés. La définition précise des propriétésattachées à chaque type de caractéristique en accord avec un modèle donné passe parles descripteurs. Ces descripteurs (leurs valeurs) supportent la mesure de similarité né-cessaire à la procédure d’appariement. Pour une mise en correspondance efficace, lesdescripteurs doivent eux mêmes être invariants aux dégradations d’image, assez discri-minants pour distinguer entre les différentes réalisations, et stables pour ne pas êtreperturbés par le bruit.

Page 20: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

8 1. Outils et techniques pour la mise en correspondance

Les méthodes de détection et d’extraction des caractéristiques dans les images réellesdonc bruitées satisfont en général les critères suivant : précision, sensibilité, et fiabilité.Si les caractéristiques extraites sont imprécises, peu nombreuses ou incorrectes alorsl’appariement obtenu sera d’autant moins réussi. Idéalement leur définition obéit à desmodèles dépendants de la formation des images et qui exploitent donc des modèlesd’éclairement.

Modèle d’illumination locale

La plupart des modèles d’illumination locaux actuellement utilisés ont été présentésdans le domaine du graphique ou de la synthèse d’images par ordinateur par Phong[3], Blinn [4], et Cook [5]. Ils expriment les comportements de la lumière en trois com-posantes : ambiante, diffuse et spéculaire.

La composante ambiante suppose que la lumière indirecte frappe la surface égale-ment dans toutes directions de l’hémisphère au-dessus d’elle. L’ état de la surface dé-pend seulement de la réflexion ambiante qui renvoie toujours la même radiance quelleque soit l’orientation ou la position. En intègrant la radiance ambiante, nous obtenons :

∫ π

−π

∫ π/2

0

Lia cos(θ) sin(θ)dθdφ = Liaπ (1.2)

Lea = fraLiaπ (1.3)

La lumière captée par l’oeil Lea est le produit du BRDF1 ambiant fra, de la lumièreambiante Lai et de la constante π.

La composante diffuse correspond à la réflexion qui se produit quand la lumièrefrappe une surface diffusante idéale (surface Lambertienne). Cette surface sera illumi-née par la même intensité quelque soient les directions. Le modèle obéit à la loi deLambert, qui fondamentalement déclare que l’amplitude ne dépend que de l’angle θentre la direction de la source lumineuse

−→L et le vecteur normal de surface

−→N . Donc,

le phénomène est décrit par une fonction cos θi = (−→L · −→N ). Et si ωi est l’angle solide

vu de la surface photosensible dans la direction d’éclairement la lumière capturée parl’oeil Led est :

Led = frd

ωi

Lis cos θidθ (1.4)

Pour dernière composante, on modélise la réflexion spéculaire. En réalité, il y a dessurfaces qui réfléchissent la lumière plus selon certaines directions que selon les autres.Cette réflexion est associée à ce qui est habituellement perçu comme reflet. Pour unesurface parfaite de mirroir, la lumière venant de la direction (θi, φi) se reflètera dansla direction (θi, φi + π). Nous pouvons formuler ce comportement par une distribution

1Bidirectional Reflectance-Distribution Function, est défini par la fraction du rayonnement incidentvenant de la direction (θi, φi) qui est re-émise dans la direction(θr, φr).

Page 21: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

1.2. Caractéristiques adaptées 9

de Dirac δ(θi − θ)δ(φi − (φ+ π)), qui est différente de zéro seulement quand θ = θi etφ+ π = φi.

Lr(θr, φr) =< δθrδφr+π, Lis(θi, φi) >= Lis(θr, (φr + π)) où θi ∈ [−π, π] , φi ∈ [0, π/2]

(1.5)Dans le cas où la réflexion à la surface n’est pas parfaite, Phong a développé un

modèle très connu en constatant que la quantité de réflexion spéculaire vue par un oeildépend de l’angle θ entre

−→L et

−→N et de l’angle φ entre l’oeil

−→V et le rayon reflété

−→R .

Le modèle proposé est du type produit intérieur entre−→E et

−→R à une certaine puissance

n :

Lr(θr, φr) = Lis cosn φ (1.6)

Les = frsLis cosn φ (1.7)

Sachant que la lumière est additive on peut considérer le modèle d’illuminationcomme la somme des composantes ambiante, diffuse, et spéculaire. Soit le modèle debase d’illumination locale :

L = kaLia + Lis

(kd

ωi

cos θidθ + ks cosn φ

)(1.8)

Ce modèle est suffisant dans la plupart des cas qu’il s’agisse de fabriquer explici-tement un rendu ou de prouver des résultats concernant les images. Le modèle globalest difficile à construire sans définir plus précisément les comportements des matériauxintervenants et leurs positions. Sa portée est donc réduite, il correspond à la synthèseeffective d’images réalistes alors que notre but est de conforter des intuitions pour lechoix de caractéristiques image naturelles.

Choix des points d’intérêt

Nous retiendrons en fin de compte une variété particulière de points d’intérêt commecaractéristiques des systèmes que nous expérimenterons. Les raisons de ce choix serontdétaillées au chapitre 2. Elles découlent de la robustesse du contraste selon le modèleprécédent. Mais on peut également penser à la compression qu’ils réalisent (meilleurea priori que celle des contours ou régions à précision égale) et à la possibilité d’en pa-ramétrer la densité, deux propriétés intéressantes pour des systèmes temps réel. Nousclassifions leurs méthodes de détection en trois types : variation des contours, topologielocale d’image et auto-corrélation. Quelques exemples connus :

Kitchen et Rosenfeld [6] ont proposé un opérateur basé sur la variation du gradientle long des contours. Wang et Brady [7] ont développé un opérateur de détection pourle mouvement basé sur la courbure de surface. Beaudet [8] a proposé l’opérateur quidétermine le point d’intérêt comme correspondant au maximum local du déterminantdu Hessien. La méthode est invariante en rotation. Par contre, elle est très sensible aubruit et instable dans un changement d’échelle. Deriche [9] a amélioré l’opérateur de

Page 22: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

10 1. Outils et techniques pour la mise en correspondance

Beaudet quant à cette instabilité. Moravec [10] a introduit un opérateur fondé sur lavariation directionnelle moyenne de l’intensité dans une fenêtre. Le maximum sur lesquatre directions principales dans la fenêtre est pris pour valeur d’intérêt en chaquepoint. Un point d’intérêt est donc un minimum local de ces valeurs. La méthode estsensible au bruit lorsque l’intensité n’est pas normalisée.

Harris [11] a proposé une extension de Moravec. D’abord, la réponse par la méthodede Moravec est anisotrope en ce qu’il exploite seulement les directions à 45 degrés. Har-ris considère toutes les combinaisons possibles. Ensuite, la réponse de Moravec est trèssensible au bruit. Harris ajoute un filtrage Gaussien qui en même temps déterminel’échelle de détection. Enfin, la réponse de Moravec est également importante sur lescontours lorsqu’il retient le minimum des valeurs d’intérêt. Harris considère les valeursd’intérêt dans chaque direction.

Zheng et Wang [12] reprennent la méthode de Harris en simplifiant la mesure eten identifiant mieux le point responsable. Forstner [13] est également de type Harrismais introduit un seuil automatique issu de la statistique locale. Smith et Brady [14]dans la lignée de Girard [15] et Bonnin [16] ont aussi proposé un opérateur efficace decomparaison entre l’intensité du pixel principal et de ses voisins. On compte alors lenombre de pixels de même type pour détecter le point d’intérêt.

1.3 Méthodes de mise en correspondance

Les méthodes de mise en correspondance réalisent donc l’appariement entre ca-ractéristiques extraites de différentes images. C’est le coeur du processus de mise encorrespondance d’images. Pour cela, ces méthodes doivent être elles mêmes efficaces etrobustes indépendamment de l’invariance des caractéristiques. Distinguons à nouveaules deux catégories : pixel vs. caractéristique.

Méthodes basées sur les pixels

Nous avons rappelé en introduction que ces méthodes ne demandent pas la détec-tion préalable de caractéristiques. On y trouve essentiellement la corrélation et destechniques fréquentielles (globales).

Les méthodes dans la famille de la corrélation mesurent la similarité statistique desintensités entre images. Nous l’employons particulièrement pour la mise en correspon-dance de formes et la reconnaissance de formes. La corrélation est calculée en balayantlocalement l’image I par une fenêtre prédéfinie selon la forme T . Pour chaque trans-lation (u,v), la corrélation C mesure la similarité entre la forme et l’image. Si C estlocalement maximum, alors (u,v) est la translation optimale. La corrélation doit êtrenormalisé pour que la variance des intensités n’influence pas la mesure.

Page 23: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

1.3. Méthodes de mise en correspondance 11

C(u, v) =

∑x

∑y[T (x, y)−E(T )][I(x− u, y − v)− E(I)]

√∑x

∑y[T (x, y)− E(T )]2[I(x− u, y − v)− E(I)]2

(1.9)

On calcule le coefficient de corrélation pour mesurer linéairement la similarité, alorscomprise entre 1 et -1, et la comparaison des similarités est ainsi plus efficace. Notonsque même si la méthode de corrélation est rapide et facile à mettre en oeuvre, elleest malheureusement limitée à la translation avec faible rotation et homothétie. Parexemple la variation de taille peut être compensée dans des cas limités en gérant dessous fenêtres de corrélation, avec l’hypothèse d’une interpolation acceptable entre elles.Plus généralement si la fenêtre utilisée est volontiers rectangulaire, pour adapter laméthode à des transformations d’image plus complexes la corrélation peut utiliser desfenêtres multiformes. Bien évidemment cette extension rend la méthode plus complexeet il peut devenir moins coûteux de changer de distance en gardant une fenêtre simple,par exemple remplacer les moindres carrés de la corrélation initiale par la distancede Levenstein de la programmation dynamique. Widrow [17] a proposé une fenêtrede forme élastique qui permet à la forme de se distordre localement. Bien que lesméthodes dans cette famille soient simples et faciles à implanter en temps réel, ellerestent sensibles au bruit puisqu’on utilise directement les intensités. Si le bruit présentéest modélisable, ex. un bruit blanc (additif, stationnaire et indépendant), alors nouspouvons l’éliminer avant la corrélation. Rosenfeld [18] a proposé un filtre qui permetd’éliminer le bruit pendant la corrélation. Toutefois, plus la dégradation d’image estcomplexe, plus le temps de calcul augmente. Enfin Barnea [19] défend l’algorithme dedétection par similarités séquentielles (SSDA) qui calcule la similarité simplement pardifférence entre une forme donnée ou élaborée et l’image. En général, la méthode estplus rapide mais moins efficace.

E(u, v) =∑

x

y

|T (x, y)− T − I(x− u, y − v) + I| (1.10)

Les méthodes dans la famille de Fourier fonctionnent dans le domaine fréquentiel.Elles sont particulièrement robustes au bruit indépendant et à la variation de contraste.Elles peuvent s’adapter à la translation ou bien à la rotation par exemple en considérantles coordonnées polaires. Kuglin [20] a proposé la corrélation de phase qui est basée surles propriétés de la transformée de Fourier par rapport à la translation de la fonction. SiI1 diffère de I2 par une translation (u, v), alors I2(x, y) = I1(x−u, y−v). En appliquantla transformation de Fourier :

F2(ωx, ωy) = e−j(ωxu+ωyv)F1(ωx, ωy) (1.11)

Si deux images ont la même amplitude dans le plan de Fourier avec des phases diffé-rentes, elles sont translatées l’une de l’autre. Castro [21] a proposé l’extension de cetteméthode pour la rotation en combinant la corrélation de phase avec la transformationde Fourier-Mellin, ou avec le filtre de Cepstrum.

Page 24: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

12 1. Outils et techniques pour la mise en correspondance

La méthode dite de l’information mutuelle est inspirée de la théorie de l’infor-mation. Il s’agit de mesurer statistiquement l’interdépendance de deux ensembles dedonnées en utilisant globalement toutes les intensités d’image. La méthode est appro-priée particulièrement à la mise en correspondance entre données de différents formats.L’information mutuelle IM entre deux ensembles représentés par les variables X et Y ,est définie par :

IM(X, Y ) = H(Y )−H(Y |X) = H(X) +H(Y )−H(X, Y ) (1.12)

Où H(x) = −EX(log(P (X))) représente l’entropie de la variable X et P (X) estla distribution de probabilité de X. Considérant IM comme la fonction coût le butest de la minimiser, généralement par descente de gradient ou toute autre techniqued’optimisation du même type.

Méthodes basées sur les caractéristiques d’image

Dans cette catégorie, les caractéristiques image sont impérativement extraites etleurs descripteurs évalués, comme préalable à la mise en correspondance. Chaque ca-ractéristique possède des points de contrôle, ses références aux cordonnés spatiales dansl’image. Ils seront utilisés lors de l’estimation des paramètres de transformation géomé-trique. Ces points de contrôle peuvent être intrinsèques ou extrinsèques. Les points decontrôle intrinsèques sont les repères introduits manuellement dans la scène avant prised’image. Par contre, les points de contrôle extrinsèques sont les points de repère extraitsdes données de manière normalement automatique. Ces points de contrôle doivent êtreencore ici précis, stationnaires et tolérants puisqu’ils conditionnent complètement lamise en correspondance donc l’estimation des paramètres. En particulier le nombre depoints de contrôle nécessaires réfère directement à l’efficacité de correcte estimation.Enfin la correspondance des caractéristiques dépend de la similarité qui elle même im-plique différents types de relation.

Les méthodes exploitant la relation spatiale entre caractéristiques sont employéesnormalement lorsque les images à mettre en correspondance différent légèrement. Ainsi,la méthode ne fonctionne pas dans le cas où la dégradation entre images serait impor-tante. C’est le cas par exemple des techniques fondées sur la théorie des graphes ou surune technique de Clustering. Dans un graphe un chemin optimal peut être une relationoptimale de voisinages à partir desquels on calcule les paramètres de la transforma-tion. La correspondance est traduite directement en la transformation entre images quirésulte par exemple d’un vote. Pour une classification on calcule les paramètres destransformations entre tous les points de contrôle. Dans l’espace de ces paramètres, laméthode cherche à trouver le cluster majoritaire, celui où la redondance est maximale.Le centre de gravité du cluster est alors pris pour transformation globale moyenne entreimages.

Les méthodes basées sur l’invariance de descripteurs exploitent le codage de carac-téristiques. Il s’agit d’établir une relation entre des caractéristiques en employant leurs

Page 25: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

1.4. Quelques techniques d’optimisation 13

descripteurs. Si les descripteurs sont invariants en images dégradées, uniques (suffisam-ment différents entre eux), stables (robustes par rapport au bruit) et indépendants,alors ils peuvent être utilisés comme conditions sélectives pour maximiser le couplageentre images. On cherche donc les correspondances optimales caractéristique à carac-téristique puis un consensus sur un ensemble maximal de caractéristiques. C’est direque le choix des caractéristiques est primordial, ainsi que celui des méthodes de leurextraction.

1.4 Quelques techniques d’optimisation

Dans toute méthode de mise en correspondance (i.e. couplage maximal) on trouveune méthode d’optimisation. La programmation dynamique est une des méthodes d’op-timisation les plus utilisée dans ce cadre. Des techniques aussi anciennes que cette mé-thode comme la relaxation ou le recuit simulé ont été employées de manière marginale.Les algorithmes génétiques sont également rencontrés dans ce domaine. Une autre tech-nique plus récente issue de la théorie des graphes est dite "des coupures de graphes".Les méthodes d’optimisation sont des variantes de quelques schémas généraux et leplus souvent itératives.

Exemples de techniques de consensus

Davis et Rosenfeld [22] ont les premiers envisagé la relaxation en vision par ordina-teur. Le principe de la relaxation exposé dans [23] et [24] est le suivant :

A chaque pixel (ou primitive), un ensemble de correspondants possibles est associéainsi que des mesures de compatibilité (probabilités) entre ce pixel (resp. primitive) etses associés potentiels. De manière itérative, en tenant compte des pixels voisins (resp.primitives voisines), de leurs appariements et sous certaines contraintes, les valeurs deconfiance évoluent. Notons que l’algorithme de relaxation nécessite une initialisationprécise qui en diminue la portée. La multi résolution a été utilisée pour fiabiliser lesconditions initiales.

Holland a proposé quant à lui le principe des algorithmes génétiques c’est à direobéissant à la théorie de l’évolution de Darwin [25]. Il s’agit de faire évoluer une popu-lation d’individus à l’aide de trois opérateurs : la sélection, le croisement et la mutationtous trois à tirage aléatoire.

La méthode procède en trois étapes : production et évolution suivent l’initialisation.La population est d’abord créée (de manière aléatoire ou non) représentée par un en-semble d’individus dotés de "chromosomes". Lors des itérations suivantes la populationest modifiée par croisement i.e. échanges aléatoires entre chromosomes de deux indivi-dus différents et par mutation i.e. changement aléatoire d’une partie du chromosomed’un individu. L’étape de sélection sert à ne garder que les meilleurs individus au sensd’une fonction de décision définie en rapport avec l’application. L’étape de vérification

Page 26: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

14 1. Outils et techniques pour la mise en correspondance

teste si la population obtenue est optimale au sens des critères prédéfinis, auquel casle processus s’arrête.

Dans l’adaptation comme méthode de mise en correspondance, les individus peuventtraduire une carte de disparités. Le croisement et la mutation s’effectuent de manièrealéatoire et la fonction de sélection traduit le coût global de mise en correspondance.

Exemples de techniques sur graphe

La programmation dynamique est en réalité un paradigme proposé par Bellman etDreyfus [26]. Un grand nombre de travaux de recherche l’exploitent [27][28] notammentpour son caractère Markovien. En vision par ordinateur c’est l’algorithme de Viterbi[29] qui est rencontré le plus souvent. Il est largement exploité en reconnaissance dela parole et initialement dans le domaine du codage d’information. La programmationdynamique est par exemple appliquée entre deux séquences de pixels, lignes ou co-lonnes. Les coûts de correspondance individuelle entre pixels, fonction des intensités,sont représentés dans une matrice. Le but est alors d’y trouver un chemin optimal, parexemple qui minimise un coût cumulé dépendant des coûts individuels et d’une distancedu chemin à la diagonale de la matrice. L’algorithme se décompose en deux étapes :(1) le calcul des éléments de la matrice, (2) le calcul du chemin optimal dans la matrice.

La méthode dite de la "coupure minimale de graphe" par l’algorithme de flot maxi-mal a été introduite en vison par Roy et Cox [30] ; Elle a également une interpréta-tion Markovienne [31] et minimise une fonction coût attachée à un graphe explicite[32][33]. Son fonctionnement s’explique simplement par référence à l’étiquetage : onessaie d’assigner les étiquettes (label de régions, disparité pour stéréo ou déplacementpour mouvement) aux pixels de manière à ce qu’une énergie de transfert (fonction coût)soit minimale. Cette énergie équilibre deux termes : le premier tend à ce que le pixelse voit assigner une étiquette qui colle aux données observées selon une interprétationprédéfinie (ex. pour un déplacement envisagé les niveaux des pixels homologues sontégaux), et le second veut que le pixel acquière la même étiquette que ses voisins.

Le modèle suppose donc de tester la séparation optimale de portions d’image endeux ou plus sous-portions, au sens de l’écoulement d’un flot le plus fluide possibled’une sous portion à l’autre. Plus précisément, dans ce contexte de minimisation d’uneénergie, un graphe spécialisé G(V,E) sera bâti tel que l’énergie (coût) soit minimaleà la coupure de ce graphe. G est un graphe orienté composé de noeuds {V } et d’arcsorientés {E} , habituellement construit sur un voisinage, les noeuds correspondant alorsaux pixels de ce voisinage (voir figure 1.1) auxquels on adjoint deux noeuds spéciauxnommés source s et puit t . Ces deux noeuds sont le réservoir et le bassin d’étiquettes(label, disparité ou déplacement) à assigner aux pixel. On distingue donc deux typesd’arcs, les "n-links" et les "t-links". Les "n-links" relient des pixels voisins avec pourattribut le deuxième terme de la fonction coût, dérivant de l’interaction (resemblance)entre pixels. Les "t-links" relient les pixels aux bornes avec pour attribut le premier

Page 27: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

1.5. Modèles de transformation géométrique 15

(a) (b)

Fig. 1.1 – La coupure minimale de graphe.

terme de la fonction coût, dérivant des contraintes sur les données observées.

Par exemple dans une mise en correspondance d’images stéréo, pour chaque dispa-rité d (étiquette potentielle) la valeur des "t-links" est une différence entre les niveauxrespectifs du pixel p de l’image gauche et du pixel p + d de l’image droite, mesurantsi ce pixel peut recevoir la valeur d de la disparité, et la valeur des "n-links" est unefonction des disparités de ses voisins. On modifiera pas à pas les valeurs de disparitépour augmenter le flot selon un algorithme de type Ford-Fulkerson [34] ou sa versionavec parcours d’arbre en largeur d’abord (Edmonds-Karp). Par l’algorithme de flotmaximal, l’image est donc localement segmentée en deux parties : les pixels ayant ladisparité d et les autres qui ne l’ont pas. De cette manière en itérant sur toutes les va-leurs de disparité, on en déterminera la carte. Potentiellement bien adapté aux graphesbi-partie ce dernier procédé aurait pu être un concurrent valable de celui que nousavons finalement retenu (dit des marriages stables), mais nous n’avons pas vu com-ment ajouter des contraintes logiques d’appariement si ce n’est en les quantifiant viala fonction coût et alors la programmation dynamique, souvent déjà utilisée, sembleplus prometteuse. De plus la complexité est en O(V E2) [35] avant prise en compte desmultiples interactions possibles entre voisinages.

1.5 Modèles de transformation géométrique

Le but de la mise en correspondance est de retrouver la transformation géométriqueentre images. Le choix du modèle de la transformation dépend en général de l’appli-cation envisagée et notamment de l’information a priori sur la déformation d’image.L’estimation peut être de deux types : transformation globale ou transformation locale.

La technique globale cherche directement les correspondances entre points de contrôlerespectifs des images qui forment une seule transformation optimale. Puis les corres-

Page 28: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

16 1. Outils et techniques pour la mise en correspondance

pondances obtenues seront utilisées pour estimer les paramètres de la transformationtrès souvent par une méthode de moindres carrées. Le nombre des correspondances estnécessairement supérieur au nombre des paramètres de la transformation visée. Danscertain cas l’interpolation des correspondances aide à atteindre le nombre nécessaire.Soulignons que le cas d’une transformation globale (expression unique) est rare.

En effet, la technique de mise en correspondance globale ignore la distorsion localed’image. Dans certaines applications, par exemple plusieurs objets se déplaçant indé-pendamment dans l’image ou un objet non rigide, une transformation unique n’existepas et seule l’estimation d’une transformation locale a un sens. La collection des trans-formations locales d’image est calculée en supposant que celle-ci est composée de dif-férentes régions. Chaque région possède plusieurs caractéristiques dont les points decontrôle peuvent supporter l’estimation des paramètres. Les correspondances sont éta-blies localement entre régions respectives de différentes images.

La transformation géométrique est un modèle mathématique qui définit la relationspatiale en deux ou trois dimensions. Les quatre types de modèles suivent l’évolution descontraintes sur la mesure en géométrie : transformations euclidienne, affine, projective(perspective) et la transformation polynômiale (fonctionnelle) qui introduit des facteursdifférents ex. mécaniques au delà de la seule géométrie.

Transformation euclidienne

La transformation euclidienne est la plus simple. Elle couvre la translation, la ro-tation et la réflexion. Une propriété importante est donc qu’elle préserve la longueur(et l’angle) entre éléments d’objets. En conséquence, seule la position et l’orientationd’objets seront changées.

uv1

=

1 0 dx

0 1 dy

0 0 1

cosα − sinα 0sinα cosα 0

0 0 1

xy1

(1.13)

Pour garantir une transformation euclidienne, il faut ainsi résoudre selon les in-connues suivantes : l’angle de rotation α, les translations horizontale et verticale res-pectivement dx et dy. Notons que le produit des matrices est non commutatif, ainsila transformation constituée des mêmes éléments dans un ordre différent produira unrésultat différent.

R =

cosα − sinα 0sinα cosα 0

0 0 1

T =

1 0 dx

0 1 dy

0 0 1

Transformation affine

La transformation affine généralise la précédente. Elle combine la translation, larotation, le changement d’échelle non uniforme et le cisaillement. Dans le cas où le fac-teur d’échelle est uniforme on obtient une similitude. Les éléments d’objet transformés

Page 29: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

1.5. Modèles de transformation géométrique 17

ne conserveront pas leurs longueurs et leurs angles. Seul le rapport des longueurs desegment est invariant. La transformation est basée sur l’hypothèse que la distance entrela caméra et la scène est grande ou que la scène est plane. Par exemple, nous pouvonsl’employer pour la mise en correspondance des images aériennes où la caméra est loinde la terre et les objets sont plats.

uv1

=

1 0 dx

0 1 dy

0 0 1

ψx 0 00 ψy 00 0 1

cosα − sinα 0sinα cosα 0

0 0 1

xy1

(1.14)

Pour la transformation affine on résoudra selon les inconnues suivantes : la rotationα, le cisaillement Φ, les facteurs d’échelle en direction horizontale et verticale ψx et ψy.Notons que la projection de la transformation affine est non perspective, en conséquencela rotation autour de l’axe x produit le même effet qu’une variation d’échelle verticale.De même, la rotation autour de l’axe y produit le même résultat horizontalement.

S =

ψx 1 01 ψy 00 0 1

C =

1 Φ 01 1 00 0 1

Transformation perspective

La transformation projective est la forme la plus générale de transformation linéaire(polynôme du premier degré). Elle est composée de la transformation affine et d’uneprojection. La projection perspective est une sorte d’idéal en ce qu’elle suit la géomé-trie de perception de l’oeil humain. Cette transformation suppose que l’on considèreexplicitement la distance entre la caméra et la scène. Par exemple on prendra ce modèleen stéréovision.

uv1

=

a11 a12 a13

a21 a22 a23

a31 a32 a33

xy1

(1.15)

u =a11x+ a12y + a13

a31x+ a32y + a33et v =

a21x+ a22y + a23

a31x+ a32y + a33(1.16)

Transformation polynôme

Pour une mise en correspondance d’images sans information a priori la transforma-tion polynômiale est un choix possible. Elle est définie de la manière suivante.

u =m∑

i=0

i∑

j=0

aijxiyj−i et v =

m∑

i=0

i∑

j=0

bijxiyj−i (1.17)

aij et bij sont les coefficients. m est l’ordre du polynôme qui est défini fonction dela précision et de la rapidité exigées du système. En général, un polynôme du troisièmedegré est considéré comme un maximum de complexité.

Page 30: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

18 1. Outils et techniques pour la mise en correspondance

Autres types de transformation

Au delà de la transformation polynôme certaines applications requièrent d’autrestypes de modèle, par exemple basé sur la fonction radiale ou sur une notion d’élasticité.L’inspiration est alors plus mécanique et ces méthodes permettent de gérer en mêmetemps la déformation globale et locale d’image. Par exemple la fonction radiale est unesuperposition de modèles linéaire et Log-polynômial, la fonction couramment utiliséeétant la fonction dite de "couche mince" (thin-plate).

u = a0 + a1x+ a2y +N∑

i=1

cig(x, xi) et v = b0 + b1x+ b2y +N∑

i=1

cig(y, yi) (1.18)

où g(x, xi) = ||x−xi||2ln(||x−xi||). Nous supposons que l’image se comporte commeune plaque très fine qui est fixée en des points de contrôle (xi, yi). En minimisant lecoût représenté par cette fonction, le modèle est déformé pour approcher au mieux lastructure d’image. L’estimation globale des paramètres de la transformation d’imageest réalisée en même temps que la transformation comme dans toute technique de mo-dèle déformable.

Pour le modèle élastique la transformation est aussi effectuée globalement. Unepartie de la fonction renvoie à la déformation locale d’image en supposant que cettedernière est composée d’un ensemble de régions déformables, chacune régie par sa forceinterne qui représente sa rigidité et sa régularité. L’autre partie consiste en la forceexterne qui représente l’élasticité d’image et lie l’ensemble des régions. En minimisantla fonction de coût, les paramètres de la déformation d’image sont estimés. Ainsi l’es-timation des paramètres et la transformation sont effectuées en même temps commeprécédemment. Notons que même si ces méthodes sont efficaces pour le compromis lo-cal/global de la transformation elles sont gourmandes en temps calcul du fait de leurscomplexités, sauf à en avoir une implantation analogique (laquelle peut ramener à desmodèles mécaniques ou biologiques (ex. neuronal)).

1.6 Conclusion

Toute erreur de mise en correspondance est traduite implicitement dans l’erreursur la transformation d’image. Mais cette erreur est aussi fonction en général de laprocédure utilisée. Il existe donc classiquement deux sources d’incertitude principales :(1) les caractéristiques extraites des images ne sont pas fiables, (2) la méthode demise en correspondance n’est pas assez élaborée ou son modèle est mal adaptable.Les caractéristiques non fiables sont normalement provoquées par la distorsion d’imagemême ou une méthode d’extraction imprécise. L’erreur peut être statique/dynamique,interne/externe ou géométrique/photométrique. Si elle est statique, les filtres peuventdans ce cas l’éliminer. Au contraire, c’est un peu plus difficile si elle est dynamique. Ladistorsion interne se produit à l’intérieur même du capteur où l’on ne peut rien faire saufen changer. En revanche, pour la distorsion externe d’image qui résulte de l’interaction

Page 31: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

1.6. Conclusion 19

avec l’environnement l’erreur peut être corrigée ou simplement compensée (au nomd’un modèle) comme par exemple le changement intempestif de contraste l’est parchoix judicieux de caractéristiques robustes, ce qui renvoie souvent à la photométrie.Quant au choix du procédé d’appariement nous l’avons ressenti comme celui d’unereprésentation analogique exploitable plus encore que d’un modèle et bien avant celuid’un algorithme.

Après ces rappels succincts nous allons aborder dans l’ordre et en détails notresegmentation, notre technique d’appariement puis leurs applications.

Page 32: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

20 1. Outils et techniques pour la mise en correspondance

Page 33: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

21

Chapitre 2

Jonctions de lignes de niveaux

2.1 Introduction

Dans ce chapitre, nous expliquons comment extraire des primitives fiables et ro-bustes à partir d’une image. Elles seront utilisées par la suite dans le processus de miseen correspondance. La nature des primitives extraites joue en effet un rôle significatifdans le choix des stratégies de mise en correspondance. Insuffisament robustes, ellesnécessitent des processus de mise en correspondance plus complexes afin de compen-ser leur sensibilité envers diverses perturbations pouvant affecter l’image. L’une desplus problématiques d’entre elles en analyse d’images est le changement de contraste.Malheureusement, la plupart des primitives classiques actuellement utilisées, baséessur des points particuliers, des contours, ou des régions, sont sensibles aux variationsde contraste. Cette sensibilité provient de deux principales causes : (1) les primitivesdépendent directement des valeurs des niveaux de gris et donc de leur variation, (2)la méthode d’extraction elle-même n’est pas réellement indépendante des variations decontraste. Nous nous sommes donc tourné vers des primitives définies en morphologiemathématique - les lignes de niveaux - dont la robustesse vis-à-vis des variations deluminosité a été mainte fois prouvée par plusieurs auteurs [36], [37], [38] et vérifiée ex-périmentalement en utilisant des images complexes issues tant de scènes d’intérieur qued’extérieur [39], [40] [41]. A partir des lignes de niveaux, nous avons construit une primi-tive fiable appropriée à la mise en correspondance. Elle est appelée "jonction de lignesde niveaux" et est basée sur la topologie locale de l’image. Nous avons proposé uneméthode d’extraction de ces primitives en utilisant ce que nous définirons comme "flotde lignes de niveaux". Pour renforçer sa robustesse par rapport au bruit, un détecteurde variations d’intensités associé à un modèle appelé "EFLAM" est proposé. Inspiré dudétecteur de Girard [15] qui a été retravaillé plus tard par Bonnin [16] puis utilisé dansla méthode SUSAN [14], il est adapté pour détecter des variations d’intensité autoursdes jonctions et permet de ce fait de sélectionner les jonctions potentiellement fiables.

Le chapitre est organisé comme suit : dans un premier temps, nous justifieronsl’emploi des lignes de niveaux puis nous définirons les flots de lignes de niveau ainsi queles jonctions et leurs propriétés. Nous détaillons ensuite le modèle EFLAM permettant

Page 34: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

22 2. Jonctions de lignes de niveaux

une sélection des jonctions les plus significatives. Puis, l’algorithme d’extraction desjonctions proprement dite sera décrit. Enfin, les résultats obtenus seront présentés etdiscutés puis comparés avec une méthode classique de détection de point d’intérêt, àsavoir la méthode de Harris.

2.2 Représentation topologique d’une image

2.2.1 Ensemble des niveaux

Pour analyser l’image, il est nécessaire de comprendre sa structure. En traitementdu signal, pour analyser le signal, nous le décomposons en des ensembles de signauxélémentaires - le cosinus et le sinus (de différentes fréquences) - que nous appelons lesobjets basiques du signal. Le signal peut être alors reconstruit en réalisant une opé-ration d’addition de ces objets, appelée l’opération basique. Lorsque nous connaissonsles propriétés des objets et des opérations basiques, nous pouvons analyser les carac-téristiques du signal. Cette approche porte le nom d’analyse de Fourier. De la mêmefaçon, nous pouvons envisager d’autres types d’analyses telles que l’analyse de Gaboret l’analyse par Ondelettes où les objets basiques sont des fenêtres de cosinus et desinus ou des ondelettes respectivement.

Ces méthodes sont également employées en analyse d’image. Cependant, commeelle sont basées sur une opération d’addition, elles ne peuvent pas s’adapter pour éviterle problème causé par les changements de contraste. En effet, si l’image I est construiteà partir des images I1 et I2 en utilisant l’opérateur d’addition (I = I1 + I2), cela neveut pas dire que c(I) = c(I1) + c(I2), où c est une fonction du contraste non linéaire.Par ailleurs, les objets classiques de traitement d’images comme contours ou régions,ne sont pas non plus adaptées. En effet, si les contours utilisés sont détectés par laméthode du gradient, alors ▽c(I) = c′(I)▽I. Cela veut dire que le gradient d’image ▽Iest biaisé par le terme c′(I) qui lui-même varie en fonction du changement de contrastec.

Afin de tenir compte des changements de contraste, nous choisissons une décompo-siton de l’image par ensembles des niveaux définie ci-dessous.

Si I(p) est l’intensité de l’image au point p. L’ensemble de niveaux Nλ peut êtredéfini par l’une des deux façons suivantes : (1) l’ensemble de niveaux supérieurs N s

λ estl’ensemble des points dont l’intensité est égale ou supérieure au niveau λ. (2) l’ensemblede niveaux inférieurs N i

λ est l’ensemble des points dont l’intensité est égale ou inférieureau niveau λ.

Page 35: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.2. Représentation topologique d’une image 23

Définition 2 Ensembles de niveaux :

N sλ = {p�I(p) ≥ λ} ou N i

λ = {p�I(p) ≤ λ} (2.1)

De l’équation 2.2 découle la propriété d’inclusion des ensembles de niveaux.

N sλi−1⊆ N s

λioù λi ≥ λi−1 et N s

λi⊆ N s

λi−1où λi ≥ λi−1 (2.2)

Les ensembles de niveaux préservent toutes les informations nécessaires à la recons-truction de l’image à travers les opérations d’occlusion O ou de transparence T. Lareconstruction de l’image à partir des ensembles de niveaux peut se faire par ces deuxopérations de la manière suivante :

I(p) = O[I(p)] = sup {λ�p ∈ N sλ}

ou = T[I(p)] = inf {λ�p ∈ N iλ}

(2.3)

Où I(p) est l’image obtenue après la décomposition.

La décomposition et la reconstruction d’image décrite ci-dessus reposent sur lespropriétés de construction d’une image naturelle. Théoriquement, l’image naturelle estobtenue par la projection des objets, situés dans une scène, sur un plan prenant encompte l’interaction entre objets par les opérations d’occlusion et de transparence. Parexemple, la figure 2.2.1(a) représente une scène S composée d’un cube et d’un objetO (sphère). Dans un premier temps, si nous ne considérons que le modèle ambiantde luminosité, la lumière indirecte influe de manière identique sur toute la surface del’objet, alors l’image obtenue est I = IoOIs, où Io = Kao×Liao et Is = Kas×Lias sontles intensités de l’objet et de la scène dans l’image, l’équation 1.3. Dans cette configura-tion, il n’y a pas de changement de contraste car Io et Is sont constantes et uniformes.Autrement dit, la réflexion de la surface ne dépend que des propriétés du matériau.La figure 2.2.1(b) montre la même scène avec une source lumineuse. Dans cette situa-tion, l’intensité dans l’image dépend à la fois de la luminosité de la source réfléchiepar la surface. La quantité de lumière dépend de l’orientation de la surface par rap-port à la source lumineuse, et des propriétés réfléchissantes du matériau. Par ailleurs,selon l’orientation de l’objet, l’ombre sera produite dans la scène en direction inverse àla source lumineuse. De la même manière que pour le cas précédent, l’image peut êtreconstruite par les opérations d’occlusion et de transparence et l’intensité de l’objet Io etde l’ombre It sont définies selon des modèles d’illuminations [3][4][5][42], l’équation 1.8.Par conséquent, l’intensité de la scène restera constante Is = kas. Dans cette configura-tion, les variations de la luminosité de la source ou son mouvement ou le mouvement dupoint d’observation provoquera un changement du contraste dans l’image. Notons quedans une étude sur la psychologie pour la perception de Kanizsa [43][44][45], l’ombrese comporte, en traitement d’images, comme la transparence. L’équation 2.4 montrel’image I construite par l’opération d’occlusion et de transparence.

I = (IoOIs)TIt (2.4)

Page 36: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

24 2. Jonctions de lignes de niveaux

(a) (b)

(c) (d)

Fig. 2.1 – Construction d’une image naturelle (a) Un objet dans une scène, (b) l’imagecorrespondante (c) Un objet dans une scène avec une source lumineuse (d) l’imagecorrespondante.

L’analyse d’images est un processus inverse à la construction d’image. En effet,à partir d’une image, nous essayons de retrouver les objets dans la scène. Pour cela,nous pouvons utiliser la décomposition de l’image en des ensembles de niveaux. Sansinformations a priori sur les objets dans la scène, ainsi que sur les opérations employées,nous choisissons une des décompositions suivantes : (1) l’image est décomposée en desensembles de niveaux supérieurs et reconstruite par l’opération d’occlusion. (2) l’imageest décomposée en des ensembles de niveaux inférieurs et reconstruite par l’opérationde transparence. La figure 2.2.1 montre un exemple de décomposition en variant leniveau λ.

2.2.2 Lignes de niveaux

La frontière d’un ensemble de niveaux est appelée "ligne de niveaux" Lλ. Au niveaupixelique, cette ligne n’existe pas puisqu’elle se trouve entre les pixels. Une propriétéimportante des lignes de niveaux - découlant de la propriété d’inclusion des ensemblesde niveaux - est qu’elle ne peuvent jamais se croiser. Deux lignes de niveaux, associées àdeux ensembles de niveaux différents, peuvent se juxtaposer sans jamais se croiser. C’estcette propriété essentielle qui sera utilisée en premier lieu dans la méthode d’extractiondes lignes et des jonctions que nous proposons. Nous définissons les lignes de niveauxsuperposées comme le flot de lignes de niveaux Fp,u,v.

Définition 3 Fp,u,v est un flot défini localement au point p dans l’image. v et u sont leslignes de niveaux supérieurs et inférieurs du flot respectivement : Fp,u,v = {Lλ�λ ∈]u, v]}

Page 37: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.2. Représentation topologique d’une image 25

(a) (b) (c)

(d) (e) (f)

Fig. 2.2 – Décomposition d’image en des ensembles de niveaux : (a) l’image origine,(b)-(f) les ensembles de niveaux avec différents λ.

Définition 4 Le nombre de lignes de niveaux associé à un flot est appelé "quantité deflot" : E = v − u.

Notons que des flots peuvent se séparer ou se rejoindre à n’importe quel endroit del’image.

2.2.3 Jonctions de lignes de niveaux

Les lignes de niveaux peuvent être extraites de différentes manières : [46] proposeune extraction puis une approximation par des segments de droite, [47] a caractériséefficacement les lignes de niveaux par des contours fermés. Ces approches ont certainsinconvénients comme leur sensibilité vis-à-vis des transformations géométriques com-plexes pouvant affecter l’image. Afin de garantir une invariance des primitives extraitespar rapport à ces transformations et au mouvement dans un cas plus général - car notreapplication finale porte sur l’analyse du mouvement - nous avons choisi d’extraire despoints d’intérêt à partir des lignes de niveaux. Ces points sont appelés : jonction delignes de niveaux.

Nous avons expliqué précédemment comment l’image pouvait être construite à par-tir d’une scène réelle à l’aide des opérations d’occlusion et de transparence. Montronspar une figure comment ces opérations agissent sur les jonctions. Dans la figure 2.2.3(a)les jonctions sont localisées à l’endroit où les contours des deux objets se croisent. Dansl’image, elles seront situées à l’endroit, entre quatre pixels quelconque, où au moins deuxlignes de niveaux se séparent ou se joignent. Ces jonctions seront appelées "jonctionsréelles". En variant la luminosité, les jonctions des lignes de niveaux peuvent se produire

Page 38: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

26 2. Jonctions de lignes de niveaux

(a) (b)

(c) (d)

Fig. 2.3 – Jonctions produites par les opérations d’occlusion et de transparence : (a)les lignes de niveau en deux dimensions, (b) les lignes de niveau en trois dimensions etleurs jonctions, (c) zoom sur une jonction virtuelle (d) zoom sur une jonction réelle.

à la surface de l’objet. Ces jonctions seront appelées "jonctions virtuelles". Contraire-ment aux jonctions réelles, les jonctions virtuelles peuvent apparaître, ou disparaîtred’une image à l’autre en fonction des changements de contraste. Nous choisissons doncles jonctions réelles des lignes de niveaux comme points d’intérêt dans l’image. Il est ànoter que puisque les jonctions sont dérivées des lignes de niveaux, alors l’image peutêtre reconstruite à partir de ces jonctions.

Le problème est à présent de détecter les jonctions réelles parmi toutes les jonctionsde l’image. La méthode la plus simple est sans doute de considérer le modèle physique del’image. Si nous partons de l’hypothèse qu’une réflexion sur différents types de surfacesest plus importante qu’une réflexion sur le même type mais avec différentes variationsde luminosité alors les jonctions réelles produiront plus de contraste autours d’ellesque les jonctions virtuelles. Cela veut dire que le nombre de lignes de niveaux, c.a.d laquantité du flot, aux jonctions réelles sera plus grand que celui des jonctions virtuelles.A partir de cette hypothèse, la méthode d’extraction des jonctions peut débuter parle calcul de la quantité du flot dans toute l’image. Les jonctions (réelles) peuvent doncêtre extraites simplement à l’endroit où cette quantité est importante. Ceci est le pointde départ d’une approche efficace d’extraction des jonctions que nous proposons. Cetteapproche - dite EFLAM - est décrite dans la section suivante.

Page 39: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.3. Le Modèle EFLAM 27

2.3 Le Modèle EFLAM

Nous présentons dans cette section un modèle pour l’extraction des jonctions delignes de niveaux, basé sur la détection de la variation d’intensité et sur l’extractiondes flots. L’approche la plus intuitive mais la moins robuste consiste à sélectionnerles jonctions associées à une quantité de flot importante. Cependant, le seuil optimalpouvant être utilisé pour distinguer entre jonctions réelles et virtuelles s’avère difficile àétablir puisqu’il dépend directement des intensités de l’image et donc des variations decontraste. De plus, le bruit ou les dégradations de l’image perturbent très facilementl’extraction de ces jonctions. L’objectif est donc d’établir une méthode qui à la foisdétermine correctement les jonctions réelles et résiste aux perturbations. Pour cela,nous proposons le modèle EFLAM pour détecter les jonctions fiables. Ce modèle estdéfini en supposant qu’à un moment donné les jonctions réelles des lignes de niveaux secomportent comme des points d’intérêt dont la variation d’intensité est plus importanteque celle des contours ou des régions.

La mesure de la variation d’intensité dans l’image a été étudiée par plusieurs auteurs.Moravec [10] calcule la variation localement dans une fenêtre en déterminant le change-ment de l’intensité en moyenne entre les voisins dans différentes directions. Si la fenêtrese localise sur une zone plate dont l’intensité est plutôt constante, alors la variation estpetite. Si la fenêtre se situe aux contours, la variation d’intensité sera grande dans ladirection perpendiculaire au contour. Enfin, si elle se trouve sur un coin de l’objet, lavariation sera grande dans la plupart des directions. Dans ce cas, la variation autourdu point d’intérêt sera maximale localement comparée aux deux premiers cas. Harris[11] a développé un opérateur qui améliore les trois défauts principaux de la méthodede Moravec : (1) le calcul de la variation se fait dans plus de directions, (2) un masquecirculaire gaussien pondéré est utilisé pour réduire le bruit, et (3) une fonction de déci-sion sur le point d’intérêt est établie. Malgré la simplicité et l’efficacité de la méthode,nous ne pouvons pas l’adapter pour notre modèle de détection de jonctions car : (1) lesréponses dépendent considérablement des valeurs des intensités dans l’image, (2) la lo-calisation du point d’intérêt est biaisée lorsqu’on utilise le filtre gaussien comme lissage.

Nous nous sommes donc tournés vers des approches différentes, comme celle deGirard [15], de Bonnin et al. . [16], ou celle de SUSAN (Smith et Brady [14]) où lavariation est calculée en mesurant la similarité des intensités sur des voisinages. L’utili-sation d’un seuil sert simplement comme limite à la variation de l’intensité, ou au tauxde similarité, et comme critère pour éjecter le bruit, ce qui ne nécessite pas de filtre delissage. Nous adapterons cette technique à notre modèle d’extraction des jonctions.

Pour détecter des points d’intérêt par la méthode SUSAN, la variation d’intensitéautours de chaque pixel k est déterminée en mesurant la similarité entre l’intensitédu pixel considéré et celle de ses voisins, localisés dans un masque circulaire. Nk estle nombre des pixels, dont la similarité - exprimée par la différence des niveaux- estinférieure à un seuil S.

Page 40: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

28 2. Jonctions de lignes de niveaux

Nk =∑

ki∈w Cki

Cki =

{1 si |I(k)− I(ki)| ≤ S0 sinon

(2.5)

La région couverte par ces pixels est appelée USAN, Univalue Segment AssimilatingNucleus. Ainsi, si Nk est inférieur à Nm

2, alors le pixel k est potentiellement considéré

comme un point d’intérêt dont la variation de l’intensité Vk est définie par :

Vk =

{ Nm

2−Nk si Nk <

Nm

2

0 sinon(2.6)

Où Nm est le nombre des pixels dans le masque.

C’est à partir de ce principe que le modèle EFLAM sera établi. Supposons que lajonction se situe à un point p entre quatre pixels quelconques pi dans l’image. Fp,u,v estle flot maximal passant à travers cette jonction avec la quantité E . Si nous considéronsla jonction sur des voisinages plus larges, la jonction au point p sera entourée par desrégions homogènes. Comme pour SUSAN, ces régions seront donc déterminées, à partirdes quatre pixels p, en mesurant leurs similarités :

Npi=∑

pj∈w Cpj , où Cpj =

{1 si |I(pi)− I(pj)| ≤ E

2

0 sinon(2.7)

Notons que le seuil utilisé est E2. Où E est le nombre maximal des lignes de niveaux

au point p. La région Ri couverte par des pixels Ci est appelée le FLAM, pour FlowLaminating Average Milieu

Rpi= [ pj ∈ pi�Cpj = 1 ] (2.8)

La figure 2.4 montre les régions FLAM associées à une jonction de type Y.

Puisque la jonction est considérée ainsi à partir d’un voisinage, il est alors nécessairede recalculer le flot passant à travers la jonction en fonction de ses voisins. Pour cela,nous déterminons d’abord l’intensité moyenne pour chaque régions Ri :

Mpi=

∑[ pj∈pi�Cpj=1 ] I(pj)

Npi

(2.9)

La figure 2.5 montre le schéma simplifié des trois types de jonction existantes dansl’image : la jonction de type X, de type T (ou de type Y ), et de type L. La figure2.5 (a) présente une jonction de type X composée de trois flots dont FL

p,M+−p

,M++p

,

FMp,M+

p ,M+−p

, et FRp,M−−

p ,M−+p

. Le flot maximal en moyenne passant au point p est donc

F ∗p = FL

p ∪FMp ∪FR

p . Notons queM++p ≥M+−

p ≥Mp ≥M−+p ≥M−−

p où les intensitésmoyennes maximale et minimale sontM++

p et M−−p respectivement.

Page 41: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.3. Le Modèle EFLAM 29

Fig. 2.4 – Une région FLAM associée à une jonction de type Y.

Ainsi, pour établir le modèle, nous commençons par retrouver le flot maximal endéterminant l’intensité moyenne M++

p et M−−p . La direction du flot F ∗

p est alors défi-nie comme un flot entrant vers le point de jonction. Par conséquent, la relation d’ordreentre les intensités autour de la jonction associée à ce flot maximal pourra être détermi-née. Nous déduirons alors l’intensité moyenne M+−

p et M−+p . Ainsi, les flots FL

p , FMp ,

et FLp pourront être définis comme les flots sortant du point de jonction.

De la même façon, nous pouvons modéliser la jonction de type T (ou Y ), composéepar deux flots, voir figure 2.5(b).

Concernant le coin L, nous considérons cela comme une jonction lorsqu’il porte unevariation importante comparée à celle des contours et des régions. La variation serviradonc à distinguer des jonctions de type L et renforcera le potentiel des jonctions detype T et X.

La variation d’intensité autour des jonctions sera définie en utilisant les variationsdes régions concernées. La variation de chaque région Vpi

est définie de la manièresuivante :

VRi=

{ Nm

2−Npi

si Nm

16≤ Npi

< Nm

2

0 sinon(2.10)

Cette variation est calculée comme dans la méthode SUSAN avec une modificationsur le critère du seuil Npi

. Ce seuil doit être contraint, supérieur ou égal à Nm

16. Il ex-

prime la plus petite taille de région qui est acceptable comme un coin (la jonction detype L). Cela correspond à une région ayant une ouverture de surface autour de 22.5

Page 42: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

30 2. Jonctions de lignes de niveaux

(a) (b) (c)

Fig. 2.5 – Schéma simplifié des jonctions suivant leur type : (a) jonction X, (b) jonctionT ( ou Y ), et (c) jonction L (coin).

degrés dans le cycle, ou encore couverte environ par 2 pixels sur 36. Si Npiest plus

petite que ce seuil, on considère alors cela comme un bruit.

Nous pouvons donc définir la variation de la jonction Vp suivante :

Vp =

{ ∑i∈[1,4] V2

Ri si M++p −M−−

p ≥ E0 sinon

(2.11)

La variation est alors égale à la somme des variations de chaque région au carré sil’écart entre intensités maximale et minimale est supérieur ou égal à E , sinon la va-riation est nulle. Comme précédemment, la valeur de E indique le nombre maximal delignes de niveaux passant à travers la jonction (en moyenne sur ses voisinages). Partantde la contrainte sur E dans l’équation 2.11 et 2.7, la variation acceptable à l’intérieurdes régions doit être supérieure ou égale à E/2.

La figure 2.6 est un exemple de jonction de type Y. Elle montre les régions FLAMRi qui correspondent à chaque pixel pi autours de la jonction au point p

2.4 Méthode d’extraction des jonctions

Dans cette section, nous présentons la méthode d’extraction des jonctions de lignesde niveaux basée sur le modèle EFLAM. La méthode utilise un automate de suivi quipoursuit les flots des lignes de niveaux dans l’image. Le processus est composé de quatreétapes.

Première étape : Calcul des variations des jonctions par le modèle EFLAM. La mé-thode (équation 2.11) est appliquée sur tous les points, entre quatre pixels quelconques,dans l’image. Les jonctions potentielles seront formées par les variations strictement po-sitives. Le degré de variation donne une indication sur la robustesse de la jonction. No-tons que dans la méthode classique d’extraction des points d’intérêt, le point potentielest déterminé localement par la suppression des variations non maximales. Dans notre

Page 43: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.4. Méthode d’extraction des jonctions 31

(a) (b)

(c) (d)

Fig. 2.6 – La région FLAM associée aux quatre pixels autour d’une jonction et lavariation de l’intensité. (a) la variation au pixel p1, Vp1, (b) la variation au pixel p2,Vp2, (c) la variation au pixel p3, Vp3 , (d) la variation au pixel p4, Vp4 .

méthode, ces suppressions seront basées sur la fiabilité des jonctions, qui ne dépendpas seulement de la variation, mais aussi des caractéristiques des flots, ce qui joueraun rôle très important dans la robustesse. En effet, nous donnons ainsi une chance auxjonctions ayant une petite variation. Le flot maximal doit être supérieur ou égal à E .

Deuxième étape : A chaque jonction potentielle, les intensités moyennes des régionssont déterminées, ainsi que les flots formés par la jonction. Par conséquent, le typede jonction sera déduit automatiquement. Notons que la jonction de type X peut êtreréduite à une jonction de type Y, et la jonction de type Y à une jonction de type L, parla suppression du plus petit flot, en fusionnant les régions des deux côtés. Nous pouvonsremarquer qu’en général la jonction de type X est rare et très sensible au bruit, nousnous intéressons alors seulement aux jonctions de type L et Y. Celles qui correspondentau type X doivent être réduites automatiquement au type Y. En utilisant la méthodeprésentée dans la section précédente, nous pouvons alors déterminer localement les flotsconcernés correspondants à chaque type de jonction.

L’automate sera utilisé pour traquer ces flots. Au point de départ de chaque flot, oncherche un point destinataire, un parmi quatre points possibles (quatre connexité). En

Page 44: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

32 2. Jonctions de lignes de niveaux

chaque point destinataire nous connaissons le flot maximal, l’automate choisira doncle point destinataire conforme aux trois critères suivants :

(1) Le flot maximal au point de départ (le flot dépisté) doit être un sous-ensemblede celui du point destinataire. Cette condition permet à l’automate de suivre le flotdépisté en fonction de la topologie d’image. La figure 2.7 (a) montre un exemple pourtraquer les flots à travers des jonctions dans l’image. La configuration des trois flots estla suivante : F1 = {Lλ�λ ∈]5, 10]} ,F2 = {Lλ�λ ∈]10, 20]} et F3 = {Lλ�λ ∈]5, 20]}.Si à présent l’automate est situé au flot F1, il existe alors deux directions possiblespour poursuivre F1 : soit en direction de F2, ou en direction de F3. Nous constatonsque F1 ⊂ F3 et F1 * F2, l’automate traquera alors le flot F1 en direction de F3, présentédans la figure 2.7(b).

(a) (b)

Fig. 2.7 – Le flot de lignes de niveau traqués à partir d’une jonction.

(2) Le flot dépisté par l’automate ne doit pas retourner vers le point départ p. Cecritère oblige l’automate à ne pas tourner en boucle infinie.

(3) Le flot dépisté doit être le plus rectiligne possible. Cette condition permet plustard au processus d’approximer le flot dépisté par un segment de droite. La méthodeclassique pour vérifier cette condition est la suivante : en supposant que la courbe liantle point départ et le dernier point dépisté peut être approximée par une ligne droite,les distances perpendiculaires entre chaque point dépisté et la ligne sont calculées enemployant l’équation 2.12. Si le maximum de ces distances est inférieur à un seuil, nousen déduisons alors que le flot est rectiligne. Le seuil optimal utilisé est

√2 [48] , qui

représente la précision de l’approximation des flots par des segments de droite.

D =|Ax+By + C|√

A2 +B2(2.12)

Notons que par cette condition, l’algorithme a besoins deux seuils supplémentaires :la longueur minimale et maximale du segment. La longueur minimale est le nombrede pas minimum acceptable du flot dépisté. Cela indique le plus petit nombre de pasqui peut être représenté par un segment de droite. Nous utilisons un pas = 6 dans

Page 45: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.5. La primitive "jonction de lignes de niveaux" 33

notre algorithme. Pour la longueur maximale, le seuil utilisé dépendra des applicationsenvisagées.

Le processus de dépistage des flots s’arrête lorsque l’une des conditions n’est plusvérifiée.

Troisième étape : Coder la jonction dépistée à l’étape précédente sous la forme d’uneprimitive. Ses descripteurs seront discutés en détail dans la section suivante. Nous dé-finirons ainsi la fiabilité d’une primitive.

Quatrième étape : Appliquer le filtre de suppression non maximale en utilisant lesfiabilités de primitive.

2.5 La primitive "jonction de lignes de niveaux"

Nous présentons dans cette section comment coder les jonctions sous forme deprimitives image. La primitive est une manière de résumer les informations portées parla jonction, afin d’être ensuite utilisées dans le processus de mise en correspondance.

2.5.1 Descripteurs de primitives

Par définition, les jonctions de type L et Y sont composées par un et deux flotsrespectivement. Après avoir dépisté ces flots par l’algorithme présenté dans la sectionprécédente, la primitive "jonction de lignes de niveaux" peut donc être caractérisée parles descripteurs suivants : les coordonnées du point de jonction, les segments, et lesangles. Le vecteur des descripteurs de la primitive est alors défini comme suit :

−→PY =

[p−→S

∗ −→S

L −→S

RθL θR

],−→PL =

[p−→S

∗ −→S

MθL θR

](2.13)

La jonction de type Y est caractérisée par une primitive à trois segments−→S

∗,−→S

L,

et−→S

Rapproximés à partir des flots F ∗

p,M−−p

,M++p

, FLp,Mp,M++

p

, et FRp,M−−

p,Mp

respec-

tivement. Le point de jonction est le point de séparation des flots. Par rapport à cepoint, la direction du segment

−→S

∗, défini comme le segment principal de la primitive,

sera la direction entrante. Les segments−→S

Let−→S

Rauront des directions sortantes. Les

angles θL et θR seront mesurés par rapport au segment principal. θL est l’angle entre

le segment−→S

∗et−→S

L. θR est celui entre

−→S

∗et−→S

R. La figure 2.8 montre la primitive

associée à une jonction de type Y.

Notons que définir un segment principal pour la primitive fixe l’ordre de l’intensitédes régions autour de la jonction. Cela permet alors à la primitive d’être invariantelocalement vis-à-vis de la rotation. Cette propriété est très pratique pour tester lacompatibilité entre les primitives dans le processus de mise en correspondance. Par

Page 46: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

34 2. Jonctions de lignes de niveaux

Fig. 2.8 – Definition d’une primitive à partir d’une jonction.

d’ailleurs, les angles ne peuvent pas non plus changer de plus de 180 degrés. Concer-nant la jonction de type L, la primitive est définie de la même manière que la jonctionde type Y. Cependant, nous ne pouvons pas réellement déterminer le segment princi-pal de la primitive. La figure 2.8 montre une primitive associée à une jonction de type Y.

Nous constatons que les segments ont un rôle important dans la description d’uneprimitive. Les propriétés du segment formulent implicitement celles de la primitive.Chaque segment indépendant S est décrit par les quatre descripteurs suivants : lepoint départ p, la longueur L, l’orientation θ mesurée par rapport à la ligne horizontaleet le contraste C exprimé par le niveau de gris à gauche nl et à droite nr du segment :

−→S =

[p θ L C(nl, nr)

](2.14)

La longueur et le contraste du segment joueront un rôle très important dans lamise en correspondance où la similarité entre primitives doit être établie, en particulierà partir du contraste. Le contraste du segment est défini par la différence d’intensitéentre les régions du côté gauche et du côté droit du segment. La figure 2.9(a) montre lesrégions concernées autours du segment déterminé selon le modèle EFLAM. La figure2.9(b) montre les régions plus en détail au kieme pas du segment. Ces régions sont toutesdéterminées encore selon le modèle EFLAM. Ml

k et Mrk sont les intensités moyennes

du côté gauche et droit du segment respectivement.

Si [(Mlk,Mr

k)�k ∈ [1 · · ·L]] est l’ensemble des intensités à chaque pas du segment,le contraste est alors formulé par :

C =

{[⊗ξ(Ml)]⊖ [⊗ξ(Mr)]

L

}⊘{⊖[ξ(Ml)⊗ ξ(Mr)]

L

}(2.15)

Où ⊗ ⊖ et ⊘ sont des opérateurs et ξ(nk) est une fonction pondérée à chaquepixel. Un exemple simple que nous employons est le suivant : ⊗, ⊖, et ⊘ sont lesopérateurs d’addition, de soustraction, et de calcul du maximum respectivement. La

Page 47: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.5. La primitive "jonction de lignes de niveaux" 35

Fig. 2.9 – Les régions autour des segments de la jonction.

fonction pondérée est définie par ξ(Mk) = Mk. Nous obtenons donc la fonction decontraste suivante :

C = max

{∑kMl −∑kMr

L,

∑i(Ml −Mr)

L

}(2.16)

Le contraste est donc la valeur maximale de la différence des sommes ou de lasomme des différences d’intensité.

2.5.2 Fiabilité des primitives

La fiabilité d’une primitive est le produit de la fiabilité de ces segments FS et de lavariation des régions autour de la jonction V : F−→

P= Vp × F−→S

Le premier terme exprime la fiabilité des segments formés. La fiabilité du segmentest déterminée en employant la longueur L et le contraste C :

F−→S

=

L∑

k=1

Ok

(|Ml

k −Mrk|) ∼= L× C (2.17)

La fiabilité est donc exprimée par la somme des contrastes tout le long du segment.Ok est une fonction pondérée qui dépend du nombre de pas utilisé pour le segment.Notons que l’orientation θ et le point de départ p ne sont pas employés ici puisqu’ilsne peuvent servir à distinguer les segments entre eux.

Le deuxième terme V¬p exprime la variation autours de la jonction. Nous déter-minons cette valeur par le modèle EFLAM, présenté dans la section précédente. Lafiabilité est alors calculée de la manière suivante :

Page 48: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

36 2. Jonctions de lignes de niveaux

F−→P

= Vp ×∑

−→S i∈−→P

L∑

i,k=1

Ok

(∣∣Mli,k −Mr

i,k

∣∣2)

(2.18)

2.6 Expérimentation et discussion

Nous avons testé notre méthode en la comparant à celle de Harris sur deux imagesréelles, celle de la figure 2.10(a) désignée par "bloc" et celle de la figure 2.11(a) dési-gnée par "house". Nous choisissons de la comparer au détecter de Harris plutôt qu’àSUSAN ou d’autres approches car cette dernière est particulièrement adaptée aux trans-formations affines même si elle n’est pas très précise ou robuste vis-à-vis des pertur-bations. Les meilleurs résultats de l’opérateur de Harris sont présentés en ligne dans"http ://www.cim.mcgill.ca/ dparks/" et montrés dans la figure 2.10(b) et 2.11(b) res-pectivement. En appliquant notre méthode avec E = 10, toutes les jonctions extraitesà partir de l’image "bloc" avant la suppression des non maxima sont montrés dansla figure 2.10(c). La figure 2.10(f) affiche les jonctions choisies parmi toutes les jonc-tions de la figure 2.10(e) en utilisant le critère de fiabilité. Les points de jonction sontalors superposés dans l’image "bloc" (figure 2.10(c)) à comparer avec ceux obtenus parl’opérateur de Harris. Notons que les coins non détectés par la méthode de Harris sontdistingués par des flèches. Nous constatons que notre méthode de détection est plussensible aux ombres (voir des points cerclés dans la figure 2.10(c)). Nous constatonsen revanche qu’en augmentant E à 14 (la figure 2.10(f)), cela supprime les points as-sociés à des ombres ou des contours. Pour ce qui concerne l’image "house", toutes lesjonctions extraites et puis sélectionnées sont montrées dans la figure 2.11(d) et 2.11(e)respectivement. L’interprétation du résultat reste la même pour les figures 2.11 (b) et2.11 (c) que pour les figures 2.10(b) et 2.10(c).

Ces résultats nous amènent à préciser un avantage important de notre méthode :nous pouvons contrôler le nombre de jonctions extraites de l’image. Cela est très impor-tant par exemple pour la reconstruction 3D ou l’analyse du mouvement. L’extractiondes jonctions sera exécutée comme un processus itératif en diminuant la valeur de E .Au début, des jonctions sont extraites avec une certaine valeur de E . Une zone d’exclu-sion est définie comme un secteur circulaire autour du point de la jonction extraite. Al’iération suivante, la méthode d’extraction sera encore une fois exécutée en utilisantun E plus petit, et ajoutant ainsi de nouvelles jonctions extraites seulement dans leszones autorisées. Notons que lorsque E est plus petit, le nombre de jonctions augmente.Puisque la fiabilité des primitive est calculée en utilisant le flot maximal à traversla jonction E en respectant la longueur et la variation, alors les primitives obtenuesplus tôt dans le processus sont plus fiables. Cela est très utile pour une mise en corres-pondance multi-échelle que nous nous proposons de développer dans le chapitre suivant.

Les figures 2.12(a) et (b) montrent un exemple d’images de stéréovision d’un buste.Les jonctions extraites des images gauche et droite à la première itération (où E =

Page 49: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.7. Conclusion 37

20) sont montrées dans la figure 2.12(c) et (d) respectivement. Les jonctions extraitesreprésentent les principales structures de l’image : la tête, les yeux, la bouche, et lenez. Les figures 2.12(c) et (d) montrent la deuxième boucle de l’itération, où E = 15.Les nouvelles jonctions s’ajoutent aux jonctions extraites à la première boucle. Lesjonctions représentent alors plus de détails sur le visage.

2.7 Conclusion

Nous avons présenté dans ce chapitre une méthode d’extraction des jonctions àpartir des lignes de niveaux. La méthode est basée sur le concept de flot de lignes deniveaux. Les jonctions potentielles sont d’abord détectées selon le modèle EFLAM encalculant la variation des intensités autours de chaque point. La méthode est robustevis-à-vis des perturbations et des changement du contraste. L’avantage principal denotre méthode est que nous pouvons contrôler le nombre de jonctions extraites del’image. Cela est très utile pour la mise en correspondance d’images.

Page 50: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

38 2. Jonctions de lignes de niveaux

(a) (b)

(c) (d)

(e) (f)

Fig. 2.10 – (a) L’image "bloc" (b) Les jonctions obtenues par le détecteur de Harris(c) Les jonctions obtenues par notre méthode avec E = 10 (d) Idem avec E = 14 (e)Les jonctions avant le filtrage avec E = 10 (f) Les jonction après le filtrage avec E = 10.

Page 51: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

2.7. Conclusion 39

(a) (b)

(c) (d)

(e)

Fig. 2.11 – (a) L’image "house" (b) Les jonctions obtenues par le détecteur de Harris(c) Les jonctions obtenues par notre méthode avec E = 30 (d) Les jonctions avant lefiltrage avec E = 30 (e) Les jonction après le filtrage avec E = 30.

Page 52: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

40 2. Jonctions de lignes de niveaux

(a) (b)

(c) (d)

(e) (f)

Fig. 2.12 – Un couple d’images stéréo (a) L’image gauche (b) L’image droite (c) Lesjonctions de l’image gauche avec E = 20 (d) Les jonctions de l’image droite avec E = 20(e) Les jonctions de l’image gauche avec E = 15 (f) Les jonctions de l’image droite avecE = 15.

Page 53: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

41

Chapitre 3

Problème de mariages stables

3.1 Introduction

Rappelons que la mise en correspondance est une étape cruciale pour la recon-naissance du monde réel par des machines. Dans ce cadre, de nombreuses méthodesclassiques ont été testées, de diverses sortes de corrélation jusqu’à la relaxation ou laprogrammation dynamique. Pour la vision des robots, l’efficacité de la méthode de-vient un facteur clef, que la mise en correspondance intervienne au stade du traitementd’image (segmentation : e.g. détection de mouvement ou reconstruction 3D) ou de ladécision (e.g. confrontation à un modèle ou classification). Efficacité prend ici plusieurssens : facile extraction et codage des données, simplicité du modèle, faible nombred’hypothèses a priori, robustesse aux ambiguïtés, maîtrise du nombre des inconnues,complexité limitée etc.

Notre équipe a examiné plusieurs techniques de mise en correspondance pour lavision au cours des ans, de la déformation dynamique de contours ou régions codéessous forme de chaînes de caractères [49] [50] jusqu’à plus récemment la transformée deHough sur les lignes de niveau [46]. Dans ce dernier cas, les lignes codées par segmentssont classées en plusieurs sous populations selon la confiance accordée à leur détectionet interviennent progressivement dans un processus de vote multipasse. Ici, l’efficacitése traduit en une amélioration de la reconstruction de la scène au sens où les ambiguïtéssont réduites (e.g. dans le cas de motifs répétés) tout en limitant la dépense en tempscalcul autant que possible.

Dans une approche plus générale de la segmentation qui visait à exhiber des primi-tives image nD à partir de primitives (n− 1)D [51] [52], par exemple passer des pointsd’intérêt aux contours, des contours aux régions etc. un paradigme intéressant d’op-timisation sur graphes biparties a été exploité et a montré des résultats comparablesaux techniques bayesiennes. Cette technique réfère au problème des mariages stables.Son intérêt est d’éviter toute contradiction logique (i.e. instabilité !) qui peut biaiserle résultat du processus d’appariement. Les principes en sont les suivants : (1) deuxpopulations distinctes sont mutuellement appariées, élément par élément, (2) chaque

Page 54: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

42 3. Problème de mariages stables

élément trie les éléments antagonistes (i.e. membres de l’autre population) dans unestructure appelée "liste de préférences", qui est une donnée de l’optimisation. Dans cecas, l’efficacité est encore d’éviter les ambiguïtés durant la mise en correspondance.

Les applications visées ici sont à nouveau l’appariement de primitives pour la visionrobotique par exemple la reconstruction 3D par stéréovision , l’analyse du mouvementou la reconnaissance d’une forme. Les deux populations à apparier sont les primitivesextraites d’images respectives : gauche/droite, précédente/courante, inconnue/modèlede référence. Dans certaines applications comme la stéréovision, on postule a priori uneégale importance entre primitives des deux côtés. Ainsi, les algorithmes de mariagesstables proposés devront prendre en compte l’ équité (ou encore égalité des sexes), ceque ne font pas les algorithmes de mariages stables classiques, concentrés sur la stabi-lité. De plus, champs restreint oblige, la plupart des appariements en vision robotiquevisent une solution optimale globale à partir de résultats corrects localement. Ainsi,l’appariement doit être construit sous la contrainte de la satisfaction globale pour ga-rantir la solution la mieux équilibrée parmi plusieurs choix possibles. Et bien sûr, lastabilité de l’appariement devra être considérée pour éviter les correspondances illo-giques. En résumé, l’algorithme fiable de mariages stables dans une telle applicationdoit vérifier les trois critères : stabilité, satisfaction globale, et égalité des sexes.

Dans ce chapitre, nous traitons de l’invention d’algorithmes qui équilibrent ces troiscontraintes sans oublier la complexité. La section 3.2 est consacrée à un rappel rapidesur le problème des mariages stables et les algorithmes classiques. La section 3.3 in-troduit une nouvelle représentation du problème des mariages stables, appelée table demariages [52]. La section 3.4 présente les algorithmes de mariages stables sous formede balayages divers de cette table de mariages. Dans la section 3.4.4 nous proposonsdes versions hybrides obtenues par combinaison de nos algorithmes avec l’algorithmeclassqiue de Gale-Shapley (GS). La section 3.5.2 détaille le processus que nous avonsdéfini pour récupérer une stabilité complète des solutions trouvées par les algorithmesprécédents sans relacher la satisfaction ou l’équité, au prix d’une complexité accrue. Lechapitre conclut par une comparaison statistique des résultats quantitatfs et qualitatifsdans l’appariement de primitives image.

3.2 Les algorithmes classiques de mariages stables

Les problèmes de mariages stables ont été étudiés et des algorithmes proposés pourla première fois par Gale et Shapley [53]. Le problème se définit comme suit :

- soit une instance I, c’est à dire la donnée de deux ensembles finis attribués, leshommes H = {m1, m2, ..., mn} et les femmes F = {w1, w2, ..., wn}, où n est le nombre(égal dans un premier temps) d’hommes et de femmes. m, w, et v dénotent un homme,une femme, et une personne générique respectivement.

- chaque personne a pour attribut sa liste de préférences ℑ où tous les membres

Page 55: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.2. Les algorithmes classiques de mariages stables 43

de sexe opposé apparaissent triés selon son affinité avec eux. Si l’homme m préfère lafemme w à la femme w′, nous écrivons w ≻m w′.

Problème : constituer des couples homme-femme le mieux possible selon leurs pré-férences. Donc, un appariement M est un sous ensemble du produit HxF où chaquepersonne figure une et une seule fois. Si (m,w) ∈ M, alors m et w forment un coupleapparié dans M et M(m) = w et M(w) = m. Si m et w ne sont pas associés dansM, alors (m,w) est un couple non apparié. m et w forment un couple de blocage si mpréfère w àM(m) et w préfère m àM(w), mais m et w forment un couple non appariédansM. Si l’appariement ne contient aucun couple de blocage,M est un appariementstable. Gale et Shapley ont prouvé que quelle que soit l’instance il existe toujours aumoins un appariement stable. Ils ont proposé l’algorithme de Gale-Shapley (ref. algo1) dont la complexité est en O(n2).

Algorithm 1: Algorithme de Gale et Shapleydébut

tant que il y a un homme non-apparié m fairePrendre m et la première femme w dans sa liste de préférenceEnlever w dans sa liste (pour qu’elle ne sera plus pris en compte)si w a été mariée alors

si w préfère m à son associé courant M(w) alorsLibérer M(w) de wMarier w avec m

sinonm est toujours non-appariém choisit une femme suivante dans la liste

sinonMarier w avec m

fin

Depuis le travail de Gale et Shapley [53], le problème a été constamment étudié et estdevenu un des plus populaires en optimisation discrète tant du point de vue théorique[54][55][56][57][58][59] que pratique [60][61][62]. Selon [54], nous pouvons catégoriserle problème des mariages stables en 4 types : (1) mariage stable avec liste complèteet totalement triée, i.e. les travaux de Gale et Shapley, (2) mariage stable avec listeincomplète et totalement triée, (3) mariage stable avec liste complète et indifférence,et (4) mariage stable avec liste incomplète et indifférence.

3.2.1 Mariage stable avec liste incomplète et totalement triée

Dans cette catégorie, la personne peut déclarer des partenaires inacceptables. Ainsi,sa liste de préférence peut être incomplète. Sous ces hypothèses, [56] a prouvé qu’il existe

Page 56: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

44 3. Problème de mariages stables

Hommes Femmes1 : A A : 12 : C, B B : 2, 13 : B, C C : 2, 3

Tab. 3.1 – Une instance de 3 hommes et 3 femmes

Les couples possibles des hommes Les couples possibles des femmes(1, A) (A, 1)(2, C), (2, B) (B, 2), (B, 1)(3, B), (3, C) (C, 2), (C, 3)

Les couples appariés dans M Les couples non appariés dans MHomme Femme Homme Femme(1, A) (A, 1) - -(2, ?) (B, ?) (2, C), (2, B) (B, 2), (B, 1)(3, C) (C, 3) (3, B) (C, 2)

Tab. 3.2 – M est instable puisqu’il existe un couple non apparié (2, B) tel que 2 et Bne sont pas appariés dans M , mais 2 trouve que B est acceptable et B trouve que 2 estacceptable.

un appariement stable et que l’on peut l’exhiber avec une complexité polynômiale.L’appariement M est donc ici formé par des couples dont les hommes et les femmespeuvent appartenir à un sous-ensemble strict de H ou F . Ou encore (m,w) ∈ Mimplique que m et w se trouvent acceptables. La stabilité de l’appariement M estgénéralisée de la manière suivante :M est stable comme précédemment s’il ne contientaucun couple de blocage (m,w),mais un couple de blocage est un couple tel que :

1. m et w ne sont pas appariés dans M ,

2. m trouve que w est acceptable ou m préfère w à son associée,

3. w trouve que m est acceptable, ou w préfère m à son associé.

Les tableaux 3.2 et 3.3 montrent un exemple d’appariement M instable.

3.2.2 Mariage stable avec liste complète et indifférence

Pour cette troisième catégorie, personne n’a besoin de trier tous les antagonistesdans un ordre strict. Autrement dit, certains membres de sa liste de préférences sontindifférents. Selon les travaux de [63][59] la stabilité de l’appariement se définit alorsselon les trois types suivants : faiblement stable, fortement stable et super stable.

L’appariement M est dit faiblement stable s’il ne contient aucun couple de blocage(m,w) tel que :

1. m préfère strictement w à son associée, w ≻m M(m),

Page 57: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.2. Les algorithmes classiques de mariages stables 45

Les couples possibles des hommes Les couples possibles des femmes(1, A) (A, 1)(2, C), (2, B) (B, 2), (B, 1)(3, B), (3, C) (C, 2), (C, 3)

Les couples appariés dans M Les couples non appariés dans MHomme Femme Homme Femme(1, A) (A, 1) - -(2, B) (B, 2) (2, C) (2, B) (B, 2), (B, 1)(3, C) (C, 3) (3, B) (C, 2)

Tab. 3.3 – M est instable puisqu’il existe le couple non apparié (2, C) dans M , tel que2 et C ne sont pas appariés dans M , mais 2 préfère C à B et C préfère 2 à 3.

Hommes Femmes1 : A, B A : 2, 12 : {A, B} B : 2, 1

Tab. 3.4 – Une instance de 2 hommes et 2 femmes

2. w préfère strictement m à son associé, m ≻w M(w).

Nous écrivons ici w ≻m w′ si m préfère strictement w à w′. En employant l’algo-rithme de Gale et Shapley, l’appariement de type faiblement stable pourra avoir unecomplexité en O(n2).

L’appariement M est dit fortement stable s’il ne contient aucun couple de blocage(m,w) tel que :

1. i. m préfère strictement w à son associée,

2. ii. w préfère strictement m à son associé ou m et son associé M(w) lui sontindifférents.

Ou

1. i. w préfère strictement m à son associé,

2. ii.m préfère strictement w à son associée ou il y a indifférence entre w et l’associéeM(m).

Nous écrivons ici w <m w′ s’il y a indifférence pour m entre w et w′. Les tableaux3.8 et 3.6 montrent des exemples d’ appariement M instables.

Un appariement M est dit super stable s’il ne contient aucun couple de blocage(m,w) tel que :

1. m préfère strictement w à son associée, ou w et son associée M(m) lui sontindifférentes,

2. w préfère strictement m à son associée, ou m et son associéM(w) lui sont indif-férents.

Page 58: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

46 3. Problème de mariages stables

Les couples possibles des hommes Les couples possibles des femmes(1, A), (1, B) (A, 2), (A, 1){(2, A), (2, B)} (B, 2), (B, 1)

Les couples apparié dans M Les couples non apparié dans MHomme Femme Homme Femme(1, A) (A, 1) (1, B) (A, 2)(2, B) (B, 2) (2, A) (B, 1)

Tab. 3.5 – M est instable puisqu’il y a un couple non apparié (2, A) tel que : A préfère2 à son associé M(A) = 1 et 2 est indifférent entre A et son associé M(2) = B

Les couples possibles des hommes Les couples possibles des femmes(1, A), (1, B) (A, 2), (A, 1){(2, A), (2, B)} (B, 2), (B, 1)

Les couples appariés dans M Les couples non apparié dans MHomme Femme Homme Femme(1, B) (A, 2) (1, A) (A, 1)(2, A) (B, 1) (2, B) (B, 2)

Tab. 3.6 – M est instable puisqu’il y a un couple non apparié (2, B) tel que : B préfère2 à son associé M(B) = 1 et 2 est indifférent entre A et son associé M(2) = B

3.2.3 Mariage stable avec liste incomplète et indifférence

Dans la quatrième catégorie, la liste de préférence de chaque personne à apparierpeut être incomplète et certains antagonistes ne sont pas triés dans un ordre stricte.La stabilité de l’appariement M selon [55] peut être définie selon trois types commeprécédemment : faiblement , fortement et super stable.

L’appariement M dit faiblement stable s’il ne contient aucun couple de blocage(m,w) tel que :

1. m et w ne sont pas associés dans M et m(resp. w) trouve que w(resp. m) estacceptable.

Ou

1. m préfère strictement w à son associée et w préfère strictement m à son associé.

L’appariement M est dit fortement stable s’il ne contient aucun couple de blocage(m,w) tel que :

1. i. m n’est pas associé dans M et trouve que w est acceptable, ou il préfère stric-tement w à son associée,

2. ii.w n’est pas associée dans M et trouve que m est acceptable, ou elle préfèrestrictement m à son associé, ou m et son associéM(w) lui sont indifférents.

Page 59: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.2. Les algorithmes classiques de mariages stables 47

Hommes Femmes1 : A A : {1, 2}2 : A, B B : 2

Tab. 3.7 – Une instance de 2 hommes et 2 femmes

Les couples possibles des hommes Les couples possibles des femmes(1, A) {(A, 1), (A, 2) }(2, A), (2, B) (B, 2)

Les couples appariés dans M Les couples non appariés dans MHomme Femme Homme Femme(1, A) (A, 1) - (A, 2)(2, B) (B, 2) (2, A) -

.

Tab. 3.8 – M est faiblement stable, par contre il n’est pas fortement stable puisqu’il ya un couple non apparié (2, A) tel que : 2 préfère A à son associé M(2) = B et A estindifférent entre 2 et son associé M(A) = 1

Ou

1. i. w n’est pas associée dans M et trouve que m est acceptable, ou elle préfèrestrictement m à son associé,

2. ii.m n’est pas associé dans M et trouve que w est acceptable, ou il préfère stric-tement w à son associée, ou w et son associée M(m) lui sont indifférentes.

L’appariement M est dit super stable s’il ne contient aucun couple de blocage(m,w) tel que :

1. m n’est pas associé dans M et trouve que w est acceptable, ou il préfère stricte-ment w à son associée, ou il est indifférent entre w et son associéeM(m) .

Ou

1. w n’est pas associée dans M et trouve que m est acceptable, ou elle préfèrestrictement m à son associé, ou elle est indifférente entre w et son associéM(w).

3.2.4 Contraintes pour une nouvel algorithme de mariages stables

L’algorithme de Gale-Shapley GS propose deux solutions possibles : l’appariementstable homme-optimal, et l’appariement stable femme-optimal.GS misogyne donne l’ap-pariement stable où les hommes auront leur meilleur choix possible, et les femmes serontmariées avec le pire. Au contraire, GS féministe favorisera les femmes. Ainsi, le résultatobtenu dépend de l’orientation du choix. Dans beaucoup de cas qui nous intéressent,un algorithme fiable n’a pas de raison de privilégier gauche par rapport à droite ouprésent par rapport à passé, et doit donc être indépendant d’un tel choix. C’est-à-direque l’égalité des sexes homme-femme devra être introduite comme contrainte essentielle

Page 60: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

48 3. Problème de mariages stables

dans l’élaboration des algorithmes. De plus, les résultats stables issus de GS ne garan-tissent aucune satisfaction globale. Il est possible que tout le monde soit malheureux ausens où une majorité des couples soient formés par appariement avec un mauvais choix(i.e. situé loin dans la liste de préférence). La satisfaction globale de l’appariement estdonc une autre contrainte nécessaire. Est-il possible de minimiser globalement le rangdes partenaires dans les listes de préférence ? Tout ceci sans abandonner la stabilitéde l’appariement et au prix d’une complexité algorithmique acceptable. Notons queGusfield et Irving [64], dans leur extensive étude des algorithmes de mariage stable etdes modèles d’optimisation dérivés, citent en conclusion parmi les problèmes ouverts àleur époque ( 15 ans déjà) le problème 11 : le mariage pourrait gagner à être égalitaireet que l’on devrait y arriver en O(n4 logn), Feder [65] trouvant un résultat voisin enO(n2,5 log n) puis O(n3) [66]. Ce qui est appelé chez eux égalitaire concerne la jauge∑ρm +ρw avec les notations du paragraphe suivant, et nous avons préféré le terme sa-

tisfaction globale plus évocateur des propriétés de la solution dans les applications quenous visons. Quant à l’égalité des sexes, mentionnée comme problème ouvert n06 ellese traduirait chez Irving par

∑ρm =

∑ρw à quoi nous avons préféré min

∑ |ρm − ρw|plus précis. Une variante encore populaire mais semble-t-il plus simple et résolue est lastabilité avec "regret minimal" où le rang du partenaire est aussi faible que possible,nous ne l’avons pas retenue faute de savoirl’interpréter sur les images. Elle réapparaîtrapartiellement dans le processus de stabilisation S- ( voir paragraphe 3.5.2 ci-dessous),d’ailleurs en contradiction avec [67]

Nous introduisons dans la section suivante une représentation nouvelle du problèmedes mariages stables. Nous montrons que les contraintes ci-dessus ont dans cette repré-sentation une expression évidente qui devrait faciliter l’élaboration d’algorithme selonson principe.

3.3 Nouvelle représentation du problème de mariages

stables

Nous proposons dans cette section une représentation originale du problème demariages stables, appelée table des mariages. Nos algorithmes utiliseront cette repré-sentation pour des mariages avec liste complète ou incomplète mais totalement triée.En exploitant la table des mariages qui favorise la mise en évidence simultanée de lastabilité, de l’égalité des sexes et de la satisfaction globale, les algorithmes devraientréaliser un meilleur compromis entre ces contraintes.

La table des mariages est un tableau de (N + 1) lignes et (N + 1) colonnes. Leslignes représentent l’ordre de préférence des hommes, {1 · · ·p · · ·N ∞}. Les colonnesreprésentent l’ordre de préférence des femmes, {1 · · · q · · ·N ∞}. Chaque cellule (p, q)contient ainsi les couples dont la femme est le pieme choix de l’homme et l’homme est leqieme choix de la femme. Il est donc possible qu’elle soit vide. La cellule (p,∞) contientles couples dont la femme est le pieme choix de l’homme et l’homme n’existe pas sur la

Page 61: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.3. Nouvelle représentation du problème de mariages stables 49

Fig. 3.1 – Table de mariages : le couple (x, y) est tel que y est le 3ieme choix de x et xest le 4ieme choix de y

Hommes Femmes1 : C, A, B A : 1, 2, 32 : A, C, B B : 2, 3, 13 : C, B, A C : 1, 2, 3

Tab. 3.9 – Une instance de trois hommes et trois femmes

liste de préférence de la femme. Réciproquement, la cellule (∞, q) contient les couplesdont l’homme est le qieme choix de la femme mais la femme n’est pas sur la liste de pré-férence de l’homme. Dans le cas de mariage avec liste complète, chaque ligne contienttous les hommes et chaque colonne contient toutes les femmes une et une seule fois. Lafigure 3.1 montre la table des mariages.

Le tableau 3.9 montre un exemple d’instance de trois hommes et trois femmes. Lafigure 3.3(a) est la table des mariages établie à partir du tableau 3.9.

L’avantage majeur de transposer la formulation classique du problème de mariagesstables, des listes croisées d’individus, en une table de couples est une représentationgéométrique à la fois de la satisfaction globale et de l’égalité des sexes dans une seulestructure de données. Il devrait en résulter que tout algorithme dans cette représen-tation est un parcours dont les propriétés sont optimisées en regard de la géométrie enquestion. C’est ce que nous nous attachons à vérifier maintenant.

Définissons la satisfaction globale sur la table de la manière suivante, ρm et ρw étantrespectivement les rangs GS de m et w dans la liste de l’autre :

S =∑

(m,w)∈M(ρm + ρw) (3.1)

Page 62: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

50 3. Problème de mariages stables

(a) (b)

Fig. 3.2 – (a) la satisfaction, (b) l’égalité de sexe.

(a) (b)

Fig. 3.3 – (a) Table de mariages établie à partir du tableau 3.9 , (b) l’appariementM : (1,C), (2,A) et (3,B) obtenu par élimination.

Page 63: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.4. Algorithmes de mariage quasi-stable 51

Fig. 3.4 – Instabilité du mariage : zones d’exclusion anti blocage dans la table desmariages.

Plus la valeur de S est proche de zéro, meilleure est la satisfaction globale. Ainsi,l’appariement ayant la satisfaction globale maximale aura une majorité de couples si-tués dans les cellules autour de l’origine du tableau (en bas à gauche).

De même, l’égalité des sexes peut se représenter sur la table des mariages. Soitl’équation 3.2, alors plus la valeur de E est petite, plus grande est l’équité. Et doncl’appariement garantissant au mieux l’égalité des sexes aura une majorité des couplesplacés cette fois autour de l’axe diagonal du tableau.

E =∑

(m,w)∈M|ρm − ρw| (3.2)

La stabilité peut aussi être représentée sur la table des mariages. Rappelons quel’appariement est stable s’il ne possède aucun couple de blocage i.e. (m,w) non appariédans M mais se préfèrant mutuellement à leurs associés respectifs. La figure 3.4 montrel’instabilité du mariage sur la table. Si (x, t) et (z, y) sont les couples appariés dansM , et (x, y) et (z, t) sont non appariés, alors le couple (x, y) ne peut pas figurer dansle rectangle gris, et le couple (z, t) ne peut pas être situé dans le rectangle hachuré.Si c’est le cas, on vérifie sans peine que (x, y) ou (z, t) sont bloquants, et donc quel’appariement sera instable.

3.4 Algorithmes de mariage quasi-stable

On constate qu’ainsi exprimées la satisfaction globale et l’équité ont des représen-tations dans la table plus directes que la stabilité : il faut notamment deux rectanglesnon indépendants pour vérifier cette dernière contre un point ou une droite de réfé-rences respectivement pour les deux autres. Nous allons donc dans un premier temps

Page 64: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

52 3. Problème de mariages stables

prendre prioritairement en compte la satisfaction globale et l’égalité des sexes. Nousconstaterons bien vite que les algorithmes immédiats qui en résultent ne donnent pasd’emblée des résultats stables. Ces algorithmes, au demeurant intéressants en pratique,seront dits quasi-stables.

La table étant ordonnée par la proximité à l’origine ou à la première diagonale, toutmariage équivaut à un parcours le long duquel des couples sont conservés ou rejetés.Un algorithme basé sur la table des mariages peut donc être construit très simplementpar balayage adapté aux propriétés de satisfaction globale ou égalité de sexes tellesque définies ci-dessus et représentées dans la table. On comprend qu’un balayage quipermette intuitivement d’obtenir les meilleurs couples selon ces deux critères sera unbalayage de type zigzag qui réalise un compromis entre diagonale (p-q=cste) et anti-diagonale (p+q=cste) de la table.

En considérant les symétries a priori de la table des mariages, balayer de gauche àdroite ou réciproquement ne change rien statistiquement de même que balayer de basen haut ou vice versa. En effet, en permutant les listes des homme et des femmes lerésultat gauche-droite donne le résultat droite-gauche, et complémenter les préférencesà N (taille de la population) règle la question du balayage bas-haut ou haut-bas.

Nous étudions expérimentalement trois type de balayages : ZigZag homme (resp.femme)-optimal (ZZ) et Zigzag Optimal (ZO). Les résultats seront comparés systématiquementavec l’algorithme de Gale-Shapley (GS). 200 instances sont tirées au hasard pour despopulations de taille 5, 10, 50, 100, 150, et 200 respectivement (on compte ici le nombrede couples à former donc la moitié de la taille réelle de la population).

Chaque algorithme est exécuté sur les différentes populations, et pour chacun lescourbes suivantes sont représentées et analysées : satisfaction globale fonction de l’ins-tance, égalité de sexe fonction de l’instance, nombre des couples de blocage (s’il y ena) fonction de la taille des populations . En effet, il doit être évident qu’aucun ba-layage pré-déterminé ne peut éviter toutes les situations de blocage dans toutes lescirconstances.

3.4.1 Un résultat de bornitude

Quelquesoit le balayage donné, i.e. une permutation de N2, n = s(i, j), il existeune instance de population, i.e. un ensemble de listes de préférences {l(m), l(w)}M×W

telle que (mi, wj), (mk, wl), et (mk, wj) sont rencontrés dans cet ordre sur le chemindu balayage. Alors, (mi, wj) et (mk, wl) seront mariés d’abord tandis que (mk, wj) lesbloque. Pour qu’il en soit ainsi il suffit trivialement que :

s(lj(mi), li(wj)) ≤ s(ll(mk), lk(wl)) ≤ s(lj(mk), lk(wj))et lk(wj) ≤ li(wj) et lj(mk) ≤ ll(mk)

où lj(mi) est l’ordre de wj dans l(mi). La figure 3.5 montre un exemple d’une tellesituation pour le balayage alternatif régulier anti-diagonal de la table.

Page 65: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.4. Algorithmes de mariage quasi-stable 53

Fig. 3.5 – Situation de blocage

3.4.2 Algorithme ZigZag homme (resp. femme)-optimal (ZZ)

L’algorithme est très simple, listé dans algo.2 : les anti-diagonales de la table desmariages sont balayées par ordre de p+q croissant, alternativement de gauche à droite etinversement. Selon l’initialisation du processus on obtient deux variantes : si le balayagecommence de gauche à droite cela favorise les hommes, soit ZZ homme-optimal. Dansle cas contaire, cela favorisera les femmes soit donc ZZ femme-optimal cette version.A chaque cellule visitée, les couples dont les partenaires sont libres sont mariés.

Algorithm 2: Algorithme de ZigZag avec l’homme-optimaldébut

pour chaque anti-diagonal p+ q : min 7→ max fairepour chaque couple (m,w) faire

si m et w sont libres alorsMarier m avec w

fin

Performance de l’algorithme

La figure 3.6 montre la comparaison des méthodes GS et ZZ quant à la satisfac-tion globale. Nous constatons que la forme du graphe présente une certaine similitude(min/max, σ) par échantillon de 50. Nous tirons alors au hasard 40 instances consé-cutives pour afficher les résultats plus en détail figure 3.7. En moyenne, la satisfactionglobale engendrée par ZZ est supérieure à celle de GS. De plus, la variation des résul-tats obtenus est plus faiblee indiquant que l’appariement par ZZ est statistiquementplus fiable que celui de GS.

La figure 3.8 montre la comparaison de l’égalité de sexe entre les méthodes sur lemême échantillon de 40 instances. Nous constatons que la tendance du graphe est trèssemblable à celle de la satisfaction globale. Les variations fortes (40% ≤ σ ≤ 50%)

Page 66: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

54 3. Problème de mariages stables

Fig. 3.6 – Comparaison de la satisfaction globale entre les méthodes : (a) GS homme-optimal, (b) GS femme-optimal, (c) ZigZag homme-optimal, et (d) ZigZag femme-optimal

Fig. 3.7 – Extrait de la figure 3.6 : (a) GS homme-optimal , (b) GS femme-optimal,(c) ZigZag homme-optimal, et (d) ZigZag femme optimal

d’une instance à l’autre présentées par GS montrent qualitativement les mêmes ten-dances pour l’équité que pour la satifaction globale. Ceci contraste avec la variationbornée de ZZ, 15 à 20%. Ainsi, les écart types des variations en moyenne mesurés etcomparés pour GS et ZZ sont significativement différents, GS est de 40 à 50% plusimportant que ZZ. Notons que l’égalité de sexe obtenue par ZZ est en moyenne deuxfois meilleure que celle par GS (3500 contre. 4800 et 1800 contre. 3800).

Pour une comparaison plus précise entre méthodes, nous définissons le paramètreβ, pourcentage du nombre d’instances où ZZ est meilleur que GS :

βS,Ex>y =

∑∀i∈I χ[y−x]

NI× 100 (3.3)

Où χz =

{1 si z > 00 sinon

et NI est le nombre des instances.

Nous constatons que βSmax(ZZm,ZZw)>min(GSm,GSw) = 96% pour la satisfaction globale

Page 67: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.4. Algorithmes de mariage quasi-stable 55

Fig. 3.8 – Comparaison de l’égalité de sexe entre méthodes : (a) GS homme-optimal,(b) GS femme-optimal, (c) ZigZag homme-optimal, et (d) ZigZag femme-optimal

Fig. 3.9 – Le nombre moyen des couples de blocage : (a) ZigZag homme-optimal, (b)ZigZag femme-optimal, et (c) ZigZag optimal

et βEmax(ZZm,ZZw)>min(GSm,GSw) = 99% pour l’égalité de sexe. De plus, la performance

exprimée par β dépend énormément de la taille des populations : β en est une fonctionfortement croissante ; ainsi ZZ produit des résultats d’autant meilleurs comparé à GSque la population est large. Expérimentalement, au delà de 200 individus ZZ est sys-tématiquement supérieur à GS que ce soit sur la satisfaction globale ou sur l’égalité desexe.

Reste que l’appariement obtenu par ZZ est instable avec 50% de couples de blocageen moyenne. La figure 3.9 (a) et (b) montre le nombre moyen de couples de blocageavec son écart type en fonction de la taille de population. Notons que les méthodesZZ homme-optimal (a) et femme-optimal (b) sont indistinctes. Facteur agravant, lenombre des couples de blocage, donc l’instabilité, est fonction croissante de la taille depopulation .

Page 68: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

56 3. Problème de mariages stables

3.4.3 Algorithme Zigzag Optimal (OZ)

L’implantation immédiate d’un balayage diagonal sur la table des mariages telleque présentée dans la section précédente, engendre une amélioration sensible de l’ap-pariement, comparé à GS, quant à la satisfaction globale et l’égalité de sexe. Au delàde cette performance statistique, on constate que dans certaines instances la directioninitiale du balayage, hommes ou femmes d’abord, influe sur la qualité du résultat mêmesi son impact apparait en général peu important. Aussi, nous proposons un algorithmelisté dans 3, dit Zigzag Optimal (OZ). Comme précédemment, les anti-diagonales dela table sont balayées par satisfaction décroissante. Mais pour chaque anti-diagonale,les cellules sont visitées du centre vers les bords, donc également avec égalité de sexedécroissante. La satisfaction globale reste prise en compte avant l’égalité de sexe maisle résultat global devrait en être amélioré. A chaque cellule visitée, les couples serontmariés si les partenaires impliqués sont libres.

Algorithm 3: Algorithme de Zigzag Optimaldébut

pour chaque anti-diagonale, p+ q : min 7→ max fairepour chaque diagonale, |p− q| : min 7→ max faire

pour chaque couple (m,w) fairesi m et w sont libres alors

Marier m avec w

fin

Performance de l’algorithme

Les figures 3.10(c) et 3.11(c) montrent l’égalité de sexe et la satisfaction globaleobtenues par OZ comparé à celles de GS, figures 3.10(a)(b) et 3.11 (a)(b) respective-ment. Nous constatons que la satisfaction globale et l’égalité de sexe selon OZ se dégradent par rapport à ZZ. En revanche, le nombre de couples de blocage est diminuéd’environ de 40% (voir la figure 3.9(c)).

Finalement l’appariement réalisé reste quasi toujours instable. Notons que la com-plexité de l’algorithme jusque là demeure en O(n2).

3.4.4 Faire tourner la table pour plus de satisfaction et d’égalité

Inspirés par les architectures d’ordinateur disponibles aujourd’hui, on peut conce-voir via l’implantation de nouvelles versions des algorithmes proposés dans les sectionsprécédentes. En réalité ces variantes constitueront des algorithmes complètement dif-férents, susceptibles de produire des résultats différents aux propriétés différentes. Les

Page 69: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.4. Algorithmes de mariage quasi-stable 57

Fig. 3.10 – Comparaison de la satisfaction globale entre méthodes : (a) GS homme-optimal, (b) GS femme-optimal, et (c) Zigzag Optimal, sur 200 instances et populationsde taille 150

Fig. 3.11 – Comparaison de l’égalité de sexe entre méthodes : (a) GS homme-optimal,(b) GS femme-optimal, et (c) Zigzag Optimal, sur 200 instances avec populations detaille 150

Page 70: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

58 3. Problème de mariages stables

hybrides fonctionnels [68] [69] des algorithmes GS et OZ , approche que nous envisa-gons, peuvent même conduire à ne pas utiliser la table des mariages.

Algorithmes Zigzag Renversé (RZ) et Gale-Shapley Renversé (RGS)

L’algorithme Zigzag Renversé (RZ) est une première idée pour tenter de rapprocherles algorithmes OZ et GS et profiter ainsi du codage de la satisfaction et de l’égalitéde sexe exploité grâce à la table des mariages.

Rappelons que si w est le pieme choix de m, et m est le qieme choix de w, alors p+ qreprésente la satisfaction et |p− q| l’égalité de sexe attachées au couple (m,w). Mais lechangement de coordonnées par rotation de π

4est à une constante prêt donné par

p → p+ q q → p− q. (3.4)

D’où l’idée qu’un balayage diagonal ou anti-diagonal de la table tel que défendu pré-cédemment est (quasi) équivalent à un balayage horizontal ou vertical de cette mêmetable après rotation de 45◦. Les résultats obtenus après transformation de la tabledevraient être au moins équivalents à ceux de ZZ. La figure 3.12(a) montre la ver-sion "inclinée" de la table des mariages. C’est une table de 2N + 1 lignes et N + 1colonnes. Les lignes et les colonnes représentent la satisfaction et l’égalité de sexe res-pectivement. Les cellules grisées sont les cellules projetées depuis la table originale desmariages. Chaque cellule contient les couples qui ont les satisfaction et égalité de sexecorrespondantes. Grâce aux cellules vides après rotation, les couples ayant des parte-naires communs et se retrouvant dans une même cellule par égalité de transformation (p+ q, |p− q|) peuvent être ventilés sur des cellules voisines. En balayant les cellules degauche à droite et de bas en haut pour marier les couples libres (voir la figure 3.12 (b)),nous obtenons en réalité déjà des résultats semblables à ceux de OZ. Nous appelonscet algorithme Zigzag Renversé (RZ).

Revenons maintenant sur le fait qu’un balayage horizontal (resp. vertical) de la tableest aussi le moteur de l’algorithme GS, où les listes de préférences sont triées selon ppour les hommes et q pour les femmes. D’où la nouvelle idée que nous devrions améliorersensiblement les résultats globaux d’appariement tout simplement en exécutant GS surdes listes de préférence transformées par :

p → p+ q q → p− q (3.5)

Au lieu de transformer les listes de préférence en la table des mariages puis d’ex-ploiter les avantages de cette table pour optimiser la satisfaction et l’égalité de sexe, cesdernières sont ainsi introduites directement dans les listes de préférence. L’appariementest donc obtenu simplement par l’algorithme GS classique.

En revanche un avantage suplémentaire de cette variante est sa flexibilité au sensoù un poids plus ou moins grand peut être imposé sur les contraintes de satisfaction et

Page 71: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.4. Algorithmes de mariage quasi-stable 59

(a) (b)

Fig. 3.12 – (a) table de mariages après rotation, (b) réorganisation des cellules etbalayage.

d’égalité de sexe lors de la réorganisation des listes. Cette propriété correspond en par-tie aux "cases vides" créées par rotation et à l’usage qu’on en fait. Le reste réfère encoreau balayage : par exemple, il existe par définition deux résultats différents selon qu’onfavorise la satisfaction ou l’égalité de sexe (satisfaction-optimal ou équité-optimal !).

Dans l’intention de tirer le meilleur parti de cette flexibilité pour encore améliorera priori l’algorithme hybride de GS et ZZ (OZ) introduit ci-dessus, les listes de pré-férence sont triées de manière différente. Selon GS, l’homme réalise son meilleur choixdisponible et en cas de conflit c’est la femme qui décide, ou vice versa. Pour garantirl’équilibre des résultats obtenus, l’homme et la femme doivent décider sur le mêmecritère, qui renvoie directement au tri des listes de préférences. Sous l’hypothèse que lasatisfaction globale prime l’égalité de sexe, les listes de préférence des hommes et desfemmes devrait être triées selon p+ q, puis selon |p− q| (en cas d’égalité sur p+ q), eten cas d’égalité sur p+ q et |p− q| il faut encore ajouter un tri selon p pour les hommeset q pour les femmes si l’on veut éviter toute indifférence.

Le tableau 3.15 montre une instance de trois hommes et trois femmes . Le tableau3.11 montre les listes de préférence réécrites avec les valeurs de satisfaction p + q etd’égalité de sexe |p− q|.

Le tableau 3.12 montre le même exemple de population avec listes de préférencere-triées selon la satisfaction p + q, puis l’égalité de sexe (si ambiguïté p + q), et en-

Page 72: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

60 3. Problème de mariages stables

Hommes \p 1, 2, 3 Femmes\p 1, 2, 3

1 C, A, B A 1, 2, 3

2 A, C, B B 2, 3, 1

3 C, B, A C 1, 2, 3

Tab. 3.10 – Une instance de trois hommes et trois femmes

Hommes Femmes

(p + q, |p− q|) (p + q, |p − q|)1 : (2,0), (3,1), (6,0) A : (3,1), (3,1), (6,0)

2 : (3,1), (4,0), (4,2) B : (4,2), (4,0), (6,0)

3 : (4,2), (4,0), (6,0) C : (2,0), (4,0), (4,2)

Tab. 3.11 – Listes de préférence par valeurs de satisfaction et d’égalité de sexe

fin selon la préférence initiale p ou q (en cas d’ambiguïté sur p + q et |p − q|). Nousconstatons que les listes de préférence de 3 et B sont re-triées par |p − q| décroissantpuisqu’il y a conflit sur p + q. Autre exemple, la liste de préférence de A est re-triéeselon q puisqu’on rencontre un conflit sur p+ q et |p− q|.

Après avoir réorganisé les listes, l’appariement est donc obtenu par exécution deGS sur ces listes modifiées 3.12.

Ce nouvel algorithme est alors une autre version intermédiaire entre GS et OZ quenous appelons algorithme de Gale-Shapley Renversé (RGS).

Performance de l’algorithme

Nous comparons les résultats obtenus par les méthodes RZ, RGS et GS en étudiantexpérimentalement leurs satisfactions, égalités de sexe et stabilités respectives. 3,000instances d’une population de taille 200 sont tirées au hasard. Les trois algorithmessont systématiquement exécutés sur chacune des 3000 instances, puis leurs résultatssont codés et analysés. Les figures 3.13 et 3.14 montrent les 30 instances sélectionnéessur les 3,000 afin de montrer plus en détail la satisfaction globale et l’égalité de sexerespectivement. En terme de fréquence, nous considérons à nouveau β le nombre des

Hommes Femmes

1 : C (2,0), A (3,1), B (6,0) A : 1 (3,1), 2 (3,1), 3 (6,0)

2 : A (3,1), C (4,0), B (4,2) B : 3 (4,0), 2 (4,2), 1 (6,0)

3 : B (4,0), C (4,2), A (6,0) C : 1 (2,0), 2 (4,0), 3 (4,2)

Tab. 3.12 – Listes de préférences re-triées selon la satisfaction, l’égalité de sexe puisl’ordre initial

Page 73: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.4. Algorithmes de mariage quasi-stable 61

Fig. 3.13 – Comparaison de la satisfaction globale entre méthodes : (a) GS homme-optimal, (b) GS femme-optimal, et (c) RGS

Fig. 3.14 – Comparaison de l’égalité de sexe entre méthodes : (a) GS homme-optimal,(b) GS femme-optimal, et (c) RGS

instances en pourcentage où RGS est meilleur que le meilleur GS. Nous constatonsque les résultats obtenus par RGS sont totalement meilleurs que ceux du meilleur GSautant pour la satisfaction que pour l’égalité de sexe, donc βS,E

RGS>min(GSm,GSw) = 100%.

En termes d’amplitude de performance, les différentiels de satisfaction et d’égalitéde sexe seront représentés par les distances moyennes α suivantes :

αS,Ex>y =

∑∀i∈I

|x−y|y

NI× 100 (3.6)

αSRGS>GS = 22.64% et αE

RGS>GS = 46.96% .

Concernant la stabilité, les appariements réalisés par GS sont totalement stablestandis que ceux issus de RGS montrent 87% d’instances instables. Cependant, lenombre moyen de couples de blocage par instance instable est réduit à 3, 3, négligeabledans beaucoup d’applications.

Page 74: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

62 3. Problème de mariages stables

3.5 Algorithmes de mariages fortement-stables

Dans la section précédente, nous avons élaboré des algorithmes dit quasi-stablequi cherchent les appariements optimaux pour la satisfaction et l’égalité de sexe aupossible détriment de la stabilité. Nous abordons maintenant l’étude détaillée de cetteinstabilité résiduelle et dérivons de son analyse de nouveaux algorithmes prenant lestrois contraintes en compte.

3.5.1 Algorithme Zigzag Bloqué (BZ)

Tous les algorithmes précédents donnent des appariements globalement satisfaisantset équitables mais instables. Nous cherchons donc maintenant un algorithme qui fassesauter les blocages au prix d’une augmentation de complexité raisonnable, soit ZigzagBloqué (BZ) le résultat. La première idée est de rajouter des tests systématiques pourdétecter l’instabilité et la résoudre. BZ est fondé sur le balayage de la table des ma-riages de type OZ, dont il est ainsi une version étendue . Il procède en deux étapes :marier les couples libres et libérer les situations de blocage . Dans la première étape,le balayage est celui de OZ : les anti-diagonales sont balayées du maximum au mi-nimum de satisfaction. Chaque antidiagonale est visitée en oscillant de la diagonalevers les bords alternativement. Dans chaque cellule, les couples sont mariés si leurspartenaires sont libres. A la deuxième étape, toutes les cellules sont revisitées dans lemême ordre. Mais cette fois ci, on cherche les situations de blocage à libérer. Rappelonsqu’une situation de blocage est constituée par un couple de blocage et deux couplesbloqués correspondants. Pour chaque situation de blocage détectée, le couple bloquantsera marié et les couples bloqués libérés. Le processus des mariages et des libérationsest ainsi répété jusqu’à ce qu’aucune situation de blocage ne soit détectée (ou que lenombre limite de boucles soit atteint). L’algo.4 détaille l’algorithme BZ.

Performance de l’algorithme

Les figures 3.15 et 3.16 montrent que la satisfaction globale et l’égalité de sexe sontcomparable à celles de GS, voir les figures 3.13 et 3.14. Par conséquent, l’améliorationprincipalement introduite par BZ concerne la stabilité. Le nombre moyen de mariagesfinalement instables est sensiblement abaissé, voir figure 3.17(b). Plus précisément,pour les populations de taille inférieure à 50, tous les appariements obtenus sont to-talement stables. Sinon environ 96% des appariements sont stables. De plus, dans lescas instables, le nombre moyen de couples bloquants est réduit à 3.8. En revanche, lacomplexité de l’algorithme passe en O(n3).

La figure 3.17(a) montre la performance de BZ comparé à GS en fonction des taillesde population. Notons que l’amélioration de BZ par rapport à GS dépend de la taillede population. Au delà d’une taille 100, BZ est totalement meilleur que GS autantpour la satisfaction globale que l’égalité de sexe.

Page 75: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 63

Algorithm 4: Zigzag Bloqué (ZB)début

tant que existe un couple libres (m,w) fairepour chaque anti-diagonale, p+ q : min 7→ max faire

pour chaque diagonale, |p− q| : min 7→ max fairepour chaque couple (m,w) faire

si m et w sont libres alorsMarier m avec w

pour chaque anti-diagonale, p+ q : min 7→ max fairepour chaque diagonale, |p− q| : min 7→ max faire

pour chaque couple (m,w) fairesi (m,w) est un couple de blocage alors

Libérer les couples bloqués de m et wMarier m avec w

fin

Fig. 3.15 – Comparaison de la satisfaction globale entre méthodes : (a) GS homme-optimal, (b) GS femme-optimal, et (c) BZ

Page 76: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

64 3. Problème de mariages stables

Fig. 3.16 – Comparaison de l’égalité de sexe entre méthodes : (a) GS homme-optimal,(b) GS femme-optimal, et (c) BZ

(a) (b)

Fig. 3.17 – (a) Comparaison de la performance entre BZ et GS, (b) Nombre moyende couples de blocage par BZ

Page 77: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 65

Méthodes Instabilité (%) Couples de blocage (N)GS 0,00% 0,00ZB 3,90% 11,70RGS 87,90% 3,30RZm 100,00% 23,30RZw 100,00% 73,10

Tab. 3.13 – Comparaison de la stabilité, la satisfaction globale et l’égalité de sexe entreméthodes.

Distances Satisfaction Egalité de sexe|ZB −RGS| 280 189|ZB −RZm| 1614 1310|ZB −RZw| 8276 2080|GS −RGS| 1733 2714|GS −RZm| 854 4108|GS −RZw| 6277 4881

Tab. 3.14 – Distances entre méthodes.

En comparant BZ à RGS sur 3,000 instances de populations de taille 200, nousconstatons que BZ se comporte mieux que RGS quant à la satisfaction ou l’égalité desexe dans seulement βS

BZ>RGS = 35.77% et βEBZ>RGS = 8.13% des cas respectivement.

Néanmoins, BZ est globalement comparable à RGS. En effet, lorsque RGS est meilleurque BZ, l’écart entre leurs résultats n’est pas très important comme en témoignjentles distances suivantes : αS

RGS>BZ = 5.72% et αERGS>BZ = 7.24% sur la satisfaction et

l’égalité de sexe respectivement.

Pour la stabilité, seuls 3, 9% des appariements construits par BZ sont instables,contre 0% par GS et 87, 9% par RGS. Le nombre moyen de couples bloquants parappariement instable est 10, 8 pour BZ, contre 0 par GS, et 3, 3 pour RGS. Le tableau3.13 résume ces comparaisons numériques entre GS, RGS et BZ.

3.5.2 Analyse de l’instabilité des mariages

L’instabilité des mariages a été étudiée par plusieurs auteurs [70] [71] [72]. Pourcomprendre la cause de cette instabilité, examinons d’abord deux exemples d’appa-riement obtenus selon un algorithme de type BZ, donc en mariant les couples libreset en libérant les situations de blocage. Le tableau 3.15 montre une instance de troishommes et trois femmes. Le premier appariement obtenu apparaît dans le tableau 3.16,la première colonne présente les couples appariés et la seconde montre les situations deblocage (le couple de blocage, souligné, et les deux couples bloqués correspondants).

Page 78: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

66 3. Problème de mariages stables

Hommes Femmesl(m1) = w2, w1, w3 l(w1) = m1, m3, m2

l(m2) = w1, w3, w2 l(w1) = m3, m1, m2

l(m3) = w1, w2, w3 l(w1) = m1, m3, m2

Tab. 3.15 – Une instance de trois hommes et trois femmes

Appariement Situation de blocage1 : (m1, w1), (m2, w2), (m3, w3) (m1, w2) : [(m1, w1), (m2, w2)]

(m3, w2) : [(m3, w3), (m2, w2)]2 : (m1, w2), (m2, w1), (m3, w3) (m3, w1) : [(m3, w3), (m2, w1)]

(m3, w2) : [(m3, w3), (m1, w2)]3 : (m1, w2), (m2, w3), (m3, w1)

Tab. 3.16 – Exemple d’appariement sans cycle

Chaque ligne représente les résultats obtenus après avoir marié les couples libres etrésolu la situation de blocage. Ainsi, nous constatons qu’à l’étape 2 en libérant lescouples bloqués (m3, w3) et (m2, w1), et en mariant le couple (m3, w1), l’appariementdevient stable à l’étape 3 (aucune situation de blocage plus n’existe). Le tableau 3.17montre le deuxième appariement réalisé sur la même population, en choisissant lescouples libres à marier et les situations de blocage à enlever dans un ordre différent.Nous constatons qu’à l’étape 4 en libérant les couples bloqués (m1, w3) et (m3, w1), etpuis en mariant le couple (m1, w1), l’appariement obtenu redevient celui de l’étape 1.A partir de là, le processus des mariages boucle infiniment si bien que nous ne trouve-rons jamais d’appariement stable. Nous retenons ce type de situation comme la causeprincipale d’instabilité des mariages.

Selon l’algorithme BZ, l’ordre de visite des couples libres à marier et des situationsde blocage à libérer dépend explicitement du balayage de la table des mariages. C’estainsi que dans certaines circonstances des boucles se produisent, qui expliquent aumoins partiellement l’instabilité résiduelle. Si en supprimant les boucles on supprime

Appariement Situation de blocage1 : (m1, w1), (m2, w2), (m3, w3) (m1, w2) : [(m1, w1), (m2, w2)]

(m3, w2) : [(m3, w3), (m2, w2)]2 : (m1, w2), (m2, w1), (m3, w3) (m3, w1) : [(m3, w3), (m2, w1)]

(m3, w2) : [(m3, w3), (m1, w2)]

3 : (m1, w3), (m2, w1), (m3, w2) (m1, w1) : [(m1, w3), (m2, w1)]

(m3, w1) : [(m3, w2), (m2, w1)]4 : (m1, w3), (m2, w2), (m3, w1) (m1, w1) : [(m1, w3), (m3, w1)]

(m1, w2) : [(m1, w3), (m2, w2)]

Tab. 3.17 – Exemple d’appariement avec cycle

Page 79: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 67

l’instabilité des résultats on aura en même temps prouvé qu’elles sont dans BZ la seulecause de blocage.

Sous cette hypothèse, afin d’obtenir un appariement stable, il faut éviter tout bou-clage du processus de mariage en soignant la séquence des choix mariage/rupture. Pourcela, nous analysons d’abord les différents types de situations de blocage produits lorsdu déroulement de BZ.

Les situations de blocage

Nous classifions les situations de blocage dans la table des mariages, en quatre types :

Type 1 : cette situation est déjà expliquée au paragraphe 3.3. Elle est constituéed’un couple de blocage (m,w) qui interfère avec un couple bloqué par son homme(m,w?) et un autre couple bloqué par sa femme (m?, w). (m,w) n’est pas apparié dansM mais m préfère w à w? et w préfère m à m?. Ainsi, w? (m?) est le partenaire courantde m (resp. w) dans M. La situation se dessine dans la table des mariages commemontré figure 3.18(a).

Type 2 : cette situation se compose de µ couples de blocage (m,wj), j = 1 · · ·µcorrespondant à un couple bloqué par son homme (m,w?) et à µ couples bloqués parleurs femmes (m?, wj), j = 1 · · ·µ. (m,wj) n’est pas apparié dans M mais m préfèrewj à w? et wj préfère m à m?. La situation est illustrée figure 3.18 (b).

Type 3 : cette situation est une version symétrique du type 2. Elle combine ν couplesde blocage (mi, w), i = 1 · · ·ν qui concernent un couple bloqué par sa femme (m?, w)et ν couples bloqués par leurs hommes (mi, w?), i = 1 · · ·ν. (mi, w) n’est pas appariédansM mais mi préfère w à w? et w préfère mi à m?. La situation est celle de la figure3.18 (c).

Type 4 : cette situation est la conjonction des types 2 et 3. On a µ + ν couples deblocage (mi, w), (m,wj), où i = 1 · · ·ν et j = 1 · · ·µ , ν couples bloquées par leurshommes (mi, w?), i = 1 · · · ν, µ couples bloqués par leurs femmes (m?, wj), j = 1 · · ·µ,et un couple bloqué par les deux (m,w). (mi, w) et (m,wj), où i = 1 · · ·ν et j = 1 · · ·µne sont pas appariés dans M mais mi préfère w à w? et w préfère mi à m?. Et réci-proquement, m préfère wj à w? et wj préfère m à m?. Cette situation est représentéefigure 3.18 (d).

Notons toutes les situations de blocage ne se produisent pas à chaque parcours d’unetable des mariages donnée.

Comportements de l’oscillation

Le balayage de la table des mariages entraîne l’appariement d’individus libres etla libération d’individus mariés, si bien qu’en résolvant des situations de blocage on

Page 80: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

68 3. Problème de mariages stables

(a) (b)

(c) (d)

Fig. 3.18 – Les situations de blocage dans la table des mariages : (a) Type 1, (b) Type2, (c) Type 3, et (d) Type 4. Notons que les cercles représentent les couples de blocageet les carrés représentent les couples bloquées. Les textures verticales et horizontalesà l’intérieur des carrés indiquent les couples bloqués par les hommes et les femmesrespectivement. Et les textures à l’intérieur des cercles présentent le sexe des multiplesbloqueurs.

Page 81: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 69

en crée dynamiquement d’autres qui doivent être éliminées à leur tour. Non seulementles situations de blocage peuvent appartenir indifféremment à l’un des quatre typesprécédeents, mais encore nous constatons qu’après un balayage qui a marié les coupleslibres, plusieurs situations de blocage peuvent s’imbriquer. Une expérience sur 40,000instances tirées au hasard montre qu’au début du processus, les situations de blocagesont en majorité de type 1. Au fur et à mesure que le processus se développe, ces situa-tions deviennent de type plus complexe, i.e. type 2, 3 ou 4. Cela s’explique trivialementpar l’inférence logique suivante :

[(m,w?) est marié ] =⇒ [m et w? sont libérés ]alors [(m,w) bloque (m,w?)] et [(m?, w) est marié ]

=⇒ [m? est libéré et w est libéré puisque m est marié ]alors [(m,w) est marié ]

et [(m,w?) et (m?, w) sont libéré]=⇒ w? et m? sera marié dans le prochain balayage

Il est naturel de trouver que plus le processus boucle plus les distances dans la tableentre couples bloquant et couples bloqués correspondants sont longues, et que moinson détecte de situations plus le nombre de couples de blocage et de couples bloquésimpliqués augmente.

Enfin on observe que lors de l’évolution d’un appariement instable les situations deblocages cyclent en oscillant de part et d’autre de l’axe diagonal de la table. Ainsi, noussupposons que l’instabilité des mariages est causée par les deux facteurs conjugués : lecycle des situations de blocage et l’oscillation des couples de blocage correspondant.Les cycles traversent la diagonale potentiellement plusieurs fois, correspondant auxoscillations des couples de blocage, du côté homme vers le cêté femme et inversement.

Oscillation et élimination des cycles

Pour que l’appariement obtenu devienne stable, les oscillations et les cycles doiventêtre éliminés. Bien que ces phénomènes ne soient pas indépendants, nous les traitonsséparément.

Suppression des oscillations : l’oscillation est un phénomène qui est lié à l’égalitéde sexe. Pour l’éviter, il faut donc biaiser les mariages par une tendance hommes oufemmes d’abord. Nous examinons systématiquement les deux cas et gardons le meilleurpour ce qui est de la satisfaction et l’équiité résultatntes.

Elimination des cycles : le cycle est lié au choix des couples à marier lorsque plu-sieurs sont impliqués dans la même situation de blocage. C’est en mariant le couplechoisi et en libérant les couples bloqués correspondant que le cycle pourra être éliminé.Pour déterminer le couple optimal, nous considérons à nouveau les différents types :

Page 82: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

70 3. Problème de mariages stables

Type 1 : il existe un seul couple de blocage, donc pas de choix

Type 2 : dans cette situation tous les couples de blocage contiennent le même hommem avec des femmes wj différentes. Le meilleur choix serait donc le couple (m,w)∗ quicontient la femme w∗ ∈ {wj} que m préfère.

(m,w)∗ = {(m,w∗)�w∗ ≪m wj , j = 1, · · ·µ} (3.7)

Cependant, ce choix correspond à la tendance hommes d’abord. Il en existe unautre, tendance femmes d’abord, aussi efficace pour éliminer les cycles. En pratique, lechoix de tendance sera déterminé conformémemt à celui de la suppression des oscilla-tions. Ainsi dans la version "femmes d’abord", le choix optimal est celui concernant lafemme w∗ ∈ {wj} qui préfère m le plus.

Type 3 : c’est le symétrique du type 2 où tous les couples de blocage contiennentla même femme w avec des hommes mi différents. Le couple idéal (m,w)∗, selon lesfemmes, est celui qui contient l’homme m∗ ∈ mi que la femme w préfère.

(m,w)∗ = {(m∗, w)�m∗ ≪w mi, i = 1, · · · , ν} (3.8)

Et en version "hommes d’abord", le choix se porte sur le couple contenant l’hommem∗ ∈ mi qui préfère w.

Type 4 : il combine les types 2 et 3. Il existe dans ce cas deux groupes différents decouples de blocage. Mais le choix se bornera ici encore à la même alternative optimale,"hommes d’abord" (équation 3.7) ou "femmes d’abord" (équation 3.8) respectivement.

Dans le paragraphe suivant, nous proposons l’algorithme de mariages stables conçu,d’après BZ, en exploitant les critères présentés ci-dessus.

3.5.3 Zigzag Bloqué Stable (SBZ) homme-optimal (SBZm) ou

femme-optimal (SBZw)

L’algorithme SBZ concentre les résultats des études précédentes. Le fonctionne-ment est divisé en deux étapes. Lors de la première, on applique BZ sur la table desmariages visant à maximiser la satisfaction globale , l’égalité de sexe, puis la stabilitédans cet ordre. Rappelons qu’environ 3, 8% des appariements obtenus par BZ sontinstables. Lors de la deuxième étape, nous éliminons les oscillations et les cycles quisont apparus si l’appariement est instable. Il existe deux options : SBZm, i.e. SBZhomme-optimal, et SBZw, i.e. SBZ femme-optimal.

SBZm, listé dans algo.5, balaye la table en favorisant l’axe des hommes : les si-tuations de blocage sont recherchées et caractérisées en balayant les lignes de manièreascendante et chaque ligne de gauche à droite. Donc, les couples de blocage serontchoisis et mariés comme suit :

Page 83: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 71

(a) (b)

(c) (d)

Fig. 3.19 – Elimination des couples de blocage par SBZ homme-optimal : (a) type 1,(b) type 2, (c) type 3, et (d) type 4. L’étoile marque le couple de blocage sélectionné.

Type 1 : le (seul) couple de blocage est marié en libérant les couples bloqués relatifs,figure 3.19 (a).

Type 2 : le couple de blocage contenant la femme w∗ ∈ {wj}, j = 1, ..., µ que mpréfère est marié en libérant les couples bloqués correspondants ; voir figure 3.19 (b).

Type 3 : le couple de blocage contenant l’homme m∗ ∈ {mi}, i = 1, ..., ν qui préfèrew (i.e. le premier couple rencontré en balayant horizontalement la table) est marié enlibérant les couples bloqués correspondants, voir figure 3.19 (c).

Type 4 : strictement identique au type 2, voir figure 3.19 (d).

SBZw, voir algo.6, est la version symétrique de SBZm. Elle donne la priorité aucôté femmes par le balayage des colonnes de gauche à droite, et de chaque colonne debas en haut. La figure 3.20 montre le couple de blocage sélectionné pour chaque typede situation.

Page 84: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

72 3. Problème de mariages stables

(a) (b)

(c) (d)

Fig. 3.20 – Elimination des situations de blocage par SBZ femme-optimal

Page 85: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 73

Algorithm 5: Stable Zigzag Bloqué avec l’homme-optimaldébut

Exécution de BZtant que il y a la situation de blocage faire

pour chaque ligne : de gauche à droite fairepour chaque couple (m,w) faire

si m et w sont libres alorsMarier m avec w

pour chaque ligne : de gauche à droite fairepour chaque (m,w) est un couple de blocage faire

si (m,w) est un couple de blocage alorsIdentifier le type de la situationType 1 : (m,w)∗ = (m,w)Type 2 : (m,w)∗ = {(m,w∗)�w∗ ≪m wi}Type 3 : (m,w)∗ = {(m∗, w)�w≪m∗ (w ≪mi

)}Type 4 : (m,w)∗ = {(m∗, w∗)�w∗ ≪m wi }

pour chaque ligne : de gauche à droite fairepour chaque couple (m,w) faire

si (m,w) ∈ (m,w)∗ alorsLibérer les couples bloqués : (m,w?) et (m?, w)Marier m avec w

fin

Page 86: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

74 3. Problème de mariages stables

Algorithm 6: Stable Zigzag Bloqué avec la femme-optimaldébut

Exécution de BZtant que il y a la situation de blocage faire

pour chaque colonne : en bas vers en haut fairepour chaque couple (m,w) faire

si m et w sont libres alorsMarier m avec w

pour chaque colonne : en bas vers en haut fairepour chaque couple (m,w) faire

si (m,w) est un couple de blocage alorsIdentifier le type de la situationType 1 : (m,w)∗ = (m,w)Type 2 : (m,w)∗ = {(m,w∗)�m≪w∗ (m≪wi

)}Type 3 : (m,w)∗ = {(m∗, w)�m∗ ≪w mi}Type 4 : (m,w)∗ = {(m∗, w∗)�m∗ ≪w mi}

pour chaque colonne : en bas vers en haut fairepour chaque couple (m,w) faire

si (m,w) ∈ (m,w)∗ alorsLibérer les couples bloqués : (m,w?) et (m?, w)Marier m avec w

fin

Page 87: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 75

Performance de l’algorithme

Nous avons étudié expérimentalement la satisfaction globale, l’égalité de sexe, et lastabilité produites par SBZ en comparant avec GS et BZ. Plus de 800,000 instancesont été tirées au hasard (population de taille 200). Chaque algorithme est exécuté,les résultats sont affichés et analysés. Nous constatons qu’environ 40,000 appariementsfournis par BZ sont instables, alors qu’aucun appariement instable ne reste après SBZ.

Les figures 3.21, 3.22, 3.23 et 3.24 illustrent la comparaison de la satisfaction et del’égalité de sexe entre méthodes sur des sous-ensembles de 30 instances. On considéreà nouveau β le pourcentage des cas où SBZ est meilleur que BZ et que le meilleur GS.

Pour la satisfaction globale, en comparant SBZm et SBZw à BZ, βSSBZm>BZ = 72%

et βSSBZw>BZ = 72, 8% respectivement, voir figure 3.21. De même, en comparant SBZm

et SBZw au meilleur GS, βSSBZm,w>min(GSm,GSw) = 100% dans les deux cas : SBZ est

toujours meilleur que GS, voir figure 3.23.

Pour l’égalité de sexe, en comparant SBZm et SBZw à BZ, βESBZm>BZ = 58, 4%

et βESBZw>BZ = 56% respectivement, voir figure 3.22. Et SBZm autant que SBZw sont

toujours meilleurs que GS, βESBZm,w>min(GSm,GSw) = 100% dans les deux cas, voir figure

3.24.

Notons que dans la plupart des cas où le meilleur SBZ est meilleur que BZ,les distances entre SBZm et SBZw sont importantes aussi bien sur la satisfactionque sur l’égalité de sexe, et souvent BZ est meilleur que l’autre SBZ. Plus préci-sément l’éventuelle amélioration par SBZ sur BZ est faible : l’écart de satisfactionest SBZ−SSBZ

SBZ= 3, 17% en moyenne en version homme-optimal et 3, 15% en version

femme-optimal, et l’écart sur l’égalité de sexe EBZ−ESBZ

EBZ= 3, 41% en moyenne homme-

optimal et 3, 48% femme-optimal. En revanche, quand BZ est meilleur que le meilleurSBZ, les écarts entre eux sont plus importants : la satisfaction SSBZ−SBZ

SSBZ= 18, 81% en

moyenne version homme-optimal et 21, 28% version femme-opimal, et l’égalité de sexeESBZ−EBZ

ESBZ= 32.16% et 33.17% respectivement. En résumé,

1. si la stabilisation coûte elle coûte environ 20% en satisfaction et 33% en équité,

2. si la stabilisation rapporte encore, on gagne environ 3%.

Notons que le coût en équité de la stabilisation est supérieur à celui en satisfactionparceque cette dernière est systématiquement considérée prioritaire.

Comme dernier indice, comparons la moyenne absolue des différences entre mé-thodes :

γS,Ex>y =

∑∀i∈I |x− y|NI

(3.9)

Sur la satisfaction quand BZ surpasse SBZ, γSBZ>SBZ = 1258, quand SBZ surpasse

BZ, γSSBZ>BZ = 166 ; sur l’égalité de sexe quand BZ surpasse SBZ, γE

BZ>SBZ = 1298,

Page 88: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

76 3. Problème de mariages stables

Fig. 3.21 – Satisfaction globale entre méthodes : (a) BZ, (b) SBZm, et (c) SBZw

Fig. 3.22 – Egalité de sexe entre méthodes : (a) BZ , (b) SBZm , et (c) SBZw

quand SBZ surpasse BZ, γSSBZ>BZ = 95.

Plus généralement, pour conclure cette partie nous évaluons de façon systématiqueles performances des méthodes BZ, RZ, RGS avec GS comme base de référence, etpuis leurs versions S−stabilisées. L’étude concerne un même ensemble de 1,000 ins-tances de population de taille 200 quelle que soit la méthode. Leurs résultats sontrésumés dans les tables 3.19, 3.18. Tous les indices de performance introduits au longdu chapitre sont affichés pour être comparés d’un coup d’oeil.

Au delà de ces performances, choisir entre ces différentes méthodes est une questiond’application.

Les figures 3.25 − 3.26 montrent les comparaisons de la satisfaction et l’égalité desexe obtenues par OZ, SOZ, BZ, SBZ, RZm, SRZm, RZw, SRZw, RGS, SRGS res-pectivement avec celles obtenues par GS .

Il apparaît finalement que SBZ est globalement meilleur que les autres. Cepen-dant, sa complexité est en O(n4) qui paraît élevée comparé à BZ ou SRGS, O(n3), etGS, O(n2). Pour mieux cerner cette notion, nous revenons sur la complexité réelle auparagraphe suivant, et confirmons par des mesures de temps d’exécution.

Page 89: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 77

Fig. 3.23 – Satisfaction globale entre méthodes : (a) GSm (b) GSw (c) SBZm (d) SBZw

Fig. 3.24 – Egalité de sexe entre méthodes : (a) GSm, (b) GSw, (c) SBZm, et (d)SBZw

Instabilité (%) Couples de blocageOZ 100,00% 106SOZ 0% 0BZ 3,20% 9,94SBZ 0% 0RZm 100% 23,34SRZm 0% 0RZw 100% 73,26SRZw 0% 0RGS 87,60% 3,37SRGS 0% 0

Tab. 3.18 – Comparaison de performances sur la stabilité entre méthodes.

Page 90: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

78 3. Problème de mariages stables

{β, α, γ}SX>GS {β, α, γ}SGS>X {β, α, γ}EX>GS {β, α, γ}EGS>X

βOZ 98,80% 1,20% 100,00% 0%αOZ 22,93% 2,26% 46,88% 0%γOZ 1724 126 2666 0βSOZ 52,80% 47,20% 52,30% 47,70%αSOZ 0,41% 18,46% 0,65% 32,52 %γSOZ 33 1256 41 1557βBZ 100,00% 0% 100,00% 0%αBZ 26,43% 0% 48,39% 0%γBZ 1973 0 2746 0βSBZ 99,70% 0,30% 99,80% 0,20%αSBZ 26,45% 10,51% 48,27% 26,70%γSBZ 1973 633 2739 1088βRZm

63,30% 36,70% 100,00% 0%αRZm

12,04% 10,87% 73,56% 0%γRZm

953 680 4057 0βSRZm

91,40% 8,60% 100,00% 0%αSRZm

18,10% 4,91% 52,20% 0%γSRZm

1383 281 2943 0βRZw

0,20% 99,80% 100,00% 0%αRZw

10,22% 90,34% 88,43% 0%γRZw

875 6307 4831 0βSRZw

73% 27% 88,10% 11,90%αSRZw

13,24% 9,68% 32,18% 15,74 %γSRZw

1035 595 1899 596βRGS 98,80% 1,20% 100,00% 0%αRGS 22,93% 2,39% 46,88% 0%γRGS 1723 133 2666 0βSRGS 99,30% 0,70% 100,00% 0%αSRGS 23,73% 2,33% 45,42% 0%γSRGS 1779 127 2588 0

Tab. 3.19 – Comparaison de performances sur β, α, γ entre méthodes.

Page 91: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.5. Algorithmes de mariages fortement-stables 79

Fig. 3.25 – Comparaison de la satisfaction globale (avant S−stabilisation àgauche/après S−stabilisation à droite) entre méthodes : (a) le meilleur GS, (b)OZ/SOZ, (c) BZ/le meilleur SBZ, (d) le meilleur RZ/le meilleur SRZ (e)RGS/SRGS

Fig. 3.26 – Comparaison de l’égalité de sexe (avant S−stabilisation à gauche/aprèsS−stabilisation à droite) entre méthodes : (a) le meilleur GS, (b) OZ/SOZ, (c) BZ/lemeilleur SBZ, (d) le meilleur RZ/le meilleur SRZ (e) RGS/SRGS

Page 92: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

80 3. Problème de mariages stables

µ25 σ25 µ50 σ50 µ75 σ75 µ100 σ100

GSm 0,07 0,02 0,40 0,95 0,78 0,31 1,88 2,53GSw 0,07 0,03 0,73 2,25 0,75 0,39 1,29 0,44ZZm 0,22 0,37 0,78 0,15 1,77 0,12 3,88 1,42ZZw 0,16 0,06 0,61 0,06 1,61 0,15 3,94 2,10OZ 0,15 0,07 2,10 9,80 1,89 1,35 4,40 3,03SOZm 2,00 1,06 27,62 12,91 133,95 52,43 475,33 213,15SOZw 2,40 3,33 30,42 8,93 131,87 51,66 465,24 200,73BZ 1,33 1,58 11,74 6,78 57,46 23,03 195,10 100,96SBZm 1,29 1,95 11,49 7,58 56,60 19,27 190,36 78,86SBZw 2,71 3,26 12,29 8,08 56,53 19,54 190,06 74,46RZm 2,70 2,95 8,06 4,42 23,26 9,62 57,66 8,91RZw 2,52 3,04 11,65 5,92 26,63 1,86 50,15 20,66SRZm 2,34 2,52 12,31 10,31 41,97 15,88 96,57 36,35RGSm 1,55 1,49 9,52 5,24 26,45 10,53 55,07 4,10RGSw 1,34 0,73 11,28 5,84 29,01 10,34 58,89 8,08SRGSm 3,79 3,20 27,12 14,80 104,39 37,94 382,09 150,98SRGSw 6,11 3,48 31,03 11,23 119,85 35,98 423,17 147,19

Tab. 3.20 – Comparaison des temps d’exécution (en mili-secondes) entre les procédures.

3.6 Retour sur la complexité

Dans cette section, nous abordons la complexité réelle des algorithmes proposés.Nous avons tout au long de ce chapitre cerné la notion de complexité algorithmique clas-siquement en pire cas O(), nombre maximal d’opérations à exécuter pour une taille depopulation n. En général la complexité réelle mesurée par expérience est bien moindre.Nous mesurons ici le temps d’exécution des algorithmes sur une même machine. Noussavons que le temps mesuré ne donne pas la rapidité exacte des algorithmes puisqu’ildépend énormément des caractéristiques de la machine utilisée qui peut favoriser tel outel type de calcul et comprend des appels système ou des aller-retour disque indépen-damment de la procédure exécutée ou fonction des données. Nous postulons néanmoinsque ce temps d’exécution supporte de manière réaliste la comparaison entre complexi-tés des algorithmes relativement à leur complexité théorique.

Nous mesurons le temps d’exécution sur la machine PowerBook G4. Chaque algo-rithme est exécuté sur 100 instances tirées au hasard, pour les populations suivantes :25, 50, 75, 100, 125, 150, 175 et 200. Remarquons que la taille des listes de préférencedans nos applications des chapitres 4 et 5 ne sera jamais supérieure à 100 avec despopulations de l’ordre de 1000 points d’intérêt, d’où le choix de 200 pour la simulationmaximale. Les tableaux 3.20 et 3.21 montrent le temps d’exécution en moyenne dechaque algorithme et selon la population correspondante.

Nous pouvons constater d’emblée que l’algorithme GS est bien le plus rapide dans

Page 93: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.6. Retour sur la complexité 81

µ125 σ125 µ150 σ150 µ175 σ175 µ200 σ200

GSm 2,50 1,00 5,42 5,54 6,63 2,61 12,05 6,60GSw 2,82 1,74 5,64 3,66 9,94 5,69 17,43 11,77ZZm 8,58 4,49 11,57 4,59 18,18 4,13 30,46 16,29ZZw 9,23 3,13 19,19 10,96 16,29 4,30 24,28 7,60OZ 9,02 3,36 14,44 13,07 18,12 4,34 28,28 7,60SOZm 969,59 450,35 2011,19 877,49 3138,81 1452,81 5202,98 2068,68SOZw 964,09 457,60 1973,66 876,65 3133,02 1473,45 5202,78 2052,32BZ 427,14 299,84 872,23 568,89 1197,73 802,75 2207,85 1951,24SBZm 379,01 145,97 773,11 286,35 1055,48 325,80 1734,84 673,72SBZw 369,23 136,68 815,14 355,41 1059,93 321,12 1729,60 683,41RZm 71,23 9,13 127,08 20,39 162,39 7,93 272,05 26,13RZw 83,45 6,76 151,66 27,64 197,69 17,30 323,86 27,80SRZm 168,58 60,93 317,20 140,68 446,91 199,70 767,10 344,03RGSm 83,84 4,53 150,42 15,75 201,79 12,52 333,48 31,30RGSw 90,22 7,69 169,04 32,18 216,04 9,31 363,08 33,81SRGSm 732,48 325,56 1450,42 705,37 2019,99 793,77 3063,10 1230,53SRGSw 850,50 296,04 2013,95 861,32 2202,83 799,31 4501,65 2071,28

Tab. 3.21 – Comparaison des temps d’exécution (en mili-secondes) entre les procédures.

tous les cas, et que son temps d’exécution mesuré augmente avec la population t(n) =

−1.13 + 0.070n − 0.001n2 + 5.73 × 10−6n3. Si nous comparons seulement les algorithmesbasés sur la table des mariages, ZZ est le plus rapide, t(n) = −0.042+0.008n−0.0001n2 +

3.9× 10−6n3, correspondant bien au fait que son balayage de la table est le plus simple.OZ est notre première tentative d’améliorer le résultat quant à la satisfaction et l’éga-lité de sexe. Même si la complexité théorique de OZ est du même ordre que celle deZZ en O(n2), son temps est légèrement plus long interprétable par le fait que son par-cours de la table est plus complexe t(n) = −1.482 + 0.078n − 0.00066n2 + 5.1 × 10−6n3.Notons que OZ est totalement instable avec donc le nombre de couples de blocagele plus important, ce qui explique pourquoi SOZm,w est le plus lourd parmi toutesles versions stabilisées (la complexité théorique S−stabilisée est de l’ordre O(n4)),t(n) = −40.94 + 3.321n − 0.089n2 + 0.001n3.

BZ dont la complexité théorique est O(n3) est une version qui essaie de réduirel’instabilité des mariages en gardant au mieux la satisfaction et l’égalité de sexe, l’aug-mentation systématique du temps d’exécution lors de cette amélioration est consta-tée sur la table, t(n) = −8.753 + 0.897n − 0.0297n2 + 0.00039n3. En renforçant la sta-bilité sur BZ, nous remarquons que SBZ s’exécute en moins de temps que BZ,t(n) = 9.269 − 0.254n + −0.007n2 + 0.00026n3. Ce phénomène s’explique par le fait quedans le cas où BZ est instable le balayage boucle sur la table un nombre fixé d’itéra-tions. Si bien que la boucle consomme plus de temps que l’exécution S−stabilisée surBZ lorsque le nombre effectif de couples de blocage est faible (très fréquent en pra-tique). Ceci constitue une illustration exemplaire de ce que nous voulons prouver avec

Page 94: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

82 3. Problème de mariages stables

la présente étude : du point de vue pragmatique de l’implantation effective dans unsystème réel (voir le véhicule PICAR au chapitre suivant par exemple) une complexitéthéorique élevée comme O(n4) ne préjuge pas d’une exécution réelle rapide fonction parexemple de données bien préparées (par exemple issues d’une segmentation qui limiteles ambiguïtés).

Concernant RZ, les résultats obtenus sont totalement instables avec un grandnombre de couples de blocage. Cependant la supression de l’instabilité par SRZ laisseégalement des mariages très favorables au sens de la satisfaction et de l’égalité de sexe.Pour ce qui est de son temps d’exécution, nous constatons que le balayage de la tabledes mariages retournée favorise énormément un fonctionnement plus rapide de la S-stabilisation de RZ, t(n) = 1.177 − 0.042n + 0.0015n2 + 8.183 × 10−5n3, notamment encomparant avec SOZ, t(n) = −40.94 + 3.321n − 0.089n2 + 0.001n3 à 10% près. En re-vanche, l’introduction directe de la satisfaction et de l’égalité de sexes dans les listesde préférences pour appliquer GS, à savoir l’algorithme RGS, ne bénéficie pas de larapidité de GS. Nous constatons en effet que la méthode présente un temps d’exécutionélevé, quasiment identique à SOZ. Notons que RGS est aussi totalement instable avecun nombre de couples de blocage important.

Finalement il apparaît que si on vise une satisfaction et une équité globalementoptimales sans compromis sur la stabilité le facteur clef de l’efficacité d’appariementest le nombre réel de couples de blocage. Si bien que l’alternative qui résulte de l’étudeest : SBZ pour une qualité maximale du résultat ou SRZ pour une rapidité maximaleà qualité statistiquement dégradée de 15% au maximum (cf. table 3.19).

Les figures 3.27 et 3.28 montrent les graphes du temps d’exécution pour toutesméthodes.

3.7 Conclusion

Dans ce chapitre, nous avons proposé et évalué des algorithmes de mariages stablesbasés sur la table des mariages dont la définition et les caractéristiques ont été présen-tées. Les algorithmes obéissent à différents modes de balayage de la table, définissantles propriétés du résultat correspondant. D’abord, nous avons présenté trois balayagesdestinés à respecter progressivement dans cet ordre les trois critères satisfaction glo-bale, égalité de sexe et stabilité : soit respectivement ZZ, OZ, et RZ ces algorithmes.Parmi ces trois, la satisfaction et l’égalité de sexe sont retrouvées directement fonc-tion de la qualité de la projection des listes de préférences sur la table des mariages.Pour garantir la pleine stabilité une procédure directe de suppression des couples deblocage est conçue et examinée. L’algorithme BZ issu de cette étude satisfait les troiscritères conjointement dans 95 % des cas au prix d’une augmentation de la complexitéthéorique de O(n2) à O(n3). Pour les 5 % d’instances restantes, une analyse de l’in-stabilité résiduelle est menée. Elle détermine quatre types de situations qui mènent àl’algorithme SBZ où l’on éclate les couples de blocage de manière adaptée au type de

Page 95: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.7. Conclusion 83

(a) GSm, t(n) = −0.14 + 0.0087n − 4.71e − 5n2 + 1.39 × 10−6n3 (b) GSw, t(n) = −1.13 + 0.070n − 0.001n2 + 5.73 × 10−6n3

(c) ZZm, t(n) = −0.299 + 0.027n − 0.00034n2 + 4.67 × 10−6n3 (d) ZZw, t(n) = −0.042 + 0.008n − 0.0001n2 + 3.9 × 10−6n3

(e) OZ, t(n) = −1.482 + 0.078n − 0.00066n2 + 5.1 × 10−6n3 (f) SOZm, t(n) = −28.54 + 2.54n − 0.078n2 + 0.00098n3

(i) SOZw, t(n) = −40.94 + 3.321n − 0.089n2 + 0.001n3 (j) BZ, t(n) = −8.753 + 0.897n − 0.0297n2 + 0.00039n3

(k) SBZm, t(n) = 7.327 − 0.236n − 0.006n2 + 0.00025n3 (l) SBZw, t(n) = 9.269 − 0.254n + −0.007n2 + 0.00026n3

Fig. 3.27 – Temps d’exécution des méthodes

Page 96: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

84 3. Problème de mariages stables

(m) RZm, t(n) = −2.243 + 0.135n + 0.001n2 + 2.25 × 10−5n3 (n) RZw, t(n) = −8.648 + 0.52n + −0.004n2 + 4.86 × 10−5n3

(o) SRZm, t(n) = 1.177 − 0.042n + 0.0015n2 + 8.183 × 10−5n3 (p) RGSm, t(n) = −8.191 + 0.444n − 0.0034n2 + 4.58 × 10−5n3

(q) RGSw, t(n) = −11.39 + 0.601n − 0.005n2 + 5.40 × 10−5n3 (r) SRGSm, t(n) = 4.570 + 0.149n − 0.019n2 + 0.0005n3

(s) SRGSw, t(n) = −9.937 + 1.378n + −0.047n2 + 0.0007n3

Fig. 3.28 – Temps d’exécution des méthodes

Page 97: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

3.7. Conclusion 85

situation. Alors que la stabilité des résultats est désormais garantie, on observe que lasatisfaction et l’égalité de sexe sont encore améliorées dans 60 à 70% des cas traités, etqu’en revanche quand elles diminuent c’est également dans une proportion importanted’environ 50% de l’amplitude fournie par BZ. La complexité théorique augmente deO(n3) à O(n4) entre BZ et SBZ. Cependant, la procédure S de suppression des couplesde blocage s’applique après n’importe lequel des algorithmes précédents ZZ, OZ, RZ,et RGS, et la complexité subit alors une augmentation de O(n2) à O(n3). Mais il s’agitlà de complexité classique en pire cas, or d’une part ces algorithmes en partie combi-natoires sont fortement dépendants de données que nous élaguons au mieux, et d’autrepart la nature temps réel et variée de nos applications demande une étude plus réalistedu temps d’exécution à espérer. C’est pourquoi nous avons conclu cette phase de notrerecherche par une expérimentation dont les résultats sont encourageants en ce qu’ilsindiquent que statistiquement la complexité sera bien loin de sa borne supérieure, enréalité O(n3) au lieu du O(n4) redouté.

Page 98: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

86 3. Problème de mariages stables

Page 99: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

87

Chapitre 4

Un système de mise en correspondance

4.1 Introduction

Dans ce chapitre nous présentons en détails une méthode complète de mise encorrespondance d’images. Comme déjà montré en introduction, les méthodes d’appa-riement efficaces sont nécessaires dans tous les secteurs du traitement d’image : de lasegmentation i.e. la détection d’objet ou leur reconstruction en trois dimensions parstéréovision, à la reconnaissance des formes i.e. l’identification d’un modèle ou la classi-fication. La notion d’efficacité de la mise en correspondance présente alors de multiplessignifications intéressant des propriétés aussi différentes et variées que : l’extraction etle codage de données, la simplicité du modèle, la limitation d’hypothèse, la robustesseaux ambiguïtés, la complexité etc. Dans un tel contexte, lorsque l’on pense une mé-thode d’appariement elle doit viser à résoudre une classe de problèmes suffisammentgénérale. De nombreuses méthodes ont été ainsi proposées pour réaliser la mise encorrespondance d’images. Comme nous l’avons présenté dans le premier chapitre "étatde l’art" l’existant se divise en deux approches générales selon l’abstraction des infor-mations image : niveau pixel ou niveau primitive. Les algorithmes classiques réalisantl’appariement de primitives entre images sont du type relaxation, vote, programmationdynamique, recherche arborescente etc.

De l’ensemble ci-dessus nous retenons deux éléments.La technique de relaxation fonctionne de manière itérative. Des correspondances ini-

tiales entre primitives sont construites. Toutes les correspondances possibles de chaqueprimitive se voient associer des mesures interprétables comme des probabilités d’appa-riement. En tenant compte des compatibilités entre associations de primitives voisines,ces probabilités seront au fur à mesure mises à jour. Les appariements corrects entreprimitives sont donc ceux qui terminent avec la probabilité la plus élevée.

La méthode de vote dont l’archétype est la transformation de Hough [73] est unautre algorithme efficace. D’abord les primitives ( ex. lignes de niveau) sont soigneu-sement codées (ex. en segments), et puis classées en plusieurs sous populations selonla confiance a priori en leur extraction. Ensuite, un processus de vote qui peut être à

Page 100: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

88 4. Un système de mise en correspondance

plusieurs tours dans l’espace des paramètres converge efficacement vers les correspon-dances correctes qui renvoient à la transformation globale si elle existe. L’efficacité decette méthode est donc dans le sens où des ambiguïtés (e.g. les formes répétitives) sontéliminées dans le plan global d’image par renforcement des primitives les plus fiablesau détriment des autres.

Le principe de notre méthode de mise en correspondance s’inspire à la fois de latechnique de relaxation et de la méthode de vote. On cherche à trouver les meilleurescorrespondances au sens d’un compromis optimal local/global. La méthode de décisionn’exploite pas une mesure des candidats comme critère principal de décision (prére-quis de relaxation) ; un algorithme de mariages stables sera appliqué, il ne demandequ’un classement des candidats. Les meilleures correspondances résultent de l’élimina-tion de conflits locaux entre primitives d’après ces préférences. L’efficacité est donc icide garantir qu’aucune contradiction logique n’apparaît localement pendant le processusd’appariement global entre les deux ensembles de primitives.

Dans la section 4.2, notre système de mise en correspondance est présenté. Ensuite,son efficacité est évaluée pour le système de recalage et le système de stéréovision dansles sections 4.3 et 4.4 respectivement. Les résultats sont ainsi comparés avec les autresméthodes comme la méthode de vote et la méthode de programmation dynamique quiavaient été développées antérieurement au laboratoire.

4.2 Un système pour la mise en correspondance des

jonctions en multi échelle

L’extraction des jonctions par la méthode EFLAM [74] et les algorithmes de ma-riages stables [75] [76] [77] pour la mise en correspondance, ont été développés in-dépendamment dans les chapitres 2 et 3 respectivement. Si on s’en tient à une telleséquence, la mise en correspondance n’est effectuée que quand toutes les jonctions ontété extraites. De cette manière, les mariages organiseront une mise en correspondanceoptimale parmi toutes les solutions possibles à un instant donné.

Or, quasiment par définition, la photographie instantanée d’un phénomène dyna-mique engendre des données incomplètes pour l’appariement et bruitées par les intrus.Comme l’optimisation sur graphe bipartie qu’est un mariage stable force un résultatoptimal le plus complet possible, celui-ci est presque sûrement biaisé. D’autres tech-niques considérées aujourd’hui plus classiques, comme des méthodes de vote que nousavons essayées ou la relaxation, ne cherchent pas directement la solution optimale maisvisent à améliorer le résultat au fil des passes. De cette façon, elles laissent une chance àtous les éléments de s’exprimer pour construire les meilleures correspondances possibles.

Cette section est justement consacrée à un processus de mise en correspondancemulti échelle des jonctions basé sur les algorithmes de mariages stables. Par le biais de

Page 101: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 89

la variation d’échelle adaptée, nous réintroduisons une dynamique susceptible d’amé-liorer la correspondance obtenue à partir de plusieurs résultats localement optimaux.Chaque appariement est acquis en fonction de la valeur du paramètre E .

En effet l’extraction des jonctions selon le modèle EFLAM est paramétrée par Ei.e. l’extension du flot, autrement dit le nombre maximal des lignes de niveau passantà travers la jonction. Ce sont ces mêmes lignes qui matérialisent les frontières entre lesdeux ou trois régions autour d’un point de jonction. Par définition, les jonctions présen-tant une grande valeur de E figureront la structure principale d’objets dans l’image. Etlorsque la valeur de E est faible, les jonctions dessineront la surface de l’objet. A l’ex-traction des jonctions, le modèle EFLAM, suppose la définition des valeurs maximaleet minimale du paramètre E , ainsi que son pas de variation. Ces valeurs conditionnentla répartition des jonctions de lignes de niveau sur l’ensemble de la structure et de lasurface d’objet.

(a) (b)

Fig. 4.1 – La mise en correspondance en multi échelle sur E : (a) le système pourl’analyse du mouvement, (b) le système pour la stéréovision

La figure 4.1 montre le diagramme complet de la mise en correspondance multiéchelle. Les cercles symbolisent les opérations telles que D = différence, E = extractiondes jonctions, P = préparation les listes de préférences M = mise en correspondance, F= filtrage spatial, et R = retard. Notons que les carrés symbolisent les résultats aprèsopération.

Page 102: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

90 4. Un système de mise en correspondance

La figure 4.2 montre un exemple de mise en correspondance pour illustrer le fonc-tionnement de chaque étape. La première ligne de cette figure montre une suite de deuximages à analyser où il existe deux objets en mouvement. Le but est donc de mettre encorrespondance ces objets. La deuxième ligne expose (a) le sous ensemble des jonctionsextraites image par image lors de la première passe, et (b) les flots (incluant les intrusque le lecteur repèrera sans difficulté) fournis par l’algorithme de mariages stables. Latroisième ligne indique (a) les flots obtenus après élimination des intrus, (b) les jonc-tions d’image à apparier, première et deuxième passe confondues : les nouvelles sontcerclées, les recyclées (anciens intrus) sont remises pour mémoire. La dernière lignemontre (a) les flots (intrus inclus) à nouveau obtenus par l’algorithme de mariagesstables en utilisant les nouvelles jonctions et les laissés pour compte de la passe précé-dente, et (b) les flots obtenus en fin du processus après filtrage.

L’initialisation du processus se fait par différence d’images consécutives (le mou-vement) pour limiter la zone d’extraction des jonctions. Le processus débute avec lavaleur de E maximale et les jonctions sont extraites des deux images séparément dansla zone prédéterminée. La méthode de l’extraction des jonctions repose sur le modèleEFLAM présenté dans le chapitre 2.

Ensuite, un des algorithmes de mariages stables sera appliqué pour la mise en cor-respondance entre jonctions. En pratique le choix de l’algorithme dépend des critèresdéjà mentionnés (chapitre 3) : satisfaction globale, égalité des sexe, stabilité et com-plexité. Nous utilisons ici l’algorithme dit SBZ pour expérimenter le système. Lescorrespondances obtenues sont considérées comme flots dont l’orientation et la "vi-tesse" (amplitude de déplacement apparent) sont ainsi déterminées.

On déclenche ensuite une opération de filtrage pour l’élimination des intrus. Le filtreisole un intrus en comparant localement son orientation et sa vitesse à celles des majo-ritaires. Nous interprétons les intrus comme les éléments dont le conjoint-jonction réeln’a pas encore été extrait. En conséquence nous les libérons comme jonctions "céliba-taires" et les renvoyons vers M pour tentative d’appariement à la prochaine itération.Nous représentons le fait sur le diagramme par le retard D vers l’opération M . Ceuxqui ne sont pas des intrus seront réemployés par le filtre à la prochaine étape sousl’hypothèse qu’ils renforcent la majorité locale. Notons cependant que rien n’interditqu’eux-mêmes deviennent des intrus après un filtrage ultérieur s’ils sont minoritaires.Aux étapes suivantes, la valeur de E diminuant par pas prédéfinis, le nombre de jonc-tions extraites ainsi que leur densité augmentent. Le processus termine quand E atteintla valeur minimale.

Selon une telle procédure, les jonctions peuvent évoluer pour trouver la meilleurecorrespondance possible : les algorithmes de mariages stables introduise une contrainteglobale à l’objet en devenir et le filtre compense localement sur les correspondancesobtenues.

Page 103: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 91

(a) (b)

Fig. 4.2 – Un exemple de la mise en correspondance

Page 104: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

92 4. Un système de mise en correspondance

Un des avantage important de cette procédure est que le choix de E n’est pas ap-paru critique : nous n’avons pas besoin de trouver les valeurs exactes de E . Les valeursmaximale, minimale et incrément peuvent rester approximatives, on représentera en-core la structure principale et nécessaire des objets de manière utile. La valeur du pasinterviendra sur le nombre d’itérations du processus. Plus l’intervalle est petit mieuxles jonctions pourront trouver leurs correspondants, mais plus le temps d’exécutionaugmentera. De même, le seuil sur E ne joue pas un rôle véritablement décisif dans lamise en correspondance. Mais il existe de "bons" choix de E qui donnent de meilleursrésultats que les "mauvais" !

Nous discutons dans les sections suivantes les opérations P , M , et F respectivement

4.2.1 Préparation des listes de préférences

La liste de préférences est un codage intermédaire nécessaire avant de mettre encorrespondance des primitives. Il s’agit d’établir toutes les correspondances possiblesentre deux ensembles de primitives.

La création de la liste de préférences des primitives est effectuée en deux étapessuivantes :

Etape 1 : chaque primitive dans la première image (ou image gauche pour la sté-réovision) cherche les primitives correspondantes dans la deuxième image (ou imagedroite) dans une zone de recherche pré-établie. Remarquons que la mise en correspon-dance dans une séquence d’images est en général plus difficile que dans un systèmestéréoscopique. En effet, dans ce cas là on manque de connaissance a priori sur le mou-vement d’objets d’où une difficulté pour établir la zone de recherche. Par contre, dansla stéréovision, la relation entre les caméras est accessible par la contrainte épipolaire.Cette contrainte permet d’établir plus précisément la zone de recherche et rend la mé-thode plus efficace.

Pour créer la liste de préférences, toutes les primitives qui se trouvent dans la zone derecherche ne sont pas acceptées. Nous présentons dans la section suivante les contraintesde compatibilité entre jonctions. Nous éliminons celles qui sont incompatibles.

Etape 2 : il s’agit de calculer la similarité entre primitives de chaque correspon-dance. Cette valeur est traduite comme la préférence d’une primitive pour l’autre. Laliste de préférence est le résultat d’un tri sur ces similarités. Notons que le nombre desprimitives sur la liste de préférence varie pour chaque primitive.

Comme déjà expliqué dans la section précédente, cette opération est un préalableà l’exécution de l’algorithme de mariage stable. Algo. 7 montre l’algorithme completpour cette préparation des listes de préférences.

Page 105: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 93

Algorithm 7: Préparation des listes de préférencesdébut

pour chaque primitive p dans l’image I faireDéterminer la zone de recherche Wpour chaque primitive p′ dans W faire

si p′ est compatible avec p alorsMettre p′ sur la liste de préférences de pMettre p sur la liste de préférences de p′

Calculer la similarité entre p et p′

Trier la liste de préférences de p

pour chaque primitive p′ dans l’image I ′ faireTrier la liste de préférences de p′

fin

Compatibilité de primitives

La compatibilité entre primitives est définie essentiellement sous contrainte géomé-trique et photométrique des jonctions de lignes de niveau en supposant une relativecontinuité (absence de catastrophe d’une image à l’autre). Ces contraintes permettentd’éliminer un certain nombre des candidats au mariage. Il s’en suit une réduction dela complexité algorithmique, et en même temps une efficacité accrue de la mise en cor-respondance.

Selon le modèle EFLAM, le flot principal de jonction est systématiquement dé-terminé. Sa direction est en pratique invariante en rotation lors d’une transformationdonnée. En mesurant par rapport à ce flot, il se trouve qu’étant donné une orientationdes angles l’ordre des intensités de région autour d’une jonction reste inchangé d’uneimage à l’autre. La première contrainte est donc : si deux primitives sont compatibles,alors l’ordre des intensités devra être le même. La figure 4.3 montre deux exemplesd’ordre des intensités autour d’une jonction.

Contrainte 1 Deux primitives sont compatibles si elles présentent le même ordre desintensités de région autour des jonctions.

De la même manière, de part et d’autre du flot principal de jonction les anglesentre ce flot et les autres sont automatiquement résolus, voir la figure 4.4(a). Lorsqueces angles subissent une transformation donnée, affine ou perspective, ils ne peuventpas géométriquement être modifiés de plus de 180 degrés. La figure 4.4 (a) et (b) montredeux jonctions qui sont incompatibles, puisque que l’angle θ1 de (a) ne peut pas êtretransformé en l’angle θ1 de (b) quelle que soit la transformation.

Page 106: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

94 4. Un système de mise en correspondance

(a) (b)

Fig. 4.3 – L’ordre des intensités autour de jonctions

Contrainte 2 Les angles entre flots ne changent pas de plus de 180 degrés.

(a) (b)

Fig. 4.4 – Angles entre les flots de jonctions

Le troisième type de compatibilité entre primitives intéresse la contrainte photomé-trique suivante. Deux primitives sont compatibles si elles partagent au moins une lignede niveau . Si F1 et F2 sont les flots principaux de jonctions, alors.

F1 ∩ F2 6= φ (4.1)

La figure 4.5 montre le type de situation où deux primitives sont compatibles.

Contrainte 3 Il existe au moins une ligne de niveau partagée par deux primitives.

Notons encore que cette contrainte n’est pas totalement impérative, elle peut s’avé-rer fausse si le changement de contraste entre images est très important. L’utilisationde ce critère doit donc être assujettie à l’application.

Page 107: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 95

Fig. 4.5 – Lignes de niveau partagées par deux primitives.

Mesure de similarité entre primitives

Dans cette section nous expliquons comment mesurer la similarité entre primitivesde chaque correspondance. La similarité exprime une vraisemblance de leur apparie-ment. Sa mesure joue donc un rôle décisif pour la mise en correspondance par lesalgorithmes de mariages stables. Elle peut être quantifiée par deux types de méthodeselon la transformation entre images :

Premier type, la mesure de vraisemblance repose sur les caractéristiques des pri-mitives : dans notre cas, ce sont les jonctions de lignes de niveau. À notre avis, cettemesure est théoriquement la plus appropriée, à condition toutefois que les caracté-ristiques extraites soient assez fiables et robustes. Dans certaines situations une tellemesure s’avère même la seule solution correcte pour la mise en correspondance entreimages. Par exemple si deux image à associer sont très dégradées par une transfor-mation géométrique importante, ex. l’une est transformée de l’autre dans une rotationd’angle large, alors les méthodes classiques comme la corrélation croisée normalisée outoute autre différence en norme ne fonctionneront pas. Dans la section suivante, nousélaborons une mesure de la similarité entre primitives fondée sur les caractéristiquesdes jonctions.

Deuxième type, la vraisemblance exploite l’échelle pixellique. On retrouve les me-sures classiques, i.e. la corrélation croisée normalisée, la somme des différences au carré,qui pourraient d’ailleurs être appliquées également en direct pour la mise en correspon-dance entre primitives. La mesure est effectuée sur l’intensité des pixels autour despoint de contrôle des primitives. Pratiquement cette mesure est très satisfaisante pourmettre en correspondance des images légèrement différentes, ex. par une simple trans-lation. Par exemple, dans l’analyse du mouvement si le débit des images à analyser esttrès large pour l’échelle de temps considérée le champ du mouvement d’objets d’uneimage à l’autre est réduit et cette mesure est alors convenable. Remarquons que danscette situation la similarité du premier type est au contraire moins discriminante etparfois plus instable que celle du deuxième type, puisque ce dernier est moins symbo-

Page 108: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

96 4. Un système de mise en correspondance

lique. Nous développons nos choix de mesure pour notre application dans la sectionsuivante.

Similarité basée sur les caractéristiques de primitive (jonction)

La mesure de la similarité entre primitives de chaque correspondance repose sur descaractéristiques préalablement extraites de l’image, autrement dit sur les descripteursde jonction des lignes de niveau. Dans le chapitre 2, nous avons défini les descripteurs

d’une jonction comme le vecteur suivant :−→PY =

[p−→S

∗ −→S

L −→S

RθL θR

], avec

−→S =

[p θ L C(nl, nr)

]un segment du flot. Soit F−→

Pla fiabilité de primitive,

pour faciliter la mesure d’intersimilarité, nous réécrivons l’ensemble en le seul vecteursuivant :

−→P =

[F C(nl, nr)

∗ C(nl, nr)L C(nl, nr)

R LL

L∗LR

L∗ θL θR]

(4.2)

Notons que ce vecteur regroupe trois types de données : (1) la fiabilité de primitive,(2) les caractéristiques de régions autour de la jonction, (3) les invariants géométriques.

La similarité entre primitives mesurera donc une distance entre ces vecteurs. Unedistance classique comme la distance euclidienne n’est pas judicieuse puisque les diffé-rentes composantes du vecteur n’ont pas le même ordre de grandeur ni la même portée.Pour tenir compte de cela nous employons la distance de Mahalanobis qui prend encompte la corrélation de la série de données, alors que la distance euclidienne traiteraittoutes les composantes de vecteur de la même façon. Notre fonction de similarité estdonc définie par :

S(−→P ,−→P

′) =

√(−→P −−→P ′)t

∑−1(−→P −−→P ′) (4.3)

Où S est la fonction de similarité, et∑

est la matrice de covariance.

La matrice de covariance apparait donc comme un facteur clef de ce calcul. Elledevrait être déterminée pratiquement par l’expérience i.e. identifiée au cours des me-sures passées. Cela nécessite une préparation préalable à chaque application. Pour uneversion simplifiée, cette distance peut être modifiée en supposant que les descripteurssont indépendants et non corrélés, alors la distance est redéfinie comme suit :

S(−→P ,−→P

′) =

√√√√p∑

i=1

(pi − p′i)2

σ2i

(4.4)

pi, p′i composantes homologues des vecteurs, σi leur variance

Page 109: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 97

Similarité basée sur les méthodes classiques

Nous avons expliqué qu’il est possible de réinsérer la corrélation ou autres différencesmoyennes entre points de contrôle de jonctions pour mesurer la similarité entre cesprimitives. Le point de contrôle de jonction indique le lieu où se trouve le contenuinformatif. En gardant toute l’information alentour, celle-ci est évidemment autantsinon plus discriminante et stable que celle des caractéristiques. Par contre elle n’estpas invariante à certains types de transformation géométrique comme la rotation. Nousappelons ici corrélation normalisée croisée la quantité :

S(−→P ,−→P

′) =

∑N−1x=y=0 I(x, y)× I(x+ ∆x, y + ∆y)

√∑N−1x=y=0 I(x, y)

2 ×∑N−1x=y=0 I(x+ ∆x, y + ∆y)2

(4.5)

où (∆x,∆y) =−→P −−→P ′

et N représente la taille de la fenêtre en nombre de pixels.Et dans certains cas où nous avons besoin de réduire le temps de calcul la mesure

standard telle que la somme des différences au carré convient :

S(−→P ,−→P ′)

=N−1∑

x=y=0

(I(x, y)− I(x+ ∆x, y + ∆y))2 (4.6)

Discussion

Il faut noter que la valeur intrinsèque de la vraisemblance mesurée entre primitivesne joue pas un rôle décisif pour le mariage stable. En effet, seul l’ordre des primitives surla liste de préférences conditionne le caractère rationnel de l’appariement. Ainsi peut-ilarriver qu’une primitive mise en correspondance avec son premier choix forme avec luiun couple dont la vraisemblance est plus faible que celle d’une autre mariée avec sondernier choix. Pour l’efficacité de mise en correspondance la principale contrainte sur lavraisemblance est qu’elle soit assez discriminante pour construire l’ordre de préférence.La distance en vraisemblance comme grandeur discriminante entre deux voisinagesquelconque sur la liste n’a aucun impact sur le résultat final de l’appariement. C’est unavantage majeur de l’algorithme de mariages stables. Reste que la vraisemblance mini-mum est une grandeur qui doit être définie. Elle servira à sélectionner les ressemblancessur la liste de préférences.

4.2.2 Mise en correspondance par l’algorithme de mariage stable

Dans cette section, nous détaillons la mise en correspondance effective des primi-tives (l’opération M dans le schéma principal, voir figure 4.1) par les algorithmes demariages stables. Notons que tous les algorithmes de mariages stables qui seront utiliséspar cette opération ont été proposés et étudiés de façon statistique mais détaillée dansle chapitre 3.

Ici, nous étudions l’impact réel des algorithmes sur la mise en correspondancedes primitives entre images. Plus précisément, nous voulons interpréter si possible les

Page 110: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

98 4. Un système de mise en correspondance

contraintes de l’algorithme qui peuvent influencer l’efficacité d’appariement : la stabi-lité, la satisfaction globale, l’égalité de sexe et la complexité. La complexité n’influepas sur le résultat d’appariement, mais elle conditionne fortement la rapidité de l’algo-rithme. Jusque là les autres contraintes ont été utilisées comme indicateurs principauxde performance algorithmique. Rappelons que plusieurs algorithmes ont été ainsi déve-loppés pour satisfaite plus ou moins ces contraintes, tels que : ZZ,OZ,BZ,RT et RGS

ainsi que leurs versions stabilisées (S-ZZ, S-OZ, S-BZ, S-RT et S-RGS).

Ces algorithmes reposent essentiellement sur une nouvelle représentation appelée latable de mariages. Les listes de préférences doivent d’abord être traduites dans cettereprésentation dont l’examen engendre ensuite les correspondances optimales.

OZ est le premier algorithme fondé sur cette représentation. Il est conçu pour satis-faire les contraintes de satisfaction globale, égalité de sexe et stabilité dans cet ordre enexploitant les avantages de la table de mariages. Ses performances ont été comparéessystématiquement à celles de l’algorithme classique de Gayle et Shappley. L’algorithmeBZ est ensuite implanté pour regagner sur la stabilité qu’OZ nie quasi totalement.Même si BZ augmente significativement la stabilité de l’appariement en maintenant lasatisfaction globale et l’égalité de sexe celle-ci n’est pas garantie. Le procédé de stabili-sation S- est alors développé pour y remédier. Cet algorithme se présente donc commeun post processeur, complémentaire des algorithmes existants. Ainsi il a été testé sys-tématiquement à la suite des algorithmes OZ ou BZ.

Une deuxième catégorie de méthodes a été développée dans le chapitre 3. Ce sontles algorithmes hybrides RT et RGS où la satisfaction globale et l’égalité de sexe sonttintroduites directement dans les listes de préférences. L’appariement est ensuite effec-tué selon l’algorithme GS classique. Ces algorithmes ne garantissent pas la stabilitépar rapport aux listes données qui ont été modifiées si bien que la S-stabilisation doitencore être appliquée.

Après analyse statistique l’algortihme S-BZ délivre le meilleur compromis sur l’en-semble des quatre contraintes. Nous l’appliquons comme moteur de la mise en corres-pondance.

Discussion

Rappelons que le mariage stable a été initialement inventé pour des applications detype "affectation optimisée de ressources". Dans un tel problème les ressources serontaffectées à qui en a besoin sur la seule base des préférences entre ressources disponibleset utilisateurs. Au cours du processus les utilisateurs non encore servis, logiquementparceque leurs meilleurs choix en préfèrent d’autres et donc leurs ressources préfé-rées sont déjà toutes distribuées à d’autres, doivent accepter une ressource défavorableparmi celles encore disponibles. Dans cette configuration et pour ce type d’applicationla distribution obtenue est encore considérée comme une solution optimale.

Page 111: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 99

Dans notre application à la mise en correspondance par mariage stable, selon unelogique identique chaque primitive choisit dans l’ordre une associée disponible sur saliste de préférences. Si ses premiers choix sur la liste sont déjà appariés avec d’autres,alors la primitive en question se voit systématiquement affecter un correspondant en-core libre mais naturellement moins fiable. Cette affectation ne garantit donc pas quela correspondance obtenue (flot optique) n’est pas un intrus.

Soulignons que même dans le cas où une correspondance réunit deux primitivesdont l’une est mutuellement le premier choix de l’autre, cela ne garantit pas encoreque le couple n’est pas un intrus. Il suffit de considérer les occlusions ou les apparitionsqui font qu’une primitive peut ne plus correspondre à aucune primitive potentielle dansl’image à apparier : en réalité la primitive attendue dans une telle situation n’existe pasqu’elle soit cachée ou hors du champs. La correspondance systématiquement trouvée(flot optique) par mariage stable aura engendré un intrus.

Enfin si, comme c’est le cas ici, la correspondance est construite en multi échelle ilpeut arriver qu’à un niveau donné toutes les primitives n’aient pas encore été extraites.Cette source (technique) de confusion crée des ambiguïtés de mise en correspondanceanalogues aux précédentes.

4.2.3 Elimination des intrus

Dans cette section, nous présentons l’opération de filtrage sur les flots optiques obte-nus après mise en correspondance par les algorithmes de mariages stables. Cette opéra-tion est apparue inévitable : sans elle ont constate que les correspondances construitessont progressivement contaminées. Elle compense en pratique la fragilité déjà évoquéedes algorithmes de mariages stables lorsqu’ils sont appliqués en vision par ordinateur.

Nous avons choisi dans le système que nous concevons d’enchaîner l’opérateur defiltrage après la mise en correspondance. Cet opérateur vise à éliminer les correspon-dances inattendues (les intrus) sous l’hypothèse que les primitives concernées n’ont pasencore de choix approprié pour l’une des raisons expliquées ci-dessus. C’est pourquoices primitives sont libérées (de leur associé temporaire douteux) et renvoyées vers l’opé-ration de mise en correspondance. A l’itération suivante, elles seront ainsi confrontéeavec les nouvelles jonctions candidates au mariage.

Le filtre considère que le mouvement local dans l’image ressort comme une petitevariation. Plusieurs auteurs ont proposé des filtres basés sur la même hypothèse, [78]introduit un filtre médian qui détermine les intrus par comparaison de la direction etde la vitesse des flots optiques avec les valeurs médianes calculées dans un voisinageprédéterminé. [79] définit une stabilité d’image fondée sur la même hypothèse : lesintrus ont une direction et une vitesse en dehors de l’intervalle µ ± σ , où µ et σ sontla moyenne et l’écart type respectifs des directions et des vitesses.

Bien qu’efficaces, ces filtres ne fonctionnent coirrectement que si la fenêtre considé-

Page 112: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

100 4. Un système de mise en correspondance

rée contient un seul mouvement.

Or, avec les primitives de type jonctions il est vraisemblable que la fenêtre en ques-tion contienne souvent plus d’un mouvement puisque ces jonctions se trouvent par dé-finition à la bordure d’objets. Nous proposons donc le filtre différentiel de flots optiques.

Afin de déterminer les intrus, les flots voisins de chaque flot optique retenu (i.e.dans une fenêtre pré-établie) seront analysés. En effet tous ces flots ne relèvent pas dumême objet. Nous testons à nouveau la contrainte : "si deux jonctions sont localiséessur une bordure du même objet elles partagent au moins une ligne de niveau".

Les flots gardés selon cette contrainte sont alors triés dans une liste par directions(resp. vitesse). On calcule les différences en direction (resp. vitesse) entre flots successifspuis on mesure la moyenne et l’écart type de ces différences. Un intrus est un flot telque les deux différences en direction (resp. vitesse) entre lui et ses deux flots voisinssur la liste triée sont hors de l’intervalle µ ± σ . Algo 8 montre le filtre différentiel deflots optiques.

Algorithm 8: Le filtre de flots optiques différentielsdébut

pour chaque flot optique dans une fenêtre fairepour chaque x ∈ {direction, vitesse} faire

Chercher les flots voisins VTrier les flots voisins par x, Vx

Calculer x entre deux flots successifsCalculer le moyen µ et l’écarte type σ des différencesCalculer les différentes ∆x entre le flot et les voisinsComparer ∆x avec les paramétrès σdir,min et σvit,min

si ∆x > µ+ σ ou ∆x < µ− σ alorsSupprimer le flot courant

fin

Notons que cette méthode nécessite deux paramètres : la direction différentielleminimale σdir,min et la vitesse différentielle minimale σvit,min. Quand les flots dans lafenêtre sont homogènes en direction et en vitesse, la valeur de σ est petite et dans cettesituation nous risquons de considérer tous les flots comme des intrus. Les valeurs deces paramètres dépendent directement des mouvement attendus dans la fenêtre comptetenu de l’application.

Discussion

Le filtre de flots optiques différentiels s’avère très important pour l’appariementdes primitives en multi échelle. En effet, l’algorithme des mariages stables favorise une

Page 113: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 101

mise en correspondance globale d’images que le filtre renforce localement. Les intrusfiltrés sont mariés à la prochaine itération et le résultat à nouveau filtré pour tenterde renforcer le mouvement localement majoritaire avec les primitives trouvées à lanouvelle échelle. C’est donc cette procédure qui réalise le compromis local/global del’appariement. Notons qu’à chaque itération l’expansion des primitives se fait de lastructure (bord) vers la surface (corps) de l’objet, fonction du paramètre E du modèleEFLAM. La mise en correspondance devrait logiquement profiter ainsi d’un plus grandnombre de primitives consolidant le mouvement local à l’objet.

4.2.4 Expérimentation et discussion

Dans cette section, nous présentons les résultats de notre système de mise en cor-respondance sur trois séquences d’image : les MEMS, l’IEF, et la route. Nous montronsles résultats obtenus, à l’exclusion de toute comparaison avec d’autres méthodes, pourmieux détailler les résultats à chaque étape du système. La comparaison sera effectuéedans une section ultérieure pour les applications de recalage et de détection d’obstaclespar stéréovision.

Test sur les images de MEMS

Nous illustrons sur cette séquence les étapes de la mise en correspondance par notreméthode avec les résultats correspondant. Les images de MEMS sont des images de dis-positifs micro-électroniques prises en microscopie à faisceau d’électrons en vue de leurétude comportementale. Cette microscopie étant en champs très restreint, le mêmedispositif est acquis en plusieurs images pour couvrir toute sa surface. Un recalagegéométrique est donc nécessaire pour rabouter les éléments de la mosaïque. Notre mé-thode devrait convenir pour mettre en correspondance les images afin de déterminer cerecalage géométrique. La figure 4.6 (a)(b) montre des images originales correspondantà deux vues différentes. Une particularité du dispositif photographié ici est sa formerépétitive qui défie la mise en correspondance. Pourtant dans cet exemple, l’apparie-ment nécessite seulement une itération. En effet l’image contient un défaut majeur quisupportera finalement le parfait raccordement. La figure 4.6(c) (d) montre les primi-tives des jonctions de lignes de niveau qui sont extraites à partir de la figure 4.6 (a) et(b) respectivement. Le paramètre E du modèle EFLAM est fixé expérimentalement à10 pour obtenir un nombre de jonctions suffisant. Dans chaque image nous soulignonsla région intéressante par un rectangle qui cadre le défaut important. Ces régions sontreprises et agrandies dans les figures 4.6(e) et (f) respectivement. A la faveur de cesmêmes images, nous montrons aussi comment une primitive crée sa liste de préférences.L’image (f) montre les préférées potentielles (soulignées en gras et triées par ordre depréférence) de la primitive (également soulignée en gras) considérée dans l’image (e).Nous constatons que toutes les jonctions dans la zone de recherche de 4.6 (f) ne sont pasretenues par la primitive de 4.6(e), bien que la zone de recherche couvre entièrement ledéfaut. C’est le résultat d’une sélection préliminaire par un test de compatibilité entrejonctions sur les trois contraintes présentées dans la section précédente. La figure 4.6

Page 114: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

102 4. Un système de mise en correspondance

(g) montre les flots optiques résultats, obtenus après filtrage de la première et uniqueitération. Le recalage au pixel est parfait.

Test sur la séquence IEF

La séquence d’images IEF permet de montrer l’influence du paramètre E du mo-dèle EFLAM et le filtrage en multi échelle. Elle est acquise par le véhicule PICARdéveloppé dans l’équipe AXIS. Ce véhicule est équipé d’un certain nombre de capteurset d’actuateurs, e.g. caméras stéréo, encodeurs/décodeurs, capteurs à ultrasons etc, etaussi d’une électronique embarquée pour le traitement des données. L’expérience surcette séquence avait pour but une première évaluation de notre méthode en détectiond’obstacles sur ce système. Nous verrons dans la conclusion de ce mémoire qu’une par-tie de notre logiciel tourne désormais sur le véhicule. La séquence de la figure 4.7(a) aété prise devant le bâtiment de l’IEF, elle représente un déplacement du véhicule versl’avant et virant à gauche.

Comme dans l’expérience précédente la mise en correspondance est effectuée enune seule itération. Cela nous permet de présenter les résultats de chaque opérationen détail. Nous montrerons sur la troisième séquence que le système peut aussi bienfonctionner en plusieurs itérations lorsque c’est nécessaire.

Pour chaque opération nous devons configurer les paramètres. L’extraction des jonc-tions a besoin de E , il est fixé à 10. Cette valeur engendre expérimentalement une ré-partition régulière des jonctions partout dans ces images. Les longueurs minimale etmaximale des flots de ligne de niveau sont déterminées à 6 et 15 pixels respectivement.Le choix de la longueur minimale, ici encore lié à la prise d’images dans cette scène,renvoie au segment minimum raisonnablement rectiligne. La longueur maximale estchoisie en considérant que les jonctions extraites doivent être discriminantes sans tropalourdir le traitement (le temps d’extraction croit avec cette longueur). La figure 4.8(a)montre les jonctions extraites de la figure 4.7(a).

Les jonctions obtenues dans la figure 4.8(a) créent ensuite leurs listes de préférencespour l’étape de mise en correspondance. Pour cette phase, nous avons besoin de définirla taille de la zone de recherche dont la valeur dépend du déplacement maximal à at-tendre : compte tenu de la focale connue, de l’éloignement maximal des objets d’intérêtet de la vitesse maximale sur le parking. une taille de 50x50 pixels semble raisonnable.La similarité entre jonctions est alors calculée et triée pour établir les préférences. Lafigure 4.8(b) montre tous les flots optiques délivrés par l’algorithme de mariages stables.On constate qu’il existe parmi ces flots des intrus (flots de couleur bleue) qui doiventêtre éliminés, .

La figure 4.7(b) montre les flots optiques après filtrage. Nous remarquons encoreune petite minorité d’intrus dans ce résultat final. Mais en regardant plus précisémentle résultat (zoom local sur image) nous trouvons que ces intrus ne sont pas isolés (voir

Page 115: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 103

(a) (b)

(c) (d)

(e) (f) (g)

Fig. 4.6 – Mise en correspondance par notre méthode pour le recalage d’images deMEMS par microscopie électronique : (a)(b) les images à recaler et superposer en unseul champ. On note l’artefact de façonnage VLSI : ce défaut soutiendra par la suitele parfait raccord entre (a) et (b), en dépit des ambiguïtés de la périodicité. (c) (d)les primitives extraites à partir de (a) et (b) avec celles du défaut soulignées par unrectangle, (e) les primitives dans le défaut, (f) les préférences de la primitive en grasdans (e) avec leur ordre dans la liste, (g) résultat final d’appariement par BZ : il est enaccord parfait avec la réalité connue.

Page 116: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

104 4. Un système de mise en correspondance

la figure 4.9(a) qui est une version agrandie de la figure 4.7(b)). Ils constituent même enréalité une petite majorité locale. Rappelons que notre méthode d’élimination des intrusautorise plus d’un mouvement dans une fenêtre. Ce type de résultat illustre à la fois unpoint fort et un point faible des mariages stables. Si toutes les jonctions situées dansla même fenêtre sont peu discriminantes, les correspondances qu’elles fondent peuventêtre biaisées de manière régulière et former ainsi un groupe de flots assez semblableset en nombre suffisamment important pour que la méthode d’élimination les considèrecomme un mouvement, voir la figure 4.8(a). Mais de la même manière si ces jonctions,très semblabes et peu discriminantes, sont très différentes des autres dans les fenêtresvoisines la méthode de mariages stables donne un résultat très positif, voir la figure4.9(b) (zoom sur la figure 4.7(b)). Nous constatons que les flots optiques obtenus dansce type de situation sont totalement parallèles, autrement dit la méthode mène desjonctions peu crédibles à des correspondances quasiment parfaites. Avec les méthodesplus classiques dans un tel problème ce résultat n’est pas garanti.

Test sur la séquence de route

Dans cette troisième expérience, nous appliquons notre système de mise en cor-respondance sur une séquence un peu plus difficile que les précédentes (jusqu’ici lemouvement pouvait être considéré comme un simple recalage). La séquence est acquisepar une caméra embarquée dans un véhicule se déplaçant sur une route. La figure4.10(a) montre des images de cette séquence.

Il apparaît d’autres véhicules dans la séquence qui eux-mêmes ont un mouvementpropre relatif. Le but de cette expérience est de tester l’efficacité de notre méthode demise en correspondance pour l’analyse du mouvement (elle sera discutée en détail auchapitre 5). En analyse du mouvement, les flots optiques représentant les véhicules mo-biles et la scène doivent être assez fiables pour que leurs mouvements soient identifiéscorrectement.

Pour illustrer la pleine capacitéde notre système, nous expliquons sur cette séquenceune analyse en plusieurs (deux) itérations. Elle doit montrer en quoi le traitement enmulti échelle permet d’améliorer l’appariement. Le système commence comme précé-demment par l’extraction des jonctions. Les paramètres de fonctionnement gardent lesmêmes valeurs, sauf le paramètre E . Il est fixé à 20 au premier tour. On vérifie que lesjonctions extraites codent la structure principale de la scène, dont celle des véhiculesen mouvement. La figure 4.10(b) montre ces jonctions conformes à notre attente.

Leur mise en correspondance devrait produire les flots optiques traçant les dépla-cements des structures principales de la scène et notamment des véhicules. La figure4.10(c) présente les résultats de l’algorithme de mariages stables à ce stade. Parmi cesflots on trouve naturellement des intrus, qui seront écartés par le filtrage. Rappelonsque l’interpratation en est que leurs jonctions associées ne trouvent pas les partenairessouhaités. Nous supposons qu’ils trouveront donc leurs associés optimaux dans les jonc-tions nouvelles extraites à la prochaine itération. La figure 4.11(a) montre les jonctions

Page 117: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.2. Un système pour la mise en correspondance des jonctions enmulti échelle 105

(a) (b)

Fig. 4.7 – (a) La séquence d’images, (b) Les résultats obtenus

Page 118: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

106 4. Un système de mise en correspondance

(a) (b)

Fig. 4.8 – (a) Les jonctions, (b) Les correspondances obtenues avant filtrage

Page 119: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.3. Evaluation du système pour le recalage bidimensionnel 107

(a) (b)

Fig. 4.9 – Zoom sur les flots optiques obtenus sur la figure 4.7 : (a) les intrus se consti-tuent en un mouvement, (b) les flots optiques sont parfaitement alignés et parallèlesmême si les jonctions associées sont peu discriminantes.

extraites avec E = 10. Avec cette valeur plus faible, les nouvelles jonctions représententmieux le corps de la scène et des véhicules et non plus les seuls traits dominants commeavant. On obtient plus de détails sur les surfaces. La mise en correspondance sera ainsieffectuée entre toutes jonctions libres : les nouvelles (E = 10) et celles éliminées à l’ité-ration précédente (E = 20). La figure 4.11(b) montre les flots optiques après nouveauxmariages stables. Ils sont évidemment bruités par un certain nombre d’intrus. La fi-gure 4.11(c) montre le résultat final après filtrage. Soulignons tous les flots obtenus,y compris à l’itération précédente, contribuent à éliminer les intrus. On vise en effetà renforcer la majorité locale du mouvement existant à chaque étape quel que soit lenombre d’étapes. En comparant le résultat à cette deuxième étape avec celui de la figure4.10(c), nous constatons que les flots optiques sont plus appropriés et contiennent plusd’information sur les mouvements réels, par exemple tels qu’on les perçoit dans uneanimation de la séquence. Remarquons encore une fois que, même avec plusieurs ité-rations, des intrus peuvent toujours apparaître dans le résultat final. Cependant, nousmontrerons dans le chapitre 5 et un cas particulier d’application que l’identification desmouvements n’en est pas perturbée.

4.3 Evaluation du système pour le recalage bidimen-

sionnel

Jusque là, nos résultats de mise en correspondance par mariages stables des jonc-tions de lignes de niveau ont été appréciés statistiquement pour ce qui est de lasatisfaction de contraintes théoriques ou jugés qualitativement par des humains ouconnaissant la réalité de l’appariement à retrouver. Nous voulons maintenant valider laméthode de mise en correspondance proprement dite, les mariages stables, en la compa-rant à d’autres méthodes (particulièrement une méthode de vote [73]). Pour accomplir

Page 120: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

108 4. Un système de mise en correspondance

(a) (b) (c)

Fig. 4.10 – (a) La séquence d’image, (b) les jonctions (E = 20), (c) les résultats aprèsfiltrage E = 20

Page 121: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.3. Evaluation du système pour le recalage bidimensionnel 109

(a) (b) (c)

Fig. 4.11 – (a) les jonctions (E = 10), (b) les résultats avant filtrage E = 10, (c) lesrésultats après filtrage E = 10

Page 122: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

110 4. Un système de mise en correspondance

cela nous allons figer non seulement les primitives mais encore l’application au nomde quoi on jugera la qualité du résultat : nous choisissons le recalage d’image en deuxdimensions. La figure 4.12 montre le système composé de trois modules : la mise encorrespondance des jonctions en multi échelle, l’estimation des paramètres du modèlede transformation géométrique et l’interpolation d’image.

Fig. 4.12 – Un système pour le recalage

Le premier module concerne donc l’extraction de jonctions à partir des ensemblesde niveaux, dont les lignes de niveau sont les frontières. Ces jonctions se localisent àl’endroit où au moins deux lignes de niveau se rencontrent. Nous les extrayons en utili-sant le modèle EFLAM, que nous avons détaillé précédemment. Rappelons que E est leparamètre du modèle EFLAM qui représente le nombre des lignes de niveaux passantà travers la jonction. L’extraction des jonctions est faite en multi échelle fonction deE et en accord avec la mise en correspondance entre jonctions de différentes images,comme détaillé dans la section précédente. La ressemblance entre jonctions est établiesous contraintes de l’ensemble de niveaux concerné. À la sortie de ce premier moduledu système, on obtient alors les correspondances inter images suffisamment fiables,autrement dit les flots traduisant le déplacement des jonctions d’une image à l’autre.

Page 123: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.3. Evaluation du système pour le recalage bidimensionnel 111

Nous avons présenté la méthode en détail dans la section 4.2. Le deuxième moduleconcerne l’estimation des paramètres du modèle de transformation géométrique. Nousexpliquons dans la section 4.3.1 le modèle choisi pour la transformation géométrique etl’algorithme récursif des moindres carrés pour son estimation. A la sortie du système,l’image transformée fonction des paramètres déterminés peut donc être comparée avecl’image origine par différence, et ce pour les différentes méthodes. Dans la section 4.3.2nous présentons la comparaison de résultat avec la méthode de vote.

4.3.1 Déplacement par notre méthode

Le premier module ayant été décrit précédemment en détails, nous expliquons icile deuxième module du système de recalage de la figure 4.12) : il réalise l’estimationdes paramètres du modèle de la transformation géométrique entre images. Les modèlesutilisés dépendent en général du type d’objet ainsi que de la complexité de la transfor-mation. Pour des objets rigides, les transformations affine et perspective sont utiliséesdans cet ordre suivant la complexité. Le but de cette section est d’estimer les para-mètres de ces modèles en utilisant les flots optiques délivrés par le module de mise encorrespondance (premier module de la figure 4.12).

Modèles de transformation géométrique

L’équation 4.7 montre le modèle mathématique de la transformation affine. Le mo-dèle contient quatre paramètres : la rotation α, le facteur d’échelle ψ, et la translationdx et dy. Pour résoudre cette équation, nous avons besoin au moins de deux correspon-dances.

[x′

y′

]=

[ψ 00 ψ

] [cos α −sin αsin α cos α

] [xy

]+

[dx

dy

](4.7)

En reformulant l’équation 4.7 sous la forme x′ = Xh, nous obtenons :

x′ = Xh (4.8)

x′0y′0x′1y′1

=

x0 −y0 1 0y0 x0 0 1x1 −y1 1 0y1 x1 0 1

h0

h1

h2

h3

(4.9)

et le vecteur h est obtenu simplement par :

h = X−1x′ (4.10)

Après avoir résolu l’équation 4.10, nous obtenons les paramètres solutions suivant :α = arctg(h1

h0) , ψ = h0

cos α= h1

sin αet tx = h2 , ty = h3.

Page 124: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

112 4. Un système de mise en correspondance

L’équation 4.11 montre la forme générale du modèle mathématique pour la trans-formation perspective. Le modèle demande à résoudre 8 paramètres, soit dans ce casau moins quatre correspondances pour un système d’équation correctement déterminé.

x′

y′

z′

=

h0 h1 h2

h3 h4 h5

h6 h7 1

xy1

(4.11)

xp = x′/z′, yp = y′/z′ (4.12)

De la même manière nous reformulons l’équation 4.11 par x′ = Xh et obtenons :

x′0y′0x′1y′1x′2y′2x′3y′3

=

x0 y0 1 0 0 0 −x′0x0 −x′0y0

0 0 0 x0 y0 1 −y′0x0 −y′0y0

x1 y1 1 0 0 0 −x′1x1 −x′1y1

0 0 0 x1 y1 1 −y′1x1 −y′1y1

x2 y2 1 0 0 0 −x′2x2 −x′2y2

0 0 0 x2 y2 1 −y′2x2 −y′2y2

x3 y3 1 0 0 0 −x′3x3 −x′3y3

0 0 0 x3 y3 1 −y′3x3 −y′3y3

h0

h1

h2

h3

h4

h5

h6

h7

(4.13)

Le vecteur h résulte simplement encore de l’équation 4.10.

Estimation des paramètres par l’algorithme des moindres carrés récursifs

Nous avons vu dans la section précédente que la solution de l’équation x′ = Xhpeut être théoriquement résolue par inversion de X si X est inversible. Cependant, enprésence du bruit, cette méthode engendre une solution numériquement instable. L’al-gorithme des moindres carrés est parmi les plus classiques pour surmonter ce problème.L’estimation plus stable de h en présence du bruit se fait par minimisation de la normede l’écart quadratique (x′-Xh)H(x′-Xh) où UH est le transposé de U (avec des don-nées sans bruit l’écart quadratique est égal à 0). D’après le théorème de projection, leprincipe d’orthogonalité dit que le vecteur optimal recherché (x′-Xh) est orthogonal àtoutes les colonnes de X. Alors XH(x′-Xh) = 0 = XHXh = XHx′. Lorsque la projectionorthogonale de x′ est unique et les vecteurs colonnes de X sont indépendants, alorsla matrice XHX est inversible, et donc h = (XHX)−1XHx′. Ou encore h = X#x′, oùX# = (XHX)−1XH est appelé pseudo-inverse de X. Grâce à cette méthode, dans lecas affine, nous pouvons utiliser plus de correspondances pour estimer h et augmenterla stabilité du résultat obtenu. Notons que si X est une matrice carrée (par exempledeux correspondances pour la transformation affine), alors nous retrouvons la solutionclassique : (XHX)−1XHx′ = X−1.

Si la matrice X est construite à partir d’un flot continu de données dont la taillecroît de manière non bornée, alors l’algorithme des moindres carrés récursifs est préfé-rable. Il consiste en la mise à jour de la valeur de h à chaque étape n, hn = QnXH

n x′.où Qn = (XH

n Xn)−1. On note que xHn+1 la (n + 1)-ième ligne de X. L’algo. montre

Page 125: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.3. Evaluation du système pour le recalage bidimensionnel 113

l’algorithme des moindres carrés récursifs [80].

Algorithm 9: Algorithme des moindres carrés récursifsdébut

Q0 = Ip et h0 = 0tant que n < N faire

Kn =Q

nxn+1

1+xHn+1Qn

xn+1

hn+1 = hn + Kn(yn+1 − xHn+1hn)

Qn+1 = Qn −Q

nxn+1xH

n+1Qn

1+xHn+1Qn

xn+1

fin

Dans le cas affine nous reformulons l’équation x′ = Xh de la manière suivante :

x′0y′0...y′N

=

x0 −y0 1 0y0 x0 0 1...

......

...yN xN 0 1

h0

h1...h3

(4.14)

De même pour la transformation perspective :

x′0y′0...y′N

=

x0 y0 1 0 0 0 −x′0x0 −x′0y0

0 0 0 x0 y0 1 −y′0x0 −y′0y0...

......

......

......

...0 0 0 xN yN 1 −y′NxN −y′NyN

h0

h1...h7

(4.15)

Par l’algorithme des moindres carrés récursifs , nous pouvons donc estimer les pa-ramètres de la transformation globale d’images (affine ou perspective) en utilisant tousles couples fournis en une ou plusieurs passes par le système de mise en correspondance.

Expérimentation et discussion

Avant de comparer les efficacités de notre méthode et de la méthode de vote, nousmontrons ici un exemple de recalage. Les images utilisées viennent de la base de don-nées http ://www.gravitram.com/stereoscopic_photography.htm, voire la figure 4.13(a).La figure 4.13(b) montre les flots optiques issus de notre système de mise en corres-pondance, avant et après élimination des intrus respectivement. Avec ces flots consi-dérés comme assez fiables, les paramètres de la transformation perspective sont esti-més par moindres carrés récursifs. Les sept paramètres trouvés sont : h0 = 1.018769,h1 = −0.010705, h2 = 20.975390, h3 = 0.013266, h4 = 0.986765, h5 = 2.239246,h6 = 0.000062, h7 = −0.000035 et h8 = 1.000000. Notons que selon l’expérience pré-cédante, les flots ultimes peuvent toujours être bruité par des intrus. Dans le cas durecalage par notre méthode il faut donc que la méthode des moindres carrés récursifs

Page 126: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

114 4. Un système de mise en correspondance

tolère cette quantité de bruit. La figure 4.13(c) (première ligne) représente le résultatde la transformation de l’image gauche selon les param‘etres trouvés. Nous pouvonsétudier le résultat en comparant l’image transformée avec l’image droite : la différenceentre les deux est la figure 4.13(c)(deuxième ligne).

L’analyse de la différence entre images est une méthode simple qui renseigne sur lastructure des défauts lorsqu’on n’a pas d’information réelle terrain. Il faut tenir comptecependant du fait que l’intensité d’un pixel en elle-même est encore moins fiable quedans les images données puisque l’image transformée est potentiellement dégradée parl’interpolation. Ainsi, une différence non nulle ne signifie pas que le recalage est fauxet a contrario une différence nulle ne garantit pas une image parfaitement superposée.

Nous constatons dans la figure 4.13(c) que par notre méthode de recalage la struc-ture principale du bâtiment, donc celle de l’image, est superposée de façon quasi par-faite. En revanche sur de petites structures comme les cheminés du bâtiment la dégra-dation est importante. Ce phénomène s’explique par le fait que les jonctions à mettreen correspondance dans ces régions-là ne sont pas assez nombreuses pour la précisionnécessaire et ces données manquantes ne sont donc pas prises en compte par la méthodedes moindres carrés récusifs.

4.3.2 Déplacements par la méthode de vote

L’algorithme de mise en correspondance entre images par la méthode de vote quenous présentons ici est basé sur les travaux de Samia BOUCHAFA [46]. La méthodeest fondée essentiellement sur la transformation de Hough. Son principe est différentdu nôtre, et c’est pourquoi nous la choisissons pour la comparaison afin d’aprécierl’impact de cette différence. En effet, la méthode de vote cherche la transformationfinale entre images en renforçant progressivement les correspondances fiables dans unprocessus de vote à plusieurs tours qui en même temps élimine les couples de moindreconfiance. Chaque couple supporte un calcul de la transformation dans la mesure oùles primitives sont des regroupements de segments en nombre suffisant pour le nombrede paramètres à identifier. Avec l’algorithme de mariages stables, hors élimination desintrus qui retrouve un caractère majoritaire, les correspondances sont trouvées parprincipe indépendamment de la transformation finale estimée. Cet algorithme chercheuniquement et force directement la solution optimale de correspondances selon son mo-dèle abstrait.

Entre les deux méthodes nous relèvons une autre différence majeure. La méthode devote cherche immédiatement les paramètres de la transformation globale entre imagesdans l’espace du vote. Elle est donc adaptée particulièrement au recalage d’imagesmieux optimisée que la nôtre du point de vue de la compacité algorithmique. Aucontraire, avec notre méthode, la mise en correspondance et l’estimation des para-mètres de transformation globale sont séparées. Nous l’avons conçue ainsi pour êtreadaptée plus facilement à d’autres types d’applications comme la stéréovision et l’ana-

Page 127: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.3. Evaluation du système pour le recalage bidimensionnel 115

(a) (b) (c)

Fig. 4.13 – (a) Les images stéréos, (b) Les flots optiques selon notre méthode demise en correspondance, avant et après élimination des intrus respectivement, (c) Lesparamètres de transformation perspective estimés : h0 = 1.018769, h1 = −0.010705,h2 = 20.975390, h3 = 0.013266, h4 = 0.986765, h5 = 2.239246, h6 = 0.000062, h7 =−0.000035 et h8 = 1.000000, et la différence entre l’image transformée et l’image droite

Page 128: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

116 4. Un système de mise en correspondance

lyse du mouvement.

A des fins de comparaison, nous présentons ici l’algorithme de cette méthode devote. Il est divisé en deux étapes : la préparation des listes de préférences et le pro-cessus de vote à plusieurs tours. Pour la première étape, chaque primitive crée sa listede correspondants classés en plusieurs groupes selon la confiance dans leur extraction.Puis, les paramètres de transformation sont calculés fonction des points de contrôledes primitives, pour tous les correspondants sur sa liste. La deuxième étape consiste enplusieurs tours de vote où chaque couple exprime son opinion (les paramètres qu’il aengendrés) fonction de sa fiabilité, opinion accumulée ensuite systématiquement dansl’histogramme des paramètres (dit espace de vote). A chaque tour, l’ensemble des votesconfirme certaines catégories de transformation en renforçant les pics dans l’espacede vote au détriment d’autres. Si un pic obtient la majorité absolue (ou autre critèrerequis) parmi toutes les transformations manifestées alors le processus s’arrête et lesparamètres associés à ce pic sont considérés comme ceux de la transformation globaled’image. Sinon, un tour suplémentaire démarre, en autorisant cette fois une nouvellepopulation moins fiable à s’exprimer. De cette manière, le vote approuve progressive-ment une transformation globale d’images.

L’algorithme de la méthode de vote est montré dans Algo. 10. L’espace de voteV est défini à quatre dimensions pour la transformation affine. V (dx, dy, α, ψ) repré-sente la valeur cumulative de la transformation. Les translations peuvent varier entre[−dx,max, dx,max] et [−dy,max, dy,max] respectivement. L’origine correspondant à la trans-lation nulle est au milieu de l’espace V . La rotation en degrés peut varier dans [0, 360]et l’échelle entre [−ψmin, ψmax]. S représente le pic sélectionné dans l’espace de vote.Notons que les valeurs de vote sont amplifiées à chaque passe afin de privilégier lesplus fiables. Le processus de vote s’arrête lorsqu’il n’y a plus de correspondances à fairevoter ou si un pic émerge de manière significative.

Algorithm 10: Algorithme du vote en plusieurs toursdébut

Créer les listes de préférence ℑu et ℑv

u ∈−→Ck

I k=1,N

pour chaque passe w ∈Wmax fairepour chaque primitive u dans ℑv[posv], sa fiabilité ≥ w faire

pour chaque primitive v dans ℑu[posu] faireCalculer la transformation entre u et v, → (dx, dy, α, ψ)Voter pour V (dx, dy, α, ψ)= V (dx, dy, α, ψ) + ∆V

Choisir la transformation dont le vote est maximal (dsx, d

sy, α

s, ψs)

fin

où ∆V est la contribution d’un vote pour une transformation donnée. Elle est calculé

Page 129: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.3. Evaluation du système pour le recalage bidimensionnel 117

selon la formule ∆V = a1×a2×a3×a4 où a1 = 1√posu×posv

, a2 = 1wu

, a3 = 1−dist(u, v),et a4 est un facteur de zoom.

4.3.3 Expérimentation, comparaison et discussion

Nous comparons dans cette section notre méthode de mise en correspondance etla méthode de vote pour le système de recalage. La comparaison est effectuée dansun cas de transformation affine entre images. Deux séries d’images sont utilisées pourcette expérience. Notons que toutes les composantes sont identiques à l’exception de laméthode de mise en correspondance.

La première série d’images est un exemple isolé, pour montrer les comparaisons àtoutes les étapes, extrait de la vision d’une voiture quittant un stationnement. Ellecomporte des translations et une rotation planaire simple, voir figure 4.14(a)(b). Pourles deux méthodes, les jonctions sont extraites et les listes de préférence sont créées.Ensuite, chaque méthode est exécutée indépendamment.

La méthode de vote procède en deux tours (les correspondances sont classées endeux populations). La figure 4.14(g)(h) montre l’espace de vote au premier et deuxièmetour respectivement. Dans la première, ce sont les correspondances les plus fiables quis’expriment. Nous constatons qu’il apparaît plusieurs pics dans l’espace de vote. Aucunpic n’est assez distinct pour dessiner la transformation globale d’images. Un deuxièmetour est donc nécessaire. Les correspondances moins fiables s’expriment, elles infirmentainsi quelques transformations localement majoritaires, voir la figure 4.14(h). Les pa-ramètres de la transformation globale d’image sont donc choisis à partir du pic où levote exprimé est maximal : α = −9.0, ψ = 1.0096, Tx = 5 et Ty = 3. La figure 4.14(c)montre l’image transformée en utilisant ces paramètres.

La mise en correspondance par notre méthode est effectuée en une seule itérationavec E = 10. Le résultat représenté en flots optiques est montré dans la figure 4.14(i).Les paramètres trouvés sont : α = −9.95, ψ = 0.9977, Tx = 4.10 et Ty = 6.73. L’imagetransformée en utilisant ces paramètres est présentée figure 4.14(d).

N’ayant pas archivé d’informations terrain, nous comparons à nouveau les méthodespar différence de leurs résultats. La figure 4.14(e)(f) montre les différences entre l’imagetransformée et la deuxième image par la méthode de vote et notre méthode respective-ment. Il est évident à l’oeil nu que les résultats sont tout à fait comparables, bien que lesmariages stables semblent disperser les imperfections partout dans l’image mais en plusfaible quantité. Chaque méthode a des secteurs où elle travaille relativement mieux :les primitives orthogonales sont mieux traitées par la méthode de vote, par contre lesprimitives horizontales ou verticales semblent mieux apariées par notre méthode. Lemême phénomène se produit sur toutes les images semblables où ces algorithmes ontété essayés, lorsque la transformation à retrouver n’est pas trop complexe (nombre li-mité de paramètres) .

Page 130: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

118 4. Un système de mise en correspondance

Même si la méthode de vote est plus compacte du point de vue algorithmique, lesparamètres qu’elle détermine sont moins précis numériquement puisqu’elle est tributairede la quantification de l’espace de vote, laquelle conditionne à son tour la répartitionet forme des pics.

4.4 Evaluation du système en stéréovision

Dans cette section, nous évaluons notre méthode de mise en correspondance pourl’application de stéréovision en vue de la détection d’obstacles en 3- dimensions. Nous lacomparons avec différentes méthodes. En effet la détection d’obstacles est une fonctionclef du véhicule intelligent ou pour l’assistance au conducteur automobile. Les obstaclessont détectés à partir de la représentation en trois dimensions de la scène reconstruitepar stéréovision, reconstruction dans laquelle l’appariement joue le rôle primordial d’oùde nombreuses méthodes proposées.

La figure 4.15 montre le système de détection d’obstacles par stéréovision. Il sedécompose en quatre principales parties :

(1) l’initialisation des images stéréos (rectification et égalisation) : Il s’agit d’alignerles images acquises pour les mettre en configuration stéréo comme montré dans leschéma 4.16(a).

(2) la mise en correspondance des images : Notre méthode de mariages stables,la méthode de Le Coat basée sur la programmation dynamique [81], et la méthode deBirchfield et Tomasi implantée dans la librairie OpenCV [82] sont testées et comparées.

(3) le calcul de la disparité : dans la configuration stéréo présentée, la profondeurrésulte de la disparité d’image par le calcul suivant :

xl

f= −b+ x

z,xr

f=b− xz

, z =2bf

xr − xl (4.16)

(4) la détection d’obstacles proprement dite par exemple par une accumulation typeHough dans l’espace des distances.

Le système est réalisé sous le logiciel RT-maps [83] pour effectuer le traitement desdonnées en temps réel sur le biprocesseurs Intel P3 [84] à bord du véhicule autonomePICAR déjà mentionné.

Notre méthode telle qu’employée pour la mise en correspondance d’images stéréoreste identique à celle présentée dans la section précédente. Cependant, pour répondreau traitement d’images à la volée, certaines opérations dans le processus sont exécutéesen parallèle sur les différents processeurs. Ce sont l’extraction des jonctions E, la créa-tion des listes de préférences P , et le filtrage F . La synchronisation des fonctions entreprocesseurs est effectuée par RT-maps. La figure 4.16 (b) montre le schéma modifié du

Page 131: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.4. Evaluation du système en stéréovision 119

(a) (c) (d)

(b) (e) (f)

(g) (h) (i)

Fig. 4.14 – (a)(b) Images originales, (c) Transformation affine par la méthode de vote :α = −9.0, ψ = 1.0096, Tx = 5 et Ty = 3, (d) différence entre (b) et (c), (e) Transfor-mation affine par notre méthode : α = −9.95, ψ = 0.9977, Tx = 4.10 et Ty = 6.73, (f)différence entre (b) et (e), (g)(h) espace de vote par la méthode de Hough 1er et 2eme

tours, (f) les flots optiques obtenus par notre méthode

Page 132: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

120 4. Un système de mise en correspondance

Fig. 4.15 – Le système de détection d’obstacles

système de mise en correspondance d’images stéréo en temps réels.

Dans les sections suivantes, nous exposons les différentes méthodes de mise en corres-pondance. Puis, l’expérimentation est présentée et les résultats des différentes méthodessont comparés.

4.4.1 Disparités par la méthode de Le Coat

L’algorithme réalise l’appariement global d’images de la manière suivante : la mé-thode apparie deux images de manière pyramidale. Elle débute par un sous échantillon-nage de plus basse résolution 32x32 pixels et finit à la résolution la plus élevée, l’imagesoriginale. Ainsi, un vecteur de déplacement est déterminé pour chaque pixel de l’image.Le calcul est développé en 5 étapes :

Etape 1 Calcul du champ de disparité entre images. Il est effectué indépendammentdans les deux directions, horizontale et verticale, pour obtenir les composantes corres-pondantes du champ.

La mise en correspondance est effectuée entre deux lignes ou deux colonnes del’images et fondée sur leurs luminances. La programmation dynamique permet de trou-ver le chemin de correspondance optimal dans une matrice de coûts interpixels (algo-

Page 133: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.4. Evaluation du système en stéréovision 121

(a) (b)

Fig. 4.16 – (a) Configuration de la stéréovision, (b) Un système pour la stéréovision.

rithme de Vitterby analogue à ceux de reconnaissance de mots isolés en traitement dela parole). En considérant cette matrice de programmation dynamique formée par lesdistances élémentaires entre pixels di,j, nous pourrons déterminer une distance cumuléeglobale optimale entre lignes (resp. colonnes) d’images. La fonction de coût est définiesuivant :

F = min∑

min s

di,jC(s) (4.17)

où C(s) est un coût local associé au développement d’un chemin s et di,j est définipar :

di,j = L

(min

(α|Uk,i

Vk,j|, α))

L(x) = δ(s)1− cos(πx)

2+ β(s) (4.18)

avec Uk,i et Vk,j les pixels homologues de deux lignes (resp. deux colonnes) d’images,où α fixe le support d’excursion de la fonction de coût, et sa saturation. δ fixe la dy-namique de la fonction. Cela permet de représenter les valeurs de la fonction sur unnombre de bits fini, pour un calcul entier. β permet que la fonction de coût ne soit pasnulle pour une différence nulle Uk,i − Vk,j.

Etape 2 La somme vectorielle des composantes obtenues précédemment est effec-tuée. Ceci permet d’obtenir un champ de vecteurs bidimensionnel (flot optique).

Etape 3 Approximation du champ de vecteurs par une transformation globale pro-jective plane. Cela permet de caractériser les paramètres physiques de déplacement

Page 134: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

122 4. Un système de mise en correspondance

entre les deux prises de vue.

Etape 4 Projection (warping) de la première image sur la seconde à l’aide des pa-ramètres estimés.

Etape 5 Calcul d’un coefficient de corrélation entre la première image recalée etla seconde. Si le coefficient est plus élevé que le précédant l’image projetée à cetteétape est conservée pour les traitements qui suivent. Sinon la résolution des images estaméliorée en prenant en compte la meilleure transformation projective estimée.

4.4.2 Disparités par la méthode de Birchfield et Tomasi

La deuxième méthode pour calculer la disparité est proposé par Birchfield et To-masi [82]. C’est un algorithme qui détecte les discontinuités de profondeur d’une paired’images stéréo. La mise en correspondance dense est effectuée entre les pixels desmêmes lignes d’images gauche et droite, tout en permettant aux pixels occlus (sanscorrespondnat acceptable) de rester libre. Pour retrouver l’appariement optimal, lafonction coût mesure pour chaque ligne la similarité entre pixels d’images gauche etdroite. Elle est définie par les pénalités constantes ko des pixels occlus et kr des pixelsappariés, ainsi que par la somme des similarités de pixels appariés dist.

Fc(M) = koNo − krNm +Nm∑

i=1

dist(xi, yi) (4.19)

Fc(M) est la fonction coût et M est la séquence des pixels appariés d’une ligne. Lesappariements optimaux entre pixels de deux images sont résolus par programmationdynamique : parmi toutes les fonctions coût correspondant aux diverses séquences pos-sibles on cherche la meilleure. Des contraintes sont imposées pour limiter la zone derecherche et pour introduire la texture des régions. L’information est propagée entrelignes au moyen d’un post-processus rapide.

La méthode est bien connue. Elle est déjà implantée dans la bibliothèque OpenCV,c’est la fonction nommée cvFindStereoCorrespondence.

4.4.3 Expérimentation, comparaison et discussion

Nous décrivons pour finir ce chapitre nos expérimentations de stéréovision, plusprécisément en détection d’obstacles. Nous comparons notre méthode avec les deuxprésentées ci-dessus. L’expérience est effectuée en temps réel sur le véhiculePICARpendant 13 minutes de situations variées. Pour réaliser ce test, un autre véhicule sertd’obstacle.

On construit ainsi des situations qui peuvent être rencontrées dans les cas réelssuivants :

Page 135: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.4. Evaluation du système en stéréovision 123

- l’obstacle est proche (resp. l’obstacle est loin) :l’efficacité de la méthode est alorsmesurée par le couple distances maximale/minimale de détection.

- l’obstacle sort du champs de vision (resp. l’obstacle entre dans le champs) : l’ef-ficacité est encore mesurée par la distance de détection (à quelle taille dans l’imagel’obstacle n’est plus détecté (resp. commence à l’être)). Cette situation est par exempleréalisée par occlusion entre véhicules lors d’un dépassement.

En 13 minutes on a pu également varier les conditions de bruit présent sur la routeet alentour (en changeant d’environnement) et tester la robustesse vis-à-vis de ces per-turbations.

Enfin :- le taux de discontinuité dans la détection d’obstacles, que ce soit par la faute du

système ou de l’environnement, est aussi un élément de comparaison fondamental- la rapidité de la méthode doit être considérée car elle peut influer sur tous les

autres facteurs.

Les méthodes sont donc comparées par analyse de performance selon ces références.Notons que les systèmes de détection d’obstacle ne diffèrent ici encore que par leur com-posant "méthode de mise en correspondance". Les paramètres des autres composants(notamment du recalage préalable et de la transformée de Hough postérieure) gardentla même valeur dans les trois cas et sont définis de manière à ce que les résultats soienten moyenne corrects autant que possibles.

Dans cette expérience, notre mise en correspondance est effectuée en une seule ité-ration. Les paramètres de l’extraction des jonctions sont : E fixé à 10, Lmax et Lmin

fixés à 8 pixels. Les figures 4.17(b) montrent des images "gauche" extraites à différentsendroits de la séquence. Dans chaque image, les lignes jaunes définissent une zone danslaquelle l’obstacle doit être détecté, autrement dit le champ de vision. Cette zone d’inté-rêt est spécifique à l’application "détection d’obstacles sur la route", entre autres pourréduire le temps de calcul. La ligne bleue souligne l’obstacle détecté. La distance réelle(en mètres) entre le véhicule PICAR et l’obstacle, affichée en haut à gauche de l’image,est calculé après configuration et calibration de la caméra identiques dans les trois cas.Nous remarquons qualitativement que, par notre méthode, l’obstacle est détecté cor-rectement et plus précisément que par les deux autres. La figure 4.17(a) montre lesimages de la "troisième caméra" (vue d’oiseau virtuelle) qui indiquent la région danslaquelle se trouve l’obstacle. Notons que les images de cette "caméra" ne sont pas utili-sées pour l’analyse. La figure 4.17(d) montre les disparités trouvées par notre méthode.Rappelons que notre méthode cherche les disparités près de zones d’intérêt alors queles deux autres méthodes cherchent un champs de disparités dense. La figure 4.17(c)montre les disparités remises dans l’espace de Hough.

Le table 4.1 et 4.2 constituent les tableaux comparatifs plus quantitatif entre lesméthodes.

Page 136: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

124 4. Un système de mise en correspondance

"Détection des voitures" Nous Le Coat BirchfieldLa distance maximale de détection (m.) 49m70 25m00 15m20La taille minimale d’objet détectable (%) 0,81% 2,29% 3,88%sur la fenêtre de 35133 pixels 286 pixels 806 pixels 1364 pixelsLe taux de détectabilité (%) 82,77% 66,35% 55,27%sur 12 minutes et 29 secondesLa rapidité (images par seconde) 3-4 4-5 4-5

Tab. 4.1 – "Détection des voitures" : comparasion entre méthodes

"Détection des cyclistes" Nous Le Coat BirchfieldLa distance maximale de détection (m.) 36m00 23m30 20m70La taille minimale d’objet détectable (%) 0,69% 1,33% 1,36%sur la fenêtre de 35133 pixels 243 pixels 464 pixels 480 pixelsLe taux de détectabilité (%) 91,66% 55,20% 38,75%sur 5 minutes et 24 secondesLa rapidité (images par seconde) 3-4 4-5 4-5

Tab. 4.2 – "Détection des cyclistes" : comparasion entre méthodes

Il est clair par comparaison que notre méthode donne à la fois les résultats les plusencourageants (précision et taux de détection accrus par rapport aux autres méthodes)grâce à la mise en correspondance sélective et partielle des jonctions. En effet, pendantla mise en correspondance, le système élimine déjà des intrus en gardant seulement lesflots d’intérêt potentiels i.e. dans cette expérience, les disparités présentes sur l’obs-tacle. Comme la transformée de Hough cherche les disparités constantes et localementmajoritaires dans la zone d’intérêt, cette préselection favorise l’obstacle quelle que soitsa taille et il en est détecté plus efficacement. Les deux autres méthodes délivrent dansun tel cas au mieux les mêmes disparités constantes représentant l’obstacle, mais peunombreuses en proportion. Le maximum local correspondant risque de ne pas être dé-tecté surtout si ces disparités sont bruitées.

En revanche, notre méthode est plus lente malgré cette sélection à cause de lareprésentation intermédiaire par les jonctions, qui peut cependant être accélérée indé-pendamment (ex. implantation en parallèle par zones ou pipeline sur une ou plusieursimages)

Les figure 4.17 et 4.18 montrent les résultats obtenus par notre méthode pour ladétection des voitures, et la détection des cyclistes.

Page 137: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.5. Conclusion 125

4.5 Conclusion

Nous avons présenté dans ce chapitre un système, complet jusqu’à l’application, demise en correspondance des jonctions de lignes de niveau par mariage stable. Ce sys-tème enchaîne l’extraction des jonctions paramétrée selon le modèle EFLAM (présentéau deuxième chapitre) avec leur mariage stable (détaillés dans le troisième chapitre).Des opérations de service ont été conçues pour faciliter ou améliorer le fonctionnementdu système en environnement réel : le codage des listes de préférences qui peut doncêtre modifié indépendamment, le filtrage qui élimine les candidats a priori impropresau mariage, et l’itération avec retard qui supporte le fonctionnement en multi échelle.Son organisation (architetcure) est un facteur important de l’appariement correct etprécis que nous obtenons. De plus ce système a été élaboré pour s’adapter à différentstypes d’analyse, ce qui a facilité le passage d’une application et d’un type d’image àl’autre.

L’efficacité de l’ensemble est vérifiée par plusieurs expériences de recalage et de sté-réovision pour la détection d’obstacles. La comparaison, dans des conditions réelles defonctionnement, avec deux autres techniques d’appariement déjà installées sur notrevoiture a montré que le système obtient des résultats acceptables pour la conduite au-tomobile en général.

Page 138: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

126 4. Un système de mise en correspondance

(a) (b) (c) (d)

Fig. 4.17 – Résultat de la détection des voitures par notre méthode

Page 139: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

4.5. Conclusion 127

(a) (b) (c)

Fig. 4.18 – Résultat de la détection des cyclistes par notre méthode

Page 140: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

128 4. Un système de mise en correspondance

Page 141: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

129

Chapitre 5

Analyse du mouvement

5.1 Introduction

Nous avons successivement présenté dans les précédents chapitres une méthode pourextraire les jonctions de lignes de niveau, puis les algorithmes de "mariages stables",et le système de mise en correspondance des jonctions entre images. Le présent cha-pitre est dédié aux applications conjointes de ces techniques à l’analyse du mouvementdans les séquences d’images. Plus précisément, notre système enchaîne une mise encorrespondance des jonctions de lignes de niveau à l’aide d’un algorithme de mariagesstables multi échelle, présenté dans le chapitre 4, et une procédure d’analyse de scènedans laquelle les objets en mouvement sont identifiés en opposition avec le fond. Ainsil’efficacité d’identification ne dépend pas seulement des mouvements distingués entreobjets mais aussi des informations recueillies sur eux et maintenues dans le temps.

L’analyse du mouvement est en général plus difficile que le recalage ou la stéréovi-sion, que nous avons évoquées précédemment. Dans la stéréovision par exemple, le butest de retrouver la profondeur des objets dans une scène. Après que les flots optiquesreprésentant le déplacement entre l’image gauche et l’image droite aient été obtenuspar mise en correspondance, la profondeur est déterminée systématiquement en uti-lisant une connaissance à priori, à savoir les données de calibration des caméras. Enrevanche, pour l’analyse du mouvement, nous ne disposons pas de telle informationfacilitant l’identification des objets en mouvement dans une scène.

C’est pourquoi la difficulté d’analyse varie selon le scénario considéré. Généralement,les mouvements d’objets dans une scène sont classés selon trois scénarios possibles :soit seuls les objets se déplacent et la caméra est fixe, soit l’inverse, ou bien les objets etla caméra se déplacent en même temps. Un système de surveillance est l’exemple typedu premier scénario. Une caméra embarquée est un exemple qui couvre selon les cas lestrois types de scénarios. La complexité des tâches dans chaque type n’est évidemmentpas la même. Ainsi en général un système de surveillance configuré avec caméras fixesdéterminera d’abord automatiquement le fond. Puis il extraira les objets en mouve-ment "simplement" par différence entre la séquence d’images et le fond prédéterminé,

Page 142: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

130 5. Analyse du mouvement

éventuellement mis à jour au fil du temps. La même procédure ne fonctionne pas dansle cas où la caméra se déplace parce que le fond se comporte comme un objet en mou-vement parfois complexe (ex. à cause de sa profondeur) dans la scène et doit doncêtre déterminé dynamiquement. Nous postulons qu’un système efficace en analyse gé-nérale du mouvement bénéficie d’une connaissance a priori du type de scénario auquelil est confronté. Sinon il doit le détecter lui même avant de lancer la procédure adéquate.

Plusieurs auteurs ont proposé des systèmes d’analyse de mouvement. [85] [86] [87][88] ont présenté un système capable d’identifier les mouvements dominants. Un desalgorithmes populaires sur ce principe est l’algorithme dit "grossier à fin", coarse-fine.Il s’agit de segmenter les mouvements d’image en procédant de manière hiérarchiqueen multi résolution. A partir de l’ensemble des pixels d’image, on estime les paramètresd’un modèle de déplacement. Puis l’erreur entre le modèle et les flots est calculée.Pour diminuer cette erreur, les pixels correspondant à une erreur maximale sur l’his-togramme sont rejetés. Ainsi le mouvement dit dominant est identifié lorsque l’erreurest réduite à un seuil donné. Le processus est récursivement répété sur les pixels dontles mouvements ne sont pas encore identifiés. De cette manière, le mouvement globalou principal dans l’image est segmenté en premier et puis apparaissent les mouvementslocaux. [89] propose un système qui segmente des mouvements en analysant les flotsen "multicouche". Les méthodes de classification classiques comme les K-moyennes ontété employées.

Dans la section suivante, nous présentons un système pour l’analyse du mouvement.Ensuite, nous expliquons les différentes méthodes mobilisées par ce système : la méthodede classification et de segmentation dans les sections 5.3 et 5.4 respectivement. Puisl’exposé des résultats et une analyse de conclusion termineront le chapitre.

5.2 Un système pour l’analyse du mouvement

Le système d’analyse du mouvement que nous concevons est destiné à l’analyse descènes complexes, c’est-à-dire la caméra se déplace en même temps que les objets, ouencore le déplacement d’objets par rapport à la caméra est non constant provoquantle mouvement des flots en perspective. Le but final du système est donc d’identifierles différents mouvements présents dans la scène en profitant autant que possible despropriétés d’ensembles de niveaux. Le choix d’un système fondé sur les ensembles deniveaux justifiera par la suite les méthodes supplémentaires à adapter et mettre enoeuvre pour accomplir cette identification.

Le système consiste en trois modules principaux : la mise en correspondance desjonctions, l’identification du mouvement, et la segmentation d’image. La figure 5.1résume le système complet d’analyse du mouvement. Ces modules sont à la fois locale-ment indépendants, chacun ayant une fonction spécifique, et très liés globalement d’unpoint de vue système, leurs fonctionnements dépendant des propriétés d’ensembles deniveaux. La conception globale du système est donc : (1) l’abstraction de l’information

Page 143: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.2. Un système pour l’analyse du mouvement 131

Fig. 5.1 – Un système complet pour l’analyse du mouvement.

d’image par les jonctions de lignes de niveau, (2) l’identification des mouvements par laclassification des flots (de jonctions) sur contrainte spatiale de l’ensemble de niveaux,et (3) la détermination des régions définies par les mouvements cohérents dans l’imagecomme ensembles de niveaux reconstruits à partir des jonctions associées (de flots clas-sifiés).

Le premier module concerne la mise en correspondance des jonctions. Nous avonsprésenté ce module en détail dans le chapitre 4, donc nous ne l’expliquons plus ici.Le deuxième module a pour tâche d’identifier des mouvements d’objets dans l’image,autrement dit la segmentation des mouvements. Notons que le premier module délivreles flots optiques indiquant le déplacement des jonctions entre deux images dans laséquence. L’identification des mouvements peut donc être effectuée en classifiant cesflots en différents mouvements homogènes. Cela signifie qu’il faut d’abord estimer lesparamètres du déplacement de chaque flot, et puis regrouper ceux qui se ressemblent.On sera ainsiconduit à appliquer une méthode de classification sur ces paramètres.

Nous pouvons envisager plusieurs types de classification : une méthode probabilistecomme la segmentation par MAP ou markovienne, ou une méthode de Clustering typeKNN ou C-moyennes etc. On sait que ces dernières méthodes ont besoin de moinsde données que les probabilistes pour être efficaces, elles essaient simplement de tra-cer des frontières équilibrées entre classes en s’adaptant aux données disponibles. Celacorrespond bien à nos conditions de classification où les flots à regrouper sont po-tentiellement peu nombreux, à cause de la mise en correspondance non dense sur lesprimitives. Nous retiendrons donc une méthode de C-moyennes floues de complexité

Page 144: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

132 5. Analyse du mouvement

non négligeable mais efficace face au bruit. Un autre avantage de cette méthode, qui estun critère important renvoyant à la robustesse des résultats, est l’intégration possible(et efficace) d’autres contraintes sur la classification. Nous exploiterons cette facilitépour intégrer la contrainte de l’ensemble de niveau sur la classification. Ainsi, nousprésentons dans la section suivante la méthode de C-moyennes floues avec contraintespatiale sur l’ensemble de niveaux. À cette étape, nous espérons obtenir des groupeshomogènes de flots qui indiquent les mouvements respectifs différents objet / fond.

Le troisième module de notre système réalise la segmentation des régions associéesaux mouvements, avec pour résultat les groupes de flots homogènes dans l’image. Alorsque les flots matérialisent les correspondances entre jonctions, étant donné un groupede flots (i.e. une suite de groupes de jonctions) nous pouvons reconstruire les lignes deniveau qui les partagent. Et donc l’ensemble de niveaux peut à son tour être recons-truit à partir de ces lignes. Rappelons que les jonctions sont au bruit près les coinsd’objet, donc les lignes de niveaux en sont la bordure et alors l’ensemble de niveauxreprésente l’objet visé. À cette étape, nous aurons donc proposé en fait deux méthodespour segmenter l’image en régions à partir des jonctions pérennes.

Le dernier module détermine le fond parmi les objets en mouvement, pour mieuxpoursuivre ces objets et le fond indépendamment dans le temps. Notons que le fond dela scène se déplace en direction inverse de la caméra et avec la même vitesse.

La figure 5.2 montre un exemple de l’analyse du mouvement pour illustrer le fonc-tionnement de chaque étape du système. La première ligne de cette figure montre deuxsuites d’images à analyser où il existe deux objets en mouvement dans des directionsopposées. Le but est donc d’identifier ces mouvements. La deuxième ligne expose lesflots fournis par le premier module du système donc la mise en correspondance desjonctions en multi échelle. Chaque flot obtenu représente un déplacement de jonctionqui est indépendant des autres. La troisième ligne indique deux mouvements trouvéspar classification regroupant les flots similaires. Les régions (objet mobile) de l’imagereconstruites à partir des jonctions associées à des flots de mouvement apparaissent àla dernière ligne.

5.3 Identification des mouvements

Dans cette partie, nous expliquons comment des flots issus de la mise en correspon-dance seront classifiés par la méthode de C-moyennes floues avec contrainte spatialesur l’ensemble de niveaux. Dans un premier temps, nous montrons comment estimer ledéplacement de chaque flot. Ensuite la méthode de C-moyennes floues avec contrainteest exposée.

Page 145: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.3. Identification des mouvements 133

(a) (b)

Fig. 5.2 – Un exemple de l’analyse du mouvement

Page 146: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

134 5. Analyse du mouvement

5.3.1 Déplacement du flot

Le flot est issu de la correspondance entre deux jonctions trouvées dans deux diffé-rentes images : cette relation peut s’interpréter comme le déplacement de la jonctiond’une image à l’autre. Pour chaque flot, le déplacement est déterminé simplement parson orientation et sa vitesse (amplitude) décomposée selon x et y. Toutefois dès quele mouvement devient plus complexe et concerne plusieurs flots, le modèle utilisé doitaussi s’adapter. Avec l’hypothèse d’un objet rigide le mouvement peut être modélisépar une transformation géométrique, le plus souvent affine et perspective composées.Le choix du modèle implique le nombre minimum des correspondances nécessaires àl’instanciation de modèle. Par exemple, il faut au moins deux correspondances pourune transformation affine de l’image et quatre correspondances pour la transformationperspective.

Ainsi pour estimer le déplacement d’un flot selon de tels modèles, il faut impliquerdes flots voisins, normalement localisés dans une fenêtre de taille prédéfinie, par exempleimposée par des contraintes liées à l’application et aux conditions instantanées. Il fautalors prendre en compte le fait que toutes les parties voisines n’appartiennent pas aumême objet. C’est pourquoi nous considérons la contrainte de l’ensemble de niveaux :en effet nous savons qu’une jonction se localise en un point où deux lignes de niveauau moins se rejoignent et que ces lignes sont la frontière entre régions (i.e. entre objetspotentiels). Donc s’il existe au moins une ligne de niveau passant au travers de deuxjonctions quelconques, alors ces jonctions font partie de la même bordure d’un objet.Si Fmax et F ′

max sont deux flots de lignes de niveaux des jonctions.

Fmax ∩ F ′max 6= ∅ (5.1)

La figure 5.3 illustre sur un exemple comment appliquer la contrainte de l’ensemblede niveaux sur des flots voisins pour sélectionner les flots appropriés à l’estimation desparamètres de la transformation d’un flot donné. La figure 5.3(a) montre toutes lesvoisines (dans la fenêtre) de la jonction associée à ce flot. Notons que toutes font partiede deux flots de lignes de niveau L1 et L2. Lorsque L1 ∩ L2 est nul et que la jonctionconsidérée relève de L1 , alors toutes les jonctions qui localisées sur L2 sont éliminées.La figure 5.3(b) montre les flots sélectionnés pour l’estimation des paramètres.

De ce fait nous obtenons le nombre de flots nécessaires pour estimer les paramètresdu modèle. Notons que nous utilisons dans notre application le modèle affine qui né-cessite au moins deux flots. Néanmoins, plus on implique de flots plus correcte estl’estimation. En conséquence, nous employons la méthode des moindres carrés récursifspour estimer les paramètres du modèle .

Remarquons que cette procédure peut éliminer un certain nombre des jonctionsincohérentes sans garantie de les supprimer toutes. Cependant on a pu vérifier expéri-mentalement qu’elle améliore l’estimation de manière significative.

Page 147: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.3. Identification des mouvements 135

(a) (b)

Fig. 5.3 – Détection des flots voisins

5.3.2 Méthode de C-moyennes floues avec contrainte spatiale

sur l’ensemble de niveaux

Nous commençons cette section par le rappel de la méthode classique des C-moyennesfloues. Nous décrivons ensuite la méthode de C-moyennes floues avec contrainte spa-tiale sur l’ensemble de niveaux telle qu’adaptée dans notre cas.

L’algorithme de C-moyennes floues est une des méthodes les plus populaires pour laclassification basée sur le concept de C-partition floue introduit par Ruspini [90]. SoitX = x1, . . . , xn l’ensemble des flots à classifier où chaque flot xk (k = 1, . . . , n) est unvecteur de paramètres. Ucn est une matrice de dimension c × n où c est le nombre declasses. Alors l’espace de c-partition floue de X est défini par :

Mfcn = {U ∈ Ucn : uik ∈ [0, 1]} (5.2)

∑ci=1 uik, 0 <

∑nk=1 uik < n

où uik est la valeur d’appartenance de xk à la classe i (i = 1, . . . , c). Le but decet algorithme est de trouver les partitions optimales en minimisant la fonction coûtobjectif suivante :

Jm(U, V ;X) =

n∑

k=1

c∑

i=1

(uik)m‖xk − vi‖2 (5.3)

où V = (vi, . . . , vc) est la matrice des centres de classes, vi dans ℜ. ‖.‖ est la normeEuclidienne, m ∈ [1,∞[ est une constante qui influence la valeur d’appartenance. L’al-gorithme de C-moyennes floues est un processus itératif en deux étapes :

(1) on calcule les centres de classe par

v(t)i =

∑nk=1 (ut

ik)mxk∑n

k=1 (utik)

m (5.4)

Page 148: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

136 5. Analyse du mouvement

(2) avec les nouveaux centres, on met à jour les valeurs d’appartenance uik de lamanière suivante

u(t+1)ik =

c∑

j=1

(‖xk − v(t)

i ‖2‖xk − v(t)

j ‖2

) 2m−1

−1

(5.5)

Le processus s’arrête quand |U (+1)−U (t)| est inférieur à un certain seuil ǫ, ou quandun nombre maximal de boucles est atteint. xk est alors assigné à la classe telle que savaleur d’appartenance est maximale.

uik = 1 si i = arg maxj uik, sinon 0 (5.6)

5.3.3 Contrainte spatiale sur l’ensemble de niveaux

En appliquant la méthode conventionnelle de C-moyennes floues à la classificationdu mouvement, nous constatons qu’elle est seulement conditionnée par les paramètresdu modèle de classification. Dans le cas où ces paramètres seraient incomplets ou brui-tés, la méthode sera fortement perturbée.

La figure 5.4 expose la contrainte spatiale sur l’ensemble de niveaux. La figure 5.4(a)montre les jonctions dans la fenêtre sélectionnée. Notons qu’elle contient quatre flotsde lignes de niveau L1 à L4. Nous constatons que la jonction à examiner se trouve aupoint où L3 se sépare en L1 et L2. Et L4 est indépendante. La figure 5.4(b) indiquetous les flots concernés pour la classification du flot examiné. Les lignes en pointilléentre jonctions matérialisent les flots de lignes de niveau partagés par la jonction àl’étude et les autres. La largeur indique la quantité de flots. Dans cette configuration,nous conclurons que la jonction doit être assignée probablement à la même classe quecelles qui sont sur L3, plutôt que sur L2 ou L1. Autrement dit, la quantité de flotsmesure une force d’attraction entre jonctions. Cette force sera donc utilisée pour laclassification. Ainsi, deux jonctions seront d’autant plus probablement rangées dans lamême classe que la force entre elles sera importante par comparaison locale avec lesautres.

Pour introduire cette contrainte sur la classification par C-moyennes floues, nousmodifions la fonction objectif de la façon suivante :

Jm(U, V ;X) =n∑

k=1

c∑

i=1

(uik)m‖xk − vi‖2 + α

n∑

k=1

c∑

i=1

(uik)m‖xk − vi‖2 (5.7)

où α est une constante contrôlant l’influence des voisins xk sur xk. Les voisinages{xk} de xk sont désignés par les jonctions voisines localisées dans une fenêtre préétablieNk autour de xk. Ici encore tous les voisins n’appartiennent pas au même objet, onteste donc suivant l’ensemble de niveaux |Fk ∩ Fj | 6= ∅. Alors, xk voisin pondéré de xk

est défini par :

Page 149: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.3. Identification des mouvements 137

(a) (b)

Fig. 5.4 – La contrainte spatiale sur l’ensemble de niveaux

Fig. 5.5 – βk en fonction de F = E(Fk ∩ Fj), voir l’équation 5.9

xk =

∑j∈Nk

βkj xj∑j∈Nk

βkj(5.8)

βkj représente une force entre les jonctions k et j (une pondération) qui dépenddirectement du nombre des lignes de niveaux passant à travers ces deux jonctionsE(Fk ∩ Fj). Ainsi, le degré de voisinage augmente de manière exponentielle avec lenombre de lignes de niveau partagées par les deux jonctions xk et xj . Si aucune lignede niveau n’est partagée, alors βkj vaut zéro.

βkj =

{1− exp

E(Fk∩Fj)2

E(Fk)2ln( 1

E(Fmax)) si Fk ∩ Fj 6= ∅

0 sinon(5.9)

où E(Fmax) est le nombre de lignes de niveau maximal dans l’image, normalementdéfini à 255. La caractéristique de la fonction βkj est montrée par le graphe 5.5.

L’encadré 11 montre les étapes de l’algorithme FCM avec contrainte spatiale surl’ensemble de niveaux. Les centres de classe vi sont calculés de la manière suivante :

Page 150: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

138 5. Analyse du mouvement

v(t)i =

∑nk=1 (ut

ik)m

(xk + αxk)

(1 + α)∑n

k=1 (utik)

m (5.10)

Et les valeurs d’appartenance uik de xk à la classe i sont définies par :

u(t)ik =

c∑

j=1

(‖xk − v(t)

i ‖2 + α‖xk − v(t)i ‖2

‖xk − v(t)j ‖2 + α‖xk − v(t)

j ‖2

) 1m−1

−1

(5.11)

Notons que dans cet algorithme, les termes βk et xk sont calculés tout au début duprocessus, ce qui réduit le temps d’exécution.

Algorithm 11: Algorithme de FCM avec le contraint spatial sur l’ensemble deniveauxdébut

t = 0 ; m = 2 ; ǫ = 0.001Initial vi, uik par K-meansCalculer βk et xk pour ∀k, l’équation 5.9tant que |U (t) − U (t−1)| > ǫ faire

Calculer v(t)i ← u

(t)ik , l’équation 5.10

Calculer u(t+1)ik ← v

(t)i , l’équation 5.11

Détermine uik, l’équation 5.6

fin

Estimation des paramètres vi et uik

Dans cette section, nous expliquons plus en détail comment déterminer les para-mètres vi et uik. Formellement, le problème d’optimisation à la base de la classificationest de la forme.

minU,{vi}c

i=1,{βk}Nk=1

Jm (5.12)

Jm étant défini comme dans l’équation 5.7. Cette fonction objectif Jm sera minimiséede la même manière que dans l’algorithme FCM standard. L’optimisation requiert unmultiplieur de Lagrange, et on annule les dérivées premières en uik et vi. Donc, pourchaque flot k, nous formons l’équation suivante :

Jk =

c∑

i=1

((u

(t)ik )mDik + α(u

(t)ik )mDik

)− λ

(c∑

i=1

u(t)ik − 1

)

(5.13)

Où Dik = ‖xk − vi‖2, Dik = ‖xk − vi‖2, et λ est le multiplieur de Lagrange. Pardérivation on obtient

Page 151: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.3. Identification des mouvements 139

∂Jk

∂uik

= m(u(t)ik )m−1Dik + αm(u

(t)ik )m−1Dik − λ = 0

(u(t)ik )m−1 =

λ

m(Dik + αDik

)

u(t)ik =

m

) 1m−1 1

(Dik + αDik

) 1m−1

(5.14)

Sachant que∑c

j=0 ujk = 1 il vient

m

) 1m−1

c∑

j

1(Djk + αDjk

) 1m−1

= 1

m

) 1m−1

=1∑c

j1

(Djk+αDjk)1

m−1

(5.15)

Soit en remplaçant 5.15 dans 5.14 :

u(t)ik =

[c∑

j=1

(Dik + αDik

Djk + αDjk

) 1m−1

]−1

=

c∑

j=1

(‖xk − v(t)

i ‖2 + α‖xk − v(t)i ‖2

‖xk − v(t)j ‖2 + α‖xk − v(t)

j ‖2

) 1m−1

−1

(5.16)

Les centres de classes sont calculés en considérant ‖.‖ la distance Euclidienne et pardérivation selon vi

∂Ji

∂vi= 2

n∑

k=1

(ut

ik

)m(xk − vi) + 2α

n∑

k=1

(ut

ik

)m(xk − vi) = 0

(5.17)

On obtient

v(t)i =

∑nk=1 (ut

ik)m

(xk + αxk)

(1 + α)∑n

k=1 (utik)

m (5.18)

5.3.4 Expérimentation et discussion

Nous expérimentons l’algorithme de classification par la méthode de C-moyennesfloues avec contrainte sur l’ensemble de niveau dans la séquence de la route, voir lafigure 4.10(a). Nous choissions cette séquence pour tester l’algorithme parcequ’elle estconstituée de plusieurs mouvements intéressants à discriminer. Elle a été obtenue endéplaçant la caméra en même temps que les objets observés bougent de manière indé-pendante. Il en résulte que le fond de cette scène crée un mouvement. De plus, commeon peut constater à l’oeil nu dans la figure 4.11(c) les mouvements sont plus complexes

Page 152: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

140 5. Analyse du mouvement

qu’un simple translation. Cette séquence correspond bien au problème posé en tête dece chapitre.

L’identification de mouvements est donc effectuée sur les flots obtenus par la miseen correspondance présentée dans le chapitre précédant. Nous définissons relativementaux résultats la transformation affine comme le modèle de mouvement de chaque objet.Ce choix ne résulte pas seulement des caractéristiques constatées ou supposées du mou-vement d’objet mais dépend aussi de la capacité à distinguer plusieurs mouvements.Cette dernière s’avère selon nous la plus critique compte tenu de notre méthode declassification. Et en cela notre méthode se distingue des autres telles qu’une méthodeMarkovienne qui cherche à fortifier le modèle d’objet plutôt qu’aller chercher la dis-tinction entre objets. Nous saurons modéliser un mouvement complexe avec moins deparamètres si les mouvements contituants sont déjà assez discriminants.

Le deuxième paramètre important pour la classification est l’influence des voisinssur le flot considéré, notre principale modification par rapport à la méthode conven-tionnelle. Nous constatons expérimentalement sur la séquence choisie que le résultatest d’autant meilleur lorsque cette contrainte est progressivement ajoutée sur la classi-fication. Dans cette séquence, le meilleur résultat est obtenu lorsque α est égal à 0.9.

Enfin il existe classiquement un autre paramètre fondamental, à savoir le nombre declasses c’est-à-dire le nombre maximal d’objets à extraire. Notre méthode ne déterminepas automatiquement ce paramètre. Remarquons cependant que ce nombre est parti-culièrement important : il influence grandement le résultat final en particulier quand lavaleur retenue est plus petite que le nombre d’objets réellement présents dans l’image. Sile nombre de classes est plus grand il est possible d’aboutir à une classification correcte.Cela dépend de la qualité des flots et de la séparabilité des mouvements en présence.Ainsi des mouvements assez bien distingués et suffisamment compacts entrainent queles classes supplémentaires resteront en général vides. Dans le cas contraire un objetpeut être divisé en plusieurs classes, ce qui est tout sauf souhaitable. Dans cette sé-quence, nous avons posé le nombre des mouvements à deux classes. Notons qu’on peuttoujours itérer sur ce paramètre et détecter une qualité maximale du résultat, encorefaut-il savoir définir cette dernière et avoir le temps de réagir.

La figure 5.6(a) montre quatre endroits différents dans l’image avec les flots op-tiques indiquant le déplacement des jonctions : à l’endroit où le véhicule est placé selondifférentes distances de caméra, et celui qui contient deux véhicules. La figure 5.6(c)expose les flots classés qui représentent un mouvement de véhicule. Et la figure 5.6(b)montre le reste de la scène qui correspond bien sûr au fond, avec pour vitesse celle de lacaméra mais dans la direction inverse. On peut constater que notre méthode fournit lesmouvements attendus. Remarquons que, dans la troisième ligne de la figure, même s’ilexiste en réalité deux véhicules la méthode les classifie en un seul mouvement comptetenu de leurs mouvements relativement semblalbles.

Page 153: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.3. Identification des mouvements 141

(a) (b) (c)

Fig. 5.6 – Les flots du fond et de l’object : (a) les flots, (b) les fonds, (c) les objets

Page 154: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

142 5. Analyse du mouvement

(a) (b)

Fig. 5.7 – Un exemple d’objet homogène, et non homogène.

5.4 Segmentation d’image (explicitation d’objets)

Nous avons abordé dans les sections précédentes les étapes de mise en correspon-dance et de classification. En une suite logique du processus de vision que nous construi-sons, la classification des flots ayant isolé les différents mouvements homogènes que sontles ensembles cohérents de flots, nous cherchons les (groupes de) régions d’image quicorrespondent respectivement à chaque mouvement. Il s’agit donc bien ici d’une seg-mentation. Les méthodes de segmentation dépendent directement de l’application. Parexemple dans le cas le plus simple, type vision d’alerte ou vision périphérique, où l’ona besoin de déterminer seulement une zone de mouvement dans l’image, un rectangleenglobant les objets mobiles est suffisant. Dans le cas où la précision sur les borduresd’objet est un facteur important, des méthodes plus complexes d’étiquetage ou de crois-sance sont nécessaires. Nous exposons ici deux différentes méthodes de segmentationselon la nature des objets :

1. objet homogène en texture et tranchant suffisamment sur l’environnement,

2. objet non homogène composé de plusieurs régions de textures variées.

La figure 5.7(a) et (b) montre des exemples d’objet homogène et éthérogène respec-tivement.

Notons que les deux méthodes sont basées sur les ensembles de niveaux et le modèleEFLAM [74].

Page 155: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.4. Segmentation d’image (explicitation d’objets) 143

5.4.1 Segmentation d’objet homogène

Nous avons expliqué au long de ce chapitre que les jonctions de lignes de niveau sontlocalisées entre les régions (i.e. les objets ou parties d’objet). Par hypothèse, lorsquel’objet est homogène et assez différent de son environnement, alors les jonctions ap-partenant au même objet seront majoritairement localisées en bordure extérieure decelui-ci. En d’autres termes, pour extraire l’objet il suffit de retrouver la ligne de niveauλx passant à travers ces jonctions ou encore partagée par ces dernières. Cette ligne deniveau est calculée théoriquement par

λx = medN⋂

i

Fi (5.19)

où med représente la médiane. La figure 5.8(a) montre comment calculer λx. Cetteimage figure un objet en mouvement matérialisé par un ensemble de flots. Les jonc-tions associées seront employées pour déterminer l’ensemble de niveaux qui correspondà la région associée à l’objet en question. Pour le mettre en évidence, nous associons àchaque jonction ses valeurs de λu et de λd sur le graphe, représentées par un rectanglevertical. Sur ce graphe λ∗u et λ∗d sont calculés par l’intersection entre toutes les jonc-tions et λx est déterminé simplement par la valeur médiane. L’objet sera ensuite extraitcomme l’ensemble de niveaux tel que λ < λx, dans le cas où l’objet est localement plusfoncé que le reste de la scène, et λ > λx, dans le cas contraire.

Nous constatons que cette méthode est très sensible au bruit et que la valeur cal-culée est souvent nulle. On rencontre deux types de défaut dans les jonctions : (1) desjonctions sont mal classifiées (2) des jonctions se trouvent à l’intérieur d’objets. Pourla deuxième catégorie, ces jonctions peuvent apparaître bien marquées et appartenirparfaitement à un objet mais s’agissant de trouver la bordure extérieure elles n’en res-sortent pas moins comme du bruit.

La figure 5.8(b) montre cette situation. L’image est la même que précédemmentavec des intensités différentes. De la même manière nous déterminons λ∗u et λ∗d. Nouspouvons constater sur le graphe qu’il n’existe pas de ligne de niveau partagée par toutesles jonctions puisque λ∗d est supérieur à λ∗u. Donc λx ne peut pas être déterminé.

Nous proposons donc une autre méthode indirecte et plus fiable pour déterminercette ligne de niveaux. Elle est calculée par la médiane des moyennes de λu et λd définiepar :

λx = med

[∑Ni λd,i

N,

∑Ni λu,i

N

](5.20)

Page 156: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

144 5. Analyse du mouvement

(a) (b)

Fig. 5.8 – Segmentation d’objet homogène par une simple médiane.

Fig. 5.9 – Segmentation d’objet homogène par la médiane de moyenne.

Page 157: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.4. Segmentation d’image (explicitation d’objets) 145

où λu,i et λd,i sont la ligne de niveau supérieure et inférieure respectivement de Fi.

La figure 5.9 explique comment calculer λx par la méthode proposée. L’image esttoujours la même que celle figure 5.8(b). Dans cette méthode, λ∗u est calculé par lamoyenne des λu,i de toutes les jonctions (resp. λ∗d est la moyenne des λd,i). Pour sim-plifier la représentation sur le graphe, seules les (λu,max, λu,min) et (λd,max, λd,min) sontmontrées. Ainsi, les lignes de niveau qui se trouvent entre λ∗u et λ∗d tracent grossièrementla frontière entre l’objet et le fond. Pour extraire l’objet, il suffit donc de choisir une deces lignes et l’ensemble de niveaux associé à l’objet est déduit systématiquement parseuillage. Ici, nous choisissons la ligne de niveau dont λx est la médiane de λ∗u et λ∗dcomme la frontière milieu entre l’objet et le fond.

Notons que, selon cette méthode, la segmentation est une extraction d’objet parseuillage à λx. Ceci entraîne que le résultat contient souvent des artefacts comme depetites régions isolées. Il est donc nécessaire d’achever la segmentation par une opéra-tion morphologique classique telle que l’érosion, pour supprimer les petites régions, etla dilatation, pour corriger la dégradation à la bordure d’objets et retrouver la tailleinitiale.

Expérimentation et discussion

L’essai de l’algorithme est présenté sur la séquence de la route que nous avonsévoquée dans la section précédente. En regardant en détail dans la figure 5.6(c), nousconstatons que les flots classés indiquant le véhicule en mouvement se situent en ma-jorité à la bordure extérieure de l’objet. Et chaque flot étant associé au déplacementd’une jonction nous pouvons appliquer la méthode de segmentation d’objet homogènepour déterminer la ligne de niveau λx qui représente la bordure du véhicule. Ensuite,la région (l’ensemble de niveau reconstruit) indiquant le véhicule dans l’image est seg-menté par seuillage.

Dans la figure 5.10, nous montons les résultats de segmentation obtenus par la mé-thode. La figure 5.10(b) résulte de la figure 5.6(c). Et la figure 5.6(a)(b) montre lesautres résultats à différents endroits de la séquence.

On constate que même si la classification des flots est imparfaite à cause des intrus(des flots proposés par la mise en correspondance), la segmentation est effectuée cor-rectement par cette méthode. Cela prouve qu’elle est robuste vis-à-vis de ce type debruit (classification incorrecte). Expérimentalement on constate que c’est dans le casoù les flots représentent seulement une partie d’objet que la segmentation diverge com-plètement. Cela confirme que l’identification de mouvements après classification doitau moins séparer des mouvements dont les flots qui les représentent enveloppent lastructure principale d’un objet. En conséquence, les flots dans une zone bruitée commeon en trouve à la frontière de deux mouvements de directions opposéesseront avanta-geusement ignorés dans un premier temps (pendant la classification), pour être affectéscorrectement dans leurs classes (mouvements) après la segmentation.

Page 158: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

146 5. Analyse du mouvement

Basé sur l’ensemble de niveau reconstruit (la région image indiquant le véhicule),nous pouvons donc corriger les flots mal classés. La méthode est très simple : si les flotsse situent dans la région du véhicule, alors ils seront ré-affectés comme déplacement duvéhicule. La figure 5.11 montre les flots corrigés indiquant le mouvement du véhicule àdifférents endroits de la séquence.

5.4.2 Segmentation d’objet non homogène par la méthode deJF-Snake

Objet non homogène signifie dans ce contexte que l’objet est composé par desrégions à textures différentes ou qu’il semble bien intégré avec l’environnement. Unexemple, le mouvement de la tête ou de la personne entière avec des régions texturéescomme les cheveux, l’ovale du visage etc, voir la figure 5.7(b). Avec ce type d’objets,la méthode que nous venons de présenter dans la section précédente n’est plus adaptéepuisque l’ensemble de niveaux associés à la ligne de niveau trouvée par cette méthodene représente pas l’objet souhaité. En réalité l’objet serait reconstruit par compositiondes régions fragmentées. Le problème est qu’il n’existe pas dans ce cas une ligne deniveau partagée par la majorité des jonctions.

Nous proposons donc dans cette section une nouvelle méthode pour la segmenta-tion de ce type d’objets. Nous constatons que s’il n’existe pas une ligne de niveaupartagée par l’ensemble des jonctions il en existe localement entre les proches voisines.Ainsi il reste possible de segmenter tout un objet, mais au lieu de déterminer une seuleligne de niveau appropriée, on cherchera plutôt une suite de lignes de niveau constituéeentre jonctions de manièreà ce que deux jonctions voisines soient liées par une lignede niveau. La figure 5.12(a) montre les jonctions associées aux flots qui indiquent lemouvement d’objet. En utilisant la méthode de la section précédente, la ligne de niveauλx représentera un contour, voir la figure 5.12(b). La figure 5.12(c) expose la nouvelleprocédure où le contour d’objet est défini par les lignes de niveau [λx,1 · · ·λx,N ], notonsque λx,i peut-être égal à λx,i−1

Pour construire la suite des lignes de niveau souhaitée une technique simple seraitla suivante. D’abord, on groupe localement les meilleurs couples parmi les jonctionsen considérant comme précédemment le nombre de lignes de niveau qu’elles partagent.Ensuite, le processus est itéré récursivement pour fusionner ces couples. De cette ma-nière, nous obtenons en fin de processus une suite de lignes de niveau qui représente lecontour d’objet. Mais cette méthode itérative est peu fiable, puisqu’en présence de fortbruit ou de données trop rares le procédé peut se bloquer complètement ou la suite deslignes de niveau trouvée peut ne représenter encore qu’une partie d’objet.

Dans la suite de cette section, nous exposons une méthode plus globale pour détecterla suite de lignes de niveau. C’est une méthode de Snake (lignes actives !) adaptée au

Page 159: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.4. Segmentation d’image (explicitation d’objets) 147

(a) (b) (c)

Fig. 5.10 – Segmentation d’objet homogène : (b) les résultats de la figure. 5.6(c)

Page 160: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

148 5. Analyse du mouvement

(a) (b) (c)

Fig. 5.11 – Les flots corrigés sur le mouvement du véhicule

Page 161: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.4. Segmentation d’image (explicitation d’objets) 149

(a) (b) (c)

Fig. 5.12 – Une suite de lignes de niveau : (a) (b) (c)

cas des jonctions. La clef de la méthode est donc la modélisation de la suite de lignesde niveau par une courbe déformable soumise à deux énergies, externe et interne,mesurées via le modèle EFLAM [74]. L’avantage de cette méthode est que : (1) dansle cas où les données seraient absentes le contour d’objet (la région) reste fermé, (2)lorsque le Snake se déforme à partir de la bordure d’image nous obtenons directementle contour extérieur d’objet sans que les jonctions à l’intérieur d’un d’objet perturbentsa construction.

Dans la section suivante, nous rappelons la méthode classique de Snake. Ensuite,notre méthode de Snake modifiée sera détaillée.

Les contours actifs ou Snakes

Le Snake, proposé par Kass [91], est un modèle actif/déformable de courbe employépour détecter les contours dans une image. La courbe obéit à un modèle mathéma-tique, par exemple les splines sont couramment utilisés, et sa courbure et sa continuitésont contrôlées par des paramètres caractérisant ainsi "la force interne" du Snake. Pourdétecter un contour dans l’image, la courbe y sera déplacée sous l’action d’une forced’attraction par le contenu image qui l’amènera à l’endroit désiré, en même tempsqu’elle se déformera pour s’adapter au mieux à la forme du contour. Cette force d’at-traction par l’image est la force externe du Snake. Pour résumer, le Snake est modélisépar deux forces antagonistes, interne et externe, la première agissant comme contrainteet la deuxième comme moteur d’optimisation. La méthode que nous présentons est unetransposition où l’énergie externe déplace les jonctions en accord avec EFLAM [74].Pour ce qui est de l’énergie interne, nous gardons le modèle proposé par [92].

Soit v(s) = (x(s), y(s)) les points de contrôle au long de la courbe associée au Snakes, l’énergie du Snake est définie par :

Page 162: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

150 5. Analyse du mouvement

E∗snake =

∫Eint(v(s)) + Eext(v(s)) ds (5.21)

où Eint et Eext sont l’énergie interne et externe respectivement.

Energie interne du Snake

L’énergie interne est spécifiée par :

Eint =α(s)Econt + β(s)Ecurv

2=α(s)|vs(s)|2 + β(s)|vss(s)|2

2(5.22)

Elle est donc également composée par deux termes. Le premier est du premier ordreexprimant la continuité du Snake comme membrane. Le second, du second ordre, codela courbure du Snake. Les constantes α et β équilibrent l’influence des deux forces surle Snake. La continuité est définie de la manière suivante :

Econt(i) = d2 − |vi − vi−1|2, d2 =1

N

N∑

i=1

|vi − vi−1|2 (5.23)

Où d2 est la distance moyenne entre points de contrôle du Snake. La continuité estdonc définie par la différence entre cette moyenne et la distance au point considéré.Cette valeur doit être normalisée sur l’intervalle [0 · 1], 1 marquant la continuité maxi-male.

La courbure est définie par :

Ecurv(i) =

∣∣∣∣vi+1 − vi

|vi+1 − vi|− vi − vi−1

|vi − vi−1|

∣∣∣∣2

(5.24)

Cette valeur représente l’angle extérieur entre deux vecteurs (cordes) à chaque pointde contrôle du Snake. La valeur est comprise entre 0 et une courbure maximale 4.Comme la continuité cette courbure sera normalisée dans [0 · 1].

Energie externe selon FJ (la force des jonctions)

L’énergie externe du Snake peut être définie à partir de l’image de nombreusesmanières. Le gradient de l’image est l’analogie la plus utilisée pour la force externe. Dansle présent travail nous définirons logiquement l’énergie externe à partir des jonctionsde lignes de niveau via ce que nous appelons la force de jonctions, soit Efj .

Eext = γ(s)Efj (5.25)

Comme expliqué dans le deuxième chapitre, la modélisation EFLAM implique quela jonction est extraite à l’endroit où les lignes de niveau se joignent et où la variationest importante. F est le flot maximal de lignes de niveau passant en moyenne à travers

Page 163: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.4. Segmentation d’image (explicitation d’objets) 151

(a) (b)

Fig. 5.13 – Le graphe montre la force de jonction fonction des paramètres Lm et E(F )

la jonction et E(F ) est le nombre de lignes de niveau du flot. Si(i ∈ 1..3) est le segmentrectiligne approximant un flot impliqué et Li(i ∈ 1..3) est sa longueur. La modélisationde la "force de jonction" prise comme force externe du Snake est basée sur l’hypothèsequ’à l’endroit où se trouve le point de jonction cette force est maximale. Au-delà,l’énergie diminuera de façon exponentielle avec la distance à ce point mais égalementen fonction croissante de E(F ) et décroissante de Lmin. L’énergie E est donc définiepar :

E = − exp‖v−p‖2 ln(

E(F )E(Fmax)

)

Lmin2 (5.26)

Où ‖v − p‖ est la distance entre un point v et le centre de jonction p. Lmin est lalongueur minimale des segments Si. E(Fmax) est l’amplitude maximale du flot qu’onpeut rencontrer dans l’image, 255 en général. Lmin exprime bien le rayonnement del’énergie de jonction, Lmax (cf. équation 5.27) étant la distance maximale du rayon-nement autorisée selon notre modèle. Et E(F ) contrôle la quantité d’énergie relativefonction de la distance : à une distance donnée, plus E(F ) est important plus l’énergieest grande en valeur absolue.

Lmax =

√√√√L2min

ln( 1E(Fmax)

)

ln( E(F )E(Fmax)

)(5.27)

La figure 5.13 montre l’énergie selon notre modèle en fonction des paramètres Lm

et E(F ).Pour utiliser la force de jonction dans l’énergie externe du Snake, nous considérons

un champs dans l’image qui fournit une énergie en chaque pixel. Un pixel est couvertpar des rayonnements provenant de plusieurs jonctions, en conséquence nous spécifionsl’énergie en chaque pixel comme le maximum sur l’ensemble des influences afin que leSnake soit attiré par la jonction la plus énergétique.

Page 164: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

152 5. Analyse du mouvement

Fig. 5.14 – Déplacement du point de contrôle du snake.

Efjf(i) = −maxj

exp‖vi−pj‖

2 ln(E(Fj )

E(Fmax))

Lmin,j2 , ∀j ‖vi − pj‖ ≤ Lmax,j (5.28)

Algorithme de segmentation par JF-Snake

L’algorithme de JF-Snake opère de la façon suivante : son but est de déplacer lespoints de contrôle le long de la courbe du Snake à l’endroit où l’énergie est minimale.Le déplacement s’entend en 8-connexité. En tout point l’énergie totale de chaque pixelvoisin est calculée. Puis, le point de contrôle est déplacé vers le pixel dont l’énergieest minimale, voir la figure 5.14. Le processus est itéré et s’arrête quand le nombrede points de contrôle actifs est inférieur à un seuil. L’algo 12 montre l’algorithme deJF-Snake.

Concernant les paramètres α, β et γ, en début de processus nous renforçons l’énergiedu Snake par l’énergie interne, en effet la courbe du Snake épouse en condition initialeles bords d’image et l’énergie externe est quasi nulle. L’importance donnée à l’énergieinterne permet au Snake de s’approcher des champs d’énergie de manière régulière.Une fois le point de contrôle déplacé dans le champ d’une force de jonction, l’énergieinterne sera réduite. En particulier celle de courbure doit décroître, en effet le point decontrôle peut être de type coin. Pour que le point de la courbe Snake soit attiré le plusvite possible à l’endroit d’énergie minimale, nous renforcerons donc l’énergie externe,celle liée à la force de jonction.

Expérimentation et discussion

Dans cette expérience, nous utilisons une nouvelle séquence d’image pour testernotre méthode de segmentation. La figure 5.16(a) montre les images à différents endroitsde la séquence. Le contenu de cette séquence d’images correspond aux mouvements depersonnages dans un bureau. La séquence est acquise en caméra fixe, le mouvement despersonnages est en général une translation simple. Nous avons appliqué la méthode desegmentation d’objet homogène pour extraire ces différents mouvements. On constatealors que le résultat obtenu est défectueux, plus précisément l’objet extrait est composépar plusieurs régions non connectées. L’explication en est que le personnage en question

Page 165: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.4. Segmentation d’image (explicitation d’objets) 153

Algorithm 12: Algorithme de FJ-Snakedébut

Initial m = 0 /* Nombre des noeuds déplacés */Initial α(i), β(i) et γ(i) pour ∀itant que m > mseuil faire

pour chaque Noeud vi faireEmin = Emax

pour chaque vj ∈ Nvifaire

/* Nvides voisins de vi */

E(j) = α(i)Econt,j + β(i)Ecurv,j + γ(i)Efjf,j

si E(j) < Emin alorsEmin = E(j)Jmin = j

si i 6= Jmin alorsDéplace vi à Jmin

m = m+ 1

pour chaque Noeud vi fairesi Ecurv,i > Ecurv,i−1 et Ecurv,i > Ecurv,i+1 et Ejfj,i > Ejfj,seuil alors

β(i) = 0 /* Relaxe la courbure à vi*/

fin

Page 166: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

154 5. Analyse du mouvement

est un objet non homogène si bien que la segmentation par seuillage est insuffisante.Cette séquence est donc bien adaptée pour tester efficacement l’algorithme de JF-Snake.

La segmentation d’objets non homogènes est exécutée par notre système d’analysede mouvement selon le schéma proposé. L’analyse débute systématiquement par la miseen correspondance entre jonctions de deux images successives. La figure 5.16(b) montreles flots issus du processus de mise en correspondance. A l’oeil nu on observe évidem-ment qu’il existe deux personnages en mouvement dans la scène. La figure 5.16(c)(d)montre deux classes des flots représentant les deux mouvements présumés après avoirappliqué la méthode de C-moyennes floues avec contrainte sur l’ensemble de niveau.Nous constatons que la classification rend un résultat plutôt précis.

Le processus de segmentation d’objet non homogène par la méthode de JF-Snakedébute pour chaque mouvement par le calcul du champ d’énergie externe en utilisantl’ensemble des flots représentant chaque mouvement. La figure 5.19(a)(b) illustre lechamp d’énergie externe des deux mouvement considérés, calculé par l’équation 5.28.Ainsi, la segmentation d’objet peut réellement commencer. En exécutant l’algorithme??, le Snake est donc déplacé itérativement en fonction de l’énergie (interne et externe).La figure 5.19(c)(d) retrace l’évolution de la courbe de Snake des deux objets respective-ment. Lorsque l’exécution s’achève selon une condition d’arrêt, le dernier emplacementde la courbe est alors considéré comme la bordure d’objet. La figure 5.19(e)(f) montreles résultats de la segmentation obtenue correspondant aux mouvements.

Nous remarquons que même si cette méthode est capable de segmenter l’objet dé-siré, elle nécessite une classification des flots plus précise que la segmentation d’objethomogène. En effet, la méthode détermine les lignes de niveau en tant que frontièreenveloppe des seuls flots qui indiquent le mouvement d’objets en question. Mais elle necherche pas à améliorer la structure manquante de ces objets (dont ceux qui ne sontpas représentés par les flots) comme la méthode précédente (qui reconstruit complète-ment l’ensemble de niveau de l’objet). Il faudrait pour cela selon nous étendre encorel’algorithme à partir du présent résultat pour, en utilisant l’image originale, déterminervéritablement le profil complet de l’objet.

Enfin, rappelons que ce mémoire est centré sur la "mise en correspondance" entreimages comme opérateur fondamental en vision. Notre but était notamment de conce-voir la méthode d’appariement comme une boîte noire autonome. Ainsi, dans touteapplication donnée devons nous ensuite l’employer comme un composant à combineravec d’autres boîtes ayant d’autres fonctions pour qu’un système complet atteigne sonobjectif. L’avantage d’une telle conception fonctionnelle est l’indépendance des fonc-tionnements plus faciles à modéliser ou développer, donc le réemploi pour compléter oufaire fonctionner un autre système visé. Ce concept en revanche contredit la compacité.On note cette limitation dans une application spécialisée mais déjà complexe commel’analyse du mouvement présentée dans ce chapitre. Il est sans aucun doute possiblede combiner toues les fonctionnements (la mise en correspondance, la classification et

Page 167: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.5. Conclusion 155

(a) (b)

Fig. 5.15 – (a) Image original, (b) flots après la mise en correspondance

(c) (d)

Fig. 5.16 – (c)(d) deux classes d’objet en mouvement

la segmentation) en une seule procédure pour améliorer l’efficacité et la rapidité de laméthode qui en manque dans sa version actuelle.

5.5 Conclusion

Dans ce chapitre, nous avons présenté un système pour l’analyse du mouvementfondé sur la mise en correspondance des jonctions par l’algorithme de mariages stables,l’identification des mouvements par la classification des flots, et la segmentation derégions des mouvements concernés. Le module de mise en correspondance employé iciest celui que nous avons détaillé largement dans le chapitre 4 [75] [76] [77] [93]. Rap-pelons en effet qu’il s’agit d’une procédure de base pour les différentes applications.En revanche, les deux derniers modules sont spécialement conçus pour cette analyse.Nous avons proposé la méthode de C-moyennes floues avec contrainte sur l’ensemble de

Page 168: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

156 5. Analyse du mouvement

(a) (b)

Fig. 5.17 – (a)(b) Champ d’énergie d’objet présenté dans la figure 5.16(c)(d)

(c) (d)

Fig. 5.18 – (c)(d) évolution de couve du Snake

(e) (f)

Fig. 5.19 – ((e)(f) objets segmentés

Page 169: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

5.5. Conclusion 157

niveau, qui classifie les flots similaires, puis les identifie comme mouvements d’objets.Ensuite, deux méthodes qui segmentent les régions associées aux objets sont exposées.Elles s’adaptent respectivement aux objets extraits : homogène et inhomogène. La pre-mière est une procédure simple basée directement sur la propriété de l’ensemble deniveau. La deuxième se présente comme une extension du Contour Actif, ici adaptéaux ensembles de niveau. Les méthodes proposées ont ainsi été expérimentées, puis lesrésultats obtenus analysés.

Page 170: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

158 5. Analyse du mouvement

Page 171: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

159

Chapitre 6

Conclusion et perspectives

6.1 Commentaire sur les principaux résultats

Dans ce mémoire, nous avons abordé la mise en correspondance d’images pour l’ana-lyse du mouvement et la stéréovision. Le but était de trouver une méthode efficace derésolution du problème de l’appariement d’images en général, ne préjugeant pas del’application (reconnaissance, mouvement ou stéréovision). Nous avons donc été ame-nés à la fois à proposer des primitives que nous considérons particulièrement robustes,les jonctions de lignes de niveaux, et à retenir un paradigme d’optimisation que nousconsidérons particulièrement riche, les mariages stables.

L’exploitation des ensembles de niveaux comme primitives d’image n’est pas nou-velle dans notre laboratoire et l’on sait de plus qu’ils permettent de reconstruire l’image :on peut donc contrôler la perte d’information qu’ils entraînent a priori. Nos travaux derecherche sont dans la continuité de cette tendance, sachant que la propriété de recons-tructibilité s’étend aux "lignes" puis à nos "jonctions de lignes" de niveaux. Nous noussommes attachés à exploiter plus à fond ces propriétés pour les adapter à l’appariementd’image. Le modèle EFLAM pour l’extraction des jonctions de lignes de niveaux en adécoulé. Sa conception en tant que modèle de point d’intérêt mesurant la variationlocale sectorielle de l’ensemble de niveaux favorise la précision et la robustesse de miseen correspondance. Une propriété clef de ce détecteur est en outre sa faculté de délivrerprogressivement des points depuis la périphérie jusqu’à l’intérieur de l’objet image i.e.de la structure principale aux détails de surface de l’objet physique. Dès ce stade dutraitement la rapidité de réponse du système est donc adaptable à des contraintes detemps de la tâche.

Concernant le procédé d’appariement proprement dit, nous avons poursuivi uneétude sur des méthodes d’optimisation intéressantes intuitivement (ex : par analogied’applications) dans le domaine du traitement d’image mais non encore mises en oeuvre.Notre pari était que la méthode choisie apporterait ainsi des résultats nouveaux et doncintéressants. Les mariages stables étaient déjà apparus prometteurs pour des travaux desegmentation par extension de caractéristiques. Le modèle de "mariages stables" nous

Page 172: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

160 CONCLUSION ET PERSPECTIVES

a intéressé en particulier dans sa conception. Cependant son application potentielle enappariement d’images souffrait à l’analyse de trois inadaptations non indépendantes :la stabilité est une contrainte dont les effets sont globaux à la population alors qu’unappariement réussi a des aspects locaux ; les algorithmes existants ne sont pas adaptésen ce que, sacrifiant tout à la complexité et pensés plutôt dans un contexte "gestionde ressources", ils contredisent deux autres contraintes majeures que sont la satisfac-tion globale des couples formés ou la symétrie de traitement des candidats ; même latolérance de listes de préférence incomplètes ne réussit pas à atténuer la tendance im-périeuse du paradigme qui veut forcer les mariages au maximum. Nous avons doncdéveloppé de nouveaux algorithmes basés sur une représentation originale, la table demariages, plus propice à exprimer toutes les contraintes spécifiques à nos besoin : lasatisfaction globale, l’égalité de sexe, la stabilité et la complexité dans cet ordre. Unefamille complète d’algorithmes a ainsi été conçue et étudiée quant à leurs propriétés etleurs performances respectives. Les tests systématiques ont été menés d’abord statisti-quement en comparant avec l’algorithme de référence dans ce domaine, celui de Galeet Shapley. Selon notre étude, le vainqueur SBZ est le bon choix pour notre nouvelleméthode de mise en correspondance : il est dans une grande majorité des cas significa-tivement meilleur que la référence pour ce qui est de la satisfaction globale ou l’égalitédes sexes, au prix d’une augmentation en complexité théorique de O(n2) à O(n4) . Maisnous avons vérifié expérimentalement que cette augmentation n’atteint en réalité queO(n3) conformément au résultat montré par ailleurs en théorie des graphes. La com-plexité finale sera d’autant plus acceptable qu’un post-traitement (élagage) judicieuxdes primitives la rendra définitivement correcte en pratique.

C’est ce que nous vérifions dans les deux derniers chapitres du mémoire, en mêmetemps que l’indépendance de l’ensemble du procédé vis à vis de l’application, indé-pendance qui était une des questions posées au début de notre recherche. Un systèmegénérique pour la mise en correspondance d’images utilisant ces algorithmes a doncété mis en place. Le fonctionnement est conçu pour l’appariement en multi échelle desjonctions de lignes de niveaux, selon le modèle EFLAM, avec en sus élimination d’intrusi.e. des couples localement minoritaires. L’efficacité définitive est cette fois testée parcomparaison avec des méthodes de vote et de programmation dynamique déjà considé-rées très performantes dans leurs applications respectives : le recalage bidimensionnelet la détection d’obstacle par stéréovision. Les résultats montrent une amélioration desperformances importante : par exemple une voiture arrivant sur la file opposée est dé-tectée par notre véhicule PICAR lui-même en mouvement à une cinquantaine de mètresen moyenne au lieu de la vingtaine obtenue jusque là avec un algorithme type Viterbipar lignes. Les tailles apparentes d’objets sont respectivement de 300 et 800 pixels àdétection. Plus important encore, un cycliste (donc un piéton) sera détecté quasi sansinterruption (90% du temps) par notre système à 36 mètres alors que sa taille dansl’image n’est que de 250 pixels, contre une détection de l’ordre de 10% par la versionprécédente du système visuel de PICAR. Non seulement la détection est plus sûre maisencore le temps de réaction pour une vitesse de 30Km/h est de 250 millisecondes. Laréglementation européenne impose une distance de sécurité correspondant à 2 secondes

Page 173: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

6.2. Perspectives 161

à rapporter à la vitesse du véhicule, en considèrant 1 seconde de détection humaine(à comparer à nos 250 millisecondes) et une action réflexe de freinage d’urgence de 1seconde.

Enfin, les jonctions de lignes de niveau et les algorithmes de mariages stables sontréemployés dans notre système d’analyse du mouvement. Il est capable d’identifierpar leurs déplacements relatifs puis d’extraire des objets mobiles en étant lui-mêmeen mouvement. Une méthode de classification basée sur les C-moyennes floues aveccontrainte spatiale sur l’ensemble de niveaux a été définie aux fins d’identification. Lasegmentation d’objet d’après leur mouvement est quant à elle fondée sur la méthodedite JF-Snake, adaptation d’une méthode de contours actifs conventionnelle au cas denos jonctions de lignes de niveau. S’agissant d’une étude préliminaire dans un pro-blème réputé extrêmement difficile, les performances de l’analyse du mouvement ontété testées et analysées qualitativement sur des séquences choisies pour leur complexitéapparente à l’oeil. La fin de l’étude se confond désormais à la qualification du systèmecomplet sur route et rentre dans le cadre de la validation de la perception du véhiculedont de nombreuses facettes (ex. fusion de données capteur, architecture, implantationoptimisée etc.) sont hors du champs de notre travail.

Au-delà de ces tests qui apparaissent satisfaisants, le point le plus important noussemble être d’avoir pu proposer une organisation système générique qui a été réuti-lisée dans les trois champs d’application. Lorsqu’il a été nécessaire de la compléterpar des modules plus spécifiques leur ajout n’a posé aucune difficulté. Ce résultat nepeut bien évidemment pas être pris pour preuve d’un quelconque caractère universel :d’autres techniques d’appariement seront dans certains cas plus adaptées et prouve-ront de meilleures performances. Mais il est prometteur parceque les points, primitivesde cette vision, sont aisément extensibles en d’autres primitives plus denses telles queles propriétés exploitées ensuite par le mariages soient transportées. Il est égalementintéressant dans la mesure où la stabilité, c’est-à-dire l’absence de contradiction localede la mise ensemble, basée sur les seules relations d’ordre apparaît comme un facteurd’amélioration par exemple sur la programmation dynamique qui requiert des mesuresde disparités élémentaires, souvent sujettes à caution, dont les sommes partielles serontseulement ensuite ordonnées dans le schéma markovien.

6.2 Perspectives

Les améliorations potentielles de notre système de mise en correspondance se ré-partissent selon deux axes : élargissement de la décision et optimisation applicative.

Dans le mariage stable classique à ce jour, il existe deux ensembles (populations)à mettre en correspondance, autrement dit dans notre problème l’appariement seraitpossible seulement entre deux images. Dans des applications a priori plus complexescomme la reconstruction en trois dimensions ou la détection robuste de mouvementsfurtifs utilisant plus de deux images, nos algorithmes devraient s’étendre mieux que

Page 174: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

162 CONCLUSION ET PERSPECTIVES

beaucoup. On sait qu’en pratique la programmation dynamique en plus de 4 dimen-sions est difficile et que la correspondance deux à deux avec recombinaisons ne donnepas de solution correcte dans de nombreux cas. A notre avis, la table des mariageset ses balayages constituent une représentation particulièrement apte à l’extension enplus de dimensions pour associer directement N populations. Par exemple en redéfi-nissant la table des mariages en trois dimensions on pourra directement associer unhomme/une femme/une maison. La variété des balayages en trois dimensions est plusgrande, mais si la solution du problème à trois populations existe, alors il existeraune variété de balayages qui trouvent les solutions optimales aux sens considérés. Celadevrait augmenter la performance et la rapidité de mise en correspondance, notam-ment des solutions approchées là où les mariages stables classiques ne permettent pasd’en trouver. On remarquera que d’un point de vue plus applicatif, l’utilisation desalgorithmes de mariages stables en N populations permet d’introduire directement lanotion de temps dans le processus de mise en correspondance, sans filtrage parasite etsans le recours à une distance peut-être artificielle comme la distance L2 sous forme decorrélation.

Pour ce qui est d’améliorer la méthodologie d’application, les développements d’ap-plications dans ce mémoire mettaient l’accent sur la facilité de développement et lavérification de résultats. C’est-à-dire que l’application exposée est systématiquementcomposée d’un ensemble des mêmes modules connectés. Chaque module, lui-mêmedécomposé en plusieurs sous modules, accomplit une tâche spécifique. Par exemple,l’analyse du mouvement est décomposée en trois principaux modules : la mise en cor-respondance, l’identification des mouvements, et l’extraction des objets image. Et demême, chacun concentre des fonctionnalités élémentaires. Ce développement de styleingénierie est très efficace pour les améliorations ou ajouts futurs, ou encore pour ex-périmenter sur le fonctionnement du système. On peut modifier chaque module indé-pendamment en variant les méthodes. Un tel développement est coûteux et contreditsouvent l’opération en temps réel. Ce serait par exemple le cas de notre système d’ana-lyse du mouvement : bien que le résultat obtenu soit très encourageant, les premièresprojections grossières augurent mal de résultats délivrés au rythme de la conduite. Dansla perspective d’applications visant un objectif imposé tendu, notre système d’analyseserait à optimiser en mélangent les sous modules, supprimant toute répétition (ex. ini-tialisations, boucles) et aménageant des recouvrements entre procédures indépendantes(ex. classification et détection). D’une manière plus générale si un système comme lenôtre doit défendre un certain type de vision, il faut sûrement repenser sa structure àdes fins de généralité accrue.

Page 175: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

163

Publications

– N. Suvonvorn, S. Bouchafa, and L. Lacassagne. Fast reliable level-lines segmentsextraction. In International Conference on Information and Communication Tech-nologies : from Theory to Applications, Damas, Syria, September 2004.

– B. Zavidovique, N. Suvonvorn, and Guna S. Seetharaman. A novel representa-tion and algorithms for (quasi) stable marriages. In International Conference onInformatics in Contronl, Automation and Robotics, Barcelona, Spain, September2005.

– N. Suvonvorn, S. Bouchafa, and B. Zavidovique. Marrying level lines for stereo ormotion. In International Conference on Image Analysis and Recognition, Toronto,Canana, September 2005.

– N. Suvonvorn and B. Zavidovique. Eflam : A model to level-line junction extrac-tion. In International Conference on Computer Vision Theory and Applications,Setúbal, Portugal, February 2006.

– N. Suvonvorn and B. Zavidovique. A stable marriages algorithm to optimizesatisfaction and equity. In International Conference on Image Analysis and Re-cognition, Povoa de Varzim, Portugal, September 2006.

– N. Suvonvorn and B. Zavidovique. Stable marriages to globally-satisfying andequitable image matching. Soumis au Journal of Pattern Recognition, Elsevier,March 2006.

Page 176: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

164 PUBLICATIONS

Page 177: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

165

Bibliographie

[1] Lisa Gottesfeld Brown. A survey of image registration techniques. ACM Compu-ting Surveys, 24(4) :325–376, 1992.

[2] Barbara Zitova and Jan Flusser. Image registration methods : a survey. Imageand Vision Computing, 21 :977–1000, 2003.

[3] Pui-T. Phong. Illumination for computer generated pictures. Communication ofthe ACM, 18(6) :311–317, June 1975.

[4] James F. Blinn. Models of light reflection for computer synthesized pictures.SIGGRAPH’77 Proceedings, 11(2) :192–198, July 1977.

[5] R.L.Cook and K.E.Torrance. A reflectance model for computer graphics. Tran-sactions on Graphics, 1(1) :7–24, January 1982.

[6] L. Kitchen and A. Rosenfeld. Gray-level corner detection. Pattern RecognitionLetters, 1 :95–102, December 1982.

[7] H. Wang and M. Brady. Real-time corner detection algorithm for motion estima-tion. Image and Vision Computing, 13(9) :695–703, November 1995.

[8] P.R. Beaudet. Rotational invariant image operators. In Proc. of the Int. Conf. onPattern Recognition, pages 579–583, 1978.

[9] R. Deriche and G. Giraudon. Accurate corner detection : An analytical study. InProc. 3rd Int. Conf. on Computer Vision, pages 66–70, 1990.

[10] H. P. Moravec. Visual mapping by a robot rover. In International Joint Conferenceon Artificial Intelligence, pages 598–600, 1979.

[11] Chris Harris and Mike Stephens. A combined corner and edge detector. In Pro-ceedings of The Fourth Alvey Vision Conference, pages 147–151, Plessey ResearchRoke Manor, UK, 1988.

[12] Zhiqiang Zheng, Han Wang, and Eam Khwang Teoh. Analysis of gray level cornerdetection. Pattern Recogn. Lett., 20(2) :149–162, 1999.

[13] W. Förstner and E. Gülch. A fast operator for detection and precise location ofdistinct points, corners and centres of circular features. In ISPRS IntercommissionWorkshop, pages 149–155, 1987.

[14] Stephen M. Smith and J. Michael Brady. Susan - a new approach to low levelimage processing. Int. J. Comput. Vision, 23(1) :45–78, 1997.

[15] M. Girard. Digital target tracking. In NATO Group, Aalborg, Denmark, 1980.

Page 178: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

166 BIBLIOGRAPHIE

[16] P. Bonnin, E. Pauchon, and B. Zavidovique. Tracking in infrared imagery based ona point of interest/region cooperative segmentation software agents activities. InICIP’89, 3rd International Conference on Image Processing, Warwick, July 1989.ICEIS Press.

[17] B. Widrow. The rubber mask technique. Pattern Recognition, 5(3) :174–211, 1973.

[18] A. Rosenfeld and A.C. Kak. Digital Picture Processing, second ed. AcademicPress, New York, 1982.

[19] E. I. Barnea and H.F.Silverman. A class of algorithms for fast digital imageregistration. IEEE Transactions on Computers, C(21) :179–186, 1972.

[20] C. D. Kuglin and D. C. Hines. The phase correlation image alignment method.In Proc. IEEE 1975 Conference on Cybernetics and Society, pages 163–165, Sep-tember 1975.

[21] E. De Castro and C. Morandi. Registration of Translated and Rotated ImagesUsing Finite Fourier Transforms. IEEE Transactions on Pattern Analysis andMachine Intelligence, 9(5) :700–703, September 1987.

[22] L. S. Davis and A. Rosenfeld. Cooperating processes for low-level vision : A survey.Artificial Intelligence, 17(1–3) :245–263, août 1981.

[23] G. A. Jones. Constraint, optimization, and hierarchy : Reviewing stereoscopiccorrespondence of complex features. International Journal of Computer Vision,65(1) :57–58, janvier 1997.

[24] R. Horaud and O. Monga. Vision par ordinateur, outils fondamentaux. Traité desnouvelles technologies, série Informatique. Hermès, Paris, France, 1993.

[25] J. Holland. Adaptation in Natural and Artificial Systems : An Introductory Ana-lysis with Applications to Biology, Control and, Artificial Intelligence. The Mas-sachusetts Institute of Technology, MIT Press, 1975.

[26] R. E. Bellman and S. E. Dreyfus. La programmation dynamique et ses applications.Dunod, Paris, France, 1962.

[27] C. Kim, K. M. Lee, B. T. Choi, and S. U. Lee. A dense stereo matchingusing two-pass dynamic programming with generalized ground control points. InIEEE Computer Society Conference on Computer Vision and Pattern Recognition,volume 2, pages 1075–1082, San Diego, États-Unis, juin 2005.

[28] P. H. S. Torr and A. Criminisi. Dense stereo using pivoted dynamic programming.International Journal of Image and Vision Computing, 22(10) :795–806, septembre2004.

[29] A. J. Viterbi. Error bounds for convolutional codes and an asymptotically optimumdecoding algorithm. IEEE Transactions on Information Theory, 13(2) :260–269,avril 1967.

[30] S. Roy and I. J. Cox. A maximum-flow formulation of the n-camera stereo corres-pondence problem. In IEEE International Conference on Computer Vision, pages492–499, Bombai, Inde, janvier 1998.

[31] Toby Collins. Graph cut matching in computer vision, February 2004.

Page 179: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

BIBLIOGRAPHIE 167

[32] Yuri Boykov and Vladimir Kolmogorov. An experimental comparison of min-cut/max-flow algorithms for energy minimization in vision. IEEE Transactionson Pattern Analysis and Machine Intelligence, 26(9) :1124–1137, September 2004.

[33] O. Veksler. Extracting dense features for visual correspondence with graph cuts.In Computer Vision and Pattern Recognition, volume 1, pages I–689– I–694 vol.1,June 2003.

[34] L. Ford and D. Fulkerson. Flow in Networks. Princeton University Press, 1962.

[35] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.Introduction to Algorithms. MIT Press and McGraw-Hill, second edition.

[36] V. Caselles, B. Coll, and J. Morel. Topographic maps and local contrast changes innatural images. International Journal of Computer Vision, 33(1) :5–27, September1999.

[37] P. Monasse and F. Guichard. Fast computation of a contrast-invariant imagerepresentation. IEEE Trans. on Image Proc., 9(5) :860–872, 1998.

[38] C. Ballester, E. Castan, M. Gonzalez, and J. Morel. Contrast invariant imageintersection. C.M.L.A, (9817), 1998.

[39] J.L.Lisani, P. Monasse, and L.I. Rudin. Fast shape extraction and applications.C.M.L.A, (2001-16), 2001.

[40] J. Froment. Image compression through level lines and wavelet packets. WoltersKluwer Acad. Pub., 2001.

[41] F. Guichard, S. Bouchafa, and D. Aubert. A change detector based on level sets. InISMM’2000 : International Symposium on Mathematical Morphology, Palo Alto,juin 2000.

[42] Pierre Poulin. Shading and inverse Shading from Direct Illumination. PhD thesis,University of British Columbia, December 1993.

[43] V. Caselles, B. Coll, and J. Morel. A kanizsa programme, 1995.

[44] Barton L. Anderson. The role of occlusion in the perception of depth ligthnessand opacity. Psychological Review, 110(4) :785–801, November 2003.

[45] Lance R. Williams and Allen R. Hanson. Perceptual completion of occluded sur-faces. Computer vision and image understanding, 64(1) :1–20, July 1996.

[46] S. Bouchafa and B. Zavidovique. Stratégie de vote pour la mise en correspondancede lignes de niveaux. In 4ème Congrès Francophone AFRIF-AFIA de Reconnais-sance des Formes et Intelligence Artificielle, Centre des Congrès Pierre Baudis deToulouse, Janvier 2004.

[47] Jose-Luis Lisani, Lionel Moisan, Pascal Monasse, and Jean-Michel Morel. Affineinvariant mathematical morphology applied to a generic shape recognition algo-rithm. In ISMM’2000 : International Symposium on Mathematical Morphology,Palo Alto, juin 2000.

[48] N. Suvonvorn, S. Bouchafa, and L. Lacassagne. Fast reliable level-lines segmentsextraction. In International Conference on Information and Communication Tech-nologies : from Theory to Applications, Damas, Syria, September 2004.

Page 180: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

168 BIBLIOGRAPHIE

[49] B. Burg and B. Zavidovique. Pattern recognitions and image compression bymeans of a time warping algorithm. In ICPR’86, 1986.

[50] P. Adam, B.Burg, and B. Zavidovique. Dynamic programming for region basedpattern recognition. In ICASSP/IEEE-ASJ, Tokyo, April 1985.

[51] K. Zemirli, G. Seetharamann, and B. Zavidovique. Stable matching for selectivejunction points grouping. In IEEE JCIS 2000 (CVPR-IP), February 2000.

[52] K. Zemirli. Contrôle de segmentation pour l’extraction de formes. PhD thesis,Université de Paris-Sud, December 2000. PhD dissertation (in French).

[53] D. Gal and L.S. Shapley. College admissions and the stability of marriage. Ame-rican Mathematical Monthly, 69 :9–15, 1962.

[54] S. Miyazaki K. Iwama, D. Manlove and Y. Morita. Stable marriage with incompletelists and ties. Proceedings of ICALP ’99 : the 26th International Colloquium onAutomata, Languages and Programming, 1644 :443–452, 1999.

[55] D.F. Manlove. Stable marriage with ties and unacceptable partners. Technical Re-port TR-1999-29, Computing Science Department of Glasgow University, January1999.

[56] K. Iwama D.F. Manlove, R.W. Irving, S. Miyazaki, and Y. Morita. Hard variantsof stable marriage. Theoretical Computer Science, 276(1-2) :261–279, 2002.

[57] I.P. Gent and P. Prosser. An empirical study of the stable marriageproblem with ties and incomplete lists. Technical Report APES-40-2002,APES Research Group, January 2002. Available from http ://www.dcs.st-and.ac.uk/ apes/apesreports.html.

[58] D. Michail T. Kavitha, K. Mehlhorn and K. Paluch. Strongly stable matchings intime o(nm). July 2003.

[59] D.F. Manlove. The structure of stable marriage with indifference. Discrete AppliedMathematics, 122(1-3) :167–181, 2002.

[60] S. Hartke D. Bianco and A. Larimer. Stable matchings in the couples problem.Morehead Electronic Journal of Applicable Mathematics, 2, June 2001.

[61] J. Sethuraman C.P. Teo and W.P. Tan. Gale-shapley stable marriage problemrevisited : Strategic issues and applications. IPCO’99, pages 429–438, 1999.

[62] D. Michail T. Kavitha, K. Mehlhorn and K. Paluch. Strongly stable matching intime o(nm) and extension to the hospitals-residents problem. STACS’04, pages222–233, 2004.

[63] R.W. Irving. Stable marriage and indifference. Discrete Applied Mathematics,48 :261–272, 1994.

[64] Dan Gusfield and Robert W. Irving. The Stable Marriage Problem Structure andAlgorithms. The MIT Press, Cambridge, Massachusetts, 1989.

[65] T. Feder. A new fixed point approche for stable networks and stable mariages.Twenty-First Annual Symposium on Theory of Computing, 1989.

[66] T. Feder. Stable networks and product graphs. Memoirs Amer. Math. Soc.,(555) :223, 1995.

Page 181: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

BIBLIOGRAPHIE 169

[67] A. Tamura. Transformation from arbitrary matchings to stable matchings. Journalof Combinatorial Theory, A(62) :310–323, 1993.

[68] B. Zavidovique and V. Serfaty. Image processing : Cooking or chemistry ? In Key-note speech - 6th Int’l Conf. on Image Analysis and Processing COMO, September1991.

[69] B. Zavidovique, V.Serfaty, and C.Fortunel. Image processing : from infancy tomaturity. Journal of IEEE Software, 8(6) :37–50, November 1991.

[70] Hernan Abeledo and Uriel G. Rothblum. Paths to marriage stability. Elsevier :Discrete Applied Mathematics, 63(1-12), 1995.

[71] D. G. McVitie and L. B. Wilson. Three procedures for the stable marriage problem.Communications of the ACM, 14,7 :491–492, July 1971.

[72] Effrosyni Diamantoudi, Eiichi Miyagama, and Licun Xue. Random paths to sta-bility in the roommate problem. Elsevier : Games and Economic Behavior, 48(18-28), 2004.

[73] S. Bouchafa and B. Zavidovique. Efficient line voting for MEMS profile registra-tion.

[74] N. Suvonvorn and B. Zavidovique. Eflam : A model to level-line junction extrac-tion. In International Conference on Computer Vision Theory and Applications,Setúbal, Portugal, February 2006.

[75] B. Zavidovique, N. Suvonvorn, and Guna S. Seetharaman. A novel representa-tion and algorithms for (quasi) stable marriages. In International Conference onInformatics in Contronl, Automation and Robotics, Barcelona, Spain, September2005.

[76] N. Suvonvorn and B. Zavidovique. A stable marriages algorithm to optimizesatisfaction and equity. In International Conference on Image Analysis and Re-cognition, Povoa de Varzim, Portugal, September 2006.

[77] N. Suvonvorn and B. Zavidovique. Stable marriages to globally-satisfying andequitable image matching. 2006.

[78] P. Smith, D. Sinclair, R. Cipolla, and K. Wood. Effective corner matching, 1998.

[79] M. Gorger and G. Hirzinger. Optical flow to analyse stabilised image of the beatingheart. In International Conference on Computer Vision Theory and Applications,Setúbal, Portugal, February 2006.

[80] Gérard Blanchet and Maurice Charbit. Signaux et images sous Matlab. HERMESScience Europe Ltd, 2001.

[81] François LE COAT. Vers un appariement dynamique d’images : conception, im-plantation et évaluation d’un algorithme de mise en correspondance d’images. PhDthesis, Université de Paris-Sud, janvier 2000. PhD dissertation (in French).

[82] S. Birchfield and C. Tomasi. Depth discontinuities by pixel-to-pixel stereo. Inter-national Journal of Computer Vision, 35(3) :269–293, December 1990.

[83] RTMaps. Rtmaps, real time, multisensor, advanced, prototyping software.

Page 182: Mise en Correspondance d’Images pour l’Analyse du Mouvement …fivedots.coe.psu.ac.th/~kom/wp-content/uploads/2006/07/... · 2009. 7. 11. · Samia BOUCHAFA Examinateur ... Je

170 BIBLIOGRAPHIE

[84] S. Bouaziz, M. Fan, A. Lambert, T. Maurin, and R. Reynaud. Picar : experimentalplatform for road tracking applications. Intelligent Vehicles Symposium, pages495– 499, June 2003.

[85] J.R. Bergen, P.J. Burt, K. Hanna, R. Hingorani, P. Jeanne, and S. Peleg. Dynamicmultiple-motion computation. In Artificial Intelligence and Computer Vision. Y.A.Feldman and A. Bruckstein, eds., Elsevier Science Publishers B.V., 1991.

[86] J. R. Bergen, P. Anandan, K. J. Hanna, and R. Hingorani. Hierarchical model-based motion estimation. In Proc. European Conf. on Computer Vision, pages237–252, 1992.

[87] Michal Irani, Benny Rousso, and Shmuel Peleg. Computing occluding and trans-parent motions. Int. J. Comput. Vision, 12(1) :5–16, 1994.

[88] G. D. Borshukov, G. Bozdagi, Y. Altunbasak, and A. M. Tekalp. Motion segmen-tation by multistage affine classification. IEEE Tr. Im. Proc., 6(11) :1591–1594,Nov 1997.

[89] J. Y. A. Wang and E. H. Adelson. Representing moving images with layers. IEEETr. Im. Proc, 3(5) :625–638, Sep 1994.

[90] L C Bezdek. Pattern Recognition with Fuzzy Objective Function Algorithm. PlenumPress, New York, 1981.

[91] M. Kass, A. Witkin, and D. Terzopoulos. Snakes : Active contour models. Inter-national Journal of Computer Vision, 1(4) :321–331, 1988.

[92] D J Williams and M Shah. A fast algorithm for active contours and curvatureestimation. CVGIP : Image Understanding, 55(1) :14–26, 1992.

[93] N. Suvonvorn, S. Bouchafa, and B. Zavidovique. Marrying level lines for stereo ormotion. In International Conference on Image Analysis and Recognition, Toronto,Canana, September 2005.