スライド 1

視覚の幾何学1
呉海元@和歌山大学
2007年6月11日
参考書
佐藤 淳:
「コンピュータビジョン -視覚の幾何学-」
コロナ社
実際のカメラ
●実際に使用するテレビカメラは対象物からの光を受ける受光部
(撮像素子)と、受光により発生する微弱な電気信号を処理する信
号処理部からなっている
★イメージセンサに受光部と信号処理部を含まれる
●受光部の前にはレンズが置かれ、光はこのレンズによって集光
され、絞りを通して撮像素子(イメージセンサ)に至る
●レンズ系と撮像素子によって、3D空間から2D画像への投影
実際のカメラ
●実際のカメラではレンズ収差や歪みが生じるため、複
数のレンズを組み合わせて、レンズ収差や歪みなどを
取り除く
レンズのひずみ(Lens Distortions)
(x, y)
k1 , k2
(xd, yd)
ズームレンズの
内部構造
・レンズの配置を変わると
焦点距離を変わる
Single view geometry
Camera model
Single view geom.
カメラモデル(Camera model)
画像内の一点と3次元空間中の光線の関係
?
投影・射影関係によって決定
⇒ この関係を記述するモデルが複数ある
投影( Projections )

投影:m次元からn次元への変換 (m>n)
• CV: 3D to 2D
投影中心
投影面
投影面
平行投影・正射影
透視投影
理想的なカメラ
●3次元空間のある点から発せられた光はレ
ンズによって一点に集光される
●光がレンズに入射する角度に応じて集光さ
れる位置が変わる
●どのような角度で入射した平行な光もすべ
てある一つの平面上に集光される
☆この平面上に撮像素子を置いておけば,ピントの合った画像が得られる
ピンホール・カメラ(pinhole camera)
●CVの場合には必ずしも実際のカメラの物理的な投影
をそのまま考える必要はない
●カメラの幾何学的な性質のみを考えるなら、レンズの中
心の一点のみに注目し、撮像素子に至る光は全てこの一
点を通過してくるものと考える方が扱いやすい
●このようなカメラをピンホール・カメラと呼ぶ
Pinhole
Image plane
Object
ピンホール・カメラ
f
像が上下逆転
o
Pinhole
Object
Image plane
●撮像素子が置かれる面を画像面I (image plane)
●全ての光が通過する点(pinhole)を光学中心o(optical center)
●光学中心と画像面の間の距離を焦点距離f (focal length)
特徴:
●ピント合わせの必要がない
●投影の幾何学的な性質がそのまま保存されている
●視覚の幾何を考えるうえで理想的な性質を持つ
ピンホール・カメラ
●仮想的に画像面(Virtual image plane)を光学中心の前
(対象物側)に置くと、像が上下逆転せずに投影される
⇒ 投影がより扱いやすくなる
●普通、画像面を対象物側に置いて考える
もちろん、光学中心の後ろのまま考える場合もある
Pinhole
Image plane
Virtual
Object
image plane
画像面の場所によって、
数式の±記号の差がある
Pinhole camera image
Amsterdam: what do you see in this picture?
straight
line
size
parallelism/angle
shape
shape
of planes
depth
Photo by Robert Kosara, [email protected]
http://www.kosara.net/gallery/pinholeamsterda
m/pic01.html
Pinhole camera image
Amsterdam
straight line
size
parallelism/angle
shape
shape
of planes
depth
Photo by Robert Kosara, [email protected]
http://www.kosara.net/gallery/pinholeamsterda
m/pic01.html
Pinhole camera image
Amsterdam
straight line
size
parallelism/angle
shape
shape
of planes
depth
Photo by Robert Kosara, [email protected]
http://www.kosara.net/gallery/pinholeamsterda
m/pic01.html
Pinhole camera image
Amsterdam
straight line
size
parallelism/angle
shape
shape
of planes
depth
Photo by Robert Kosara, [email protected]
http://www.kosara.net/gallery/pinholeamsterda
m/pic01.html
Pinhole camera image
Amsterdam
straight line
size
parallelism/angle
shape
shape
of planes
depth
Photo by Robert Kosara, [email protected]
http://www.kosara.net/gallery/pinholeamsterda
m/pic01.html
Pinhole camera image
Amsterdam
straight line
size
parallelism/angle
shape
shape

of planes
parallel to image
depth
Photo by Robert Kosara, [email protected]
http://www.kosara.net/gallery/pinholeamsterda
m/pic01.html
Pinhole camera image
Amsterdam: what do you see?
straight line
size
parallelism/angle
shape
shape

of planes
parallel to image
Depth
?
stereo
- We see spatial shapes rather than individual pixels
motion
size
structure
…
- Knowledge: top-down vision belongs to human
- Stereo & Motion most successful in 3D CV & application
- You can see it but you don't know how…
透視投影 (Perspective Projection)
Pinhole
Virtual
Object
image plane
Image plane
簡略されたモデル:
z
y’
y
O
x
x’
透視投影 (Perspective Projection)


消失点




点⇒点
線⇒線
面⇒面
ポリゴン⇒ポリゴン
遠い物体が小さい
奥行き情報が得られない
透視投影モデル
y’
y
(x’, y’, z’)
(x, y, z)
(x,y,z)から(x’,y’,z’)へ投影:
(相似三角関係より)
z
z’
z
x’
O
x
x’
仮定:
1.原点をレンズの中心に
2.Z軸と光軸と同じ
x  z
x
x
z
y  z
y
z
z  z
(f = Z’)
●透視投影はZに関し非線形である
★幾何関係だけ考える理論系の人はよくf = Z’ =1とする
同次座標系
Homogenous Coordinates
cartesian world
coordinate s
homogenous
corrdinate s
world
 

   

( X , Y , Z )  ( kX , kY , kZ , k )
homogenous
corrdinate s
world
cartesian world
coordinate s

 

   
C1 C 2 C 3
(C1 , C 2 , C 3 , C 4 )  (
,
,
)
C4 C4 C4
カメラのパラメータ
Camera Parameters

画像座標系Image coordinates

画素の有効サイズEffective size of pixel in millimeter
(ximage, yimage)
 画像中心Image center
(ox, oy)
 カメラ座標系Camera coordinates
(xcamera, ycamera)
 ワールド座標系Real world coordinates (X, Y, Z)
 焦点距離Focal length
f
(kx, ky)
カメラのパラメータ
x image  k x x camera  o x
 x image

y
 image
 1
y image  k y y camera  o y
U image

V
 image
 S
U image

V
 image
 S
 k x
 
 0
 
  0
 k x
 
 0
 
  0
0
ky
0
0
ky
0
 k x
 
 0
 
  0
o x  U camera

o y V camera

1   S
ox  f

oy 0

1   0
0
ky
0
o x   x camera

o y y camera

1   1
fX




fY
Z
0
0
f
0
0
1
X
0 
Y
0
 Z
0  
1










カメラの内部パラメータ
U image

V
 image
 S
  fk x
 
 0
 
  0
 fy


ox
oy
ox
fk y
oy
0
1
y
 fx

0
X
0 
Y
0
 Z
0  
1
p (x,y,f)
O
f x  fk x
f y  fk y
(0,0)
x
Size:
(Sx,Sy)






ox
xim
o
y
yim
Pixel
(xim,yim)
内部パラメータ(Intrinsic Camera Parameters)はワールド
座標系内のカメラの位置と姿勢と依存しない
カメラの内部パラメータII
(x, y)


レンズのひずみ
Lens Distortions
(xd, yd)
k1 , k2
Modeled as simple radial distortions
2
4
• r2 = xd2+yd2
x  x d (1  k1 r  k 2 r )
• (xd , yd) distorted points
2
4
y  y d (1  k1 r  k 2 r )
• k1 , k2: distortion coefficients
• A model with k2 =0 is still accurate for
a CCD sensor of 500x500 with ~5
pixels distortion on the outer boundary
カメラの外部パラメータ
Extrinsic Camera Parameters

外部パラメータはワールド座標系内のカメラの位置
と姿勢によって決定される
• 平行移動Translation (3x1ベクトル)
• 回転Rotation (3x3行列)
xim
(xim,yim)
yim
O
y
x
p
R
t
P
Zw
Pw
Xw
O
Yw
平行移動(Translation)

(tx, ty, tz) Translation vector
 X camera

Y
 camera
 Z camera
  X world
 
 Y
  world
  Z world
 t x 
  
 t
  y
  t z 
 X camera

Y
 camera
 Z camera

 1
  1 0 0 t x   X world
 

0 1 0 t y Y world
 

  0 0 1 t z   Z world
 

0
0
0
1
      1
Translatio n Matrix
 X camera

Y
 camera
 Z camera

 1

 X world


Y
  t  world

 Z world



 1












平行移動(Translation)

Inverse translation
1

0
t 
0

0
tt
1
1

0


0

0
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
tx 

ty

tz 

1
t x  1

ty 0

t z  0

1  0
t
0
0
1
0
0
1
0
0
1
1

0
 
0

0
 t x  1
 
 ty
0
 
 t z  0
 
1  0
0
0
1
0
0
1
0
0
 tx 

 ty

 tz 

1 
0
0
1
0
0
1
0
0
0

0
I
0

1
回転(Rotation)
Y

Z-軸周り
R
X  R cos 

Y  R sin 
(X’,Y’,Z’)
R

X
Z
X
Y




X   R cos      R cos  cos   R sin  sin 
X
Y




Y   R sin      R cos  sin   R sin  cos 
X   X cos   Y sin 
Y   X sin   Y cos 
(X,Y,Z)
 X    cos 
  
Y  sin 
  
 Z   0
 sin 
cos 
0
0  X

0 Y

1   Z




回転(Rotation)




X-軸周り
Y-軸周り
Z-軸周り
回転なし
R
1

 0

 0
X
R
R
Y
Z
0
cos 
sin 
 cos 


0

 sin 
 cos 

 sin 

 0
1

R  0

 0


 sin 

cos  
0
0
1
0
0
1
0
 sin  

0

cos  
 sin 
cos 
0
0

0

1 
0

0

1 
回転(Rotation)

Inverse rotation
Z
 
R .R
 cos 

sin 

 0

Z T
I
 sin 
cos 
0
0   cos 

0  sin 

1   0
回転行列は直交行列!!
Ri
T
1
R j  
0
i j
otherwise
sin 
0  1
 
0  0
 
1   0
cos 
0
R
1
T
 R , i.e. RR
0
1
0
T
0

0

1 
T
R R I
回転行列とEuler角

, ,  はX, Y, Z軸周りの回転角
cos  cos 


R  sin  sin  cos   cos  sin 

  cos  sin  cos   sin  sin 


 cos  sin 

sin 


 sin  cos 

cos  cos  
 sin  sin  sin   cos  cos 
cos  sin  sin   sin  cos 
注意:
• 一回一つの角度しか回転できない
• 順番と関係がある


R  R ZRY R X
If angle  is small, then cos =1
and sin = また * + = 
 1

R  

  

1

O

 



1 
Zw
Xw

Yw

カメラのパラメータ


ワールド座標系とカメラ座標系の下
tx, ty, tz と r1,1…r3,3 はカメラ外部パラメータ
X camera  R X world  T
 X camera

Y camera

 Z camera

 1
  r1 ,1
 
r2 ,1
 
  r3 ,1
 
  0
r1 , 2
r1 , 3
r2 , 2
r2 , 3
r3 , 2
r3 , 3
0
0
t x   X world

t y Y world

t z   Z world

1  1






カメラのパラメータ

ワールド座標系と画像座標系の下で
U image

V
 image
 S
U image

V
 image
 S
  fk x
 
 0
 
  0
  fk x
 
 0
 
  0
0
ox
fk y
oy
0
1
0
ox
fk y
oy
0
1
 r1 ,1
0 
  r2 ,1
0
 r
3 ,1

0 
 0
 X camera
0 
  Y camera
0
 Z
camera
0  
 1
r1 , 2
r1 , 3
r2 , 2
r2 , 3
r3 , 2
r3 , 3
0
0






t x   X world

t y Y world

t z   Z world

1  1






透視投影モデル
y’
y
(x’, y’, z’)
(x, y, z)
(x,y,z)から(x’,y’,z’)へ投影:
(相似三角関係より)
z
z’
z
x’
O
x
x’
仮定:
原点をレンズの中心に
Z軸と光軸と同じ
x  z
x
z
y  z
y
z
z  z
(f = Z’)
●透視投影はZに関し非線形である
★幾何関係だけ考える理論系の人はよくf=1とする
x
ピンホールカメラモデル
x image  o x   f x
y image  o y   f y
r1,1 X world  r1, 2 Y world  r1, 3 Z world  t x
r3 ,1 X world  r3 , 2 Y world  r3 , 3 Z world  t z
r2 ,1 X world  r2 , 2 Y world  r2 , 3 Z world  t y
r3 ,1 X world  r3 , 2 Y world  r3 , 3 Z world  t z
正射影 (orthographic projection)
●正射影画像面に垂直な軸に沿って投影するもの
●Z軸方向の情報が失われ, X軸とY軸方向の座標は
そのまま保存される
●正射影はZに関し線形であり数学
的にははるかに扱いやすい
●正射影は実際のカメラによる投影
とは掛け離れたものであり,この投影
モデルがCVの分野に応用できる場
合は稀である
正射影モデル
y
(x’, y’, z’)
(x, y, z)
z
O
x
Projection from (x,y,z) to (x’,y’,z’):
x  x
y  y
z   z  const
x   kx
or
y   ky
z   const
弱透視投影(weak perspective projection)
●透視投影は現実のカメラによる投影にきわめて近いが、非線形
であり数学的には扱いにくい
●正射影は線形であるが、実際のカメラによる投影とは程遠い
●弱透視投影はこれら二の投影の中間的なものであり、正射影と
透視投影を組み合わせた投影である
弱透視投影
Step 1) 対象物を画像面pに平行な平面Pに正射影
この投影は正射影 ⇒ 線形
Step 2) その投影像をさらに画像面pへ透視投影
この投影は平面Pから平行な平面pへの投影
⇒ 均一に拡大或は縮小を行っている
⇒ 線形
★弱透視投影は線形
弱透視投影の式(Step 1)
●対象物を画像面pに平行な平面Pに正射影すること
は、対象物上の各点のX座標とY座標を保存したままZ
座標のみ一定の値
即ち、平面PのZ座標であるZ°に変更することに等しい
●この投影は次のように表せる :
X’=X
Y’=Y
Z' =Z°
弱透視投影の式(Step 2)
●正射影されたものをさらに透視投影される
⇒ 弱透視投影は次のように表せる
x = X’/Z’ = X/Z°
y = Y’/Z’ = Y/Z°
Z°は定数
●これらの式はXとYに関して線形である
⇒ 投影が線形化された
弱透視投影が成り立つ条件
●弱透視投影は透視投影の近似である
●この近似の有効範囲は限られている
●弱透視投影では対象物上の各点までの距離Zが
一定値Z°で近似できることを前提としている
●対象物のZ軸方向の厚みDがカメラから対象物ま
での距離Zと比較して十分小さければよい
●D:Zが1:10以上であればこの近似が有効である
と考えてよい
出席チェック
1.ピンホールカメラ(透視投影モデル)の原理図
を描き、撮影された画像の特徴について述べな
さい