Article de reference

Quantification vectorielle

( Apprenez comment et quand supprimer ce message ) La quantification vectorielle ( VQ ) est une technique de quantification classique issue du traitement du signal qui permet de...

de quantification classique issue du traitement du signal qui permet de modéliser des fonctions de densité de probabilité par la distribution de vecteurs prototypes. Développée au début des années 1980 par Robert M. Gray , elle était initialement utilisée pour la compression de données . Son principe consiste à diviser un grand ensemble de points ( vecteurs ) en groupes ayant approximativement le même nombre de points les plus proches. Chaque groupe est représenté par son centroïde , comme dans l'algorithme des k-moyennes et d'autres algorithmes de clustering . En d'autres termes, la quantification vectorielle sélectionne un ensemble de points pour représenter un ensemble plus vaste de points.

La propriété d'appariement de densité de la quantification vectorielle est particulièrement efficace pour identifier la densité de données volumineuses et de grande dimension. Puisque les points de données sont représentés par l'indice de leur centroïde le plus proche, les données fréquentes présentent une faible erreur, tandis que les données rares présentent une erreur élevée. C'est pourquoi la quantification vectorielle est adaptée à la compression de données avec perte . Elle peut également être utilisée pour la correction de données avec perte et l'estimation de densité .

La quantification vectorielle est basée sur le paradigme d'apprentissage compétitif , elle est donc étroitement liée au modèle de carte auto-organisatrice et aux modèles de codage parcimonieux utilisés dans les algorithmes d'apprentissage profond tels que l'auto-encodeur .

  • Choisissez un point d'échantillon au hasard
  • Pour chaque centroïde de vecteur de quantification , soit la distance de et
  • Trouvez le centroïde pour lequel est le plus petit
  • Avancez d' une petite fraction de la distance
  • Mettre à zéro
  • Répéter
  • Il est souhaitable d'utiliser un programme de refroidissement pour obtenir la convergence : voir Recuit simulé . Une autre méthode simple est LBG , qui est basée sur l' algorithme des k-moyennes .

    L'algorithme peut être mis à jour de manière itérative avec des données « en direct », plutôt qu'en sélectionnant des points aléatoires dans un ensemble de données, mais cela introduira un certain biais si les données sont corrélées temporellement sur de nombreux échantillons.

    Applications

    La quantification vectorielle est utilisée pour la compression de données avec perte, la correction de données avec perte, la reconnaissance de formes, l'estimation de densité et le clustering.

    La correction ou prédiction de données avec perte permet de récupérer les données manquantes pour certaines dimensions. Elle consiste à trouver le groupe le plus proche disposant des données pour les dimensions manquantes, puis à prédire le résultat à partir des valeurs de ces dimensions, en supposant qu'elles correspondent au centroïde du groupe.

    Pour l'estimation de densité , la surface/le volume plus proche d'un centroïde particulier que de tout autre est inversement proportionnel à la densité (en raison de la propriété de correspondance de densité de l'algorithme).

    Utilisation dans la compression de données

    La quantification vectorielle, également appelée « quantification par blocs » ou « quantification par correspondance de motifs », est fréquemment utilisée en compression de données avec perte . Elle consiste à encoder les valeurs d'un espace vectoriel multidimensionnel en un ensemble fini de valeurs appartenant à un sous-espace discret de dimension inférieure. Un vecteur de dimension inférieure nécessitant moins d'espace de stockage, les données sont compressées. Du fait de la propriété de correspondance de densité de la quantification vectorielle, les erreurs sur les données compressées sont inversement proportionnelles à la densité.

    La transformation est généralement effectuée par projection ou à l'aide d'un dictionnaire de codes . Dans certains cas, un dictionnaire de codes peut également servir à coder entropiquement la valeur discrète en une seule étape, en générant en sortie une valeur codée par préfixe et de longueur variable.

    L'ensemble des niveaux d'amplitude discrets est quantifié conjointement plutôt que chaque échantillon ne soit quantifié séparément. Considérons un vecteur de niveaux d'amplitude à k dimensions . Il est compressé en choisissant le vecteur correspondant le plus proche parmi un ensemble de vecteurs à n dimensions , avec n < k .

    Toutes les combinaisons possibles du vecteur n- dimensionnel forment l' espace vectoriel auquel appartiennent tous les vecteurs quantifiés.

    Seul l'indice du mot de code dans le dictionnaire est transmis, et non les valeurs quantifiées. Cela permet de gagner de l'espace et d'obtenir une meilleure compression.

    La quantification vectorielle double (VQF) fait partie de la norme MPEG-4 traitant de la quantification vectorielle entrelacée pondérée dans le domaine temporel.

    Codecs vidéo basés sur la quantification vectorielle

    Vidéo Bink
  • Cinepak
  • Daala est basé sur la transformation mais utilise la quantification vectorielle pyramidale sur les coefficients transformés
  • Vidéo numérique interactive : Vidéo de qualité professionnelle et vidéo en temps réel
  • Indeo
  • Vidéo Microsoft 1
  • QuickTime : Codec vidéo Apple (RPZA) et codec graphique (SMC)
  • Sorenson SVQ1 et SVQ3
  • Vidéo Smacker
  • Le format VQA est utilisé dans de nombreux jeux.
  • L'utilisation des codecs vidéo basés sur la quantification vectorielle a considérablement diminué au profit de ceux basés sur la prédiction compensée par le mouvement combinée au codage par transformation , par exemple ceux définis dans les normes MPEG , car la faible complexité de décodage de la quantification vectorielle est devenue moins pertinente.

    Codecs audio basés sur la quantification vectorielle

    AMR-WB+
  • CELP
  • CELT (qui fait maintenant partie d' Opus ) est basé sur la transformation mais utilise la quantification vectorielle pyramidale sur les coefficients transformés.
  • Codec 2
  • DTS
  • G.729
  • iLBC
  • Ogg Vorbis
  • TwinVQ
  • Utilisation dans la reconnaissance de formes

    La quantification vectorielle (VQ) a également été utilisée dans les années 80 pour la reconnaissance vocale et la reconnaissance du locuteur . Plus récemment, elle a été employée pour la recherche efficace du plus proche voisin et la reconnaissance de signatures en ligne . Dans les applications de reconnaissance de formes , un dictionnaire de codes est construit pour chaque classe (chaque classe correspondant à un utilisateur dans les applications biométriques) à partir des vecteurs acoustiques de cet utilisateur. Lors de la phase de test, la distorsion de quantification d'un signal de test est calculée à l'aide de l'ensemble des dictionnaires de codes obtenus lors de la phase d'apprentissage. Le dictionnaire de codes présentant la plus faible distorsion de quantification vectorielle identifie l'utilisateur.

    Le principal avantage de la quantification vectorielle (VQ) en reconnaissance de formes réside dans sa faible charge de calcul, comparée à d'autres techniques telles que l'alignement temporel dynamique (DTW) et les modèles de Markov cachés (HMM). Son principal inconvénient, par rapport au DTW et aux HMM, est qu'elle ne prend pas en compte l'évolution temporelle des signaux (parole, signature, etc.) car tous les vecteurs sont mélangés. Pour pallier ce problème, une approche par dictionnaire multi-sections a été proposée . Cette approche consiste à modéliser le signal en plusieurs sections (par exemple, un dictionnaire pour la partie initiale, un autre pour la partie centrale et un dernier pour la partie finale).

    Utiliser comme algorithme de clustering

    Comme la quantification vectorielle (VQ) recherche les centroïdes comme points de densité d'échantillons voisins, elle peut également être utilisée directement comme méthode de clustering basée sur des prototypes : chaque centroïde est alors associé à un prototype. En minimisant l'erreur quadratique moyenne de quantification et en introduisant un gain d'apprentissage décroissant respectant les conditions de Robbins-Monro, de multiples itérations sur l'ensemble des données avec un nombre précis mais fixe de prototypes convergent de manière incrémentale vers la solution de l' algorithme de clustering k-means .

    Réseaux antagonistes génératifs (GAN)

    La quantification vectorielle ( VQ) a été utilisée pour quantifier une couche de représentation des caractéristiques dans le discriminateur des réseaux antagonistes génératifs (GAN ). La technique de quantification des caractéristiques (FQ) effectue une mise en correspondance implicite des caractéristiques . Elle améliore l'entraînement des GAN et offre de meilleures performances sur divers modèles GAN populaires : BigGAN pour la génération d'images, StyleGAN pour la synthèse faciale et U-GAT-IT pour la traduction non supervisée d'images à images.