How to set the suitable parameters for the feature detectors?

asked 2015-06-04 05:50:29 -0500

cv_new gravatar image

image description image description image description

I used a FastFeatureDetector, MserFeatureDetector and DenseFeatureDetector to extract keypoints. However, under the default setting, no keypoints can be detected. Could anyone suggest parameter settings for these detectors for a small image size like about 20*30 so that enough keypoints can be found out? Thanks in advance.

vector< KeyPoint > kpts_1,kpts_2,kpts_3;
Mat descriptor1,descriptor2,descriptor3;
Mat FeaturedescribeVector;  

FastFeatureDetector detector1(50);
BriefDescriptorExtractor extractor(32); 
detector1.detect(src, kpts_1);
extractor.compute ( src, kpts_1, descriptor1 ); 
FeaturedescribeVector.push_back(descriptor1);

MserFeatureDetector detector2(50);  
detector2.detect(src, kpts_2);
extractor.compute ( src, kpts_2, descriptor2 ); 
FeaturedescribeVector.push_back(descriptor2);

DenseFeatureDetector detector3(50); 
detector3.detect(src, kpts_3);
extractor.compute ( src, kpts_3, descriptor3 ); 
FeaturedescribeVector.push_back(descriptor3);
edit retag flag offensive close merge delete

Comments

Hmm Harris Corner Detector should be able to find some features from these images. But what are you trying to achieve. If you need a description for classification purposes, why not run HAAR wavelets or LBP features on the image and use the returned descriptors?

StevenPuttemans gravatar imageStevenPuttemans ( 2015-06-05 03:56:48 -0500 )edit
1

Thanks for your suggestion. I now turn to use the combination of Gabor filter and LBP for extracting the features to train the classifier. Regarding your suggestion, I tried to use SURF and resized it to double size, but only 4 keypoints can be found out. I think the Harris corner detector is not possible to classify the character, but HAAR wavelets and LBP features may be more suitable to be used according to my observation.

cv_new gravatar imagecv_new ( 2015-06-05 04:52:43 -0500 )edit

@StevenPuttemans, I'd like to know if I want to implement real time recognition, do you suggest that I resize the character to a bigger size to 60*90 for computing the LBP or for a better accuracy, or just remain the same size?

cv_new gravatar imagecv_new ( 2015-06-09 02:25:51 -0500 )edit

I would keep it small, then you will train the overall structure instead of training insignificant noise from upscaling which will result in overfitting of your training data.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-06-09 02:43:57 -0500 )edit
1

Get it. Thanks for your suggestion!

cv_new gravatar imagecv_new ( 2015-06-09 04:12:41 -0500 )edit

Please help me ! It's the following up question. http://answers.opencv.org/question/64...@StevenPuttemans

cv_new gravatar imagecv_new ( 2015-06-16 02:42:26 -0500 )edit