Appariement Robuste de Formes Visuelles Complexes

La détection et la localisation d’objets d’une famille donnée, ou de parties discriminantes, dans les images constitue un outil fondamental pour l’indexation sémantique automatique et la recherche des contenus audiovisuels, ceci pour de multiples applications incluant les services de distribution de contenus, la gestion des contenus personnels, les moteurs de recherche ou encore la vidéo surveillance. Ces vingt dernières années, l’augmentation des moyens informatiques associée à l’avènement de méthodes de classification puissantes tels que l’AdaBoost ou les réseaux de neurones ont permit d’obtenir des systèmes de détection d’objets et en particulier de détection de visages très performants.

Ces systèmes sont capables, à partir d’un grand nombre d’images exemples manuellement annotées représentatives de la classe d’objet à détecter, d’apprendre à distinguer une image de cet objet d’une image n’appartenant pas à cette classe. L’annotation manuelle de ces exemples est un travail long et fastidieux. Nous proposons dans ce document de mettre au point une méthode d’appariement robuste permettant d’obtenir un système de détection capable de fonctionner avec une base d’images exemples de dimension réduite.

Afin d’arriver à ce résultat, nous nous somme inspiré des méthodes de détection d’objets et ou de visages les plus performantes. Nous avons commencé par utiliser une méthode de détection simple mais peu efficace basée sur une mesure de similarité par corrélation. Nous avons ensuite amélioré ce système en y apportant diverses idées inspirées des systèmes de détection de l’état de l’art comme l’utilisation de filtres convolutionnels, ou des traitements d’images permettant de corriger les variations d’illumination. Nous avons ainsi mis au point un système de détection de visages fonctionnel avec très peu d’exemples.

Malgré les résultats encourageants obtenus avec la corrélation, cette mesure de similarité ne permet pas d’atteindre les taux de détection de l’état de l’art. Nous avons alors remplacé la mesure de similarité par corrélation par une mesure de similarité basée sur des classifieurs bien plus performant tels que les réseaux de neurones. Nous montrons alors que les méthodes mises au point pour la détection par corrélation permettent d’obtenir un système de détection utilisant dix fois moins d’exemples que les systèmes de l’état de l’art mais obtenant des taux de détection comparables.

Le but d’un système de détection est de décider la présence d’un objet à une position et une échelle donnée dans une image. La première difficulté est que pour détecter un objet, il faut être capable de reconnaître si une image donnée appartient à la classe ‘objet’ ou ‘non objet’. La seconde difficulté est qu’un tel système doit tester la présence d’un objet dans une image à toutes les positions et échelles possibles, ce qui conduit à une complexité de calcul importante. Ainsi, le problème se rapproche de celui de la reconnaissance ou de la classification à deux classes avec la difficulté supplémentaire que la classe ‘non objet’ est très difficile à représenter puisqu’elle est constituée de l’ensemble des images ne représentant pas l’objet à détecter.

Afin de déterminer l’échelle et la position d’un objet dans une image, l’architecture d’un système de détection est divisée en deux parties. Un système de classification capable de déterminer si une image donnée appartient à la classe ‘objet’ ou ‘non objet’ et un système permettant d’appliquer le système de classification à toutes les positions et échelles possibles de l’image dans laquelle nous souhaitons détecter un objet. Il existe un grand nombre de systèmes de classification différents que nous décrirons dans la partie état de l’art. Cependant, ces systèmes ont pour point commun de prendre en entrée une image de dimension h × l fixée et de renvoyer en sortie un score de détection s caractérisant l’appartenance à la classe ‘objet’ ou ‘non objet’.

Afin de pouvoir effectuer une détection multi-échelle sur une image test, la méthode généralement utilisée est la suivante : l’image test est successivement souséchantillonnée d’un facteur de l’ordre de 1.2 conduisant ainsi en l’obtention d’une pyramide d’images dont la plus grande a les dimensions de l’image test et la plus petite celles de la dernière image de la pyramide contenant une image pouvant être traitée par le classifieur. Ainsi, l’objet pourra être détecté quel que soit son échelle dans l’image test. La dimension minimum de l’objet détectable correspond à la dimension de l’image traitée par le classifieur, la dimension maximum est celle d’un objet ayant pour hauteur et ou largeur la dimension de l’image test. Afin de déterminer la présence à chaque position et échelle de l’image à tester, le classifieur est utilisé à chaque position possible de l’ensemble des images de la pyramide, i.e, chaque pixel des images, résultant ainsi en une pyramide de cartes de scores .

Cette pyramide de cartes de scores nous donne ainsi une information sur les probabilités que l’image test contienne à une position et une échelle donnée une image de l’objet recherché. Généralement, plus le score est élevé, plus il est probable que l’image test contienne l’objet à cette position et échelle. Cependant, l’application d’un simple seuillage ne permet généralement pas d’obtenir un positionnement précis de l’objet recherché. En effet, on retrouve souvent autour de cette position plusieurs détections se superposant. Afin d’éviter de retrouver de multiples détections autour de la position réelle de l’objet, on retrouve principalement deux méthodes ou des variantes proches.

Une première stratégie possible consiste à ne garder, pour les différentes détections qui se superposent, uniquement celle ayant le score de détection maximum. La stratégie la plus couramment employée consiste à regrouper les détections proches en position et en échelle afin de les fusionner en une seule détection dont la position et l’échelle est une moyenne éventuellement pondérée de celles du groupe [71]. Le score de détection final est alors égal au nombre de détections fusionnées ou à la somme des scores de ces dernières. Les bonnes détections ayant tendance à regrouper plus de détections proches que les fausses détections, cette méthode apporte généralement une amélioration sensible des résultats en détection de visages .

L’évaluation d’un système de détection est une tâche complexe. Il faut d’abord disposer d’une base de test et d’une base de référence ; la première permettant d’évaluer les performances du système de détection et la seconde d’apprendre les caractéristiques permettant de reconnaître l’objet à détecter. Il convient ensuite de suivre un certain nombre de règles [71] et en particulier, nous devons utiliser une base de référence différente de la base de test utilisée pour évaluer le système ; ceci, afin d’éviter tout problème d’évaluation lié à un sur-apprentissage du classifieur. De plus, la base de test doit être représentative des images sur lesquelles le système sera appliqué. Pour comparer deux systèmes de détection, il est généralement nécessaire de les comparer sur la même base de test, tant il est difficile de trouver deux bases de test représentant la même difficulté. Les visages sont souvent utilisés comme exemple classique d’objet à détecter car on peut trouver des bases de tests standards afin de comparer les systèmes de détection (CMU, Caltech WebFaces) .

Une autre difficulté supplémentaire de l’évaluation est qu’un système de détection peut faire deux types d’erreurs. Il peut ne pas détecter un objet présent (un objet présent dans une image est parfois appelé client), mais il peut aussi, détecter un objet alors que celui-ci n’est pas présent (fausse détection ou imposteur). Ces erreurs sont le plus souvent mesurées par le taux de faux rejet (FRR pour False Rejection Rate) parfois appelé erreur de type I qui est la proportion d’objets non détectés et le taux de fausse acceptation (FAR pour False Acceptance Rate) ou erreur de type II qui correspond à la proportion de fausses détections. Ces deux mesures d’erreurs dont l’importance dépend de l’application que l’on souhaite faire du système de détection sont conflictuelles. En effet, plus le seuil θ, de détection est élevé, plus le risque d’effectuer une fausse détection est faible et plus le risque de ne pas détecter un client est important. Ainsi, le seuil de détection θ permet de minimiser un type d’erreur au dépend de l’autre. L’importance de l’erreur de type I par rapport à l’erreur de type II dépend de l’utilisation pratique de notre système de détection. Ainsi, même si deux systèmes sont évalués sur la même base de test, il reste difficile de les comparer.

Table des matières

1 Introduction  
1.1 Introduction
1.2 Introduction aux systèmes de détection
1.2.1 Problématique de la détection
1.2.2 Fonctionnement général des systèmes de détection
1.2.3 Evaluation d’un système de détection
1.3 Historique de la détection d’objets
1.3.1 Méthodes basées descripteurs
1.3.2 Méthodes basées Images
2 Etat de l’art des méthodes d’apprentissage et de classification en reconnaissance d’objets
2.1 Introduction
2.2 Méthodes Génératives
2.2.1 Plus proches voisins
2.2.1.1 Mesure de distance
2.2.2 Analyse en Composantes Principales
2.2.3 Modèles d’Apparence Actifs
2.2.3.1 Décrire une image avec les Modèles d’Apparence Actifs
2.2.4 Maximum de Vraisemblance
2.2.4.1 Mélange de Gaussiennes
2.2.4.2 Algorithme EM
2.2.5 Modèles de Markov Cachés
2.2.5.1 Architecture d’un Modèle de Markov
2.2.5.2 Architecture d’un Modèle de Markov Caché
2.2.5.3 Evaluation d’un HMM
2.2.5.4 Décodage d’un HMM
2.2.5.5 Méthode d’apprentissage
2.2.5.6 HMM appliqué à l’analyse d’images
2.3 Méthodes discriminatives
2.3.1 BootStrapping
2.3.2 Analyse Discriminante Linéaire
2.3.3 Séparateurs à Vastes Marges (SVM)
2.3.3.1 SVM non linéaire
2.3.4 Boosting
2.3.4.1 AdaBoost
2.3.4.2 Détecteur d’objet de Viola-Jones
2.3.4.3 Méthodes dérivées du détecteur d’objets de Viola-Jones
2.3.5 Réseaux de Neurones
2.3.6 Perceptron
2.3.7 Perceptron Multicouche
2.3.7.1 Perceptron Multicouche appliqué à la détection
2.3.7.2 Perceptron Multicouche appliqué à l’extraction de descripteurs, réseaux auto-associatifs
2.3.7.3 Entraînement d’un Perceptron Multicouche
2.3.8 SNOW
2.3.8.1 Apprentissage
2.3.9 Reseaux Convolutionnels
2.3.9.1 Réseau de neurones convolutionnel pour la détection
3 Conclusion 

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *