世界座標(実際の3次元空間中の座標)を2次元の画像座標に変換する行列。
内部とか、外部とか、全部ひっくるめて、P行列と呼ぶ。

-&mimetex(\text{P}=\left(\begin{array}P_{11}&P_{12}&P_{13}&P_{14}\\P_{21}&P_{22}&P_{23}&P_{24}\\P_{31}&P_{32}&P_{33}&1\\\end{array}\right));

本当は&mimetex(P_{34});も値を持つのだが、通常、&mimetex(P_{34}=1);として正規化する。これはP行列がスケールによる不変性を持つため。このP行列の値は未知であり、キャリブレーションにより求めてやる必要がある。

-&mimetex(s\left(\begin{array}x\\y\\1\end{array}\right)=\left(\begin{array}P_{11}&P_{12}&P_{13}&P_{14}\\P_{21}&P_{22}&P_{23}&P_{24}\\P_{31}&P_{32}&P_{33}&1\\\end{array}\right)\left(\begin{array}X\\Y\\Z\\1\end{array}\right));

X、Y、Zが既知で、その時に撮影された座標x、yが既知であれば、上記の式から求められる。未知数11個のパラメータを求める。1点の対応関係で方程式が2本得られるので、最低11/2=5.5→6点の対応関係が得られればパラメータを推測できる。

行列をばらすと、以下のような演算に分解できる

-&mimetex(sx=P_{11}X + P_{12}Y + P_{13}Z + P_{14});
-&mimetex(sy=P_{21}X + P_{22}Y + P_{23}Z + P_{24});
-&mimetex(s =P_{31}X + P_{32}Y + P_{33}Z + 1);

sに関して従属なので、sを消去する

-&mimetex((P_{31}X + P_{32}Y + P_{33}Z + 1)x=P_{11}X + P_{12}Y + P_{13}Z + P_{14});
-&mimetex((P_{31}X + P_{32}Y + P_{33}Z + 1)y=P_{21}X + P_{22}Y + P_{23}Z + P_{24});

未知数ごとに係数をまとめる

-&mimetex(P_{31}Xx + P_{32}Yx + P_{33}Zx - P_{11}X - P_{12}Y - P_{13}Z - P_{14}=-x);
-&mimetex(P_{31}Xy + P_{32}Yy + P_{33}Zy - P_{21}X - P_{22}Y - P_{23}Z - P_{24}=-y);

行列にまとめると、以下の様な演算になる

-&mimetex(\left(\begin{array}-X & -Y & -Z & -1 & 0 & 0 & 0 & 0 & Xx & Yx & Zx\\0&0&0&0&-X&-Y&-Z&-1&Xy&Yy&Zy\end{array}\right)\left(\begin{array}P_{11}\\P_{12}\\P_{13}\\P_{14}\\P_{21}\\P_{22}\\P_{23}\\P_{24}\\P_{31}\\P_{32}\\P_{33}\end{array}\right) =\left(\begin{array}-x\\-y\end{array}\right));

これを6点に関して行列を立てて、連立方程式を解いてやれば、P行列が求まる。

-&mimetex(\left(\begin{array} -X_1 & -Y_1 & -Z_1 & -1 & 0 & 0 & 0 & 0 & X_1x_1 & Y_1x_1 & Z_1x_1\\0&0&0&0&-X_1&-Y_1&-Z_1&-1&X_1y_1&Y_1y_1&Z_1y_1\\ -X_2 & -Y_2 & -Z_2 & -1 & 0 & 0 & 0 & 0 & X_2x_2 & Y_2x_2 & Z_2x_2\\0&0&0&0&-X_2&-Y_2&-Z_2&-1&X_2y_2&Y_2y_2&Z_2y_2\\ -X_3 & -Y_3 & -Z_3 & -1 & 0 & 0 & 0 & 0 & X_3x_3 & Y_3x_3 & Z_3x_3\\0&0&0&0&-X_3&-Y_3&-Z_3&-1&X_3y_3&Y_3y_3&Z_3y_3\\ -X_4 & -Y_4 & -Z_4 & -1 & 0 & 0 & 0 & 0 & X_4x_4 & Y_4x_4 & Z_4x_4\\0&0&0&0&-X_4&-Y_4&-Z_4&-1&X_4y_4&Y_4y_4&Z_4y_4\\ -X_5 & -Y_5 & -Z_5 & -1 & 0 & 0 & 0 & 0 & X_5x_5 & Y_5x_5 & Z_5x_5\\0&0&0&0&-X_5&-Y_5&-Z_5&-1&X_5y_5&Y_5y_5&Z_5y_5\\ -X_6 & -Y_6 & -Z_6 & -1 & 0 & 0 & 0 & 0 & X_6x_6 & Y_6x_6 & Z_6x_6\\0&0&0&0&-X_6&-Y_6&-Z_6&-1&X_6y_6&Y_6y_6&Z_6y_6 \end{array}\right)\left(\begin{array}P_{11}\\P_{12}\\P_{13}\\P_{14}\\P_{21}\\P_{22}\\P_{23}\\P_{24}\\P_{31}\\P_{32}\\P_{33}\end{array}\right) =\left(\begin{array} -x_1\\-y_1\\ -x_2\\-y_2\\ -x_3\\-y_3\\ -x_4\\-y_4\\ -x_5\\-y_5\\ -x_6\\-y_6 \end{array}\right));


-&mimetex(\text{A}\text{P}=\text{B});
-&mimetex(\text{A}^{-1}\text{A}\text{P}=\text{P}=\text{A}^{-1}\text{B});

ただし、A行列の逆行列を求めるには、通常Aは非正方行列なので、注意して逆行列を求めること

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS