Algorithme de Lloyd-Max

Page d’aide sur l’homonymie

Pour les articles homonymes, voir Lloyd!Max.

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.

En algorithmique et en traitement du signal, l’algorithme de Lloyd-Max est un algorithme qui permet de construire le quantifieur scalaire optimal. C'est donc une méthode pour quantifier un signal en une dimension de manière à minimiser la distorsion, mesurée par l'erreur quadratique moyenne.

L'optimalité du quantifieur est assurée par deux conditions sur les niveaux de reconstruction et de décision, découvertes par Lloyd en 1957. Il fournit aussi un algorithme, qui permet de construire itérativement le quantifieur optimal. L'algorithme peut être étendu à la quantification de vecteurs (algorithme de Linde-Buzo-Gray).

Historique

L'algorithme fut développé par Lloyd en 1957, mais n'a pas été publié en revue scientifique. Il fut présenté à l'Institut de Statistiques Mathématiques et la seule version imprimée est un mémorandum technique des laboratoires Bell. L'algorithme resta donc peu connu pendant plusieurs années. Les résultats exposés dans le mémorandum furent redécouverts indépendamment par plusieurs chercheurs. Cependant toutes ces redécouvertes utilisèrent des dérivations différentes de celle utilisée par Lloyd, indispensable pour l'extension du théorème à la quantification de vecteurs et pour plusieurs procédures d'optimisation de quantificateurs[1].

L'algorithme fut notamment redécouvert par Joel Max en 1960[2].

Algorithme

L'algorithme est initialisé par k points de l'espace d'entrée. Il itère ensuite la procédure suivante:

  • calculer le diagramme de Voronoï des k points
  • intégrer chaque cellule de Voronoï de manière à en déterminer le centroïde
  • chacun des k points est alors déplacé sur les centroïdes

L'algorithme diffère de l'algorithme des k-moyennes au sens où ce dernier agit sur des données discrètes (par exemple un ensemble de points d'un espace vectoriel) alors que l'algorithme de Lloyd-Max peut être appliqué à des données continues (par exemple une densité).

Conditions d'optimalités

Un quantifieur scalaire peut se définir comme un ensemble d'intervalles de l'espace de départ, [ t k ; t k + 1 ] {\displaystyle [t_{k};t_{k+1}]} , où les t i {\displaystyle t_{i}} sont appelés niveaux de décision. On suppose que le quantifieur possède N + 1 {\displaystyle N+1} niveaux de reconstructions r k {\displaystyle r_{k}} , et N + 1 {\displaystyle N+1} niveaux de décision t k {\displaystyle t_{k}} .

Pour une source x {\displaystyle x} de densité de probabilité p X ( x ) {\displaystyle p_{X}(x)} , les conditions d'optimalités sur les niveaux de reconstructions r k {\displaystyle r_{k}} et de décision t k {\displaystyle t_{k}} sont obtenues en minimisant l'erreur de reconstruction (appelée aussi distorsion) :

D = E [ | x x ^ | 2 ] {\displaystyle D=E\left[|x-{\hat {x}}|^{2}\right]}

Les conditions d'optimalités sont alors données par :

  • t k = r k 1 + r k 2 {\displaystyle t_{k}={\frac {r_{k-1}+r_{k}}{2}}} (1)
  • r k = t k t k + 1 x p X ( x ) t k t k + 1 p X ( x ) {\displaystyle r_{k}={\frac {\int _{t_{k}}^{t_{k+1}}xp_{X}(x)}{\int _{t_{k}}^{t_{k+1}}p_{X}(x)}}} (2)

Cas particulier

Dans le cas d'une source uniforme : p X ( x ) = 1 t N t 0 {\displaystyle p_{X}(x)={\frac {1}{t_{N}-t_{0}}}} , les conditions d'optimalités se simplifient :

r k = t k + 1 + t k 2 {\displaystyle r_{k}={\frac {t_{k+1}+t_{k}}{2}}}

ce qui donne, en injectant dans (1) :

t k t k 1 = t k + 1 t k = q = c s t e {\displaystyle t_{k}-t_{k-1}=t_{k+1}-t_{k}=q=cste}

Le pas de quantification q {\displaystyle q} est constant, et égale à q = t N t 0 N {\displaystyle q={\frac {t_{N}-t_{0}}{N}}} . Les niveaux de reconstruction et de décisions sont alors régis par les règles simples :

  • t k = t k 1 + q {\displaystyle t_{k}=t_{k-1}+q}
  • r k = t k + q 2 {\displaystyle r_{k}=t_{k}+{\frac {q}{2}}}

On retrouve le quantifieur scalaire uniforme, qui est donc optimal pour une source de distribution uniforme.

Voir aussi

  • quantification (signal)
  • quantification vectorielle
  • compression d'image

Notes et références

  1. R. M. Gray et D. L. Neuhoff, « Quantization », IEEE Transactions on Information Theory, vol. 44, no 6,‎ , p. 2325–2383 (ISSN 0018-9448, DOI 10.1109/18.720541, lire en ligne, consulté le )
  2. J. Max, « Quantizing for minimum distortion », IRE Transactions on Information Theory, vol. 6, no 1,‎ , p. 7–12 (ISSN 0096-1000, DOI 10.1109/TIT.1960.1057548, lire en ligne, consulté le )

Références

  • M. Antonini and V. Ricordel. Chapitre Quantification, pp. 45–72. Traité IC2. Hermès, Paris, .
  • Robert M. Gray, David L. Neuhoff, Quantization, IEEE Transactions on Information Theory, vol. 44, n°6, pp. 2325-2383, DOI 10.1109/18.720541
  • Source Coding Theory, Robert M. Gray
  • S. P. Lloyd, Least squares quantization in PCM, IEEE Transactions on Information Theory, vol. 28, n°2, pp. 129–137, DOI 10.1109/TIT.1982.1056489
  • Anil K. Jain, Fundamentals of digital image processing, Prentice Hall, 1989.
  • icône décorative Portail de l’imagerie numérique
  • icône décorative Portail de l'informatique théorique