[Feature Request] Upright surf features (patch attached) (Feature #825)


Added by Tobias Langner about 14 years ago. Updated almost 14 years ago.


Status:Done Start date:
Priority:High Due date:
Assignee:Maria Dimashova % Done:

0%

Category:features2d
Target version:-
Difficulty: Pull request:

Description

The goal is to reduce the computational effort in case the features are always expected to be seen upright e.g. they do not need to be rotation invariant.
The patch introduces a new parameter upright. If it is enabled, the descriptor_dir will be set to 0.


features2d.hpp.patch (165 Bytes) Tobias Langner, 2011-01-21 11:54 am

surf.cpp.patch (9.3 kB) Tobias Langner, 2011-01-21 11:54 am

feature2d.patch - feature2d patch using bool _upright=false (775 Bytes) Yvonnic MM, 2011-06-07 04:05 pm

surf_turtoise.patch - turtoiseSVN patch to surf.cpp (10.8 kB) Yvonnic MM, 2011-06-07 04:06 pm

surf_winmerge.patch - winmerge patch of surf.cpp (9.7 kB) Yvonnic MM, 2011-06-07 04:06 pm

surf_winmerge_nospaces.patch - winmerge patch of surf.cpp without taking count of space characters (simplier) (1.8 kB) Yvonnic MM, 2011-06-07 04:07 pm


Associated revisions

Revision b5163291
Added by Maria Dimashova almost 14 years ago

added upright mode to SURF (#825)

Revision bf551df4
Added by Andrey Kamaev almost 12 years ago

Merge pull request #825 from pengx17:2.4_query_cpu_wavesize

History

Updated by Yvonnic MM almost 14 years ago

please, can someone apply the patch on SVN !
USURF gave much more better result (and is faster !) when there is no rotation over the axis of camera (see CENSURE, or SURF publications for example).
SURF_GPU had the option for not computing the orientation but this option was stupidly remove in commit 4801 to "made GPU version of SURF more consistent with CPU one"

  • Status deleted (Open)

Updated by Yvonnic MM almost 14 years ago

GPU_SURF has the Upright option since commit 106569.
please update the SURF (CPU) version

Updated by Yvonnic MM almost 14 years ago

other people are interested :
http://tech.groups.yahoo.com/group/OpenCV/message/79155

please commit this patch

Updated by Yvonnic MM almost 14 years ago

Easy and useful patch. Apply it before 2.3 version.

Updated by Yvonnic MM almost 14 years ago

up

Updated by Maria Dimashova almost 14 years ago

Thanks for the patch. I tried to apply it to trunk revision (r5371), but it failed with the following message:

patching file surf.cpp
Hunk #3 FAILED at 663.
Hunk #7 FAILED at 712.
Hunk #8 FAILED at 726.
Hunk #9 succeeded at 744 (offset 5 lines).
Hunk #10 succeeded at 753 (offset -5 lines).
Hunk #11 FAILED at 782.
Hunk #12 succeeded at 979 (offset -5 lines).
Hunk #13 succeeded at 989 (offset 2 lines).
Hunk #14 succeeded at 995 (offset 2 lines).
4 out of 14 hunks FAILED -
saving rejects to file surf.cpp.rej

Could you update the patch to the trunk revision and send it again (with number of revision to which it should be applied)?

Updated by Yvonnic MM almost 14 years ago

I've just added the patch for the rev #5377
I made some minor changes from the original patch :
- bool _upright=false in constructor instead of int _upright=0 (just like bool _extended=false)
- ...
I attach a TurtoiseSVN generated patch and WinMerge generated patch.
For the WinMerge ones I put one which don't take count of the spaces characters (indentation), easier to see the diff, but the patched code should be formatted again (with correct indentation)

Updated by Maria Dimashova almost 14 years ago

Thanks for the patch. I applied it in r5382 with the minor changes:
1. Changed angle of keypoint from 0 to 90 degrees (to make it really upright).
2. Added upright option to SurfFeatureDetector and SurfDescriptorExtractor.

  • Status set to Done
  • (deleted custom field) set to fixed

Updated by Yvonnic MM almost 14 years ago

thanks !!!

Also available in: Atom PDF