Motif binaire local

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Les motifs binaires locaux (local binary patterns en anglais) sont des caractéristiques utilisées en vision par ordinateur pour reconnaître des textures ou pour la détection d'objet dans des images numériques.

Introduction[modifier | modifier le code]

Trois exemples de voisinages utilisés pour définir une texture et calculer un motif binaire local (LBP)

Ce descripteur a été mentionné pour la première fois en 1993 pour mesurer le contraste local d'une image[1] mais réellement popularisé trois ans plus tard par Ojala pour analyser les textures[2]. Le principe général est de comparer le niveau de luminance d'un pixel avec les niveaux de ses voisins. Cela rend donc compte d'une information relative à des motifs réguliers dans l'image, autrement dit une texture. Selon l'échelle du voisinage utilisé, certaines zones d'intérêt tels des coins ou des bords peuvent être détectés par ce descripteur.

Définition (mathématique)[modifier | modifier le code]

Algorithme pour calculer un motif binaire local (LBP)

Une texture est définie dans le voisinage de rayon R d'une image (en niveaux de gris) comme la distribution jointe de P+1 pixels:

T=t(g_c,g_0,\dots,g_{P-1})

g_c est le niveau de gris du pixel (x_c,y_c) et g_i (avec i=1, \dots, P-1) celui de P points du voisinage circulaire dont il est le centre. Ainsi définie, la texture peut se représenter, sans perte d'information, par les différences de niveau de gris entre le centre et le pourtour :

T=t(g_c,g_0-g_c,\dots,g_{P-1}-g_c)

Si on suppose que ces différences sont localement indépendantes de la valeur du pixel central, on a:

T=t(g_c)t(g_0-g_c,\dots,g_{P-1}-g_c)

Cette hypothèse d'indépendance est bien entendu discutable puisque le niveau de gris des images est limité en pratique, et que des valeurs grandes ou petites de g_c limiterait les valeurs possibles des différences (les deux phénomènes ne sont donc alors plus indépendants). La petite perte d'information induite par cette hypothèse d'indépendance (i.e négliger les possibles « couplages » pour les valeurs extrêmes) a néanmoins l'appréciable avantage de rendre la définition invariante aux translations dans l'image.

Puisque t(g_c) reflète l'information globale de luminance de l'image et n'est pas informatif sur la texture locale, on peut négliger ce terme:

T\approx t(g_0-g_c,\dots,g_{P-1}-g_c)

Ce vecteur de dimension P reflète les différences locales de niveau de gris. Afin de renforcer l'invariance à des changements monotones des niveaus de gris, seul le signe de ces différences est pris en compte:

T\approx t(\delta(g_0-g_c),\dots,\delta(g_{P-1}-g_c))

\delta(.) est la fonction de Heaviside. Il ne reste alors qu'à pondérer chaque différence avec un facteur de la forme 2^p pour obtenir un code unique, aboutissant au descripteur du motif binaire local en un point (x_c,y_c):

LBP_{P,R}(x_c,y_c)= \sum_{p=0}^{P-1}{2^p\delta(g_p-g_c)}

Pour une image comportant N pixels (x_c, c=0\dots N-1), ce motif est calculé en chaque point faisant sens (c'est-à-dire où le voisinage peut être défini), ce qui résulte en un descripteur global décrivant la texture de l'image.

Remarque sur les voisinages[modifier | modifier le code]

Selon l'application visée l'implémentation des voisinages peut être différente. Dans la définition générale donnée ci-dessus, les coordonnées des P points du voisinage de (x_c,y_c) est donnée par:

\bigl(x_c + R \cos (2\pi p/P), y_c-R\sin (2\pi p/P)\bigr)

la valeur de niveau de gris des points du voisinage qui ne «tombent» pas exactement sur un pixel réel est calculée par interpolation bilinéaire. Dans sa version originale néanmoins, il était proposé d'utiliser directement la valeur du pixel le plus proche du point P[1],[2]

Application[modifier | modifier le code]

Les motifs binaires locaux ont récemment été utilisés pour détecter des personnes[3]. Ils sont également une technique de base pour la reconnaissance faciale[4].

Liens externes[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. a et b Harwood D, Ojala T, Pietik¨inen M, Kelman S & Davis S (1993) Texture classification a by center-symmetric auto-correlation, using Kullback discrimination of distributions. Technical report, Computer Vision Laboratory, Center for Automation Research, University of Maryland, College Park, Maryland. CAR-TR-678.
  2. a et b Ojala T, Pietikïnen M & Harwood D (1996) A comparative study of texture measures a with classification based on feature distributions. Pattern Recognition 29: 51–59
  3. Mu, Y., Yan, S., Liu, Y., Huang, T., and Zhou, B. (2008). Discriminative local binary patterns for human detection in personal album. CVPR 2008, 1 :1–8.
  4. Ahonen, T., Hadid, A., & Pietikäinen, M. (2004). Face recognition with local binary patterns. Computer Vision-ECCV 2004, 469-481.