BundleAdjust#
- class BundleAdjust(camera: CentralCamera)[source]#
Create a bundle adjustment problem
- Parameters:
camera (CentralCamera instance) – model of the moving camera
Implementation of a workable, easy to follow, bundle adjustment algorithm suitable for pedagogical purposes and problems of small to medium size.
It uses SciPy sparse linear algebra functions to solve the update equation. The state vector comprises, in order:
a 6-vector for every view, the camera pose \((t_x, t_y, t_z, q_x, q_y, q_z)\) as a translation vector and the vector part of the unit quaternion
a 3-vector for every landmark, (X, Y, Z)
Cameras and landmarks can be fixed in which case we have a variable state vector, shorter than the state vector, holding only the states corresponding to movable cameras and landmarks.
Warning
This class assumes that all camera views have the same camera intrinsics.
- References:
P. Corke, Robotics, Vision & Control for Python, Springer, 2023, Section 14.3.2.
- Seealso:
optimizeCentralCamerapgraph.UGraph