【问题标题】:OpenCV SIFT vs David Lowe's SIFT implementation, OpenCV far worseOpenCV SIFT vs David Lowe 的 SIFT 实现,OpenCV 差很多
【发布时间】:2013-01-02 00:01:05
【问题描述】:

我尝试使用 David Lowe's implementationOpenCV implementation 对几个不同的对象进行对象检测(只是在此代码中更改了 'SurfFeatureDetector' -> 'SiftFeatureDetector' 和 'SurfDescriptorExtractor' -> 'SiftDescriptorExtractor')。

看来opencv的实现要差得多!检测到大量误报和更少的关键点!我尝试使用 'SiftFeatureDetector' 参数,如 sigma/contrastThreshold 等,但结果总是比原始 David 的版本差得多。

  • SIFT 的 opencv 实现与原始 David Lowe 的实现是否完全“不同”?

  • 有谁知道'SiftFeatureDetector' 的一个好的参数集,以便David 的实现提供的对象图像的结果(如box.pgm/basmati.pgm..)可能看起来与David 的版本相似。

【问题讨论】:

标签: opencv image-recognition sift


【解决方案1】:

这是我在 Python 中使用的:

 detector = cv2.xfeatures2d.SIFT_create(
        nfeatures = 0,  # def 0 
        nOctaveLayers = 3,  # def 3
        contrastThreshold = 0.04,  # def 0.04 
        edgeThreshold = 10,  # def 10 
        sigma = 1.6)  # def 1.6 

所有默认值。我得到了很好的结果,虽然执行速度很慢。

【讨论】:

    【解决方案2】:

    我正在使用 OpenCV 的 SIFT 实现,并与 David Lowe 在他的网站上提供的实现进行比较。调整一些参数我得到了很好的结果。

    【讨论】:

    • 您能否详细说明调整了哪些参数?
    【解决方案3】:

    VLFeatSIFT implementationquite close(在功能输出方面)到原始实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 2018-07-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多