三次元空間と二次元画像 ージオメトリ,キャリブレーションー

Download Report

Transcript 三次元空間と二次元画像 ージオメトリ,キャリブレーションー

三次元空間と二次元画像
ージオメトリ,キャリブレーションー
大阪大学
日浦慎作
カメラの構造(再)
CCD
CCD駆動回路
信号処理回路
キャプチャ
回路
レンズ系
• レンズ - 集光するためのデバイス
– 画像のぼけを無視した場合,無関係
– 絞りを閉じた系で考える(主光線)
主点間隔と結像
後側主点
前側主点
• 主点へ向かって入射した光は,再び主点から
平行に射出するように見える
ピンホールカメラ
• 実カメラと等価な
ピンホールカメラ
とは:
主点間隔
– 前主点にピン
ホールを配置
– 像面(CCD)を
主点間隔だけ前
進させる
ピンホールカメラ
y
x
f
Z
X
Y
X
f
x
Z
• ピンホール中央
(=前側レンズ主点)
に原点を取る

X
x  f Z

y  f Y

Z
透視変換の同次座標表現

X
x  f Z

y  f Y

Z
⇔
x f
  
hy 0

1
 
0
X
0 0 0 
Y 
f 0 0
Z 
0 1 0
 
1 
• 透視変換には除算が含まれる
 – 除算だけを最後まで「延期」して計算
(最後に h 
を消去)
行列計算により透視変換を表現
– 各ベクトルの末尾に要素 “1” を追加する
(同次座標表現)
透視変換に対する座標変換の導入
x f
  
hy 0

1
 
0
X
0 0 0 
Y 
f 0 0
Z 
0 1 0
 
1 
x
y
f
Z
Y
X
• 上記の透視変換表現は様々な制限を有する
– 世界座標の原点=投影中心(レンズ主点)
– 光軸=Z軸に平行
– 画像の中心=投影中心から下ろした垂線の足
– アスペクト比=1.0
座標変換を導入する必要あり
同次座標を用いた平行移動の表現
x2 r11 r12x tx 
  
  t  
y2 r21 r22y y 
•
x2 r11 r12 tx x
  
 
y

r
t
 2 21 r22 y y

1 
 
0 0 1 

1

同次座標では積により平行移動が表現可能
– r11 ~r22  一次変換
– tx ~ ty  平行移動
世界座標系の導入
x f
  
hy 0

1
 
0
Y
x
y
f
回転+平行移動
Z
0 0 0

f 0 0
0 1 0

X
 
Y 
Z 
 
1 
X
挿入

• 透視変換行列と世界座標の間
に,同次座標変換を挿入
– 外部パラメータ(6パラメータ)
回転:3自由度
平行移動:3自由度
r11 r12 r13

r21 r22 r23
r31 r32 r33

0 0 0
tx 

ty 
tz 

1 
外部パラメータ

内部パラメータの表現
f
x
y
アスペクト比
平行移動
• 内部パラメータ
–
–
–
–
焦点距離 f (1自由度)
画像中心(2自由度)
アスペクト比(1自由度)
スキュー歪み(1自由度)
スキュー
内部パラメータの導入
• 内部パラメータは,透視変
換行列の前に同次座標変
換を掛ける
– a : アスペクト比
– s : スキュー比
– tx, ty : 画像中心
x f
  
hy 0
1
 
0

0 0 0

f 0 0
0 1 0

挿入

1 0 tx 


s
a
t
y 


0 0 1 

内部パラメータ

X
 
Y 
Z 
 
1 
カメラパラメータ行列
x 1 0 tx f
  

hy s a ty 0

1
 
0 0 1 

0
r11 r12 r13
0 0 0
r21 r22 r23
f 0 0
r31 r32 r33
0 1 0

0 0 0
x c11 c12 c13
  
hy c21 c22 c23

1
 
c31 c32 c33

X
c14  
Y 
c24
Z 
c34
 
1 
•
tx X
 
ty Y 
tz Z 
 
1 1 
行列の積をあらか
じめ計算
– 3行4列の行列
カメラパラメータ
– パラメータ数
(自由度)は11
カメラパラメータ
行列は定数倍して
も意味が不変
キャリブレーション
• 機器の構造からのキャリブレーションは困難
– 実焦点距離(フォーカシング距離により可変)
– 投影中心(レンズの中,計測困難)
• 大きさ,位置が既知の物体を計測してキャリ
ブレーション
– cf. 温度計の較正(氷水,沸騰水)
熱膨張係数の二次成分が0と仮定
– 画像の場合も同様,レンズ歪みなどをモデリング
するか?(モデルを複雑にするほど較正は困難)
基本的なキャリブレーション法
x
X
x c11 c12 c13 c14  
  
Y 
hy c21 c22 c23 c24
Z 

1
 
c31 c32 c33 1 
 
1 
Y
y
f
Z
X
• 既知の (X,Y,Z)  (x,y) の組から較正

– カメラパラメータから h を消去
hx  c11X  c12Y  c13Z  c14

hy  c21X  c22Y  c23Z  c24
 h  c X  c Y  c Z 1

31
32
33

c31Xx  c32Yx  c33Zx  x  c11X  c12Y  c13Z  c14

c31Xy  c32Yy  c33Zy  y  c21X  c22Y  c23Z  c24

c11
 
c12
c13
 
Z1x1 c14  x1 

 
Z1y1 c21 y1 
c22  
   
Zn xn c23 xn 
  y 
Zn yn 
c24 
 n 
c31
c 
 32

c33

パラメータの計算
X1 Y1 Z1

0 0 0


X n Yn Zn

0 0 0
1 0 0
0 X1 Y1
0 0 X1x1
Z1 1 X1y1
Y1x1
Y1y1
1 0 0 0 0 Xn xn Yn xn
0 X n Yn Zn 1 Xn yn Yn yn
• 未知数 11,式 2n(n:特徴点数)
– 最小二乗法で解く.
上式を Ax=y の形とすると
1
x  (A A) A y
T
T
応用:レンジファインダ
xp
プロジェクタ
カメラ
x
y
• スリット光投影法
– プロジェクタはカメラ同様にモデル化可能
プロジェクタのモデル化
• スリット光プロジェクタは1次元表示デバイス
– y は任意の値をとるため,y 成分を省く
x p  p11 p12 p13
h  
1  p21 p22 p23
X
 

p14 Y 

1 Z 
 
1 
– カメラと同様にキャリブレーション可能
どの位置のスリット光が,どの座標に到達するか

三次元座標の算出
• 情報:スリット番号 xp, 画素位置 x,y
– カメラパラメータ,プロジェクタパラメータを使用
 x  c34  c14 
c11  x  c31 c12  x  c32
c13  x  c33 




F   y  c34  c24  Q  c21  y  c31 c22  y  c32 c23  y  c33 


x p  p24  p14

p11  x p  p21 p12  x p  p22 p13  x p  p23

– より


X
  1
Y  Q  F

Z 

で座標が求められる
その他のカメラモデル
• 並行射影 x = X, y = Y
Z
x
X
y
Y
X
x 1 0 0 0 
  
Y 
hy 0 1 0 0
Z 

1
 
0 0 0 1
 
1 
弱中心射影
• 距離に応じて並行射影を拡大・縮小
– 距離は代表点(重心など)で計算
X
x 1 0 0 0  
  
Y 
hy 0 1 0 0 
Z 

1
 
0 0 0 Zc 
 
1 

擬似中心射影
• 物体の光軸からの距離も勘案

Xc
1 0  Z
x 
c
Y
 
hy 0 1  c
Zc



1 0 0
0




X c X
Y 
Yc  
Z 

Zc 
1 



エピポーラ幾何
P :対 象 物 体 上 の 点
画像平面
エピポーラ線
M2
M1
ベー ス ライン
L2
θ
C 1 :投 影 中 心
L1
θ
1
2
C2
L
P:対 象 物 体 上 の 点
F行列
x1
 
m1  y1

1 

画像平面
エピポーラ線
x 2
 
m2  y 2

1 

x1
y1
M2
M1
ベ ー ス ライン
L2
L1
θ1
θ2
C2
C1:投 影 中 心
x2
 
1 F  y2 0

1 

L
(x2,y2) を決めると ax1  by1  c  0
(x1,y1) を決めると ax2  by2  c  0

m1T F m2  0
F はカメラパラメータから算出可能

弱較正
• 世界座標系中の既知座標点は用いない
– 2台のカメラ間の点対応のみから較正
– F行列が求められる(F行列の自由度は7)
– 8点の対応がとれれば,F行列が容易に算出可
(最小二乗法)
x1
y1
f11

1 f 21

f 31
f12
f 22
f 32
f13 x2
  
f 23 y2 0
1 
 
1 

展開
x1( f11x2  f12y2  f13)  y1( f 21x2  f 22y2  f 23)  f 31x2  f 32y2 1 0
f の要素に関する線形和
Homography
Z=0平面
Y
x
y
f
回転+平行移動
x c11 c12 c13
  
hy c21 c22 c23

1
 
c31 c32 c33
X
c14  
Y 
c24
Z 
c34
 
1 
Z
X
x c11 c12 c14X
  
 
hy c21 c22 c24Y 

1
 
c31 c32 c34

1 

• 平面→平面の対応関係:3x3行列で表現可

• 未知数8:4点の対応関係で較正可
Homography の応用
絵画修復シミュレーション
装着型プロジェクタ
QuickTimeý Dz
TIFFÅiLZWÅj êLí£ÉvÉçÉOÉâÉÄ
ǙDZÇÃÉsÉNÉ`ÉÉǾå©ÇÈǞǽDžÇÕïKóvÇ­Ç•
ÅB
QuickTimeý Dz
êLí£ÉvÉçÉOÉâÉÄ
ǙDZÇÃÉsÉNÉ`ÉÉǾå©ÇÈǞǽDžÇÕïKóvÇ­Ç•
ÅB
侵入検知
ロボットを用いた遠隔指示