📜  Linde-Buzo-Gray (LBG) 算法

📅  最后修改于: 2022-05-13 01:57:13.339000             🧑  作者: Mango

Linde-Buzo-Gray (LBG) 算法

Linde-Buzo-Gray (LBG) 算法用于有效地设计具有最小失真和错误的码本。

LBG 算法是由 Yoseph Linde、Andres Buzo 和 Robert M. Gray 在 1980 年提出的。它是代码生成中最常见的算法,可以从训练集生成具有最小误差的码本。

训练集是一组从图像向量中导出的向量。代码向量必须最小化失真。

LBG 算法假设码字长度是固定的。



这是一个迭代过程,基本思想是划分训练向量组,并使用它从一组中找到最具代表性的向量。收集来自每组的这些代表性向量以形成码本。

LBG算法的过程:

  1. 将给定的图像分成块,使每个块都显示为一个 d 维向量。
    例如,如果图像大小为 712×712,块大小为 4×4,则块数等于 (712*712)/(4*4)=31684。
    每个块都是一个 16 维的向量。
  2. 初始码本是随机选择的。
  3. 初始选择的码本设置为质心,其他向量根据最近的距离分组,质心类似于k-mean聚类。
  4. 找到每个组的新质心以获得新的码本迭代。重复步骤 2 和 3,直到每个组的质心收敛。

LBG算法流程图: