-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Feature sub-selection for global BA #3650
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
Conversation
…chonb/view-graph-pruning
…chonb/view-graph-pruning
B1ueber2y
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. The tiling and coverage gain make sense to me and are probably the best we can do without prior 3D poses.
I am wondering if it makes sense to support this feature in BundleAdjustmentController as well.
Good suggestion. I refactored it, so this now becomes a feature of the bundle adjuster itself. |
989904b to
8097371
Compare
I'll skip this for now. We can add it later, if a need arises. |
…/colmap/colmap into user/joschonb/view-graph-pruning
B1ueber2y
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
| constexpr size_t kMinNumRegFramesForFastBA = 10; | ||
| const bool use_fast_ba = | ||
| reconstruction_->NumRegFrames() >= kMinNumRegFramesForFastBA; | ||
| if (use_fast_ba) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a bug, because use_fast_ba implies relaxed tolerances and iterations limits (currently the opposite is happening).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch. Thank you.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See: #3677
Depending on the size of the model, leads to speedups of the end-to-end runtime by ~2x by removing around 80-90% of the points from the BA problem with little impact on the final model. Not tested much so far.
Benchmarking results with default params on ETH3D benchmark against current main branch: