Ask Your Question
1

What is the FREAK descriptor format?

asked 2013-07-04 08:18:54 -0600

aewhite gravatar image

updated 2013-07-04 08:22:37 -0600

I realize that FREAK uses a (512 bit?) binary descriptor. What I don't understand is the relevance of that format for the purposes of matching. Is it like BREIF where each bit is independent? Or, is it more like the original paper suggests, with the values representing coarse to fine grain comparisons? If so what is the bit ordering and chunk size?

The demo code for OpenCV ueses the standard Brute Force Hamming Distance matcher, which will work for any binary descriptor, but the original paper suggests using a saccadic search. I don't believe such a search is built-in to OpenCV.

For my particular application, being able to do a saccardic search would be ideal. I can certainly code one but I need to understand the format of the descriptor first. I am investigating the freak.cpp code in OpenCV but as with most optimized complex algorithms, sorting out the guts is taking a while.

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted
1

answered 2013-07-04 09:20:32 -0600

Guanta gravatar image

Yes, it uses 512 bit descriptors. Unfortunately, you can not use the cascade hamming-distance format for the BFMatcher out of the box, since OpenCV doesn't allow (anymore) the use of own distance functions. So, if you want to use the cascade-one, which you can get from the author's github page (https://github.com/kikohs/freak/tree/master/src), you would either need to modify OpenCV's BFMatcher (i.e. define own norm-funciton etc.), or write your own Matcher. I'd try simple Hamming-Distance first, you should get comparable results.

edit flag offensive delete link more

Comments

Full Hamming-Distance is far to slow for my problem due to the target platforms and the number of keypoint considerations. The cascade matching is a must, especially for such a large descriptor. Unfortunately, the HammingSeg class from the author's site uses SSE3 which is not supported for any of my target platforms. I will try to figure it out from that code but having a well documented descriptor format would be ideal.

aewhite gravatar imageaewhite ( 2013-07-04 10:44:06 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2013-07-04 08:18:54 -0600

Seen: 485 times

Last updated: Jul 04 '13