Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@ahojnnes
Copy link
Contributor

@ahojnnes ahojnnes commented Aug 4, 2025

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.

Copy link
Member

@sarlinpe sarlinpe left a 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?

@ahojnnes
Copy link
Contributor Author

ahojnnes commented Aug 4, 2025

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.

@ahojnnes ahojnnes enabled auto-merge (squash) August 4, 2025 12:53
@ahojnnes ahojnnes merged commit 9a184b5 into main Aug 4, 2025
14 checks passed
@ahojnnes ahojnnes deleted the user/jsch/ba-perf-regression branch August 4, 2025 13:19
ahojnnes added a commit that referenced this pull request Aug 4, 2025
)

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.
tavislocus pushed a commit to tavislocus/colmap_6dof that referenced this pull request Aug 19, 2025
…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.
tavislocus pushed a commit to tavislocus/colmap_6dof that referenced this pull request Aug 22, 2025
…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.
tavislocus pushed a commit to tavislocus/colmap_6dof that referenced this pull request Aug 22, 2025
…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.
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

Successfully merging this pull request may close these issues.

4 participants