Inverse depth parametrization



In computer vision, the inverse depth parametrization is a parametrization used in methods for 3D reconstruction from multiple images such as simultaneous localization and mapping (SLAM). Given a point $$\mathbf{p}$$ in 3D space observed by a monocular pinhole camera from multiple views, the inverse depth parametrization of the point's position is a 6D vector that encodes the optical centre of the camera $$\mathbf{c}_0$$ when in first observed the point, and the position of the point along the ray passing through $$\mathbf{p}$$ and $$\mathbf{c}_0$$.

Inverse depth parametrization generally improves numerical stability and allows to represent points with zero parallax. Moreover, the error associated to the observation of the point's position can be modelled with a Gaussian distribution when expressed in inverse depth. This is an important property required to apply methods, such as Kalman filters, that assume normality of the measurement error distribution. The major drawback is the larger memory consumption, since the dimensionality of the point's representation is doubled.

Definition
Given 3D point $$\mathbf{p} = (x, y, z)$$ with world coordinates in a reference frame $$(e_1, e_2, e_3)$$, observed from different views, the inverse depth parametrization $$\mathbf{y}$$ of $$\mathbf{p}$$ is given by:
 * $$ \mathbf{y} = (x_0, y_0, z_0, \theta, \phi, \rho) $$

where the first five components encode the camera pose in the first observation of the point, being $$\mathbf{c_0} = (x_0, y_0, z_0)$$ the optical centre, $$\phi$$ the azimuth, $$\theta$$ the elevation angle, and $$\rho = \frac{1}{\left\Vert \mathbf{p} - \mathbf{c}_0\right\Vert}$$ the inverse depth of $$p$$ at the first observation.