Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add option to use features extracted from odometry instead of re-extracting them for loop closure detection (if they are the same type) #32

Closed
matlabbe opened this issue Sep 28, 2015 · 2 comments

Comments

@matlabbe
Copy link
Member

matlabbe commented Sep 28, 2015

From http://official-rtab-map-forum.206.s1.nabble.com/Odometry-Features-vs-Visual-Words-td706.html#a718

"I do not know if it's possible because these processes live in different modules, but for further optimization maybe it would be useful to have a flag in Preferences (independent from Re-extract Features in Loop Closure Detection) to set an unique detector/descriptor combination for both Visual Word and Odometry (like in your small space tutorial setup with GFTT+BRIEF) in order to perform an unique pass of features extraction and filter them with two different settings (max number and depth). I think the performance in this case would greatly benefit (almost double speed)."

@matlabbe
Copy link
Member Author

I need to check the possibilities, as OdometryOpticalFlow detects features but doesn't extract the descriptors, so descriptors should be extracted anyway in loop closure detection. We could want to limit the depth for odometry (to keep only close points with less depth error) but not for loop closure detection. We could want to limit the maximum features for odometry to 1000 (to have better odometry) while limiting to 400 features for loop closure detection (to save some computation time). The Preferences dialog should give an error if this option is on and the visual features selected for loop closure detection and odometry are different (SensorData could contain a field telling which kind of feature are used).

matlabbe added a commit that referenced this issue Feb 22, 2016
…res already extracted from odometry for the vocabulary (issue #32)
@matlabbe
Copy link
Member Author

Fixed in commit above. See parameter Mem/UseOdometryFeatures. To keep it simple and consistent with registration done with odometry (to have the same constraints in the graph between loop closure and odometry links), features from odometry are only filtered for the count (not by depth or by ROI). Because Odometry can be ICP-only (no features extracted), the memory still extract features if they are not set by odometry (also extract descriptors if optical flow odometry is used).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant