Ask Your Question
0

Which Extractor do I have to use for FAST Detector?

asked 2015-01-26 03:45:33 -0600

Cora gravatar image

updated 2015-01-26 03:52:25 -0600

berak gravatar image

Hello,

I'm trying to detect an object in a scene, where this object is rotated. I want to find my screen on a photo of its environment:

find screen on photo

I have used the ORB-Detector, but the result was very bad... So i try other detectors and extractors... Now I have the FAST Detector, but don't find a compatible DescriptorExtractor and DescriptorMatcher...

Does anyone know which extractor and matcher fit on which detectors? I don't find any information to that topic...

FeatureDetector fastDetector  = FeatureDetector.create(FeatureDetector.FAST);

MatOfKeyPoint keypoints_object = new MatOfKeyPoint();
MatOfKeyPoint keypoints_scene = new MatOfKeyPoint();
fastDetector.detect(img_object, keypoints_object);
fastDetector.detect(img_scene, keypoints_scene);

DescriptorExtractor fastDescriptor = DescriptorExtractor.create(DescriptorExtractor.???);
Mat descriptors_object = new Mat();
Mat descriptors_scene = new Mat();

fastDescriptor.compute(img_scene, keypoints_scene, descriptors_scene);
fastDescriptor.compute(img_object, keypoints_object, descriptors_object);

DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.???);
MatOfDMatch matches = new MatOfDMatch();

matcher.match(descriptors_object, descriptors_scene, matches);
edit retag flag offensive close merge delete

Comments

The reason why your matching is failing is due to the limited amount of info contained in a blank blue screen with corners. Apply a noise pattern to increase details or start with a realistic image for matching.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-01-26 04:25:21 -0600 )edit
1

Thanks for this answer. What features are important to get better results?

Cora gravatar imageCora ( 2015-01-26 04:31:02 -0600 )edit

I am sure your goal is not to find blue screens right? Just place a random picture as match, which will have more detail and more global features.

StevenPuttemans gravatar imageStevenPuttemans ( 2015-01-26 04:36:09 -0600 )edit
1

I have tried a random picture and a noise pattern, but it is not better now...

by the way i use the ORB DescriptorExtractor and the BRUTFORCE_HAMMING matcher now. are they good for this task? if not, which ones should i use?

Cora gravatar imageCora ( 2015-01-26 05:10:55 -0600 )edit

Feature descriptors depend heavily on your input image. It is quite hard to say what will work and what not. Trial and error is the most common practice and comparing robustness of different descriptors. As to the matching part, the bruteforce approach will certainly be very accurate but also quite time consuming. However I have not that many experience in matchers ... so cannot guide you there. What you could do is see if other distance measures yield better results!

StevenPuttemans gravatar imageStevenPuttemans ( 2015-01-26 06:06:43 -0600 )edit

1 answer

Sort by ยป oldest newest most voted
1

answered 2015-01-26 06:54:32 -0600

Cora gravatar image

With AKAZE FeatureDetector, DescriptorExtractor and DescriptorMatcher there is a good result :)

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2015-01-26 03:45:33 -0600

Seen: 701 times

Last updated: Jan 26 '15