ocl SURF rotation failure (possible keypoint orientation bug) (Bug #2787)


Added by Jon Waltman about 12 years ago. Updated about 12 years ago.


Status:Done Start date:2013-02-08
Priority:Normal Due date:2013-03-01
Assignee:yao wang % Done:

0%

Category:ocl
Target version:2.4.4
Affected version:branch '2.4' Operating System:
Difficulty: HW Platform:
Pull request:

Description

cv::ocl::SURF_OCL is not rotation invariant as it should be (despite ensuring that "upright" = false). cv::SURF works properly and is the example to test against.

Test setup on original image and rotated version of same image:
run SURF_OCL, brute force matcher, RANSAC, compute homography, project points and calculate pixel error.

The result is that cv::ocl::SURF_OCL starts failing (>2 pixel error) around 30+ degrees of rotation. cv::SURF works flawlessly for 0-180 degrees of rotation.

It seems that the ocl version of the algorithm is not computing an orientation for the keypoints, or it is computing the orientation incorrectly.


Associated revisions

Revision 17d6083e
Added by Alexander Alekhin almost 11 years ago

Merge pull request #2787 from ilya-lavrenov:tapi_repeat

History

Updated by Kirill Kornyakov about 12 years ago

Jon, you observation is helpful, but a textual description may be not enough. So, if you could attach a repro sample, it might help a lot. I understand that the example is trivial, but it may save precisous hour or two, and help to avoid confusion... And, finally, you can try to debug the issue and provide a fix for the OCL module, since it is open-source ;-)

Updated by Jon Waltman about 12 years ago

Kirill, thanks for the response. I will work on a code sample and post it when it is ready.

Updated by Andrey Kamaev about 12 years ago

Fix is pushed to 2.4

  • Status changed from Open to Done
  • Target version changed from 3.0 to 2.4.4

Also available in: Atom PDF