2D と 3D の幾何学関係メモ

下付き文字タグ付けるのめんどいので付けない。

行列は転置。T は略。

 

① 空間座標と画像座標の関係
[ X Y Z ] 3D 座標
[ x y ] 2D 座標

x = X / Z
y = Y / Z
焦点距離

 

② ワールド座標とカメラ座標の関係
[ Xw Yw Zw ] ワールド座標
[ Xc Yc Zc ] カメラ座標

[ Xc Yc Zc ] = R [ Xw Yw Zw ] + t

 

R回転行列rotation matirix
ワールド座標で見たカメラ座標の Xc, Yc, Zc 軸の方向を表す単位ベクトル。

t または T平行移動ベクトルtranslation vector
ワールド座標の原点から、カメラ座標の原点を示すベクトル。

参考図。http://www.rm.mce.uec.ac.jp/lecture/mech/vision/kougakuKijutsu.pdf より。 
f:id:koshinRan:20190328195816p:plain

 

③ 正規化座標と画像座標の関係
[ x y ] 正規化座標
[ u v ] 画像座標
[ cu cv] 画像中心座標
画像座標系における、光軸と画像面 ( 投影面 ) との交点の位置のこと。

δu:横方向画素の物理的間隔 ( デルタと読む )
δv:縦方向画素の物理的間隔
f:焦点距離

x = δu ( u - cu ) / f
y = δv ( v - cv ) / f

 

④ ワールド座標と画像座標の関係

①~③でを使って求められる。

 R
[ r11 r12 r13 ]
[ r21 r22…   ]
[ r31 …        ]

u = ( f / δu ) * (  r11Xw + r12Yw +… t1 / r31Xw + … t3 ) + cu
v = ( f / δv ) * (  r21Xw + r22Yw +… t2 / r31Xw + … t3 ) + cv

f、δu、δv、cucv内部パラメータ

 

http://opencv.jp/opencv-2svn/cpp/camera_calibration_and_3d_reconstruction.html#id1 より。
f:id:koshinRan:20190328053537p:plain

↑ は、δu、δv がないが「 fx = f / δu 」ということ。( 多分 ) 

 

 

透視行列

透視投影行列 P [ 3 * 4 ]

[ p11 … p14 ]
[ p21 … p24 ]
[ p31 … p34 ]

[ u  v 1 ] = P [ Xw Yw Zw 1 ]

 

式(1) http://www.rm.mce.uec.ac.jp/lecture/mech/vision/kougakuKijutsu.pdf より。
f:id:koshinRan:20190328053718p:plain

u = p11Xw + p12Yw + … + p14 / p31Xw + p32Yw + … + p34
v = p21Xw + p22Yw + … + p24 / p31Xw + p32Yw + … + p34

( p31Xw + p32Yw + … + p34 ) の時の座標が ( p11Xw + p12Yw + … + p14 ) なので、
( p31Xw + p32Yw + … + p34 ) で割ることにより、 1 の時の座標にする。

p34 = 1 とする。
なぜならば、定数倍の不定数があるから。?

p34 = 1 として式(1) を uv について解くと、
u = p11Xw + p12Yw + … + p14 - uXwp31 - uYwp32 - uZwp33;
v = 略 

 

---Memo---

x [ z1 z2 z3 0 0 0 0 0 0 ]  
y [ 0 0 0 z4 z5 z6 0 0 0 ] * [ w1 w2 w3 h1 h2 h3 d1 d2 d3 ]
z [ 0 0 0 0 0 0 z7 z8 z9 ]

w1 ~ w3 は x のみしか計算しないので y z の個所は 0 となる。
他も同様。
ex )
w1 w2 … d3 が p11 ~ p33
z1 z2 … z9 が Xw ~ Zw ということ ?

 

 

こちらから。
ディジタル画像処理 p252~
http://www.rm.mce.uec.ac.jp/lecture/mech/vision/kougakuKijutsu.pdf
http://opencv.jp/opencv-2svn/cpp/camera_calibration_and_3d_reconstruction.html#id1

以上。