【问题标题】:OpenCV FREAK not robust to rotation/scalingOpenCV FREAK 对旋转/缩放不鲁棒
【发布时间】:2013-12-05 09:05:08
【问题描述】:

我一直在处理 OpenCV FREAK 描述符,在使用两个类似的定向和缩放图像获得了非常棒的匹配结果后,我开始尝试使用缩放和旋转图像。

FREAK 应该不受缩放/旋转的影响,但我的结果很糟糕。我试图调整怪异的描述符参数:

new FREAK(true, true, 22, 5); //rotInvariant, scaleInvarian, scale, ocataves

但我只是设法在旋转图像的较近部分获得了一些正确匹配,它具有更高的分辨率。

有没有办法针对旋转和不同比例的图像调整 FREAK?

【问题讨论】:

  • 如果你只在图像的较近部分得到匹配,是因为它没有执行比例不变。尝试使用 cv::pyrDown(image, image) 对较大的图像(我猜的训练图像)进行下采样,如有必要,请多次检查结果是否更好
  • 是的,它改进了。那么它不是按比例缩放的吗?还是因为参数而无法正常工作?我真的不知道如何调整它们,代码很棘手,也没有关于它的文档。
  • 我认为它对旋转和缩放很健壮,因为我在这两种情况下都取得了一些不错的结果,但是在针对特定情况调整了算法之后。我认为应该可以对其进行一般调整,但参数 3 非常敏感,并且取决于参考图像的比例。我必须挖掘更多。

标签: opencv freak


【解决方案1】:

FREAK 本身不是旋转/缩放不变的。它使用 AGAST 提供的旋转和缩放对 AGAST 关键点(这是 BRISK 论文关键点描述符的小名称)进行了训练。因此,如果您想获得最佳的缩放/旋转不变性条件,则需要使用此检测器。

【讨论】:

    【解决方案2】:

    同意sansuiso。只想补充一点,opencv 允许您使用 BRISK 关键点检测。获取关键点并围绕这些关键点运行 FREAK。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多