OpenCV FREAK not robust to rotation/scaling

1k Views Asked by At

I have been dealing with OpenCV FREAK descriptor and after achieving quite awesome matching results with two similar oriented and scaled images I started trying with scaled and rotated images.

FREAK is supposed to be invariant to scale/rotation, but my results are horrible. I tried to tune the freak descriptor parameters:

new FREAK(true, true, 22, 5); //rotInvariant, scaleInvarian, scale, ocataves

but I just managed to get a few rigth matches in the closer part of the rotated image, where it has more resolution.

Is there a way to tune FREAK for rotated and different scale images?

2

There are 2 best solutions below

0
sansuiso On

FREAK is not rotation / scale invariant per se. It was trained on AGAST keypoints (which is the small name of BRISK's paper keypoint descriptor), using AGAST-provided rotation and scale. Hence, you need to use this detector if you want to be in the best possible conditions for scale / rotation invariance.

0
aishwarya natesh On

Agree with sansuiso. Just want to add that opencv allows you to use BRISK keypoint detection. Get the keypoints and run the FREAK around those keypoints.