Refine camera pose using motion-only bundle adjustment
returns the refined absolute camera pose that minimizes reprojection errors.refinedPose
= bundleAdjustmentMotion(xyzPoints
,imagePoints
,absolutePose
,intrinsics
)
The motion-only refinement procedure is a special case of the Levenberg-Marquardt algorithm for bundle adjustment with 3-D points fixed during optimization. The 3-D points and the camera pose are placed in the same world coordinate system.
[
additionally returns an N-element vector containing the mean reprojection
error for each 3-D world point using the arguments from the previous syntax.refinedPose
,reprojectionErrors
]
= bundleAdjustmentMotion(___)
[___] = bundleAdjustmentMotion(___,
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. Volume 36, Issue 1. March 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: Theory and Practice. Pages 298 — 372. Springer-Verlag. 1999.