DynamicAdaptedFeatureDetector for image sequences (Feature #3873)
Description
Hi all,
I propose a modification (or a new variant of) the DynamicAdaptedFeatureDetector
and AdjusterAdapter
.
I use the opencv visual features in a mapping application.
I noticed that the number of keypoints is crucial for the performance of the motion estimates.
If there are too few keypoints, too few matches are found. If there are too many, the detection,
extraction and matching time is high and more ambiguities arise during matching.
a big performance penalty. I recently found the reasons:
- The change rate of the thresholds is only 10% in each iteration
- The found threshold is not stored for the next call to detect(...)
This results in many iterations that are repeated for each image in the stream.
I rewrote the mentioned classes to overcome these issues and added further small improvements.
Also, I patched ORB to expose the threshold used for the FAST keypoints, such that it is adjustable.
If someone would guide me and discuss the changes with me, I would be happy to contribute them back.
Felix
Associated revisions
Merge pull request #3873 from Dmitry-Me:reduceVariableScope10
History
Updated by Steven Puttemans over 10 years ago
First of all thanks for the changes! In order to speed up the process of adapting everything and making the changes in source code it would be nice if you created a pull request.
Do keep in mind that extra functionality goes to the 3.0 dev branch and should have documentation and performance tests added, in which you can be helped when the pull request is up.
Could you try creating one? Guidelines can be found here: http://code.opencv.org/projects/opencv/wiki/How_to_contribute
- Status changed from New to Open
Updated by Steven Puttemans over 10 years ago
- Difficulty set to Medium
- Target version set to 3.0
Updated by Philipp Hasper over 10 years ago
+1 Nice contribution!
Updated by Felix Endres over 10 years ago
This is a bit embarrassing, but I cannot find the original AdjusterAdapter and DynamicAdaptedFeatureDetector in the OpenCV repositories in the master branch. The file modules/features2d/dynamic.cpp is more or less empty. After a while I found out that they should have moved to opencv_contrib (according to the commit message of 31df47b6eaeb753a77f4d0cc3f4225c5c40682f6: "moved nonfree and a part of features2d to opencv_contrib/xfeatures2d"). However, there I cannot find anything. Do you have any pointers? The proposed code is actually independent of that, but if the orignal "dynamic" parts are still there, it definitely belongs to the same module/file.
Otherwise, where should I place it?
Updated by Maksim Shabunin over 9 years ago
Issue has been transferred to GitHub: https://github.com/Itseez/opencv/issues/4817