CentralCamera.derivatives#

CentralCamera.derivatives(x: float | int | list[float | int] | tuple[float | int, ...] | ndarray, P: float | int | list[float | int] | tuple[float | int, ...] | ndarray) tuple[ndarray, ndarray, ndarray][source]#

Compute projection and derivatives for bundle adjustment

Parameters:
  • x (array_like(6)) – camera pose as translation and quaternion vector part

  • P (array_like(3)) – 3D world point

Returns:

p, A, B

Return type:

ndarray(2), ndarray(2,6), ndarray(2,3)

For a world point \(\vec{x}\) compute the image plane projection and the sensitivity to camera and point change

\[\mat{A} = \frac{\partial \vec{f}(\vec{x})}{\partial \pose}, \mat{B} = \frac{\partial \vec{f}(\vec{x})}{\partial \vec{P}}\]

where \(\vec{f}(\vec{x})\) is the perspective projection function.

Seealso:

project_point