-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Fix bundle adjustment performance regression due to changed Gauge #3527
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
sarlinpe
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.
Wow nice find! Is the slow-down due to increased step time or increased number of iterations until convergence?
Already discussed offline, but for the record here: primarily more steps to converge. |
) Based on reported issue #3479, I root-caused a performance regression in bundle adjustment to different gauge fixing behavior. In particular, the change from fixing the gauge with two cameras vs. fixing it with three points causes a ~40% slowdown in global bundle adjustment. No significant difference can be measured in local bundle adjustment. I could also not find a significant difference in the obtained solution quality. This PR reverts back to using two cameras for fixing the gauge. If no such two cameras can be found, which can occasionally happen in case of configured non-trivial rigs, we fall back to fixing three points.
…lmap#3527) Based on reported issue colmap#3479, I root-caused a performance regression in bundle adjustment to different gauge fixing behavior. In particular, the change from fixing the gauge with two cameras vs. fixing it with three points causes a ~40% slowdown in global bundle adjustment. No significant difference can be measured in local bundle adjustment. I could also not find a significant difference in the obtained solution quality. This PR reverts back to using two cameras for fixing the gauge. If no such two cameras can be found, which can occasionally happen in case of configured non-trivial rigs, we fall back to fixing three points.
…lmap#3527) Based on reported issue colmap#3479, I root-caused a performance regression in bundle adjustment to different gauge fixing behavior. In particular, the change from fixing the gauge with two cameras vs. fixing it with three points causes a ~40% slowdown in global bundle adjustment. No significant difference can be measured in local bundle adjustment. I could also not find a significant difference in the obtained solution quality. This PR reverts back to using two cameras for fixing the gauge. If no such two cameras can be found, which can occasionally happen in case of configured non-trivial rigs, we fall back to fixing three points.
…lmap#3527) Based on reported issue colmap#3479, I root-caused a performance regression in bundle adjustment to different gauge fixing behavior. In particular, the change from fixing the gauge with two cameras vs. fixing it with three points causes a ~40% slowdown in global bundle adjustment. No significant difference can be measured in local bundle adjustment. I could also not find a significant difference in the obtained solution quality. This PR reverts back to using two cameras for fixing the gauge. If no such two cameras can be found, which can occasionally happen in case of configured non-trivial rigs, we fall back to fixing three points.
Based on reported issue #3479, I root-caused a performance regression in bundle adjustment to different gauge fixing behavior. In particular, the change from fixing the gauge with two cameras vs. fixing it with three points causes a ~40% slowdown in global bundle adjustment. No significant difference can be measured in local bundle adjustment. I could also not find a significant difference in the obtained solution quality. This PR reverts back to using two cameras for fixing the gauge. If no such two cameras can be found, which can occasionally happen in case of configured non-trivial rigs, we fall back to fixing three points.