5

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

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

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

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

4

3 回答 3

2

VLFeatSIFT 实现与原始实现非常接近(在特征输出方面)。

于 2013-01-18T18:05:25.310 回答
0

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

于 2013-04-17T18:56:38.187 回答
0

这是我在 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 

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

于 2020-06-09T13:00:59.997 回答