画像処理とか機械学習とか

画像処理や機械学習関連の事について気まぐれで書いていきます。歩行者検出関係が多いと思います。ハリネズミもたまに出現します。

画像と空間の座標での表現

カメラで撮られた画像中の位置から、実際の物体の位置をコンピュータービジョンにおいて、どのように表現しているかをまとめます。

  • 透視投影モデル

f:id:hiro2o2:20160214212935p:plain
空間を表す3次元座標には、カメラを中心としてみたカメラ座標系と、空間中のある位置を中心として考えたワールド座標系の二つがある。カメラ座標系は、上の図のようにカメラの光軸方向がZ軸となる。
ワールド座標系と、カメラ座標系の関係は以下のようになる。

{ \displaystyle
\begin{pmatrix}
X\\ Y\\ Z
\end{pmatrix}
=R\begin{pmatrix}
X_w\\ Y_w\\ Z_w\end{pmatrix}+t
}

{R}は3×3の回転行列を表し、{t}は3次元の平行移動ベクトルを表す。
つまりこの式は、ワールド座標系の原点からどれだけ回転して平行移動した所がカメラ座標系の原点かという事を表している。

  • 正規化画像座標と画像座標との違い

一般に、画像は長さの単位として画素を用いる。画素としての座標が{(u,v)}であり、一般的な座標として表しているのが正規化画像座標の{(x,y)}である。
正規化画像座標{(x,y)}と画像座標{(u,v)}との間には以下のような関係がある。

{\displaystyle x=\frac{d_u(u-c_u)}{f}}
{\displaystyle y=\frac{d_v(v-c_v)}{f}}

ここで、{f}はカメラの焦点距離{d_u, d_y}は縦方向と横方向の画素の間隔、そして{(c_u,c_v)}が画像座標系の光軸と画像との交点(画像中心)を表す。

 これは、カメラの内部パラメータとも呼ばれ、使用するカメラによって決まる定数である。したがって、実際に実験でカメラを使用する際は、カメラキャリブレーションによってカメラの内部パラメータを求める必要がある。また、{Rとt}はワールド座標系に対してのカメラの位置によって決まる定数なので、外部パラメータと呼ばれる。

  • 同次座標系を用いた表現

この分野において、画像の座標などのベクトルを同次座標系で表すことが多い。同次座標系とは以下のようなものである。
画像の座標等の二次元平面上の点を{(x,y,m)^t}という形で表現し、実際の座標値は{(x/m,y/m)^t}となる。
なぜわざわざ同次座標系を用いるかというと、平行移動も含めて座標変換を行列の形で表現できるようになるためである。つまり、同次座標系は数式を見やすくするために導入している。