Caractéristiques pseudo-Haar
Les caractéristiques pseudo-Haar (Haar-like features en anglais) sont des caractéristiques utilisées en vision par ordinateur pour la détection d'objet dans des images numériques. Très simples et très rapides à calculer, elles ont été utilisées dans le premier détecteur de visages en temps réel, celui de la méthode de Viola et Jones.
Ces caractéristiques doivent leur nom à leur similarité avec les ondelettes de Haar.
Description générale
[modifier | modifier le code]Les caractéristiques pseudo-Haar sont décrites pour la première fois dans un article de Paul Viola et Michael Jones paru en 2001 dans la revue scientifique International Journal of Computer Vision (IJCV), dans laquelle ils décrivent une nouvelle méthode de détection de visage[1]. Le cœur de cette méthode s'inspire des travaux de Papageorgiou, Oren et Poggio[2], qui ont décrit des caractéristiques construites à partir d'un ensemble d'ondelettes de Haar.
L'avantage déterminant des caractéristiques pseudo-Haar est la rapidité de leur calcul. Couplées à la technique des images intégrales, elles peuvent être calculées en un temps constant d'environ 60 instructions de processeur pour une caractéristique à deux rectangles. En revanche, leur simplicité ne leur permet pas de retenir de l'information très complexe, à la différence de caractéristiques plus sophistiquées comme les filtres orientés (en) ou les filtres de Gabor.
Caractéristiques rectangulaires
[modifier | modifier le code]Les caractéristiques proposées par Viola et Jones, très similaires à celle de Papageorgiou et al., considèrent des fenêtres de détection (ou masques) délimitant des zones rectangulaires adjacentes ; les intensités de pixels de ces rectangles sont additionnées, formant des sommes dont la différence constitue une caractéristique. La figure ci-contre donne des exemples de masques à 2, 3 ou 4 rectangles, dans lesquelles la somme de pixels délimités par la zone sombre est soustraite de la somme des pixels délimités par la zone claire. Ces masques ou fenêtres de détection, généralement de très petite taille au départ (typiquement 20 × 20 pixels), sont appliqués à toutes les positions de l'image, puis leurs tailles agrandies. Une caractéristique est donc un nombre réel qui code les variations du contenu pixellique à une position donnée dans la fenêtre de détection. La présence de contours ou un changement de texture sont ainsi traduits numériquement par les valeurs des caractéristiques pseudo-Haar. Par exemple, un masque à 2 rectangles permet d'indiquer où se situe la frontière entre une région sombre et une région claire.
Rapidité de calcul
[modifier | modifier le code]Il est possible de calculer très rapidement les caractéristiques pseudo-Haar à l'aide des images intégrales. Une image intégrale est une table de correspondance 2D, construite à partir de l'image d'origine, et de même taille qu'elle. Elle contient en chacun de ses points la somme des pixels situés au-dessus et à gauche du pixel courant.
Une fois le calcul de l'image intégrale effectué, la somme des pixels dans n'importe quel rectangle situé dans l'image peut se calculer en seulement 3 opérations et 4 accès à l'image intégrale. Une caractéristique pseudo-Haar à deux rectangles peut alors être déterminée en seulement 6 accès (2 points sont partagés) à l'image, et une caractéristique à 3 rectangles en seulement 8 accès.
Caractéristique rectangulaires orientées
[modifier | modifier le code]Lienhart et Maydt[3] ont introduit en 2002 le concept de caractéristiques pseudo-Haar orientées à 45° afin de mieux prendre en compte dans une image les structures inclinées (par exemple un contour à 45°). Ils ont montré que ce concept apportait une amélioration de près de 10 % des performances par rapport à l'ensemble de caractéristiques utilisées par Viola et Jones.
Ils ont également proposé une extension des images intégrales pour permettre le calcul rapide de ces caractéristiques à 45°.
Messom et Barczak ont étendu l'idée à des rotations d'angles quelconques, au prix toutefois d'erreurs d'arrondi[4].
Applications
[modifier | modifier le code]On utilise le plus souvent les caractéristiques pseudo-Haar pour la reconnaissance visuelle dans des flux vidéo, puisque le traitement des images est très rapide. Leur application originale était la détection faciale en temps réel. On l'utilise maintenant couramment pour de nombreux types de détection d'objets, ce qui est facilité par l'adaptabilité de cette technique.
Notes et références
[modifier | modifier le code]- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Haar-like features » (voir la liste des auteurs).
- Paul Viola et Michael Jones, Robust Real-time Object Detection IJCV 2001
- Papageorgiou, Oren and Poggio, A general framework for object detection, International Conference on Computer Vision, 1998.
- Rainer Lienhart et Jochen Maydt, An Extended Set of Haar-like Features for Rapid Object Detection, In IEEE ICIP, 2002
- Messom, C.H. and Barczak, A.L.C., Fast and Efficient Rotated Haar-like Features Using Rotated Integral Images, Australian Conference on Robotics and Automation (ACRA2006), pp. 1-6, 2006