OpenCV SIFT vs David Lowe's SIFT implementation, OpenCV far worse
Asked Answered
C

3

6

I tried object detection for a couple of different objects both using David Lowe's implementation and OpenCV implementation (just changed 'SurfFeatureDetector' -> 'SiftFeatureDetector' and 'SurfDescriptorExtractor' -> 'SiftDescriptorExtractor' in this code).

It seems the opencv implementation is far worse! Lots of false positives and fewer keypoints detected! I tried to play with the 'SiftFeatureDetector' params like sigma/contrastThreshold etc but the results were always far worse than the original David's version.

  • Is the opencv implementation of SIFT quite 'different' from the original David Lowe's implementation?

  • Does anyone know of a good parameter set for 'SiftFeatureDetector' so that the results for the object images provided with David's implementation (like box.pgm/basmati.pgm..) may seem similar to David's version.

Clothilde answered 18/1, 2013 at 9:46 Comment(1)
What about the implementation of Rob Hess in this URL robwhess.github.io/opensift?Anglim
M
3

VLFeat's SIFT implementation is quite close (in terms of feature output) to the original implementation.

Millner answered 18/1, 2013 at 18:5 Comment(0)
F
1

Here is what I use in 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 

All default values. I am getting good results, although the execution is quite slow.

Fallacy answered 9/6, 2020 at 13:0 Comment(0)
E
0

I am using the OpenCV's implementation of SIFT and comparing with David Lowe's implementation available at his website. Adjusting some params I had good results.

Eburnation answered 17/4, 2013 at 18:56 Comment(1)
Could you expand on what params where adjusted?Fallacy

© 2022 - 2024 — McMap. All rights reserved.