• 検索結果がありません。

マーカの3次元位置推定

ドキュメント内 gRFIDpnuƎxVXe̎Ǝ] (ページ 127-130)

第 6 章 結論

B.3 マーカの3次元位置推定

向と見なす。

s(l)=

PN

i=1(xi¡x)~ ¢(x(l)i ¡x~(l))

qPN

i=1(xi¡x)~ 2¢qPNi=1(x(l)j ¡x~(l)))2 (B.2) ここでxiは画像ベクトルのi番目の要素を示す。x~は要素の平均値で、N は画素の 階調数、この場合は256となる。xll番目のテンプレート画像を意味する。この式は 明るさの正規化された2つの画像ベクトルの余弦を求めることになる。

B.2.4 4頂点位置検出

マーカの各辺に対応する輪郭線データに最小2乗法で直線当てはめを行い、それら 直線の交点を頂点座標値とする。この直線当てはめの際、以下の歪み関数による変換 を行い、理想スクリーン座標系における頂点座標値を求める。

zd

zc =f1¡pzc2g;

zc2 = (xc¡xc0)2+ (yc¡yc0)2; zd2 = (xd ¡xc0)2+ (yd¡yc0)2 xd = zzdc(xc ¡xc0) +xc0; yd = zzdc(yc¡yc0) +yc0

(B.3)

ここで(xc; yc)は理想スクリーン座標系での座標値、(xd; yd)は観測スクリーン座標 値である。また、pは歪み率、(xc0; yc0)は歪み中心座標値で、この3パラメータはカメ ラキャリブレーションによって求めておく。ここでの計算では、式(B.3)の逆変換が 必要となるが、その計算は初期値を(xd; yd)としたニュートン法の4回の繰り返しで十 分な精度が得られる。観測された正方形マーカ画像では樽型歪みでの影響でその辺は 曲線となるが、この変換によって辺は直線として扱うことができる。

0 BB BB BB BB

@

Xc

Yc

Zc

1

1 CC CC CC CC A

=Tcm

0 BB BB BB BB

@

Xm

Ym

Zm

1

1 CC CC CC CC A

=

0

B@ R3£3 T3£1

0 0 0 1

1 CA

0 BB BB BB BB

@

Xm

Ym

Zm

1

1 CC CC CC CC A

=

0 BB BB BB BB

@

R11 R12 R13 T1 R21 R22 R23 T2

R31 R32 R33 T3

0 0 0 1

1 CC CC CC CC A

0 BB BB BB BB

@

Xm Ym

Zm

1

1 CC CC CC CC A

(B.4)

0 BB BB BB BB

@

hxc hyc

h 1

1 CC CC CC CC A

=P

0 BB BB BB BB

@

Xc Yc

Zc

1

1 CC CC CC CC A

=

0 BB BB BB BB

@

P11 P12 P13 0 0 P22 P23 0

0 0 1 0

0 0 0 1

1 CC CC CC CC A

0 BB BB BB BB

@

Xc Yc

Zc

1

1 CC CC CC CC A

(B.5)

マーカ座標系におけるマーカの4頂点の座標値は図B.3に示すように設定されてお り、これらに対応する理想スクリーン座標系における座標値もこれまでの処理で得ら れている。これらの情報から式(B.4)におけるTcmを求めるが、その手順は、

1. 回転移動成分R3£3の推定 2. 平行移動成分T3£1の推定 3. 変換行列Tcmの修正 となる。

B.3.1 回転移動成分 R

3£3

の推定

理想スクリーン座標系におけるマーカの頂点位置から向かい合う2辺の直線の方程 式が得られる。それを式(B.6)のように表し、式(B.5)xc,ycをこれに代入すること で式(B.7)が得られる。

a1x+b1y+c1 = 0; a2x+b2y+c2 = 0 (B.6) a1P11Xc+ (a1P12+b1P22)Yc+ (a1P13+b1P23+c1)Zc = 0

a2P11Xc+ (a2P12+b2P22)Yc+ (a2P13+b2P23+c2)Zc = 0 (B.7)

図 B.3: マーカの例

この式はカメラ座標系によって表現される3次元空間中の平面の方程式であり、3 元空間中のマーカの辺がこの平面内に存在することを意味する。マーカの向かい合う 2辺は平行なのでその方向ベクトルは一致し、式(B.7)2平面の面内方向となる。つ

まり、式(B.7)2平面の各法線ベクトルの外積として計算されるベクトルが、平行2

辺のカメラ座標系における方向ベクトルとなる。この計算を2組の平行2辺に対して 行うことでマーカの隣り合う2辺の方向ベクトルU1,U2を求めることできる。

B.3.2 平行移動成分 T

3£1

の推定

式(B.4)(B.5)を結合し、マーカの4頂点のマーカ座標系での座標値、理想スクリー

ン座標系での座標値を代入すると、T1,T2,T3に関するi次方程式が8個得られる。行列 P,Rが既知なので、これらの式からT1,T2,T3を計算できる。

B.3.3 変換行列 T

cm

の修正

上の計算でTcmが計算されるが,回転行列の計算においてしばしば大きな誤差を伴 う.そこで,再度,画像情報を利用し回転行列の修正を行う.(式4)においては回転行 列は9個のパラメータで表現されているが,これを3つの回転角(a: Zm 軸の傾斜方 向,b: Zm 軸の傾斜角度,c: Xm-Ym平面のZm軸周りの回転角)で表現する.これは ZYZオイラー角表現を修正したものである.通常のオイラー角表現ではベクトルの微 少変動が回転角に大きな変化を及ぼす場合があるが,この表現ではそのような影響が 小さい.(式8)に回転行列を回転角で表した式を示す.

R=

2 66 66 4

cosacosbcos(c¡a)¡sinasin(c¡a) ¡cosacosbsin(c¡a)¡sinacos(c¡a) cosasinb

sinacosbcos(c¡a)+cosasin(c¡a) ¡sinacosbsin(c¡a)+cosacos(c¡a) sinasinb

¡sinacos(c¡a) sinasin(c¡a) cosb

3 77 77 5

(B.8)

この式より(式9)が導出でき,回転行列R3×3 から各回転角を求めることができる.

cosb =R33

cosa =R13=sinb

sina =R23=sinb (B.9)

sinc = (R32R13¡R31R23)=(R213+R232 ) cosc =¡(R13R31+R23R32)=(R213+R223)

そこで,これまでに求めたTcmを用いて,マーカー4頂点の座標値を(式4,5)に代 入することで,その理想スクリーン座標値を計算できる.この計算値と実際に画像処 理によって求められた値の誤差の2乗和が少なくなるようにa,b,cの値を修正する.具 体的には,山登り法を用いて10回の繰り返し処理により新たな回転成分R3×3を求め る.さらに2.3.2 の処理を再適用し平行移動成分T3×1も更新する.この処理の理論的 な収束性は証明していないが,初期値が適切に与えられること,回転ベクトルの微小 変化が3つの回転角abc に対しても微小変化しか与えないことから,妥当なものと考 え,実験的に問題がないことを確認した.

ドキュメント内 gRFIDpnuƎxVXe̎Ǝ] (ページ 127-130)