Refine camera poses and 3-D points
[
returns the refined 3-D points and camera poses that minimize reprojection errors.
The refinement procedure is a variant of the Levenberg-Marquardt algorithm. 3-D
points and camera poses are placed in the same global reference coordinate
system.xyzRefinedPoints
,refinedPoses
]
= bundleAdjustment(xyzPoints
,pointTracks
,cameraPoses
,intrinsics
)
[___,
additionally returns an N-element vector containing the mean
reprojection error for each 3-D world point using the arguments from the previous
syntax.reprojectionErrors
]
= bundleAdjustment(___)
[___] = bundleAdjustment(___,
uses
additional options specified by one or more Name,Value
)Name,Value
pair
arguments. Unspecified properties have default values.
[1] Lourakis, M.I.A., and A.A. Argyros. "SBA: A Software Package for Generic Sparse Bundle Adjustment." ACM Transactions on Mathematical Software. 2009.
[2] Hartley, R., and A. Zisserman. Multiple View Geometry in Computer Vision. Cambridge University Press, 2003.
[3] Triggs, B., P. McLauchlan, R. Hartley, and A. Fitzgibbon. "Bundle Adjustment: A Modern Synthesis." Proceedings of the International Workshop on Vision Algorithms. Springer-Verlag. 1999, pp. 298-372.