En vision par ordinateur, l'extraction de caractéristiques visuelles (ou visual features extraction en anglais) consiste en des transformations mathématiques calculées sur les pixels d'une image numérique. Les caractéristiques visuelles permettent généralement de mieux rendre compte de certaines propriétés visuelles de l'image, utilisées pour des traitements ultérieurs entrant dans le cadre d'applications telles que la détection d'objets ou la recherche d'images par le contenu. À partir des années 2010, la grande majorité des travaux en vision par ordinateur repose sur des caractéristiques qui sont apprises par des réseaux convolutifs sur de grandes bases d'images, conformément aux principes de l'apprentissage profond.
Localisation des caractéristiques On distingue usuellementPrésentation sur la description des images , transparents 22 à 36. les caractéristiques globales qui sont calculées sur toute l'image et les caractéristiques locales qui sont calculées autour de points d'intérêt. On peut aussi parler des caractéristiques semi-locales quand celles-ci sont extraites dans des zones restreintes de l'image, résultant d'une segmentation de l'image en région ou simplement selon une grille arbitraire.
La distinction entre caractéristiques globales et locales a un intérêt taxinomique. Les caractéristiques locales se distinguent par le fait qu'elles sont distinctes, robustes aux occlusions (car il y en a beaucoup dans une image ou une région) et qu'elles ne nécessitent pas de segmentationMikolajczyk, K.; Schmid, C., "A performance evaluation of local descriptors," Pattern Analysis and Machine Intelligence, IEEE Transactions on, vol.27, no.10, pp.1615,1630, Oct. 2005 (section 1, ligne 4-5). Un descripteur local calculé en chaque pixel d'une image ou d'une région obtenue par segmentation, puis accumulé dans un histogramme est donc une description globale de l'image ou de la région.
Caractéristiques globales bas niveau Couleur Histogramme et dérivés La prise en compte de la couleur des images a été historiquement l'une des premières caractéristiques employées pour la recherche d'images par le contenu et produit encore des résultats parfois spectaculaires sur certaines bases. C'est en 1991 que Swain et Ballard ont proposé d'utiliser un histogramme couleur pour ce genre de tâcheMJ Swain, DH Ballard: Color Indexing, International Journal of Computer Vision, 1991.. Il représente la distribution globale des couleurs dans l'image. Son calcul consiste en une quantification de l'espace couleur choisi (RVB par exemple) suivie du calcul de l'histogramme des pixels ainsi transformés. Par exemple, si l'on considère une image RVB classique et que l'on quantifie chaque plan couleur sur 4 bins, l'histogramme résultant aura une dimension . Si l'image est originellement codée sur 24 bits (la valeur de chaque plan est dans l'intervalle ), l'histogramme couleur sur 64 bins pourrait être représenté par un « cube » :
Rouge 0-63 64-127128-191192-255 Vert Vert Vert Vert 0-63 64-127 128-191 192-255 0-63 64-127 128-191 192-255 0-63 64-127 128-191 192-255 0-63 64-127 128-191 192-255 Bleu 0-63xxxxxxxxxxxxxxxx 64-127xxxxxxxxxxxxxxxx 128-191xxxxxxxxxxxxxxxx 192-255xxxxxxxxxxxxxxxx
Chaque couleur représentant l'un des 64 bins quantifiés, et x étant alors le nombre de pixels de l'image correspondant à ce bin. En pratique, ce descripteur est généralement représenté par un vecteur mono dimensionnel à 64 dimensions.
De nombreux descripteurs peuvent être dérivés de la représentation par histogramme, dont plusieurs ont été inclus au modèle expérimental de la norme MPEG-7. Il s'agit notamment de : dominant color : rend compte de la couleur dominante d'une image, calculée comme celle du bin ayant la plus grande valeur. L'espace de couleur peut être quelconque en théorie, mais l'utilisation de HSV donne des résultats intéressantsY. Liu, D.S. Zhang, G. Lu and W.-Y Ma. Region-based image retrieval with perceptual colors. Proc. Pacific-Rim Multimedia Conference, pp 931-938, décembre 2004. ; scalable colour : il s'agit de la transformée de Haar de l'histogramme couleur dans l'espace HSV, ce qui résulte en un code très compact ; coulour structure : il s'agit d'un histogramme couleur «local». Sa construction est identique au principe présenté précédemment (histogramme couleur global), si ce n'est qu'un fenêtre de taille réduite (8x8 pixels) parcourt l'image lors du comptage des couleurs en chaque pixel. Il reflète ainsi une certaine information sur la structure spatiale de la répartition des couleurs ; colour layout : la transformée en cosinus discrète de la représentation en histogramme est calculée et seule une partie des coefficients peut être utilisée pour la signature. Cela donne la possibilité d'obtenir un descripteur relativement grossier mais très compact ou bien un descripteur plus fin mais prenant plus de place. Un tel descripteur est intéressant pour des applications nécessitant une certaine scalabilité.
Moments de couleur Dès 1995, il a été proposé d'utiliser les moments calculés dans un espace de couleur donné pour caractériser les images M. Stricker and M. Orengo. Similarity of color images. In In SPIE Conference on Storage and Retrieval for Image and Video Databases III, volume 2420, pages 381392, Feb. 1995.. On se restreint généralement aux deux ou trois premiers moments (moyenne, variance, asymétrie voire le moment d'ordre 4 appelé kurtosis) mais ils sont calculés dans chacun des trois plans de l'espace couleur choisi. Un raffinement possible consiste à diviser l'image selon une grille et à calculer ces moments dans chaque cellule.
Autocorrélogramme de couleur La couleur d'un pixel étant notée , définissons l'ensemble . Ainsi signifie que le pixel p de l'image I a une couleur c. Considérons une valeur de distance entre pixels fixée a priori. La distance utilisée est par exemple définie pour deux pixels et par . Le corrélogramme pour et est alors défini par:
Cela reflète la probabilité qu'un pixel à une distance k du pixel considéré soit de couleur . La taille du corrélogramme est .
L'autocorrélogramme est défini par:
Il nécessite un espace d'ordre .
Forme Décrire les formes nécessite une identification préalable de régions. Cela peut résulter d'une segmentation de l'image ou de la détection de leurs contours. On peut alors caractériser les régions au moyen de divers indices telle leur orientation principale (par exemple leur premier axe propre), leur symétrie ou encore leurs moments de Zernike.
Une méthode de description particulièrement utilisée est celle proposée par Mokhtarian, appelée Curvature Scale SpaceMokhtarian, F., and Mackworth, A.K., Scale Based Description and Recognition of Planar Curves and Two-Dimensional Shapes, PAMI(8), No. 1, January, 1986, pp. 34-43.. Elle consiste à décrire une région en fonction des variations de courbure de son contour. Pour une courbe plane en coordonnées paramétriques dans un repère orthonormé , la courbure s'exprime par:
.
Cette description est invariante en rotation et translation. Concernant le zoom, il faut a minima normaliser par la longueur du contour. Plus important, le descripteur est généralement calculé à différentes échelles, chacune correspondant à la convolution par un noyau gaussien.
Texture vignette|droite|A une certaine échelle, une foule peut être vue comme une texture. La définition de la texture n'est pas évidente et dépend de l'échelleTh. Gevers and A.W.M. Smeulders, Content-based Image Retrieval: An Overview, from the book Emerging Topics in Computer Vision, G. Medioni and S. B. Kang (Eds.), Prentice Hall, 2004John R. Smith and Shih-fu Chang, An Image and Video Search Engine for the World-Wide Web, In Proc. SPIE Storage and Retrieval for Image and Video Databases, 1997. On distingue trois approches pour définir la notion de texture. Dans la veine des travaux pionniers de HaralickHaralick R., Shanmugam K. & Dinstein I. (1973) Textural features for image classification. IEEE Transactions on Systems, Man, and Cybernetics 3(6): 610–621., une première approche considère une texture comme résultant d'un processus stochastique et cherche à les décrire en ce qui a trait aux propriétés statistiques des valeurs et positions relatives des pixelsWeszka J, Dyer C & Rosenfeld A (1976) A comparative study of texture measures for terrain classification. IEEE Transactions on Systems, Man, and Cybernetics 6: 269–285.Unser M (1986) Sum and difference histograms for texture classification. PAMI 8(1): 118–125..
La seconde approche suppose l'existence de primitives fondamentales permettant de décrire les textures, tels les Textons définis par JuleszJulesz B (1981) Textons, the elements of texture perception, and their interactions. Nature 290: 91–97.. Par suite, une texture donnée est décrite comme une combinaison complexe de ces primitives, exprimée par exemple avec des graphes.
Une approche plus récente s'inspire plutôt de la perception visuelle et tend à rendre compte du processus de formation des textures du point de vue humainChellappa R & Manjunath B (2001) Texture classification and segmentation: tribulations, triumphs and tributes. In: Davis L (ed) Foundations of Image Understanding,pp 219–240. Kluwer..
Approche stochastique Une texture peut être décrite statistiquement, en rendant compte de la manière dont les niveaux de gris de l'image s'organisent les uns par rapport aux autres. On considère un opérateur de position p permettant de définir une matrice qui compte le nombre de fois qu'un pixel de niveau de gris i est présent à la position p d'un pixel de niveau j. Si la matrice est normalisée entre 0 et 1, on parle de matrice de cooccurrence de niveau de grisR.M. Haralick, Texture feature for image classification, IEEE Transactions on Systems, Man, and Cybernetics 3 (1973) (1), pp. 610–621 . La position relative de deux pixels peut aussi être définie par un angle et une distance d. Par exemple, si on considère trois niveaux de gris possibles et l'image I définie par:
Et l'opérateur est à droite de (également défini par un angle et une distance pixel), alors la matrice de cooccurrence (non normalisée) est:
Le 3 de la matrice signifiant que l'on trouve trois fois un pixel de valeur 2 (donc en troisième colonne) à la droite d'un pixel de valeur 1 (donc en seconde ligne).
À partir de cette matrice de cooccurrence, il est possible de définir maints descripteurs, tels que ceux répertoriés dans cette table:
Opérateur Formulation Maximum Différence d'ordre k Entropie Uniformité
Une autre approche statistique largement utilisée est le modèle MSAR (Multiresolution Simultaneous Autoregressive Models J. Mao and A. K. Jain, “Texture classification and segmentation using multiresolution simultaneous autoregressive models,” Pattern Recognit.,vol. 25, pp. 173–188, Feb. 1992.) utilisé, au-delà de la reconnaissance de texture, pour reconnaître des scènes naturellesA. Vailaya,M.A.T Figeiredo A. Jain and H.J. Zhang. Image classification for content-based indexing. IEEE transaction on image processing, vol 10, N°1, 2001.
Approche structurelle Cette approche suppose l'existence de primitives fondamentales permettant de décrire les textures. L'un des premiers exemples de telles primitives a été les Textons proposés par Julesz. Une texture donnée est décrite comme une combinaison complexe de ces primitives, exprimée par exemple avec des graphes. Ces graphes peuvent alors servir de descripteurs de la texture.
Approche spectrale