Vue lecture

OpenCV: Cascade Classifier

La détection d'objets à l'aide de classificateurs en cascade basés sur les caractéristiques Haar est une méthode efficace de détection d'objets proposée par Paul Viola et Michael Jones dans leur article intitulé "Rapid Object Detection using a Boosted Cascade of Simple Features" (Détection rapide d'objets à l'aide d'une cascade renforcée de caractéristiques simples) en 2001. Il s'agit d'une approche basée sur l'apprentissage automatique dans laquelle une fonction en cascade est entraînée à partir d'un grand nombre d'images positives et négatives. Elle est ensuite utilisée pour détecter des objets dans d'autres images.

Nous travaillerons ici sur la détection des visages. Au départ, l'algorithme a besoin d'un grand nombre d'images positives (images de visages) et d'images négatives (images sans visages) pour entraîner le classificateur. Nous devons ensuite en extraire les caractéristiques. Pour ce faire, nous utilisons les caractéristiques Haar présentées dans l'image ci-dessous. Elles sont comparables à notre noyau convolutif. Chaque caractéristique est une valeur unique obtenue en soustrayant la somme des pixels situés sous le rectangle blanc de la somme des pixels situés sous le rectangle noir.

caractéristiques_haar.jpg
image

Maintenant, toutes les tailles et tous les emplacements possibles de chaque noyau sont utilisés pour calculer un grand nombre de caractéristiques. (Imaginez la quantité de calculs nécessaires ? Même une fenêtre 24x24 produit plus de 160000 caractéristiques). Pour chaque calcul de caractéristique, nous devons trouver la somme des pixels situés sous les rectangles blancs et noirs. Pour résoudre ce problème, ils ont introduit l'image intégrale. Quelle que soit la taille de votre image, elle réduit les calculs pour un pixel donné à une opération impliquant seulement quatre pixels. C'est bien, non ? Cela rend les choses très rapides.

Mais parmi toutes les caractéristiques que nous avons calculées, la plupart ne sont pas pertinentes.

Prenons par exemple l'image ci-dessous. La rangée du haut montre deux bonnes caractéristiques. La première caractéristique sélectionnée semble se concentrer sur la propriété selon laquelle la région des yeux est souvent plus foncée que la région du nez et des joues.

La deuxième caractéristique sélectionnée s'appuie sur la propriété selon laquelle les yeux sont plus foncés que l'arête du nez. Mais les mêmes fenêtres appliquées aux joues ou à tout autre endroit ne sont pas pertinentes. Alors, comment sélectionner les meilleures caractéristiques parmi plus de 160000 ? C'est possible grâce à Adaboost.


Permalien
❌