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

Keyframe selection #6

Closed
DornAres opened this issue Aug 9, 2022 · 2 comments
Closed

Keyframe selection #6

DornAres opened this issue Aug 9, 2022 · 2 comments

Comments

@DornAres
Copy link

DornAres commented Aug 9, 2022

Hey, nice work!
After glancing over your paper, I thought about optimizing my LDSO fork with your DSO changes for a better framerate.
Apparently, the keyframe creation process seems to be the most time-consuming, so that would be one change I'd like to try out.
I know where the keyframe selection is in LDSO, but could you point me towards the right code section in your repo so that I could easily implement it in my repo? Thanks a lot!

@versatran01
Copy link
Owner

Just to quickly explain what I meant in the paper: keyframe creation is time-consuming because it needs to run PBA. DSO likes to create many keyframes and remove some during marginalization (it allows marginalizing more than one keyframes). Whether that's good or not depends on the rest of the implementation. DSO limits the max number of points to 2000, so maybe it's ok for it to keep creating keyframes. In my implementation, I do not put a limit on the number of points, so I want to avoid creating too many keyframes. Therefore, if you have a dso fork, then this strategy may not be for you. Also, you can easily set some parameters in DSO to control how frequently a keyframe gets added.

That being said, here is the code section.

bool DirectOdometry::ShouldAddKeyframe() const {

@DornAres
Copy link
Author

Ah I see, thanks for explaining!

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

No branches or pull requests

2 participants