視覚の幾何学2 呉海元@和歌山大学
DESCRIPTION
視覚の幾何学2 呉海元@和歌山大学. 参考書 佐藤 淳: 「コンピュータビジョン -視覚の幾何学-」 コロナ社. Single view geometry. Camera model Single view geom. (x’, y’, z’). y. y’. (x, y, z). z. x. x’. 透視投影モデル. (x,y,z) から (x’,y’,z’) へ投影 : (相似三角関係より). z. z’. x’. O. x. 仮定: 原点をレンズの中心に Z 軸と光軸と同じ. ( f = Z ’ ). - PowerPoint PPT PresentationTRANSCRIPT
視覚の幾何学2呉海元@和歌山大学
参考書佐藤 淳:「コンピュータビジョン -視覚の幾何学-」コロナ社
Single view geometry
Camera model
Single view geom.
透視投影モデル
x
z
y
x’
y’(x, y, z)
(x’, y’, z’)
O
(x,y,z) から (x’,y’,z’) へ投影 :(相似三角関係より)
zzz
yzy
z
xzx
xx’
z’
z
( f = Z’ )
★ 幾何関係だけ考える理論系の人はよくf=1とする
● 透視投影は Z に関し非線形である
仮定: 原点をレンズの中心に Z 軸と光軸と同じ
正射影 (orthographic projection)● 正射影画像面に垂直な軸に沿って投影するもの●Z 軸方向の情報が失われ , X 軸と Y 軸方向の座標はそのまま保存される● 正射影は Z に関し線形であり数学的にははるかに扱いやすい● 正射影は実際のカメラによる投影とは掛け離れたものであり , この投影モデルがCGの分野に良く使われているが、CVの分野に応用できる場合は稀である
正射影モデル
x
z
y(x, y, z)
(x’, y’, z’)
O
Projection from (x,y,z) to (x’,y’,z’):
constzz
yy
xx
constz
kyy
kxx
or
弱透視投影 (weak perspective projection)
● 透視投影は現実のカメラによる投影にきわめて近いが、非線形であり数学的には扱いにくい● 正射影は線形であるが、実際のカメラによる投影とは程遠い● 弱透視投影はこれら二の投影の中間的なものであり、正射影と透視投影を組み合わせた投影である
弱透視投影Step 1) 対象物を画像面に平行な平面に正射影 この投影は正射影 ⇒ 線形Step 2) その投影像をさらに画像面へ透視投影 この投影は平面から平行な平面への投影 ⇒ 均一に拡大或は縮小を行っている ⇒ 線形 ★弱透視投影は線形
弱透視投影の式( Step 1 )●対象物を画像面に平行な平面に正射影することは、対象物上の各点の X 座標と Y 座標を保存したまま Z 座標のみ一定の値即ち、平面の 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 以上であればこの近似が有効であると考えてよい
平行透視投影 (paraperspective projection) ● 弱透視投影では透視投影の前に画像面に平行な
平面への正射影を行った● 透視投影を線形近似するもう一つの一般化した方法:透視投影の前に平面へ平行投影を行う ⇒正射影のように各点をある直線 L に平行に投影するが、この直線 L が必ずしも平面に垂直ではない
弱透視投影 平行透視投影
L L
●平行投影の方向 = 対象物の平均的な方向● 平行投影は線形な投影であり、平行な平面間の透視投影も線形な投影であるから、これらを組み合わせた平行透視投影も線形な投影となる
平行透視投影
平行透視投影の式Step 1: 対象物の平均的な方向を (△X, △Y, 1) とし この方向に平行投影する: X’ = X + ( Z°- Z )△ X Y’ = Y + ( Z°- Z )△ Y Z’ = Z° Step 2: 透視投影する 平行透視投影は以下のように表せる: x = X’/Z’ = 1/Z° ・ X - △X/Z° ・ Z + △X y = Y’/Z’ = 1/Z° ・ Y - △Y/ Z° ・ Z + △Y
平行透視投影●前式の X, Y, Z にかかる 1/ Z°, △X/ Z°, △Y/ Z°, △X, △Y などはいずれも定数 => X, Y, Z に関して線形● 平行透視投影も透視投影の線形近似● 対象物の平均方向が光軸に一致する場合には平行透視投影は弱透視投影となる
弱透視投影と平行透視投影● 弱透視投影も平行透視投影も画像面に平行な平面に平行投影した後、透視投影する● 弱透視投影は平面に垂直に平行投影する● 平行透視投影は対象物の平均的な方向に向けて平行投影する
●平行透視投影の方がより透視投影に近い
E.g., Shape Reconstruction
Left Right
★ 射影モデルが異なる→同じ画像から復元された3 D 情報が異なる
Affine cameras
焦点距離 fを増加物体とカメラの距離を増加
実際のカメラ
● 実際に使用するテレビカメラは対象物からの光を受ける受光部 ( 撮像素子 ) と、受光により発生する微弱な電気信号を処理する信号処理部からなっている ★イメージセンサに受光部と信号処理部を含まれる● 受光部の前にはレンズが置かれ、光はこのレンズによって集光され、絞りを通して撮像素子 ( イメージセンサ)に至る● レンズ系と撮像素子によって、 3D 空間から 2D 画像への投影
実際のカメラ● 実際のカメラではレンズ収差や歪みが生じるため、複数のレンズを組み合わせて、レンズ収差や歪みなどを取り除く
・レンズの配置を変わると 焦点距離を変わる
ズームレンズの内部構造
2 次元平行移動
2 次元拡大・縮小
2 次元回転(原点中心)
2 次元アフィン変換
b
a
y
x
y
x
'
'平行移動
y
x
b
a
y
x
0
0
'
'拡大・縮小
y
x
y
x
cossin
sincos
'
'回転
一般化!
f
e
y
x
dc
ba
y
x
'
'
アフィン変換
せん断
y
x
sh
sh
y
x
y
x
1
1
'
'
アフィン変換をもっと簡単な形に~
同次座標
図形の変換を全て行列の乗算 1 回で処理可能 複雑な座標変換がすべて行列の形で処理できる
f
e
y
x
dc
ba
y
x
'
'
積 和
11001
'
'
y
x
fdc
eba
y
x
積のみ!
1つ次元を上げると・・・
(homogeneous coordinates)(homogeneous coordinates)
同次座標の基本2D変換 Basic 2D transformations as 3x3 matrices
1100
0cossin
0sincos
1
'
'
y
x
y
x
1100
10
01
1
'
'
y
x
t
t
y
x
y
x
1100
01
01
1
'
'
y
x
sh
sh
y
x
y
x
平行移動 Translate
回転 Rotate せん断 Shear
1100
00
00
1
'
'
y
x
s
s
y
x
y
x
拡大・縮小 Scale
行列の合成 複雑な座標変換の行列は各処理の行列の掛け算
から合成
wyx
sysx
tytx
wyx
1000000
1000cossin0sincos
1001001
'''
p’ = T(tx,ty) R() S(sx,sy) p
同次座標 ( 3 次元) 3 次元座標値を,一つ次元を上げて 4 次元空
間の中で処理
(x/f, y/f, z/f) が三次元座標値となる f=1 のときはそのまま (x, y, z) が座標値
( x, y, z ) ( x, y, z, f )
2 次元アフィン変換と同じく、座標変換をまとめて表記できる!
3 次元アフィン変換
11001
'
'
y
x
fdc
eba
y
x
2 次元
110001
'
'
'
333231
232221
131211
z
y
x
baaa
baaa
baaa
z
y
x
z
y
x
3次元
P(x, y, z) から P(x’, y’, z’) へのアフィン変換(同次座標による表現)
APP' ( A : アフィン変換行列)
同次座標導入の利点 同次座標を使わない場合
• 一回目のアフィン変換
• 二回目のアフィン変換
11' bPMP
2'
2'' bPMP
21212''
2112''
bbMPMMP
b)bP(MMP
同次座標を導入した場合
PHHP
PHP
12''
1'
H1,H2 : 2D 3 x 3 ⇒ のアフィン変換行列H1,H2 : 3D 4 x 4 ⇒ のアフィン変換行列
同次座標系導入の利点
直線上の点はすべて同じ座標を持つものとする ( 点と線が同一視される )
無限遠点は?
f=w=1
無限遠要素
無限遠点 無限遠直線 無限遠平面
Two-view geometry
3D reconstruction
Epipolar geometry
E-matrix comp.
F-matrix comp.
H-matrix comp.
Structure comp.
立体視 Stereo Vision (Stereopsis) Main problem – recover 3D depth from two
(or more) image views
● 一台のカメラから得られた画像のみからでは、3D物体の形状を一意に決定することができない● 2つ以上の異なる視点で得られた画像からはこのような不定性を取り除き、形状を決定することができる● 静止シーンの場合、一台のカメラから異なる視点で得られた 2 枚の画像でもOK
2x
1x
平行ステレオ
立体視の原理
21 xx
fBZ
差 (disparity)
三角計測法に基づいて、視線の交点が注視点の空間位置
距離 Z は焦点距離 f 、ベース B 、差△ x の関数
立体視の原理 Algorithm
• Rotate both left and right camera so that they share the same X axis : Or-Ol = T
• Define a rotation matrix Rrect for the left camera
• Rotation Matrix for the right camera is RrectRT
• Rotation can be implemented by image transformation
pl
pr
P
Ol Or
Xl
Xr
Pl Pr
Zl
Yl
Zr
Yr
R, t
tX’l
Xl’ = T, Yl’ = Xl’xZl, Z’l = Xl’xYl’
光軸は平行ではない場合
Algorithm• Rotate both left and
right camera so that they share the same X axis : Or-Ol = T
• Define a rotation matrix Rrect for the left camera
• Rotation Matrix for the right camera is RrectRT
• Rotation can be implemented by image transformation
pl
pr
P
Ol Or
Xl
Xr
Pl Pr
Zl
Yl
Zr
Yr
R, t
tX’l
Xl’ = T, Yl’ = Xl’xZl, Z’l = Xl’xYl’
立体視の原理
光軸は平行になるように変換( R,t が既知)
Correlation Approach
For each point (xl, yl) in the left image, define a window centered at the point
(xl, yl)LEFT IMAGE
Correlation Approach
… search its corresponding point within a search region in the right image
(xl, yl)RIGHT IMAGE
Correlation Approach
… the disparity (dx, dy) is the displacement when the correlation is maximum
(xl, yl)dx(xr, yr)RIGHT IMAGE
特徴に基づいた立体視 特徴検出
• 特徴コーナー、点、エッジ• 対応を見つける (相関評価による) ⇒奥行き計算
残りの部分は表面内挿
corner line
structure
相関評価のアルゴリズム 距離マップは特徴間の相関評価によって構成 伝統的な方法
|| 1 tt IIAD
tt II 1CC
tt
tt
II
II
.
.1NC
tttttt
II 11
164
1MC
2
1 tt IISSD
更に距離マップの連続性を考慮すると
1
1
1
1
),()),(),,((),(i j
xxrightleft yxDyxDjyyxDixIjyixI E
1
1
1
1
),(),(),(i j
yxDjyixDyxD
Examples
Left Image Right Image Depth Map
出席チェック
1.弱透視投影の原理図を描き、その原理と成り立つ条件について述べなさい