Ask Your Question

katrin's profile - activity

2015-01-07 05:55:28 -0600 received badge  Famous Question (source)
2013-04-24 02:44:02 -0600 received badge  Taxonomist
2012-08-03 06:48:14 -0600 received badge  Editor (source)
2012-08-03 06:45:42 -0600 answered a question object detection using SURF & FLANN

Your used reference image is probably not very good for feature detection. It consists of large homogeneous regions and repetitive patterns.

But maybe some outlier rejection could help, e.g. a ratio test: Reject matches if distance of best match/distance of second best match > 0.8 (best match = nearest neighbor).

If results are still bad, maybe an approach with hough transformation (detection of straight lines) would be better.

2012-07-20 06:11:09 -0600 commented answer FREAK vs SURF

Thanks! The number of keypoints could definitley be a reason for the slowdown. I didn't check it. Thanks a lot for the LSH bug fix info, I've tried it before but it didn't work. I will give it a try as soon as I have time for it!

2012-07-19 15:12:41 -0600 received badge  Famous Question (source)
2012-07-18 13:16:47 -0600 received badge  Nice Question (source)
2012-07-18 12:15:12 -0600 received badge  Notable Question (source)
2012-07-18 08:00:29 -0600 received badge  Popular Question (source)
2012-07-18 05:19:30 -0600 commented answer 2.4.2 Android - missing nonfree package
2012-07-18 05:18:35 -0600 asked a question FREAK vs SURF

I am playing around with the FREAK Descriptor Extractor to see if I could get faster runtime performance for my Android app. Previously I was using SURF Detector+Extractor. Since the nonfree package (which contains SURF) is excluded from the from OpenCV4Android 2.4.2 distribution I tried FAST instead of SURF (which was used in the FREAK demo code: http://code.opencv.org/projects/opencv/repository/entry/trunk/opencv/samples/cpp/freak_demo.cpp) for the descriptor extraction. I hoped that FAST+FREAK would be faster than SURF (especially since FAST is pretty fast with the drawback that it's not scale invariant). First tests however showed that my app has higher frame rates with SURF instead of FREAK. Is this known behavior or am I doing something wrong?

For FREAK I used the standard parameters, for SURF I used surf(500, 2, 2, false, false); (so 2 instead of 4 recommended octaves, 64-element descriptor instead of 124-element, computation of rotation - for rotational invariance). For SURF I used a FLANN Based Matcher (FlannBasedMatcher matcher(new flann::KDTreeIndexParams , new flann::SearchParams(8));), but for FREAK I'm only using a BFMatcher, since it's a binary descriptor.

What could be the reason for the slower performance of FREAK? Is it possible to use FLANN or some other non-bruteforce matcher for FREAK descriptors to get better runtime performance? I have also tried to convert the descriptors to float descriptors to use FLANN as presented above, but that did't give me any significant performance improvement and I guess it would not be a very good idea at all.

2012-07-18 04:30:35 -0600 received badge  Nice Question (source)
2012-07-18 03:07:01 -0600 received badge  Notable Question (source)
2012-07-17 10:11:59 -0600 received badge  Popular Question (source)
2012-07-17 09:22:31 -0600 received badge  Supporter (source)
2012-07-17 09:22:26 -0600 received badge  Scholar (source)
2012-07-17 09:22:10 -0600 commented answer 2.4.2 Android - missing nonfree package

Thanks for the clarification! Actually I'm trying to use FREAK, but I still need a Feature Detector. Since the demo code for FREAK used SURF (http://code.opencv.org/projects/opencv/repository/entry/trunk/opencv/samples/cpp/freak_demo.cpp) I wanted to try it as well. I have now tested FREAK with a FAST Feature Detector, but my approach is slower than my previous approach with SURF (SURF for both detection & extraction). Don't really now why, I thought FAST+FREAK would be faster. Maybe it's because I'm using BFMatcher for FREAK, I used Flann for SURF. Is it possible to use Flann for FREAK (since is a binary descriptor I thought this would not be possible)?

2012-07-17 08:17:54 -0600 received badge  Student (source)
2012-07-17 06:01:05 -0600 asked a question 2.4.2 Android - missing nonfree package

I updated my app to OpenCV Android 2.4.2 and wanted to use SURF as before in version 2.4.0, but I can't find the required package anymore. Neither can I find the nonfree package within sdk\native\jni\include\opencv2. Are SURF and SIFT moved to another package again or are they completely missing within the new version 2.4.2?