Reconnaissance Multi-vues de véhicules sur séquences d ... - ENSEA

thèse, et pour avoir apporté un regard axé fusion de données sur mes travaux, domaine qui m'est inconnu. ...... architecture de traitement adaptée à notre étude.
6MB taille 4 téléchargements 116 vues
É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 = |p|, ˙ 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 v˜ 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 + v˜k = ωk + ω ˜k = Pfk

(3.5)

v˜k et ω ˜ k ont une distribution Gaussienne v˜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 (