3次元DLT法②(DLTパラメータの計算②)

バイオメカニクス
ポール先生
P先生

前回はDLTパラメータを求める計算式を解説したね。
数式ばかりになってしまっているので、今回はエクセルを使って具体的に数値計算を行っていこう。

Aくん
Aくん

はい、頑張ります!

ポール先生
P先生

今回は既に実験と測定を済ませたデータを使います。
3次元DLT法で動作分析を行う際には、必ずキャリブレーション(校正)を行う必要があったよね。

Aくん
Aくん

キャリブレーションポールを使って、実験範囲をキャリブレーションするんですよね。

ポール先生
P先生

その通り。今回は下の図のように、4つの球体がついたキャリブレーションポールを使ったんだよ。
地面との接点も一つのポイントとして、1箇所につき合計5点のキャリブレーションができるね。

Aくん
Aくん

水準器を取り付けて、地面と垂直になるように立てるんですね。

このキャリブレーションポールを使って、今回は24箇所でキャリブレーションを行っています。
キャリブレーションをカメラで撮影した後は、カメラの位置は固定して動かさないように注意しましょう。

Aくん
Aくん

結構横長の範囲ですね。

ポール先生
P先生

5点のコントロールポイントを24箇所で計測しているので、今回は120ポイントを実空間座標として、DLTパラメータの計算に利用することになるね。

Aくん
Aくん

前回の$ X_n, Y_n, Z_n $の部分ですね。

ポール先生
P先生

その通り!
この時点で、実空間座標を表にまとめておくと、後で整理がしやすいので、表を作っておこう。


実空間座標

Aくん
Aくん

出来ました!

ポール先生
P先生

イイね!
コントロールポイントをデジタイズしたデータも準備して、実際の計算を行っていこう!

キャリブレーションデジタイズ(行列$ U $)

ポール先生
P先生

このデジタイズデータが前回の$ 2n行1列 $の行列$ U $だね。

Aくん
Aくん

後は行列$ X $を作ってやればいいんですね。
X,Y,Z,U,Vを使って・・・


行列$ X $

ポール先生
P先生

オーケー!
これで行列が作成できたので、行列式をエクセルで解いて行こう!

\begin{eqnarray}
L =\begin{bmatrix} X^{ \mathrm{ T } }X \end{bmatrix}^{ \mathrm{ -1 } }X^{ \mathrm{ T } }U
\tag{5}
\end{eqnarray}

ポール先生
P先生

DLTパラメータの行列の計算式は上記の式だったね。

まずは、$ X $の転置行列$ X^{ \mathrm{ T } } $を求めます。
エクセルで転置行列を作成するには、「TRANSPOSE」関数を使用します。

ポール先生
P先生

エクセルで行列式を計算する時は、関数を入力後「Ctrl+Shift」キーを押しながらEnterキーを押さないといけないことに注意しよう。
今回の$ X^{ \mathrm{ T } } $は11行240列の行列になったね。

 

次に行列$ X^{ \mathrm{ T } }X $を求めてみましょう。
行列のかけ算は「MMULT」関数を使用します。

ポール先生
P先生

これで11行11列の正方行列$ X^{ \mathrm{ T } }X $ができたね。
では、次にこの逆行列$\begin{bmatrix} X^{ \mathrm{ T } }X \end{bmatrix}^{ \mathrm{ -1 } }$を計算してみよう。

逆行列を求める関数は「MINVERSE」を使用します。

ポール先生
P先生

さて、もう一息。
次は行列$ X^{ \mathrm{ T } }U $の計算だね。

行列のかけ算なので「MMULT」関数を使用します。

ポール先生
P先生

最後にDLTパラメータの計算だね。

行列$ \begin{bmatrix} X^{ \mathrm{ T } }X \end{bmatrix}^{ \mathrm{ -1 } }$と行列$ X^{ \mathrm{ T } }U $のかけ算を行います。
関数は「MMULT」を使用します。

Aくん
Aくん

やったー!できたー!!

ポール先生
P先生

同じようにして、カメラ2についてもDLTパラメータを算出してみよう!

最終的に11行1列のDLTパラメータを2つ準備することで、3次元DLT法による3次元座標を求める事ができます。

ポール先生
P先生

行列の計算は複雑そうに見えるけど、実際はそこまで難しくはないよ。
とにかく実践あるのみ!

 

コメント

タイトルとURLをコピーしました