optimum hessian threshold for SURF feature extraction in opencv + Minimum descriptors matching
Asked Answered
H

1

7

Currently I am working on face recognition project where I am using Fisherfaces/LDA to filter out the images on a broader level and then using SURF to verify the output from LDA. What would be a good Hessian threshold which should be passed to CvSURFParam()? The sample code provided by OpenCV has 500. Is it optimum?

Also, what would be minimum number of descriptors that should be matched so that my code can confirm the identity? Will 50% suffice?

I'm using OpenCV 2.4 with C++ on Windows.

Hardden answered 20/6, 2012 at 10:27 Comment(2)
Only you can answer such type of question - test your input data on different thresholds, constants etc and check if it's optimum for you.Pottery
I did that. But I wasn't sure as my database isn't large enough. I was just checking if any research-proven value exists or not for this. Thanks anyway.Hardden
C
0

ArtemStorozhuk is right. Since we don't know your dataset (particularly the quality of images), there is no way for us to suggest a better value for a threshold. And yes, there is no general answer for that

To increase the amount of test images in your training set you can use a public domain face database (eg. FERET).

Please allow me to note additionally (also for everyone who will find this in future with a search engine), that what you are trying is not a good idea. Using SURF will only confirm that you have found just another face. Setting a minimum to the descriptors that have to be matched is again very depended on the image quality. Finding less SURF features can simply mean, that the image was a little bit too blurry.

Counterirritant answered 22/8, 2013 at 9:25 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.