【问题标题】:Training set in vector quantization矢量量化中的训练集
【发布时间】:2015-06-03 23:28:45
【问题描述】:

我正在学习图像压缩和重建方面的矢量量化,我想知道为什么我们要从训练集中形成一个初始码本?既然我们只是传输码字的索引,那我们为什么不把训练集当作最终的码本呢?这将导致更准确的重建,对吧?会有什么不同?

【问题讨论】:

    标签: vector quantization


    【解决方案1】:

    码本不是要传输的图像。码字是 k 维码本中一行的参考点。注意:码本本质上是一个二维数组,其中行号就是码字。

    示例: 1000 个训练图像,每个大小为 512x512。 如果我们要创建大小为 256 的码本,将 512x512 的图像压缩成 128x128 的 VQ(矢量量化)索引表,那么我们的码本需要 16 维(即原始图像中的每个 4x4 块(16 个值)被压缩为 1值,它是一个代码字)。 无论您使用哪种聚类算法(例如 LBG),都会在 1000 个训练图像中找到最接近的 16 个值,这些值最能代表 4x4 块。这 16 个值将被放入码本。找到最好的 256 个组或 16 个值的簇后,码本就可以使用了。

    此码本需要发送给接收方一次。与 1000 个 512x512 的训练图像相比,它是一个 256 行、16 维的结构。您将 128x128 索引表发送给接收器,然后接收器可以在码本中查找位置并重建 512x512 图像。这并不准确,因为这种类型的压缩是有损的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 1970-01-01
      • 2015-10-27
      • 2017-05-04
      相关资源
      最近更新 更多