• Aucun résultat trouvé

Contextualisation d'un détecteur de piétons : application à la surveillance d'espaces publics

N/A
N/A
Protected

Academic year: 2021

Partager "Contextualisation d'un détecteur de piétons : application à la surveillance d'espaces publics"

Copied!
189
0
0

Texte intégral

(1)

HAL Id: tel-00877032

https://tel.archives-ouvertes.fr/tel-00877032

Submitted on 25 Oct 2013

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Contextualisation d’un détecteur de piétons : application

à la surveillance d’espaces publics

Thierry Chesnais

To cite this version:

Thierry Chesnais. Contextualisation d’un détecteur de piétons : application à la surveillance d’espaces publics. Autre. Université Blaise Pascal - Clermont-Ferrand II, 2013. Français. �NNT : 2013CLF22362�. �tel-00877032�

(2)

N° d’ordre : D.U. 2362 EDSPIC : 614

Université Blaise Pascal - Clermont II

École Doctorale

Sciences Pour l’Ingénieur de Clermont-Ferrand

Thèse

Présentée par :

Thierry Chesnais

pour obtenir le grade de

Docteur d’Université

Spécialité : Vision pour la robotique

Contextualisation d’un détecteur de piétons :

Application à la surveillance d’espaces publics

Soutenue le 24 juin 2013

Composition du jury M. Roland Chapuis Président Mme. Saïda Bouakaz Rapporteur M. Arnaud De la Fortelle Rapporteur M. Xavier Clady Examinateur M. Nicolas Allezard Encadrant

M. Yoann Dhome Encadrant, Invité M. Thierry Chateau Directeur de thèse

Thèse préparée au sein du Laboratoire Vision et Ingénierie des Contenus du CEA, LIST (Saclay) en collaboration avec l’Institut Pascal (Clermont-Ferrand)

(3)
(4)

Remerciements

Une thèse est un effort collectif et il est utopique de croire qu’un étudiant solitaire puisse s’épanouir et faire un travail original. Je tiens donc ici à adresser mes remerciements à toutes les personnes qui ont participé de près ou de loin à cet ouvrage.

Ce travail est tout d’abord le fruit d’une collaboration entre le Laboratoire Vision et Ingénierie des Contenus (LVIC) du CEA, LIST (Saclay) et l’Institut Pascal (Clermont-Ferrand). Je tiens donc à remercier ici Messieurs François Gaspard et Michel Dhome pour m’avoir accueilli dans leurs unités.

Je voudrais ensuite remercier Roland Chapuis d’avoir accepté de présider mon jury de thèse, ainsi que Saïda Bouakaz, Arnaud de La Fortelle et Xavier Clady pour m’avoir fait l’honneur d’évaluer mes travaux de recherche.

Je souhaite aussi exprimer ma reconnaissance à mon directeur de thèse Thierry Chateau et à mes encadrants Nicolas Allezard et Yoann Dhome pour tous les conseils prodigués au cours de ces années.

J’aimerais également remercier tous mes collègues et particulièrement les doctorants avec qui j’ai pu échanger et discuter. Sans votre bonne humeur et vos remarques cette thèse n’aurait certainement pas été la même.

Enfin je n’oublie pas les personnes de l’ombre, famille et amis pour leurs encourage-ments et toute l’aide qu’ils m’ont apportée.

(5)

Résumé

La démocratisation de la « vidéosurveillance intelligente » nécessite le développement d’outils automatiques et temps réel d’analyse vidéo. Parmi ceux-ci, la détection de piétons joue un rôle majeur car de nombreux systèmes reposent sur cette technologie. Les approches classiques de détection de piétons utilisent la reconnaissance de formes et l’apprentissage statistique. Elles souffrent donc d’une dégradation des performances quand l’apparence des piétons ou des éléments de la scène est trop différente de celle étudiée lors de l’apprentissage.

Pour y remédier, une solution appelée « contextualisation du détecteur » est étudiée lorsque la caméra est fixe. L’idée est d’enrichir le système à l’aide d’informations provenant de la scène afin de l’adapter aux situations qu’il risque de fréquemment rencontrer.

Ce travail a été réalisé en deux temps. Tout d’abord, l’architecture d’un détecteur et les différents outils utiles à sa construction sont présentés dans un état de l’art. Puis la problématique de la contextualisation est abordée au travers de diverses expériences validant ou non les pistes d’amélioration envisagées. L’objectif est d’identifier toutes les briques du système pouvant bénéficier de cet apport afin de contextualiser complètement le détecteur.

Pour faciliter l’exploitation d’un tel système, la contextualisation a été entièrement automatisée et s’appuie sur des algorithmes d’apprentissage semi-supervisé. Une première phase consiste à collecter le maximum d’informations sur la scène. Différents oracles sont proposés afin d’extraire l’apparence des piétons et des éléments du fond pour former une base d’apprentissage dite contextualisée. La géométrie de la scène, influant sur la taille et l’orientation des piétons, peut ensuite être analysée pour définir des régions, dans lesquelles les piétons, tout comme le fond, restent visuellement proches.

Dans la deuxième phase, toutes ces connaissances sont intégrées dans le détecteur. Pour chaque région, un classifieur est construit à l’aide de la base contextualisée et fonctionne indépendamment des autres. Ainsi chaque classifieur est entraîné avec des données ayant la même apparence que les piétons qu’il devra détecter. Cela simplifie le problème de l’apprentissage et augmente significativement les performances du système.

Mots clés : vidéosurveillance, détection de piétons, apprentissage statistique,

(6)

Abstract

With the rise of videosurveillance systems comes a logical need for automatic and real-time processes to analyze the huge amount of generated data. Among these tools, pedestrian detection algorithms are essential, because in videosurveillance locating people is often the first step leading to more complex behavioral analyses. Classical pedestrian detection approaches are based on machine learning and pattern recognition algorithms. Thus they generally underperform when the pedestrians’ appearance observed by a camera tends to differ too much from the one in the generic training dataset.

This thesis studies the concept of the contextualization of such a detector. This consists in introducing scene information into a generic pedestrian detector. The main objective is to adapt it to the most frequent situations and so to improve its overall performances. The key hypothesis made here is that the camera is static, which is common in videosurveillance scenarios.

This work is split into two parts. First a state of the art introduces the architecture of a pedestrian detector and the different algorithms involved in its building. Then the problem of the contextualization is tackled and a series of experiments validates or not the explored leads. The goal is to identify every part of the detector which can benefit from the approach in order to fully contextualize it.

To make the contextualization process easier, our method is completely automatic and is based on semi-supervised learning methods. First of all, data coming from the scene are gathered. We propose different oracles to detect some pedestrians in order to catch their appearance and to form a contextualized training dataset. Then, we analyze the scene geometry, which influences the size and the orientation of the pedestrians and we divide the scene into different regions. In each region, pedestrians as well as background elements share a similar appearance.

In the second step, all this information is used to build the final detector which is composed of several classifiers, one by region. Each classifier independently scans its dedicated piece of image. Thus, it is only trained with a region-specific contextualized dataset, containing less appearance variability than a global one. Consequently, the training stage is easier and the overall detection results on the scene are improved.

Key words: videosurveillance, pedestrian detection, machine learning, semi-supervised learning, contextualization.

(7)
(8)

Table des matières

1 Introduction 1

1.1 Cadre de l’étude . . . 1

1.2 Contextualisation d’un détecteur de piétons . . . 6

1.3 Présentation du mémoire et travaux réalisés . . . 8

I État de l’art 11 2 Détection de piétons 11 2.1 Introduction. . . 12

2.2 Approches basées sur la discontinuité temporelle . . . 14

2.3 Approches basées sur la reconnaissance de formes . . . 18

2.4 Conclusion . . . 40

3 Contextualisation d’un détecteur 41 3.1 Introduction. . . 42

3.2 Limites des détecteurs génériques . . . 42

3.3 Évaluation d’un détecteur de piétons . . . 44

3.4 Travaux préliminaires justifiant la contextualisation. . . 51

3.5 Apprentissage pour la contextualisation . . . 53

3.6 Conclusion . . . 63

II Travaux réalisés 65 Positionnement de la thèse 65 4 Contextualisation par oracle 69 4.1 Introduction. . . 70

4.2 Définition et propriétés d’un oracle . . . 70

4.3 Oracle 2D . . . 71

4.4 Oracle 3D . . . 95

(9)

viii Table des matières

5 Stratégies de sélection des exemples issus de l’oracle 109

5.1 Introduction. . . 110

5.2 Sélection aléatoire . . . 112

5.3 Sélection par score, par apparence et par suivi. . . 117

5.4 Sélection par contraintes géométriques et spatiales . . . 124

5.5 Conclusion . . . 135

6 Application à un système automatique de détection de piétons 137 6.1 Introduction. . . 138

6.2 Hypothèses de recherche . . . 138

6.3 Intégration de l’oracle dans le détecteur . . . 144

6.4 Réglage automatique du seuil de détection . . . 154

6.5 Conclusion . . . 163

7 Conclusion et Perspectives 167

(10)

1

Introduction

Ces dernières années, l’augmentation de la puissance de calcul des outils informatiques a permis l’émergence de la vision par ordinateur, dont le but est de permettre à une intelligence artificielle de comprendre une image. Cette technologie est à la base de nombreuses applications comme la robotique, la réalité augmentée. . .

Dans cette thèse, nous nous intéressons à la vidéosurveillance dite « intelligente », c’est-à-dire à l’étude des algorithmes visant à perfectionner les systèmes traditionnels qui reposent généralement sur la vigilance d’opérateurs humains. Notre but principal est de rendre les détecteurs de piétons plus performants grâce à la prise en compte du contexte. Cela signifie, enrichir automatiquement le détecteur avec des informations caractéristiques de la scène observée.

1.1

Cadre de l’étude

Cette partie expose les motivations de cette étude due à l’importance du développe-ment actuel des technologies de vidéosurveillance et de détection de piétons.

La vidéosurveillance

La vidéosurveillance répond à une demande forte émanant de la société. Elle consiste à déployer, dans un lieu public ou privé, un ensemble de caméras afin d’observer et de surveiller ce qu’il s’y passe. De tels systèmes sont installés en priorité dans les centres-villes, les transports en commun, les parkings, sur le réseau routier ou dans certains sites sensibles (administrations, sites industriels. . . ). Bien que les premières utilisations de la vidéosurveillance datent du milieu du XXe siècle, c’est réellement à partir des années 1990-2000 que la technologie prend son essor.

(11)

2 Introduction L’objectif premier d’un système de vidéosurveillance est d’améliorer la sécurité géné-rale des biens et des personnes. Cet outil permet de lutter contre la plupart des types de délinquance commis sur la voie publique et facilite la mission des forces de l’ordre et des magistrats. En ce sens les attentes envers ces dispositifs sont très importantes. Grâce à la vidéo, il est par exemple possible d’observer un lieu, d’identifier ou de suivre des personnes et des objets, d’analyser de manière statistique les flux de déplacement d’une foule ou des véhicules et de détecter des anomalies comme des événements rares (voiture remontant une file en sens inverse). Il est ainsi possible d’espérer une réduction du nombre de délits grâce au pouvoir de dissuasion ou une augmentation du taux d’élucidation des investigations (aide à la filature, identification à distance de personnes recherchées. . . ).

Néanmoins une part importante de l’apport de la vidéosurveillance réside dans son aspect préventif. Dans le cadre de la prévention routière, la détection des conduites dangereuses, l’analyse en temps réel de l’état du trafic, la mise en garde du public sur des dangers potentiels, les systèmes d’aide à la conduite et la lutte contre les infractions au stationnement sont autant d’applications permettant une amélioration des conditions de sécurité. Dans les transports, la surveillance du réseau rendrait possible l’interven-tion prompte des services de sécurité lors de la découverte d’un colis abandonné ou de l’obstruction de voies de chemin de fer. . .

Dans un contexte industriel, les caméras permettent le contrôle des accès d’une instal-lation sensible (outils de reconnaissance faciale) et la détection d’éventuelles intrusions. Elles peuvent aussi aider à contrôler le bon déroulement d’un processus et à inspecter l’état des installations en temps réel.

Dans des problématiques d’aide à la personne, les gens égarés dans un hôpital peuvent être repérés plus facilement et plus rapidement afin de les aider. Dans le contexte du maintien à domicile, un système capable d’analyser la posture d’un humain pourrait avertir les secours en cas de chute ou de malaise.

Ces dernières années, de nombreux pays se sont équipés de systèmes de vidéosur-veillance [Dee et Velastin, 2008]. Le Royaume-Uni est certainement le pays comptant le plus de caméras par habitant : entre 1,8 million et 4,2 millions de caméras (toutes caméras confondues) pour 63 millions de Britanniques.

En France, le gouvernement a encouragé à partir de 2007, l’installation de systèmes de vidéosurveillance sur la voie publique avec comme objectif de tripler leur nombre. Suivant les sources, mentionnées dans [Migaud et al.,2011], le nombre de caméras installées sur la voie publique serait compris entre 10 000 et 40 000 en 2010.

Il est délicat de dresser un premier bilan de l’exploitation à grande échelle de ces technologies encore immatures, car au final peu d’études sont conduites sur le sujet. L’évaluation de l’efficacité des dispositifs de vidéosurveillance pour la lutte contre la criminalité est difficile. La mesure de la baisse ou non de la délinquance n’est pas un indicateur suffisant, puisque la vidéosurveillance n’est qu’un outil parmi d’autres et doit s’intégrer dans un ensemble plus global. La criminalité est un phénomène complexe pour lequel de nombreux paramètres entrent en ligne de compte : niveau des installations, présence policière, conditions sociales. . .

(12)

Introduction 3 Le rapport publié par la Cour des Comptes [Migaud et al., 2011] esquisse un bilan mitigé et critique la mise en place des systèmes actuels. Outre les problèmes liés au respect de la vie privée (espionnage de la population, observation potentielle d’appartements privés par les fenêtres. . . ), se pose la question de l’efficacité et du coût de ces équipements.

Selon certaines sources, l’apport de la vidéosurveillance est encourageant. Dans les espaces clos, dans les parkings ou dans les transports équipés, une diminution impor-tante de la petite criminalité est constatée. Néanmoins, il semblerait que les systèmes déployés à l’échelle d’une ville ont un effet peu significatif. La Cour des Comptes avance dans son rapport, que 3% des affaires élucidées sur la voie publique le sont grâce à la vidéosurveillance.

L’investissement lié à l’installation d’un système de vidéosurveillance dans l’espace public est élevé. Cela nécessite du matériel ainsi que sa mise en place, son raccordement au réseau et un système de traitement. . . Les chiffres avancés sont très variables d’une commune à l’autre. En moyenne l’installation d’une caméra représente un coût d’environ 20 000 euros tout compris. À cela s’ajoutent les frais d’exploitation (rémunération du personnel, entretien et remplacement du matériel défectueux. . . ) chiffrés en moyenne à 7 400 euros par an et par caméra.

Le financement des outils de vidéosurveillance est aujourd’hui considérable mais ceux-ci restent sous-exploités en raison d’un manque de moyens humains. En effet, l’un des plus gros problèmes posés à la vidéosurveillance est le traitement de la masse de données. Le nombre de caméras est trop important pour que toutes soient visionnées en permanence et les opérateurs sont obligés de passer successivement d’une vue à l’autre. Dans leur analyse, [Dee et Velastin,2008] estiment que dans le meilleur des cas, le flux d’une caméra sur quatre est observé. Ce rapport peut descendre à 1/78. Ainsi seulement un faible pourcentage de vidéos est visionné. Pire, le travail des agents est extrêmement répétitif et lassant du fait du peu de situations anormales. Cela rend la probabilité d’observer un flagrant délit relativement faible et de nombreux systèmes ne sont utilisés qu’a posteriori. Malheureusement, la recherche est difficile car repérer un événement qui n’a duré que quelques secondes parmi des heures de vidéo nécessite un travail lourd et peu gratifiant. Avec les systèmes actuels l’humain est au cœur du processus. Comme il est très difficile pour un agent de maintenir son attention en permanence et de surveiller beaucoup de caméras à la fois, les performances globales des dispositifs sont limitées.

Une piste pour remédier à ces problèmes est le développement de la « vidéosurveillance intelligente ». Son but est d’aider les opérateurs en les avertissant lorsque quelque chose d’anormal se produit, puis à terme de remplacer ces métiers difficiles. De nombreux défis techniques restent à résoudre pour voir apparaître de tels outils pleinement fonctionnels. Une des premières étapes d’un système consiste souvent à détecter la présence d’humains dans la scène. Cette information est importante car elle conditionne bien souvent la suite des traitements.

Dans cette thèse nous nous intéresserons à la détection de piétons dédiée à la vidéo-surveillance. Cela implique en particulier un traitement en temps réel des images (au moins 10 images par seconde) provenant d’une caméra fixe.

(13)

4 Introduction

La détection de piétons

La détection de piétons est une discipline apparue à la fin des années 1990. Elle consiste à déterminer le plus précisément possible, la présence et la localisation de toutes les personnes dans une image. Elle est présente dans de nombreuses applications et est souvent un élément de base d’un traitement plus complexe.

Ses applications ne se cantonnent d’ailleurs pas à la vidéosurveillance. De nombreux systèmes d’aide à la conduite (ou ADAS pour Advanced Driver Assistance Systems) reposent sur cette brique pour avertir le conducteur en cas de danger. Ce champ de recherche reste encore très actif aujourd’hui du fait de son importance et des difficultés sous-jacentes.

La détection de piétons est une technologie complexe reposant sur de nombreux composants logiciels. Elle est souvent basée sur des approches de reconnaissance de formes dont le but est d’apprendre puis de retrouver dans l’image, l’allure générale d’un humain. La figure 1.1 montre le résultat attendu d’une détection : chaque piéton est entouré par un rectangle englobant.

Figure 1.1 – Exemple de résultat obtenu à l’aide d’un détecteur de piétons. Cependant de nombreux facteurs peuvent fortement influer sur la silhouette d’une personne. Le premier paramètre à prendre en compte est la nature même d’un humain. Un piéton est imprévisible. Il est aussi articulé et peut prendre des poses très diverses. Contrairement à une voiture faite d’un seul bloc, l’apparence et la direction d’une per-sonne peuvent changer à tout instant rendant plus difficile sa détection et son suivi. Deuxièmement, les situations dans lesquelles peut se retrouver une personne sont très variées. Par exemple, est-elle seule, à proximité d’un groupe de personnes ou dans une foule ? Est-elle occultée par un objet ? Porte-t-elle des bagages ou tout autre objet mo-difiant son apparence ? Dans quel type d’environnement évolue-t-elle ? L’arrière-plan est-il simple, dégagé ou au contraire complexe avec de nombreuses structures pouvant ressembler à un humain ? Pour finir, les conditions de prise de vue accentuent encore cette diversité. La position de la caméra, sa hauteur, son orientation, sa résolution mais aussi les conditions extérieures comme la météo ou la présence d’éclairages artificiels sont autant de paramètres susceptibles de changer l’apparence du piéton dans l’image.

(14)

Introduction 5 Tout ceci complexifie considérablement le problème de la reconnaissance de la forme d’un humain et donc les algorithmes de détection. Cela engendre mécaniquement une hausse des temps de calculs. Pour simplifier les traitements et les rendre compatibles avec le temps réel, il n’est pas rare de se limiter à un sous-ensemble de situations. Un cas classique en vidéosurveillance consiste à prendre uniquement en compte les piétons qui se tiennent debout. Bien sûr cela ne convient pas à toutes les applications et il pourrait être utile dans un établissement de santé d’émettre une alarme si un patient gît à terre. Une approche possible pour réaliser un module de détection de piétons est de se baser sur des algorithmes de reconnaissance de formes dont le but est de discriminer la forme d’une personne par rapport au fond. Concrètement la première étape consiste à capturer la diversité d’apparence des humains et du fond grâce à la construction d’une base d’apprentissage. Celle-ci doit être la plus grande et la plus variée possible pour rendre compte de la richesse des situations pouvant être rencontrées par le détecteur. La figure 1.2 montre un échantillon d’une base d’apprentissage dédiée à la détection de piétons avec les deux catégories d’images.

(a) Images de fond (b) Images de piétons

Figure 1.2 – Échantillon d’une base d’apprentissage dédiée à la détection de piétons contenant des images de fond et de piétons. (source : INRIA Person Dataset)

Dans un deuxième temps, un algorithme d’apprentissage va étudier et dégager des propriétés de cette base pour créer un modèle représentant une frontière entre les deux classes. Un classifieur s’appuie ensuite sur ce modèle pour différencier les éléments des deux groupes.

Une fois le classifieur construit, la phase de détection consiste à découper l’image en rectangles qui se recouvrent, puis à comparer leur contenu avec le modèle. Si en un point donné, l’image est suffisamment proche du modèle de piéton construit précédemment alors le détecteur indique la présence d’un piéton.

(15)

6 Introduction

1.2

Contextualisation d’un détecteur de piétons

Nous venons de voir que les algorithmes usuels de détection de piétons reposent sur l’utilisation d’une base d’apprentissage pour apprendre les différences entre une personne et le fond.

Intuitivement il est aisé de comprendre qu’avec une telle approche, un détecteur repère beaucoup mieux les événements qu’il a déjà rencontrés auparavant. Pour obtenir des performances maximales, il faut que la base d’apprentissage et les vidéos visionnées partagent des caractéristiques similaires. Or les scènes rencontrées en vidéosurveillance sont très variées (figure 1.3) et il est utopique de croire, en l’état actuel des connais-sances, qu’il suffirait de construire une immense base d’apprentissage contenant toutes les situations possibles pour résoudre le problème. La création de bases d’apprentissage de qualité reste une activité manuelle. Capturer la variabilité d’apparence des piétons mais aussi celle des exemples de fond, qui est encore plus vaste, requerrait une masse de travail colossale. D’autre part, cette base d’apprentissage serait extrêmement complexe à appréhender pour un algorithme d’apprentissage. Intuitivement, plus les données sont nombreuses, plus il est difficile de les séparer correctement. Traiter toute cette infor-mation nécessiterait alors des moyens de calculs très importants. En l’état actuel des connaissances, il est donc difficile pour un système de prendre en compte tous ces cas de figure afin de fonctionner de manière universelle.

Figure1.3 – Ces deux images comportent plusieurs difficultés pour un détecteur. Cer-tains piétons sont penchés, occultés, observés à des échelles différentes, d’autres trans-portent des bagages. . . Le décor est aussi très spécifique avec la présence de mannequins. Une base d’apprentissage générique (figure1.2) ne contenant que des piétons droits et des éléments de fond quelconques ne peut pas servir à la création d’un détecteur de piétons performant et universel.

Nous avons donc choisi d’explorer une autre voie. Plutôt que de construire un détecteur générique capable de fonctionner dans toutes les situations, nous avons décidé de réaliser un détecteur et de l’enrichir avec des informations provenant de la scène qu’il sera amené à traiter : c’est la contextualisation. L’enjeu est alors d’inclure directement dans le détecteur, les éléments de contexte de la scène dont il a besoin. Cela passe évidemment par

(16)

Introduction 7 la base d’apprentissage mais aussi par la connaissance de la structure du lieu observé afin d’optimiser la recherche dans l’image. Ainsi, le classifieur a de meilleures performances et il est plus simple car il a été entraîné à reconnaître uniquement les événements qui le concernent.

Dans le cadre de la vidéosurveillance, cette approche soulève de nombreuses difficultés. Il est en effet inconcevable de fabriquer manuellement, comme cela se fait actuellement, une base spécifique pour chaque caméra vu les millions de systèmes déployés dans le monde. Il semble aussi fastidieux de devoir optimiser manuellement tous les paramètres d’un détecteur pour toute nouvelle installation. Cela requerrait du temps et probablement les compétences d’un expert en vision.

Notre approche tente de répondre à ces problèmes en automatisant le travail de contextualisation nécessaire afin de maximiser les performances tout en minimisant la charge de travail des opérateurs humains. L’enjeu de la contextualisation est d’extraire l’information présente dans la scène afin de la transmettre au détecteur et ainsi d’améliorer ses performances. Pour être exploitable dans le cadre de l’installation d’un réseau de caméras important, la contextualisation doit être automatisée.

La procédure de contextualisation, que nous avons développée, est représentée sur la figure1.4. Le flux vidéo filmant la scène est d’abord analysé. D’une part, l’apparence des piétons et des éléments du fond est extraite et collectée dans une base d’apprentissage dite contextualisée : c’est le rôle de l’oracle. La base ainsi créée est alors utilisée par un algorithme d’apprentissage lors de la formation du détecteur contextualisé. D’autre part les contraintes géométriques s’exerçant sur la scène peuvent renseigner sur la présence potentielle de piétons dans une zone de l’image ou sur leur apparence. Il convient donc de prendre également en compte ces informations dans le détecteur contextualisé.

(17)

8 Introduction

1.3

Présentation du mémoire et travaux réalisés

Ce mémoire est découpé en 2 parties. La première comporte deux chapitres et est dédiée à l’état de l’art en vue de justifier les choix effectués sur l’architecture générale du système. La seconde est découpée en trois chapitres et présente les travaux réalisés au cours de la thèse.

Plus précisément, le chapitre2s’intéresse à l’état de l’art sur les méthodes de détection de piétons. La littérature dans ce domaine est très riche et de nombreuses variantes existent pour chaque composante du détecteur. Deux grandes familles d’algorithmes s’affrontent. Les premiers, basés sur la discontinuité temporelle du signal vidéo, sont très souples mais repèrent tous les objets en mouvement. À l’inverse les seconds reposent sur la reconnaissance de formes. Ils présentent l’avantage de détecter uniquement les piétons mais sont plus rigides car ils ne s’adaptent pas facilement à un nouveau point de vue.

Le chapitre3aborde les enjeux de la contextualisation. Il démarre par la présentation des erreurs les plus fréquemment rencontrées lors de l’utilisation d’un détecteur de piétons générique. Nos travaux préliminaires confirment alors l’intérêt de la contextualisation et montrent très nettement l’apport d’une telle solution. La suite de ce chapitre est donc consacrée à l’étude des différentes approches existantes pour la contextualisation d’un détecteur de piétons.

Après avoir vérifié l’importance de la contextualisation pour un détecteur de piétons, la seconde partie du mémoire commence par présenter notre positionnement par rapport à l’état de l’art et les spécificités de notre approche.

Notre méthode de contextualisation repose sur l’utilisation d’un oracle dont le rôle est de collecter des exemples de piétons et de fond en provenance de la scène. Afin que l’apprentissage contextualisé trouve une bonne séparation entre les deux classes, il est primordial que l’oracle commette le moins d’erreurs possible. L’oracle emploie donc une combinaison d’algorithmes de détection de piétons : reconnaissance de formes afin de garantir que la base ne contient que des piétons et discontinuité temporelle pour valider les observations. Le chapitre4décrit les différents oracles proposés : un oracle 2D capable de travailler sans a priori sur la scène et un oracle 3D utilisable lorsque les paramètres de la caméra et la géométrie de la scène sont connus.

Le chapitre 5 expose plusieurs stratégies de sélection des exemples contenus dans la base fournie par l’oracle. Une fois que l’oracle a extrait les exemples de la scène, comment organiser la base pour obtenir le meilleur détecteur possible ? Dans cette optique, nous proposons la création d’un « classifieur par régions » pour prendre en compte la structure de la scène. Ceci enrichit le modèle global de représentation des piétons qui est un des facteurs limitant le système. Par contre, localement, la structure du modèle n’est pas modifiée. Au final, les performances du détecteur sont améliorées sans pour autant augmenter les temps de calculs lors de la phase de détection.

Jusqu’à présent, seule la manière de construire un classifieur contextualisé a été abordée. Or un détecteur de piétons est composé de nombreuses briques qui peuvent elles

(18)

Introduction 9 aussi être adaptées à la scène. Nous nous intéressons donc dans le chapitre 6à d’autres aspects d’un détecteur. La phase de détection consiste à balayer l’image à la recherche de piétons. Cette étape est coûteuse en temps de calculs et critique pour les systèmes devant fonctionner en temps réel. Pour ne pas gaspiller de ressources, nous proposons de définir les zones de l’image pouvant contenir des piétons et de balayer uniquement ces dernières. Enfin en fonction de ses paramètres et notamment de son seuil de détection, le système peut être plus ou moins sensible. Ce seuil doit être réglé avec précision. S’il est trop bas de nombreuses fausses alarmes seront présentes et s’il est trop élevé les piétons ne seront pas correctement détectés. Une méthode automatique, spécifique à la contextualisation, est présentée pour estimer le seuil du détecteur. Toutes ces étapes sont indispensables pour la mise en œuvre d’un système complet et automatique de contextualisation.

Le mémoire est clos par un chapitre de conclusion et de perspectives.

Liste des publications

Les travaux réalisés dans le cadre de cette thèse ont fait l’objet de plusieurs publications mentionnées ci-dessous.

– [Chesnais et al., 2013] T. Chesnais, T. Chateau, N. Allezard, Y. Dhome, B. Me-den, M. Tamaazousti et A. Chan-Hon-Tong : A Region Driven and Contextualized

Pedestrian Detector. In VISAPP, 2013.

– [Chesnais et al.,2012a] T. Chesnais, N. Allezard, Y. Dhome et T. Chateau :

Auto-matic Process to Build a Contextualized Detector. In VISAPP, 2012a.

– [Chesnais et al.,2012b] T. Chesnais, N. Allezard, Y. Dhome et T. Chateau : Création

automatique d’un détecteur adapté à la scène. In RFIA, 2012b.

– [Dhome et al.,2012] Y. Dhome, B. Luvison, T. Chesnais, R. Belaroussi, L. Lucat, M. Chaouch et P. Sayd : Outils d’analyse vidéo : Pour une pleine exploitation des

données de vidéoprotection, Chapitre : Détection d’objets d’intérêt. Hermès Science

(19)
(20)

Partie I : État de l’art

2

Détection de piétons

Sommaire

2.1 Introduction . . . . 12

2.2 Approches basées sur la discontinuité temporelle . . . . 14

2.2.1 Soustraction de fond . . . 14

2.2.1.1 Principe. . . 14

2.2.1.2 Applications . . . 16

2.2.2 Flot optique. . . 16

2.2.3 Conclusion . . . 18

2.3 Approches basées sur la reconnaissance de formes. . . . 18

2.3.1 Descripteur . . . 19

2.3.1.1 Les ondelettes de Haar . . . 20

2.3.1.2 Descripteurs binaires . . . 21

2.3.1.3 Matrice de covariance . . . 22

2.3.1.4 Histogrammes de gradients orientés . . . 23

2.3.1.5 Choix du descripteur dans nos travaux . . . 24

2.3.2 Apprentissage supervisé . . . 24

2.3.2.1 Introduction à l’apprentissage statistique . . . 24

2.3.2.2 Principe de l’apprentissage supervisé. . . 26

2.3.2.3 Choix de l’algorithme d’apprentissage dans nos travaux 32 2.3.3 Mise en œuvre d’un détecteur . . . 32

2.3.3.1 Modèle de représentation des piétons . . . 33

2.3.3.2 Structure du classifieur . . . 33

2.3.3.3 Stratégie d’exploration du détecteur . . . 35

2.3.3.4 Post-traitements : regroupement des détections. . . . 37

2.3.3.5 Choix pour la mise en œuvre du détecteur dans nos travaux . . . 39

(21)

12 Détection de piétons

2.1

Introduction

Dans ce chapitre sont présentées les différentes méthodes actuellement utilisées en vidéosurveillance pour construire un système de détection de piétons. Deux approches complémentaires existent.

La première consiste à identifier les parties de l’image qui ne sont pas fixes en étudiant les discontinuités temporelles présentes dans le signal vidéo (partie 2.2, page 14). Le résultat est une segmentation de l’image représentant d’un côté le fond et de l’autre les objets mobiles. Ces algorithmes travaillent souvent directement au niveau des pixels, par conséquent la sémantique de leur réponse est assez pauvre. Il n’y a par exemple aucune information sur la nature de l’objet détecté qui peut d’ailleurs n’être segmenté que partiellement. Dans les paragraphes 2.2.1et2.2.2nous expliquerons brièvement les enjeux des méthodes de soustraction de fond (parfois appelées segmentation fond/forme) et de flot optique qui sont les principaux représentants de cette famille d’outils.

La deuxième approche se base sur la reconnaissance de formes (partie 2.3, page18). Il s’agit d’apprendre l’apparence d’un type d’objets tel un piéton et de retrouver cette forme directement dans les images. La sémantique de la réponse est plus riche puisque le détecteur est programmé pour ne repérer qu’un seul type d’objets. De nombreux algorithmes ont été développés pour fabriquer des détecteurs performants qui se basent pour la plupart sur des outils de classification.

Figure2.1 – Synoptique générique d’un détecteur de piétons basé sur la reconnaissance de formes.

(22)

Détection de piétons 13 Un système de détection d’objets et a fortiori de piétons, basé sur la reconnaissance de formes, est un système modulaire, dont les différents blocs sont indiqués sur la figure 2.1. Deux étapes principales se dégagent : la création d’un modèle (représentée verticalement) et la recherche des objets dans une image (représentée horizontalement).

Les différents blocs du diagramme sont maintenant présentés succinctement. Dans la partie2.3de ce chapitre, nous reviendrons plus en détails sur l’architecture d’un détecteur de piéton standard : les descripteurs (paragraphe 2.3.1), les méthodes d’apprentissage (paragraphe 2.3.2) et la mise en œuvre du détecteur proprement dit (paragraphe 2.3.3).

Base d’apprentissage : L’objectif des approches par reconnaissance de formes est

de trouver dans une image les endroits contenant un piéton et donc de séparer les piétons du fond. Pour cela, un modèle s’appuyant sur l’apparence est construit pour différencier les piétons du fond . Le rôle de la base d’apprentissage (ou ensemble d’apprentissage) est de collectionner des éléments des deux classes : piétons et fond. Elle contient donc un ensemble d’images labellisées appartenant aux deux classes. Par extension, il est possible d’appelé base d’apprentissage l’ensemble des descripteurs calculés à partir des images étiquetées.

Descripteur : Une image numérique est une matrice. Chaque nombre y code

l’inten-sité lumineuse d’un pixel. Pour représenter une image en couleurs, il faut une matrice par canal (rouge, vert, bleu). Une vidéo est une succession d’images et donc une succession de matrices. Ces grandes quantités de données brutes ne permettent pas de détecter aisément les objets puisque les liens spatiaux (mais aussi temporels dans le cas d’une vidéo) entre les différents pixels ne sont pas visibles. Le rôle du descripteur est d’extraire à partir des données brutes de l’image, des informations exploitables par le système.

Il existe plusieurs types de descripteurs. Le choix est conditionné par l’application visée puisque c’est elle qui détermine les informations utiles. Par exemple, pour repérer des modifications entre des images proches, la couleur est très importante tandis que pour reconnaître la forme d’une personne un descripteur basé sur les contours est plus approprié. Généralement, le résultat du calcul d’un descripteur est un vecteur. Le passage de l’image numérique au descripteur est réalisé par une primitive de descripteur.

Par abus de langage, le terme descripteur sert à désigner suivant les cas le type de descripteur, le vecteur descripteur ou la primitive de descripteur.

Apprentissage : La base de descripteurs est ensuite traitée par un algorithme

d’ap-prentissage qui va en extraire un modèle. Ce dernier peut être de nature différente selon l’algorithme employé. Généralement, le modèle représente les contours importants de l’objet recherché qui sont discriminants par rapport aux éléments du fond.

Comparaison : Il s’agit ici de mesurer la similarité du modèle avec un descripteur

provenant de l’image étudiée (ou image courante). S’ils sont suffisamment proches, le système considère qu’il s’agit d’un objet du type recherché. Le système peut être plus ou moins sensible en fonction du réglage du seuil de détection. Plus le seuil est haut, moins le détecteur commettra d’erreurs mais plus la probabilité de ne pas déceler la présence des piétons est grande.

(23)

14 Détection de piétons

Classifieur : Le classifieur est une fonction qui à un descripteur associe son label

(piéton ou fond). Il est constitué par le modèle appris par l’algorithme d’apprentissage et le module de comparaison.

Stratégie d’exploration : Une fois le modèle établi, il doit être retrouvé dans une image. Il est donc important de définir une stratégie de parcours du détecteur. Il est possible d’explorer toute l’image ou de se limiter à un voisinage de la dernière position connue d’un objet qui a déjà été identifié dans les images précédentes.

Post-traitements : Souvent la comparaison avec le modèle est trop peu sélective et la sortie du détecteur est bruitée autour des objets. Parfois le modèle ne représente pas directement l’objet recherché mais une partie seulement et plusieurs modèles sont utilisés en parallèle pour assurer la détection. Pour pallier ces problèmes, une étape de post-traitements sert à fusionner ou filtrer les résultats.

Détecteur : Le détecteur est constitué par l’ensemble des briques nécessaires lors de la phase de détection (stratégie d’exploration, classifieur, post-traitements. . . ).

2.2

Approches basées sur la discontinuité temporelle

De nombreuses voies ont été explorées pour détecter des piétons. Les premières méthodes étudiées dans les caméras stationnaires sont basées sur la segmentation de l’image en fond et en objets en mouvement [Stauffer et Grimson,2000;Zhao et Nevatia,

2003].

Ces méthodes travaillent généralement de manière locale. Elles labellisent chaque pixel indépendamment des autres uniquement grâce à l’information qu’il contient. Il n’y a donc aucune notion d’objets dans leur réponse. Une étape de post-traitement est alors souvent nécessaire pour donner du sens à la segmentation brute.

2.2.1 Soustraction de fond 2.2.1.1 Principe

La soustraction de fond est une méthode permettant de séparer les objets mobiles du fond de l’image. Elle est basée sur l’idée que le fond est statique. Si une portion de l’image ne change pas pendant un certain intervalle de temps alors elle est considérée comme faisant partie du fond, dans le cas contraire il s’agit d’un objet. Même si des extensions aux caméras mobiles ont été développées, la plupart des approches supposent une caméra fixe.

De nombreuses difficultés techniques existent et sont bien résumées par [Toyama

et al., 1999] : variation de la luminosité, ombres portées des objets, mouvement de la caméra (vibrations), signal vidéo de mauvaise qualité, bruité ou saturé. Enfin il n’est pas rare qu’un pixel du fond puisse prendre successivement plusieurs couleurs. Par exemple, l’observation du feuillage d’un arbre peut conduire un pixel à être bleu (ciel), vert (feuille) ou brun (branche). Il est préférable de ne pas tenir compte de ces mouvements car après tout un arbre est considéré comme immobile et ne devrait pas être détecté. Un tel fond est qualifié de multimodal.

(24)

Détection de piétons 15 À cause de tous ces problèmes, il n’est pas très efficace de simplement faire la différence entre deux images proches. L’option choisie est alors d’élargir la fenêtre temporelle pour détecter les continuités et les ruptures dans le signal vidéo.

La majorité des algorithmes de soustraction de fond présente une architecture com-mune :

– Apprentissage d’un modèle du fond,

– Classification des pixels en fond ou en objet suivant leur conformité au modèle, – Mise-à-jour du modèle du fond.

La méthode de soustraction de fond la plus connue est certainement celle proposée par [Stauffer et Grimson,1999] car de nombreux travaux s’en sont inspirés par la suite. Concrètement, elle fonctionne de la manière suivante.

L’information pertinente pour un algorithme de soustraction de fond est la couleur. Un descripteur constitué de vecteurs RGB est donc bien adapté. Des améliorations de l’algorithme initial ont employé d’autres formes de descripteurs. Les travaux de [Chen

et al.,2007] s’appuient sur un descripteur par bloc qui code les informations de couleurs et de contraste.

Après avoir sélectionné un descripteur, ce dernier est utilisé pour générer un modèle du fond par pixel. Les données d’apprentissage sont d’abord collectées sur plusieurs images (environ 10 à 100). L’hypothèse pour construire un modèle est de considérer que les éléments les plus présents statistiquement dans la base sont les plus représentatifs du fond. Pour chaque pixel, [Stauffer et Grimson,1999] choisissent de représenter le fond par un mélange de trois ou cinq gaussiennes multidimensionnelles (une dimension par couleur). Une gaussienne permet de modéliser la moyenne et la variance de la couleur d’un pixel. Le mélange sert à traiter les fonds multimodaux. Chaque gaussienne est pondérée en fonction de la probabilité qu’a un pixel d’appartenir à la couleur qu’elle représente.

Une fois le modèle appris, il faut classer tous les pixels provenant d’une nouvelle image en fond ou en objet, ce qui revient à comparer leur valeur avec le mélange de gaussiennes. Les gaussiennes sont ordonnées en fonction du rapport entre leur variance et leur poids. Un poids élevé et une variance faible signifient que la gaussienne représente une couleur précise qui a été aperçue souvent et qu’elle est donc très pertinente. Il est considéré que, si une gaussienne suffisamment pertinente, c’est-à-dire d’un poids supérieur à un certain seuil, peut expliquer la valeur courante d’un pixel, alors il s’agit du fond. La moyenne et la variance de la gaussienne sont alors mises à jour en y intégrant cette valeur. Dans le cas contraire, le pixel est labellisé en tant qu’objet. Il est possible que cet étiquetage résulte d’un changement du fond (une valise immobile sur le sol, une voiture garée, le feuillage d’un arbre qui se déplace avec le vent) qui doit donc être appris. Pour ce faire, la gaussienne la moins pertinente est remplacée par une autre centrée sur la couleur de ce pixel avec un poids faible et une variance élevée.

Il existe beaucoup d’autres algorithmes de soustraction de fond. Par exemple, [Kim

et al., 2004] utilisent un codebook, c’est-à-dire une table stockant pour chaque pixel un échantillon des valeurs passées, formant ainsi un modèle de fond. Les lecteurs intéressés pourront se référer aux travaux de [Piccardi,2004;Elhabian et al.,2008] qui présentent un état de l’art du domaine.

(25)

16 Détection de piétons Ces méthodes sont utiles car si les objets de la scène sont majoritairement des piétons et que ceux-ci se déplacent, elles permettent de les détecter quelle que soit leur apparence. C’est une technique de base en vidéosurveillance. Elle constitue souvent la première étape de la chaîne de traitement car c’est une technologie qui fournit des résultats globalement bons tout en étant relativement légère en temps de calcul.

2.2.1.2 Applications

Les applications de la soustraction de fond sont très nombreuses. Deux sont abordées dans ce paragraphe. Cet outil est rarement utilisé seul, puisque l’information fournie est assez pauvre dans le sens où la notion d’objet n’existe pas. Des algorithmes complémen-taires sont nécessaires pour donner du sens à une segmentation binaire de l’image.

Pour réaliser de la détection par soustraction de fond, il est intéressant de définir des objets et de trouver leurs contours. Visuellement, un objet correspond à une « tache » dans la segmentation. L’algorithme proposé par [Chang et al.,2004] est capable d’identifier chaque objet. La figure2.2 montre la sortie de cet algorithme.

(a) Image originale (PETS 2009) (b) Résultat de la soustraction de fond : segmentation binaire

(c) Détections par soustraction de fond. Les « taches » sont colorées pour identifier chaque objet mo-bile.

Figure2.2 – Utilisation de la soustraction de fond pour détecter les piétons La soustraction de fond est aussi très souvent utilisée en tracking (suivi d’objets : pié-tons, véhicules. . . ). Une des difficultés rencontrées par ces algorithmes est l’initialisation des pistes : comment savoir si ce qui est observé est un objet nouveau et intéressant ? La soustraction de fond répond partiellement au problème. Une piste est créée lors de l’ap-parition d’une nouvelle « tache ». Suivre l’objet, consiste alors à apparier cette « tache » avec celles déjà observées dans des images proches [Stauffer et Grimson,2000].

2.2.2 Flot optique

Les algorithmes de flot optique ont pour but de caractériser le mouvement dans une scène. À chaque pixel ou bloc est associé un vecteur de déplacement v entre une image source et une image cible.

Ce paragraphe a pour but de décrire brièvement les enjeux de l’estimation du flot optique. Les lecteurs intéressés pourront se référer aux travaux de [Luvison,2010] pour une description plus détaillée de ces méthodes. La figure2.3présente les résultats obtenus grâce à un algorithme de flot optique. La couleur des pixels indique l’angle (bleu : pixels

(26)

Détection de piétons 17 qui se déplacent vers la gauche, rouge : pixels qui se déplacent vers la droite), tandis que la luminosité est fonction de l’amplitude du mouvement.

Le principe des méthodes de flot optique est le suivant. Entre deux images consécutives, la luminance I d’un objet doit rester la même. Cela revient à estimer v tel que :

I(x, t)− I(x + vdt, t + dt) = 0 (2.1) Ce problème appelé « contrainte de conservation des données » est difficile à résoudre car les hypothèses pour le résoudre sont faibles. Tout d’abord comme pour la soustraction de fond, la notion d’objet n’existe pas. Chaque pixel peut donc en théorie bouger indépen-damment de ses voisins. D’autre part la luminance n’est pas forcément conservée entre deux images. Un objet peut être occulté, la luminosité d’une scène peut changer. . . Pour faciliter la résolution, les algorithmes ajoutent l’hypothèse que les pixels proches appar-tiennent au même objet et doivent donc se déplacer de manière similaire. Cette hypothèse s’appelle la cohérence spatiale.

(a) Image 1 (PETS 2009) (b) Image 2 (c) Flot optique résultant

Figure2.3 – Utilisation du flot optique

Il existe une multitude d’algorithmes de flot optique, qui diffèrent principalement par la formulation des hypothèses exposées précédemment. Selon la classification de [Barron

et al.,1994], trois grandes familles d’algorithmes existent.

Les méthodes différentielles expriment le problème de conservation à l’aide d’un développement limité.

I(x, t)− I(x − vt, 0) = 0 (2.2) À l’aide d’un développement de Taylor du premier ordre par rapport au temps, cette équation devient :

d

dtI(x, t) + d

dxI(x, t).v = 0 (2.3)

Parmi ces méthodes nous pouvons citer celles de [Lucas et Kanade, 1981; Horn et Schunck,1981] qui se différencient par la façon d’exprimer la contrainte spatiale.

(27)

18 Détection de piétons Les méthodes par corrélation font partie de la famille des algorithmes de Block

Matching. Elles visent à mettre en correspondance une fenêtre de taille D dans les images

source et cible. Pour cela un critère de similarité et une stratégie de recherche sont utilisés. Les méthodes par régression supposent que la loi qui régit le déplacement est connue mais pas ses paramètres. Par exemple [Black, 1996] suppose que le champ de déplacement est affine par morceaux. Le problème de conservation des données est ensuite résolu à l’aide de sa forme différentielle.

Lors de nos expérimentations, notre choix s’est porté sur l’algorithme de [Black,1996]. Cette méthode fournit une bonne estimation du déplacement et est relativement robuste au bruit.

2.2.3 Conclusion

Les approches basées sur la soustraction de fond ou sur le flot optique sont sensibles à la même information : les discontinuités temporelles dans le signal colorimétrique de la vidéo. La différence majeure entre les deux provient de leur temps de réponse. Le flot optique estime le mouvement entre deux images proches tandis que la soustraction de fond construit un modèle du fond sur quelques dizaines voire centaines d’images qu’elle compare ensuite à l’image courante. Elle a donc un temps d’intégration plus long.

Ces méthodes détectent bien les objets en mouvement quels qu’ils soient. Comme nous le verrons par la suite, elles sont plus souples que les approches de reconnaissance de formes car elles peuvent être utilisées dans n’importe quel type d’environnement. Malheureusement elles possèdent quelques défauts. Elles restent sensibles au bruit et aux variations de l’environnement mais surtout leurs réponses manquent de sémantique. Il n’y a aucun moyen fiable pour savoir si un objet a été correctement segmenté ou pour déterminer la nature de celui-ci puisque tous les objets mobiles sont repérés sans distinction. Or notre but est de détecter les piétons et uniquement eux. Dans ce cas, ces algorithmes ne sont pas suffisants et viennent en complément d’une autre approche : la reconnaissance de formes.

2.3

Approches basées sur la reconnaissance de formes

Les approches de détection d’objets basées sur la reconnaissance de formes utilisent des algorithmes d’apprentissage statistique pour séparer le fond des objets recherchés. Ces méthodes permettent de reconnaître l’apparence ou l’allure générale des objets, ici des piétons. Pour ce faire elles fabriquent un modèle discriminant plus ou moins riche de ce qui constitue un piéton. L’avantage évident par rapport aux méthodes précédentes est qu’elles ne sont sensées détecter que les piétons et non tous les objets en mouvement. Dans cette partie nous nous intéressons plus particulièrement aux méthodes de détection de piétons compatibles aujourd’hui avec le temps réel (moins de 100 millisecondes pour traiter une image).

La reconnaissance de formes fait souvent appel aux techniques de classification. Cette thèse s’intéresse exclusivement à la classification binaire qui comme son nom l’indique permet de différencier deux classes, à savoir les piétons contre tout le reste. Ces dernières années la classification a été très utilisée en vision par ordinateur. Parmi les travaux

(28)

Détection de piétons 19 précurseurs, nous pouvons noter ceux de [Papageorgiou et al., 1998], étendus ensuite par [Viola et Jones,2001b;Viola et al.,2005]. Des articles récents présentent et comparent les dernières avancées dans le domaine [Dollár et al., 2011,2010; Enzweiler et Gavrila,

2009;Gerónimo et al.,2010].

Dans la suite de ce chapitre, les principaux concepts utilisés dans la détection de piétons, mentionnés sur la figure 2.1 (page 12), seront détaillés. Le but n’est pas de présenter tous les aspects techniques des différents algorithmes de manière précise mais de passer en revue les éléments les plus importants pour donner une idée au lecteur des méthodes employées. Nous commencerons par étudier quelques descripteurs parmi les plus populaires en détection de piétons (paragraphe 2.3.1, page 19). Puis nous verrons comment traiter toutes ces informations extraites des images à l’aide de la classification (paragraphes2.3.2, page24) pour calculer un classifieur. Enfin nous nous intéresserons plus en détails aux différentes manières d’utiliser un détecteur (paragraphe2.3.3, page32), aux différentes stratégies de parcours d’une image ainsi qu’aux post-traitements nécessaires pour affiner les sorties brutes d’un classifieur.

2.3.1 Descripteur

Figure 2.4 – Principe de calcul d’un descripteur. Une primitive de descripteur est appliquée sur une grille. Ces primitives sont ensuite concaténées pour former le vecteur descripteur.

L’information très riche contenue dans les images doit d’abord être transformée en un descripteur qui est plus facilement exploitable par les algorithmes de vision par ordinateur. En général, un descripteur, utilisé en détection de piétons, code la localisation spatiale, l’amplitude et l’allure des différences d’intensité dans l’image. Ces informations sont intéressantes car contrairement aux données brutes de l’image, elles permettent, par exemple, de retrouver la tête ou le V inversé formé par les jambes d’une personne. L’enjeu ici étant de détecter tous les piétons et non un en particulier, la couleur ne semble pas

(29)

20 Détection de piétons

a priori un élément discriminant suffisant et est donc peu utilisée. Une personne peut en

effet porter des vêtements de n’importe quelle couleur.

Le descripteur est un organe essentiel du détecteur qui influe grandement sur ses performances. Généralement choisir tel ou tel descripteur revient à faire un compromis entre la richesse de la représentation, le temps de calcul et la taille mémoire nécessaire. En effet, la représentation doit être la plus riche possible. Si trop d’informations sont perdues à ce stade, si les descripteurs de piétons ne peuvent plus être distingués de ceux du fond alors le système ne peut pas différencier les deux classes. Ainsi même en améliorant les autres parties du détecteur, les performances ne seront pas meilleures car le système sature. D’un autre côté, le descripteur doit être le plus compact possible. Dans certaines applications, il est nécessaire de stocker de nombreux descripteurs, par exemple lors d’un apprentissage offline (cf page 25). Moins le descripteur occupe de mémoire, plus il est possible d’en stocker et généralement meilleures sont les performances. Enfin le descripteur doit être rapide à calculer car lors de la détection de nombreux descripteurs doivent être évalués.

Le calcul du descripteur, sur une portion de l’image, repose généralement sur le même formalisme. Celui-ci est détaillé sur la figure 2.4. Tout d’abord, la zone de l’image est découpée, à l’aide d’une grille régulière, puis des blocs de tailles et de formes différentes sont construits avec les cases de cette grille. Souvent les blocs sont densément répartis, de forme rectangulaire avec un fort taux de recouvrement entre eux. Chaque bloc est alors encodé à l’aide de la primitive du descripteur précédemment choisie. Une même zone peut donc être codée plusieurs fois. À la fin, les informations de chaque bloc sont concaténées pour former le descripteur (parfois appelé vecteur descripteur).

À noter que généralement, le descripteur est calculé sur une portion de l’image dont les dimensions sont directement reliées à la taille des piétons à détecter et plus importante que le piéton lui-même (figure 2.4). Dans leurs travaux, [Dalal et Triggs, 2005] ont démontré que prendre en compte un peu de fond lors de ce calcul permettait d’améliorer les résultats. Ces marges sont présentes sur tous les bords de l’imagette. Elles font environ 25% de chaque côté horizontalement et 12% verticalement. C’est la raison pour laquelle les détecteurs de piétons fournissent dans la plupart des cas une boîte englobante assez large autour des détections.

De nombreux descripteurs différents ont été proposés dans la littérature. Dans cette présentation nous nous limitons aux principaux qui ont été employés avec succès dans le domaine de la détection de piétons et nous n’abordons dans les calculs que le cas des images en noir et blanc. Le choix du descripteur est difficile et est souvent fait de manière empirique.

2.3.1.1 Les ondelettes de Haar

Les ondelettes de Haar ont été parmi les premiers descripteurs à être employés en détection d’objets [Oren et al.,1997;Papageorgiou et al.,1998;Papageorgiou et Poggio,

2000;Viola et al.,2005].

Une ondelette extrait la différence d’intensité entre deux zones de l’image. En combi-nant plusieurs ondelettes de tailles et de formes différentes appliquées en de nombreux blocs de l’image, il est possible d’obtenir une représentation de celle-ci.

Concrètement, le calcul d’une ondelette de Haar est très simple et rapide (moyennant l’usage des images intégrales dont le fonctionnement est expliqué page suivante). Il fait

(30)

Détection de piétons 21 appel à des masques dont les plus courants sont représentés sur la figure 2.5. Une fois le masque de l’ondelette placé aux bonnes dimensions sur les blocs du descripteur, il consiste à faire la différence entre la valeur des pixels sous la partie blanche et ceux sous la partie noire du masque. Par exemple l’évaluation de l’ondelette présentée à gauche sur la figure 2.5, consiste à sommer la valeur des pixels de la partie blanche, à droite, puis à en soustraire la somme des valeurs des pixels de la partie noire, à gauche.

Figure2.5 – Différentes ondelettes de Haar

En fonction de la taille de l’ondelette, sommer la valeur des pixels peut prendre du temps. De plus, lors de l’étape de détection il n’est pas rare de traiter plusieurs fois les mêmes pixels. Il est alors possible d’optimiser le calcul grâce aux images intégrales [Crow,

1984;Viola et Jones,2001b].

Une image intégrale, Iintégrale, est une représentation d’une image, I, qui permet

un calcul très rapide de la somme des valeurs des pixels contenus dans un rectangle quelconque dont les côtés sont parallèles à ceux de l’image d’origine. Pour chaque image fournie par la caméra, il faut d’abord créer l’image intégrale correspondante. Dans celle-ci, la valeur d’un pixel de coordonnées (x, y) est égale à la somme des valeurs des pixels contenus dans un rectangle englobant le point en haut à gauche de l’image jusqu’au point (x, y) (voir l’équation 2.4et la figure 2.6(a)).

M = Iintégrale(x, y) =



x≤x,y≤y

I(x, y) (2.4)

Pour calculer la somme des pixels du rectangle ABDC (figure 2.6(b)), il suffit d’ap-pliquer la formule suivante ABDC = A + D− B − C. Comme annoncé précédemment, cette représentation est très utile pour calculer rapidement la somme des valeurs des pixels d’un rectangle, puisque cela ne nécessite que quatre additions quelle que soit la taille du rectangle. Un détecteur de piétons devra effectuer de nombreuses fois ce type de calcul sur des rectangles qui se recouvrent. L’utilisation des images intégrales est donc particulièrement indiquée.

À noter que d’autres formes et orientations d’ondelettes de Haar ont été proposées. Parmi les travaux les exploitant, il est possible de citer ceux de [Lienhart et Maydt,2002;

Pham et al.,2010].

2.3.1.2 Descripteurs binaires

Comme son nom l’indique un descripteur binaire est un vecteur composé de 0 et de 1. L’intérêt de ce type de représentation est sa compacité et sa rapidité de traitement par les processeurs actuels car il ne nécessite pas de gestion de nombres décimaux. Le représentant

(31)

22 Détection de piétons

(a) Calcul d’une image intégrale (b) Utilisation d’une image intégrale pour calculer la somme des pixels d’un rectangle

Figure2.6 – Principe des images intégrales

le plus connu de cette famille est sûrement le local binary pattern ou LBP [Ojala et al.,

1996], [Ojala et al.,2002], [Wang et al.,2009]. Ce descripteur est basé sur la différence des niveaux de gris entre un pixel et son voisinage. Le principe de fonctionnement est détaillé sur la figure 2.7. Pour calculer la valeur du descripteur au point C, il faut commencer par tracer un cercle de centre C et de rayon R fixé. N points sont ensuite équirépartis sur le cercle. Seuls les pixels dans lesquels un point existe sont considérés. La valeur du descripteur, en base 2, est :

LBPC,R,N = N−1

i=0

[1 + sgn(I(i)− I(C))]2i−1 (2.5) avec I(i) l’intensité du pixel correspondant au point i et sgn(x) le signe de x (-1 ou +1).

Figure2.7 – Principe du local binary pattern. La différence d’intensité de la luminance est calculée entre le pixel central et ses voisins.

2.3.1.3 Matrice de covariance

Le principe des matrices de covariance [Tuzel et al.,2006] est de coder la moyenne et les variations de certaines caractéristiques de l’image. Pour chaque pixel, il s’agit de

(32)

Détection de piétons 23 calculer un vecteur de caractéristiques f (x, y). Dans la version originale, les informations de couleurs R, G, B, de forme (gradient de l’intensité I) sont codées :

f (x, y) = (x, y, R(x, y), G(x, y), B(x, y),||∂I ∂x||, || ∂I ∂y||, || 2I ∂x2||, || 2I ∂y2||) (2.6)

Une fois les caractéristiques extraites pour chaque pixel, il s’agit de calculer la matrice de covariance de tous les vecteurs d’une portion rectangulaire de l’image.

CR= 1

n− 1



x,y

(f (x, y)− μ)(f(x, y) − μ)T (2.7) avec μ la moyenne des vecteurs dans la zone du calcul, n le nombre de pixels dans cette zone.

Les matrices de covariance sont très utilisées en vidéosurveillance. Par exemple dans [Yao et Odobez,2008], les auteurs ajoutent la valeur de la soustraction de fond dans les caractéristiques des pixels. Elles servent principalement à fusionner différentes carac-téristiques qui peuvent être corrélées. Comme pour les ondelettes de Haar, l’utilisation des images intégrales permet d’accélérer les temps de calcul [Tuzel et al.,2008].

2.3.1.4 Histogrammes de gradients orientés

Les histogrammes de gradients orientés (Histograms of Oriented Gradients ou HOG) et leurs variantes sont sans conteste les descripteurs les plus populaires dans le domaine de la détection de piétons.

Ils ont été introduits par [Dalal et Triggs,2005] et s’inspirent fortement des travaux précédents de [Lowe,2004] sur le descripteur SIFT (Scale-invariant feature transform). L’idée mise en œuvre ici est de discrétiser l’orientation du gradient dans l’image à l’aide d’histogrammes. Ainsi les contours, donc la forme des objets, sont codés ce qui permet de les reconnaître.

D’un point de vue pratique, le calcul d’un HOG commence par l’évaluation des gradients horizontaux Gx et verticaux Gy pour tous les pixels de l’image. Ce filtrage est réalisé à l’aide de deux convolutions effectuées séparément. La première utilise le masque [−1, 0, 1] pour les gradients horizontaux et la seconde emploie le masque [−1, 0, 1]T pour les gradients verticaux. Ainsi à chaque point (i, j) de l’image est associé un couple (Gxi,j, Gyi,j).

La norme n et l’orientation θ du gradient en un point sont alors définies par :

ni,j =  (Gxi,j)2+ (Gy i,j)2 (2.8) θi,j = arctan(G y i,j Gxi,j) (2.9)

(33)

24 Détection de piétons L’image est ensuite décomposée en blocs, généralement de 8 pixels de côté, et un histogramme est construit pour chacun d’entre eux. Les classes des histogrammes repré-sentent l’angle du gradient. Leur nombre est variable suivant les implémentations. [Dalal et Triggs,2005] ont choisi d’en utiliser 9 dans l’intervalle [0, π] (gradient non signé). Un pixel d’un bloc vote donc pour une classe en fonction de l’angle du gradient en ce point et son importance dans l’histogramme est la norme du gradient.

La dernière étape est la normalisation des histogrammes entre les blocs. Les histo-grammes de blocs adjacents (par exemple des regroupements 4x4) sont concaténés pour former un vecteur qui est ensuite normalisé pour former une partie du descripteur. Le descripteur complet est obtenu en répétant l’opération sur tous les groupements de blocs possibles.

Il existe de nombreuses variantes par rapport aux HOG proposés initialement. Par exemple, [Ott et Everingham,2009] intègrent une segmentation couleur de l’image pour donner plus de poids aux contours significatifs.

L’année suivante, [Dalal et al.,2006] proposent le HOF (Oriented Histograms of Flow). Il s’agit d’une famille de descripteurs qui reprend les concepts éprouvés de HOG mais qui utilisent en entrée le signal de flot optique et non une image RGB. La procédure la plus simple pour exploiter ce signal est de reprendre la même approche que le HOG en calculant puis en répartissant les gradients de l’image de flot optique dans des histogrammes. [Dalal

et al.,2006] ont également proposé d’autres approches pour tirer partie du mouvement des différents morceaux d’un piéton.

2.3.1.5 Choix du descripteur dans nos travaux

Cette partie a permis d’évoquer quelques descripteurs parmi les plus importants rencontrés en détection de piétons. Pour nos travaux, nous avons choisi d’employer les descripteurs HOG pour coder l’apparence des piétons. En effet, ces derniers fournissent de bons résultats de classification tout en étant compatibles avec le temps réel et plus rapides à calculer que les matrices de covariances.

Nous allons maintenant présenter les différents algorithmes d’apprentissage employés en détection pour fabriquer les modèles de représentations des objets.

2.3.2 Apprentissage supervisé

2.3.2.1 Introduction à l’apprentissage statistique

L’apprentissage statistique est la brique qui va permettre de constituer une représen-tation de l’objet recherché (un piéton dans notre cas).

Les méthodes d’apprentissage travaillent à partir d’une base d’apprentissage, c’est-à-dire d’un ensemble de descripteurs labellisés (les exemples) ou non (les observations). L’utilisation de ces méthodes comporte généralement deux étapes distinctes : l’appren-tissage proprement dit et la prédiction. La première phase consiste à étudier la structure des données d’apprentissage et à en dégager certaines informations comme les caractéris-tiques communes à des objets similaires ou appartenant à une même classe. La phase de

Références

Documents relatifs

Pour déterminer les suites de mots qui peuvent devenir des séquences dans le cadre d’un modèle statistique de langage, nous utilisons des modèles de bigrammes distants [6] avec

Comme nous l’avons mentionné, de comparer et lternatives qui s’offrent à lui selon une approche logit est donc utilisé dans le but expliquer le choix d’itinéraire

Pour tester cette méthode dans le cadre du problème de la classification des signaux de la base SISED, il faut maintenant établir un moyen d’attribuer une classe à un signal

Nous présenterons donc notre approche pour extraire des fenêtres dans une image globale en utilisant les propriétés des images infrarouges et la recherche de

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

The east side was chosen as the building area because it was close to the access road up the face of the escarpment, was convenient to a water supply from the YUkon River and meant

Section 1 focuses on linguistic aspects of language contact, and contains ten chapters cover- ing contact-induced change from a general point of view (Chapter 2), contact-induced

In order to ensure that (C) and (M) read the same input values, the choices of one program must be transferred to the other. We achieve this by adding arguments to one of the