【问题标题】:Shape Context - Rotation Invariance形状上下文 - 旋转不变性
【发布时间】:2012-11-25 01:25:42
【问题描述】:

我试图实现形状上下文(在 MatLab 中)。我试图实现旋转不变性。

形状上下文的一般方法是计算给定图像中每组兴趣点之间的距离和角度。然后,您根据这些计算值是否落入特定范围,将其分类为直方图。您对标准图像和测试图像都执行此操作。为了匹配两个不同的图像,您可以使用卡方函数来估计两个不同直方图中每个可能的点对之间的“成本”。最后,您使用匈牙利算法之类的优化技术来找到最佳的点分配,然后对总成本求和,这对于良好的匹配会更低。

我检查了几个网站和论文,他们说要使上述方法旋转不变,您需要使用切向量作为 x 轴来计算每对点之间的每个角度。 (即http://www.cs.berkeley.edu/~malik/papers/BMP-shape.pdf第513页)

这到底是什么意思?似乎没有人解释清楚。另外,你会从每对点中的哪一个得到切向量 - 你会平均这两个点吗?

其他几个人建议我可以使用渐变(在 Matlab 中很容易找到)并将其用作切点的替代品,尽管它似乎无法用它来计算合理的成本分数。用渐变来做这件事可行吗?

【问题讨论】:

    标签: matlab descriptor


    【解决方案1】:

    渐变应该适用于这个主导方向吗?

    按照该方向订购垃圾箱是什么意思?我原本打算有一个方阵矩阵 - 两个给定点之间的半径决定矩阵中的列,两个给定点之间的计算角度决定行。

    感谢您的洞察力。

    【讨论】:

    • 请在评论区提问
    【解决方案2】:

    实现(某种程度上)旋转不变性的一种方法是确保无论您在何处计算图像描述符,它们的方向(即 bin 的排序)都(大致)相同。为了实现这一点,您在提取每个描述符的位置选择主要方向,并根据该方向对 bin 进行排序。通过这种方式,您可以比较不同描述符的 bin-to-bin,知道它们的顺序是相同的:关于它们的局部主导方向。
    根据我的个人经验(不是太多),这些方法在纸面上看起来比在实践中更好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 2018-05-06
      • 1970-01-01
      相关资源
      最近更新 更多