4

我正在尝试实现 Jason Hipp 等人的算法。还有一个演示文稿,更短更全面。

简要说明他们的方法:

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

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

我的问题是:

  • 他们在整个算法中的哪个位置生成密码本?如何?

  • 我看不到如何为要生成的 Codebook 选择参数。如果他们首先对图像中所有可能位置的所有可能圆进行采样,则计算量非常大。他们如何确定要生成的簇/码字的数量?

  • 为什么我要摆动子环?

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

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

4

1 回答 1

2

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

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

于 2012-12-10T18:10:23.417 回答