littlewing

人間とコンピューターとメディアの接点をデザインするために考えたこと

カメラキャリブレーションの用語の覚書

なんとなくやっていたカメラキャリブレーションについて 用語の定義など改めて調べてみた。

文末の「参考」にある opencvのドキュメントなどが詳しいのだが 用語がわからないと、理解が進まないので、自分が理解するためのメモ。

https://pbs.twimg.com/media/DL20xKTV4AEv4TP.png

画像引用元


Distortion Coefficients (レンズ歪みパラメータ )

  • 放射状歪み と 接線歪みを補正するパラメータ
  • [1 x 4] もしくは [1 x 5] の行列として表現される

  • 放射状歪み(Radial Distortion) は直線が曲線になるような歪み

    • 画像中心から離れれば離れるほど歪みは大きくなる。
    • k1 , k2, k3として表されることが一般的。
  • 接線歪み(Tangential Distortion)は,レンズと画像平面が完璧に平行になっていないことが原因で生じる歪み。

    • ある領域が期待しているよりも近くにあるように見えてしまう。
    • p1 , p2として表されることが一般的。
  • opencvの行列表現では

 Distortion\ Coefficients  =  \begin{pmatrix} k_1&k_2&p_1&p_2&k_3 \end{pmatrix}

として表現される。※k3が省略の場合もあり


Intrinsic Parameters (内部パラメータ) 

  • カメラ固有のパラメータ。カメラ行列とも呼ばれる
  • 同じカメラで同じ設定であれば常に同じ
  • [3 x 3] の行列として表現される
  • 焦点距離
    • Focal Length = (fx , fy ) (単位はピクセル)
  • 光学中心(主点)
    • Principal Point = (cx , cy ) (単位はピクセル)

 Intrinsic\ Parameters  =  \begin{pmatrix} f_x&0&c_x \\ 0&f_y&c_y \\ 0&0&1 \end{pmatrix}


Extrinsic Parameters (外部パラメータ)

  • ある座標系における3次元点の座標を別の座標系での座標に変換するための回転と並進のパラメータを指します.
  • マーカーとカメラ間の位置関係などを設定します。
  • [3 x 4] の行列として表現される

 Extrinsic\ Parameters =  \begin{pmatrix} R_{11}& R_{12}& R_{13}& t_x \\ R_{21}&R_{22}&R_{23}&t_y \\ R_{31}&R_{32}&R_{33}&t_z \end{pmatrix}  \\R:回転行列\\t:並進ベクトル


GML C++ Camera Calibration Toolbox 便利

最近は、GML C++ Camera Calibration Toolboxを使ってキャリブレーションデータを作成しています。 また、マーカーはiPadに表示すると、発光するし、歪みも発生しないし便利。


参考

imura-lab.org