[[FrontPage]]

&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));

ここで&mimetex(P_{11});から&mimetex(P_{33});まではキャリブレーションまで求められているとする。(&mimetex(P_{34});は1とする)カメラが2台あるので、以下の式も成り立つ

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

各行ごとに行列をばらせば、以下の方程式が得られる。
-&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);
-&mimetex(s^{\prime}x^{\prime}=P_{11}^{\prime}X + P_{12}^{\prime}Y + P_{13}^{\prime}Z + P_{14}^{\prime});
-&mimetex(s^{\prime}y^{\prime}=P_{21}^{\prime}X + P_{22}^{\prime}Y + P_{23}^{\prime}Z + P_{24}^{\prime});
-&mimetex(s^{\prime}          =P_{31}^{\prime}X + P_{32}^{\prime}Y + P_{33}^{\prime}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}^{\prime}X + P_{32}^{\prime}Y + P_{33}^{\prime}Z + 1)x^{\prime}=P_{11}^{\prime}X + P_{12}^{\prime}Y + P_{13}^{\prime}Z + P_{14}^{\prime});
-&mimetex((P_{31}^{\prime}X + P_{32}^{\prime}Y + P_{33}^{\prime}Z + 1)y^{\prime}=P_{21}^{\prime}X + P_{22}^{\prime}Y + P_{23}^{\prime}Z + P_{24}^{\prime});

数式を未知数X、Y、Zに関して、式展開して整理する。

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

ここで方程式を行列の積に書き直す

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

ここで、左辺と右辺の行列をAとBに簡略化する

&mimetex(\text{A}\left(\begin{array}X\\Y\\Z \end{array}\right)=\text{B});

X、Y、Zを求めるために、逆行列演算を行う

-&mimetex(\text{A}\left(\begin{array}X\\Y\\Z \end{array}\right)=\text{B});
-&mimetex(\text{A}^{T}\text{A}\left(\begin{array}X\\Y\\Z \end{array}\right)=\text{A}^{T}\text{B});
-&mimetex(\left(\text{A}^{T}\text{A}\right)^{-1}\text{A}^{T}\text{A}\left(\begin{array}X\\Y\\Z \end{array}\right)=\left(\text{A}^{T}\text{A}\right)^{-1}\text{A}^{T}\text{B});
-&mimetex(\left(\begin{array}X\\Y\\Z \end{array}\right)=\left(\text{A}^{T}\text{A}\right)^{-1}\text{A}^{T}\text{B});


この時、A行列の行数(=B行列の行数)は多くても構わない。
ただし、列数はそれぞれ3列と1列である必要がある。

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