Détection de visage par SIFT et AKAZE
Introduction
Vers la fin des années quatre vingt dix, des chercheurs Canadiens ont présenté une nouvelle méthode pour l’extraction de caractéristique et la détection d’objets dans des images en niveaux de gris [11]. Ces derniers, ont proposé de transformer les données d’une image en coordonnées et à échelle rappelées des caractéristiques locales. Plusieurs améliorations sont énumérées par la suite [11]. Inspiré par les travaux de Hans Moravec sur l’utilisation des points d’intérêt et les travaux de Harris et Stephens sur la correspondance entre images stéréoscopiques. L’intérêt de ce type de détecteur est confirmé par les travaux de Harris [12] et le descripteur de coins qu’il propose, améliorant la plupart des défauts du détecteur de Moravec, va connaître un important succès. D’autre travaux de cordolie et Molw ont établi l’importance dans le domaine de vision par ordinateur par la recherche des caractéristiques locales invariantes [41+.Cependant le descripteur développe s’appuie toujours sur le détecteur de Harris reste toujours sensible aux changements d’échelle, d’angle, d’observation et l’exposition. Lowe et ses collaborateurs proposent de nouveau descripteur SIFT pour y remédier à ces plusieurs. Lowe comblera grandement ces défauts avec son descripteur SIFT [11].
La méthode proposée par Lowe comprend deux parties (chacune ayant fait l’objet de recherches plus ou moins indépendantes par la suite) : un algorithme de détection de caractéristiques et de calcul de descripteurs ; un algorithme de mise en correspondance proprement dit. De ces deux aspects, le premier est sans doute celui qui a le plus assuré la popularité de la méthode, à tel point que le sigle SIFT fait plus souvent référence aux «descripteurs SIFT » qu’à la méthodologie globale. Il s’agit tout d’abord de détecter sur l’image des zones circulaires « intéressantes », centrées autour d’un point clé et de rayon déterminé appelé facteur d’échelle. Celles-ci sont caractérisées par leur unité visuelle et correspondent en général à des éléments distincts sur l’image.
Sur chacune des échelles, on détermine une orientation intrinsèque qui va aider à construire un histogramme des orientations locales des zones (pondéré, seuillé et normalisé). Cet histogramme mis sous forme d’un vecteur à 128 dimensions (ou valeurs) constitue le descripteur SIFT du point-clé, et l’ensemble des descripteurs d’une image établissent ainsi une véritable signature numérique du contenu de celle-ci.
Ces descripteurs présentent l’avantage d’être invariants à l’orientation et à la résolution de l’image, et peu sensibles à son exposition et à sa netteté [9].
Une fois le calcul des descripteurs effectué, l’algorithme de mise en correspondance intervient dans le but de rechercher les zones d’une image dite suspecte qui contiennent des éléments visuellement similaires à ceux d’une bibliothèque d’images de référence, en d’autres termes les descripteurs numériquement proches. Ceci est dû à la fois à la robuste des descripteurs et le caractère discriminant du SIFT.
Détection des points-clés du SIFT
Chaque point-clé est calculé sur des zones d’intérêt circulaire de rayon proportionnel au facteur d’échelle σ. Ce point-clé est ensuite associé à une orientation intrinsèque ne dépendant que du contenu local de l’image autour de ce même point-clé et pour le même facteur d’échelle. Ceci assure une invariance à la rotation et est utilisée comme référence dans le calcul du descripteur SIFT.
Détection d’extremums dans l’espace des échelles
La détection s’effectue dans un
espace discret que l’on appelle espace des échelles (Scale Space) qui comporte trois dimensions : les coordonnées cartésiennes x et y et le facteur d’échelle σ. On appelle gradient de facteur d’échelle σ (noté L) le résultat de la convolution d’une image I par un filtre gaussien G de paramètre σ [24], soit :
Le facteur fixe k dans les formules ci-dessus est calculé pour qu’au final, l’espace discrétisé des facteurs d’échelles considérés corresponde à une progression géométrique ,σ, kσ, k2σ,…-, avec à chaque changement d’octave une valeur kpσ qui devient égale à une quantité de la forme 2tσ (Voir Figure II.3). La progression géométrique des facteurs d’échelle – est important pour que les valeurs des DoG à différentes échelles soient comparables entre elles et à faire éviter le recours un facteur de normalisation dans calcul [24].
L’étape de détection des points-clés candidats décrite ci-dessus est une variante de l’une des méthodes de blob détection [18] (détection de zones) développée par Lindeberg, qui utilise le Laplacien normalisé par le facteur d’échelle au lieu des DoG.
Ces derniers peuvent être considérés comme une approximation des laplaciens et présentent l’avantage d’autoriser l’utilisation d’une technique pyramidale.
Localisation précise de points clés
L’étape de détection d’extremums produit en général un grand nombre de points-clés candidats, dont certains sont instables ; de plus, leur localisation les octaves supérieures de la pyramide. D’autres traitements sont appliqués, pour : 1) correction des positions des points clés, 2) éliminer les points clé de faible contraste ou situés sur des arêtes de contour à faible courbure et donc susceptibles de glisser facilement.
Élimination des points-clés de faible contraste
La valeur de aux coordonnées précises du point-clé peut être calculée à partir du développement de Taylor de cette fonction, et constitue donc un extremum local. Un seuillage absolu sur cette valeur permet d’éliminer les points instables, à faible contraste.
Élimination des points situés sur les arêtes
Les points situés sur les arêtes (ou contours) doivent être éliminés car la fonction DoG y prend des valeurs élevées, ce qui peut donner naissance à des extremums locaux instables, très sensibles au bruit : si l’image devait subir un changement numérique même imperceptible, de tels points-clés peuvent se retrouver déplacés ailleurs sur la même arête, ou même simplement disparaître. Un point candidat à éliminer, si l’on considère les deux directions principales à sa position, est caractérisé par le fait que sa courbure principale le long du contour sur lequel il est positionné est très élevée par rapport à sa courbure dans la direction orthogonale. La courbure principale est représentée par les valeurs propres de la matrice hessienne H :
Descripteur de point-clé
Une fois les points-clés, associés à des facteurs d’échelles et à des orientations, détectées et leur invariance aux changements d’échelles et aux rotations assurée, arrive l’étape de calcul des vecteurs descripteurs, traduisant numériquement chacun de ces points-clés. À cette occasion, des traitements supplémentaires vont permettre d’assurer un surcroît de pouvoir discriminant en rendant les descripteurs invariants à d’autres transformations telles que la luminosité, le changement de point de vue 3D, etc. Cette étape est réalisée sur l’image lissée avec le paramètre de facteur d’échelle le plus proche de celui du point-clé considéré. Autour de ce point, on commence par modifier le système de coordonnées local pour garantir l’invariance à la rotation, en utilisant une rotation d’angle égal à l’orientation du point-clé, mais de sens opposé. On considère ensuite, toujours autour du point-clé, une région de 16 × 16 pixels, subdivisée en 4 × 4 zones de 4 × 4 pixels chacune. Sur chaque zone est calculé un histogramme des orientations comportant 8 intervalles. En chaque point de la zone, l’orientation et la magnitude du gradient sont calculés comme précédemment. L’orientation détermine l’intervalle à incrémenter dans l’histogramme, ce qui se fait avec un double pondération – par l’amplitude et par une fenêtre gaussienne centrée sur le point clé, de paramètre égal à 1,5 fois le facteur d’échelle du point-clé. Ensuite, les 16 histogrammes à 8 intervalles chacun sont concaténés et normalisés.
Dans le but de diminuer la sensibilité du descripteur aux changements de luminosité, les valeurs supérieures à 0,2 sont remplacées par 0,2 et l’histogramme est de nouveau normalisé, pour finalement fournir le descripteur SIFT du point-clé, de dimension 128.
Cette dimension peut paraître bien élevée, mais la plupart des descripteurs de dimension inférieure proposés dans la littérature présentent de moins bonnes performances dans les tâches de mise en correspondance pour un gain en coût de calculs bien modéré pour trouver le plus proche voisin [24].
Utilisation pour la recherche d’objets dans des images
La problématique de base pour laquelle la méthode SIFT a été conçue est la suivante : peuton trouver dans une image donnée (dite image question ou image suspecte), des objets déjà présents dans une collection d’images de référence préétablie. Dans la méthode originale de David Lowe, les points-clés et les descripteurs SIFT sont tout d’abord extraites des images de référence et stockés dans une sorte de base de données. Un objet est identifié dans l’image question en effectuant une comparaison de ses descripteurs à ceux des images de référence disponibles en base de données, fondée simplement sur la distance euclidienne. Parmi toutes les correspondances ainsi établies, des sous-ensembles (clusters) sont identifiés, au sein desquels la mise en correspondance est cohérente du point de vue des positions des points, des facteurs d’échelle et des orientations. Les clusters contenant au moins trois correspondances ponctuelles sont conservés. Dans chacun d’eux, on modélise la transformation permettant de passer de l’image question à l’image de référence, et on élimine les correspondances aberrantes par simple vérification de ce modèle. Enfin, Lowe applique un modèle probabiliste pour confirmer que la détection d’une correspondance d’objets entre l’image question et l’une des images de référence n’est pas due au hasard, baser sur l’idée que si de nombreux points n’ont pas pu être mis en correspondance c’est que l’on a peut-être affaire à un faux positif.
Indexation des descripteurs et recherche de correspondances
L’indexation est l’opération de stockage des descripteurs SIFT des images de référence, d’une manière qui facilite l’identification des descripteurs correspondants de l’image question. Lowe utilise un arbre kd pour indexer les descripteurs puis une méthode de recherche dans cet arbre modifiée par rapport à l’approche classique, appelée Best bin first.
Cette dernière est capable de trouver les plus proches voisins d’un descripteur question avec une bonne probabilité de façon très économe en temps de calcul. Cet algorithme se fonde sur deux astuces. Tout d’abord, le nombre de boîtes (feuilles de l’arbre kd) à explorer pour trouver le plus proche voisin d’un descripteur question donné est limité à une valeur maximale fixée, par exemple à 200. Ensuite, les noeuds de l’arbre kd sont explorés dans l’ordre de leur distance au descripteur question, grâce à l’utilisation d’une file de priorité basée sur un tas binaire. *14+ Par distance d’un noeud à un descripteur, on entend distance euclidienne de la boîte englobant des feuilles sous-jacentes à ce descripteur. Dans la plupart des cas, ce procédé fournit la meilleure correspondance, et, dans les cas restants, un descripteur très proche de celle-ci.De façon à déconsidérer les descripteurs faiblement discriminants (parce qu’ils sont trop souvent présents dans la base de référence, comme par exemple ceux qui sont extraits de motifs d’arrière-plan souvent répétés dans les images), Lowe recherche à la fois le plus proche voisin et le second plus proche voisin de chaque descripteur question. Lorsque le rapport des distances est supérieur à 0,8, la correspondance est éliminée, car considérée comme ambiguës (« bruit »). Par ce critère, Lowe parvient à éliminer 90 % des fausses correspondances en perdant moins de 5 % de correspondances correctes. Nous retrouvons plusieurs applications industrielles des SIFT :
• Assistance des conducteurs de voitures
• La photographie digitale.
• Le suivi des visages.
• Les films et les vidéos.
• Les jeux et la reconnaissance des gestes.
• Industrie électronique.
• Reconnaissance d’objets pour les engins mobils.
Détection par SURF
Inspiré par SIFT et Bay. A proposé le détecteur SURF et le descripteur. Les caractéristiques de SURF présentent de meilleurs résultats en matière de répétabilité, de caractère distinctif et de robustesse, mais en même temps peut être calculé beaucoup plus rapidement grâce à l’utilisation de l’image intégrale [15], ce qui signifie que les dérivés gaussiens à différents niveaux d’échelle peuvent être approchés par des filtres de boîtes simples sans calculer l’espace global de l’échelle gaussienne. Similaire à SIFT, une grille rectangulaire de 4 4 sous régions est définie (selon l’orientation principale) et une somme de réponses d’ondelettes de Haar (pondérée par un centre gaussien au point central d’intérêt) est calculée par région.
Le détecteur et le descripteur de SURF ne sont pas seulement plus rapides, mais le premier est également plus répandu et le dernier plus distinctif.
Le détecteur de points d’intérêt le plus utilisé est probablement le détecteur d’angle Harris [16], proposé en 1988, en fonction des valeurs propres de la matrice du second moment.
Cependant, les angles Harris ne sont pas invariants à l’échelle. Lindeberg A introduit le concept de la sélection automatique de l’échelle [17]. Cela permet de Détecter des points d’intérêt dans une image, chacune avec leur propre échelle caractéristique. Il a expérimenté à la fois le déterminant de la matrice hessienne ainsi que le Laplacien (qui correspond à la trace de la matrice hessienne) pour détecter Bloblike Structures. Mikolajczyk et Schmid ont raffiné cette méthode, créant une robustesse Et des détecteurs de caractéristiques invariables avec une grande répétabilité, qu’ils ont inventé Harris-Laplace et Hessian-Laplace [18].Le descripteur, d’autre part, décrit une distribution des réponses Haar-ondelettes dans le quartier des points d’intérêt. Encore une fois, nous exploitons des images intégrales pour la vitesse.
Nous présentons également une nouvelle étape d’indexation basée sur le signe du Laplacien, qui augmente non seulement la vitesse de correspondance, mais aussi la robustesse du descripteur.
|
Table des matières
Dédicaces
Remerciement
Introduction générale
Chapitre I : Généralités sur les méthodes de détection de primitive
I.1 Introduction
I.2 Apprentissage Automatique
I.2.1 Introduction
I.2.2 Principes
I.2.3 Domaines de l’Apprentissage Automatique
I.2.4 Types d’apprentissage automatique
I.3 Machine Learning et la détection de visage
I.3.1 Détection de visage
I.3.1.1 Machine à Vecteurs de Support
I.3.1.2 Scale-Invariant Features Transform
I.3.1.3 Kaze
I.3.1.4 Speeded Up Robust Features
I.4 Conclusion..
Chapitre II : Détection de visage par SIFT et AKAZE
II.1 Introduction
II.1.1 Détection par SURF
II.1.1.1 Détecteur Fast-Hessian
II.1.1.2 Le descripteur SURF
II.1.1.3 Les limitations du SIFT et SURF
II.1.2 Détection par algorithme AKAZE
II.1.3 Descripteur KAZE
II.1.3.1 Introduction
II.1.3.2 La description par AKAZE
II.1.3.3 Caractéristiques KAZE
II.1.4 Détection des features par AKAZE
II.1.5 Détection de visage par descripteur AKAZE
II.2 Algorithme de détection
II.2.1 Algorithme AKAZE
II.2.2 Présentation d’AKAZE
II.3 Conclusion
Chapitre III : Application de descripteur AKAZE
III.1 Introduction à la bibliothèque OpenCV
III.2 La bibliothèque QT
III.3 Les paramètres du descripteur AKAZE
III.3.1 Traitement d’images
III.3.2 Traitement des vidéos
III.3.3 Le moteur de production « CMake »
III.4 Application du descripteur AKAZE
III.5 La construction du descripteur AKAZE
III.6 Discussion des résultats
III.7 Conclusion
Conclusion générale
Télécharger le rapport complet