Skip to main content

Camera Models and Coordinates

3D Reconstruction の出発点は、3D point が camera image のどこに投影されるかを記述する camera model です。最も基本的な model は pinhole camera model です。

座標系

三次元再構成では、複数の座標系が登場します。

座標系意味
World coordinatescene 全体に固定された座標系です。
Camera coordinatecamera の中心を原点とする座標系です。
Image coordinatepixel の座標系です。
Normalized image coordinatecamera intrinsics を除いた image plane 上の座標系です。

World coordinate の 3D point Xw\mathbf{X}_w は、camera extrinsics によって camera coordinate に変換されます。

Xc=RXw+t\mathbf{X}_c = \mathbf{R}\mathbf{X}_w + \mathbf{t}

ここで、R\mathbf{R} は rotation、t\mathbf{t} は translation です。

Pinhole camera model

Camera coordinate の点 Xc=(X,Y,Z)\mathbf{X}_c = (X, Y, Z)^\top は、normalized image coordinate へ次のように投影されます。

x=XZ,y=YZx = \frac{X}{Z}, \qquad y = \frac{Y}{Z}

これに camera intrinsics を適用すると pixel coordinate になります。

[uv1]K[X/ZY/Z1]\begin{bmatrix} u \\ v \\ 1 \end{bmatrix} \sim \mathbf{K} \begin{bmatrix} X/Z \\ Y/Z \\ 1 \end{bmatrix}

Camera intrinsic matrix K\mathbf{K} は、一般に次の形で書かれます。

K=[fxscx0fycy001]\mathbf{K} = \begin{bmatrix} f_x & s & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix}

ここで、fx,fyf_x, f_y は焦点距離、cx,cyc_x, c_y は principal point、ss は skew です。

Projection matrix

Homogeneous coordinate を使うと、3D point の投影は次のようにまとめて書けます。

xK[Rt]X\mathbf{x} \sim \mathbf{K}[\mathbf{R} \mid \mathbf{t}]\mathbf{X}

P=K[Rt]\mathbf{P} = \mathbf{K}[\mathbf{R} \mid \mathbf{t}] は projection matrix と呼ばれます。

Lens distortion

実際の camera では、lens distortion が発生します。代表的には radial distortion と tangential distortion があります。

  • Radial distortion: 画像中心から離れるほど歪みが大きくなる歪みです。
  • Tangential distortion: lens と image plane のずれによる歪みです。

Camera calibration では、intrinsics と distortion parameter を推定します。3D Reconstruction では、正確な calibration が downstream の pose estimation や triangulation の精度に大きく影響します。

関連ページ

主なソース