Image intégrale (moitié droite) d'un pixel art en niveaux de gris 2 bits (moitié gauche), normalisée et agrandie pour plus de visibilité.
Une image intégrale (ou summed area table) est une représentation sous la forme d'une image numérique et un algorithme, permettant de calculer rapidement des sommes de valeurs dans des zones rectangulaires.
Proposée à l'origine comme une méthode d'infographie en 1984, les images intégrales sont surtout connues en vision par ordinateur depuis 2001 par leur reformulation dans la méthode de Viola et JonesPaul Viola et Michael Jones, Robust Real-time Object Detection IJCV 2001.
C'est une représentation sous la forme d'une image, de même taille que l'image d'origine, qui en chacun de ses points contient la somme des pixels situés au-dessus et à gauche de ce point. Plus formellement, l'image intégrale est définie à partir de l'image par:
Grâce à cette représentation sous forme de table de correspondance, la somme des valeurs dans une zone rectangulaire peut être calculée en seulement 4 accès à l'image intégrale (6 accès pour deux zones rectangulaires contiguës), et donc en temps constant quelle que soit la taille de la zone.
Cette somme peut se calculer par récurrence, par:
où est la somme cumulée de la ligne x jusqu'à la colonne y. L'image intégrale peut donc se calculer avec un seul parcours de l'image d'origine.
Une fois l'image intégrale calculée, la somme des pixels à l'intérieur de n'importe quel rectangle ABCD peut être évaluée en seulement 4 accès:
Extensions
La méthode a été étendue aux zones rectangulaires orientées à 45° en 2002Rainer Lienhart et Jochen Maydt, An Extended Set of Haar-like Features for Rapid Object Detection, In IEEE ICIP, 2002Rainer Lienhart, Alexander Kuranov, and Vadim Pisarevsky. Empirical analysis of detection cascades of boosted classifiers for rapid object detection. pages 297–304. 2003.. Le principe est identique, sauf que la somme est maintenant calculée dans un demi-rectangle orienté à 45°:
Le calcul de la somme dans le rectangle souhaité à partir de l'image intégrale s'effectue toujours en une simple somme de 4 éléments de l'image intégrale.
L'idée à la base des images intégrales a été reprise en 2005 pour proposer l'histogramme intégral, qui permet le calcul rapide d'histogrammes locauxPorikli, F., "Integral Histogram: A Fast Way to Extract Histograms in Cartesian Spaces", proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2005.
Applications
Les images intégrales ont surtout été utilisées pour le calcul des caractéristiques pseudo-Haar dans la méthode de Viola et Jones et ses dérivées, mais également pour calculer d'autres types de caractéristiques nécessitant le calcul de sommes locales de pixels, par exemple les histogrammes de gradients orientésQiang Zhu, Shai Avidan, Mei C. Yeh, and Kwang T. Cheng. Fast Human Detection Using a Cascade of Histograms of Oriented Gradients. In IEEE CVPR, 1491-1498. 2006..
Notes et références
Catégorie:Vision artificielle