Inverse depth parametrization explained

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).[1] [2] Given a point

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

c0

when in first observed the point, and the position of the point along the ray passing through

p

and

c0

.[3]

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

p=(x,y,z)

with world coordinates in a reference frame

(e1,e2,e3)

, observed from different views, the inverse depth parametrization

y

of

p

is given by:

y=(x0,y0,z0,\theta,\phi,\rho)

where the first five components encode the camera pose in the first observation of the point, being
c0

=(x0,y0,z0)

the optical centre,

\phi

the azimuth,

\theta

the elevation angle, and

\rho=

1
\left\Vertp-c0\right\Vert
the inverse depth of

p

at the first observation.

References

  1. Piniés et al. (2007)
  2. Sunderhauf et al. (2007)
  3. Civiera et al. (2008)

Bibliography