Reconnaissance Multi-vues de véhicules sur séquences d`images

Transcription

Reconnaissance Multi-vues de véhicules sur séquences d`images
ÉCOLE DOCTORALE SCIENCES ET INGÉNIERIE
Université de Cergy-Pontoise
THÈSE
Présentée pour obtenir le titre de docteur de l’université de Cergy-Pontoise
Spécialité : Informatique et traitement de l’information
Reconnaissance Multi-vues de véhicules
sur séquences d’images
par
Jonathan Guinet
Laboratoire ETIS CNRS-UMR 8051 - UCP/ENSEA
Dpt. Traitement de l’information et de modélisation - ONERA
Soutenue le 07 Octobre 2008
Devant le jury composé de :
Mme Sylvie Philipp-Foliguet
M. Guy Le Besnerais
M. Stéphane Herbin
Mme Luce Morin
M. Frédéric Jurie
Mme Michèle Rombaut
Directrice de thèse
Encadrant Onera
Encadrant Onera
Rapportrice
Rapporteur
Examinatrice
3
Remerciements
Ce travail a été réalisé au sein du Département Traitement de l’Information et Modélisation
(DTIM) au centre ONERA de Châtillon en collaboration avec l’Equipe Traitement des Images
et du Signal (ETIS) de l’université de Cergy Pontoise .
Je tiens à remercier Guy Le Besnerais et Stéphane Herbin pour l’encadrement de ces travaux,
ainsi que pour leurs conseils pendant ces longues années de thèse. Je remercie également Sylvie
Philipp Foliguet d’avoir accepté d’être ma directrice de thèse, ainsi que pour m’avoir vivement
poussé à commencer la rédaction alors que j’essayais de repousser cette échéance, je crois que
sans elle je serai encore dans mes codes . . .
Luce Morin et Frédéric Jurie m’ont fait l’honneur de rapporter cette thèse. Je les remercie pour
l’intérêt qu’ils ont porté à mon travail, ainsi que pour leur nombreuses remarques et commentaires
sur mes travaux. Je remercie Michèle Rombaut pour avoir accepté de présider mon jury de
thèse, et pour avoir apporté un regard axé fusion de données sur mes travaux, domaine qui m’est
inconnu.
Plus personnellement,
Je remercie Marie-Lise Duplaquet pour sa gentillesse et ses conseils avisés.
Je tiens à remercier Jérome pour sa relecture attentive de mon manuscrit et pour ses nombreux
conseils concernant ma recherche professionnelle.
Je tiens également à remercier Fabrice Savignol pour son soutien et son efficacité.
Merci à Patrick Secchi pour sa patience lors de la résolution de mes nombreux problèmes
informatiques, et pour sa connaissance quasi encyclopédique de l’athlétisme et plus généralement
du monde sportif.
Je remercie Benjamin pour s’être intéressé à mes travaux, et pour ses conseils scientifiques.
Je remercie Françoise et Patrick Pradines pour leur aide, et pour avoir créé une ambiance
chaleureuse autour de moi.
Je remercie Fabrice Janez pour son soutien et ses "leçons de vie".
Merci à Martial pour avoir toujours trouvé le temps de répondre à mes question, pour sa
gentillesse et son amitié.
Je remercie les nombreux thésards, stagiaires et apprentis que j’ai eu la chance de côtoyer
pendant cette thèse, et bon courage à ceux qui vont suivre : Anne Marie, Evangéline, Nicolas,
Antoine, Adrien et Joseph.
Merci à Adrien pour ses corrections linguistiques.
Merci à Antoine et Anne-Marie pour leur gentillesse et leur bonne humeur.
Merci à Nicolas pour la finesse de son humour et pour m’avoir supporté pendant ma dernière
année de thèse.
Merci à Cédric pour ses encouragements et ses conseils de fin thèse.
Merci au duo Vivien et François, pour tous les bons moments passés dans et à l’extérieur du
travail.
Mes passages au laboratoire ETIS ont été (trop) rares, mais toujours agréables, je remercie
Inbar, Michel, Frédéric, Philippe-Henri ainsi que les doctorants Sonia, Lucile, Auguste, Dimitri,
David P et G, Ayman, Eduardo, et Adrian.
Je tiens enfin à remercier ma famille et mes amis pour leur soutien et leur affection.
4
Remerciements
5
Sommaire
1 Introduction
1.1 Contexte de l’étude. . . .
1.2 Position du problème. . .
1.3 Principales contributions .
1.4 Organisation du document
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
10
12
2 Position du problème/état de l’art
2.1 La reconnaissance d’objets . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 L’approche basée “modèle” . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 Les approches basées “apparence” . . . . . . . . . . . . . . . . . . . .
2.2 Notre contexte d’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Des objets peu résolus et peu texturés . . . . . . . . . . . . . . . . .
2.2.2 Des variations d’aspect importantes . . . . . . . . . . . . . . . . . .
2.3 Le contexte de l’identification de couples d’objets “identiques” et “différents”
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
13
13
14
15
20
20
22
22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
25
27
27
31
31
33
34
37
37
43
49
50
50
51
53
54
55
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 De la vidéo au 3D
3.1 Présentation de la chaîne globale de traitements . . . . . . . . . . .
3.2 Modélisation a priori . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Description de l’état . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Modèle de dynamique d’état . . . . . . . . . . . . . . . . . .
3.2.3 Projection du modèle 3D dans l’image . . . . . . . . . . . .
3.3 Détection et initialisation de la pose du modèle polyédrique . . . .
3.3.1 Détection des véhicules . . . . . . . . . . . . . . . . . . . . .
3.4 Suivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 Suivi par association des segments . . . . . . . . . . . . . .
3.4.2 Suivi par minimisation de la différence d’apparence entre les
3.5 Construction du modèle d’objet . . . . . . . . . . . . . . . . . . . .
3.6 Passage dans la vue canonique . . . . . . . . . . . . . . . . . . . .
3.6.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.2 Interpolation et filtrage . . . . . . . . . . . . . . . . . . . .
3.6.3 Adaptation de la résolution . . . . . . . . . . . . . . . . . .
3.6.4 Cas pratique . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
images
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
6
Table des matières
4 Décision par similarité et seuillage
4.1 Exemple de calcul de similarité simple . . . . . . . . . . . . . . . . . .
4.2 Étude de la dépendance aux conditions de prise de vue . . . . . . . . .
4.2.1 Vue d’un objet . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.2 Étude des points de vues privilégiés. . . . . . . . . . . . . . . .
4.2.3 Paramètres de pose . . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4 Critère d’évaluation de la qualité d’un modèle. . . . . . . . . .
4.3 Règle de décision adaptative . . . . . . . . . . . . . . . . . . . . . . . .
4.3.1 Seuillage adaptatif . . . . . . . . . . . . . . . . . . . . . . . . .
4.3.2 Estimation de la fonction de distribution du score . . . . . . . .
4.3.3 Conclusion sur la construction d’une règle de seuillage adaptatif
4.4 Choix du score de similarité . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Résultats expérimentaux et interprétations . . . . . . . . . . . . . . . .
4.5.1 Robustesse à la variation d’orientation . . . . . . . . . . . . . .
4.5.2 Étude d’un cas d’application réel . . . . . . . . . . . . . . . . .
4.6 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
57
59
60
63
63
65
67
67
68
75
76
78
80
84
85
5 Stratégie par patch
89
5.1 Démarche algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2 Caractérisation d’un véhicule par un ensemble de patchs 3D . . . . . . . . . . . . 90
5.2.1 Extraction des points d’intérêt . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.2 Calcul des informations 3D . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.2.3 Passage dans la vue canonique . . . . . . . . . . . . . . . . . . . . . . . . 94
5.2.4 Affinage par traitements spatio-temporels . . . . . . . . . . . . . . . . . . 95
5.3 Création des couples de patchs pour l’apprentissage . . . . . . . . . . . . . . . . . 95
5.4 Construction d’une règle de comparaison locale . . . . . . . . . . . . . . . . . . . 98
5.4.1 Construction d’un ensemble de caractéristiques à partir des couples d’images 98
5.4.2 Sélection des caractéristiques discriminantes . . . . . . . . . . . . . . . . . 102
5.4.3 Création de la règle de décision de comparaison de deux patchs . . . . . . 104
5.5 Création de la règle de décision globale . . . . . . . . . . . . . . . . . . . . . . . . 105
5.5.1 Spatialisation des classifieurs locaux . . . . . . . . . . . . . . . . . . . . . 106
5.5.2 Les stratégies de décision . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.6 Résultats et interprétations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.6.1 Résultats et interprétation de la méthode proposée . . . . . . . . . . . . . 109
5.6.2 Comparaison avec une méthode de la littérature . . . . . . . . . . . . . . 115
5.6.3 Comparaison des différentes stratégies . . . . . . . . . . . . . . . . . . . . 117
5.6.4 Robustesse à la variation d’orientation . . . . . . . . . . . . . . . . . . . . 118
5.7 Conclusion du chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6 Conclusion générale
123
A Abbréviations
127
Table des matières
7
B Données Utilisées
129
B.1 Données laboratoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
B.2 Données prises en conditions réelles . . . . . . . . . . . . . . . . . . . . . . . . . . 130
C Filtre de Kalman
C.1 Présentation du filtre de Kalman . . . . . . . . .
C.2 Le filtre de Kalman étendu . . . . . . . . . . . .
C.3 Remarques concernant le filtre de Kalman étendu
C.4 Calcul de l’estimée par la technique du Maximum
.
.
.
.
131
131
132
133
134
.
.
.
.
.
.
.
.
.
.
.
137
137
137
137
138
138
138
139
140
140
142
142
E Interprétation des résultats de reconnaissance
E.1 Présentation du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E.2 Réglages algorithmiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E.3 Mesures détection/fausses alarmes vs précision/rappel . . . . . . . . . . . . . . .
143
143
144
145
D Extraction et polygonalisation de contours
D.1 Principe . . . . . . . . . . . . . . . . . . . . . . .
D.2 Détecteur de Deriche . . . . . . . . . . . . . . . .
D.2.1 Suppression des non maxima locaux . . .
D.2.2 Seuillage par hysteresis . . . . . . . . . . .
D.3 Polygonalisation des contours . . . . . . . . . . .
D.3.1 Algorithme de la corde . . . . . . . . . . .
D.3.2 Fusion des segments . . . . . . . . . . . .
D.4 Importance des différents paramètres . . . . . . .
D.4.1 Paramètres liés à l’extraction de contours
D.4.2 Paramètres de la polygonalisation . . . . .
D.5 Paramètres retenus . . . . . . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
A Posteriori
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
Table des matières
9
Chapitre 1
Introduction
L’utilisation de capteurs vidéo optiques est un moyen simple, facile à mettre en oeuvre et non
intrusif pour observer l’environnement. Les applications sont nombreuses tant dans le domaine
civil (vidéo surveillance, vision industrielle, robotique, . . . ) que militaire (pistage et suivi de
cible, . . . ). Le problème consiste à interpréter le monde physique à partir des informations
visuelles présentes dans les images. Les difficultés du processus de reconnaissance sont liées
d’une part aux limitations inhérentes au capteur : bruit, problèmes d’illumination, résolution du
capteur, occultations, mais aussi au fait que l’image n’est qu’une projection 2D du monde réel,
ce qui implique des effets de changement d’aspect des objets et des occultations. Les différentes
solutions apportées au problème de reconnaissance résident dans l’exploitation des informations
disponibles pour caractériser l’objet d’intérêt. Cette caractérisation doit non seulement permettre
de discriminer les objets mais doit aussi être robuste aux problèmes liés aux prises de vue. Les
enjeux et les nombreuses applications possibles font de la reconnaissance d’objet un des domaines
les plus actifs de la communauté de vision par ordinateur depuis plus de vingt ans. Il existe
quelques exemples de systèmes opérationnels dans les domaines de la reconnaissance de visage et
de la vision industrielle dans des cadres d’utilisation souvent restreints. Cependant, malgré cette
effervescence scientifique, la reconnaissance automatique d’objets reste un problème ouvert, en
particulier à cause du manque de robustesse des algorithmes proposés. Beaucoup d’efforts sont
placés aujourd’hui au niveau de l’amélioration de la robustesse des algorithmes.
1.1
Contexte de l’étude.
Notre contexte d’étude concerne la reconnaissance de véhicules sur séquences d’images aériennes
prises à basse altitude depuis un point d’observation fixe, typiquement depuis le haut d’un
bâtiment. Dans ce cadre applicatif les difficultés sont nombreuses et sont liées à deux contraintes
majeures :
La nature des objets : les véhicules présentent de larges zones homogènes, et sont particulièrement sujets aux problèmes d’illuminations dues aux différences de réflectance des
matériaux (vitres, carrosserie, . . . ).
10
Les conditions de prise de vue : Les conditions de présentation des véhicules dans le
champ de la caméra ne sont pas contraintes, de forts changements d’aspect peuvent alors
intervenir lors de la comparaison entre deux véhicules. Les séquences peuvent provenir de
différents capteurs.
1.2
Position du problème.
Nous nous intéressons tout particulièrement à l’identification des véhicules présents dans les
séquences. L’identification est un cas particulier de processus de reconnaissance d’objet, appelé
specific Object Recognition (specific-OR) pour lequel on cherche à retrouver l’identité exacte d’un
objet, par opposition à la catégorisation (generic-OR) qui vise à ranger chaque objet dans une
catégorie. La partie gauche de la figure 1-1 présente la problématique de la catégorisation : la
requête doit être associée à une des catégories “motos”, “voitures”, ou “camions”. La partie droite
de la figure présente un exemple d’identification. Le véhicule requête (en haut sur l’illustration)
vu lors de la séquence courante, est comparé à toutes les vues antérieures contenant des véhicules
(les trois cadres du bas). Pour chacune d’entre elles on doit décider s’il s’agit du même véhicule,
ce qui est difficile en présence de changements d’aspect. Notre fonction d’identification peut être
assimilée au problème de décision suivant : “un véhicule détecté dans une séquence courante a-t-il
déjà été observé dans une séquence antérieure ?”, considéré comme un composant élémentaire de
fonctionnalités de réacquisition de piste. Nous utiliserons dans la suite le terme authentification
pour désigner l’identification de deux occurrences d’un même objet. Les véhicules présents dans
les deux séquences vidéos – courante et antérieure – ne sont en général pas observés dans les
mêmes conditions de prise de vue ni avec la même présentation. En effet les séquences peuvent
provenir de différents capteurs dans le cadre de l’association multi caméra, ou la recherche dans
des bases de données. La difficulté de l’identification provient ici d’une part de la variabilité d’un
véhicule aux changements de conditions de prise de vue et d’autre part du fait que l’on dispose
de très peu d’exemples de véhicules identiques. Nous nous basons alors sur une modélisation
a priori précise pour construire une chaîne de reconnaissance complète permettant de gérer les
variations d’aspect entre les véhicules.
1.3
Principales contributions
Les travaux présentés dans ce manuscrit s’inscrivent dans le cadre de la reconnaissance d’objets
sur séquences prises en incidence oblique. Nous nous sommes tout particulièrement intéressés
à la reconnaissance en présence de variations de conditions de prise de vue entre les véhicules.
Deux objectifs principaux ont guidé notre étude et nos choix algorithmiques, il s’agit de :
• La définition d’une règle de reconnaissance robuste aux changements de pose des objets.
Celle-ci devant être utilisable dans des conditions réelles de traitement, elle inclue les phases
amont de traitement, préalables à la reconnaissance, c’est-à-dire la détection et le suivi des
véhicules.
• La définition des points de vues privilégiés pour la reconnaissance. L’objectif de ce second point est plus qualitatif, il s’agit de fournir une indication a priori des performances
attendues lors de la reconnaissance à partir des informations de pose des véhicules. Ces
résultats pouvant être exploités par exemple dans le cadre de la vision active.
En se basant sur ces objectifs nos contributions sont les suivantes :
11
Figure 1-1. Illustration des différentes problématiques de la reconnaissance d’objet. A gauche : Un exemple
de catégorisation. La requête présente dans le cadre du haut doit être associée à une catégorie d’objets
(les cadres du bas), les difficultés du problème résident dans la variabilité des objets présents dans chaque
catégorie : la variabilité intra-classe, et dans la taille et la représentativité de la base d’apprentissage qui
conditionnent les performances du système. A droite : Un exemple d’identification. La requête présente
dans le cadre du haut est comparée à chaque objet préalablement vu. Une décision binaire est effectuée
pour chaque comparaison. La difficulté du problème réside dans la variabilité d’apparence que peuvent
prendre les objets : l’importante variabilité intra-classe, et dans les faibles différences entre les différents
véhicules : la faible variabilité inter classe.
12
• Définition d’une règle de décision basée sur un test à seuil paramétré par les
conditions de prise de vues.
A partir d’un score de similarité simple entre deux véhicules basé sur des calculs du type
corrélation, nous proposons une règle de décision paramétrée par les conditions de prise
de vues des véhicules. Cette règle est construite de manière à adapter le seuil de décision à la présentation des véhicules dans les séquences. Deux méthodologies de construction sont proposées. La première prend en compte un modèle de référence imagé sous
plusieurs aspects comme donnée d’apprentissage. La seconde se base sur des considérations
géométriques et sur l’apparence des véhicules.
• Définition d’une règle décision basée sur l’extraction de zones d’intérêt et sélection de caractéristiques par apprentissage.
Une seconde stratégie de reconnaissance est proposée. Elle s’inspire de méthodes
de reconnaissance par couples d’objets présentées récemment par [Ferencz et al.05] et
[Nowak et al.07] qu’elle étend au cadre de la reconnaissance d’objets 3D. Elle est basée
sur l’extraction d’un ensemble de zones d’intérêt munies de leur information 3D, puis sur
la sélection et la combinaison d’un ensemble de caractéristiques discriminantes issues de
ces zones d’intérêt par apprentissage.
1.4
Organisation du document
Ce document est organisé en 6 chapitres. Nous commençons par détailler le problème et le placer
dans son contexte au chapitre 2. Nous détaillons dans ce chapitre la bibliographie afférente,
et positionnons les points clef de l’étude. Certaines références bibliographiques seront évoquées
dans les chapitres ultérieurs pour appuyer certains points techniques. La démarche algorithmique
proposée s’articule ensuite en trois chapitres.
Les étapes préliminaires à la stratégie de reconnaissance sont présentées dans le chapitre 3.
Nous proposons une chaîne algorithmique permettant de caractériser les véhicules pouvant être
présents dans les séquences d’images. Dans un premier temps les modélisations de la scène et
des objets d’intérêts sont présentées. La chaîne de traitement basée sur le schéma usuel des
algorithmes de détection/suivi d’objets est ensuite détaillée. La caractérisation des véhicules est
effectuée à partir des informations issues de ces étapes. La mise en géométrie commune de deux
véhicules vus sous des conditions de prise de vues différentes est enfin présentée.
Une première stratégie de reconnaissance est détaillée dans le chapitre 4. Une règle de décision
paramétrée par les conditions de prise de vue y est proposée. Des résultats expérimentaux
permettent de valider cette règle de décision et d’étudier les points de vues privilégiés pour la
reconnaissance.
Une seconde stratégie de reconnaissance fait l’objet du chapitre 5. La règle de décision présentée au chapitre 4 comporte certaines limitations liées à l’utilisation d’un score de corrélation
simple pour calculer la similarité entre deux véhicules. Pour pallier ces limitations, nous proposons une stratégie basée sur l’extraction de caractéristiques éparses des véhicules associée à des
techniques d’apprentissage afin de construire une règle de décision plus robuste. Des résultats
expérimentaux sont présentés. Une comparaison avec une méthode de la littérature nous permet
de conclure sur l’intérêt de l’utilisation d’a priori forts pour la gestion des variations d’aspects
des véhicules.
Dans le dernier chapitre nous effectuerons un bref exposé des point durs et des perspectives
qui permettent d’ouvrir cette étude à des éventuels travaux futurs.
13
Chapitre 2
Position du problème/état de l’art
Nous nous intéressons dans cette partie aux travaux effectués dans le domaine de la reconnaissance d’objet. Ce domaine étant très vaste nous nous limiterons au cas de l’identification d’objets,
conformément à notre contexte d’étude. Le thème de la catégorisation d’objets, les concepts qui
s’y rapportent ainsi que de nombreux travaux et résultats sont détaillés dans [Pinz05]. Dans
un premier temps nous présenterons les principaux travaux de reconnaissance d’objet, puis nous
nous appuierons sur notre contexte et nos données d’étude pour détailler les travaux qui s’y
rapportent plus spécifiquement. Ainsi nous insisterons plus particulièrement, dans cette seconde
partie, sur les aspects de reconnaissance multi vues, et sur les travaux prenant en compte les
variations d’apparence possible entre les objets à partir de séquences d’images.
2.1
La reconnaissance d’objets
Le but de la reconnaissance d’objet est de décider de la présence d’un objet dans une image, et
dans certains cas de la localiser et de donner ses informations de pose. Elle regroupe plusieurs
fonctions :
Détecter : décider de la présence d’une occurrence ou d’une catégorie d’objet.
Localiser : décrire l’emprise géométrique d’un objet dans les données.
Catégoriser : décrire la nature d’un objet selon un vocabulaire donné.
Pour ce faire, il est alors nécessaire de définir une représentation de l’objet qui puisse rendre
compte de l’apparence de celui-ci lorsqu’il est imagé dans des conditions réelles. Ces conditions
réelles dépendent du contexte et peuvent inclure des variations d’illumination, de pose des objets,
des occultations, et parfois des déformations. La qualité du système de reconnaissance est alors
conditionnée par la capacité de la représentation qui est faite de l’objet à le discriminer tout
en gérant ces problèmes inhérents à l’imagerie optique. Ces choix de représentation permettent
de distinguer les nombreuses approches proposées dans le cadre de la reconnaissance. On peut
distinguer deux grandes familles d’approches : les approches basées modèle (Model-based Recognition), et les approches basées apparence (Appearence-based Recognition) que nous détaillons
dans la suite.
14
2.1.1
L’approche basée “modèle”
L’approche basée modèle [Mundy06] (appelée aussi approche basée géométrie) s’appuie sur la
connaissance du monde physique pour définir un modèle de génération de l’image. Elle inclue
une description de l’objet, du capteur, parfois de la scène et de ses composants (fond, source
d’illumination ou d’occultation . . . ). Le problème général consiste à comparer l’image d’intérêt
avec l’image prédite de l’objet. Si la modélisation de l’objet, de la transformation, ainsi que
l’estimation de la pose de celui sont correctes, alors l’image prédite sera très proche voire identique
dans l’idéal à l’image elle-même.
La prédiction de l’apparence de l’objet dans l’image résulte d’un processus complexe qui
dépend des propriétés surfaciques de l’objet, des conditions d’illuminations, et de la position
de l’objet par rapport à la source d’illumination, ce qui rend difficile une modélisation parfaite.
Étant donné un modèle M et une image I, le processus de formation de l’image peut se résumer
formellement par :
I = F (T (M, X), q) + ν
(2.1)
T correspond à la fonction de transformation permettant de passer de l’espace modèle à
l’espace image, à partir de la pose de l’objet dans l’espace d’origine X. F est la fonction
d’imagerie, qui donne l’intensité d’un point de l’image à partir de la pose de l’objet, et des
paramètres q décrivant l’objet et son environnement. Ces paramètres peuvent concerner des informations d’illumination comme l’orientation des rayons lumineux [Horn86], la valeur moyenne
de l’intensité lumineuse, ainsi que des paramètres sur la nature de l’objet comme l’albédo associé
à sa surface. ν correspond au bruit associé à l’imageur, et incorpore plus généralement les défauts
du capteur non pris en compte par la fonction F .
Les paramètres de pose X sont estimés en minimisant l’erreur résiduelle de transformation r :
r = arg min(L(I − F (T (M, X), q)))
(2.2)
X
L() étant la métrique de comparaison. Dans la pratique on utilise un score de similarité
ou une norme pour comparer les deux images, par exemple une norme du type L1 , L2 ou une
stratégie robuste du type phi-fonction. La valeur de l’erreur résiduelle r permet de conclure sur
la présence de l’objet dans l’image. Cette étape d’estimation de la pose nécessite au préalable
de s’assurer de la présence de l’objet dans l’image, ce qui est fait en général dans une première
étape de détection.
La mise en place de ce type de méthode se déroule en deux temps. La première étape consiste
à modéliser l’objet, le capteur et l’environnement, il s’agit de définir dans l’équation (2.1) le
modèle M , les fonctions F et T ainsi que les variables M et q. Cette modélisation est réalisée
hors ligne. La seconde étape est la reconnaissance proprement dite, elle se déroule en plusieurs
phases :
Détection : Décider de la présence d’un objet dans l’image.
Estimation de la pose : Minimisation de la fonctionnelle (2.2) pour estimer X.
Reconnaissance : Stratégie de reconnaissance basée sur l’erreur résiduelle r.
Dans la pratique cette méthode est souvent utilisée dans le cadre de l’alignement de modèle
[Mundy et al.92] par exemple dans le cadre de l’imagerie médicale [Viola et al.97] : on sait que
l’objet est présent, et l’objectif est de déterminer sa pose.
15
Les premiers systèmes développés utilisent des modèles filaires pour modéliser les objets, et les
comparent aux segments extraits de l’image pour déterminer la pose de ceux-ci. [Ayache et al.86]
ont ainsi proposé un système de reconnaissance d’objet 2D nommé HYPER. Leur approche consiste à représenter la scène par un ensemble de contours, et à déterminer la transformation
du modèle polyédrique dans le repère image en utilisant les angles entre les segments extraits
des images. [Lowe87] propose un système qui minimise le nombre de mise en correspondances
segment modèle/segment extraits de l’image. Un modèle de type perspective faible est utilisé
pour représenter le modèle caméra, ce qui ne nécessite que trois mises en correspondance pour
estimer la pose d’un objet dans l’image. Ces méthodes ont l’avantage d’être robustes aux occultations, et aux changements d’illuminations. Cependant leur performance est conditionnée par
le processus d’extraction des segments dans les images, ainsi que par le problème d’association
segment image/segment modèle. Il s’agit d’un problème combinatoire : si on extrait P segments de l’image, que l’on souhaite associer à Q segments modèle, on a alors QP possibilités
d’associations de segments. Plusieurs méthodes ont été développées pour gérer ce second point.
[Grimson et al.87] propose l’utilisation d’arbres d’interprétation qui permettent d’associer des
heuristiques à la recherche afin de réduire la combinatoire liée à l’association. Ces heuristiques
concernent par exemple la longueur des segments à apparier. [Fischler et al.81] propose une
technique nommée RANdom SAmple Consensus (RANSAC) qui permet d’estimer une transformation parmi un ensemble de correspondances bruitées. L’idée est de choisir aléatoirement,
parmi l’ensemble des correspondances, un nombre minimal d’appariements pour calculer une
transformation (par exemple quatre appariements dans l’espace 2D dans le cas de l’estimation
d’une homographie) puis de valider cette transformation parmi l’ensemble des correspondances
possibles. Si la transformation calculée sur le nombre minimal de correspondances est bonne alors
un grand nombre des autres correspondances seront correctes. [Huttenlocher et al.88] propose
d’utiliser une transformée de Hough pour estimer les transformations possibles.
2.1.2
Les approches basées “apparence”
L’approche basée apparence s’appuie sur une description formelle de la variabilité des images, en
général rendue accessible par une base d’apprentissage représentative. La complexité des images
impose de travailler dans un espace de primitives ou de caractéristiques censé résumer le contenu
informatif utile des données. Les approches basées apparence peuvent être séparées en deux
grandes familles : les approches globales et les approches locales.
2.1.2.1
Les approches globales
Elles consistent à construire un modèle d’objet à partir de l’ensemble de l’image. L’invariance
aux changements de point de vue et aux variations d’illumination est obtenue en utilisant un
ensemble d’apprentissage dans lequel les images qui apparaissent contiennent ces types de variations. Comme indiqué précédemment on travaille en pratique dans un espace de primitives ou
de caractéristiques extraites des images. La définition d’un tel espace est un des points critiques
de l’interprétation d’images. Les méthodes diffèrent souvent par cet espace de caractéristiques.
On peut citer par exemple des représentations des données par histogrammes couleurs dans les
travaux de [Swain90], par des filtres orientés [Freeman et al.91], par des descriptions en composantes principales appelées eigen faces [Turk et al.91], des descripteurs basés sur les contours
[Belongie et al.00], des descripteurs basés sur des ondelettes de Haar [Viola et al.01].
Ces méthodes présentent l’avantage de nécessiter très peu d’informations a priori sur les
données. Par contre elles présentent deux principaux défauts :
16
• Un nombre important d’exemples est nécessaire pour l’apprentissage.
• Elles ne sont pas robustes aux occultations.
2.1.2.2
Les approches locales
Ces approches sont à l’origine des meilleurs systèmes de reconnaissance actuels. L’idée est
de caractériser l’apparence d’un objet par un nombre important de régions locales appelées
patchs. L’objet à reconnaître est caractérisé par un ensemble de descripteurs calculés à partir de l’apparence de chaque patch. La reconnaissance est effectuée à partir des patchs mis en
correspondance par comparaison des descripteurs. Ces familles d’approches s’avèrent donc robustes aux occultations partielles. En effet quand un objet est décrit par un nombre important
de patchs, même si une fraction de ceux-ci n’est pas visible, il en restera suffisamment pour
effectuer la reconnaissance.
Certaines conditions sont nécessaires pour la réussite des algorithmes basés sur des régions
locales:
• L’apparence des régions locales doit être robuste aux changements de point de vue de la
caméra, ainsi qu’aux variations d’illuminations. Cette contrainte est associée à la propriété
de répétabilité du patch.
• L’apparence de chaque patch doit être décrite par un descripteur robuste et discriminant.
Les descripteurs obtenus pour deux patchs d’apparence distinctes doivent permettre de les
discriminer facilement. Les variations faibles d’apparence dues notamment aux changements de point de vue, et aux variations d’illuminations, ne doivent pas ou peu affecter
cette description du patch.
• Un objet doit être caractérisé par un nombre important de patchs représentatifs.
[Schmid et al.97] ont proposé un système basé sur ce type de représentations locales. Un objet
est décrit par un ensemble de zones circulaires centrées sur des points de Harris [Harris et al.88]
extraits des images. L’invariance au changement d’échelle est obtenue en utilisant plusieurs
tailles de patchs circulaires. La comparaison de deux objets est effectuée en associant les patchs
extraits de chaque image respectant des contraintes de géométrie locales par rapport aux voisins.
La décision finale est obtenue par recherche d’une transformation affine entre les images.
Plus récemment, un autre système de ce type a été présenté par [Lowe99]. L’objet est
représenté par un ensemble de régions circulaires positionnées aux maxima d’un espace d’échelle
obtenu par différence de gaussiennes (DoG), qui fournit non seulement la position spatiale du
centre de chaque patch, mais aussi son échelle (la taille de la région circulaire qui caractérise
l’étendue de la région) [Lindeberg98]. Chaque patch est caractérisé par un descripteur de type
SIFT (Scale Invariant Feature Transform) qui fournit une représentation vectorielle synthétique
de l’apparence du patch invariante aux changements d’orientation et d’illumination, sous hypothèse planaire (ce qui est en général le cas si l’extension spatiale du patch est assez faible). La
reconnaissance est obtenue à partir de l’extraction d’un ensemble de patchs caractérisés par leur
représentation SIFT, sur l’objet requête. Une étape d’association du type plus proche voisin est
effectuée entre les descripteurs SIFT de la requête et de l’objet modèle. Les associations obtenues
fournissent un ensemble d’hypothèses de transformation du type similarité 2D entre les patchs
de l’image requête et ceux de l’image modèle. Ces hypothèses de transformation sont ensuite
validées par un algorithme robuste du type RANSAC sur l’ensemble des patchs. Cette méthode
17
permet une reconnaissance rapide des objets gérant les variations d’échelle et de rotation des
objets, en présence d’occultations partielles.
Cependant cette méthode ne permet de gérer que de changements de point de vue du type
similarité, ce qui limite la variation de pose de la caméra. Étant donné les bons résultats de cet
algorithme, de nombreux travaux s’en sont inspirés par la suite. Les améliorations ont porté sur
les cinq points principaux suivant :
• L’extraction des points caractéristiques.
• L’extraction de la représentation spatiale du patch, c’est à dire d’une région d’intérêt autour
du point dont la surface est adaptée aux changements de points de vue.
• Le choix de la description résumant l’apparence du patch.
• L’évaluation de la similarité entre deux descripteurs.
• La décision de reconnaissance.
Ces cinq points sont présentés dans les sections suivantes.
2.1.2.3
Extraction du point d’intérêt
La localisation spatiale d’un point d’intérêt par un “détecteur de coins” du type Harris
[Harris et al.88], permet uniquement de localiser le point d’intérêt, mais ne renseigne pas sur
la taille de la région à sélectionner pour le décrire. [Lindeberg et al.97] propose la création d’un
espace d’échelle basé sur des laplaciens de gaussiennes LoG pour déterminer la taille caractéristique d’une région. Une région d’intérêt est alors caractérisée par un maxima selon les trois
dimensions (deux pour la position du centre de la région, et une pour l’échelle). L’approximation
des LoG par des différences de gaussiennes DoG [Lowe99] permet une implémentation rapide
des espaces d’échelle. Le principal défaut de cette approche, que ce soit avec l’utilisation de LoG
ou de DoG, est que la recherche de maxima locaux à tendance à sélectionner certains points de
contour appartenant à une ligne droite, et non des coins. [Mikolajczyk et al.01] propose de sélectionner l’échelle qui maximise simultanément la trace et le déterminant du hessien de l’image
pour pallier ce problème. [Kadir et al.03] ont exploré une voie différente pour la sélection de
l’échelle. Elle est définie dans ces travaux comme la taille de la région qui maximise la variation
d’entropie de l’apparence de l’image.
2.1.2.4
La représentation spatiale du patch
L’utilisation de patchs de surface circulaire est mal adaptée aux changements de pose entre les
images, car elles ne sont robustes qu’aux changements d’échelles dans le cadre des travaux de
[Lowe99]. La prise en compte des changements de pose entre les images est obtenue en modifiant
la forme de la région centrée autour de chaque point d’intérêt. La généralisation des détecteurs
invariants par changement d’échelle, pour lesquels la régions est souvent représentée par un cercle
dont le rayon caractérise l’échelle du point, au cas affine mieux adapté aux changements de pose
est obtenue en utilisant des détecteurs invariants affine : la région est alors représentée par une
ellipse dont les paramètres caractérisent la transformation par rapport à un repère de référence.
Les paramètres de la transformation affine sont obtenus en examinant des informations locales
obtenues dans le voisinage du point. [Tuytelaars et al.99, Tuytelaars et al.00] proposent deux
types de détecteurs invariants affine, gérant les transformations affines entre les images. Le
18
premier type de détecteur est basé sur l’estimation d’un parallélogramme centré sur le point
d’intérêt, et dont les paramètres sont estimés à partir de deux contours extraits au voisinage
du point d’intérêt. Cette méthode exige l’utilisation d’un extracteur de contours fiable pour
fonctionner. La seconde méthode se base sur le profil de variation local des intensités obtenu sur
des rayons partant du point d’intérêt. Les paramètres d’une ellipse sont alors calculés à partir des
maxima des profils d’intensité. [Matas et al.02] propose d’utiliser un algorithme du type ligne
de partage des eaux [Vincent et al.91] pour estimer les paramètres d’une ellipse approximant
localement les données. [Lindeberg et al.97] utilise la matrice des moments du second ordre,
obtenue à partir des gradients extraits du voisinage du point d’intérêt pour déterminer de manière
itérative la forme de la région. Ces travaux ont été étendus par [Mikolajczyk et al.02] afin de
pallier le manque de précision dans la localisation de la région. Une comparaison de ces différents
détecteurs est proposée par [Mikolajczyk et al.04].
2.1.2.5
La description de l’apparence du patch
Le second point clef de la stratégie par patchs locaux concerne la description des régions. Nous
avons présenté dans la section 2.1.2.4 les outils permettant d’extraire des régions invariantes
aux changements de pose de la caméra (sous hypothèse planaire). Nous nous intéressons maintenant à la façon de décrire l’apparence des régions extraites. De nombreux descripteurs ont été
développés, on peut citer :
Les réponses de filtres (différentiels et temps-fréquence) : Les filtres orientés ont été
utilisés avec succès par [Mikolajczyk et al.01]. Leur descripteur est basé sur la réponse
de filtres orientés basés sur les dérivées directionnelles de l’image de type Steerable filters [Freeman et al.91]. L’utilisation de filtres allant jusqu’au quatrième ordre leur fournit
un descripteur de taille suffisante pour obtenir de bon résultats. [Schaffalitzky et al.02]
utilisent quant à eux une combinaison polynomiale de filtres orientés. Les méthodes
basées sur les filtres de Gabor et des filtres en ondelettes sont aussi souvent utilisées
[Dragotti et al.03].
Les moments invariants : [Gool et al.96] propose une description par moments invariants
pour caractériser l’intensité locale de la région.
Les invariants différentiels : [Schmid et al.97] utilise des combinaisons linéaires de dérivées
partielles des niveaux de gris des images [Koenderink et al.87] pour créer ses descripteurs.
Les distributions d’intensité : Une méthode simple pour résumer l’apparence d’un patch
consiste à utiliser l’histogramme de sa radiométrie. Cette méthode est particulièrement
utilisée dans le cadre de l’indexation d’image [Smeulders et al.00]. Le principal défaut
de l’utilisation directe des histogrammes d’intensité réside dans la perte de l’information
spatiale des pixels, ainsi que dans leur sensibilité aux variations d’illumination.
Les descripteurs basés sur les distributions de gradients orientés : [Lowe01] a proposé un descripteur appelé Scale Invariant Feature Transform (SIFT) basé sur des histogrammes d’orientation des gradients. L’utilisation d’histogrammes d’orientation localisés
en plusieurs points de la région, ainsi qu’une pondération des valeurs des gradients, permettent la construction d’un descripteur robuste. Différentes variantes ont été proposées, on
peut noter le descripteur PCA-SIFT qui consiste à appliquer un descripteur SIFT sur des
gradients dont la dimension a été réduite par analyse en composantes principales (ACP). Le
19
descripteur GLOH Gradient Localisation Oriented Histogram consiste à utiliser un descripteur SIFT dans un espace log-polar, ainsi qu’une réduction de dimensionnalité par ACP.
[Belongie et al.00] ont proposé l’utilisation d’un descripteur intitulé shape context, qui consiste à examiner l’orientation locale des contours à partir d’un point donné. [Tola et al.08]
propose un descripteur nommé DAISY, basé sur une implémentation rapide de descripteur
de type SIFT, utilisable dans un contexte dense de mise en correspondance multi-vue.
Un état de l’art, ainsi que la comparaison de différents descripteurs est présenté dans
[Mikolajczyk et al.03]. Les descripteurs basés sur les distributions de gradients orientés, en
particulier les descripteurs SIFT se montrent les plus robustes pour un nombre important de
transformation des images.
2.1.2.6
Évaluation de la similarité entre deux descripteurs
L’évaluation de la distance entre deux descripteurs est obtenue de manière classique. [Lowe01]
utilise une simple distance euclidienne. [Mikolajczyk et al.01] utilise une distance de Mahalanobis. La matrice de covariance nécessaire au calcul est estimée à partir des variations radiométriques, et des défauts de précision de localisation du détecteur de point
sur une base d’apprentissage. [Matas et al.02] utilise quant à lui un calcul de corrélation.
[Rothganger et al.03] utilisent un calcul du type χ2 sur un descripteur composé d’un histogramme
SIFT et d’un histogramme couleur. Une étape préliminaire de recalage par maximisation de la
corrélation de l’apparence des patchs par moindre carrés non-linéaires est appliquée.
2.1.2.7
La reconnaissance
L’algorithme de reconnaissance proposé par [Schmid et al.97] consiste à considérer un ensemble
d’associations de points qui maximisent la similarité, puis à estimer une transformation affine
entre les deux images à partir de ces points par un algorithme robuste du type RANSAC (ou celui
proposé par [Kanatani98]) pour la valider si une proportion suffisante de points concordent dans
les deux images. Cette méthode donne de bons résultats si le passage d’une vue à l’autre peut
être effectué par transformation affine c’est-à-dire si les objets sont plans, et si le mouvement
s’effectue dans un plan parallèle.
[Lowe01] propose d’estimer une similarité afin de gérer des objets et des mouvements caméra
plus complexes. En dépit de cette amélioration, l’estimation d’une seule transformation pour
gérer les changements de vue d’un objet entre deux images reste limitée aux cas simples.
[Ferrari04] propose une modélisation implicite d’un ensemble de patchs cohérents. A partir
d’un ensemble de vues d’un objet, des groupes de régions d’intérêt cohérents pour une transformation géométrique donnée sont créés. Une transformation différente peut alors être estimée
pour chaque groupe de régions lors de la comparaison.
[Thomas et al.06, Wallraven et al.01] gèrent les différentes vues d’un objet à partir de plusieurs
modèles générés à partir de données pour lesquelles les conditions de prises de vues sont
maîtrisées.
[Rothganger et al.03] se base sur une modélisation 3D explicite des patchs, à partir d’un
ensemble de vues d’un objet pour lesquelles on dispose des informations de calibration de la
caméra. Reconnaître un objet dans l’image se résume alors à un problème d’alignement présenté
dans la section 2.1.1. On voit sur cet exemple que la dichotomie des méthodes basées apparence
et modèle n’est pas forcément très nette.
20
[Sivic et al.04] propose de grouper les régions d’intérêt par rapport au mouvement estimé
de l’objet dans des séquences vidéo. L’emploi d’une factorisation affine [Torr et al.98] pour
caractériser de manière précise le mouvement des objets dans les images, ainsi que des tests
de stabilité des régions au cours du suivi de l’objet, permettent de définir un modèle précis et
robuste.
L’utilisation de la représentation des objets par patchs locaux associées à une modélisation
de l’ensemble des régions permet la création de systèmes de reconnaissance très performants
lorsqu’un nombre important et de régions texturées sont extraites. Nous nous intéresserons dans
la section suivante à l’utilisation de ce type de méthode dans le cadre de notre étude.
2.2
Notre contexte d’étude
Nous présentons dans cette section les spécificités de notre étude limitant l’utilisation
d’algorithmes de la littérature.
2.2.1
Des objets peu résolus et peu texturés
Les véhicules présentent de grandes zones homogènes particulièrement mal adaptées à l’extraction
de points d’intérêts. La figure 2-1 présente le résultat de l’extraction de point d’intérêts sur un des
exemples de [Rothganger et al.03] avant (à gauche) et après transformation affine de la région
d’intérêt. Le même détecteur de points a été appliqué sur un exemple représentatif de notre
contexte, les résultats sont illustrés sur la figure 2-2. Le nombre de points extraits pour plusieurs
détecteurs est synthétisé dans le tableau 2-3.
Figure 2-1. Images Teddy Bear. Résultat de l’extraction de points d’intérêts sur un des objets de la base de
reconnaissance de [Rothganger et al.03]. Les images font 3504 × 2333 pixels codés sur 24 bits en couleurs.
Le faible nombre de points extraits des images limite l’utilisation des approches basées sur les
patchs locaux. [Ferrari04] propose d’intégrer les zones homogènes dans le processus de mise en
correspondance, afin de reconnaître des objets partiellement texturés. La méthode proposée se
base dans un premier temps sur la mise en correspondance des zones texturées, puis intègre les
zones homogènes pour améliorer le processus de reconnaissance. Dans notre contexte l’utilisation
directe de ce type d’approche n’est pas envisageable car la première étape nécessite un nombre
important de zones d’intérêt. Nous étudions dans le chapitre 5, l’utilisation de ces méthodes par
points d’intérêt associées à des techniques d’apprentissage pour pallier cette limitation.
21
Figure 2-2. Images Modèle réduit. Résultat de l’extraction de points sur un exemples de données
d’applications. Les images font 640 × 480 pixels codés sur 8 bits en niveaux de gris.
Harris
Harris-Laplacian
DoG
après raffinement
Image teddy bear
44556
21429
23127
9765
Image modèle réduit
206
81
125
33
Figure 2-3. Comparaison du nombre de points d’intérêts extraits pour deux types d’images. A gauche :
Nombre de points extraits sur l’exemple présenté sur la figure 2-1. A droite : Nombre de points extraits
sur l’exemple présenté sur la figure 2-2
22
2.2.2
Des variations d’aspect importantes
[Moreels et al.07] a étudié et comparé les performances des techniques à base de patchs locaux
sur des objets 3D en présence de variations de point de vue. A partir d’une base de test composée
de 100 objets imagés sous 144 vues différentes et plusieurs conditions d’illumination il arrive à
la conclusion qu’aucune combinaison de détecteur-descripteur ne peut gérer des changements
de points de vue de plus de 25-30◦ . Notre contexte d’étude ne contraint pas la présentation
des véhicules dans le champ de la caméra, ce qui implique de gérer les variations d’aspect plus
importantes que ces valeurs limites. Afin de valider les méthodes proposées dans ce manuscrit,
nous nous sommes principalement basé sur des séquences prises en laboratoire à partir de modèles
réduits, permettant de maîtriser les conditions de prise de vues. Ces modèles réduits sont de
taille suffisamment importante pour visualiser les détails les caractérisant. La figure 2-4 présente
le dispositif utilisé pour la création de séquences d’images avec maîtrise des conditions de prise
de vue.
Figure 2-4. Prise de vue d’un modèle réduit en condition de laboratoire. Les quatre mires disposées aux
extrémités de la table tournante permettent de calibrer la caméra.
La figure 2-5 présente des exemples de variations angulaires pouvant intervenir entre le modèle
(encadré en noir au centre de la première ligne), et les requêtes (les autres imagettes). Les
algorithmes à base de patchs locaux gèrent les variations angulaires présentes sur les exemples
de la première ligne. La gestion de la différence de pose des exemples de la seconde ligne nécessite
la mise en oeuvre de traitements adaptés.
La base complète des séquences modèles réduits, ainsi que les séquences traitées en conditions
réelles sont présentées dans l’annexe B.
2.3
Le contexte de l’identification de couples d’objets “identiques”
et “différents”
Nous nous plaçons dans un cadre particulier d’identification d’objet qui diffère de la problématique classique. Notre objectif est de décider si deux acquisitions (image ou séquence) sont des
23
Figure 2-5. Exemples de variations de point de vue entre le modèle, encadré en noir au centre de la
première ligne, et les requêtes. La première ligne comporte des exemples de points de vue pouvant être
gérés par les algorithmes à base de patchs locaux. La variation angulaire entre la requête et le modèle vaut
de gauche à droite : -30◦ , -15◦ , 0◦ , 15◦ , 30◦ . La seconde ligne comporte les variations de points de vue
susceptibles d’intervenir et qui ne sont pas gérées par les algorithmes par patchs. La variation angulaire
entre la requête et le modèle vaut de gauche à droite : -170◦ , -135◦ , -90◦ , 60◦ , 75◦ .
observations ou des mesures d’un même objet. Les objets à comparer n’ont pas nécessairement
déjà été vus. L’objectif d’un algorithme de reconnaissance classique consisterait à considérer la
requête et à la comparer à tous les modèles de la base précédemment caractérisés pour déterminer le plus similaire comme étant le même objet, ou décider que ce n’est pas un objet de
la base. Nous ne disposons pas de toutes les caractérisations de modèles, mais de couples observations/requêtes. Pour clarifier la différence entre les deux contextes d’étude, nous pouvons
résumer chaque problématique en une question :
Identification d’objets “classique” : Comment construire une représentation de chaque objet pour le comparer à tous les autres ?
Notre contexte : Quelles caractéristiques permettent de décider si deux objets sont identiques
ou différents ?
Si l’on se place dans le cadre de l’apprentissage, les données disponibles seront différentes.
Dans le cadre “classique” il s’agit d’extraire un ensemble de caractéristiques à partir de plusieurs
instances des objets d’intérêt d’une part et des “non-objets” ou du fond d’autre part. On peut
citer notamment les approches de [Viola et al.01] et [Fergus et al.03]. Dans notre contexte, les
données d’apprentissage sont des couples d’images étiquetés identique ou différent. Assez peu de
travaux abordent le thème de l’identification sur des couples d’objets. On peut néanmoins citer
les deux approches suivantes.
[Ferencz et al.05] sélectionne un ensemble de caractéristiques discriminantes à partir d’un ensemble de couples identiques-différents dans le cadre de l’apprentissage génératif. Leur approche
est basée sur la modélisation des distributions de scores calculés sur des patchs extraits des couples identiques et différents. L’idée est de sélectionner les patchs qui permettent de discriminer
au mieux les distributions de couples identique et différent. [Jain et al.06] utilise cette méthode
dans un cadre discriminatif : ce ne sont plus les distributions de scores qui sont estimées, mais
l’hyperplan séparateur de ces deux distributions. Les données d’entrée sont des images réelles
vues sous des aspects différents. Cependant une étape de normalisation des données est effectuée
sous hypothèse de transformation affine entre les objets. Une limitation de la méthode est alors
qu’elle ne gère pas les aspects 3D.
24
[Nowak et al.07] présente une méthode dont l’objectif est similaire. Dans un premier temps un
ensemble de patchs de localisation et de taille aléatoire sont extraits de chaque couple d’image.
Des tests élémentaires binaires sont effectués sur chacun des couples de patchs, en comparant
les descripteurs SIFT extraits pour chaque couple. Une étape d’apprentissage est effectuée par
l’utilisation de forêts d’arbres binaires [Geurts03]. La décision finale est obtenue en pondérant
les sorties des arbres par combinaison linéaire des poids obtenus par apprentissage par machine
à support vecteur (SVM) [Vapnik99]. Cette méthode donne de bon résultats sur des images
présentant des variations d’aspect relativement importantes dues aux changements de pose de
l’objet.
Dans la suite de notre étude nous comparons nos résultats à ceux obtenus par cette méthode.
25
Chapitre 3
De la vidéo au 3D
Comme nous l’avons présenté dans le chapitre 2, l’un des principaux enjeux de nos travaux
est de gérer les variations de conditions de prises de vues (CPDV) pouvant intervenir entre les
différents objets à reconnaître. Ce chapitre détaille la chaîne de traitements élaborée afin de gérer
les différences de conditions de prises de vue. Cette étape, considérée comme un préliminaire au
problème de reconnaissance est néanmoins très importante car la qualité des données fournies
influe directement sur les résultats de reconnaissance.
L’étape de prétraitement des données est souvent nécessaire, mais rarement détaillée dans la
littérature, en effet la plupart des études sont effectuées sur des jeux de données prétraités. On
peut néanmoins citer les étapes préliminaires suivantes : [Ferencz et al.05] utilisent une connaissance approximative des paramètres caméra pour normaliser les images, et adapter la taille des
images de manière à avoir une distance constante entre les roues des véhicules. [Guo et al.05]
met en correspondance des primitives pour estimer un champ de déplacement entre des segments
appariés selon la méthode de [Beier et al.92], afin d’interpoler ses images dans une géométrie
commune.
Dans notre cas d’étude nous nous intéressons à la chaîne complète de traitements. Nous
présentons dans la section suivante une chaîne de traitement type de la famille des algorithmes de
Détection-Reconnaissance-Identification (DRI) ou Automatic Target Recognition (ATR). Nous
nous sommes basés sur cette approche pour construire notre propre chaîne de traitement algorithmique de caractérisation de véhicules.
3.1
Présentation de la chaîne globale de traitements
[Bhanu86] effectue un état de l’art des techniques de DRI et dresse une méthodologie de construction des algorithmes associés à ce contexte. La chaîne de traitement classique peut être scindée
en cinq étapes présentées sur la figure 3-1. Ces étapes sont décrites brièvement ci-dessous.
Pré traitements : Cette étape a pour objectif d’améliorer la qualité des images en entrée du
processus de reconnaissance/identification (rehaussement de contraste, filtrage médian de
réduction de bruit . . . ). Des algorithmes du type super résolution (SR) [Park et al.03]
peuvent être par exemple utilisés pour améliorer les données d’entrée des algorithmes.
Détection : Il s’agit ici de localiser les zones de l’image dans lesquelles une cible potentielle
peut-être présente.
26
Segmentation : Une fois une cible potentielle détectée, il faut l’extraire du fond, c’est l’objectif
de la segmentation.
Extraction, sélection de caractéristiques et classification : Une fois la cible segmentée, il faut déterminer son identité, pour cela il est nécessaire d’extraire un ensemble d’informations visuelles (contours, segments [Ayache et al.86], points d’intérêts
[Lowe99][Tola et al.08], apparence [Ozcanli et al.06] . . . ) permettant de la caractériser à
des fins de classification. Le but de la classification est d’ajouter une information sémantique à partir de la caractérisation de l’objet. On peut distinguer plusieurs niveaux de
classification, il peut s’agir de catégorisation plus ou moins fine (les catégories peuvent
être : camion, voiture, vélo . . . ou plus finement au sein de la catégorie voiture : citadine,
berline, monospace . . . ), ou d’identification (il s’agit de savoir si c’est par exemple une
Renault Clio rouge).
Sélection de cible et suivi : Une fois les objets étiquetés, on sait s’il s’agit d’un objet d’intérêt
ou non. Le cas échéant, il faut alors le suivre et signaler à un opérateur qu’on est en présence
d’un objet d’intérêt.
Ces étapes sont synthétisées sur le schéma 3-1.
Figure 3-1. Diagramme classique des algorithmes de DRI [Bhanu86].
Cette famille de techniques provient du monde militaire, pour lequel une fonctionnalité clef
des systèmes de défense est l’automatisation de la désignation de cibles. Il s’agit d’utiliser des
algorithmes pour réduire l’ensemble de données à traiter par les opérateurs, à un certain nombre
d’objets d’intérêt. Dans le contexte militaire l’alerte concernant un objet d’intérêt doit être
donnée le plus rapidement possible, c’est à dire après l’étape de classification, par conséquent
l’étape de suivi est postérieure à la classification. Dans notre contexte l’objectif est différent,
il faut maximiser l’ensemble des informations extraites avant d’effectuer la classification, dans
notre cas, une opération d’authentification. Pour cela nous effectuons l’étape de suivi avant
l’étape de classification. Nous considérons donc que tout objet mobile dans les séquences est
un objet d’intérêt, le processus d’authentification intervenant en bout de chaîne. Dans la suite,
nous scinderons le processus en deux étapes : une étape de caractérisation et une étape de
reconnaissance. Le schéma algorithmique proposé est présenté sur la figure 3-2 : les cinq premiers
modules forment la première étape d’extraction et de caractérisation qui sera détaillée dans cette
section. L’ensemble de ces traitements ont pour objectif de créer une caractérisation de chaque
véhicule mobile imagé par la caméra.
L’algorithme de caractérisation des véhicules est présenté succinctement sur le schéma 3-3,
et sera détaillé dans les sections suivantes. L’étape de reconnaissance sera détaillée quant à elle
dans les chapitres 4 et 5.
27
Figure 3-2. Solution algorithmique proposée. La chaîne de reconnaissance est séparée en deux grandes
étapes : La caractérisation des véhicules et la décision.
L’étape d’extraction de caractéristiques (figure 3-3) s’appuie sur la détection et le suivi de
véhicule dans la séquence pour construire un modèle polyédrique [Koller et al.93] texturé à partir
d’une estimation de la pose de l’objet. Nous nous basons sur une modélisation a priori des
véhicules pour initialiser un modèle paramétrique à faces résumant leur géométrie. Chaque face
est munie d’une description radiométrique locale calculée sur la séquence.
Avant de détailler le cheminement algorithmique présenté sur la figure 3-2, nous nous intéressons à la modélisation des a priori effectuée.
3.2
Modélisation a priori
Le processus de détection et de reconnaissance d’objet dans des conditions réalistes nécessite
l’utilisation du modèle a priori concernant le contexte et les objets d’intérêt.
Un état xk correspond aux valeurs que prennent les paramètres qui caractérisent l’objet à
l’instant tk . Nous décrivons dans la prochaine sous-section les variables qui caractérisent un état
du véhicule.
3.2.1
Description de l’état
Un état xk comprend deux types de paramètres :
• les paramètres de forme et d’apparence, qui permettent une description visuelle et
géométrique du véhicule.
• les paramètres de dynamique de l’objet, qui rendent compte du mouvement de l’objet dans
le monde réel.
3.2.1.1
Géométrie de l’objet
On exploite ici le fait que l’on connaît approximativement la forme des objets à suivre. Il est alors
possible d’utiliser un modèle représentant les contours de l’objet. La relation entre l’objet 3D et
sa projection dans l’image sera présentée ultérieurement. Le modèle d’objet utilisé a été présenté
pour la première fois par [Koller et al.93] et a été largement réutilisé depuis [Nagel et al.99]
[Zhao et al.01] [Ghosh et al.06].
28
Figure 3-3. L’étape d’extraction de caractéristiques.
29
Ce modèle 3D doit être le plus générique possible afin de pouvoir s’adapter à tous types de
véhicules rencontrés : berlines, break, pick-up, monospace. . . Le modèle retenu est composé de
12 paramètres, qui définissent un ensemble de 26 segments. Le vecteur d’état comprend donc
ces 12 paramètres, représentés par le vecteur Pf .
Pf = (bl, bb, bh, dl, db, dh, dk, f l, f h, hl, hh, ah)T
(3.1)
Le modèle est représenté sur la figure 3-4.
Suivant la technique utilisée ces paramètres sont soit fixés manuellement, soit initialisés avec
des valeurs par défaut Pf0 , puis sont réestimés à chaque instant au cours d’une étape de remise
à jour des paramètres.
3.2.1.2
Modèle cinématique
Le choix du modèle de mouvement conditionne le comportement lors du suivi du véhicule. En
effet c’est grâce aux équations déduites du modèle cinématique que l’on peut prédire les états
futurs.
On cherche ici à décrire le mouvement de la voiture sans connaître pour autant le comportement du conducteur. On se place dans le cas simple d’un mouvement circulaire dans lequel la
vitesse v et la vitesse angulaire w sont constantes. On considère que le véhicule évolue sur le
plan formé par la route (à altitude constante), la voiture dispose alors de trois degrés de liberté, sa position dans le plan de la route px , py et son orientation φ par rapport à la normale
à la route. Le vecteur comprend finalement 17 paramètres,les 5 paramètres de dynamique qui
viennent d’être présentés et les 12 paramètres de forme ce qui nous donne à l’instant tk :
xk = (px , py , φ, v, w, Pf T )T
(3.2)
Si on considère que le centre de la voiture évolue sur un cercle de centre C et de rayon ρ, la
position de la voiture sur la route est donnée par


sin φ(t)
p(t) = C + ρ  − cos φ(t) 
0
(3.3)
en dérivant l’équation (3.3), et en introduisant la vitesse v = |ṗ|, on obtient les équations des
dérivées
p˙x
p˙y
v̇
φ̇
ω̇
= v cos φ
= v sin φ
=
0
=
ω
=
0
(3.4)
En réalité le véhicule ne suit pas exactement ce type de mouvement, de plus on ne connaît
pas les intentions du conducteur (le véhicule peut changer de direction à tout moment). Pour
pallier ce problème on introduit un bruit d’état sur v et ω (respectivement ṽ et ω̃). Ce bruit
traduit la confiance en notre modèle de dynamique.
30
Figure 3-4. Modèle paramétrique de véhicule utilisé. En faisant varier la valeur des 12 paramètres, on
modélise de nombreux types de véhicules (illustration du bas).
31
3.2.2
Modèle de dynamique d’état
A partir des équations précédentes on peut extraire la forme discrète de la fonction de transition
entre un état xk à l’instant tk et un état xk+1 à l’instant tk+1 :
px,k+1
py,k+1
φx,k+1
vk+1
ωk+1
Pfk+1
k δt)−sin φk
= px,k + vk δt sin (φk +w
ωk δt
k δt)−cos φk
= py,k − vk δt cos (φk +w
ωk δt
=
φx,k + ωk δt
=
vk + ṽk
=
ωk + ω̃k
=
Pfk
(3.5)
ṽk et ω̃k ont une distribution Gaussienne ṽk ∼ N (0, σv ) et ω̃k ∼ N (0, σω ). δt = tk+1 − tk
représente le pas de temps i.e. la fréquence d’échantillonnage du capteur, elle est de 25 images/s
dans notre cas. Sur la figure 3-5, on peut observer le tracé d’une trajectoire respectant le modèle
ci-dessus sur une séquence de carrefour utilisée dans les travaux de [Koller et al.93]
Figure 3-5. Tracé d’une trajectoire suivant le modèle (3.5) itéré pendant 70 pas de temps avec v = 11m.s−1
et ω = −0.18rad.s−1 , bruit d’état nul.
3.2.3
Projection du modèle 3D dans l’image
Nous présentons maintenant la relation entre l’état et la projection du modèle 3D dans l’image.
Il est nécessaire de projeter les polyèdres du modèle 3D dans le plan 2D image connaissant
l’état xk . Pour effectuer cette opération nous devons disposer de plusieurs paramètres. Tout
d’abord il faut connaître les paramètres intrinsèques et extrinsèques de la caméra, ces paramètres
permettent de définir la correspondance entre un point du monde réel et un pixel de l’image.
Les paramètres extrinsèques (composés d’une rotation Rcw et d’une translation tc ) permettent
de trouver la relation entre le repère monde et le repère caméra. Les paramètres intrinsèques
(composés des focales suivant l’axe horizontal fx vertical fy et du point principal x0 ) nous
32
permettent de passer du repère caméra au plan image. Il est aussi nécessaire de connaître
la position du véhicule dans l’espace, il faut donc disposer du vecteur d’état pour effectuer le
changement de référentiel. Les différents référentiels sont présentés sur la figure (3-6), il s’agit
de:
Référentiel modèle : référentiel 3D centré sur le modèle polyédrique de l’objet (xm ).
Référentiel monde : référentiel du monde réel, l’origine de ce repère est défini arbitrairement,
l’orientation de l’axe z est fixée par rapport à la normale au sol (xw ).
Référentiel caméra : référentiel caméra centré sur le centre du capteur. Les axes de la base
sont définis par rapport aux trois angles de rotation de la caméra (xc ).
Référentiel image : référentiel 2D correspondant à l’image obtenue par le capteur, c’est à dire
à la projection du monde réel dans le plan focal du capteur ((x, y)t ).
Figure 3-6. Description des différents référentiels.
Les équations permettant de passer d’un référentiel à l’autre sont détaillées ci-dessous.
• Un point xw dans le repère monde s’obtient à partir d’un point du référentiel modèle xm
par (3.6)
xw = Rwm (φ)xm + pm
(3.6)
Rwm est la matrice de rotation d’angle φ par rapport à l’axe z, pm est la position du
centre de la voiture. φ et pm sont obtenus à partir du vecteur d’état à l’instant t.

Rwm

cos φ − sin φ 0
=  sin φ cos φ 0 
0
0
1

px
=  py 
0

et
pm
• Un point xc dans le repère caméra s’obtient à partir d’un point du monde xw par l’équation
(3.7)
xc = Rcw xw + tc
(3.7)
Rcw et tc sont les paramètres extrinsèques de la caméra : Rcw est la matrice de rotation de
la caméra dans le repère monde, tc est le vecteur de translation de la caméra exprimé dans
le repère monde. Ces paramètres sont obtenus par calibration extrinsèque de la caméra.
33
• Un pixel (x, y) de l’image s’obtient à partir d’un point du repère caméra xc par (3.8)
x = fx xc /zc + x0
y = fy yc /zc + y0
(3.8)
fx , fy et x0 = (x0 , y0 )t sont les paramètres intrinsèques de la caméra : (fx , fy ) sont les
focales de la caméra, x0 le point principal (la projection du centre optique sur le plan
image). Ces paramètres sont déterminés par calibration intrinsèque de la caméra.
3.2.3.1
´
Élimination
des parties cachées
Le modèle 3D ainsi défini est projeté dans l’image. Certains segments du modèle seront partiellement ou entièrement cachés. Ces segments doivent être effacés par un algorithme de suppression
de parties cachées appliqué sur les points du modèle dans le repère monde. Cet algorithme
consiste à considérer le modèle de voiture comme un ensemble de 12 polygones que l’on projette suivant l’axe de la caméra en tenant compte de l’orientation du véhicule (le paramètre φ
du vecteur d’état). On calcule ensuite les intersections des différents polygones projetés afin
d’éliminer les parties non visibles. Le résultat de cet algorithme est présenté sur la figure 3-7.
Figure 3-7. Résultat de l’algorithme de suppression de lignes cachées.
3.2.3.2
Projection inverse
Toutes les équations précédentes nous permettent à partir des informations de calibration de la
caméra et d’un vecteur d’état de projeter n’importe quel point du repère modèle dans le repère
image. Le passage d’un point de l’image au repère modèle est possible s’il s’agit d’un point
appartenant à un polyèdre du modèle. En effet l’incertitude lors du passage du monde 2D dans
le référentiel image au monde 3D dans le référentiel caméra est levée étant donné que l’on sait que
le point appartient à un plan dont l’équation est déterminée par les points du polyèdre considéré.
3.3
Détection et initialisation de la pose du modèle polyédrique
L’objectif de cette étape est d’une part de détecter les zones mobiles de l’image correspondant
à un véhicule en mouvement, et d’autre part de calculer les paramètres d’état initiaux xt0 pour
chaque véhicule détecté. Nous présentons dans un premier temps la détection et la segmentation
d’objets mobiles, puis le calcul de la pose du modèle polyédrique à partir d’informations de
position et de mouvement dans les séquences.
34
3.3.1
Détection des véhicules
Afin de détecter les zones mobiles dans les séquences, nous nous basons sur les techniques de
suppression de fond, qui permettent de donner une carte binaire des pixels dont le mouvement
apparent dans les images ne se conforme pas à celui du fond. [Radke05] présente le problème
ainsi que les difficultés inhérentes à la détection de zones mobiles dans les images et effectue un
tour d’horizon des nombreuses études réalisées.
Le problème peut se résumer ainsi : on dispose d’une séquence de N images : (I1 . . . IN ) pour
lesquels à chaque position d’un pixel x ∈ Rl (l = 2 pour un espace 2D) on a une intensité ou
couleur I(x) ∈ Rk (k = 1 pour les images en niveaux de gris, et 3 pour les images couleurs).
Le but de la détection est de créer une carte binaire B de la même taille que les images pour
laquelle à chaque position x on a B(x) = 0 si x correspond à une zone immobile de l’image et 1
sinon. Il faut distinguer lors de la création de la carte binaire de mouvement B, les changements
dus effectivement à un objet d’intérêt de ceux qui ont une autre cause, il peut s’agir de :
• Reflets. Ces effets sont particulièrement présents sur les objets manufacturés.
• Changements globaux d’illumination.
• Changements d’apparence des objets.
• Occultations.
• Mouvements de la caméra.
Concernant ce dernier point dans notre cas le mouvement de la caméra est nul ce qui simplifie
le problème. Dans le cas de mouvement de la caméra il existe de nombreuses techniques présentées dans l’état de l’art [Zitova et al.03], ainsi que des implémentation disponibles (On trouve
notamment, le toolkit Insight [Ibanez et al.03], ou encore le logiciel Motion2D développé par
l’IRISA [Odobez et al.95] . On peut citer notamment des techniques robustes multi-résolution
décrites dans [Odobez et al.95], qui permettent d’estimer un modèle paramétrique du mouvement de la caméra. On obtient alors le mouvement inter image, qui peut être éliminé pour se
ramener à la détection d’objets imagés par une caméra fixe.
La figure 3-8 illustre cette étape de détection. L’image du centre présente la carte binaire
de mouvement est obtenue par soustraction de fond. Un véhicule est détecté pour chaque zone
de réponse suffisamment importante. Le rectangle englobant représenté en vert sur l’image de
droite sert d’initialisation pour le calcul des paramètres de pose du véhicule.
3.3.1.1
Initialisation des paramètres de pose
Le vecteur d’état initial xk0 (3.2) de chaque véhicule détecté doit être déterminé. Les paramètres
de forme sont initialisés avec des paramètres génériques définis manuellement (3.1). Nous cherchons les paramètres de position de chaque véhicule : position dans le repère monde et orientation
autour de l’axe z. Pour cela nous effectuons une première initialisation basée sur les informations
de mouvement de l’objet, puis nous optimisons la pose de l’objet grâce aux informations issues
des contours image et des gradients spatio-temporels.
La première étape, basée sur les informations de mouvement, nous fournit une approximation
de la pose du véhicule. La position du centre du véhicule est donnée par la projection dans le
repère monde du centre de la zone mobile de l’image. L’orientation de l’objet est donnée par la
projection dans le repère monde du vecteur mouvement 2D de l’objet dans l’image. Le vecteur
35
Figure 3-8. Détection des objets mobiles de la séquence. A gauche : l’image initiale. Au centre : la carte
binaire de mouvement obtenue à partir de l’image de gauche et l’image suivante. A droite : position de
la zone de détection.
mouvement est obtenu à partir du flot optique calculé entre les deux images initiales. Nous
utilisons une méthode rapide de calcul dense du flot optique basée sur la méthode proposée par
[Lucas et al.81, LB et al.05]. Le calcul du flot fournit une carte des vecteurs de déplacement des
objets entre deux images. Le mouvement 2D du véhicule est obtenu en prenant la médiane des
orientations du flot dont la norme est supérieure à un seuil (fixé à 2 dans nos expérimentations).
La figure 3-9 présente un calcul de flot optique.
La zone de mouvement de norme supérieure au seuil étant en général très large, comme c’est le
cas dans l’exemple de la figure 3-9, une estimation plus fine des paramètres de pose est nécessaire.
Celle-ci se déroule en deux phases. La première consiste à optimiser les paramètres de position
du modèle à orientation fixée à partir des gradients spatio-temporels. La seconde consiste à
utiliser une carte des gradients pour optimiser la position et l’orientation.
Figure 3-9. Calcul d’une méthode dense de flot optique. A gauche : la première image utilisée pour calculer
le flot optique. A droite : la carte de mouvement dans l’image.
Les gradients spatio-temporels sont calculés par différences de deux images successives, cette
carte de distance est appelée Frame Difference (FD). On voit alors apparaître les gradients
orthogonaux au sens de mouvement du véhicule pour lesquels la carte distance contiendra des
valeurs importantes. L’idée de l’optimisation de la position du véhicule consiste à utiliser un
36
contour englobant du véhicule plus important que celui correspondant à sa taille réelle, et de
minimiser la variance de la carte FD à l’extérieur de la boite englobante (tout en restant dans
le voisinage du véhicule), ce qui revient à segmenter l’objet mobile du fond fixe. Sur la figure
3-10 nous présentons l’initialisation des contours du modèle polyédrique projeté à gauche. La
carte des gradients spatio-temporels est représentée sur l’illustration du centre. Les contours
du modèle sont représentés après optimisation de la position du véhicule. Après cette étape
d’optimisation la pose du modèle polyédrique est en général correcte. Cependant il arrive que
la pose, principalement l’orientation, du véhicule soit mal estimée, ainsi nous appliquons une
seconde étape basée sur la distance aux contours de l’objet pour pallier ce problème.
Figure 3-10. L’étape d’optimisation par utilisation des gradients spatio-temporels. A gauche : initialisation de la pose du modèle polyédrique, la boite englobante correspondant aux extrémités du modèle est
représentée en vert. Au centre : gradients spatio-temporels obtenus par différence des deux images. A
droite : boite englobante du modèle polyédrique après optimisation des paramètres.
L’idée est de minimiser la distance entre les contours du véhicule extraits de l’image, et les
contours de la boite englobante issue du modèle projeté. Pour effectuer cette optimisation des
paramètres, nous commençons par extraire les contours de l’image. L’extraction de contours est
réalisée de manière classique par l’algorithme de Canny-Deriche (voir annexe D). Nous calculons
ensuite une carte de distance au contour le plus proche. Nous réalisons enfin l’optimisation
proprement dite qui consiste à estimer les paramètres de pose qui minimisent la distance entre
le contour de la boite englobante et la carte de contour extrait. L’estimation des paramètres est
effectuée par un algorithme d’optimisation non linéaire du type simplexe [Nelder et al.65].
Figure 3-11. L’étape d’optimisation par utilisation des gradients image. Première illustration : la boite
englobante après optimisation par FD. Seconde illustration : les contours obtenus par un extracteur
de Canny-Deriche. Troisième illustration : carte de distance au contour le plus proche. Quatrième
illustration : la boite englobante après optimisation.
Des exemples sont illustrés sur la figure 3-12, sur des séquences prises en conditions réelles.
L’initialisation est correcte, y compris en présence d’occultations partielles (première ligne),
d’erreur importante d’initialisation en orientation (deuxième ligne) pour de nombreux véhicules.
37
Un exemple d’initialisation incorrecte est présenté sur la quatrième ligne. Les deux véhicules se
trouvant dans la zone de recherche, l’optimisation par gradient spatio-temporels, déplace la position du modèle polyédrique sur le mauvais véhicule. Des tests ont été effectués sur 20 séquences
provenant deux points de vues distincts, on obtient environ 80% d’initialisations correctes.
3.4
Suivi
Une fois la pose initiale du modèle obtenue il est possible d’effectuer le suivi de celui-ci. Nous
proposons dans cette section deux approches de suivi. En effet nous nous étions intéressés
dans un premier temps à des séquences d’images peu résolues (les véhicules occupaient alors au
maximum 50 pixels dans les images), et avons développé un algorithme de suivi basé sur la mise
en correspondance de segments extraits des contours des objets. Après différents tests il s’est
avéré que cette méthode n’était pas adaptée au cas de séquences dans lesquels les objets sont
mieux résolus. Nous avons donc développé une seconde méthode de suivi basée sur un critère
dense de minimisation de la différence d’apparence entre les images.
3.4.1
Suivi par association des segments
Nous nous intéressons ici au suivi par comparaison des segments extraits des images avec les
segments qui composent le modèle polyédrique projeté, nous présentons dans cette section le
principe utilisé. Pour de plus amples informations concernant l’extraction et l’appariement des
segments, se reporter à [Faugeras93, Guinet05]. Lors de cette étape de suivi, les paramètres de
forme du modèle sont réestimés à chaque pas.
La mise à jour de l’état xk au temps tk connaissant xk−1 ainsi que les covariances associées
suit la logique prédiction/correction classique en filtrage de Kalman. En raison de la non linéarité
de l’équation dynamique, l’étape de prédiction est celle d’un filtre de Kalman étendu, elle est
détaillée dans la section 3.4.1.1. Des rappels concernant ces deux techniques font l’objet de
l’annexe C. L’étape de correction est basée sur une méthode itérative de remise à jour des
paramètres d’état compte tenu des appariements segments extraits de l’image/segments modèle.
La démarche utilisée est résumée sur le schéma de la figure 3-13. Cette étape est décrite plus
précisément dans la section 3.4.1.2.
3.4.1.1
Prédiction
L’état xk considéré comporte 17 paramètres dont les 12 paramètres de taille du modèle d’objet
décrit en section (3.2.1.1) et les 5 paramètres de dynamique (cf. section 3.2.1.2) :
xk = (px,k , py,k , φk , vk , wk , Pfk )T ,
(3.9)
(px,k , py,k ) est la position du centre de la voiture, φk est l’orientation, vk , wk correspondent
respectivement à la vitesse et vitesse angulaire, le vecteur Pfk correspond aux 12 paramètres de
forme du modèle, éq. (3.1).
Les équations de prédiction sont issues du modèle dynamique de l’état (3.5). Le calcul de la
covariance de l’état prédit Pk|k−1 fait intervenir le jacobien de l’équation de transition. Le détail
du calcul du jacobien est donné dans [Guinet05].
38
Figure 3-12. Exemples d’initialisation de la pose du véhicule. A gauche : initialisation des paramètres par
flot optique. Au centre : le résultat de l’optimisation par gradients spatio-temporels. A droite : le résultat
de l’optimisation par distance aux contours.
39
etape k
RAJ modele k
(iterative)
test
projection
k−1
appariement
extraction
segments
"equation de mesure"
Figure 3-13. Schéma de l’algorithme de suivi.
Image k
k
40
3.4.1.2
Étape de correction
L’étape de correction est constituée d’une boucle alternant appariement à état fixé et estimation
d’état à appariement fixé. Cette boucle s’arrête lorsque l’appariement proposé a déjà été traité
ou, à défaut, après un nombre limite d’itérations.
3.4.1.3
Appariement
Cette étape a pour but d’apparier les segments extraits avec ceux du modèle 3D projeté dans
l’image. Elle consiste à minimiser une distance de Mahalanobis entre les segments du modèle
polyédrique et les segments extraits des images. L’extraction des segments est détaillée en annexe
D.
Cette étape a pour but d’apparier les segments extraits avec ceux du modèle 3D projeté dans
l’image.
On utilise la représentation de segment développée par Deriche et Faugeras [Deriche et al.90].
Chaque segment n’est plus caractérisé par les coordonnées de ses extrémités (X = (x1 , y1 , x2 , y2 ))
mais par les coordonnées de son centre (cx , cy ), son angle par rapport à l’axe des abscisses θ et
sa longueur l : X = (cx , cy , θ, l). Le passage d’un système de coordonnées à l’autre est donné
par les équations :
cx
cy
θ
l
x1 +x2
=
2
y1 +y2
=
2
1
=
arctan( xy22 −y
si x1 6= x2 , π2 sinon
−x1 )
p
=
((x2 − x1 )2 + (y2 − y1 )2 )
l
cy
(3.10)
θ
cx
Figure 3-14. Paramétrisation de la droite en centre (cx , cy ), angle θ et longueur l.
Cette paramétrisation présente l’avantage de modéliser facilement les incertitudes d’extraction
parallèlement et perpendiculairement à la direction du segment. Pour rechercher le meilleur
appariement on utilise la distance de Mahalanobis. Cette distance peut être considérée comme
une distance euclidienne appliquée à l’espace des paramètres pondérés par leur incertitude.
La distance de Mahalanobis entre un segment modèle j et un segment de données i est définie
par (3.11)
d2ij = (Xmj − Xdi )T (Λmj + Λdi )−1 (Xmj − Xdi )
Où Λmj et Λdi sont les covariances des segments modèle et image respectivement.
(3.11)
41
L’imprécision sur l’extraction des segments de données est modélisée par une erreur le long
du segment σ|| , ainsi qu’une erreur perpendiculaire au segment σ⊥ . La matrice de covariance
Λd du segment de donnée Xd est définie par (3.12).



Λd = 


2 cos(θ)2 +σ 2 sin(θ)2
σ||
⊥
2
2
2
(σ|| −σ⊥ ) sin(θ) cos(θ)
2
2 −σ 2 ) sin(θ) cos(θ)
(σ||
⊥
2
2
2 sin(θ)2
σ⊥ cos(θ)2 +σ||
2
0
0
0
0

0
0
2
2σ⊥
2
l
0
0

0 


0 
σ||2
(3.12)
L’imprécision sur les segments modèle est déduite de la covariance de l’état (Pk|k ), elle est notée
Λmj . Les détails des calculs sont donnés dans [Guinet05].
Un appariement du segment modèle j correspond au segment image i qui minimise la distance
dij . Si la distance minimale est supérieure à un seuil fixé τ alors on considère que le segment
modèle j n’est pas apparié. L’ensemble des appariements est noté I = {(Xmj , Xdi )j=1...n } avec
n correspondant au nombre de segments modèle.
Nous présentons cette technique d’appariement sur un exemple de synthèse, puis sur des
segments extraits de séquences réelles. Sur l’exemple figure 3-15 les segments de données sont
obtenus en projetant un modèle puis en bruitant les segments projetés. Le modèle est représenté
en pointillés sur la figure, les segments de données sont en traits pleins. Les segments appariés
sont en gras sur l’image.
Figure 3-15. Exemple d’appariement entre segments d’un modèle et un ensemble de segments de synthèse
obtenus en bruitant un modèle. Les segments extraits sont représentés en traits pleins, les segments du
modèle en pointillés et les segments extraits qui sont appariés avec un segment modèle sont représentés
en traits gras.
La figure 3-16 présente un exemple réel sur lequel les segments appariés sont représentés en
gras.
42
Figure 3-16. Exemple de matching avec des segments extraits d’une image. Les segments extraits de l’image
qui sont appariés avec un segment du modèle sont représentés en gras.
3.4.1.4
Algorithme de Levenberg Marquardt appliqué à la version itérative du filtre
Le problème qui se pose maintenant est le suivant : étant donné un jeu d’appariements entre
segments du modèle projeté et segments extraits de l’image, quelles valeurs de l’état (position,
orientation, forme de la voiture) faut-il choisir pour faire coïncider le nouveau modèle avec les
segments image ?
L’ensemble des segments appariés constitue le vecteur de mesure yk . Le modèle d’observation
est alors :


X1 (xk )


yk = hk (xk ) avec hk (xk ) =  ...
(3.13)

Xm (xk )
Xj (xk ) étant le segment extrait de l’image apparié au jième segment du modèle


cxj (xk )
 cyj (xk ) 

Xj (xk ) = 
 θj (xk ) 
lj (xk )
(3.14)
En accord avec l’approche de Koller détaillée en annexe C.4, nous considérons la minimisation
du critère J(x) :
J(xk ) = (yk − hk (xk ))T Rk−1 (yk − hk (xk )) + (xk − xk|k−1 )T Pk−1 (xk − xk|k−1 )
{z
} |
|
{z
}
erreur d’observation
(3.15)
écart de prédiction
³
´
x̂k|k = argminxk J(xk )
Le détails des équations est présenté en annexe C.4. L’algorithme de minimisation obtenu en
utilisant un critère non linéaire par la méthode Levenberg-Marquardt est présenté dans le cadre
1.
On arrête l’algorithme lorsque l’évolution de l’état devient minime ou après un nombre fixé
d’itérations.
43
1. initialisation de xk i avec xk|k−1 , i = 0 et l’on prend une petite valeur pour µ
2. calcul de xk i+1 à l’aide de l’équation (C.42)
3. calcul des valeurs du critère J pris aux points xk i et xk i+1 : J(xk i+1 ) et J(xk i )
si la valeur J(xk i+1 ) à l’étape i + 1 est inférieure à celle obtenue à l’étape i alors
on diminue µ et l’on retourne à l’étape 2 avec i = i + 1
sinon
(si on a J(xk i+1 ) ≥ J(xk i )) on augmente µ on oublie la valeur xk i+1 et l’on retourne à
l’étape 2
fin
Algorithm 1: Minimisation de l’équation (3.16) par la méthode Levenberg-Marquardt.. µ
est le paramètre d’interpolation privilégiant soit la méthode Gauss-Newton, soit la méthode de
descente de gradient.
3.4.1.5
Résultats du filtre
Sur la figure 3-17, on considère un exemple de synthèse correspondant à une observation idéale
(les segments sont parfaitement bien extraits), représentée en pointillés sur l’image. Les segments
issus de l’état prédit sont représentés en gras sur la première image. Nous pouvons remarquer que
les différents modèles obtenus lors des itérations de l’algorithme convergent bien vers le modèle
instancié à partir de l’état observé. Il n’est pas nécessaire de faire beaucoup d’itérations de
l’algorithme car le gain en précision devient très faible après quelques itérations. Sur cet exemple
l’avantage d’appliquer plusieurs itérations de l’algorithme de Levenberg-Marquardt plutôt qu’un
simple filtre de Kalman étendu (EKF) est très net, nous obtenons un recalage beaucoup plus fin.
Nous appliquons ensuite l’algorithme de Levenberg-Marquardt sur une image connaissant
l’état prédit et disposant d’une observation. Le résultat du calcul projeté dans l’image est
présenté sur la figure 3-18. Sur cette figure, on remarque qu’avec une initialisation grossière de
la forme géométrique du modèle (sur l’image de gauche), il est possible d’estimer correctement
la forme du véhicule si l’extraction des segments de l’image est correctement réalisée.
3.4.2
Suivi par minimisation de la différence d’apparence entre les images
L’algorithme présenté dans la section précédente permet de suivre les objets à partir de
l’extraction des segments des images. Si on augmente la résolution des objets, les contours
qui apparaissaient droits à faible résolution, révèlent pour certains modèles de véhicules un aspect arrondi à plus haute résolution. L’augmentation de la résolution fait alors apparaître les
limitations du modèle filaire trop simplificateur. Par conséquent un contour qui sera synthétisé
par un seul segment de droite à faible résolution peut être représenté par plusieurs à plus haute
résolution. La figure 3-19 présente une illustration de ce problème d’extractions multiples. Se
pose alors on problème d’association lors de l’utilisation de l’algorithme précédent. Un simple
changement de paramètres d’extraction n’est pas suffisant pour pallier ce problème. Différentes
améliorations ont été proposées, comme par exemple l’ajout des informations de flot optique
[Nagel et al.99], ou l’utilisation directe des gradients image [Pece03]. Dans notre cas nous avons
utilisé l’apparence des objets, plutôt que les gradients pour le suivre.
44
état prédit Xk|k−1
1ère itération de
Levenberg Marquardt
=
état estimé Xk|k pour un EKF
2ème itération
5ème itération
Figure 3-17. Étapes de l’algorithme de Levenberg-Marquardt. Pour chaque étape nous avons représenté en
gras le modèle issu de l’état et en pointillé l’observation.
3.4.2.1
Présentation de la méthode
Nous nous sommes donc intéressés à une stratégie de suivi différente. Étant donné que l’on
travaille à cadence vidéo, l’intervalle δt entre deux prises de vues est faible. Par conséquent
le déplacement des véhicules pendant ce laps de temps n’est pas très important et donc le
mouvement apparent des véhicules dans le repère image est faible. L’estimation de la différence
de pose δxk = xk − xk−1 entre les états xk à l’instant tk et xk−1 à l’instant tk−1 peut être
considéré comme étant faible. En se basant sur ce constat, nous proposons une méthode de suivi
basée sur la minimisation de la différence d’apparence des véhicules entre deux images successives.
Dans le cadre de ce suivi nous fixons les paramètres de forme du modèle polyédrique, le vecteur
xk aura donc ses 12 derniers paramètres fixés dans la suite. L’apparence d’un véhicule à l’instant
tk est donnée par la projection du modèle polyédrique compte tenu des paramètres d’état xk .
Notons I(f (xk ), tk ) l’image du véhicule à l’instant tk , f correspondant à la fonction de projection
du modèle polyédrique. Suivre le véhicule à l’instant tk+1 revient à trouver ses paramètres de
pose xk+1 . L’apparence de ce véhicule est donné par I(f (xk+1 ), tk+1 ) On cherche à minimiser
la différence d’apparence entre les deux images, ce qui revient à minimiser le critère O:
O(xk+1 ) = kI(f (xk+1 ), tk+1 ) − I(f (xk ), tk )k
(3.16)
Nous choisissons une norme quadratique couramment utilisée pour ce type de problème,
l’équation 3.16 devient alors :
O(xk+1 ) =
X
X
(I(f (xk+1 ), tk+1 , u) − I(f (xk ), tk , u))2 =
(²2 )
u
(3.17)
45
modele initial
segments extraits
modele apres estimation
200
200
200
250
250
250
300
300
300
350
350
350
400
300
350
400
400
300
350
400
400
300
350
400
Figure 3-18. Calcul de l’état estimé sur une image réelle. A gauche : état prédit. Au centre : segments
extraits. A droite : état après convergence de l’algorithme de Levenberg-Marquardt.
Figure 3-19. Extraction de segments sur des objets résolus. Plusieurs segments correspondants aux contours
du véhicule sont brisés lors du processus de polygonalisation.
46
u correspond à une position dans l’image, et I(. . . , u) à la valeur du pixel à la position u.
Étant donné que l’on se trouve proche d’un minimum local de l’erreur, nous pouvons utiliser
une méthode du type Levenberg Marquardt (LM) pour minimiser l’erreur ². xk+1 est initialisé
avec la valeur xk à la première itération. Les détails de la méthode LM ayant déjà été présentés
précédemment nous ne les détaillerons pas ici.
Le critère à minimiser est ici la différence d’apparence de l’apparence sur deux images successives. Ce qui revient à faire du “template matching” en remettant à jour l’image référence
I(f (xk ), tk ) à chaque itération. La remise à jour de l’image de référence peut entraîner des problèmes de dérive de la position, en effet si à l’instant tk la pose xk est mal estimée, ceci entraîne
une apparence biaisée pour le calcul à l’instant tk+1 . Il est préférable d’initialiser l’image de
référence à un instant donné tref et conserver la référence pour les images suivantes. Le critère
à minimiser devient alors :
O(xk+1 ) =
X
(I(f (xk+1 ), tk+1 , u) − I(f (xref ), tref , u))2
(3.18)
u
xk+1 est initialisé avec la valeur xk à la première itération. Nous présentons un exemple de
résultat de suivi sur la figure 3-20 en utilisant le critère (3.18). La référence utilisée est présentée
à gauche, la trajectoire de l’objet et l’état sur la dernière image sont représentés sur l’image de
droite.
Figure 3-20. A gauche : Le modèle de référence pour le suivi. A droite : en bleu la trajectoire du véhicule
sur 50 images, en rouge la projection du modèle polyédrique paramétré par le dernier état.
Si l’on s’intéresse à l’erreur résiduelle à l’issue de la minimisation du critère O (3.18) présenté
sur
√ la figure 3-21, sous forme de l’erreur de type Root Mean Square (RMS), qui correspond à
O, on observe une dérive de celle-ci. Nous discutons dans la section suivante de la remise à
jour de la référence pour pallier cet effet.
3.4.2.2
Remise à jour de la référence
Les changements d’apparence du véhicule au cours de la séquence rendent la référence de moins
en moins bien adaptée au suivi. A l’opposé, l’emploi de l’équation (3.17) revient à mettre à jour
la référence avec la dernière image de la séquence, ce qui s’avère être une mauvaise solution. En
effet la moindre petite erreur d’estimation de la position du véhicule entraîne, une erreur sur la
47
Figure 3-21. erreur RMS, obtenue avec le critère 3.18, pour le suivi présenté sur la figure 3-20
référence qui se répercute sur l’image suivante, et ainsi de suite, entraînant une dégradation de
l’apparence de la référence. Des traitements plus élaborés sur la remise à jour de la référence sont
donc nécessaires pour obtenir une stratégie de suivi robuste sur le long terme. [Matthews et al.03]
traite le problème par une remise à jour de la référence uniquement si l’erreur à l’issue de la
minimisation reste inférieure à un seuil fixé a priori. [Latecki et al.06] présente une stratégie de
remise à jour de la référence à partir des informations de mouvement dans les images.
Dans notre cas, étant donné que l’on dispose des informations de projection dans le référentiel
lié au modèle polyédrique à partir de la pose des objets, nous pouvons synthétiser les apparences
sur chaque face du modèle polyédrique, selon la méthode présentée sur la figure 3-22. Au temps
tk on trouve la pose xk du véhicule à partir de l’équation (3.18), les paramètres de pose xk
permettent alors de projeter la valeur I(f (xk )tk , u)) de chaque pixel u dans le référentiel modèle
(2ème étape sur l’illustration 3-22). Cette position dans le référentiel modèle est interpolée sur
une grille régulière (3ème étape). L’apparence de la référence est enfin obtenue en prenant la
moyenne ou la médiane de l’ensemble des valeurs de niveaux de gris pour chaque position sur la
grille régulière et en la projetant dans l’espace image.
Des exemples de mise à jour de la référence pour deux séquences sont présentés sur la figure
3-23. Sur chaque ligne, l’imagette de gauche correspond au premier template de référence obtenu
à t = tref . Les deux imagettes de droite présentent la référence obtenue en intégrant l’apparence
sur 40 images. L’imagette du centre est obtenue en prenant la médiane des niveaux de gris à
chaque position de la grille de référence, celle de droite est obtenue en prenant la moyenne. On
peut remarquer l’apparition de la lunette arrière sur la première ligne, celle-ci n’est pas visible
sur la première image, puis apparaît progressivement au cours de la séquence. Cette méthode
n’est malheureusement pas exempte de défauts; on observe par exemple une dégradation de
l’apparence de la référence sur la ligne du bas au niveau du pare choc avant, la face correspondant
à ce détail du véhicule disparaît progressivement au cours la séquence, ce qui fait que l’apparence
du template à ce niveau se dégrade elle aussi.
La prise en compte de la normale à la face dans le repère caméra permettrait de savoir si la
résolution de chaque face s’améliore ou se dégrade au cours de la séquence, il serait ainsi possible
48
Figure 3-22. Principe de la chaîne de traitement obtenue pour mettre à jour la référence. A partir des
informations de pose du modèle polyédrique chaque pixel est projeté dans la géométrie du modèle, ce qui
fournit un échantillonnage non régulier de positions 3D sur les faces du polyèdre. Ces positions sont
ensuite interpolées sur une grille régulière afin d’obtenir l’apparence de la face.
49
de mettre à jour la référence uniquement dans un cadre favorable. L’intégration spatio-temporelle
des images par des techniques de Super-Résolution (SR) qui mettent en oeuvre des traitements
plus fins pour intégrer les données font l’objet de travaux dans le département [Letienne et al.08].
Figure 3-23. Exemple de mise à jour de la référence pour le suivi du véhicule. Pour chaque ligne, A
gauche : La référence obtenue à l’initialisation du suivi. Au centre : La référence remise à jour après 40
pas de temps en utilisant la médiane des niveaux de gris. A droite : La référence remise à jour après 40
pas de temps en utilisant la moyenne des niveaux de gris.
3.5
Construction du modèle d’objet
Une fois l’étape de suivi réalisée, nous disposons de n vues d’un même véhicule, n étant le nombre
d’images dans lequel le véhicule est imagé par la caméra. Étant donnée la cadence de la caméra,
cet ensemble de vues est redondant, il est nécessaire de réduire l’ensemble des informations
concernant le véhicule selon une modélisation plus synthétique. C’est cette caractérisation de
l’objet que nous présentons dans cette section.
Il s’agit d’utiliser les informations du modèle polyédrique, ainsi que les informations radiométriques issues des différentes vues, pour extraire un ensemble de caractéristiques image
décrivant le véhicule de manière à pouvoir extrapoler l’apparence du véhicule dans un référentiel
de référence comme indiqué en section 3.2.3.2. L’incertitude de la position de chaque point image dans le repère monde est éliminée dès lors que l’on connaît l’équation du plan sur lequel se
trouve chaque position image. Nous utilisons cette fonction de projection inverse pour interpoler
la radiométrie issue de l’image sur chaque face visible du modèle. La face texturée obtenue est
placée dans un référentiel de référence, appelé “vue canonique” [Savarese et al.07] qui est la vue
face à la caméra. La notion de vue canonique vient de la communauté de la vision biologique,
elle a été introduite pour la première fois par [Palmer et al.81]. Au cours de ses travaux il a mis
en évidence le fait que les objets sont reconnus plus facilement et plus rapidement sous certaines
conditions de prises de vue par des humains. Pour résumer, les vues qui sont le plus facilement
identifiées sont celles qui maximisent la surface visible de l’objet.
Définition 1 (Vue canonique [Palmer et al.81]) Pour un objet, il existe un point de vue
pour lequel le temps de réaction de reconnaissance est le plus court : c’est le point de vue canon-
50
ique. Ce point de vue est différent pour chaque objet et semble être celui qui apporte le maximum
d’informations visuelles.
Dans notre cas, nous exploitons une vue par face visible du véhicule. La vue canonique de
chaque face correspond alors à la vue fronto parallèle, c’est à dire celle pour laquelle le plan de
la caméra et parallèle au plan du polygone caractérisant la face.
Un véhicule sera donc défini par ses informations de pose, de forme, et par un ensemble de
faces munies de leur apparence dans la vue canonique.
3.6
Passage dans la vue canonique
Le passage dans la vue canonique consiste à reprojeter tous les pixels appartenant à une face
dans une géométrie de référence, indépendante de la pose des véhicules. La figure 3-24 présente
un exemple de mise en vue canonique de toutes les faces visibles du véhicule présenté sur l’image
de gauche.
Figure 3-24. Passage dans la géométrie canonique. A gauche : Une image issue d’une séquence et son
modèle polyédrique associé. A droite : Les faces visibles dans leur géométrie de référence.
3.6.1
Principe
L’idée est d’effectuer un warping "inverse" depuis l’image dans la géométrie de référence. Il
s’agit de mettre en correspondance les positions de chaque repère (image et de référence), pour
ensuite estimer la radiométrie dans la géométrie de référence. L’étape de calcul des positions
fait intervenir les équations de projection dans les différents repères liés à la caméra, que nous
avons détaillées dans la section 3.2.3. La radiométrie dans la géométrie de référence est ensuite
obtenue, par interpolation et filtrage. De nombreux travaux ont été proposés dans le domaine de
la synthèse d’image [Heckbert89, Gibson et al.00, Gleicher97, Chen et al.99]; en effet appliquer
une image de texture sur un objet 3D est une des techniques fondamentales de ce domaine. Les
techniques de mapping et de warping ont beaucoup été étudiées, elles sont définies par :
Définition 2 (Mapping) Le mapping de texture (plaquage de texture en français) consiste à
appliquer une image de texture sur la surface d’un objet 3D pour augmenter le réalisme du rendu
de l’image dans lequel l’objet apparaît.
De nombreuses applications sont présentées dans [Carey et al.85].
51
Définition 3 (Warping) Le warping d’image permet de transformer une image source en une
image de destination, selon une règle de transformation permettant de passer de l’espace source
(u, v) à l’espace de destination (x, y).
Les applications sont nombreuses que ce soit pour corriger des déformations géométriques de
caméra [Gonzalez et al.87], ou encore pour des applications plus ludiques comme le morphing
[Beier et al.92].
Dans notre cas on cherche à appliquer la transformation inverse, c’est à dire obtenir la radiométrie sur un plan de référence à partir de la projection de l’objet dans l’image. Ces étapes
de traitement sont détaillées dans les schémas de la figure 3-25
Figure 3-25. A gauche : Schéma classique de mapping. A droite : Opérations à réaliser dans notre cas.
L’équation de passage des pixels est donnée par les équations de projection de la caméra et la
connaissance du modèle polyédrique. Une vue canonique d’un polyèdre visible correspond à une
image de la face échantillonnée. L’idée consiste à effectuer un échantillonnage régulier de cette
face dans la vue canonique, de projeter ces positions dans l’image, ce qui donne un ensemble de
positions non régulières dans l’espace image, et enfin utiliser des techniques d’interpolation et de
filtrage pour obtenir la valeur du pixel à la position considérée. Une attention particulière doit
être portée aux étapes d’interpolation et de filtrage pour éviter les problèmes d’aliasing inhérents
au rééchantillonnage de données.
3.6.2
Interpolation et filtrage
Afin d’attribuer une apparence à chaque face du modèle, il est nécessaire de définir une grille
d’échantillonnage de la face dans la vue canonique. Un exemple d’échantillonnage est présenté
sur la figure 3-26. Nous fixons la taille de l’échantillonnage par rapport à la taille qu’occupe
un pixel lorsqu’il est reprojeté dans le repère de référence pour une face parallèle au plan de la
caméra (en disposition fronto-parallèle) et à une distance Z. Ce paramètre Z définit la résolution
de la vue canonique, et doit être fixé de manière à ce que la face dans la vue canonique soit mieux
résolue que dans le repère image. Dans la pratique l’échelle est définie à partir de la distance
entre le centre de la caméra et le plan du sol.
La projection des positions des pixels de la vue canonique de référence dans le repère image
conduit à des positions réelles, ce qui implique une étape d’interpolation pour déterminer leur
52
Figure 3-26. A gauche : L’échantillonnage de la vue canonique. A droite : La vue canonique et son
échantillonnage projetés dans le repère monde.
niveau de gris. La figure 3-27 présente un exemple de repère canonique (en vert) projeté dans le
référentiel image (en rouge). L’interpolation effectuée est du type interpolation bilinéaire dans
l’espace image.
Figure 3-27. Projection de la vue canonique dans l’espace image. En vert : Les positions de la vue de
référence projetées dans le repère image. En rouge : Les positions des pixels image. Les grilles ont été
sous échantillonnées (par 5) afin d’améliorer la lisibilité.
Notons que la taille d’échantillonnage de la vue canonique étant obtenue à partir de la résolution maximale d’une face dans l’image (lorsque la face est fronto-parallèle), la face dans la
vue canonique est toujours suréchantillonnée par rapport à celle-ci vue dans le plan image. En
effet la résolution spatiale d’une face sera inférieure à la résolution de la vue fronto-parallèle. Un
exemple de modification de la résolution est présenté sur la figure 3-28.
53
Figure 3-28. Emprise des positions pixels dans le repère de référence. En rouge :
image reprojetée. En pointillés : Le repère canonique de référence.
3.6.3
Un exemple de grille
Adaptation de la résolution
Une fois la mise en vue canonique effectuée, on obtient une description de la face indépendante
du point de vue. Néanmoins il n’est pas encore possible de calculer la similarité entre deux vues
canoniques pour deux véhicules à comparer, étant donné les différences de résolution qui peuvent
intervenir entre les différentes faces. Une étape de filtrage est donc nécessaire pour adapter les
résolutions des deux images à comparer. Pour illustrer les besoins de filtrage nous présentons
des exemples de grilles images reprojetées dans la vue de référence sur la figure 3-29. Sur cet
exemple nous comparons l’échantillonnage obtenu pour une même face vue sous deux aspect
différents. Il apparaît clairement une différence de résolution dans le référentiel de référence
(écartement moyen entre deux points bleus et deux points rouges). L’objectif étant de procéder
à la comparaison de la similarité de la radiométrie entre les faces, il est nécessaire de tenir compte
de la différence de résolution préalablement au calcul de similarité.
Étant donné qu’on souhaite fixer a priori la taille de la vue de référence, nous devons procéder à
une étape de modification de la résolution afin d’adapter les vues canoniques de chaque objet pour
les comparer. On se base sur l’emprise des pixels image dans le référentiel canonique pour définir
la taille des fenêtres de filtrage. L’idée est d’intégrer la contribution de chaque pixel image dans le
repère de référence, c’est à dire d’appliquer un filtre dans le repère de référence adapté à la taille
de chaque pixel image reprojeté. Dans le cas idéal le taille du filtre dépend de la position dans
le repère de référence, en effet la projection inverse d’un pixel du référentiel image, nous donne
un quadrilatère dans le repère de référence, dont les paramètres dépendent de la position image.
Par conséquent l’étape de filtrage devrait utiliser un filtre anisotropique dont la mise en oeuvre
est relativement coûteuse en temps de calcul. [Greene et al.86] a proposé une implémentation à
coût raisonnable appelée Elliptical Weighted Average filter (EWA). Étant donné l’intérêt de ce
type de filtrage pour le gain visuel des applications graphiques récentes de nombreuses versions
optimisées algorithmiquement ont été proposées [Chen et al.04]. Concernant notre cadre d’étude
les objets se trouvent assez éloignés de la caméra, ce qui implique une modification mineure
de la forme des filtres utilisés au sein d’une face , (la variance de la forme d’un pixel reprojeté
reste très faible.). Nous avons donc décidé d’utiliser au sein d’une même face une taille de filtre
unique paramétrée par la taille de la projection inverse du pixel qui se trouve au centre de la
face considérée. L’utilisation d’un filtre gaussien est bien adaptée pour traiter ce genre de cas
de filtrage [Heckbert89]. Nous utilisons un filtre gaussien elliptique (3.19) dont les paramètres
54
Figure 3-29. Comparaison des reprojections des positions image dans la vue de référence, pour deux conditions de prise de vues différentes du même véhicule. A gauche : Le véhicule vu sous deux conditions
de prise de vues différentes. A droite Les pixels images d’une face (représenté en bleue pour la vue du
haut et en rouge pour la vue du bas) reprojetés dans le référentiel de référence. On observe une très nette
différence de résolution dans l’espace canonique.
sont adaptés à la forme de la projection des pixels image dans les repère de référence, comme
on peut le voir sur la figure 3-30. On fait l’approximation que la projection inverse d’un carré
dans l’image (un pixel) donne un parallélogramme dans le repère de référence. Les paramètres
du filtres sont alors donnés par θ l’angle de rotation obtenu à partir de l’axe i dans l’image
reprojetée, et σx , σy respectivement proportionnels à la hauteur et à la largeur d’un pixel. Nous
présentons quelques exemples de résultats dans la prochaine sous section.
G(x, y) =
(x cos(θ)−y sin(θ))
−1/2(
1
2
σx
e
2πσx σy
2
+
(x sin(θ)−y cos(θ))2
)
2
σy
(3.19)
A ce stade on connaît la forme du filtre correspondant à la résolution image de la face. Pour
comparer deux vues canoniques, il suffit alors au préalable de filtrer chacune d’entre elles par
le filtre adapté à la forme de l’image à comparer. Dans la section suivante nous présentons des
exemples applicatifs, ainsi que des considérations d’ordre pratique pour améliorer les temps de
calculs.
3.6.4
Cas pratique
Différents points pratiques sont à évoquer pour implémenter la mise en vue canonique :
Réduction des calculs liés au filtrage. Dans la pratique nous ne recalculerons pas systématiquement la forme du filtre à appliquer. A partir d’une base de filtres pré calculés, nous
choisissons celui qui se rapproche le plus des filtres de la base.
Taille limite des faces dans la géométrie image. Certaines faces ne contiennent que
quelques pixels , sous certaines prises de vue, le filtre à appliquer devient alors de taille très
importante, pour une face qui ne sera pas informative étant donné sa faible résolution dans
55
Figure 3-30. Paramètres du filtre. A gauche : Un pixel dans le repère image . Au centre : La projection
inverse de ce pixel dans le repère canonique. A droite : Le filtre obtenu à partir des paramètres calculés
sur la forme du pixel reprojeté.
l’image. Il est alors préférable de ne pas la prendre en compte lors des calculs de similarité.
ce point sera présenté dans la section 4.2.4.
3.7
Conclusion du chapitre
Nous nous sommes basés sur le schéma classique des algorithmes de DRI pour proposer une
architecture de traitement adaptée à notre étude. Celle-ci est décomposée en deux étapes : l’étape
de caractérisation et l’étape de reconnaissance, c’est cette première étape dite de caractérisation
à laquelle nous nous sommes intéressés dans ce chapitre. Dans un premier temps la modélisation
a priori a été présentée, celle-ci concerne la géométrie et la dynamique du véhicule, ainsi que les
équations de passage dans les différents référentiels. La géométrie des véhicules est synthétisée
par un modèle polyédrique, projeté dans l’espace image à partir des informations d’état du
véhicule et des paramètres caméra.
L’initialisation est effectuée par un calcul de flot optique permettant de localiser les véhicules
mobiles dans les images. Une première initialisation de la pose du modèle polyédrique est alors
obtenue à partir des informations issues du mouvement inter images. Nous nous sommes ensuite
basés sur les gradients spatio temporels et sur les gradients image pour optimiser les paramètres
de pose. Des exemples de résultats dans un cadre applicatif réel ont été présentés.
Une étape de suivi est ensuite effectuée pour chaque véhicule détecté. Deux stratégies ont
été proposées. La première se base sur les techniques classiques de filtrage de Kalman à partir
de l’appariement entre les segments extraits de l’image et les segments du modèle polyédrique.
Cette technique donne de bons résultats à basse résolution, le caractère simplificateur du modèle
polyédrique utilisé limite cette méthode dans le cadre d’une résolution image plus élevée. Nous
avons alors proposé d’effectuer un suivi par minimisation de la différence d’apparence entre
l’image courante et une image de référence. La remise à jour de la référence, problème crucial
du domaine du "template matching", est discutée.
A partir des informations de pose du modèle polyédrique obtenues lors des étapes précédentes, il est possible de caractériser le véhicule. Cette caractérisation est obtenue en projetant
l’apparence de chaque face visible dans un référentiel de référence appelée vue canonique de
56
la face. Nous détaillons cette étape de projection, en insistant sur l’étape de filtrage rendue
nécessaire par la modification de la résolution lors du passage du référentiel image au référentiel
de référence. La vue canonique de chaque face est obtenue à partir d’une unique image de la
séquence, il serait intéressant d’intégrer plusieurs images dans la vue de référence par des techniques de super résolution pour rendre les traitements plus robustes. La mise sous résolution
adaptée à la comparaison de deux véhicules est enfin détaillée.
Ces étapes permettent d’intégrer les informations nécessaires au processus de reconnaissance,
qui fera l’objet des deux prochains chapitres.
57
Chapitre 4
Décision par similarité et seuillage
A partir des pré-traitements présentés au chapitre 3, nous disposons d’une caractérisation des
véhicules, support du processus de reconnaissance. A ce stade il est possible de discriminer les
véhicules présentant des différences importantes, que ce soit par leur forme grâce au modèle
polyédrique, ou par une forte différence de radiométrie grâce à l’apparence de chaque face. Nous
nous intéressons donc dans la suite aux véhicules de même forme, et visuellement proches. On
s’intéresse alors à l’exploitation des informations de pose des véhicules afin de créer une règle
de décision pouvant gérer les différences importantes de vues entre les objets. Dans un premier
temps nous précisons la problématique, à partir d’un exemple simplifié d’identification. Cette
problématique peut se résumer en deux points principaux :
• Comment gérer la différence de pose pouvant intervenir entre les véhicules ? L’objectif est
d’exploiter les informations de pose des objets afin de les intégrer dans la règle de décision.
• Quels sont les points de vue privilégiés pour la reconnaissance ? Il s’agit de définir une
mesure a priori de la qualité de reconnaissance attendue pour un modèle.
Nous nous appuyons sur la bibliographie afférente à la reconnaissance multi aspects pour
répondre à ces deux points et construire une règle de décision paramétrée par les conditions de
prises de vue. Cette règle de décision s’appuie sur un score de similarité que nous détaillons. Des
résultats et interprétations concluent ce chapitre qui est centré sur la gestion des changements
d’aspects, point clef de notre étude.
4.1
Exemple de calcul de similarité simple
Dans cette section nous présentons un calcul de similarité simple ne tenant pas compte de la pose
des véhicules. Pour illustrer le principe de décision, nous présentons un exemple sur la figure
4-1. Dans cet exemple on compare deux véhicules différents (une BMW série 1 et une Renault
Mégane de même couleur). La requête, ici la Renault Mégane, représentée à gauche sur la figure
4-1, est comparée aux observations qui correspondent aux deux véhicules vus sous différentes
orientations. Deux observations de chaque véhicule sont données dans le cadre de droite de la
figure 4-1.
La similarité S est un score simple du type corrélation, classiquement utilisé pour comparer
deux images, calculé sur chaque vue canonique des faces communes à la requête et à l’observation,
puis sommé pour obtenir un score global de comparaison. Ce score sera détaillé dans la section
4.4. Le score étant calculé pour chaque couple requête/observation, il faut décider si les deux
58
Figure 4-1. Exemple de reconnaissance de véhicules. Cadre de gauche : la requête (une Renault Mégane)
Cadre de droite : quatre exemples d’observations. sur la première ligne il s’agit du même véhicule que le
modèle, sur la seconde il s’agit d’un véhicule différent. (une BMW série 1) Les carrés et cercles rouge et
bleus renvoient à la figure 4-3
véhicules sont identiques ou différents, ce qui est le but de l’étape de décision. De manière
classique on compare S avec un seuil constant τ , choisi en fonction des performances attendues
pour l’algorithme, c’est-à-dire réglé à partir des résultats obtenus sur une base d’apprentissage,
se reporter à l’annexe E pour plus de précisions. La courbe d’évolution du score est présentée
sur la figure 4-2, en fonction de la différence d’angulaire entre le modèle et l’observation. Plus
précisément cette différence angulaire concerne l’angle d’azimut du modèle relativement à la
caméra (pour plus de précision se reporter à la section 4.2.3). La courbe en trait plein bleu
correspond aux scores issus de la comparaison du modèle avec le même véhicule vu sous différents
angles de vues (le score intra classe). La courbe en pointillés rouge correspond aux scores issus
de la comparaison du modèle avec un véhicule différent vu sous différents angles de vues (le
score inter classe). La décision est donnée après réglage du seuil de décision τ . Les bonnes
classifications correspondent aux points de la courbe bleue pour lesquels le score est inférieur au
seuil (bonne détection), et les points de la courbe rouge dont le score est supérieur au seuil (non
détection vraie). Les points de la courbe bleu dont le score est supérieur à τ correspondent à
des erreurs de non détection, et les points de la courbe rouge sous le seuil à des fausses alarmes.
Nous étudions deux réglages différents du seuil :
τ = τ1 : Le seuil est réglé de manière à limiter le nombre de fausses alarmes, c’est-à-dire tel
que tous les scores de la courbe rouge soient supérieurs à τ1 . La position de ce seuil
est illustrée sur la courbe gauche de la figure 4-3. Les scores correspondant aux quatre
exemples d’observations de la figure 4-1 sont indiqués par des ronds et des carrés sur cette
figure. Ce réglage de seuil ne permet pas une exploration angulaire très importante. Dès
que la variation angulaire modèle/observation devient importante les véhicules sont tous
classés comme différents qu’il s’agisse du même véhicule ou d’un véhicule différent. Si l’on
s’intéresse en particulier à la zone du graphique correspondant à une différence d’orientation
de 50◦ , on constate que toutes les observations sont considérées comme étant des véhicules
différents, ce qui engendre des erreurs de non détections. Ce réglage conduit donc à un
taux de détection relativement faible.
τ = τ2 : Dans ce cas de figure on règle le seuil de manière à avoir un compromis entre le taux
de détection et de fausse alarme. Pour ce réglage de seuil on observe des fausses alarmes
59
pour des valeurs assez faibles d’exploration angulaire |δθ| < 40◦ .
Figure 4-2. Courbes de distribution des scores de reconnaissance pour deux véhicules en fonction de la
différence d’orientation requête/observation. En trait plein bleu : la distribution intra-classe des scores,
la requête est comparée à un véhicule identique. En pointillés rouges : la distribution inter-classe des
scores, la requête est comparée à un véhicule différent. Le score S est paramétré sur cette courbe par la
différence d’orientation entre la requête et l’observation. La pose de la requête est fixée, seule l’orientation
de l’observation est variable.
Quelle que soit la stratégie utilisée pour le réglage du seuil, on obtient des erreurs assez importantes dans le processus de décision. La stratégie de seuillage classique ne tient pas compte
des évolutions très importantes du score en fonction des conditions de prises de vue. On remarque par ailleurs que les profils des deux courbes sont fortement corrélés. Ces observations
nous poussent à étudier la faisabilité d’une règle de décision paramétrée par les conditions de
prises de vue. Par ailleurs la distribution intra classe présente des variations corrélées avec les
apparitions/disparitions de faces, dépendantes de la pose de l’observation. Il est alors intéressant de disposer d’un critère basé sur la géométrie du véhicule requête pour estimer la qualité
du processus de reconnaissance en fonction de sa pose.
Dans la prochaine section nous nous intéresserons à l’étude de l’importance des conditions de
prise de vue dans l’évolution du score de similarité, afin d’améliorer le processus de reconnaissance. Pour ce faire nous commençons par une étude de la bibliographie concernant les graphes
d’aspect, domaine proche de nos considérations.
4.2
Étude de la dépendance aux conditions de prise de vue
Les conditions de prise de vue des véhicules jouent un rôle important dans la performance du
processus de reconnaissance. Il convient donc d’étudier l’influence de ces paramètres, afin de
disposer d’indices a priori sur la qualité de reconnaissance et de guider la décision. L’objectif
60
Figure 4-3. Deux exemples de stratégies de seuillage. A gauche : Le seuil τ = τ1 est réglé de manière
à minimiser les fausses alarmes. Trois véhicules de la figure 4-1 apparaissent différents et un identique
(cercle bleu), soit une non détection (carré bleu). A droite : Le seuil τ = τ2 est réglé de manière à avoir
un compromis entre les bonnes détections et les fausses alarmes. Trois véhicules apparaissent identiques
et un différent (carré rouge). Soit une fausse alarme (cercle rouge).
de cette étude est double. D’une part il s’agit de d’identifier les principaux paramètres qui
influencent le score de similarité lors de la comparaison des véhicules afin de définir une règle de
décision adaptative paramétrée par les paramètres de prise de vue. D’autre part nous cherchons
à caractériser a priori la difficulté du processus de reconnaissance suivant les conditions de prise
de vue du modèle. Autrement dit, sachant que le modèle de l’objet a été constitué avec une prise
de vue donnée, peut-on prédire la performance de la reconnaissance ? Le but est par exemple
d’identifier des “vues privilégiées”. Nous commençons par redéfinir les paramètres de prise de
vue d’un objet, et détaillons la bibliographie afférente.
4.2.1
Vue d’un objet
Il convient dans un premier temps de définir ce qu’est une vue d’un objet. La vue d’un objet
est l’apparence de celui lorsqu’il est imagé par le capteur (ici une caméra, il peut aussi s’agir
de la rétine). La multiplicité des conditions de prises de vues (position du porteur, conditions
d’éclairements, occultations . . . ), fournit un ensemble infini d’apparences. Un grand nombre
d’approches ont été proposées pour gérer cet ensemble d’apparences. L’une d’entre elles consiste à
ordonner un ensemble de vues visuellement proches en un ensemble d’aspects. Selon [Effelterre05]
propose la définition suivante de l’aspect d’un objet :
Définition 4 (Aspect 3D) Un aspect de l’objet 3D est un contour visible stable sous difféomorphisme du plan rétinien.
Cette définition est illustrée sur un modèle filaire de véhicule en figure 4-4.
Les graphes d’aspect [Koenderink et al.79, Herbin98] fournissent une modélisation sous forme
de graphe des aspect 3D, c’est-à-dire des ensembles de vues équivalentes que peuvent prendre
un objet. Cette modélisation est intéressante dans le sens où elle fournit une énumération
complète des vues distinctes d’un objet à partir d’une paramétrisation de l’espace de vue, issue
61
Figure 4-4. Illustration du concept d’aspect 3D . Cadre du haut : Deux vues d’un véhicule qui correspondent
à un même aspect, on peut passer d’une vue à l’autre par transformation régulière de la position des
sommets des polygones dans l’espace de représentation. Il n’y a pas de perte/apparition d’information
entre les deux formes géométriques. Cadre du bas : deux vues d’un véhicule correspondant à des aspects
distincts. Les zones entourées en rouge correspondent à des apparitions/disparition de face entre les deux
vues. Il n’est pas possible de passer d’une vue à l’autre par une simple transformation géométrique.
des équations de projection caméra dans notre cas. Selon [Eggert et al.93] un graphe d’aspect se
compose de nœuds et d’arcs tels que :
• un nœud correspond à une vue générale ou aspect de l’objet dans l’espace de représentation.
Une vue générale est une vue de l’objet pour laquelle un changement infinitésimal de la
pose du porteur ne modifie pas l’apparence (un difféomorphisme permet de passer d’une
représentation à l’autre).
• un arc représente une transition possible entre deux aspects. Chaque arc correspond à une
vue accidentelle (encore appelé événement visuel ) pour laquelle un changement infinitésimal
du porteur résulte en une vue différente de la vue de départ.
Sur l’exemple du cadre du haut de la figure 4-4, un mouvement de l’observateur faisant passer
de la vue de droite à la vue de gauche nous laisse sur le même nœud du graphe d’aspect. Par
contre sur l’exemple du cadre du bas, les deux vues correspondent à deux nœuds distincts du
graphe. On passe d’une vue à l’autre en parcourant un ou plusieurs arcs. On rencontre en effet
les événements visuels : “disparition de la face n” et “apparition de la face m”. Sur l’exemple
considéré si l’apparition des faces arrières est simultanée avec la disparition de la face avant
alors le graphe ne comporte qu’un seul arc entre les nœuds correspondants aux deux vues, sinon
on parcourt plusieurs arcs, et le graphe contient des nœuds intermédiaires entre les deux vues.
Un exemple d’extrait de graphe associé au modèle géométrique de véhicule de la figure 4-4 est
représenté sur la figure 4-5.
Une autre manière d’organiser les aspects d’un objet consiste à utiliser la sphère de vue qui
comprend toutes les positions que peut adopter l’observateur autour de l’objet, à résolution fixée.
La résolution correspond à la distance entre l’observateur et le centre de l’objet. Sur la figure
62
Figure 4-5. Extrait d’un graphe crée pour le modèle géométrique de véhicule. Un nœud est représenté par
un cercle noir. Une vue de l’aspect associé à chaque nœud est présentée.
4-6 une demi sphère de vue est représentée, la paramétrisation de cette sphère est présentée plus
précisément dans la section 4.2.3. Chaque vue de l’objet correspond alors à un point de la sphère
de vue, et un aspect 3D correspond à une portion de cette sphère.
Les graphes d’aspect permettent une représentation théorique très précise des objets, cependant leur utilisation pratique reste limitée pour plusieurs raisons :
• Leur complexité de mise en oeuvre les limite à des cas simples.
• Une faible différence de la géométrie d’un objet peut affecter complètement la structure du
graphe.
• Un nœud peut représenter un aspect de l’objet qui a une très faible probabilité d’être vu.
• Plusieurs aspects considérés comme étant différents lors de la construction du graphe,
peuvent représenter le même objet à quelques détails près, et qui par conséquent ne seront
pas discernables pour des conditions de prise de vue réelles.
Selon [Eggert et al.93] ces trois derniers points proviennent du fait que les graphes sont en
général créés pour des objets à résolution idéale, et ne prennent pas en compte les conditions de
prise de vues réelles. Ils proposent d’intégrer cette représentation par graphe d’aspect dans un
espace d’échelle afin de régler certains problèmes de modélisation qui viennent d’être répertoriés.
Étant donnée la modélisation géométrique simple que nous avons adoptée pour les véhicules et
qui correspond aux informations géométriques qu’il est possible d’extraire des séquence réelles cf.
chapitre 4-4, notre contexte est particulièrement adapté à l’utilisation des graphes d’aspect. Nous
nous proposons de nous baser sur ceux-ci ainsi que sur la terminologie utilisée dans ce domaine
afin d’étudier l’influence des paramètres de prise de vue sur la capacité de reconnaissance de
notre système. Cette étude a pour but de guider notre démarche dans le cadre réel. L’objectif
est de déterminer dans quelle mesure il est possible de comparer deux véhicules vus sous des
aspects différents.
63
4.2.2
Étude des points de vues privilégiés.
L’objectif est de définir un indice de qualité de reconnaissance pour un couple de véhicules à
comparer en fonction de leurs conditions de prise de vue. Nous nous limitons ici au cas de
véhicules vus à la même résolution. Il est nécessaire de définir les variables qui définissent la
pose d’un véhicule afin de définir les critères permettant d’évaluer la qualité d’un modèle. Ce
sera l’objet des deux prochaines sous-sections.
4.2.3
Paramètres de pose
La vue d’un objet est complètement caractérisée par la position de la caméra sur la sphère de
vue. Une vue est donc déterminée par trois paramètres, la résolution (le rayon de la sphère),
l’orientation (l’azimut), et l’incidence (élévation), le système de coordonnées utilisé est représenté
sur la figure 4-6. L’orientation (ou azimut) θ varie de 0 à 2π et l’élévation (ou incidence) α de 0
à pi/2. La figure 4-7 présente plusieurs vues d’un véhicule à différents azimuts et incidences. La
résolution est, en toute rigueur, une notion locale qui dépend de la distance du point 3D observé
à la caméra et des paramètres internes de celle-ci, en particulier la focale. En considérant que
toutes les vues sont obtenues avec la même caméra on peut évacuer l’influence de la focale.
De plus pour des distances d’observation assez grandes devant la dimension des objets on peut
considérer que la résolution est uniforme sur l’ensemble du véhicule. Sous ces hypothèses on peut
donc ramener la résolution à un unique paramètre scalaire que l’on représente par le rayon de la
sphère de vue.
Figure 4-6. A gauche : Le système de coordonnées. Une position de caméra (en vert sur l’image) est
déterminée par trois paramètres : la distance proportionnelle à la résolution r de l’objet, l’azimut (ou
orientation) θ, et l’élévation (ou incidence) α. A droite : Une représentation de la sphère de vue, une
position sur la sphère détermine une unique position de la caméra, et par conséquent une vue de l’objet.
Dans la suite nous appellerons O le véhicule requête. Une vue de cet objet sera notée
V (O, θ, α, r), et un aspect de celui-ci sera noté An , n correspond à une portion de la sphère
de vue. L’ensemble des vues canoniques des faces associées à la vue V (O, θ, α, r) du véhicule, est
noté C(O, θ, α, r) = {Ck (O, θ, α, r), k ∈ {faces visibles}}, où Ck représente la vue canonique de
la face k . La comparaison de la requête O avec une observation Oobs est effectuée en calculant la
64
Figure 4-7. Exemples de vues d’un véhicule pour différentes positions sur la sphère de vue (représentées sur
la figure du haut). à incidence fixée en bleu et à azimut fixée en rouge. Quelle vue permet de discriminer
au mieux les véhicules ?
65
similarité S qui sera définie en (4.4) sur les vues canoniques des deux véhicules. Pour alléger les
notations les paramètres de prise de vue seront résumés par θ = (θ, α, r). Le score de similarité
se note alors S = S(V (O, θ), V (Oobs , θ obs )), où θ (resp θobs ) est la pose de O (resp. Oobs )
4.2.4
Critère d’évaluation de la qualité d’un modèle.
Avec des objets relativement simples comme les véhicules à la résolution de travail considérée les
changements d’aspects correspondent à une apparition/disparition de face. Le graphe d’aspect
peut alors être directement représenté en rapportant le nombre de faces visibles sur la sphère
de vue comme représenté sur la figure 4-8 à gauche. Cette représentation permet de schématiser
le graphe d’aspect : chaque nœud du graphe correspond à une zone de couleur uniforme, et
chaque arc à une limite entre ces zones. Notons qu’elle ne peut pas être généralisée à des objets
quelconques puisque deux aspects distincts peuvent comporter un même nombre de faces visibles
et donc correspondre à la même couleur.
Comme l’ont fait remarquer [Eggert et al.93], le graphe d’aspect n’est en général pas très
représentatif de la réalité, en effet pour certaines vues il existe des faces à peine visibles (celles
qui ne comportent que quelques pixels dans l’espace image), et donc qui ne peuvent pas être
exploitées. Si on élimine les faces trop peu résolues pour la représentation nous obtenons la
sphère de droite sur la figure 4-8.
Figure 4-8. Représentation des différents aspects sur la sphère de vue. A gauche : représentation du
nombre de faces visibles sur le modèle . A droite : Représentation du nombre de faces visibles dont la
surface est supérieure à 400 pixels. Le nombre de face visibles est défini par la couleur sur le graphe selon
l’échelle donnée à droite. La sphère de gauche correspond au cas idéal dans lequel toutes les faces même
peu résolues sont utiles, le nombre faces visibles varie alors assez peu sur l’ensemble de la sphère.
A partir de cette sphère de vue on peut se faire une idée des vues à privilégier pour la reconnaissance. Une idée simple consiste à pondérer chaque face par son nombre de pixels. Cet indice
de qualité exprime le fait que pour une texture homogène la performance de la reconnaissance
est essentiellement liée au nombre de pixels visibles. Cet indice de qualité est illustré sur la figure
4-9.
Le calcul de cet indice est détaillé ci-dessous. La surface apparente d’une face dans l’image
dépend de la taille de la face dans le repère modèle, et des paramètres de CPDV. Elle est obtenue
en projetant le polyèdre définissant la face du référentiel caméra dans le référentiel image. Les
66
Figure 4-9. Représentation de la qualité des vues, en se basant sur des critères géométriques. Celle-ci est
défini par la somme du nombre de faces visibles pondérée par leur surface dans l’espace image pour une
vue donnée.
paramètres de la face dans le repère caméra sont : la forme, la position, et la normale dans
l’espace caméra. La surface apparente maximale nim correspond à la vue fronto parallèle, c’est à
−
→
−
→
dire celle pour laquelle N i est parallèle à l’axe de visée de la caméra N cam . Si l’on fait l’hypothèse
que l’observateur est suffisamment loin de l’objet alors on peut considérer que la caméra est à
la même distance de tous les points de la face. La surface apparente ni peut alors s’exprimer
−
→
→
−
en fonction de nim . L’opposé du produit scalaire entre N cam et N i correspond au coefficient de
proportionnalité entre ni et nim . Si ce produit scalaire est positif alors la face n’est pas visible).
La surface apparente d’une face est alors donnée par :
→
− −
→
ni = (− < N i , N cam >)nim
(4.1)
−
→ −
→
Notons que le cas < N i , N cam >≥ 0 correspond à une face cachée.
Le seuillage sur la surface apparente pour éliminer les faces peu résolues peut être effectué
−
→ −
→
directement sur le produit scalaire < N i , N cam >, une face est alors visible si :
−
→ →
−
< N i , N cam >< −vmin
(4.2)
L’équation (4.1) peut alors s’écrire
(
−
→ →
−
−
→ −
→
(− < N i , N cam >)nim si < N i , N cam >< −vmin
ni =
0
sinon
vmin est une valeur correspondant au cosinus de l’angle maximum autorisé entre l’axe de visée
de la caméra et la normale à la face. La qualité q d’un modèle est alors définie pour toutes les
faces visibles par :
q=
X
ni
(4.3)
i∈faces visibles
Si l’on se base uniquement sur des considérations géométriques, il est relativement aisé de
définir les vues privilégiées pour la reconnaissance. Dans le cas réel, il est nécessaire que la
radiométrie des véhicules entre en ligne de compte, ce qui complique le problème.
67
4.3
Règle de décision adaptative
L’objectif de cette section est de construire une règle de décision paramétrée par les conditions de
prise de vue. Lors des expériences préliminaires présentées dans la section 4.1 nous avons constaté
l’influence prédominante des angles de prise de vue sur les valeurs des scores de similarité et donc
sur la fiabilité de la comparaison des modèles polyédriques texturés. Dans le cadre de cette étude
nous fixons l’angle d’incidence α et la résolution r. La vue de l’objet O sera alors notée V (O, θ),
θ représentant la pose θ = {α, θ, r}.
4.3.1
Seuillage adaptatif
Le principe de l’approche est d’estimer la distribution intra-classe des mesures de similarité
générées par un modèle construit sur une présentation d’objet donnée. Rappelons que C(O, θ)
désigne l’ensemble des vues canoniques des faces d’un objet O vus sous l’angle θ. Si on effectue
une nouvelle observation du même objet sous l’angle θ obs , on peut extrapoler un nouveau modèle
C(O, θ obs ). La similarité entre ces 2 modèles est mesurée par le score :
S(C(O, θ), C(O, θ obs ))
Lorsque l’écart angulaire δθ = θ − θ obs varie l’ensemble des valeurs atteintes par ce score est
appelé distribution intra-classe. Supposons maintenant que l’observation vue sous θ obs concerne
un objet Oobs différent de O. Le score s’écrit :
S(C(O, θ), C(Oobs , θ obs ))
Ce score correspond à une valeur de la distribution inter-classe. On cherche à définir une règle
de décision par seuillage du score de similarité selon un seuil λ(O,θ) (δθ) variable en fonction de
l’écart angulaire δθ, mais caractéristique d’un objet O et d’une orientation de référence θ.
Idéalement le seuil λ(O,θ) (δθ) devrait satisfaire les inégalités suivantes
S(C(O, θ), C(O, θ obs ) ≤ λO,θ (δθ) < S(C(O, θ), C(Oobs , θ observation )
(4.4)
pour tout objet Oobs différent de O, de sorte que la règle de décision S(C(O, θ), C(O, θ obs ) ≤
λO,θ (δθ) ⇒ O = Oobs soit satisfaite. On souhaite ensuite que ces inégalités restent valables pour
toute orientation de référence θ et tout écart angulaire δθ.
Il est difficile d’évaluer l’ensemble des scores inter-classe possibles puisse qu’ils dépendent de
la multitude de véhicules Oobs différents de O qui sont susceptibles de se présenter devant la
caméra. En revanche il est possible de réaliser de nombreuses observations du même véhicule et
donc d’accéder à un grand nombre de valeurs de la distribution intra-classe.
C’est pourquoi on souhaite baser le seuillage adaptatif sur une estimation de la distribution
intra-classe. Sur la figure 4-10 nous présentons plusieurs exemples de dispersion intra-classe
obtenus empiriquement pour deux paramètres d’orientations différents. La vignette présente en
haut des courbes représente l’orientation du modèle. Deux remarques peuvent être faite à partir
de ces courbes.
• La dispersion suit globalement le même profil quel que soit le véhicule choisi comme modèle,
à un facteur d’échelle près. Cette remarque reste vraie pour toutes les orientations θ du
modèle.
• La structure des courbes est globalement cohérente avec les changements d’aspect - apparition/disparition des faces.
68
Figure 4-10. Plusieurs exemples de distributions intra-classe pour deux orientations du modèle de référence
et différents véhicules. La vignette en haut à gauche de chaque série de courbes représente l’orientation
de référence choisie. Chacune des courbes correspond aux scores calculés pour les observations du même
véhicule vu sous une différence d’orientation δθ paramétrée en abscisse. On peut voir que chaque série
de courbes suit globalement le même profil, à un facteur d’échelle près.
Ces deux remarques nous ont poussé à étudier des méthodes de modélisation de la distribution
intra-classe, études qui feront l’objet de la section suivante. Si l’on estime cette distribution assez
précisément il est alors possible de positionner le seuil λ de manière à séparer les distributions
(4.4) comme suit :
λO,θ (δθ) = S(C(O, θ), C(O, θ obs ) + constante.
(4.5)
La constante présente dans l’équation 4.5 permet de tenir compte des imprécisions de pose
et des changements de conditions d’illumination non gérés lors de l’estimation de la dispersion.
La dépendance du seuil λO au modèle O permet de gérer le facteur d’échelle qui distingue les
distributions intra-classe de véhicules différents, cf. figure 4-10.
4.3.2
Estimation de la fonction de distribution du score
Nous nous intéressons à la création du profil de dispersion dans deux cas de figure, si on dispose ou
non de données d’apprentissage. Nous présentons tout d’abord nos données utilisées pour l’étude,
avant de détailler la création du profil de dispersion compte tenu des données disponibles. Nous
devons maintenant estimer la distribution intra-classe D pour un modèle O vus sous les CPDV
θ. La première étape consiste à estimer le profil de cette distribution, c’est à dire à estimer
les variations de la distribution en fonction des paramètres de prise de vue, on appellera cette
distribution la dispersion intra-classe dans la suite DO,θ (δθ) = S(C(O, θ), C(O, θ + δθ)).
4.3.2.1
Présentation des données utilisées pour l’étude
Nous nous plaçons dans un cadre où les conditions de prises de vues sont maîtrisées pour modéliser
empiriquement la dispersion intra-classe D. Pour cela nous utilisons des séquences d’images prises
sur une table tournante, dont quelques exemples sont présentés sur la figure 4-11. La calibration
des paramètres extrinsèques de la caméra est calculée pour chaque image de la séquence par le
69
suivi d’une mire. On obtient ainsi une collection d’images de véhicules à orientations variées et
connues. Les conditions d’illumination ne sont pas contraintes.
Figure 4-11. Exemples d’acquisitions de modèles sur la table tournante. Seule l’orientation des véhicules
par rapport à la caméra varie dans les séquences. Les conditions d’illuminations ne sont pas contraintes,
les véhicules présentent des reflets sous certains angles de vue. Les quatre mires de calibration disposées
aux quatre coins de la table permettent de calculer les paramètres extrinsèques de la caméra.
4.3.2.2
Estimation de la dispersion D à partir de données d’apprentissage
Dans cette section, nous supposons que les données d’apprentissage permettent de disposer d’une
fonction de dispersion de référence DOref mesurée pour un véhicule donné Oref . Le but est alors
de déduire DO de cette mesure DOref pour n’importe quel autre véhicule O. Comme on peut
le voir sur la figure 4-12, les dispersions empiriques DO mesurées pour l’ensemble des véhicules
utilisés (représentées par des croix) suivent essentiellement les mêmes variations que le profil de
dispersion de référence représenté en traits pleins.
Dans la section 4.3.2.4 nous montrons que la différence de comportement des dispersions
peuvent être en majeure partie compensées par une simple mise à l’échelle, i.e. que DO ' βDOref ,
où β est un paramètre d’échelle dont l’estimation sera présentée en 4.3.2.5 et 4.3.2.6.
4.3.2.3
Modélisation géométrique de la dispersion D
Dans cette section nous supposons que nous ne disposons d’aucune séquence d’apprentissage,
ou que les données d’apprentissage présentent une exploration angulaire trop faible pour créer
un profil de dispersion complet pour un véhicule de référence comme précédemment, ce qui
est la cas le plus courant dans la pratique. Avec cet ensemble d’informations limité il n’est
plus possible d’estimer directement un profil de référence. Nous proposons alors une approche
basée sur l’exploitation des données géométriques du modèle polyédrique pour passer du graphe
d’aspect présenté en 4.2 à un profil de dispersion.
Le principal avantage de cette méthode est de permettre d’estimer le profil de la dispersion
intra-classe sans qu’il soit nécessaire d’effectuer des acquisitions préliminaires. Pour détailler
la création du profil, il faut revenir au processus de mise dans la vue canonique C(O, θ) (resp.
C(Oobs , θ obs )), de deux véhicules à comparer O (resp Oobs ) vu sous les CPDV θ (resp. θ obs ).
Pour chaque face k du modèle polyédrique visible dans les deux poses θ et θ obs , le calcul de
la similarité S consiste à projeter tous les pixels de la face dans la vue canonique pour chaque
véhicule, puis à calculer la similarité. La qualité de la comparaison pour une face k vue sous
deux orientations θ et θ obs dépend de la résolution de celles-ci dans le repère image, et plus
précisément de la différence d’orientation entre les normales aux faces à comparer. On note
70
Figure 4-12. Comparaison de la dispersion D pour différents véhicules avec une dispersion de référence
Dref . Une image du modèle de référence prise à orientation θ 0 = 45◦ est présentée à gauche La dispersion
de référence Dref est représentée en traits pleins. Chaque couleur représente un véhicule différent.
−
→
−
→
N i (θ) (resp. N i (θ obs )) la normale à la face i pour les modèles O et Oobs . Pour une face on
définit alors la qualité comme une fonction de la normale aux faces dans le repère caméra, en
reprenant les idées de surface apparente utilisées pour définir un indice de qualité à l’équation
(4.2.4)
Le profil global est obtenu à partir de l’ensemble des faces pondérées par leur importance
dans le modèle global, c’est-à-dire par la surface qu’elles occupent dans le repère image. Notons
ni (θ 1 ) le nombre de pixels de la face i sous la pose
P θ 1 . La proportion d’une face dans l’ensemble
du modèle est donnée par ci = ni /n avec n = i ni . En pondérant l’ensemble des faces par la
proportion de pixels visibles ci nous obtenons finalement une estimation de la dispersion D en
tenant compte de la symétrie que présentent les véhicules :
−
→
−
→
D(θ, θ obs ) = sumi∈faces visibles (1− < N i (θ), N i (θ obs ) >)ci
Un exemple de résultat est présenté sur la figure 4-13. On observe la bonne adéquation entre
le profil de dispersion empirique (en bleu) et celui calculé sur des considérations géométriques
(en rouge). L’adéquation observée fournit une première justification a posteriori de l’hypothèse
de la partie 4.2 sur le lien entre la reconnaissance d’un objet et la notion de surface apparente
des faces qui le constituent.
4.3.2.4
Mise à l’échelle du profil
Les deux méthodes présentées nous fournissent une estimation du profil de la dispersion intraclasse. L’étape suivante consiste à le mettre à l’échelle ce profil pour mieux approcher la dispersion et en particulier pour prendre en compte l’apparence radiométrique propre à chaque
véhicule.
Dans les sections qui suivent nous allons montrer que conformément à ce qu’on pouvait supposer sur la figure 4-10 le profil de dispersion peut être adapté au véhicule considéré par une mise
à l’échelle.
71
1
profil values
similarity score
1000
500
0
−150
−100
−50
0
θ’0−θ0
50
100
150
0
Figure 4-13. Comparaison de la dispersion D pour un objet O et pour l’orientation de référence θ 0 = 45◦
(croix rouges) et le profil normalisé (croix bleues) calculé par le profil géométrique de l’équation 4.6. Les
deux courbes ne sont pas représentées à la même échelle.
La phase de mise à l’échelle doit être effectuée à partir des informations dont on dispose sur
l’objet considéré c’est à dire son modèle C(O, θ) à l’orientation de référence θ et les informations
de détection/suivi récoltées sur la séquence de référence avec les techniques présentées au chapitre
3. Lorsque le véhicule évolue dans le champ de la caméra son orientation varie de θ−δθ1 à θ+δθ2 ,
avec les explorations angulaires δθ1 et δθ2 prenant des valeurs faibles voire nulles (dans le cas
où l’orientation du véhicule ne change pas au cours du suivi). Nous pouvons donc obtenir des
informations locales sur la dispersion intra-classe. C’est en utilisant ces informations locales de
dispersion autour de θ que nous allons mettre à l’échelle les courbes de dispersion. En effet en
observant localement la courbe de dispersion autour de l’orientation de référence, cf. figure 4-14,
il apparaît des différences d’échelles même pour les valeurs faibles de δθ.
Nous nous basons sur ce comportement à l’origine pour mettre les profils à l’échelle. Dans
un premier temps nous présentons l’approche dans le cas où nous disposons de suffisamment
d’informations locales autour de l’orientation θ, c’est-à-dire lorsque les explorations angulaires
δθ1 et δθ2 sont non nulles.
4.3.2.5
Pondération par ajustement aux données locales de dispersion
L’orientation de référence provient d’une séquence dans laquelle le véhicule évolue. Si la variation
angulaire de la pose du véhicule lors du suivi (chapitre 3.4) est suffisamment importante, on
dispose d’informations locales qui vont nous permettre d’adapter le profil de référence à l’objet
considéré. Le procédé est illustré sur la figure 4-15. Les dispersions intra-classe correspondant à
deux véhicules sont représentées pour des valeurs faibles de δθ (de −10◦ à 10◦ ). L’objectif est de
pondérer un des profils de dispersion pour le superposer à l’autre. Pour ce faire nous utilisons
une régression linéaire pour a1 < |δθ| < a2 . Typiquement a2 vaut entre 5 et 10 ◦ , a1 permet
72
Figure 4-14. Zoom de la dispersion intra-classe pour différents modèles. La courbe de droite correspond
à la partie de la dispersion pour des variations angulaires faibles δθ (de −10◦ à 10◦ ) entre le modèle et
l’observation.
d’éliminer les valeurs très proches de zéros pour lesquelles le comportement de la courbe n’est
plus vraiment linéaire (typiquement a1 est fixé à 1 degré), ces valeurs ont été obtenues de manière
empirique, (choix d’une modélisation au premier ordre, et choix de a1 et a2 ), et conduisent à de
bons résultats, comme on peut le voir sur la courbe de droite de la figure 4-15, où la courbe de
dispersion pondérée (en vert) se superpose très bien avec le profil de référence (en rouge).
Figure 4-15. Exemple de variation locale du score de similarité pour un modèle se trouvant à orientation
θ 0 = 45◦ . En bleu sur la courbe de gauche : la variation locale de la similarité pour l’objet considéré (ici
une Renault Modus). En rouge : Le profil de distribution Dref (obtenu pour une VW golf ). En vert sur
la courbe de droite : la variation locale de la similarité pour l’objet considéré après mise à l’échelle.
Nous présentons les résultats de mise à l’échelle sur la figure 4-16 : on constate que les profils
mis à l’échelle se superposent bien avec la vérité terrain quelque soit le mode d’obtention du
profil, par apprentissage, cf. 4.3.2.2, ou modélisation géométrique, cf. 4.3.2.3.
73
1200
1
1000
1000
similarity score
profil values
similarity score
800
600
500
400
200
0
−150
−100
−50
0
θ’0−θ0
50
100
150
0
0
−150
−100
−50
0
θ’0−θ0
50
100
150
Figure 4-16. Comparaison de la dispersion D pour différents véhicules avant ( à gauche) et après ( à droite)
mise à l’échelle des profils de dispersion de chaque véhicule par rapport au profil de référence (en traits
plein). Le profil D présent parmi les courbes de la première ligne ont été obtenus en utilisant la méthode
par apprentissage. Le profil de la seconde ligne a été obtenu par des considérations géométriques.
74
4.3.2.6
Mise à l’échelle par calcul de perturbations
Dans le cas où les changements d’aspect sont trop faibles (par exemple lorsque le véhicule se
déplace en ligne droite dans la séquence de référence), la variation locale de la distribution n’est
plus disponible. Pour gérer ce type de cas nous allons estimer cette variation locale à partir d’un
calcul de perturbations. Pour illustrer notre méthode nous présentons brièvement l’approche
développée dans [Jurie et al.02] utilisée dans le cadre du suivi de cible.
4.3.2.6.1
Un exemple dans le cadre du suivi de cible
Notons µ les paramètres de pose de la cible à suivre. A l’instant t, < = {x1 , . . . xN }
représente l’ensemble des N pixels qui composent la région occupée par la cible. Le mouvement
relatif de la caméra par rapport à l’objet est modélisé par une fonction paramétrique f .
I(f (<, µ0 ), t0 ) est l’apparence de référence de la cible obtenue au temps t0 . Si sa pose à l’instant
t est µt alors son apparence s’écrit I(f (<, µt ), t). Suivre un objet à l’instant t signifie alors, dans
le cas idéal, trouver µt tel que I(f (<, µt ), t) = I(f (<, µ0 ), t0 ). La pose µt de l’objet à l’instant t
peut alors être obtenue en minimisant l’erreur O(µ) :
O(µt ) = kI(f (<, µ(t)), t) − I(f (<, µ0 ), t0 )k
(4.6)
[Hager et al.98] propose une méthode pour obtenir µt+τ en fonction de µt en utilisant le
développement suivant :
µt+τ = µt + A(t + τ )(I(f (<, µ0 ), t0 ) − I(f (<, µt ), t + τ ))
(4.7)
τ représente le pas temporel inter images, et A(t + τ ) est une matrice qui joue le rôle de matrice
jacobienne. Si on note δµ = µt+τ − µt et δi = I(f (<, µ0 ), t0 ) − I(f (<, µt ), t + τ ) on a alors
δµ = Aδi
(4.8)
La variation de l’apparence de la cible δi est donc une fonction linéaire de la différence de
pose δµ et par conséquent de la pose µ .
Le calcul de A nécessite le calcul des gradients image par rapport aux paramètres de f , ce qui
représente un coût de calcul important. [Hager et al.98] propose une méthode d’approximation
jacobienne pour calculer A. [Jurie et al.02] proposent quant à eux une méthode appelée
Approximation d’hyperplan pour calculer A. Elle consiste à générer Np petites variations
µ00 = µ0 + δµ autour de µ0 , de calculer pour chacune d’entre elles la variation d’apparence
δi = I(f (<, µ0 ), t0 ) − I(f (<, µ00 )), t0 ), afin d’estimer un modèle linéaire δµ = Aδi. Cette équation lui permet de faire le lien entre la variation d’apparence et les paramètres de pose, et ainsi
de trouver les paramètres de pose qui minimisent la différence d’apparence entre deux instants,
i.e. d’effectuer le suivi de l’objet.
Dans notre cas nous connaissons la pose des objets et voulons déterminer son impact sur
la variabilité de l’apparence. De la même manière que [Jurie et al.02], nous allons appliquer
de petites perturbations δθ autour de l’orientation θ du modèle pour estimer la variabilité de
l’apparence.
4.3.2.6.2
Application à notre cas
La variabilité de l’apparence d’un modèle est estimée en simulant un changement de
75
vue par un calcul de perturbation sur la projection du modèle texturé autour de θ. Pour un
objet O, la vue canonique Ck (O, θ) d’une face k est obtenue en appliquant à l’image de la face
sous l’orientation θ une transformation f Ck (O, θ) = I(f (Rk , θ)) où, en respectant les notations
de 4.3.2.6.1, Rk désigne les pixels appartenant à l’image de la face k. La vue canonique pour
θ 0 = θ + δθ sera donnée par Ck0 = I(f (Rk , θ 0 )). Si on applique un développement limité au
premier ordre on obtient (4.9) :
δCk = F (θ)δθ
(4.9)
Où F est la matrice jacobienne.
En respectant la technique de [Jurie et al.02], on applique des petites perturbations δθ et
on observe la variation d’apparence des vues canoniques pour toutes les faces du modèle. Ces
variations sont évaluées numériquement par le score cumulé sur les faces S(C 0 , C). Sur la figure 417, nous pouvons voir à gauche les effets de la perturbations δθ sur le modèle polyédrique projeté,
et à droite l’impact de celui-ci sur la variation d’apparence pour des perturbations inférieures
à 10◦ simulé pour plusieurs véhicules, chaque couleur représentant un véhicule différent. Une
régression linéaire est ensuite appliquée de la même manière que dans la section 4.3.2.5 pour
adapter les données du modèle au profil de référence.
Figure 4-17. A gauche : Effet des perturbations δθ sur la projection du modèle polyédrique. A droite : la
variation locale de l’apparence simulée par perturbations pour six véhicules différents.
4.3.3
Conclusion sur la construction d’une règle de seuillage adaptatif
Une fois le profil de dispersion calculé pour l’objet O et mis à l’échelle, il ne reste plus qu’à régler
la constante additive en fonction des performances attendues pour l’algorithme pour obtenir la
règle de seuillage λ(O,δθ) (4.5). Se reporter à l’annexe E pour plus de précisions sur le réglage de
cette constante.
La construction du profil de distribution peut ainsi être menée de deux manières différentes,
et le calcul de pondération/mise à l’échelle peut lui aussi être réalisé de deux manières différentes,
ce qui nous donne au total quatre règles de seuillage adaptatives possibles, qui sont résumées
ci-dessous :
76
• Utilisation d’un profil de référence Dref généré à partir d’un modèle d’apprentissage,
pondération par la variation locale (représenté en noir sur la figure 4-18 de la section
4.5).
• Utilisation d’un profil de référence Dref généré à partir d’un modèle d’apprentissage,
pondération par calcul de perturbations (représenté en jaune sur la figure 4-18 de la section
4.5).
• Utilisation d’un profil Dgeom estimé à partir de considérations géométriques, mise à l’échelle
par la variation locale (représenté en vert sur la figure 4-18 de la section 4.5).
• Utilisation d’un profil Dgeom estimé à partir de considérations géométriques, mise à l’échelle
par calcul de perturbations (représenté en bleu sur la figure 4-18 de la section 4.5).
La règle de seuillage ayant été définie, il faut maintenant définir la mesure de similarité S, ce
qui est l’objet de la prochaine section.
4.4
Choix du score de similarité
Après la mise sous référentiel commun, la similarité d’un modèle et d’une observation peut être
calculée directement sur l’apparence des vues communes. De nombreuses méthodes de calcul
de similarité denses du type corrélation ont été développées pour mettre en correspondance des
couples d’images. Les domaines d’applications sont variés, on peut citer en guise d’exemples :
• Le recalage d’images [Zitova et al.03, Brown92].
• La reconnaissance d’objets [Puzicha et al.97, Kawanishi et al.04].
• L’estimation de mouvement [Mulligan et al.00, Reddy et al.04].
• Le suivi d’objets [Matthews et al.03, Baker et al.04].
• L’indexation vidéo [Porter et al.03].
La simplicité de mise en oeuvre de ces techniques de corrélation les a rendues très populaires
en dépit des inconvénients liés à leur utilisation : manque de robustesse face aux occultations,
sensibilité aux variations de pose et d’illumination, faible pouvoir de discrimination dans le cas
de zones peu texturées, . . . . Ces restrictions ont poussé les utilisateurs à modifier les calculs
classiques pour les adapter à la spécificité de leur contexte d’étude, par conséquent il existe une
multitude de techniques de corrélation. La référence [Aschwanden et al.92] dresse un état de l’art
de ces techniques et présente différents critères d’évaluation. Plus récemment [Chambon et al.02]
a répertorié et évalué une quarantaine de mesures de similarité dans le cadre de la mise en
correspondance de paires de vues stéréoscopiques. S. Chambon a ainsi établi un classement de
ces métriques de comparaison. Celles-ci peuvent être séparées en cinq grandes familles :
• Les mesures de corrélation croisées. Cette famille regroupe les mesures de corrélation.
La mesure classiquement utilisée est la corrélation croisée normalisée centrée ZNCC (Zero
mean Normalized Cross Correlation), qui vaut pour deux images I1 et I2 :
ZN CC =
X (I1 (x, y) − Ê(I1 )(I2 (x, y) − Ê(I2 )))
x,y
σ̂I1 σ̂I2
77
Où Ê(I) est la moyenne empirique et σ̂I l’écart type empirique de l’imageI
• Les statistiques classiques de distributions. On y trouve les calculs de variances, de somme
de différences . . . Une technique classique de cette famille est le calcul de la somme des
différences au carré SSD (Sum of Squared Difference) :
SSD =
X
(I1 (x, y) − I2 (x, y))2
(4.10)
x,y
• Les mesures effectuées sur les gradients. Il s’agit de mesure pour lesquelles on ne prend
plus en compte les niveaux de gris des images mais leur dérivée.
• Les mesures non paramétriques. Il s’agit des mesures du type χ2 , mesures de rang, recensements . . .
• Les méthodes robustes. Cette famille comprend les mesures effectuées en éliminant les
données aberrantes, par exemple en remplaçant dans (4.10) la norme quadratique par une
fonction (φ−fonction) qui pénalise moins les valeurs aberrantes de la distribution.
[Chambon et al.02] présente un corpus de test composé d’images réelles et de synthèse pour
évaluer la qualité des mesures de similarité, en se focalisant plus particulièrement sur la gestion
des occultations. Son travail est un approfondissement du protocole d’évaluation proposé par
[Scharstein et al.01] qui fait référence au sein de la communauté de stéréovision. Dix critères
d’évaluation sont finalement proposés parmi lesquelles on trouve : la précision, la robustesse face
aux occultations, les performances dans les zones sans occultations. Sur sa base test les méthodes
issues de la famille des statistiques classiques, comme par exemple la somme des différences
absolues (SAD) et la somme des différences absolues centrées (ZSAD) donnent de bons résultats
lorsque les images ne présentent pas d’occultations. En présence d’occultations les méthodes
robustes donnent les meilleurs résultats. Pour notre cadre d’application nous avons besoin d’une
méthode de similarité robuste aux variations d’illuminations (les objets manufacturés tels que
les véhicules étant particulièrement soumis aux problèmes de reflets), nous nous sommes donc
tournés vers des méthodes de la famille des statistiques classiques de distributions que nous avons
adapté pour améliorer leur robustesse. L’élimination d’un quantile des scores aberrants lors du
calcul de similarité vise à éliminer les parties du véhicule affectées par des reflets. De plus nous
effectuons un recalage local afin de minimiser les erreurs de pose pouvant intervenir lors de la
comparaison. Le score choisi est du type ZSSD (Zero mean Sum Square Difference) :
ZSSD(I1 , I2 ) =
1 X
((I1 (x, y) − Ê(I1 )) − (I2 (x, y) − Ê(I2 )))2
N
(4.11)
x,y∈F
où I1 et I2 sont les images à comparer, F est l’ensemble des coordonnées image sur lesquelles
est calculée la similarité, N le nombre de pixels dans F , et Ê(I1 ) et Ê(I2 ) sont les moyennes
empiriques de I1 et I2 sur F . L’élimination des reflets est obtenue, en éliminant un quantile
(10% dans la pratique) des scores les plus élevés ce qui nous donne en adaptant le score ZSSD :
h−1
ZSSDr (I1 , I2 ) =
1X 2
Γk
h
(4.12)
k=0
avec Γ20 , . . . , Γ2N les résidus de 4.11 classé par valeur absolue croissante. On ne garde qu’une
proportion de 90% des scores les plus faibles (ce qui représente h valeurs dans l’équation 4.12).
78
Un recalage de la pose des objets est effectué avant la comparaison pour améliorer le score
par vue. Un des deux véhicules à comparer est choisi comme référence, et on optimise la pose du
second véhicule par minimisation de la différence d’apparence donnée par 4.11 par une technique
similaire à celle utilisée pendant l’étape de suivi, voir section 3.4. Le score global (intégré sur
toutes les faces) est obtenu en sommant tous les scores par face. Le score S de comparaison entre
une requête O vu sous les CPDV θ et une observation véhicule Oobs vu sous les CPDV θ obs est
finalement :
S(O, θ, Oobs , θ obs ) = 1/K
X
(ZSSDr (Ck (O, θ), Ck (Oobs , θ obs )))
(4.13)
k∈faces visibles
où K est le nombre de faces visibles dans les deux vues V (O, θ) et V (Oobs , θ obs ). La visibilité
d’une face est définie par le test présenté dans l’équation (4.2).
Dans la section suivante nous présentons et analysons les résultats obtenus pour les quatre
règles de seuillage construites en 4.3 avec la similarité présentée ci-dessus, que nous comparons
à la règle de seuillage classique (représentée en rouge dans la figure 4-18 de la section 4.5).
4.5
Résultats expérimentaux et interprétations
L’algorithme a été évalué sur des séquences prises sur table tournante pour une base de six
modèles. Les différentes stratégies de seuillage adaptatif sont comparées au résultats obtenus
pour un seuil simple (comparaison avec une constante). Chaque séquence contient environ 1000
images. Les performances des algorithmes sont évaluées à partir des courbes de performances
probabilités de détection en fonction de la probabilité de fausses alarmes Pd /Pf a , ou courbe
Receiver Operating Characterisitc (ROC), voir l’annexe E pour plus de détails, moyennées sur
toutes les orientations pour tous les véhicules. Le véhicule utilisé pour créer le profil de référence
Dref est bien entendu exclu de cette moyenne. La figure 4-18 présente les courbes ROC pour
les différentes règles de décision. Nous avons choisi le point de fonctionnement pd = 1 − pf a
, appelé Equal Error Rate EER, pour caractériser numériquement ces résultats. Les valeurs
obtenues sont synthétisées dans le tableau 4-20. On peut noter que les performances obtenues
surpassent la décision simple, quelle que soit la stratégie de construction de la règle. Les résultats
des différentes stratégies de construction sont équivalentes ce qui tend à valider les hypothèses
de modélisation géométrique présentées dans la section 4.3.2.3. On peut remarquer que la règle
de décision obtenue à partir de la stratégie purement géométrique donne de meilleurs résultats
que celle avec un profil de référence et peu d’information locale dans la séquence requête. La
variation locale de pose dans la séquence a donc une grande importance dans la description du
modèle, ce qui nous amène à penser que l’utilisation du contexte temporel des séquences pourrait
encore améliorer les performances.
Si on regarde les probabilités de détection pour une probabilité de fausse alarme nulle on
remarque que les résultats en utilisant un seuil classique sont meilleurs qu’avec les stratégies
de seuillage adaptatif. Pour expliquer ce phénomène nous présentons une distribution intra et
inter-classe sur la figure 4-21, en considérant plus particulièrement la zone entourée en rouge.
Dans cette zone la différence d’orientation entre le modèle et l’observation est très importante.
Ces conditions sont les plus défavorables étant donné le modèle d’objet et l’orientation modèle et
dans ce cas les scores intra et inter classe sont très proches. Par conséquent les deux distributions
ne peuvent être séparées. En appliquant un seuil constant les fausses alarmes induites par ce cas
de figure ne sont prises en compte que pour des valeurs de seuil élevées (on se trouve alors au
niveau des probabilités de détection et de fausses alarmes importantes). Par contre en appliquant
79
Figure 4-18. Courbes ROC sur les séquences table tournante, la probabilité de bonne détection est représentée en fonction de la probabilité de fausse alarme
Figure 4-19. points de fonctionnement EER Pd = 1 − Pf a choisi pour comparer les différentes stratégies.
80
seuillage simple (courbe rouge)
Dref + information locale (courbe noire)
Dref + calcul de perturbations (courbe jaune)
Estimation géométrique +
information locale (courbe verte)
Estimation géométrique +
calcul de perturbations (courbe bleue)
72.3
83.9
83.5
82.1
83.2
Figure 4-20. Performances obtenues pour le point de fonctionnement EER, présenté sur la figure 4-19.
un seuil adaptatif on prend en compte cette zone même pour des valeurs faibles de seuil, ce qui
entraîne des fausses alarmes pour des taux bas de probabilité de détection. Pour pallier ce
problème il suffit de limiter l’exploration angulaire pour la comparaison des véhicules, pour se
limiter aux cas pour lesquels ces véhicules sont discernables, ou introduire une politique de rejet
du type : Si la différence d’orientation des véhicules est supérieure à 90◦ , alors le système ne
peut pas décider.
Figure 4-21. Représentation de la dispersion intra et inter pour un exemple de modèle. En rouge : zone
pour laquelle les distributions ne sont pas discernables.
4.5.1
Robustesse à la variation d’orientation
Un des objectifs principaux qui a motivé la création des règles de seuillage adaptatives a été la
gestion de la variation de point de vue requête/observation qui n’est en général pas explicitée dans
les approches de la littérature. En pratique les descripteurs les plus utilisés dans la littérature
ne permettent que des variations de point de vue limitées [Moreels et al.07, Fraundorfer et al.05,
Mikolajczyk et al.05].
Il est donc intéressant de savoir si notre approche permet de gérer des variations de points de
vue importantes. Nous nous intéressons donc à l’évolution des performances de reconnaissance
en fonction de la variation modèle/observation.
Nous nous intéressons à l’évolution des performances en fonction de la variation angulaire
pouvant intervenir entre un modèle et une observation.
81
Pour cela, nous étudions l’évolution d’un point de fonctionnement de la courbe ROC en fonction de la variabilité d’orientation δθ entre l’orientation de référence modèle θ et l’orientation de
l’observation θ obs , δθ = θ − θ obs . Le point de fonctionnement choisi est le même que précédemment (EER). La figure 4-22 présente les résultats obtenus pour les différentes stratégies en fonction de la valeur maximum autorisée pour |δθ| : on ne sélectionne que les cas pour lesquels |δθ|
est inférieur à notre variable de contrôle. On observe sur cette courbe une décroissance plus
faible des performances lorsque que la variation angulaire maximale acceptée augmente pour les
stratégies de seuillage adaptatif, par rapport à la stratégie classique. La décroissance, lorsque
que l’on passe d’une variation angulaire maximale de 5◦ à une variation angulaire de 180◦ est de
l’ordre de 15% pour les stratégies de seuillage adaptatif contre 27% pour le seuil classique. On
peut remarquer que les performances de la stratégie par seuil classique décroissent même pour
des valeurs très faibles de variation d’orientation contrairement aux stratégies adaptatives, dont
les performances commencent à décroître à partir de variations angulaires maximum de 20◦ environ. [Moreels et al.07], lors de sa récente évaluation des combinaisons détecteurs/descripteurs
sur des objets 3D, conclut que les meilleurs d’entre eux donnent des résultats corrects pour des
variations de point de vue pouvant atteindre 25◦ -30◦ . C’est à partir de ces variations maximales
que l’on commence à voir apparaître une décroissance plus marquée sur nos courbes, mais les
performances restent néanmoins très correctes jusqu’à des variations angulaires beaucoup plus
importantes.
Figure 4-22. Évolution des performances des différentes méthodes en fonction de la variation angulaire δθ
maximale autorisée.
La courbe 4-22 a présenté les résultats pour une variation angulaire |δθ| inférieure à une valeur
maximale autorisée. Il est intéressant d’étudier l’évolution des performances en fonction d’une
plage de valeurs autorisées pour δθ, afin de déterminer l’évolution de manière plus précise. Alors
que la figure 4-22 revient à intégrer les performances sur plusieurs plages de valeur, la courbe 4-23
présente les performances en fonction de chaque plage angulaire choisie : nous avons échantillonné
les orientations possibles en 36 plages de 10◦ , θp < δθ < θp +10◦ pour θp ∈ [0◦ , 180◦ ]. On retrouve
sur cette courbe de meilleures performances pour le seuil adaptatif. Les performances sont les
82
plus basses pour des valeurs de variation angulaire de ±90◦ à ±100◦ ce qui semble cohérent
avec l’intuition que l’on pourrait se faire des résultats, puisque pour ces variations angulaires on
compare par exemple un véhicule vu de coté avec un véhicule vu de face ou de l’arrière. On
remarque une amélioration des résultats pour les valeurs élevées de variations à partir de ±140◦
ce qui est dû au fait que l’on prend en compte la symétrie de certaines faces (les faces latérales
du véhicule) lors des comparaisons. Cette amélioration des résultats est cependant limitée par le
fait que le modèle géométrique n’est pas parfaitement adapté à la forme du véhicule. Si la pose
du modèle polyédrique a été estimée pour un véhicule vu sous l’orientation θ, alors la projection
du modèle dans l’image sera plus précise pour cette orientation que pour son symétrique sous
l’orientation θ + 180◦ .
Figure 4-23. Évolution des performances des différentes méthodes en fonction de la plage angulaire de
variation δθ autorisée.
Nous nous sommes intéressés à la définition des vues privilégiées pour la reconnaissance dans la
section 4.2.4, à partir de considérations uniquement géométriques. Nous présentons maintenant
des résultats empiriques concernant ce point. Il ne s’agit plus ici de valider les approches développées, mais de déterminer s’il existe des points de vues privilégiés pour la reconnaissance. Pour
cela nous étudions l’évolution des performances pour le point de fonctionnement (pd = 1 − pf a )
(EER) en fonction de l’orientation θm du modèle, les résultats sont présentés sur la courbe 4-24
pour le seuil classique et pour une stratégie de seuillage adaptative. Ce n’est plus la valeur des
scores qui nous intéresse ici, mais les variations de la courbe. Les maxima de ces courbes correspondent aux points de vues qui devraient être privilégiés pour la reconnaissance. Cette courbe
est projetée sur la sphère de vue ce qui nous permet de déterminer visuellement les angles de
vues intéressants. Les deux meilleurs angles de vue et les deux pire sont présentés sur la figure
4-25. Dans le cadre de la vision active si l’on dispose d’un moyen de bouclage sur la position de
l’observateur (en modifiant la position du capteur si c’est possible, ou en adaptant la position du
porteur), il est judicieux de se placer sur la sphère de vue au niveau des points de vue privilégiés.
83
Figure 4-24. Performances en fonction de l’orientation du modèle. La courbe de gauche obtenue pour un
seuillage adaptatif a été projetée en niveaux de couleurs sur la sphère de vue présenté à droite.
Figure 4-25. En haut : Exemples des modèle les plus intéressants pour la reconnaissance. En bas : Les
modèles donnant les moins bonnes performances.
84
4.5.2
Étude d’un cas d’application réel
Nous présentons ici l’application des techniques proposées dans les sections précédentes dans un
cadre d’utilisation en conditions réelles dans une problématique de vidéo surveillance urbaine
multi-caméras. Deux images tirées des séquences utilisées sont présentées en Annexe B sur la
figure B-3. La variation d’aspect des véhicules entre les deux séquences est importante, ce qui
rend indispensable l’utilisation d’une requête 3D. Les champs des vidéos n’étant pas recouvrant,
un système d’appariement de pistes pour la fusion d’informations est nécessaire afin de combiner
automatiquement les informations des véhicules imagés par 2 caméras différentes. L’objectif est
d’utiliser une requête 3D construite sur une séquence pour la confronter à une base de requête
construite à partir des données de la seconde vidéo. Ce problème peut aussi être considéré
comme un problème d’appariement de séquences. En préliminaire les caméras ont été calibrées
de manière approximative, afin d’avoir accès aux informations géométriques 3D. La base utilisée
pour les tests est présentée sur la figure 4-26 pour la séquence 1 et sur la figure 4-27 pour la
séquence 2.
Figure 4-26. Base de modèles tirée de la séquence 1. Les véhicules encadrés sont vus par les deux caméras
Figure 4-27. : Base de modèles tirée de la séquence 2. Les véhicules encadrés sont vus par les deux caméras
Nous nous intéressons à deux scénarios de reconnaissance :
• Le premier scénario concerne l’appariement de séquences lorsqu’on dispose d’informations
a priori sur le réseau routier qui permettent d’assurer qu’un véhicule vu sur la séquence
1 doit se trouver parmi les véhicules vus sur la séquence 2. Autrement dit, on s’intéresse
uniquement aux véhicules imagés par les deux caméras (les véhicules encadrés sur les figures
4-26 et 4-27), donc on sait que le véhicule recherché se trouve parmi les candidats examinés
et il s’agit uniquement de déterminer le candidat le plus probable. Pour chaque requête
3D créée à partir de la séquence 1, on effectue une comparaison avec l’ensemble de la base
de modèles 2 afin de sélectionner le plus similaire. Les résultats sont présentés sur la figure
85
4-28 : les deux exemples de requêtes sont appariés avec le bon véhicule (le premier véhicule
de la colonne de droite). L’algorithme fournit des résultats corrects mais est sensible aux
variations globales d’illumination dans les séquences.
Figure 4-28. Résultats du premier scénario. A gauche : La requête. A droite : Les 3 véhicules les plus
proches au sens de la ZSSD robuste. Seul le meilleur score (deuxième colonne) est retenu.
• Le second scénario est plus général : on ne sait pas si le véhicule sélectionné dans une vidéo
est présent dans les candidats issus de l’autre séquence, il s’agit non seulement de trier les
candidats mais surtout de décider de la présence ou non du modèle. Nous appliquons alors
la règle de décision adaptative. Un prototype de dispersion « géométrique » est créé à
partir de la pose des modèles dans la base 2 (figure 4-27), puis mis à l’échelle à partir de la
variation locale de l’apparence pour chaque modèle. Le profil de dispersion est représenté
sur la figure 4-30. Un seul profil de dispersion de référence est nécessaire étant donné que
tous les véhicules de la base 2 sont vus sous la même orientation. La partie droite de la
figure 4-30 présente un exemple de variation locale, nécessaire à la mise à l’échelle du profil
de dispersion. Chaque score de comparaison entre une requête 3D et un modèle de la base
est alors comparé à un seuil dépendant de la différence d’orientation entre les véhicules.
Nous enrichissons ici la base issue de la séquence 1, avec des véhicules identiques vus sous
des orientations différentes afin de tester les capacités de reconnaissance aux changements
de points de vue (figure 4-29) . Les résultats sont présentés sur la figure 4-31. Idéalement
le système devrait renvoyer respectivement 4 et 3 véhicules de la base issue de la séquence
1 pour les deux premières requêtes de la base 2, et aucun véhicule pour les autres requêtes.
Notre système de reconnaissance retrouve bien tous les véhicules de la base 1, il n’y a
aucune non détection, par contre il a tendance à générer des fausses alarmes (les véhicules
encadrés en rouge sur la figure 4-31). Notons que dans la pratique le point principal est
de ne pas commettre d’erreurs de non-détection, mais que le problème des fausses alarmes
peut être réglé si on introduit un opérateur humain qui valide la décision finale.
4.6
Conclusion du chapitre
L’analyse des capacités d’extrapolation d’aspect d’un modèle d’objet nous a permis de définir
une règle de seuillage adaptative à partir d’une étude empirique de la variation intra-classe.
86
Figure 4-29. Base issue de la séquence 1 enrichie avec des véhicules vus sous plusieurs orientations.
Figure 4-30. Création de la règle de seuillage adaptative. A gauche : profil brut de dispersion intra classe
basé sur des considérations géométriques. A droite : image du véhicule et modèle filaire. A droite en bas
: variation locale d’apparence dans un intervalle de +/- 10 degrés autour de 0.
87
Figure 4-31. Exemples de résultats de l’algorithme de reconnaissance avec seuil adaptatif. A gauche : la
requête. A droite : en sortie de l’algorithme, les véhicules de la base 1 considérés comme similaires. Les
véhicules encadrés en rouge sont mal classés.
88
L’utilisation des courbes de dispersion intra-classe améliore sensiblement les capacités du système de reconnaissance. L’étude des performances en fonction des variations d’orientations nous
permet de conclure à la plus grande robustesse de notre approche face aux variations de point de
vue. De plus, les résultats obtenus nous ont permis de mettre en évidence l’existence de points de
vue privilégiés conformément à notre analyse qualitative préliminaire du problème de la gestion
des aspects 3D. Nous nous sommes uniquement intéressés à l’évolution des résultats en fonction
de l’azimut, ce qui fait que cette étude n’est pas exhaustive, il serait intéressant de conduire la
même approche sur les autres paramètres de prise de vue (résolution, incidence).
L’utilisation d’une mesure de similarité simple de type corrélation, associée à une gestion des
conditions de prises de vue par l’intermédiaire d’un modèle géométrique fournit donc de bons
résultats de reconnaissance. Néanmoins l’utilisation d’un critère géométrique pour adapter la
décision aux conditions de prise de vue ne permet pas de tenir compte de la radiométrie locale
des véhicules. En effet certaines zones du véhicule sont plus importantes que d’autres pour le
caractériser (par exemple la forme du contour des vitres arrières est plus discriminante que les
zones uniformes présentes sur le toit ou le capot). C’est typiquement le genre de détails qui sont
mis en évidence par l’extraction des points d’intérêt sur les images. Nous nous proposons donc
de nous intéresser à une méthode utilisant conjointement le modèle géométrique et les zones
d’intérêt issues de l’extraction de points saillants des séquences. Dans le prochain chapitre nous
présentons donc une approche basée sur l’extraction de caractéristiques locales sur les objets afin
de se focaliser sur les zones discriminantes des véhicules, à partir d’algorithmes basés sur des
techniques d’apprentissage.
89
Chapitre 5
Stratégie par patch
Dans le chapitre précédent, la stratégie de décision s’appuyait sur une comparaison globale des
faces du modèle polyédrique par calcul d’une corrélation entre valeurs des pixels. Elle considérait
équivalents tous les pixels d’une même face. Cette hypothèse simplificatrice souffre de plusieurs
défauts bien connus : elle ne permet pas de maîtriser pleinement les effets d’illumination tels que
reflets ou spécularités ; elle est sensible aux phénomènes d’occultation.
Les représentations d’objets ou d’images par structures éparses ont démontré leur capacité à
résoudre partiellement ces problèmes [Sivic et al.04, Agarwal et al.04]. L’objectif de ce chapitre
est de décrire une stratégie de décision utilisant des représentations d’objet par “patchs 3D”
capables de comparer des objets observés dans des poses différentes. Un effort particulier est
porté sur la construction d’informations tri-dimensionnelles robustes.
5.1
Démarche algorithmique
L’idée principale de la démarche consiste à se focaliser sur les caractéristiques discriminantes des
véhicules. Le principe est d’extraire un nombre important de descripteurs calculés sur des zones
d’intérêt locales, et de sélectionner ceux qui permettent de discriminer au mieux des couples de
séquences d’images. L’extraction et le choix des descripteurs discriminants tient compte de la
géométrie 3D des objets à comparer et de leur apparence locale.
Les descripteurs sont ensuite combinés en une règle de décision globale à deux niveaux : elle
compare localement les patchs 3D puis fusionne les résultats de ces comparaisons élémentaires.
Plusieurs approches conformes à ce schéma seront présentées.
Les techniques utilisées s’appuient sur des approches d’apprentissage statistique et sur une
exploitation de la géométrie des objets. Les données d’apprentissage sont composées de couples
de patchs munis de leurs informations 3D et étiquetés avec des labels “identique” ou “différent”.
La conception de l’algorithme se divise ainsi en trois tâches :
1. Constitution d’un ensemble de données d’apprentissage à partir des séquences d’images.
2. Construction d’une règle de comparaison locale.
3. Fusion des règles de comparaison locales en une de décision globale.
90
5.2
Caractérisation d’un véhicule par un ensemble de patchs 3D
L’objectif est ici d’extraire un ensemble de patchs munis de leurs paramètres de taille et de
position dans le repère modèle, à partir des informations de détection/suivi du véhicule dans
la séquence. L’idée est de sélectionner un ensemble de points d’intérêt stables tout au long de
la séquence, et de leur ajouter leurs informations 3D à partir de la connaissance de la pose du
véhicule.
5.2.1
Extraction des points d’intérêt
Les points d’intérêts sont extraits de chaque image par un détecteur du type Harris
[Harris et al.88], et suivis dans la séquence par corrélation aller-retour. Chaque point extrait
et suivi est appelé piste. Seuls les points suivis sur un nombre suffisant d’images (5 dans les
expérimentations) sont conservés. la figure 5-1 présente un exemple d’extraction et de suivi de
points sur une séquence comportant 35 images et 62 pistes validées.
Figure 5-1. Exemple d’extraction et de suivi de points. En bleu : Les pistes validées, en rouge : Les autres
pistes.
Cet exemple illustre un autre phénomène : les sauts de pistes, qui correspondent à des erreurs
d’association des points d’intérêts par l’algorithme de corrélation aller-retour. Pour résoudre ce
problème, nous pouvons analyser la projection des positions 2D des points de chaque piste dans
l’espace modèle et valider la cohérence en position de la piste au cours de la séquence. En effet, à
l’ensemble des positions 2D d’une piste dans le repère image doit correspondre un même point de
l’objet et par conséquent une unique position 3D dans le référentiel modèle. La figure 5-2 montre
un exemple de projection des points d’une piste dans l’espace modèle. L’erreur d’association y
apparaît clairement comme deux composantes connexes dans l’espace 3D.
Lorsque les pistes 2D présentent de trop grandes variations de leur position 3D, nous proposons
de les séparer selon la méthode de l’algorithme 2. Le processus est itératif et permet d’obtenir
un ensemble de pistes cohérentes en position 3D.
Le seul paramètre à régler est le seuil de distance maximum entre les points reprojetés dans
l’espace modèle dmax . Il doit être réglé de manière à valider les imprécisions de reprojection
dans l’espace modèle et est fixé de manière empirique, à partir de quelques exemples de suivi de
points validés manuellement sur les séquences table tournante.
91
Figure 5-2. Projection d’une piste dans le repère 3D. Dans cet exemple la piste est séparée en deux souspistes cohérentes.
kInitialisation de la position 3D de la piste avec la position du premier point extrait de l’image
n. Calcul de la distance à tous les autres points de la piste. On compare toutes ces distances à
un seuil dmax
ksi toutes les distances sont inférieures à dmax alors
kOn valide la piste.
ksinon
kOn récupère l’indice p du premier point de la piste dont la distance est supérieure à dmax .
On sépare la piste en 2 sous pistes :
• La première sous piste, cohérente, comprenant les points extraits des images n à p − 1.
• La seconde sous piste formée des points restants.
• On réitère le processus avec cette seconde piste.
kfin
Algorithm 2: Algorithme de test de la cohérence d’une piste dans le repère modèle.
92
5.2.2
Calcul des informations 3D
A ce stade, nous disposons pour chaque piste d’un ensemble de positions 2D, ainsi que des images
et des données caméra. L’objectif est d’associer un unique patch 3D par piste. Il est entièrement
−
→
défini par sa géométrie: position de son centre X, normale au plan formé par le patch N , et
angle de rotation dans le plan du patch θ, et son apparence : une imagette carrée I de taille t
correspondant aux pixels reprojetés dans la géométrie du plan du patch, c’est à dire à la vue
canonique tel que présenté au chapitre 3.
La caractérisation complète d’un patch P est ainsi définie par :
−
→
P : X, t, N , θ, I
(5.1)
Le calcul de la caractérisation géométrique 3D d’un patch exploite la totalité de la piste. Il
est réalisé en deux phases : on estime d’abord la position du centre 3D du patch, avant d’estimer
son orientation. Il existe différentes approches d’estimation de la géométrie locale des patchs
[Molton et al.04, Dellaert et al.98b, Dellaert et al.98a] qui se basent sur des méthodes itératives
par suivi de l’apparence des patchs pour affiner leur géométrie et leur apparence. Ces méthodes
nécessitent des images plus détaillées que celles sur lesquelles nous travaillons, ce qui rend leur
utilisation difficile dans notre cas.
Pour estimer la position 3D du patch, nous exploitons la connaissance des fonctions de projections πi pour chaque image i. L’ensemble des points 2D d’une piste xi correspond idéalement
au même point X dans l’espace modèle. La position 3D dans un cadre idéal est alors donnée
par :
xi = π(X)
(5.2)
Dans la pratique les imprécisions du modèle polyédrique, de la calibration caméra et de
l’extraction de points d’intérêt font qu’il existe une erreur résiduelle de projection δi . L’équation
5.2 devient alors :
xi = πi (X) + δi ;
(5.3)
On cherche à minimiser cette erreur de projection pour tous les points. Pour cela on minimise
le critère 5.4
min
X
X
(xi − πi (X))2
(5.4)
i
La minimisation du critère est effectuée par une méthode du type moindres carrés itératif
pour laquelle X est initialisé avec X̃ la moyenne des positions 3D obtenues par projection inverse
de xi .
Étant donné que la variation d’aspect sur une même séquence n’est en général pas très importante, il existe une imprécision sur l’estimation du paramètre 3D dans l’axe de la caméra. Il
est nécessaire de vérifier après minimisation que le point obtenu n’a pas trop divergé dans le sens
de l’axe de la caméra.
La position X du centre du patch nous donne accès, via le modèle, à la face à laquelle il
appartient. A partir de la connaissance de la face, on remonte à la normale au patch en utilisant
la normale de la face à laquelle appartient son centre. Ce résultat est présenté en figure 5-3,
image du haut.
93
Figure 5-3. Initialisation des patchs en position et orientation. En haut : Normale issue de la face à
laquelle appartient le point central. En bas : Normale moyenne des pixels appartenant à l’image 2D du
patch.
94
Or nombres d’éléments caractéristiques d’un véhicule sont proches de l’intersection de
plusieurs faces et possèdent souvent, surtout sur les véhicules récents aux formes arrondies,
une orientation intermédiaire par rapport aux normales à chaque face. Pour améliorer en monoimage l’orientation d’un patch, nous utilisons la normale moyenne, en pondérant la normale de
chaque face par le nombre de pixels du patch qui lui appartiennent. L’estimation de la normale,
qui est représentée en figure 5-3, image du bas, est ainsi améliorée.
La taille t du patch est choisie manuellement, celle-ci devant être un compromis entre le nombre
de détails contenu dans l’apparence du patch et l’adéquation du patch à la géométrie locale du
véhicule. Dans nos expérimentations la taille des patchs est de 6 × 6 cm ce qui correspond à
41 × 41 pixels dans la vue canonique.
5.2.3
Passage dans la vue canonique
L’apparence du patch est obtenue à partir d’une seule vue de la séquence, celle qui maximise le
nombre de pixels dans l’image. Cette vue est déterminée en se plaçant dans le repère caméra et
en calculant le produit scalaire entre l’axe de visée de la caméra et la normale au patch. Plus
cette valeur est proche de -1, meilleure sera la vue. Pour un produit scalaire valant -1 le patch
se trouve dans la vue canonique. Les valeurs positives correspondent à des patchs non visibles
dans la séquence. Nous utilisons le seuil défini par l’équation 4.2 pour éliminer les patchs dont
la résolution est trop faible.
Un exemple de passage dans la vue canonique pour trois patchs est illustré sur la figure 5-4.
Figure 5-4. Exemples de vues canoniques. A gauche : trois patchs dans l’espace image. A droite : leur
vue dans le repère canonique.
Une amélioration de l’extraction des patchs consisterait à utiliser l’aspect temporel non seulement pour améliorer la précision de l’estimation de ses paramètres de géométrie, mais aussi
d’utiliser l’apparence du patch intégrée sur plusieurs images, afin d’obtenir une vue de référence
à résolution supérieure. Ces points d’investigation sont précisés dans la suite.
95
5.2.4
Affinage par traitements spatio-temporels
L’affinage des patchs peut avoir lieu à deux niveaux : dans l’estimation des informations 3D, et
par intégration de l’apparence sur toute, ou une partie de la piste. L’estimation des paramètres
géométriques du patch peut être améliorée par traitement multi-images. Des travaux, en cours,
s’appuient sur des techniques de recalage homographique entre les images qui ont fait l’objet du
travail de synthèse [Baker et al.04] et utilisent une paramétrisation directe en terme de normale
3D.
Des traitements de super résolution peuvent contribuer à améliorer l’apparence du patch dans
la vue canonique (SR 2D), ou directement dans le référentiel 3D du modèle filaire (“ ‘ SR 3D ”).
Un exemple de technique SR appliquée directement aux vues canoniques est présenté sur la figure
5-5, à partir d’une séquence composée de 31 images. Sur la première colonne la vue canonique
est obtenue en prenant l’image de la séquence qui maximise la visibilité du patch. Les trois
autres imagettes de chaque ligne ont été obtenues par traitement spatio-temporel. Les colonnes
deux et trois correspondent aux imagettes obtenues en recalant l’ensemble des 31 imagettes par
estimation homographique avec l’imagette de référence et en utilisant un facteur de SR de deux.
Les imagettes de la deuxième colonne ont été obtenues avec un faible facteur de régularisation ce
qui a pour effet de peu lisser les images. Les imagettes de la troisième colonne ont été obtenues
avec un facteur de régularisation plus important ce qui augmente l’aspect flou des images. Les
imagettes de la dernière colonne ont été obtenues sans recalage homographique et avec un faible
facteur de régularisation. Pour plus de précisions sur les techniques de SR se reporter à l’article
de [Park et al.03].
Les gains de ce type de traitement ne sont pas flagrants. Des traitements conjoints intégrant
l’ensemble de paramètres des patchs (géométrie et apparence) [Dellaert et al.98b] pourraient
permettre d’améliorer la précision de l’extraction. Il faut néanmoins préciser que la qualité de
l’extraction des patchs dépend fortement de la présentation de l’objet dans le champ de la caméra,
paramètres indépendants de l’algorithme. Un bouclage de type vision active sur les paramètres
caméra ou sur la position de l’observateur permettrait d’améliorer la qualité d’extraction des
patchs.
5.3
Création des couples de patchs pour l’apprentissage
La phase d’apprentissage du schéma algorithmique que nous étudions consiste à définir une règle
de comparaison locale des objets observés dans deux séquences d’image, c’est-à-dire à décider si
un couple de patchs 3D sont issus de véhicules “identiques” ou “différents”.
Les couples de patchs à tester sont formés de deux images canoniques obtenues dans la
séquence requête et la séquence observation. Les paramètres de pose d’un patch P calculés
à partir des pistes obtenues sur la séquence requête sont utilisés pour obtenir l’apparence du
patch dans la séquence d’observation. La création de la vue canonique est effectuée selon la
procédure décrite dans le chapitre 3.6.2. La figure 5-6 illustre la création de ces couples.
Il faut noter qu’aucune étape de mise en correspondance n’est nécessaire pour créer les couples. Cependant nous ajoutons une étape de recalage local pour pallier les imprécisions de pose
de patchs. Celle-ci est basée sur une maximisation de la corrélation locale entre les vues canoniques. Pour effectuer cet affinage local, nous commençons par créer une vue canonique de taille
supérieure à celle donnée par le paramètre t du patch P , puis nous effectuons alors le recalage
local dans le plan de la vue canonique, enfin nous retaillons le patch centré sur ce maximum de
corrélation à la taille t.
96
Figure 5-5. Exemple d’intégration spatio temporelle sur les vues canoniques. Imagette de gauche : Vue
canonique obtenue à partir d’une seule image. Les trois imagettes de droite : vues canoniques obtenues
par intégration spatio temporelle sur 31 images. 2ème colonne : imagette obtenue avec un paramètre de
régularisation faible (peu de lissage). 3ème colonne : imagette obtenue avec un paramètre de régularisation
fort (lissage plus important). Un recalage homographique entre toutes les imagettes est effectué pour ces
deux cas. 4ème colonne imagette obtenue avec un paramètre de régularisation faible et sans recalage entre
les imagettes.
97
Figure 5-6. Processus de création des couples de patchs. En haut : la séquence requête. En bas : la
séquence observée.
98
Les couples ainsi formés constituent les données de base de l’apprentissage. Nous détaillons
dans la suite comment extraire un ensemble de caractéristiques discriminantes à partir de ces
couples.
5.4
Construction d’une règle de comparaison locale
L’approche proposée pour la conception d’une règle de comparaison suit le schéma classique de
la reconnaissance des formes :
1. Création d’un ensemble important et adapté de caractéristiques issues des images.
2. Utilisation d’une base apprentissage pour sélectionner les caractéristiques les mieux adaptées au problème, c’est à dire celles qui séparent au mieux les 2 populations étiquetées
“identique” et “différent”.
3. Construction d’une règle de décision à partir des caractéristiques sélectionnées.
Le choix initial des caractéristiques revêt une importance toute particulière dans la suite du
processus car il doit être capable de révéler le contenu informatif présent dans les données. C’est
ce premier point que nous détaillons dans la prochaine sous section.
5.4.1
Construction d’un ensemble de caractéristiques à partir des couples
d’images
L’objectif est d’extraire un nombre important de caractéristiques issues des images. Cette étape
est intitulée la collecte de données (Data collection) [Webb02]. Elle nécessite d’avoir correctement
formulé le problème, ainsi que les paramètres à prendre en compte pour la collecte de données.
Il s’agit notamment du type de données à extraire, de la taille de la base à créer, ainsi que
du coût algorithmique nécessaire à sa constitution. Cette étape étant l’un des points clef de
la reconnaissance de forme, de nombreux types de caractéristiques ont été utilisées dans la
littérature :
Caractéristiques de texture Les caractéristiques couramment utilisées sont les coefficients
d’ondelette ou les résultats des filtres de Gabor. [Papageorgiou et al.98] a introduit des
caractéristiques dont la forme présente des similarités avec les ondelettes de Haar dans
le cadre de la reconnaissance. Il s’agit d’effectuer la somme des pixels à l’intérieur
d’une zone rectangulaire. [Viola et al.01] les a popularisé en proposant une implémentation efficace de celles ci sous forme d’images intégrales. Ce jeu de caractéristiques a
été étendu par [Lienhart et al.02] par l’utilisation des fenêtres d’intégration tournées de
45◦ [Barczak et al.06] ont proposé de les utiliser pour n’importe qu’elle orientation, malheureusement leurs caractéristiques souffrent d’erreurs d’approximation.
Caractéristiques issues des orientations des gradients [Nowak et al.07]
propose
d’utiliser les histogrammes issus de la caractérisation SIFT [Lowe01] calculés sur de
fenêtres dont la position et la taille sont choisies aléatoirement sur les images. On peut
citer aussi les caractéristiques issues directement des histogrammes de gradients HOG
Histograms of Oriented Gradients [Dalal et al.05].
Informations multiples Un ensemble éclectique d’informations est utilisé par
[Ferencz et al.05] pour modéliser des distributions de distances calculées sur des
99
couples de patchs appariés : il s’agit notamment de la position de l’objet, des moments, de
caractéristiques issues de l’énergie des contours, ainsi que les monômes de ces paramètres.
Le choix des meilleures caractéristiques a utiliser est prépondérant pour la suite de la création
de la règle de décision, mais est rarement discuté dans la bibliographie. On peut néanmoins
citer [Nowak et al.07] qui a testé les niveaux de gris, les normes de gradients et leur orientation
ainsi que les histogrammes SIFT, avant de retenir cette dernière caractérisation. Les principales
caractéristiques qui sont utilisées sont du type Haar, filtres orientés [Frome et al.07] ou SIFT.
Dans notre cas nous exploitons un ensemble important et varié de caractéristiques (apparence,
Gabor réels filtrés, DAISY [Tola et al.08], gradients, gradients orientés), associés à des tests
locaux précis pour extraire des détails discriminants. En effet comme l’indique [Nowak et al.07]
les caractéristiques discriminantes des véhicules sont souvent des détails, ce qui nécessite des
tests précis pour les révéler. Par conséquent les techniques de réduction de dimensionnalité
utilisées directement sur l’apparence des patchs telles que l’analyse en composantes principales
(ACP), ou encore la définition de vocabulaires visuels [Agarwal et al.04, Jurie et al.05] ne sont
pas appropriés dans notre contexte d’étude.
5.4.1.1
Création des sources d’informations visuelles
Nous utilisons plusieurs types de données pour décrire un patch. Ce données seront appelées
informations visuelles dans la suite. Celles-ci sont :
• L’apparence du patch normalisé en intensité.
• Les informations de gradients, de gradients seuillés, les gradients orientés, les gradients
orientés seuillés, les contours, les contours orientés.
• Des filtres du type filtre de Gabor. Les filtres utilisés comportent une fréquence et huit
orientations.
• Des descripteurs du type DAISY [Tola et al.08]. Ces descripteurs sont extraits des gradients
orientés de manière comparable aux descripteurs SIFT. Ils présentent l’avantage d’avoir
une implémentation efficace améliorant nettement leur temps de calcul. Les descripteurs
sont extraits en 5 points et sont composés chacun de 200 valeurs (8 orientations et 25
zones locales autour du point d’intérêt). La figure 5-7 présente la localisation des cinq
descripteurs extraits pour chaque patch.
L’ensemble des informations visuelles utilisées est synthétisé dans la figure 5-8.
5.4.1.2
Création des tests élémentaires
Chaque élément d’information visuelle donne lieu à un ensemble de tests de comparaison élémentaires que l’on peut représenter par un ensemble de variables aléatoires binaires.
Nous utilisons deux types de tests, l’un pour comparer les informations visuelles de gradient,
les réponses de Gabor et l’apparence, et un second spécifique aux descripteurs DAISY. Nous
noterons Xi ∈ {0, 1} la valeur du test caractéristique paramétré par le jeu de paramètres indicé
i. Pour plus de clarté nous omettons l’indice i dans la présentation des paramètres des tests.
Chaque test est décrit par un ensemble de paramètres qui regroupe :
100
Figure 5-7. Position des cinq descripteurs du type DAISY extraits des patchs.
• des informations de localisation px , py et de taille tx , ty , permettant d’extraire les différentes
informations visuelles (apparence, gradients, . . . ) I1 (z) et I2 (z) pour chaque couple de
patchs. z correspond à l’ensemble des positions pixels de la sous zone centrée sur la position
(px , py ), de hauteur tx et de largeur ty .
• les paramètres du test : un seuil d et un paramètre de sens de l’inéquation k = ±1 de
comparaison au seuil > ou < .
• le type du test à effectuer, il peut s’agir de :
Moyenne : La moyenne spatiale des informations visuelles de chaque couple de patch
E(I1 (z)), E(I2 (z)). La valeur du test est alors :
X = {k(E(I1 )(z) − d) > 0 ∧ k(E(I2 )(z) − d) > 0}
Distance entre histogrammes : Le calcul de la distance entre histogrammes reprend
la distance proposée par [Swain et al.91], appelée Histogram Intersection (HI). Si on
considère m = (m1 , . . . , mk ) et n = (n1 , . . . , nk ) deux histogrammes de k colonnes,
alors la distance entre les deux histogrammes est donnée par KHI :
KHI (m, n) =
k
X
min(m(i), n(i))
i=1
Les histogrammes H1 et H2 peuvent être calculés sur l’apparence, les gradients ou
les réponses de Gabor des couples et quantifiés en 64 valeurs. La valeur du test
caractéristique vaut alors :
X = {k(KHI (H1 , H2 ) − d) > 0}
Distance entre histogrammes orientés : Les histogrammes orientés sont créés à partir
des moyennes obtenues sur chaque image d’orientation pour les gradients orientés et les
Gabor orientés. Les histogrammes sont normalisés et comparés comme précédemment
avec un seuil de décision d.
101
Figure 5-8. Informations visuelles utilisées pour la description des couples de patchs.
102
Comparaison de cartes binaires : Ce test est utilisé pour comparer les réponses des
gradients seuillés, les réponses de Gabor seuillées ou les contours. Il s’agit de dénombrer la proportion de points de la carte qui répondent de façon similaire. Deux tests
sont effectués, le premier consiste à comparer la proportion pixels qui répondent de
manière identique au seuil d :
(
X=
Ptx Pty
k(
j=1 I1 (i, j)
i=1
== I2 (i, j)
N
)
− d) > 0
où N = tx ∗ ty est le nombre de pixels de la sous zone. Le second test consiste à
comparer la proportion de pixels qui répondent 1 à la même position pour les deux
cartes :
(
X=
)
Ptx Pty
k(
i=1
N−
Ptx Pty
i=1
j=1 I1 (i, j).I2 (i, j)
j=1 (1
− I1 (i, j)).(1 − I2 (i, j))
− d) > 0
Ce second test permet de s’intéresser uniquement aux zones où de l’information est
présente (les points de contours).
Calcul sur les descripteurs DAISY : Ce test est utilisé pour comparer une valeur de
l’histogramme DAISY de manière similaires aux traitements de [Nowak et al.07] sur
les descripteurs SIFT. On compare la valeur de l’indice n des deux histogrammes H1
et H2 par rapport au seuil d :
X = {k((H1 (n) − d) > 0 ∧ k(H2 (n) − d) > 0}
Ce test nécessite un paramètre aléatoire supplémentaire qui est l’indice n de
l’histogramme.
Un test élémentaire est composé de huit paramètres l = {px , py , tx , ty , d, k, c, o} c et o correspondent respectivement au type de test et à l’information visuelle utilisée. La figure 5-9 présente
un test élémentaire appliqué sur deux couples de patchs appartenant à des véhicules identiques
(de type golf) à gauche, et différents (de type golf à gauche et new beetle à droite) sur la droite.
La création de l’ensemble d’apprentissage consiste à effectuer N tirages aléatoires des 6 premiers paramètres des test : px , py , tx , ty , d, k et à les appliquer pour toutes les informations
visuelles et tous les type de tests. On dispose à l’issue de cette étape d’un ensemble de N
tests élémentaires binaires X1 , . . . , XN . La majorité de ces tests ne sont pas informatifs ou
sont redondants ; il faut alors extraire un ensemble restreint de p tests Xν(1) , . . . , Xν(p) , les plus
discriminants dans une étape de sélection de caractéristiques.
5.4.2
Sélection des caractéristiques discriminantes
Cette étape a été abondamment traitée dans la littérature. L’objectif est de classer les caractéristiques selon leur pouvoir discriminant, pour ainsi éliminer la majeure partie d’entre elles. Pour
donner un ordre de grandeur du processus de sélection, on peut citer par exemple [Viola et al.01]
qui sélectionne 200 caractéristiques sur un ensemble potentiel de 180000. Parmi les méthodes proposées récemment pour la recherche d’objets dans les séquences, On peut citer les
approches par maximisation de l’information mutuelle [Fleuret04] par arbre de décision binaire
[Ratanamahatana et al.02], ou encore les techniques de boosting [Freund et al.96].
103
Figure 5-9. Exemple de test caractéristique appliqué sur deux couples de patchs. A gauche : deux véhicules
identiques vus sous des présentations différentes. A droite : deux véhicules différents. En haut : Les cadres
correspondent à la zone délimitée par les paramètres px , py , tx , ty . Sur la deuxième ligne: l’information
visuelle o utilisée, ici l’image filtrée par Gabor d’orientation π et seuillée. Sur la troisième ligne : type de
test c choisi, ici la comparaison de cartes binaires. En bas : le résultat du test avec les valeur de seuil
d = 0.4 et k = 1.
104
Les arbres de décision. [Ratanamahatana et al.02] propose l’utilisation de l’algorithme C4.5
à base d’arbres de décision binaires pour la sélection de caractéristiques. L’algorithme
C4.5 est basé sur le fait que chaque valeur de caractéristique permet de séparer
l’ensemble d’apprentissage en sous-ensembles plus petits et potentiellement plus homogènes. L’algorithme évalue alors le gain d’information obtenu en utilisant un attribut
pour séparer les données et choisit récursivement ceux qui maximisent ce gain.
Les techniques de boosting. L’idée des techniques de boosting consiste à combiner plusieurs
classifieurs, qui pris individuellement ont un pouvoir discriminant faible, pour créer une
règle de décision globale. Une distribution de poids D pour l’ensemble d’apprentissage
est utilisée. Cette distribution est initialement réglée de manière uniforme. Le processus
consiste à choisir le classifieur faible qui minimise l’erreur de classification pondérée par
D et de modifier la distribution D en augmentant les poids des exemples mal classés et
en diminuant les poids de ceux qui sont bien classés. L’algorithme est répété de manière
itérative, jusqu’au taux d’erreur souhaité. Le classifieur final est une combinaison linéaire
des classifieurs faibles sélectionnés. Le poids de chaque classifieur est obtenu à chaque étape
à partir de son taux d’erreur sur la base d’apprentissage pondérée par D. Cet algorithme
effectue simultanément la sélection de caractéristiques et la pondération de celles-ci, pour
former la règle de décision finale.
La maximisation de l’information mutuelle conditionnelle. Cette méthode utilisée
récemment par [Fleuret04], appelée CMIM (Conditional Mutual Information Maximisation), consiste à choisir itérativement la caractéristique qui maximise l’information
mutuelle entre les données d’apprentissage et les résultats de tests. Ce critère assure
l’indépendance entre les caractéristiques et maximise le pouvoir discriminant de la
nouvelle caractéristique retenue. L’algorithme est initialisé en prenant la caractéristique
qui maximise l’information mutuelle avec l’ensemble d’apprentissage.
Les autres techniques. On peut citer les méthodes par corrélation [Yu et al.03], la sélection
aléatoire, les méthodes par analyse factorielle, les méthodes à base de réseaux de neurones,
ou encore les algorithmes génétiques.
Étant donné les résultats obtenus par l’algorithme de [Fleuret04], comparativement aux méthodes par arbres de décision et aux résultats de l’algorithme AdaBoost, nous avons choisi d’utiliser
cette méthode pour sélectionner les caractéristiques discriminantes parmi notre ensemble de tests
élémentaires binaires. L’algorithme CMIM appliqué sur les données renvoie un ensemble de p
caractéristiques Xν(1) . . . Xν(p) sélectionnées parmi un ensemble de N caractéristiques. Il faut
alors les combiner pour former la règle de décision.
5.4.3
Création de la règle de décision de comparaison de deux patchs
Les couples de patchs sont maintenant représentés par un vecteur binaire issu de l’étape de
sélection de caractéristiques. La règle de décision locale consiste alors à séparer deux populations
étiquetées “identique” et “différent”. Nous suivons un schéma de classification de type bayésien
pour la construire.
Formellement, si xk est la valeur binaire renvoyée par la caractéristique Xk pour le couple
considéré, et si Y ∈ {0, 1} désigne la vérité terrain (Y vaut 0 si le couple de patchs appartient à
deux véhicules différents, 1 sinon), la règle de décision s’exprime comme un test de vraisemblance
entre les hypothèses Y = 0 et Y = 1 défini par :
105
Λ(xν(1) , . . . , xν(p) ) =
P (Y = 1|Xν(1) = xν(1) , . . . , Xν(p) = xν(p) )
P (Y = 0|Xν(1) = xν(1) , . . . , Xν(p) = xν(p) )
(5.5)
Si ce rapport est supérieur à un seuil η alors on privilégiera l’hypothèse Y = 1 étant donné
les observations xν(1) , . . . , xν(p) , et inversement :
Λ(xν(1) , . . . , xν(p) ) ≷YY =1
=0 η
(5.6)
On définit la fonction de décision f comme le logarithme de Λ :
f (xν(1) , . . . , xν(p) ) = log
P (Y = 1|Xν(1) = xν(1) , . . . , Xν(p) = xν(p) )
P (Y = 0|Xν(1) = xν(1) , . . . , Xν(p) = xν(p) )
(5.7)
En appliquant la règle de Bayes :
P (Y |x) =
P (x|Y )P (Y )
P (x)
(5.8)
et sous l’hypothèse d’indépendance des caractéristiques, que l’on peut considérer réalisée lors de
la sélection par CMIM, on obtient alors :
f (xν(1) , . . . , xν(p) ) =
p
X
i=1
(log
P (Xν(i) = 1|Y = 1)P (Xν(i) = 0|Y = 0)
P (Y = 1)
)x
+ log
P (Xν(i) = 1|Y = 0)P (Xν(i) = 0|Y = 1) ν(i)
P (Y = 0)
En posant :
ωi = log
P (Xν(i) = 1|Y = 1)P (Xν(i) = 0|Y = 0)
P (Xν(i) = 1|Y = 0)P (Xν(i) = 0|Y = 1)
La règle de décision créée sous hypothèse d’indépendance des caractéristiques s’exprime
comme un classifieur linéaire de la forme :
f (xν(1) , . . . , xν(p) ) =
p
X
ωi xν(i) + b
(5.9)
i=1
La valeur du paramètre b est calculée de façon à minimiser l’erreur d’apprentissage étant donné
les poids wi .
Les considérations pratiques concernant la base d’apprentissage ainsi que les paramètres des
tests seront présentés dans la section résultat au chapitre 5.6.
5.5
Création de la règle de décision globale
La règle de comparaison finale de deux séquences d’observation de véhicules doit intégrer un
ensemble de comparaisons de couples de patchs locaux. Cette section propose plusieurs stratégies
d’exploitation des comparaisons locales.
106
5.5.1
Spatialisation des classifieurs locaux
L’utilisation d’un unique classifieur pour la comparaison des couples de patchs nécessite de
disposer d’un ensemble de caractéristiques suffisamment important et discriminant pour que leur
combinaison puisse permettre de différencier toutes sortes de patchs, comme par exemple les
coins de vitres, les phares, les rétroviseurs. Dans la pratique, il s’avère difficile de quantifier le
nombre de tests caractéristiques à utiliser ainsi que la taille de la base d’apprentissage nécessaire.
Nous avons préféré localiser spatialement les couples de patchs par rapport à leur position dans
le référentiel modèle, et utiliser un classifieur différent par partie.
La partition des couples de patchs est effectuée en utilisant leur position dans le repère modèle,
et leur normale dans ce même référentiel. Le découpage est délimité par l’angle α dans le plan
du sol par rapport à la normale à celui-ci, comme illustré sur la figure 5-10. Chaque partie pk
correspond à une exploration angulaire 2π(k−1)
< α ≤ 2πk
np
np , np étant le nombre de zones que
comporte le modèle. L’appartenance d’un patch à une partie pk est déterminée en calculant
l’angle dans le plan du sol formé par la droite passant par l’origine et le centre du patch et l’axe
des abscisses. Un test est effectué sur la normale à celui-ci pour déterminer si son orientation
concorde avec la partie dans laquelle il se trouve. Dans la pratique on admet un recouvrement
entre les différentes parties, un patch pouvant appartenir à deux parties différentes. La figure de
gauche de l’illustration 5-10 présente un exemple de partition en six sous zones de 60◦ avec 10◦
de recouvrement entre les parties.
Figure 5-10. Exemple de partition du modèle en six parties. A gauche : représentation des six parties
qui composent le modèle, les traits pointillés délimitent le recouvrement sur une partie. Les pastilles de
couleur renvoient à l’image de droite, chaque couleur correspond à une zone différente. A droite: exemple
des groupes de patchs obtenus, chaque couleur du patch correspond à la partie à laquelle il appartient.
L’apprentissage est alors effectué sur chaque partie à partir du même jeu de tests caractéristiques pour obtenir np classifieurs f1 , . . . , fnp .
5.5.2
Les stratégies de décision
La comparaison globale de deux véhicules est faite à partir des résultats de comparaison des
couples de patchs, eux mêmes répartis en np parties. On propose trois types de schémas de
fusion exploitant ces différents niveaux de description :
Couples de patchs : Une première décision binaire est prise à partir du score de chaque
couple de patchs. Celle-ci est obtenue en seuillant les valeurs en sortie de chaque classifieur.
Une décision est effectuée au sein de chaque partie à partir du vecteur binaire issu du
107
seuillage des scores des patchs. La décision finale s’appuie alors sur les réponses de chaque
partie. Nous décidons que les objets sont similaires si au moins une valeur binaire d’une
partie répond “identique”. La figure 5-11 détaille l’approche. Il est possible d’éliminer les
scores proches de zéro en sortie de classifieur fi pour éviter les couples dont on ne peut pas
tirer d’information.
Figure 5-11. Exemple de règle de décision, une première décision est prise au niveau des couples. Les
flèche bleues correspondent aux décisions intermédiaires.
Partie : Les scores de comparaison de chaque couple sont regroupés au sein de chaque partie,
une décision intermédiaire est alors effectuée. Un score global est obtenu pour chaque
partie en prenant la moyenne, la médiane, ou la valeur maximum des scores. Un seuillage
est ensuite effectué pour chaque partie. La décision finale est obtenue à partir des résultats
binaires de chaque partie visible commune aux deux véhicules. La figure 5-12 détaille
l’approche.
Véhicule : Le score final s’appuie soit directement par comptage à partir des scores seuillés,
soit en intégrant tous les scores dans un calcul de moyenne, de médiane, ou en prenant la
valeur maximale des scores des couples, puis en seuillant. La figure 5-13 détaille l’approche.
La comparaison des différentes stratégies sera étudiée dans la section 5.6.1.4.
5.6
Résultats et interprétations
Ce chapitre est divisé en deux parties. Dans un premier temps nous présentons les données
d’apprentissage, et nous discutons des différents choix de paramètres et de leur implication dans
les résultats. Dans un second temps nous comparons notre méthode à celle proposée au chapitre
4, ainsi qu’à une méthode issue de la littérature, proposée par [Nowak et al.07].
108
Figure 5-12. Exemple de règle de décision, une première décision est prise au niveau des parties. Les
flèches bleues correspondent aux décisions intermédiaires.
Figure 5-13. Exemple de règle de décision, la décision globale est obtenue à partir des scores issus des
classifieurs. La flèche bleue correspond à la position de la décision globale.
109
5.6.1
Résultats et interprétation de la méthode proposée
Nous présentons tout d’abord les données d’apprentissage utilisées pour créer les jeux de tests
caractéristiques.
5.6.1.1
Données d’apprentissage
L’ensemble d’apprentissage est formé de sept véhicules provenant de la base présentée dans
l’annexe B. Les données issues de la table tournante permettent de disposer de chaque véhicule
sous tous les angles de vues. Nous créons 36 séquences par véhicule correspondant chacune à
une variation angulaire de 10◦ , ce qui permet de disposer de 252 séquences de véhicules. Pour
chacune d’entre elles les pistes sont extraites selon la méthode présentée en section 5.2. Les patchs
extraits sont des carrés de 6 cm sur 6 cm qui occupent 41 ? 41 pixels dans la vue canonique.
Environ 50 patchs sont extraits de chaque séquence, ce qui donne pour l’ensemble de la base
10907 patchs, l’ensemble des positions des centres de patchs dans la géométrie 3D est présenté
sur la figure 5-14.
Figure 5-14. Projection des centres des patchs dans le référentiel modèle A gauche : les 10907 patchs
extraits des 252 séquences sont projetés dans le référentiel modèle. A droite : résultat de l’élimination
des patchs trop proches pour un même véhicule
Chaque position de patch est reprojeté dans les 251 autres séquences (on enlève la séquence
dans laquelle il a été extrait), pour former les couples. Les couples correspondant aux patchs dont
le produit scalaire par rapport à la normale caméra est trop faible sont éliminés (cf. éq 4.3). La
figure 5-15 illustre l’évolution de l’apparence de la vue canonique en fonction de son orientation
par rapport à l’axe de visée de la caméra : on observe une rapide dégradation de l’apparence de
certains patchs. Au total plus de 2,4 millions de couples sont extraits. Cet ensemble présentant
énormément de redondance, nous avons décidé de réduire le nombre de patchs extraits par
véhicule. Pour cela nous considérons tous les patchs extraits des 36 séquences provenant de
chaque véhicule, et nous éliminons ceux qui sont trop proches. Une distance minimale de 5 mm
permet d’extraire un nombre raisonnable de patchs. Les patchs sélectionnés sont ceux dont la
normale est la plus proche de celle de la caméra. La position de ces patchs est présentée sur
l’illustration de droite de la figure 5-14. Après sélection, nous disposons d’une base de 1307
patchs, ce qui donne environ 300000 couples d’apprentissage.
Les tests élémentaires sont effectués sur cette base de couples. Le nombre de valeurs de
paramètres (position, taille, seuil, et sens de l’inéquation) est en général fixé à 1200. Certains
d’entre eux sont fixés manuellement : il s’agit de zones carrées de taille 5, 10, 20, ou 41 pixels,
centrées sur le centre de la vue canonique, avec des valeurs de seuil allant de 0 à 0.9 par pas de 0.1
et les deux sens d’inéquation k = 1 et k = −1, ce qui donne 80 paramètres fixés manuellement, les
110
Figure 5-15. Deux exemples d’évolution de l’apparence du patch dans sa vue canonique en fonction de la
différence d’orientation avec la caméra.
1120 autres étant déterminés aléatoirement. On effectue tous les tests adaptés aux informations
visuelles traitées, ce qui donne par exemple 55000 tests lorsqu’on prend en compte l’apparence,
les contours, et les informations de gradients, de gradients orientés et seuillés. Cet ensemble de
tests appliqué sur les 300000 couples constitue notre base d’apprentissage.
5.6.1.2
Création du classifieur f
Le processus de sélection renvoie les caractéristiques sélectionnées parmi l’ensemble
d’apprentissage, ainsi que les poids de la combinaison linéaire fi . Dans la plupart des expérimentations nous fixons le nombre de tests élémentaires sélectionnés à 50. Il s’avère que
l’apprentissage du classifieur f sur tous les patchs a tendance à favoriser une classification avantageant les exemples différents. Le classifieur f à tendance à classifier la majorité des couples
comme étant différents, ce qui donne de faibles erreurs sur la base d’apprentissage car la base
comporte de l’ordre de 7 fois plus de couples différents que de couples identiques. Pour éviter
ce phénomène nous réduisons l’ensemble d’apprentissage pour fixer le ratio entre les couples
différents et identiques à 2. Le processus de création du classifieur est répété pour chaque partie.
5.6.1.3
Exemple de résultat
Notre base de modèles réduits étant assez petite, nous avons pris 6 véhicules pour l’apprentissage
et 1 pour le test, et avons appliqué l’algorithme en prenant chaque véhicule comme véhicule de
test. Nous présentons dans cette partie les résultats obtenus, puis insistons sur l’influence des
différents paramètres et des stratégies de décision sur les performances. Nous présentons un
premier exemple de résultats avec les paramètres suivants : le nombre np de parties du modèle
est fixé à 6, les informations visuelles sont du type apparence et dérivées de l’image (gradient,
111
contour, . . . ). La stratégie de décision utilisée consiste à effectuer une décision intermédiaire
par parties, en utilisant la médiane des résultats des scores de chaque couple. On considère
qu’une partie commune est visible sur les deux véhicules, si au moins 3 patchs appartenant à la
partie sont visibles. On décide que deux véhicules sont identiques, si au moins une partie répond
positivement. La courbe ROC est présentée en bleu sur la figure 5-16. La meilleure stratégie
par seuil paramétrique est représentée en noir, le seuil classique de comparaison en rouge. Ces
courbes sont détaillées dans la section 4.5. On peut noter que les résultats obtenus avec cette
stratégie tendent à être moins bons que ceux issus de la méthode par seuil paramétrique, à part
pour des valeurs très faibles de pf a . Cette courbe laisse apparaître de mauvaises performances
de reconnaissance pour des valeurs importantes de pf a , ce qui n’est pas le cas pour les autres
stratégies. Nous interprétons et détaillons les paramètres de l’approche dans la sous section
suivante.
Figure 5-16. Courbes ROC obtenues à partir des séquences ”table tournante”. La probabilité de bonne
détection est représentée en fonction de la probabilité de fausse alarme.
5.6.1.4
Interprétations et tests des différents paramètres
Nous étudions dans un premier temps les raisons expliquant les mauvaises performances de
la stratégie par patchs pour les valeurs importantes de pf a , puis nous détaillons les différents
paramètres pouvant influer sur le processus de décision.
Interprétation des résultats de reconnaissance pour des valeurs hautes de fausses alarmes :
La partie de la courbe ROC à laquelle on s’intéresse est entourée en rouge sur la figure
5-17. Pour les valeurs importantes de fausses alarmes, on observe des résultats médiocres
concernant la probabilité de détection. Ce qui implique que pour un réglage de seuil assez
haut, l’algorithme ne reconnaîtra pas tous les couples de véhicules identiques. Un couple
112
appartenant à cette partie est présenté sur la figure 5-18. La variation angulaire entre
les deux objets est très importante, ce qui fait que la décision est portée sur un nombre
très réduit de couples de patchs qui présentent un changement d’apparence important.
L’algorithme gère mal de telles configurations.
Figure 5-17. Les courbes ROC obtenues présentent des mauvais résultats au niveau de la zone entourée en
rouge. La probabilité de détection est faible pour des valeurs importantes de fausses alarmes.
Figure 5-18. Exemple de couple mal classé pour un seuil permettant un taux de fausses alarmes élevé,
correspondant à la zone entourée en rouge sur la figure 5-17.
Les différentes stratégies de décision : Nous présentons ici les résultats obtenus pour les
différentes stratégies de décision présentées dans la section 5.5.2. La figure 5-19 présente
une comparaison des performance pour les différentes stratégies. On peut remarquer que
les niveaux intermédiaires de décision influent relativement peu sur les performances de
l’algorithme. Les performances obtenues en effectuant une intégration des patchs au niveau
des ”parties” sont légèrement supérieures aux autres stratégies.
Il serait intéressant de pondérer les résultats intermédiaires par exemple au niveau des
parties en fonction des différences pose des véhicules. En effet certaines parties sont plus
résolues et donc moins sujettes aux déformations lors de la mise sous vue canonique. Par
conséquent il conviendrait de leur affecter un poids plus important.
113
Figure 5-19. Résultats obtenus pour différentes stratégies de décision.
Le partitionnement du modèle : Le partitionnement du modèle a tendance à spécialiser
le classifieur fi associé à chaque partie i, ce qui améliore le processus de reconnaissance.
L’ensemble d’apprentissage de chaque partie est proportionnel à sa taille, comme la qualité
du processus de sélection et d’apprentissage des poids du classifieur. Il faut donc trouver
une valeur qui fournisse un compromis entre les deux phénomènes. La figure 5-20 présente
les performances pour différents partitionnements du modèle. Les meilleurs résultats sont
obtenus pour un partitionnement en 6 du modèle, et ont tendance à décroître à partir d’un
partitionnement en plus d’une dizaine de parties.
Robustesse de la fonction de comparaison des patchs : Nous nous intéressons ici à la
fonction de comparaison des couples de patchs, plus précisément à la robustesse de celle-ci
lors de changement d’orientation entre la requête et l’observation. Pour cela nous nous
intéressons à la sortie des fonctions f de comparaison des couples patchs. La figure 521 présente l’évolution du score de comparaison pour un ensemble de couples. Nous nous
sommes restreint aux couples appartenant à une seule zone d’une partition par 6 du véhicule
afin d’améliorer la lisibilité de la courbe. Le trait rouge correspond au seuil b éq. (5.9)
déterminé lors de l’apprentissage. On peut noter que la règle de comparaison est très
sensible aux variations d’orientation des véhicules. Cette fonction donne néanmoins de
bon résultats pour des différences d’orientation inférieures à 25◦ , ce qui nous permet de
dire que l’apprentissage tend à favoriser la création d’une fonction de comparaison de deux
patchs permettant de gérer la variabilité d’apparence des couples au sein d’une zone, au
détriment de leur variabilité d’apparence dues aux différences d’orientation.
Influence du nombre de caractéristiques sélectionnées : L’étape de sélection de caractéristiques présentée dans la section 5.4.2 vise à sélectionner les descripteurs discriminants
parmi un ensemble important de tests élémentaires, le choix du nombre de descripteurs
discriminants à sélectionner est un paramètre choisi au moment de l’apprentissage. Si
l’on règle ce paramètre à une valeur trop faible, certains tests élémentaires qui pourraient
améliorer les performances risquent de ne pas être pris en compte, à l’opposé si ce paramètre
114
Figure 5-20. Performances obtenues pour différents partitionnements du modèle. L’angle de recouvrement
est fixé à 15◦ .
Figure 5-21. Évolution du score f eq. (5.9) de comparaison des patchs appartenant à un couple de véhicules
identiques en fonction la différence d’azimut entre les véhicules. Chaque courbe correspond à un couple
différent. Le trait rouge correspond au seuil b (5.9) déterminé lors de l’apprentissage.
115
est réglé à une valeur trop importante certains descripteurs sélectionnés n’apportent plus
d’informations et s’avèrent donc inutiles dans la règle de décision. La figure 5-22 présente
les performances obtenues pour différents réglages de ce paramètre. On remarque que les
performances de l’algorithme stagnent à partir de classifieurs construit sur 50 descripteurs,
il n’est pas nécessaire d’en choisir plus.
Figure 5-22. Performances obtenues à partir de classifieurs construit sur différents nombres de descripteurs
sélectionnées lors de la sélection de caractéristiques.
5.6.2
5.6.2.1
Comparaison avec une méthode de la littérature
Présentation de l’algorithme proposé par [Nowak et al.07]
La démarche algorithmique utilisée par [Nowak et al.07] a été détaillée dans la section 2.3. Il
est intéressant de comparer cette méthode avec notre étude, car d’une part le contexte est
similaire, et d’autre part aucune hypothèse sur la géométrie des véhicules n’est faite. Cette
comparaison permet de quantifier l’apport d’une modélisation géométrique pour tenir compte de
forts changements d’aspect.
L’une des bases utilisées par [Nowak et al.07] pour valider son algorithme est présentée sur
la figure 5-23. Sur cette base l’algorithme obtient 86% de bonnes détections pour un point de
fonctionnement de type PR-EER. Pour comparaison un algorithme fonction d’une corrélation de
type NCC fournit un point de fonctionnement à 51.1% de bonnes détections.
Nous avons appliqué cette méthode sur notre base d’apprentissage avec différents jeux de
données paramétrés par les variations angulaires entre les véhicules. Les paramètres utilisés sont
synthétisés dans le tableau 5-24. Les paramètres sont les suivants :
• ntrees: nombre d’arbres dans la forêt.
• maxleavesnb : nombre maximum de feuilles que peut comporter un arbre.
• nppL : nombre de couples de patchs utilisés pour les tests.
• ncondtrial : valeur maximum de test pour les parcours des arbres.
116
Figure 5-23. Base d’apprentissage utilisée par [Nowak et al.07].
• nppT : nombre de paires sélectionnées pour construire la règle de décision.
• wmin : taille minimum d’un patch.
• wmax : taille maximum d’un patch.
• neirelsize : taille de la région de recherche.
• svmc : constante de pondération pour la séparation des distributions pour l’apprentissage
par SVM (variable C). Elle permet de contrôler le compromis entre nombre d’erreurs de
classement et la largeur de la marge.
paramètre
ntrees
maxleavesnb
nppL
ncondtrial
nppT
wmin
wmax
neirelsize
svmc
valeur
5
25000
100000
1000
1000
15
100
1
0.000001, 0.0001, 1
Figure 5-24. Paramètres de réglage de la méthode de [Nowak et al.07] et valeurs utilisées pour traiter les
séquences table tournante.
La figure 5-25 présente quelques exemples de couples supports de l’apprentissage sur notre jeu
de données. Le cadres rouges correspondent au couples de patchs, le rectangle bleu à la fenêtre
117
de corrélation. Les deux premières lignes contiennent des véhicules différents, les deux dernières
des véhicules identiques. Les véhicules sont centrés dans les images de taille identique. De larges
zones appartenant au fond apparaissent alors. Certains patchs sont alors extraits de ces zones
de fond comme par exemple sur la deuxième ligne.
Figure 5-25. Exemple de couples de patchs. En rouge : la zone délimitant le patch. En bleu : la fenêtre
de corrélation.
La figure 5-26 présente les résultats obtenus sur la base modèle réduit pour des valeurs angulaires maximales de 90◦ entre les véhicules. L’algorithme donne de bon résultats pour différents
réglages de la constante de pondération de l’erreur C. L’algorithme donne un point de fonctionnement EER de 0.84 pour C valant 1 et 10−4 et de 0.69 pour C valant 10−6 . La comparaison
de ces résultats avec nos algorithmes est effectuée avec le meilleur réglage de cette constante.
5.6.3
Comparaison des différentes stratégies
La figure 5-27 présente les courbe ROC obtenues pour les différentes stratégies de reconnaissance. Les véhicules à comparer présentent une variation angulaire maximale de 90◦ . Les points
de fonctionnement EER sont résumés dans le tableau 5-28. Les meilleurs performances sont
obtenues pour la règle de décision par seuil paramétrique. La méthode utilisée par Nowak donne
des résultats comparables aux méthodes par seuillage paramétrique, et s’avère être meilleure
118
Figure 5-26. Courbe ROC obtenue sur la base modèle réduit pour des objets présentant une variation angulaire maximale de 90◦ . Chaque courbe est obtenue pour un réglage différent la constante de pondération
C.
que la stratégie par patchs. Si l’on dispose d’un ensemble suffisamment important de données
d’apprentissage, il est alors préférable d’utiliser ce type de méthode qui présente l’avantage d’être
d’une plus grande flexibilité. Sans données d’apprentissage l’utilisation d’un seuil paramétrique
permet d’améliorer significativement les performances.
5.6.4
Robustesse à la variation d’orientation
Dans cette section nous étudions l’évolution des performances des algorithmes en fonction de
la variation angulaire entre la requête et l’observation. Nous présentons des courbes similaires
à celles présentées dans la section 4.5.1. La figure 5-29 présente l’évolution du point de fonctionnement EER en fonction de l’écart angulaire maximum autorisé entre les deux véhicules.
La figure 5-30 présente quant à elle l’évolution de ce même point en fonction de la plage angulaire autorisée par pas de 10◦ . Les deux stratégies par apprentissage donnent des résultats
comparables, on observe une nette décroissance des performances en fonction de la différence
d’orientation entre la requête et l’observation sur la figure 5-30. On peut noter que toutes les
stratégies gèrent mieux les changements de pose des objets que la stratégie par seuil classique.
Il semble que la prise en compte d’un modèle géométrique pour recaler les données ne permet
pas d’améliorer les performances dans le cadre de l’apprentissage.
Il serait intéressant de comparer la méthode de [Nowak et al.07] avec la stratégie par patch à
partir d’un jeu de paramètres d’apprentissage identique. A partir des descripteurs élémentaires,
il serait alors possible de mettre plus précisément en évidence les qualités et défauts de chaque
approche.
5.7
Conclusion du chapitre
Nous nous sommes intéressés à la construction d’une règle de décision basée sur des techniques
d’apprentissage sur des données éparses. Dans un premier temps un ensemble de zones d’intérêt
119
Figure 5-27. Courbes ROC sur les séquences ”table tournante” pour quatre stratégies différentes.
seuillage simple (courbe rouge)
Stratégie par patchs
(courbe bleue)
Stratégie de Nowak
(courbe verte)
Seuillage paramétrique
(courbe noire)
76
82
85
88
Figure 5-28. Point de fonctionnement EER pour les différentes stratégies de reconnaissance.
120
Figure 5-29. Évolution de l’erreur en fonction de la différence d’orientation maximale autorisée entre la
requête et l’observation. (se reporter au chapitre 4.5.1 pour plus d’explications concernant la création de
ces courbes.)
Figure 5-30. Évolution des performances des différentes méthodes en fonction de la plage angulaire de
variation δθ autorisée. (se reporter au chapitre 4.5.1 pour plus d’explications concernant la création de
ces courbes.)
121
“Les patchs” sont extraits de chaque séquence. Chaque patch est composé de son apparence
dans un vue normalisée, et de ses informations 3D. Ce sont celles-ci qui permettent de projeter
le patch dans la géométrie de la séquence de comparaison pour former des couples de patchs,
supports de la décision.
La comparaison des couples de patchs est réalisée en calculant des tests élémentaires binaires
discriminants sur les informations visuelles tirées de l’apparence des couples. La combinaison
linéaire de ces tests fournit alors un score de similarité pour chaque couple de patchs. La décision
finale est obtenue à partir de cet ensemble de scores. Plusieurs stratégies ont été proposées pour
intégrer cet ensemble de scores dans une décision finale.
La fonction de calcul de similarité élémentaire d’un couple est issue d’une phase
d’apprentissage. Nous utilisons une base de modèles pour créer un nombre important de couples de patchs identiques et différents, sur lesquels sont calculés des tests élémentaires binaires.
Une étape de sélection de caractéristiques basée sur la maximisation de l’information mutuelle
conditionnelle permet de sélectionner un sous ensemble de tests discriminants à partir de la base
d’apprentissage. La fonction de calcul de similarité est une combinaison linéaire de ces tests. Les
poids de la combinaison sont obtenus par une technique d’apprentissage du type Bayésien naïf.
Nous présentons les résultats de cette stratégie sur notre base de modèles réduits sur des séquences
prises sur table tournante. La comparaison avec une méthode proposée par [Nowak et al.07] montre que l’utilisation d’une modélisation géométrique forte n’est pas parfaitement adaptée pour
gérer les variations importantes de pose entre les objets.
A partir de cette comparaison des différentes stratégies une méthodologie peut être mise en
oeuvre : si l’on dispose d’un nombre important de données d’apprentissage, il est préférable
d’utiliser une méthode basée ”apparence” sans tenir compte des variations d’aspect dans les
images. Si peu de données d’apprentissage sont disponibles, il devient alors intéressant d’utiliser
une modélisation géométrique simple pour gérer les variations de pose.
122
123
Chapitre 6
Conclusion générale
Le travail présenté dans ce mémoire concerne la reconnaissance de véhicules sur des séquences
d’images. Nous nous sommes plus particulièrement intéressés à l’identification de véhicules dans
le cadre de variations de pose pouvant être importantes. L’objectif est de décider à partir de
deux séquences prises sous des conditions de prises de vue différentes, si les véhicules présents
sont identiques ou différents, élément de base dans le contexte de la vidéo surveillance. Nous
nous sommes basés sur une modélisation précise de nos a priori pour proposer deux stratégies de
décision : une première s’appuyant sur une modélisation polyédrique du véhicule, une seconde
exploitant une base d’apprentissage.
Le thème de la reconnaissance d’objet a fait l’objet de nombreux travaux que nous avons détaillés dans le deuxième chapitre. Nous avons utilisé la dichotomie classique pour présenter l’état
de l’art en séparant les travaux tirant parti des a priori sur les objets et les conditions de prise de
vue, qui font partie de la famille d’approches basées modèle, des approches exploitant directement
les régularités statistiques, appelées approches basées apparence. Nous nous sommes plus particulièrement intéressés à cette deuxième famille et avons détaillé les approches locales qui fournissent, à l’heure actuelle, les meilleurs résultats de reconnaissance dans de nombreux contextes.
Nous avons ensuite mis en exergue les spécificités de notre contexte qui limitent l’utilisation des
approches existantes. A partir de ces considérations, nous avons décidé d’exploiter une modélisation forte de nos a priori pour construire une chaîne complète de reconnaissance permettant de
gérer les variations de pose entre les véhicules. Ces a priori concernent, d’une part la géométrie
de nos objets d’intérêt gérée par un modèle polyédrique à facette, et d’autre part les conditions
de prise de vue connues grâce aux paramètres de calibration de la caméra.
La construction d’une chaîne complète de reconnaissance nécessite l’utilisation d’algorithmes
de détection/suivi afin de localiser la présence d’un objet d’intérêt et de le caractériser. La
finalité de notre étude étant de comparer deux véhicules, nous avons considéré ces étapes de détection/suivi comme étant des étapes préliminaires à la reconnaissance permettant de construire
un modèle d’objet utilisable lors de la comparaison. Ces étapes sont détaillées dans le chapitre 3,
les modélisations effectuées, ainsi que la caractérisation de l’apparence du véhicule dans une vue
normalisée y sont présentés.
Dans un premier temps nous avons détaillé les a priori utilisés. La géométrie d’un véhicule est
estimée par un modèle paramétrique décrivant un polyèdre à 12 facettes : cette modélisation est
suffisamment générique pour s’adapter aux différentes formes de véhicule rencontrées. Un modèle
de cinématique simple du mouvement des véhicules est proposé pour utiliser des méthodes de
suivi basées sur la logique de filtrage de Kalman. Nous détaillons aussi les fonctions de projection
du modèle polyédrique dans les différents repères. Ces projections sont rendues possible par la
124
connaissance des paramètres de calibration de la caméra.
L’étape de détection est basée sur l’estimation du flot optique entre les images, dont la norme
permet de déterminer les positions des zones mobiles de l’image. La présence d’un véhicule est
caractérisée par une zone mobile de taille suffisamment importante. Une première initialisation
de la pose du véhicule est effectuée à partir du centre de la zone et de l’orientation du flot. Une
optimisation de la pose est alors effectuée par comparaison avec les gradients spatio-temporels et
les contours du véhicule extraits de l’image. Cette méthode testée sur des données réelles donne
globalement de bon résultats, certains détails sont cependant à améliorer par exemple dans le
cas de deux véhicules trop proches l’un par rapport à l’autre. Il serait intéressant d’étendre
cette étape de détection/initialisation de la pose au cas de caméra en mouvement. Une étape
préliminaire de suppression de mouvement de la caméra est en général réalisée [Radke05] pour
se ramener dans le cas de comparaison avec un porteur fixe. Cette étape préliminaire a tendance
à dégrader la qualité des images, ce qui nécessite des traitements de détection robustes.
Le suivi est réalisé à partir de cette initialisation de la pose. Un premier algorithme de suivi
basé sur une technique du type Kalman à partir de la comparaison des segments du modèle
polyédrique avec les segments extraits de l’image a été mis en œuvre. Cette technique donne
de bon résultats lorsque la résolution des séquences est faible. L’augmentation de la résolution
fait apparaître les limitations du modèle filaire trop simplificateur, nous avons alors proposé une
seconde stratégie de suivi basée sur l’apparence des véhicules dans un contexte du type template
matching. La remise à jour de l’image de référence, point important de ce type d’approche, est
discutée et plusieurs tests sont proposés pour éviter les dérives inhérentes à ce type d’algorithme.
Une fois le suivi effectué, une caractérisation de l’objet est possible. Nous proposons alors de
projeter chaque face visible munie de son apparence dans un repère de référence, qui maximise la
surface visible de la face. Les étapes de filtrage nécessaires à un changement de résolution sont
alors étudiées.
La connaissance de conditions de prise de vue des véhicules nous permet d’étudier les capacités
d’extrapolation d’aspect sur des critères géométriques. Nous nous sommes particulièrement
intéressés à deux points. D’une part nous avons étudié l’importance des conditions de prises de
vue dans l’évolution du score et d’autre part nous avons construit des critères pour déterminer
les vues privilégiées pour la reconnaissance. L’étude de la bibliographie afférente aux graphes
d’aspect nous a permis d’orienter ces travaux. A partir de cette étude nous avons déterminé
une règle de décision basée sur un seuillage paramétré par la différence de prise de vue entre
la requête et l’observation. A partir d’un calcul de similarité simple entre les véhicules de type
corrélation nous appliquons une règle de seuillage paramétrée par les conditions de prise de vues
afin de la rendre robuste. Cette technique a été testée sur des séquences pour lesquelles les
conditions de prises de vue sont maîtrisées, en conditions réelles. L’étude des performances en
fonction des variations d’orientation nous permet de conclure à la plus grande robustesse de notre
approche face aux variations de point de vue par rapport aux stratégies classiques. De plus, les
résultats obtenus nous ont permis d’étudier la présence de points de vue privilégiés, permettant
de guider une approche qualitative des résultats. Cette étude est à étendre à tous les paramètres
de conditions de prise de vue, comme l’incidence et la résolution.
Une seconde stratégie de décision fait l’objet du chapitre 5. Nous nous basons sur l’extraction
de points d’intérêt robustes, fiables sur plusieurs images de la séquence pour extraire un ensemble
de patchs du véhicule. Les patchs sont des zones carrées composées de l’apparence normalisée
et munis des informations de pose 3D. L’idée est alors d’utiliser une base de couples de patchs
formés par ces informations reprojetées sur des véhicules identiques et différents sous différentes
poses pour apprendre les caractéristiques discriminantes. Pour cela un ensemble important de
125
caractéristiques sont sélectionnées à partir de sources variées d’informations visuelles extraites
de ces couples. Les caractéristiques les plus discriminantes sont ensuite associées en une fonction
de classification renvoyant un score de similarité pour chaque couple. La stratégie de décision
est formée à partir de ces fonctions de classification localisées sur plusieurs zones du véhicule.
Cette technique a été validée sur des séquences de laboratoire. Une comparaison avec une
méthode la littérature [Nowak et al.07] a été effectuée. Celle-ci ne fait pas d’hypothèse sur la
géométrie des véhicules. Il s’avère que notre méthode apporte peu de gain par rapport à cette
dernière. Une première conclusion est à tirer de cette comparaison : en présence d’une base
d’apprentissage, l’utilisation d’une technique basée apparence permet de déterminer un nombre
suffisant de descripteurs invariants par changement de pose pour créer une règle de décisions
robuste. Pour valider cette conclusion il serait nécessaire de tester les deux approches sur un jeu
de caractéristiques identique ce qui n’est pas le cas actuellement.
Différentes perspectives de ces travaux de thèse peuvent être identifiées :
• Il serait intéressant d’étudier une règle de fusion des deux stratégies de reconnaissance
développées afin d’améliorer les performances. Dans un premier temps on pourrait se limiter au choix d’une des deux stratégies en fonction des paramètres de pose et des informations contextuelles (présence d’éléments occultants, reflets importants . . . ). L’étude d’une
règle de décision intégrant les réponses des deux stratégies permettrait d’améliorer encore
les performances de reconnaissance. La difficulté étant ici le choix et la paramétrisation de
la fonction de pondération des résultats de chaque stratégie.
• L’ensemble des travaux menés durant cette thèse s’appuient sur une modélisation
géométrique forte de nos objets. Une des perspectives de ces travaux serait d’utiliser
les changements de pose des véhicules dans la séquence pour estimer sa géométrie dans son
ensemble par des techniques de stéréo mouvement [Pollefeys et al.99] ou pour estimer la
géométrie locale de certaines zones d’intérêts [Molton et al.04].
• L’apparence des patchs ainsi que leur position peuvent être améliorés par des techniques de
SR 3D, en effectuant un optimisation simultanée sur l’apparence et la position du patch.
On peut citer dans ce cadre les travaux de [Dellaert et al.98b].
• Une poursuite intéressante de ces travaux de thèse pourrait concerner la vision active
[Tordoff et al.04]. En effet nous avons étudié la qualité du processus de reconnaissance à
partir des conditions de prises de vue, il serait alors intéressant de modifier les paramètres
caméra pour optimiser la reconnaissance.
126
127
Annexe A
Abbréviations
Les abréviations utilisées dans ce manuscrit sont résumées dans cette annexe.
ATR : Automatic Target Recognition.
CMIM : Conditionnal Mutual Information Maximisation.
CPDV : Condition de Prise de Vue.
DFD : Displaced Frame Difference.
DRI : Détection Reconnaissance Identification.
EKF : Extended Kalman Filter.
EER : Equal Error Rate.
EER PR : Precision Recall Equal Error Rate.
EWA : Elliptical Weighted Average.
FD : Frame Difference.
GLOH : Gradient Localisation Oriented Histogram.
HI : Histogram Intersection.
HOG : Histograms of Oriented Gradients.
LM : Levenberg Marquardt.
MAP : Maximum A Posteriori.
NCC : Normalized Cross-Correlation.
OR : Object Recognition.
PR : Precision Recall.
RANSAC : RANdom SAmple Consensus.
RMS : Root Mean Square.
128
ROC : Receiver Operating Characteristic.
SIFT : Scale Invariant Feature Transform.
SR : Super Résolution.
SSD : Sum of Square Differences.
SVM : Support Vector Machine. Machine à Vecteur de Support.
ZSSD : Zero mean Sum of Square Differences.
129
Annexe B
Données Utilisées
Nous présentons dans cette annexe les données utilisées lors de cette étude.
B.1
Données laboratoire
Un premier jeu de données a été créé à partir d’une base de 8 modèle réduits présentés sur la
figure B-1.
Figure B-1. Base de modèles réduits au 1/18ème
La figure B-2 présente le dispositif mis en oeuvre afin d’avoir un jeu de séquences dans lesquelles
les conditions de prise de vues sont maîtrisées. Les paramètres intrinsèques de la caméra sont
obtenus par calibration. Les mires disposées au quatre coins de la table tournante permettent
de déterminer précisément la calibration extrinsèque de la caméra. Les images sont de taille
640 ∗ 480 pixels.
130
Figure B-2. Exemple d’une image prise sur la table tournante avec conditions de prise de vues maîtrisées.
B.2
Données prises en conditions réelles
La figure B-3 présente deux images tirées de séquences prises en conditions réelles d’utilisation.
La calibration (intrinsèque et extrinsèque) a été estimée grossièrement. L’erreur de reprojection
est assez faible au centre de l’image, mais devient importante sur les bords. Les images font
720 ∗ 576 pixels.
Figure B-3. Séquences prises en conditions réelles. A gauche : la séquence 1. A droite : la séquence 2. Les
véhicules qui empruntent la rue se trouvant en bas de l’image de gauche sont vus sur la vidéo de droite
après un laps de temps variable.
131
Annexe C
Filtre de Kalman
C.1
Présentation du filtre de Kalman
Le filtre de Kalman [Kalman60] est une méthode récursive basée sur la modélisation des signaux.
Ce filtre permet de fournir l’estimée d’un vecteur d’état x̂k|k à l’instant t = tk , connaissant une
observation yk et les lois statistiques qui régissent les différentes erreurs.
Le modèle d’état est constitué d’une équation de dynamique (C.1) de l’état xk au temps tk ,
et d’une équation d’observation (C.2) :
xk = Axk−1 + vk−1
(C.1)
yk = Hxk + wk
(C.2)
A est la matrice de transition entre l’état à l’instant tk−1 et l’état à l’instant tk , vk correspond
au bruit sur le modèle. On considère qu’il s’agit d’un bruit blanc gaussien centré de variance Qk ,
vk ∼ N (0, Qk ).
H est la matrice d’observation. wk correspond au bruit de mesure, on considère qu’il s’agit
d’un bruit blanc gaussien centré de variance Rk , wk ∼ N (0, Rk )
L’estimée optimale x̂k|k de xk connaissant les observations y0 . . . yk est calculée en minimisant
l’erreur quadratique moyenne εk = xk − x̂k|k soit :
x̂opt = argminx̂k|k (E[kεk k2 ]) = argminx̂k|k (E[kxk − x̂k|k k2 ])
(C.3)
x̂opt = argminx̂k|k (trE[(xk − x̂k|k )(xk − x̂k|k )t ])
(C.4)
Ce qui donne :
Si l’on suppose que les processus sont gaussiens et que l’estimée optimale est fonction linéaire
des observations, on trouve alors que x̂k|k est la projection orthogonale de xk sur l’espace Yk des
combinaisons linéaires des observations y0 . . . yk , on a alors pour l’état estimé:
½
x̂k|k = E[xk |y0 . . . yt ]
(C.5)
Pk|k = E[(xk − x̂k|k )(xk − x̂k|k )t ]
Le filtre de Kalman consiste à effectuer un calcul récursif de x̂k|k . A l’instant tk , on dispose
de xk−1|k−1 et Pk−1|k−1 , ainsi que des observations y0 . . . yk−1 . On prédit le nouvel état xk|k−1
(C.6) à partir de l’équation de prédiction (C.1)
½
xk|k−1 = Axk−1|k−1
(C.6)
Pk|k−1 = APk−1|k−1 At + Qk
132
L’observation est prédite à l’aide de l’équation d’observation (C.2)
½
yk|k−1 = Hxk|k−1
Γk|k−1 = HPk|k−1 H t + Rk
(C.7)
Ensuite, on observe yk . L’innovation ek|k−1 est définie par ek|k−1 = yk − yk|k−1
Yk l’espace des observations à l’instant tk , engendré par y0 . . . yk peut se décomposer en
Yk = {y0 . . . yk−1 } ⊕ ek|k−1 . x̂k|k est la projection de xk sur Yk soit :
x̂k|k = E[xk |y0 . . . yk ]
(C.8)
x̂k|k = E[xk |y0 . . . yk−1 ∪ ek|k−1 ]
(C.9)
(C.10)
comme ek|k−1 ⊥ Yk−1
E[xk |y0 . . . yk−1 ∪ ek|k−1 ] = E[xk |y0 . . . yk−1 ] + E[xk |ek|k−1 ]
(C.11)
On sait que la projection de xk dans l’espace Yk−1 nous donne xk|k−1 , on a donc :
E[xk |y0 . . . yk−1 ] = xk|k−1
(C.12)
x̂k|k = x̂k|k−1 + E[xk |ek|k−1 ]
(C.13)
l’équation (C.10) devient :
E[xk |ek|k−1 ] est la projection de xk sur le vecteur ek|k−1
x̂k|k = x̂k|k−1 + Gek|k−1
(C.14)
avec
G =
< xk , ek|k−1 >
< xk , yk − yk|k−1 >
=
norm(ek|k−1 )
norm(ek|k−1 )
t
G = Γ−1
k|k−1 H Pk|k−1
G est appelé le gain de Kalman. On trouve finalement pour l’état optimal estimé :
½
x̂k|k = xk|k−1 + G(yk − yk|k−1 )
Pk|k = Pk|k−1 − GΓk|k−1 Gt
C.2
(C.15)
(C.16)
(C.17)
Le filtre de Kalman étendu
Le filtre de Kalman permet de calculer l’estimée optimale d’un état, lorsque celui-ci est caractérisé
par des équations linéaires stochastiques. On s’intéresse maintenant au cas où les équations de
mesure et de prédiction sont des fonctions non linéaires de l’état. L’approche du filtre de Kalman
étendu, consiste à linéariser les différentes fonctions non linéaires. En utilisant les séries de Taylor,
on peut linéariser les équations à l’aide des dérivées partielles pour arriver à estimer l’état en
dépit des relations non linéaires. Les équations de prédiction et d’observation deviennent dans
le cadre non linéaire:
xk = f (xk−1 ) + vk−1
(C.18)
133
Où f est la fonction de transition
yk = h(xk ) + wk
(C.19)
Où h est la fonction d’observation. On utilise le développement limité à l’ordre 1 de f en xk−1|k−1
:
δf
(x − xk−1|k−1 ) + ◦kxk
δx
On applique ce développement (C.20) à (C.18) pour x = xk−1 ,
f (x) = f (xk−1|k−1 ) +
xk = f (xk−1|k−1 ) +
δf
(xk−1 − xk−1|k−1 ) + vk−1 + ◦kxk
δxk−1
(C.20)
(C.21)
(C.22)
l’état prédit vaut :
xk|k−1 ' f (xk−1|k−1 )
(C.23)
Sa matrice de covariance vaut:
Pk|k−1 = E[xk|k−1 |xk−1|k−1 ]
Pk|k−1 = F Pk−1|k−1 F t + Qk−1
(C.24)
(C.25)
avec F = ∇f F est le Jacobien de la fonction de transition appliqué au point x = xk−1|k−1 . On
obtient pour l’état prédit xk|k−1 :
½
xk|k−1 = f (xk−1|k−1 )
(C.26)
Pk|k−1 = F Pk−1|k−1 F t + Qk−1
Pour l’étape d’observation on obtient (C.27) en utilisant un développement au premier ordre
de h
½
yk|k−1 = h(xk|k−1 )
(C.27)
Γk|k−1 = HPk|k−1 H t + Rk
On retrouve les mêmes équations pour l’état optimal estimé :
½
C.3
x̂k|k = xk|k−1 + G(yk − yk|k−1 )
Pk|k = Pk|k−1 − GΓk|k−1 Gt
(C.28)
Remarques concernant le filtre de Kalman étendu
La linéarisation au premier ordre d’un modèle non linéaire entraîne des erreurs sur l’estimée,
erreurs qui peuvent, en général, être négligées. Cependant le filtre de Kalman Étendu sous
estime la covariance d’erreur d’estimation. De plus si la prédiction xk|k−1 est très différente de
sa valeur réelle, alors l’approximation au premier ordre n’est plus valable. Ainsi l’estimée finale
est alors entachée d’erreurs. Pour réduire les effets dûs aux non-linéarités on peut appliquer
itérativement le filtre de Kalman. Nous utiliserons cette méthode par la suite pour le suivi de
véhicule.
134
C.4
Calcul de l’estimée par la technique du Maximum A Posteriori
L’étape de mise à jour du filtre de Kalman utilisée par Koller [Koller et al.93] consiste à appliquer l’estimateur Maximum a Posteriori (MAP) sur l’observation yk . On fait l’approximation
qu’une densité de probabilité gaussienne reste gaussienne après l’étape de prédiction (qui est
non-linéaire) xk ∼ N (xk|k−1 , Pk ). De la même manière yk ∼ N (xk , Rk ) et le MAP de l’état xk
connaissant la mesure yk s’écrit :
max(p(xk |yk ))
(C.29)
xk
en appliquant la règle de Bayes, on obtient :
p(xk |yk ) = p(yk |xk )p(xk )
(C.30)
Si l’on considère les processus comme étant gaussiens on a:
p(yk |xk ) =
p(xk ) =
1
1
T −1
p
e− 2 (yk −hk (xk )) Rk (yk −hk (xk ))
(2π)M/2 det(Rk )
1
1
T −1
p
e− 2 (xk −xk|k−1 )) Pk (xk −xk|k−1 )
(2π)17/2 det(Pk )
(C.31)
(C.32)
on trouve alors,
1
p(xk |yk ) = ke− 2 (yk −hk (xk ))
T R−1 (y −h (x ))
k
k k
k
1
.e− 2 (xk −xk|k−1 )
T P −1 (x −x
k
k|k−1 )
k
(C.33)
la densité de probabilité de l’équation (C.33) est alors maximale lorsque xk = x̂k|k En prenant
le logarithme de l’équation (C.33), le problème revient à minimiser la fonction J(x)
J(xk ) = (yk − hk (xk ))T Rk−1 (yk − hk (xk )) + (xk − xk|k−1 )T Pk−1 (xk − xk|k−1 )
³
´
x̂k|k = argminxk J(xk )
(C.34)
On cherche à minimiser une approximation quadratique (C.35) de J(xk ) autour de xk|k−1
La forme quadratique de J(x) est donnée par
J(x) = α + aT (x − xk|k−1 ) + (x − xk|k−1 )T A(x − xk|k−1 ) + ◦kx − xk|k−1 k2
(C.35)
la technique de Levenberg Marquardt consiste à introduire un paramètre µ variable dans la
forme quadratique (C.35).
On a
J(x) ≈ α + aT (x − xk|k−1 ) + (x − xk|k−1 )T A(x − xk|k−1 ) + µkx − xk|k−1 k2
(C.36)
On cherche les paramètres α, a et A. La fonction J(x) est minimum pour x = x̂k|k . Donc
∇J = 0 pour x = x̂k|k
∇J(x̂k|k ) = 0 = −2a + 2(A + µI)(x̂k|k − xk|k−1 )
(C.37)
(x̂k|k − xk|k−1 ) = (A + µI)−1 a
(C.38)
135
La dérivée seconde de J vaut ∇2 J = 2A. On dérive l’équation (C.35) pour trouver a et A :
00
a=
HkT Rk−1 (yk
J (xk ) ≈ 2HkT Rk−1 Hk + 2Pk−1
(C.39)
A = HkT Rk−1 Hk + Pk−1
hk (xk )) + Pk−1 (xk − xk|k−1 )
(C.40)
−
(C.41)
on trouve finalement l’équation (C.42)
(xi+1
− xik ) = (HkT Rk−1 Hk + Pk−1 + µI)−1 (HkT Rk−1 (yk − hk (xik )) + Pk−1 (xik − xk|k−1 ))
k
(C.42)
136
137
Annexe D
Extraction et polygonalisation de
contours
Nous présentons dans cette annexe les étapes d’extraction et de polygonalisation des contours
D.1
Principe
Pour effectuer cette extraction de segments on applique tout d’abord le détecteur de CannyDeriche [Deriche87] qui va révéler les contours de l’image, on polygonalise ensuite les contours à
l’aide de l’algorithme de la corde. On applique enfin la fusion des segments obtenus.
D.2
Détecteur de Deriche
Le détecteur de Canny-Deriche se compose de deux filtres 1D f et h appliqués horizontalement
et verticalement sur l’image. f est un filtre de lissage et h un filtre de dérivation 1D :
f (x) = k(α|x| + 1)e−α|x|
(D.1)
h(x) = −α2 xe−α|x|
(D.2)
Une fois l’image des gradients horizontaux et verticaux extraite, on calcule la norme du
gradient en chaque pixel et l’on ne retient que les pixels dont le gradient est supérieur à un seuil
bas appelé T1 . Pour cela on construit l’histogramme de la norme du gradient (figure D-1) et l’on
retient les n ∗ m ∗ T1 pixels qui ont la plus grande norme, m et n étant respectivement le nombre
de lignes et de colonnes de l’image.
D.2.1
Suppression des non maxima locaux
Un contour est un point où le changement d’intensité sur l’image est maximal. On souhaite
obtenir des points de contour d’une épaisseur de 1 pixel, pour cela on compare la valeur de la
norme du gradient d’un pixel aux valeurs voisines interpolées à l’aide des pixels voisins, et l’on
considère comme point du contour le pixel d’intensité maximum. Sur la figure D-2, on cherche à
savoir si A est un maximum local de la norme du gradient. B (respectivement C) sont interpolés
linéairement à partir de la norme du gradient des pixels A3 et A4 pour B (resp A7 et A8 pour C)
138
900
800
20
700
40
600
500
60
400
80
300
100
200
100
120
20
40
60
80
100
0
120
0
100
200
300
Figure D-1. Histogramme de la norme du gradient.
et le pixel A est considéré comme étant un point du contour seulement si la norme du gradient
en ce point est supérieure à celle en B et celle en C.
A
A1
A
2
3
B
g
A
8
A
A
4
C
A
7
A
6
A
5
Figure D-2. Recherche du maximum local de la norme du gradient dans la direction de celui-ci.
D.2.2
Seuillage par hysteresis
Après suppression des non maxima locaux et chaînage, on ne conserve que les contours dont un
des points est supérieur à un second seuil appelé seuil haut T2 .
D.3
D.3.1
Polygonalisation des contours
Algorithme de la corde
Une fois le filtre de Canny-Deriche appliqué, on obtient une image binaire des contours. Il faut
alors polygonaliser les contours obtenus. On souhaite minimiser l’erreur commise lors du passage
contour → segment, pour cela on calcule la distance maximale des points du contour à la droite
139
passant par les extrémités de celui-ci. Si cette distance est supérieure à un seuil fixé, on sépare le
segment de départ en deux sous segments et l’on réitère l’algorithme pour chaque sous-segment
(voir figure D-3).
Si (x1 , y1 ) et (x2 , y2 ) représentent les coordonnées des extrémités des segments l’équation de
la droite est donnée par :
x(y1 − y2 ) + y(x2 − x1 ) + y2 x1 − y1 x2 = 0.
(D.3)
Si (xi , yi ) sont les coordonnées d’un point de contour on calcule la distance di de ce point à
la droite par
xi ∗ (y1 − y2 ) + yi ∗ (x2 − x1 ) + y2 ∗ x1 − y1 ∗ x2
,
D
où D représente la longueur de la droite
di =
D=
p
(y2 − y1 )2 + (x2 − x1 )2 .
(D.4)
(D.5)
Sur l’exemple de la figure D-3, l’algorithme de la corde est appliqué sur un contour représenté
en gras. On considère un seuil h fixé. On calcule la distance maximum entre le contour et la
droite passant par les extrémités du contour. Cette distance maximum d se trouve au point
a. On a dans l’exemple d > h alors on coupe le segment en deux sous segments, et on réitère
l’algorithme pour chaque sous segment. Ici les distances maximum d1 et d2 pour chaque sous
segment sont inférieures au seuil, on peut donc arrêter l’algorithme.
a
a
c
d2
d
b
d1
Figure D-3. Illustration de l’algorithme de la corde. Dans cet exemple le contour est représenté en gras,
et les segments issus de la polygonisation sont représentés en traits fins sur la figure de droite.
D.3.2
Fusion des segments
Une fois la polygonisation réalisée, on applique une étape de fusion de segments. L’objectif de
la fusion est de relier les segments qui sont proches et qui ont des orientations similaires. On
introduit des critères à respecter pour la fusion de segments : les extrémités des segments doivent
être proches ainsi que la distance entre les segments eux-mêmes, et leurs orientations doivent
être similaires.
On introduit les tolérances à ne pas dépasser :
• la tolérance sur les angles entre les segments (angletol)
• tolérance sur la distance entre segments (la même que pour l’algorithme de la corde) notée
(h);
140
h
angletol
s2
linkrad
s1
Figure D-4. Tolérances pour la fusion de deux segments s1 et s2 .
• la tolérance sur la distance maximum entre segments (linkrad)
Si les distances entre deux segments respectent tous les critères précédents, alors on peut les
fusionner. Finalement on élimine les segments qui sont trop petits, en introduisant un seuil sur
la longueur.
Nous allons maintenant étudier l’influence des différents paramètres décrits précédemment et
interpréter leur influence sur le résultat de l’extraction.
D.4
Importance des différents paramètres
Le choix des paramètres pour l’extraction de segments est une tâche complexe. Les conditions
de prise de vue (les conditions d’illumination, la couleur de la voiture. . . ) influent beaucoup sur
la qualité de l’extraction. Il faut alors essayer de trouver des paramètres qui s’adaptent à toutes
les situations (mauvaise illumination, environnement occulté. . . ). On peut distinguer deux types
de paramètres à modifier : les paramètres liés à l’extraction de contours et les paramètres liés
à la polygonisation des contours extraits. Le choix de ces paramètres est très important car
l’ensemble des segments extraits constitue la seule observation obtenue à chaque instant, c’est
grâce à ces segments qu’on va tester l’adéquation du modèle.
D.4.1
Paramètres liés à l’extraction de contours
On étudie ici le paramètre α du filtre :
• α proche de zéro : bonne détection des contours mauvaise localisation,
• α grand : mauvaise détection, bonne localisation.
L’influence du paramètre α est illustrée sur la figure D-6. Si α est trop grand, on obtient
trop de détails sur la scène, alors qu’on ne cherche idéalement qu’à restituer les contours de la
voiture. Par contre si la valeur de α est trop petite, les contours sont mal restitués ce qui pénalise
la polygonisation. Expérimentalement nous avons trouvé que la valeur α = 1.2 convient bien
pour la segmentation des images dont nous disposons.
141
alpha proche de 0
alpha grand
0.2
0.8
0.15
0.6
0.1
0.4
0.05
0.2
0
0
−0.05
−0.2
−0.1
−0.4
−0.15
−0.6
−0.2
−20
−10
0
10
−0.8
−20
20
−10
0
10
20
Figure D-5. Influence du coefficient α sur le filtre de dérivation h.
alpha = 0.8
alpha = 1.2
alpha = 1.6
20
20
20
40
40
40
60
60
60
80
80
80
100
100
100
120
120
20
40
60
80
100 120
120
20
40
60
80
100 120
20
40
60
80
100 120
Figure D-6. Influence du coefficient α. En haut l’imagette sur laquelle vont être appliqués les traitements.
De gauche à droite le résultat de l’extraction pour α =0,8 1,2 et 1,6.
142
D.4.2
Paramètres de la polygonalisation
La modification de ces paramètres a pour effet de modifier le nombre de droites extraites mais
aussi de coller plus ou moins bien aux contours. Dans notre cas pour favoriser l’appariement, il
est préférable d’avoir des segments assez longs donc peu nombreux même s’il approximent moins
bien les contours du véhicule.
Influence du paramètre de distance entre segments : C’est le seul paramètre qui intervienne dans l’algorithme de la corde (i.e la distance maximale entre un segment et le
contour). Il conditionne directement le nombre de segments extraits du contour. Il faut
fixer la tolérance pour que le nombre de segments ne soit pas trop important (seuil bas)
mais que les segments extraits soient proches des contours.
Influence du paramètre de distance entre les extrémités du segment (tolérance linkrad) :
Il correspond au nombre de pixels maximum qu’il peut y avoir entre deux droites fusionnées. Il est plutôt intéressant de fixer cette tolérance assez basse pour éviter de fusionner
des segments n’appartenant pas au même contour. Nous avons retenu un paramètre égal
à 3.
Influence du paramètre d’angle maximum entre les segments (tolérance angletol) :
C’est l’angle maximal toléré entre deux segments pour les fusionner. Expérimentalement
un angle de 3◦ a été jugé suffisant. Il ne faut pas choisir cet angle trop petit afin de
disposer de segments de taille raisonnable même si les segments fusionnés perdent en
précision : en effet la direction du segment fusionné sera différente de celle des segments
initiaux.
D.5
Paramètres retenus
Voici la valeur des différents paramètres retenus :
paramètre
α
Thaut
Tbas
tol
degtol
linkrad
valeur retenue
1,2
0,4
0,3
1,5
3◦
5 pixels
143
Annexe E
Interprétation des résultats de
reconnaissance
Une approche qualitative n’est en générale pas suffisante pour valider le bon fonctionnement d’un
algorithme. Il est alors nécessaire d’utiliser des mesures de la qualité de celui-ci. En particulier
dans le domaine de la reconnaissance d’objets, dans lequel dans la majeure partie des cas la décision est binaire ou séparée en N-classes. Il est alors nécessaire de construire une base d’exemple
de test qui sera composée d’un ensemble d’objets étiquetés pour valider les performances du système. De nombreux challenges de reconnaissance existent, on peut citer par exemple PASCAL.
Un jeux de données est alors fourni, et bien souvent ces données s’accompagnent de métriques
d’évaluation. Nous nous intéressons dans la suite au cas de la classification binaire.
E.1
Présentation du problème
Prenons un problème de classification binaire, l’ensemble d’apprentissage est composé de i exemples de couples (Oi , Ci ) d’objets Oi munis d’un label Ci ∈ {0, 1}. La fonction de classification
appelée classifieur f et un seuil τ sont choisis de manière à avoir :
f (Oi ) > τ
lorsque Ci = 0 et f (Oi ) ≤ τ
lorsque Ci = 1
(E.1)
A partir de f et du seuil τ obtenus sur les exemples d’apprentissage, on valide les performances
obtenues sur un ensemble de test. On classe les résultats suivant la matrice de confusion suivante :
Résultat de la fonction de classification : positif
Résultat de la fonction de classification : négatif
Exemple positif
TP
FN
Exemple négatif
FP
TN
Figure E-1. Matrice de confusion dans le cadre de la classification binaire.
Tableau dans lequel les différents sigles représentent:
TP - True Positive : bonne détection, l’objet appartient à la classe C1 et a été bien classé
(f (Oi ) < τ ).
TN - True Negative : non détection vraie, l’objet appartient à la classe C0 et a été bien classé
(f (Oi ) ≥ τ ).
144
FP - False Positive : fausse alarme, l’objet appartient à la classe C1 et a été mal classé
(f (Oi ) ≥ τ ).
FN - False Negative : erreur de détection, l’objet appartient à la classe C0 et a été mal classé
(f (Oi ) < τ ).
Pour l’ensemble des exemples de test on compte le nombre de réponses de chaque catégorie
(TP,TN,FP,FN). Les mesures de la qualité de l’algorithme sont alors calculées en fonction des ces
quatre valeurs. Le problème de classification binaire intervenant dans de nombreux domaines, il
existe plusieurs types d’indicateurs. En général deux termes V 1 et V 2 antagonistes sont définis,
parfois ces deux mesures sont combinées pour former un indicateur global V , on peut citer comme
mesures couramment utilisées :
• Pour la reconnaissance de personnes [Verlinde et al.00] les mesures utilisées sont souvent:
FN
P
V 1 = F PF+T
N et V 2 = F N +T P appelées respectivement false acceptance rate (FAR) et
false rejection rate (FRR). Une mesure V est parfois définie à partir de la moyenne de ces
deux valeurs.
• Dans le domaine médical [Zweig et al.93] les mesures sont définies par V 1 =
N
V 2 = F PT+T
N appelées sensitivité et spécificité
TP
T P +F N
et
• Dans le cadre de la reconnaissance de cible les valeurs couramment employées sont V 1 =
TP
FP
T P +F N et V 2 = F P +T N appelées respectivement taux de détections et taux de fausses
alarmes (ce qui correspond respectivement à sensitivité et à 1-spécificité).
P
• Dans le cadre de la catégorisation de texte [Sebastiani02] il s’agit de V 1 = T PT+F
P et
P
2.V 1.V 2
V 2 = F PT+F
appelées
précision
et
rappel.
Une
mesure
globale
V
=
a
été
définie.
N
V 1+V 2
En général ce sont ces deux dernières mesures qui sont utilisées. La qualité de la fonction
de classification peut être estimée en traçant V1 en fonction de V2 en faisant varier τ . On
obtient alors la courbe communément appelée courbe Receiver Operating Characteristic (ROC)
[Green et al.], la figure E-2 présente des exemples de courbes ROC. La comparaison de des
performances de deux algorithmes de classification revient alors à étudier la position relative de
leur courbe ROC. Sur l’exemple de la figure E-2. L’algorithme de classification f1 correspondant
à la courbe bleue est plus performant que celui f2 représenté par la courbe rouge, en effet si
on regarde le graphique de gauche on remarque que pour un taux de fausses alarmes donné le
taux de détections de f1 est toujours supérieur à celui de f2 , il en est de même pour la courbe
de droite (la précision de f1 est supérieure à celle de f2 pour un taux de rappel donné). Sur
cet exemple la supériorité du classifieur f1 par rapport à f2 est évidente, dans le cas général la
position relative d’une courbe par rapport à l’autre peut évoluer, un algorithme peut être plus
performant qu’un autre pour un taux de fausses alarmes donné, et moins performant pour un
autre taux de fausses alarmes, le choix du classifieur dépend dans ce cas du contexte opérationnel.
L’utilisation pratique d’un classifieur nécessite de fixer le seuil τ , c’est à dire de choisir un point
de fonctionnement sur la courbe ROC. Nous présentons dans la prochaine section les critères de
définition de ce point de fonctionnement.
E.2
Réglages algorithmiques
L’utilisation de la règle de décision f ne peut être faite indépendamment du choix du seuil. La
sélection de celui-ci est obtenue suivant un critère défini par l’utilisateur. Il s’agit en général
145
Figure E-2. Exemples de courbes ROC calculées pour deux fonctions de classifications (le classifieur f2 est
représenté en rouge, f1 en bleu). A gauche : tracé du taux de détection en fonction du taux de fausses
alarmes. A droite : tracé de la précision en fonction du rappel. La droite de couleur verte représente le
point de fonctionnement EER pour les deux courbes, se reporter à la section E.2 pour plus de précisions.
d’une fonction de la forme [Bengio et al.03] :
τ ∗ = arg min g(V 1(τ ), V 2(τ ))
τ
(E.2)
Où g est une métrique de comparaison. Les critères les plus couramment utilisés sont appelés
Equal Error Rate (EER) ou Break Even Point (BER) et correspondent au seuil permettant
d’obtenir V1 le proche possible de V2, l’équation (E.2) devient alors:
τ ∗ = arg min |V 1(τ ) − V 2(τ )|
τ
(E.3)
Ce qui correspond à l’intersection de la droite verte avec la courbe sur la figure E-2. Il faut
garder à l’esprit que le choix de seuil correspond au comportement désiré de l’algorithme. Pour
certaines applications critiques il est nécessaire d’avoir un taux de détection à 1, ce qui implique
de placer le seuil τ suffisamment haut. On peut aussi régler le seuil directement par rapport à
l’un des termes, en fixant par exemple le taux de fausses alarmes à 10%.
E.3
Mesures détection/fausses alarmes vs précision/rappel
Les mesures les plus couramment utilisées pour représenter les performances d’un classifieur sont
celles présentées sur la figure E-2. Comme l’explique [Davis et al.06] dans son article, il existe une
relation forte entre ces deux courbes, cependant il convient de présenter quelques différences. En
effet les calculs de précisions/rappels ne prennent pas en compte les faux négatifs. Si on compare
les points de fonctionnements EER pour ces deux types de mesures on obtient
• pour la mesure de précision/rappel on a alors (PR-EER) F N = T P (indépendamment de
TN et FP)
146
• pour la mesure de détections/fausses alarmes T P.F P = T N.F N
Si l’on prend deux bases de test différentes on peut alors avoir un point de fonctionnement
PR-EER identique alors que celui de la mesure détection/fausses alarmes aura évolué. Pour
plus de précision sur le choix de la mesure à effectuer se reporter aux études de [Davis et al.06]
[Bengio et al.03][Provost et al.97].
147
Bibliographie
[Agarwal et al.04]
Agarwal (S.), Awan (A.) et Roth (D.). – Learning to detect objects
in images via a sparse, part-based representation. PAMI, vol. 26, n‌
11, November 2004, pp. 1475–1490.
[Aschwanden et al.92]
Aschwanden (P.) et Guggenbül (W.). – Experimental results from a
comparative study on correlation type registration algorithms. Robust computer vision: Quality of Vision Algorithms, éd. par Förstner
(W.) et Ruwiedel (S.), pp. 268–282. – Karlsruhe, Allemagne, Wichmann, mars 1992.
[Ayache et al.86]
Ayache (Nicholas) et Faugeras (Olivier). – Hyper: a new approach for
the recognition and positioning of 2D objects. IEEE Transactions on
Pattern Analysis and Machine Intelligence (PAMI), vol. 8, n‌ 1, 1986,
pp. 44–54.
[Baker et al.04]
Baker (Simon) et Matthews (Iain). – Lucas-kanade 20 years on: A
unifying framework. Int. J. Comput. Vision, vol. 56, n‌ 3, 2004, pp.
221–255.
[Barczak et al.06]
Barczak (A.L.C.), Johnson (M.J.) et Messom (C.H.). – Real-time
computation of haar-like features at generic angles for detection algorithms. Research Letters in the Information and Mathematical Sciences, vol. 9, 2006, pp. 98–111.
[Beier et al.92]
Beier (Thaddeus) et Neely (Shawn). – Feature-based image metamorphosis. SIGGRAPH, pp. 35–42. – 1992.
[Belongie et al.00]
Belongie (Serge) et Malik (Jitendra). – Matching with shape contexts. CBAIVL ’00: Proceedings of the IEEE Workshop on Contentbased Access of Image and Video Libraries (CBAIVL’00). p. 20. –
Washington, DC, USA, 2000.
[Bengio et al.03]
Bengio (S.) et Mariethoz (J.). – The expected performance curve: a
new assessment measure for person authentication, 2003.
[Bhanu86]
Bhanu (B.). – Automatic target recognition: State of the art survey.
IEEE Transactions on Aerospace and Electronic Systems, vol. 22, n‌
4, July 1986, pp. 364–379.
[Brown92]
Brown (L.G.). – A survey of image registration techniques. vol. 24,
n‌ 4, December 1992, pp. 325–376.
148
Bibliographie
[Carey et al.85]
Carey (R.J.) et Greenberg (D.P.). – Textures for realistic image
synthesis. Computers and Graphics, vol. 9, 1985, pp. 125–138.
[Chambon et al.02]
Chambon (S.) et Crouzil (A.). – Évaluation et comparaison de
mesures de corrélation robustes aux occultations. – Rapport de
recherche n‌ 2002-34-R, Université Paul Sabatier, UPS, France, Institut de Recherche en Informatique de Toulouse, IRIT, décembre
2002.
[Chen et al.99]
Chen (Baoquan), Dachille (Frank) et Kaufman (Arie E.). – Forward
image warping. IEEE Visualization ’99, éd. par Ebert (David), Gross
(Markus) et Hamann (Bernd), pp. 89–96. – San Francisco, 1999.
[Chen et al.04]
Chen (Wei), Ren (Liu), Zwicker (Matthias) et Pfister (Hanspeter). –
Hardware-accelerated adaptive ewa volume splatting. VIS ’04: Proceedings of the conference on Visualization ’04. pp. 67–74. – Washington, DC, USA, 2004.
[Dalal et al.05]
Dalal (Navneet) et Triggs (Bill). – Histograms of oriented gradients
for human detection. International Conference on Computer Vision
& Pattern Recognition, éd. par Schmid (Cordelia), Soatto (Stefano)
et Tomasi (Carlo), pp. 886–893. – INRIA Rhône-Alpes, ZIRST-655,
av. de l’Europe, Montbonnot-38334, June 2005.
[Davis et al.06]
Davis (Jesse) et Goadrich (Mark). – The relationship between
precision-recall and roc curves. ICML ’06: Proceedings of the 23rd
international conference on Machine learning. pp. 233–240. – New
York, NY, USA, 2006.
[Dellaert et al.98a]
Dellaert (Frank), Thorpe (Chuck) et Thrun (Sebastian). – Superresolved texture tracking of planar surface patches. IEEE/RSJ International Conference on Intelligent Robotic Systems. – October
1998.
[Dellaert et al.98b]
Dellaert (Frank), Thrun (Sebastian) et Thorpe (Chuck). – Jacobian
images of super-resolved texture maps for model-based motion estimation and tracking. IEEE Workshop on Applications of Computer
Vision (WACV’98). pp. 2–7. – Princeton, NJ, October 1998.
[Deriche et al.90]
Deriche (R.) et Faugeras (O). – Tracking line segments. Image and
Vision Computing, vol. 8, n‌ 4, 1990, pp. 261–270.
[Deriche87]
Deriche (R). – Using canny’s criteria to derive a recursively implemented optimal edge detector. International Journal of Computer
Vision, vol. 1, n‌ 2, 1987, pp. 167–187.
[Dragotti et al.03]
Dragotti (P.) et Vetterli (M.). – Wavelet footprints: Theory, algorithms, and applications, 2003.
[Effelterre05]
Effelterre. (Thierry Van). – Calcul exact du graphe d’aspect de solides
de révolution. – Thèse de PhD, Université de Rennes, 2005.
Bibliographie
149
[Eggert et al.93]
Eggert (D. W.), Bowyer (K. W.), Dyer (C. R.), Christensen (H. I.)
et Goldgof (D. B.). – The scale space aspect graph. IEEE Trans.
Pattern Anal. Mach. Intell., vol. 15, n‌ 11, 1993, pp. 1114–1130.
[Faugeras93]
Faugeras (Olivier). – Three-Dimensional Computer Vision: A Geometric Viewpoint. – Cambridge (MA), The MIT Press, 1993.
[Ferencz et al.05]
Ferencz (Andras), Learned-Miller (Erik G.) et Malik (Jitendra). –
Building a classification cascade for visual identification from one
example. ICCV, pp. 286–293. – 2005.
[Fergus et al.03]
Fergus (R.), Perona (P.) et Zisserman (A.). – Object class recognition
by unsupervised scale-invariant learning. Proceedings of the IEEE
Conference on Computer Vision and Pattern Recognition, pp. 264–
271. – juin 2003.
[Ferrari04]
Ferrari (V.). – Affine invariant Regions ++. – Thèse de PhD, Swiss
federal institute of technology, Zurich, 2004.
[Fischler et al.81]
Fischler (Martin A.) et Bolles (Robert C.). – Random sample consensus: a paradigm for model fitting with applications to image analysis
and automated cartography. Commun. ACM, vol. 24, n‌ 6, 1981, pp.
381–395.
[Fleuret04]
Fleuret (F.). – Fast binary feature selection with conditional mutual
information, 2004.
[Fraundorfer et al.05]
Fraundorfer (F.) et Bischof (H.). – A novel performance evaluation
method of local detectors on non-planar scenes. pp. III: 33–33. –
2005.
[Freeman et al.91]
Freeman (W. T.) et Adelson (E. H.). – The design and use of steerable filters. IEEE Trans. Pattern Analysis and Machine Intelligence,
vol. 13, n‌ 9, 1991, pp. 891–906.
[Freund et al.96]
Freund (Yoav) et Schapire (Robert E.). – Experiments with a new
boosting algorithm. International Conference on Machine Learning,
pp. 148–156. – 1996.
[Frome et al.07]
Frome (A.), Singer (Y.), Sha (F.) et Malik (J.). – Learning globallyconsistent local distance functions for shape-based image retrieval
and classification. pp. 1–8. – 2007.
[Geurts03]
Geurts (P.). – Extremely randomized trees, 2003.
[Ghosh et al.06]
Ghosh (Nirmalya) et Bhanu (Bir). – Incremental vehicle 3-d modeling from video. ICPR (3), pp. 272–275. – 2006.
[Gibson et al.00]
Gibson (Jerry D.) et Bovik (Al) (édité par). – Handbook of Image
and Video Processing. – Orlando, FL, USA, Academic Press, Inc.,
2000.
150
Bibliographie
[Gleicher97]
Gleicher (M.). – Projective registration with difference decomposition. CVPR ’97: Proceedings of the 1997 Conference on Computer
Vision and Pattern Recognition (CVPR ’97). p. 331. – Washington,
DC, USA, 1997.
[Gonzalez et al.87]
Gonzalez (Rafael C.) et Wintz (Paul). – Digital Image Processing. –
MA, Addison-Wesley, 1987, 2nd édition.
[Gool et al.96]
Gool (Luc J. Van), Moons (Theo) et Ungureanu (Dorin). – Affine/
photometric invariants for planar intensity patterns. ECCV ’96: Proceedings of the 4th European Conference on Computer Vision-Volume
I. pp. 642–651. – London, UK, 1996.
[Green et al.]
Green (David M.) et Swets (John A.). – Signal Detection Theory
and Psychophysics. – Peninsula Publishing.
[Greene et al.86]
Greene (Ned) et Heckbert (Paul S.). – Creating raster omnimax
images from multiple perspective views using the elliptical weighted
average filter. IEEE Comput. Graph. Appl., vol. 6, n‌ 6, 1986, pp.
21–27.
[Grimson et al.87]
Grimson (W.E.L.) et Lozano Perez (T.). – Localizing overlapping
parts by searching the interpretation tree. IEEE Transactions on
Pattern Analysis and Machine Intelligence, vol. 9, n‌ 4, July 1987, pp.
469–482.
[Guinet05]
Guinet (Jonathan). – Apport d’informations spatio-temporelles à la
détection d’objets sur séquences d’images. – Rapport technique n‌ RT
1/09392 DTIM, ONERA, Janvier 2005.
[Guo et al.05]
Guo (Yanlin), Hsu (Steven C.), Shan (Ying), Sawhney (Harpreet S.)
et Kumar (Rakesh). – Vehicle fingerprinting for reacquisition and
tracking in videos. CVPR (2), pp. 761–768. – 2005.
[Hager et al.98]
Hager (Gregory D.) et Belhumeur (Peter N.). – Efficient region
tracking with parametric models of geometry and illumination. IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 20,
n‌ 10, 1998, pp. 1025–1039.
[Harris et al.88]
Harris (C.) et Stephens (M.J.). – A combined corner and edge detector. Alvey Conference, pp. 147–152. – 1988.
[Heckbert89]
Heckbert (Paul S.). – Fundamentals of Texture Mapping and Image
Warping. – Thèse, 1989.
[Herbin98]
Herbin (S.). – Combining geometric and probabilistic structure for
active recognition of 3D objects. ECCV’98. pp. 748–764. – Berlin,
1998.
[Horn86]
Horn (Berthold K. P.). – Robot Vision (MIT Electrical Engineering
and Computer Science). – The MIT Press, March 1986, mit press ed
édition.
Bibliographie
151
[Huttenlocher et al.88]
Huttenlocher (D.P.) et Grimson (W.E.L.). – On the sensitivity of
the hough transform for object recognition. MIT AI Memo. – 1988.
[Ibanez et al.03]
Ibanez (Luis), Schroeder (Will), Ng (Lydia), Cates (Josh) et the
Insight Software Consortium. – The itk software guide, 2003.
[Jain et al.06]
Jain (Vidit), Ferencz (Andras) et Learned-Miller (Erik). – Discriminative training of hyper-feature models for object identification.
British Machine Vision Conference. – Edinburgh, UK, 2006.
[Jurie et al.02]
Jurie (Frederic) et Dhome (M.). – Hyperplane approximation for
template matching. IEEE Transactions on Pattern Analysis & Machine Intelligence, vol. 24, n‌ 7, 2002, pp. 996–1000.
[Jurie et al.05]
Jurie (Frederic) et Triggs (Bill). – Creating efficient codebooks for
visual recognition. ICCV ’05: Proceedings of the Tenth IEEE International Conference on Computer Vision (ICCV’05) Volume 1. pp.
604–610. – Washington, DC, USA, 2005.
[Kadir et al.03]
Kadir (T.) et Brady (M.). – Scale saliency : A novel approach to
salient feature and scale selection, 2003.
[Kalman60]
Kalman (R.E). – A new approach to linear filtering and prediction
problems. Transactions of the ASME- journal of Basic Engineering,
1960, pp. 35–45.
[Kanatani98]
Kanatani (Kenichi). – Geometric information criterion for model
selection. Int. J. Comput. Vision, vol. 26, n‌ 3, 1998, pp. 171–189.
[Kawanishi et al.04]
Kawanishi (T.), Kurozumi (T.), Kashino (K.) et Takagi (S.). – A
fast template matching algorithm with adaptive skipping using innersubtemplates’ distances. pp. III: 654–657. – 2004.
[Koenderink et al.79]
Koenderink (J.J.) et van Doorn (A.J.). – The internal representation
of solid shape with respect to vision. vol. 32, 1979, pp. 211–216.
[Koenderink et al.87]
Koenderink (J J) et van Doom (A J). – Representation of local
geometry in the visual system. Biol. Cybern., vol. 55, n‌ 6, 1987, pp.
367–375.
[Koller et al.93]
Koller (D.), Daniilidis (K.) et Nagel (H-H). – Model-based object
tracking in monocular image sequences of road traffic scenes. International Journal of Computer Vision, vol. 10, n‌3, 1993, pp. 257–281.
[Latecki et al.06]
Latecki (Longin Jan) et Miezianko (Roland). – Object tracking with
dynamic template update and occlusion detec. ICPR ’06: Proceedings of the 18th International Conference on Pattern Recognition. pp.
556–560. – Washington, DC, USA, 2006.
[LB et al.05]
Le Besnerais (Guy) et Champagnat (Frédéric). – Dense optical
flow estimation by iterative local window registration. Proceedings
of ICIP’05. IEEE, p. 4p. – Genova, Italy, septembre 2005.
152
Bibliographie
[Letienne et al.08]
Letienne (A.), Champagnat (F.), Kulcsár (C.), Besnerais (G. Le) et
Lesegno (P. Viaris De). – Fast Super-Resolution on moving objects
in video sequences. European Signal and Image Processing Conference (EUSIPCO), Lausanne, 29/08/2008-23/08/2008. p. (electronic
medium). – http://www.eurasip.org/, 2008.
[Lienhart et al.02]
Lienhart (R.) et Maydt (J.). – An extended set of haar-like features
for rapid object detection. Image Processing. 2002. Proceedings. 2002
International Conference on, vol. 1, 2002, pp. I–900–I–903 vol.1.
[Lindeberg et al.97]
Lindeberg (T.) et Garding (J.). – Shape-adapted smoothing in estimation of 3-d shape cues from affine deformations of local 2-d brightness structure, 1997.
[Lindeberg98]
Lindeberg (Tony). – Feature detection with automatic scale selection.
International Journal of Computer Vision, vol. 30, n‌ 2, 1998, pp. 77–
116.
[Lowe87]
Lowe (David G.). – The viewpoint consistency constraint. International Journal of Computer Vision, vol. 1, n‌ 1, March 1987, pp.
57–72.
[Lowe99]
Lowe (D.G.). – Object recognition from local scale-invariant features. International Conference on Computer Vision, pp. 1150–1157.
– 1999.
[Lowe01]
Lowe (D.G.). – Local feature view clustering for 3d object recognition. CVPR01, pp. I:682–688. – 2001.
[Lucas et al.81]
Lucas (B.D.) et Kanade (T.). – An iterative image registration technique with an application to stereo vision. IJCAI81, pp. 674–679. –
1981.
[Matas et al.02]
Matas (Jiří), Chum (Ondřej), Martin (Urban) et Pajdla (Tomáš).
– Robust wide baseline stereo from maximally stable extremal regions. Proceedings of the British Machine Vision Conference, éd. par
Rosin (Paul L.) et Marshall (David). pp. 384–393. – London, UK,
September 2002.
[Matthews et al.03]
Matthews (Iain), Ishikawa (Takahiro) et Baker (Simon). – The template update problem. Proceedings of the British Machine Vision
Conference. – September 2003.
[Mikolajczyk et al.01]
Mikolajczyk (Krystian) et Schmid (Cordelia). – Indexing based on
scale invariant interest points. pp. 525–531. – 2001.
[Mikolajczyk et al.02]
Mikolajczyk (K.) et Schmid (C.). – An affine invariant interest point
detector. ECCV (1), pp. 128–142. – 2002.
[Mikolajczyk et al.03]
Mikolajczyk (K.) et Schmid (C.). – A performance evaluation of local
descriptors, 2003.
Bibliographie
153
[Mikolajczyk et al.04]
Mikolajczyk (Krystian) et Schmid (Cordelia). – Scale and affine
invariant interest point detectors. International Journal of Computer
Vision, vol. 60, n‌ 1, 2004, pp. 63–86.
[Mikolajczyk et al.05]
Mikolajczyk (K.) et Schmid (C.). – A performance evaluation of local
descriptors. IEEE Transactions on Pattern Analysis and Machine
Intelligence, vol. 27, n‌ 10, October 2005, pp. 1615–1630.
[Molton et al.04]
Molton (N.D.), Davison (A.J.) et Reid (I.D.). – Locally planar patch
features for real-time structure from motion. Proc. British Machine
Vision Conference BMVC. – september 2004.
[Moreels et al.07]
Moreels (P.) et Perona (P.). – Evaluation of features detectors and
descriptors based on 3d objects. International Journal of Computer
Vision, vol. 73, n‌ 3, July 2007, pp. 263–284.
[Mulligan et al.00]
Mulligan (J.) et Daniilidis (K.). – Predicting disparity windows for
real-time stereo. pp. I: 220–235. – 2000.
[Mundy et al.92]
Mundy (Joseph L.) et Zisserman (Andrew) (édité par). – Geometric
invariance in computer vision. – Cambridge, MA, USA, MIT Press,
1992.
[Mundy06]
Mundy (Joseph L.). – Object recognition in the geometric era: A
retrospective. Toward Category-Level Object Recognition, pp. 3–28. –
2006.
[Nagel et al.99]
Nagel (H-H.) et Haag (M.). – Combination of edge element and optical flow estimates for 3d model based vehicle tracking. International
Journal of Computer Vision, vol. 35, n‌ 3, 1999, pp. 295–319.
[Nelder et al.65]
Nelder (J. A.) et Mead (R.). – A simplex method for function minimization. The Computer Journal, vol. 7, n‌ 4, January 1965, pp.
308–313.
[Nowak et al.07]
Nowak (Eric) et Jurie (Frederic). – Learning visual similarity measures for comparing never seen objects. Computer Vision and Pattern
Recognition, 2007. CVPR ’07. IEEE Conference on, pp. 1–8. – 2007.
[Odobez et al.95]
Odobez (J.-M.) et Bouthemy (P.). – Robust multiresolution estimation of parametric motion models. Journal of Visual Communication
and Image Representation, vol. 6, n‌ 4, December 1995, pp. 348–365.
[Ozcanli et al.06]
Ozcanli (Ozge C.), Tamrakar (Amir) et Kimia (Benjamin B.). –
Augmenting shape with appearance in vehicle category recognition.
CVPR ’06: Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. pp. 935–942. –
Washington, DC, USA, 2006.
[Palmer et al.81]
Palmer (S.), Rosch (E.) et Chase (P.). – Canonical perspective and
the perception of objects. Attention and Performance IX, 1981, pp.
135–151.
154
Bibliographie
[Papageorgiou et al.98]
Papageorgiou (C. P.), Oren (M.) et Poggio (T.). – A general framework for object detection. Computer Vision, 1998. Sixth International Conference on, 1998, pp. 555–562.
[Park et al.03]
Park (Sung Cheol), Park (Min Kyu) et Kang (Moon Gi). – Superresolution image reconstruction: a technical overview. Signal Processing Magazine, IEEE, vol. 20, n‌ 3, May 2003, pp. 21–36.
[Pece03]
Pece (A.). – The kalman em contour tracker. Statistical and Computational Theories of Vision, 2003.
[Pinz05]
Pinz (Axel). – Object categorization. Found. Trends. Comput.
Graph. Vis., vol. 1, n‌ 4, 2005, pp. 255–353.
[Pollefeys et al.99]
Pollefeys (M.), Koch (R.), Vergauwen (M.) et Gool (L. Van). – Handheld acquisition of 3d models with a video camera, 1999.
[Porter et al.03]
Porter (S.V.), Mirmehdi (M.) et Thomas (B.T.). – Video indexing
using motion estimation. pp. xx–yy. – 2003.
[Provost et al.97]
Provost (Foster J.), Fawcett (Tom) et Kohavi (Ron). – The case
against accuracy estimation for comparing induction algorithms. –
1997.
[Puzicha et al.97]
Puzicha (J.), Hofmann (T.) et Buhmann (J.M.). – Non-parametric
similarity measures for unsupervised texture segmentation and image
retrieval. pp. 267–272. – 1997.
[Radke05]
Radke (R.). – Image change detection algorithms: A systematic
survey, 2005.
[Ratanamahatana et al.02] Ratanamahatana (Chotirat Ann) et Gunopulos (Dimitrios). – Selective bayesian classifier: Feature selection for the naïve bayesian
classifier using decision trees, 2002.
[Reddy et al.04]
Reddy (V.S.K.) et Sengupta (S.). – A new predictive full-search
block motion estimation. pp. IV: 721–724. – 2004.
[Rothganger et al.03]
Rothganger (F.), Lazebnik (Svetlana), Schmid (Cordelia) et Ponce
(Jean). – 3d object modeling and recognition using affine-invariant
patches and multi-view spatial constraints. International Conference
on Computer Vision & Pattern Recognition, pp. 272–277. – 2003.
[Savarese et al.07]
Savarese (S.) et Fei (L. Fei). – 3d generic object categorization,localization and pose estimation. IEEE International Conference
on Computer Vision. – Rio, Brazil, 2007. ICCV’07.
[Schaffalitzky et al.02]
Schaffalitzky (Frederik) et Zisserman (Andrew). – Multi-view matching for unordered image sets, or "how do i organize my holiday
snaps?". ECCV ’02: Proceedings of the 7th European Conference
on Computer Vision-Part I. pp. 414–431. – London, UK, 2002.
Bibliographie
155
[Scharstein et al.01]
Scharstein (D.), Szeliski (R.) et Zabih (R.). – A taxonomy and evaluation of dense two-frame stereo correspondence algorithms, 2001.
[Schmid et al.97]
Schmid (Cordelia) et Mohr (Roger). – Local grayvalue invariants for
image retrieval. IEEE Trans. Pattern Anal. Mach. Intell., vol. 19, n‌
5, 1997, pp. 530–535.
[Sebastiani02]
Sebastiani (Fabrizio). – Machine learning in automated text categorization. ACM Computing Surveys, vol. 34, n‌ 1, 2002, pp. 1–47.
[Sivic et al.04]
Sivic (J.), Schaffalitzky (F.) et Zisserman (A.). – Object level grouping for video shots. Proceedings of the 8th European Conference on
Computer Vision, Prague, Czech Republic. – Signal Processing, mai
2004.
[Smeulders et al.00]
Smeulders (Arnold W. M.), Worring (Marcel), Santini (Simone),
Gupta (Amarnath) et Jain (Ramesh). – Content-based image retrieval at the end of the early years. IEEE Trans. Pattern Anal.
Mach. Intell., vol. 22, n‌ 12, December 2000, pp. 1349–1380.
[Swain et al.91]
Swain (Michael J.) et Ballard (Dana H.). – Color indexing. Int. J.
Comput. Vision, vol. 7, n‌ 1, 1991, pp. 11–32.
[Swain90]
Swain (Michael James). – Color indexing. – Thèse de PhD, 1990.
Supervisor-Dana H. Ballard.
[Thomas et al.06]
Thomas (Alexander), Ferrari (Vittorio), Leibe (Bastian), Tuytelaars
(Tinne), Schiele (Bernt) et Gool (Luc Van). – Towards multi-view object class detection. CVPR ’06: Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. pp. 1589–1596. – Washington, DC, USA, 2006.
[Tola et al.08]
Tola (Engin), Lepetit (Vincent) et Fua (Pascal). – A fast local descriptor for dense matching. Conference on Computer Vision and
Pattern Recognition. – Alaska, USA, 2008.
[Tordoff et al.04]
Tordoff (B.) et D. (Murray). – Reactive control of zoom while fixating
using perspective and affine cameras. IEEE Transactions on Pattern
Analysis and Machine Intelligence, vol. 26, n‌ 1, janvier 2004, pp.
98–112.
[Torr et al.98]
Torr (P. H. S.), Zisserman (A.) et Maybank (S. J.). – Robust detection of degenerate configurations while estimating the fundamental
matrix. Computer Vision and Image Understanding: CVIU, vol. 71,
n‌ 3, 1998, pp. 312–333.
[Turk et al.91]
Turk (M.) et Pentland (A.P.). – Eigenfaces for recognition. vol. 3, n‌
1, 1991, pp. 71–96.
[Tuytelaars et al.99]
Tuytelaars (Tinne) et Gool (Luc J. Van). – Content-based image
retrieval based on local affinely invariant regions. Visual Information
and Information Systems, pp. 493–500. – 1999.
156
Bibliographie
[Tuytelaars et al.00]
Tuytelaars (T.) et Gool (L. Van). – Wide baseline stereo matching
based on local, affinely invariant regions, 2000.
[Vapnik99]
Vapnik (Vladimir N.). – The Nature of Statistical Learning Theory
(Information Science and Statistics). – Springer, November 1999.
[Verlinde et al.00]
Verlinde (Patrick), Chollet (Gerard) et Acheroy (Marc). – Multimodal identity verification using expert fusion. Information Fusion,
vol. 1, n‌ 1, 2000, pp. 17–33.
[Vincent et al.91]
Vincent (L.) et Soille (P.). – Watersheds in digital spaces: an efficient algorithm based on immersion simulations. Pattern Analysis
and Machine Intelligence, IEEE Transactions on, vol. 13, n‌ 6, Jun
1991, pp. 583–598.
[Viola et al.97]
Viola (Paul) et William M. Wells (III). – Alignment by maximization
of mutual information. Int. J. Comput. Vision, vol. 24, n‌ 2, 1997, pp.
137–154.
[Viola et al.01]
Viola (P.) et Jones (M.). – Rapid object detection using a boosted
cascade of simple features. Computer Vision and Pattern Recognition, vol. 1, 2001, pp. 511–518.
[Wallraven et al.01]
Wallraven (C.) et Bülthoff (H.H.). –
Automatic acquisition
of exemplar-based representations for recognition from image sequences. – IEEE CS Press, 2001.
[Webb02]
Webb (Andrew R.). – Statistical Pattern Recognition, 2nd Edition.
– John Wiley & Sons, October 2002.
[Yu et al.03]
Yu (Lei) et Liu (Huan). – Feature selection for high-dimensional
data: A fast correlation-based filter solution. ICML, pp. 856–863. –
2003.
[Zhao et al.01]
Zhao (T.) et Nevatia (R.). – Car detection in low resolution aerial
images. International Conference on Computer Vision, vol. 1, 2001,
pp. 710–717.
[Zitova et al.03]
Zitova (Barbara) et Flusser (Jan). – Image registration methods: a
survey. Image and Vision Computing, vol. 21, n‌ 11, October 2003,
pp. 977–1000.
[Zweig et al.93]
Zweig (M. H.) et Campbell (G.). – Receiver-operating characteristic
(roc) plots: a fundamental evaluation tool in clinical medicine. Clin
Chem, vol. 39, n‌ 4, April 1993, pp. 561–577.