AI Glossary / Computer vision and multimodal AI / Advanced
Bundle adjustment
Definition
Bundle adjustment is an optimization procedure that jointly refines camera parameters and, in many reconstruction settings, three-dimensional point positions by reducing reprojection error. It seeks a configuration whose projected points agree closely with their measured locations across multiple images.
What it means
A reconstruction starts with estimates: where cameras were, which image features correspond and where scene points lie in space. Those estimates are mutually dependent. Moving a camera changes where many points project, while moving a point changes its predicted location in several images.
Bundle adjustment adjusts these quantities together. The name refers to bundles of viewing rays associated with camera observations. Some applications optimize only selected parameters, such as camera orientations in a panorama, while others refine poses, points and camera intrinsics.
The method improves agreement under the chosen model. It does not guarantee a globally correct scene or repair every incorrect feature match.
How it works
Collect image observations and initial estimates of camera poses, scene points and any intrinsics to be refined. Project each point through the corresponding camera model and compare the predicted image coordinate with the observed coordinate. Minimize a sum of residual costs, often using robust losses to reduce the influence of outliers.
The resulting problem is nonlinear and usually solved iteratively. Its sparse structure is important because each observation connects one camera with one point. Fix gauge freedoms or add appropriate reference constraints so the solution has a defined coordinate frame and, where supported, scale. Validate residuals and geometry rather than relying only on the optimizer's completion message.
Three practical examples
- A structure-from-motion pipeline refines camera poses and a sparse scene reconstruction from overlapping photographs.
- A mapping system adjusts connected observations to improve consistency across a trajectory.
- A panorama application refines camera parameters so overlapping images align more consistently, using a model appropriate to the scene and capture.
Think of it this way
Think of adjusting several projectors and marked points so that their projected marks align with measurements on different screens. Changing one setting influences several alignments, so the adjustments must be coordinated. The analogy captures joint refinement, but the actual problem uses camera geometry and can have ambiguities or local minima that a simple physical picture hides.
Worked example
Suppose an observed feature is at pixel coordinates (100,80), while the current camera-and-point model projects it to (103,84). The residual components are 3 and 4 pixels, and its squared Euclidean reprojection error is 3²+4²=25 square pixels.
If an optimization update moves the prediction to (101,82), the squared error becomes 1²+2²=5. That observation fits better, but bundle adjustment must consider all observations together: an update that improves one image may worsen another.
The calculation is one residual, not a complete reconstruction. In a monocular setup without a scale reference, uniformly scaling the scene and camera translations can leave image projections unchanged. Reducing reprojection error therefore does not by itself establish dimensions in meters. Coordinate and scale constraints must reflect what the observations actually determine.
Illustrative case study
Fictional case: Cedar Mapping reconstructs a small object from photographs. Initial feature matching includes repeated textures that connect unrelated points. Bundle adjustment lowers the overall residual, but some cameras and points remain implausible.
The team inspects outliers, improves correspondence filtering and reviews camera-model assumptions. It adds an appropriate measured reference when physical scale is required, then checks reconstruction consistency with independent observations. The case illustrates why optimization is one part of a reconstruction pipeline. It does not claim that a low reprojection error guarantees accurate geometry or that robust loss functions can rescue arbitrary matching errors.
Common misconceptions and mistakes
Bundle adjustment is not simply averaging camera poses or aligning images independently. Its parameters are coupled. A lower objective value does not guarantee the global optimum or a physically correct reconstruction.
Reprojection error is measured in the image domain and does not directly equal three-dimensional position error. Gauge ambiguity and scale uncertainty must be handled explicitly. Incorrect correspondences, weak viewing geometry, rolling shutter or an unsuitable lens model can undermine the result. Refining too many poorly constrained parameters can also create instability rather than useful accuracy.
Business use
The method supports photogrammetry, mapping, reconstruction and some panorama workflows. Its practical value is improved consistency among many observations, especially when the geometry and data quality justify joint refinement.
Teams should track correspondence quality, camera coverage, residual patterns and independent measurement error. Record which parameters are fixed or optimized and how the coordinate frame is defined. Assess performance on difficult scenes, including low texture and repeated patterns. If the output will support measurements, validate those measurements directly. A successful optimization run is evidence of numerical progress under a model, not a substitute for external geometric validation.
People also ask
Does it always optimize three-dimensional points?
Many reconstruction formulations do, but some applications refine a restricted parameter set.
Does it recover absolute scale from any photos?
No. Scale requires appropriate information or constraints.
Can it handle bad matches automatically?
Robust methods can reduce some outlier influence, but correspondence quality remains essential.
Check your understanding
A monocular reconstruction has very low reprojection error. Does that alone prove its dimensions are correct in meters?
Answer: No. Image projections can leave a scale ambiguity. A suitable scale reference or other information is needed before interpreting reconstructed distances in physical units.
Related terms
- Structure from motion
- Reprojection error
- camera pose
- camera intrinsics
- nonlinear least squares
- robust loss
- gauge freedom
- photogrammetry
Learn next
Learn camera projection and least-squares residuals next. Trace how one scene point produces observations in several images, then identify which parameters those observations constrain. Study gauge freedoms and outlier handling before interpreting a refined reconstruction as a physical measurement.
More in Computer vision and multimodal AI
- Boustrophedon cell decomposition - Boustrophedon cell decomposition divides a robot's free workspace into regions that can be covered with orderly back-and-forth passes.
- Box filter - A box filter is an image filter that combines values within a rectangular neighborhood using equal weights.
- Brown - Conrady model - The Brown - Conrady model is a camera-distortion model that describes departures from ideal perspective projection using radial and tangential terms.
- Burst photography - Burst photography captures a sequence of images in rapid succession.
- Burst super-resolution - Burst super-resolution reconstructs a higher-resolution image from multiple rapidly captured frames that contain complementary spatial samples.
- Calculus of variations - The calculus of variations is a branch of mathematics for finding functions that make a functional stationary or optimal.
Sources
Bill Triggs, Philip McLauchlan, Richard Hartley and Andrew Fitzgibbon, Bundle Adjustment—A Modern Synthesis: https://thoth.inrialpes.fr/people/triggs/pubs/Triggs-hdr-papers.pdf Primary survey search excerpts consulted. The residual calculation is original; full optimisation and geometric review remain pending.
Previous: Bulk synchronous parallel Next: Burrows - Wheeler transform