algorithm - 空间不变矢量量化

标签 algorithm matlab vector quantization background-foreground

我正在尝试实现 algorithm杰森希普等人。还有一个presentation , 更短更全面。

他们的方法的简要描述:

他们使用矢量量化作为区分任何给定图像中的前景和背景的工具。然而,他们没有使用方形区域作为特征向量来生成代码字,而是使用圆形。这应该会降低计算复杂度。以圆作为谓词向量,匹配问题被简化为线性模式匹配任务,并允许空间不变匹配。因此,该方法称为空间不变矢量量化

所以基本上,一个谓词向量被交互地选择,然后图像空间被详尽地查询这个谓词向量与当前位置的相关性。

我的问题是:

  • 他们在整个算法的什么地方生成密码本?如何?

  • 我不知道如何为要生成的密码本选择参数。如果他们首先对图像中所有可能位置的所有可能圆圈进行采样,这在计算上非常繁重。他们如何确定要生成的簇/码字的数量?

  • 为什么我要让子环相互摆动?

现在我的实现基本上包括一个半径为一个圆作为谓词向量。它遍历原始图像空间,并将谓词向量与所有可能旋转中当前像素周围的圆相关联。这是一个极其缓慢的过程,我看不到他们算法的好处。 我没有实现任何接近矢量量化的东西,因为我看不出它是如何工作的。

任何提示或想法都会受到赞赏。不幸的是,该方法的作者没有回答我的问题。

最佳答案

你的前两个问题不是这个算法特有的,而是任何矢量量化算法。这是一个网页,用相对容易理解的术语描述了如何进行矢量量化,包括生成码本:http://www.data-compression.com/vq.html .

关于 Wobble:在该算法中,关键的观察结果是通过矢量化为环,表面不会被镶嵌(完全覆盖)。例如,如果您使用正方形,它们会分割表面(完全覆盖它)。重叠的环不一定会完全覆盖图像。由于这个原因,环“之间”的像素可能会被遗漏并导致匹配失败。为了弥补这一点,作者来回“摆动”环,以便最终覆盖所有像素。

关于algorithm - 空间不变矢量量化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13802434/

相关文章:

algorithm - 网格中的最短路径

c# - 列表调整大小的大 O

c++ - 在 Matlab 中加载 .dll 导致 'type not found' 问题

matlab - matlab中两个矩阵的匹配

c++ - 为什么我得到 : "cannot seek vector iterator after end"

c++ - 如何使类在 vector 内可排序?

python - 树遍历递归

algorithm - 二部图的优化

algorithm - 如何判断两个序列是否因排列不同?

Java:从 Vector 中删除自定义对象