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, n3, 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.