cvim chapter4-5-ken_hide

42
4回「コンピュータビジョン最先端ガイド」勉強会 4章5節6節 発表者:ken_hide

Upload: kenhide

Post on 13-Jul-2015

403 views

Category:

Documents


0 download

TRANSCRIPT

第4回「コンピュータビジョン最先端ガイド」勉強会  4章5節-­‐6節

発表者:ken_hide

高次元への拡張

今までは3次元から2次元への投影の性質を解析してきた。  

これを3次元から高次元においてのカメラの投影を考える事により、より自由度の高いカメラモデルを扱えるようになるらしい。

カメラ1

カメラ2

カメラ3 カメラ1 カメラ3

カメラ2

3次元空間中の幾何拘束

•  3次元空間では4平面が1点で交差するという  拘束条件を設けると以下の式が成り立つ

S =

ABCD

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ :平面

:Eddingtonのイプシロンテンソル

4焦点テンソル(quadrifocal  tensor)

N次元空間中の幾何拘束

•  2次元→3直線が1点で交差(エピポーラ拘束)  •  3次元→4平面が1点で交差  •  N次元→N+1平面(超平面)が1点で交差

超平面の交差を考える事で  新たな多視点幾何拘束が導出可能

SN+1

高次元空間における多視点幾何

•  3次元→4次元空間だと  

S =

ABCDE

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

:超平面

5超平面が1点で交差する事が拘束条件

カメラパラメータ(3次元空間)

•  時刻0の時のカメラ座標系をワールド座標系に指定するとカメラパラメータは以下の形になる

R成分  (回転)

t成分  (並進)

射影行列の拡張(4次元への拡張)

X =

P11 P12 P13 P15 P14P21 P22 P23 P25 P24P31 P32 P33 P35 P34

⎢ ⎢ ⎢

⎥ ⎥ ⎥

X(T)Y (T)Z(T)T1

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

R成分  (回転)

t成分  (並進)

並進速度

時刻Tにおける  物体Xの3次元位置

カメラ1

カメラ2

カメラ3

本稿ではいきなりこの式が導かれます

カメラの並進移動方向に回転ベクトルを加味したものでいいのかな?

Δt =

ΔXΔYΔZ

⎢ ⎢ ⎢

⎥ ⎥ ⎥

−RTΔt = −

P11 P12 P13P21 P22 P23P31 P32 P33

⎢ ⎢ ⎢

⎥ ⎥ ⎥

ΔXΔYΔZ

⎢ ⎢ ⎢

⎥ ⎥ ⎥

拘束条件(4次元p124あたり)

4次元空間中における5つの超平面が1点で交差するという5超平面の拘束

det U ʹ′ U ʹ′ ʹ′ U ʹ′ ʹ′ ʹ′ U ʹ′ ʹ′ ʹ′ ʹ′ U [ ] = 0

U = U1 U2 U3 U4 U5[ ]T

W = W 1 W 2 W 3 W 4 W 5[ ]T

UTW = 0

4次元空間中での拘束条件

W = X Y Z T 1[ ]T :4次元空間中の点

U = A B C D E[ ]T :4次元空間中の超平面

例:時刻Tを4次元目の値にする

点が超平面と交差すると以下の式が成り立つ

2次元への投影(4次元)

•  4次元空間中の点Wを2次元画像上の点xへの投影を考える

W = W 1 W 2 W 3 W 4 W 5[ ]T

x = x1 x 2 x 3[ ]T

P =

P11 P12 P13 P15 P14P21 P22 P23 P25 P24P31 P32 P33 P35 P34

⎢ ⎢ ⎢

⎥ ⎥ ⎥ €

x ~ PW定数倍の不定

2次元への投影(図例)

•  4次元空間中にカメラが5台あるとすると

x ~ PWʹ′ x ~ ʹ′ P Wʹ′ ʹ′ x ~ ʹ′ ʹ′ P Wʹ′ ʹ′ ʹ′ x ~ ʹ′ ʹ′ ʹ′ P Wʹ′ ʹ′ ʹ′ ʹ′ x ~ ʹ′ ʹ′ ʹ′ ʹ′ P W

W

x

超平面

直線の逆射影

•  2次元画像上の を通る直線 を  4次元空間中に逆射影すると3次元と  同様に超平面になる  

x

l

U = PT lP

テンソルで表す

•  拘束条件に置き換える

det PT l ʹ′ P T ʹ′ l ʹ′ ʹ′ P T ʹ′ ʹ′ l ʹ′ ʹ′ ʹ′ P T ʹ′ ʹ′ ʹ′ l ʹ′ ʹ′ ʹ′ ʹ′ P T ʹ′ ʹ′ ʹ′ ʹ′ l [ ] = 0

P11 P12 P13 P15 P14P21 P22 P23 P25 P24P31 P32 P33 P35 P34

⎢ ⎢ ⎢

⎥ ⎥ ⎥

Pip =

i=5

p=3

ε ijklmPip lp ʹ′ P j

q ʹ′ l q ʹ′ ʹ′ P kr ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ P l

s ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ P mt ʹ′ ʹ′ ʹ′ ʹ′ l t = 0

テンソル表記

det U ʹ′ U ʹ′ ʹ′ U ʹ′ ʹ′ ʹ′ U ʹ′ ʹ′ ʹ′ ʹ′ U [ ] = 0

同様に  j,k,l,m={1,2,3,4,5}  q,r,s,t={1,2,3}

テンソルで表す

•  拘束条件に置き換える

det PT l ʹ′ P T ʹ′ l ʹ′ ʹ′ P T ʹ′ ʹ′ l ʹ′ ʹ′ ʹ′ P T ʹ′ ʹ′ ʹ′ l ʹ′ ʹ′ ʹ′ ʹ′ P T ʹ′ ʹ′ ʹ′ ʹ′ l [ ] = 0

ε ijklmPip lp ʹ′ P j

q ʹ′ l q ʹ′ ʹ′ P kr ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ P l

s ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ P mt ʹ′ ʹ′ ʹ′ ʹ′ l t = 0

テンソル表記

det U ʹ′ U ʹ′ ʹ′ U ʹ′ ʹ′ ʹ′ U ʹ′ ʹ′ ʹ′ ʹ′ U [ ] = 0

lp ʹ′ l q ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tεijklmPi

p ʹ′ P jq ʹ′ ʹ′ P k

r ʹ′ ʹ′ ʹ′ P ls ʹ′ ʹ′ ʹ′ ʹ′ P m

t = 0縮約されるテンソルは入れ替え可能なので

5重線形拘束

5焦点テンソル

•  5焦点テンソルはp,q,r,s,tより3×3×3×3×3の5階のテンソルになる

Rpqrst = ε ijklmPip ʹ′ P j

q ʹ′ ʹ′ P kr ʹ′ ʹ′ ʹ′ P l

s ʹ′ ʹ′ ʹ′ ʹ′ P mt

5焦点テンソル

点や直線に関する5重線形拘束

x i ʹ′ l q ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tε piaRpqrst = 0a

x i ʹ′ x j ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tε piaεqjbRpqrst = 0ab

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tε piaεqjbεrkcRpqrst = 0abc

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ x l ʹ′ ʹ′ ʹ′ ʹ′ l tε piaεqjbεrkcεsld Rpqrst = 0abcd

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ x l ʹ′ ʹ′ ʹ′ ʹ′ x mε piaεqjbεrkcεsldε tmeRpqrst = 0abcde

l = x × ylp = ε pja x

j y a

lp = ε pja xj

a,b,c,d,e={1,2}

•  4次元空間から2次元画像への投影を行う  拡張カメラが5つ存在する場合(5視点幾何)

lp ʹ′ l q ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tRpqrst = 0

点や直線に関する5重線形拘束

•  4次元空間から2次元画像への投影を行う  拡張カメラが5つ存在する場合(5視点幾何)

x i ʹ′ l q ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tε piaRpqrst = 0a

x i ʹ′ x j ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tε piaεqjbRpqrst = 0ab

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tε piaεqjbεrkcRpqrst = 0abc

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ x l ʹ′ ʹ′ ʹ′ ʹ′ l tε piaεqjbεrkcεsld Rpqrst = 0abcd

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ x l ʹ′ ʹ′ ʹ′ ʹ′ x mε piaεqjbεrkcεsldε tmeRpqrst = 0abcde

lp ʹ′ l q ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l s ʹ′ ʹ′ ʹ′ ʹ′ l tRpqrst = 0

独立な式の数

1

2

4

8

16

32

4次元空間中の視点拘束

•  4視点拘束

ε iptεijklmPi

pPmt ʹ′ P j

q ʹ′ ʹ′ P kr ʹ′ ʹ′ ʹ′ P l

s =Qiqrs

ε iptε iqsεijklmPi

pPmt ʹ′ P j

q ʹ′ P ls ʹ′ ʹ′ P k

r = Tijr

•  3視点拘束

4次元空間中の視点拘束

•  4視点拘束

•  3視点拘束

lp ʹ′ l q ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l sεipdQi

qrs = 0d

1

2

4

8

x i ʹ′ x j ʹ′ ʹ′ l rTijr = 0

x i ʹ′ l q ʹ′ ʹ′ l rεjqcTij

r = 0c

x i ʹ′ x j ʹ′ ʹ′ x kεrkaTijr = 0a

1

2

2

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ x lεqjaεrkbεslcQiqrs = 0abc

2

lp ʹ′ l q ʹ′ ʹ′ l rεipbε jqcTij

r = 0bc

4

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ l sεqjaεrkbQiqrs = 0ab

x i ʹ′ x j ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l sεqjaQiqrs = 0a

x i ʹ′ l q ʹ′ ʹ′ l r ʹ′ ʹ′ ʹ′ l sQiqrs = 0

多焦点テンソルの計算に必要な最小点数  (3次元空間)

カメラの校正⇔3次元点の復元

N焦点テンソル=N個のカメラ

N個のカメラパラメータの算出  M個の3次元点の復元

2MN ≥11N + 3M −15

:11自由度(11DoF)

:3自由度(3DoF)

2N×M

1つの点が共通で  カメラ一つにつき2次元分の情報が得られる

画像 実空間

ワールド座標系(3Dof)+  カメラの位置を射影するカメラ(12dof)?  

主観(実空間上に投影するパラメータ)

多焦点テンソルの計算に必要な最小点数  (3次元空間)

カメラの校正⇔3次元点の復元

N焦点テンソル=N個のカメラ

N個のカメラパラメータの算出  M個の3次元点の復元

M ≥11N −152N − 3

:11自由度(11DoF)

:3自由度(3DoF)

多焦点テンソルの計算に必要な最小点数  (例)

•  2焦点テンソル→7点    N=2  

•  3焦点テンソル→6点    N=3  

•  4焦点テンソル→6点    N=4

M ≥11N −152N − 3

•  2焦点(71)

多焦点テンソルの計算に必要な最小点数  (線形解法)

x i ʹ′ x jFij -­‐(71)

•  3焦点(86)

i,j={3,3}であるので9個要素が必要だが  実際には定数倍の不定があるので8要素を  線形計算で求めることができる  

x i ʹ′ x j ʹ′ ʹ′ x kεrjaεskbTirs = 0ab -­‐(86) 一つの点より得られる拘束式の本数は  

r,s={3,3}であるので線形拘束が9本得られるが、  線形独立であるのはa,b={2,2}の4本しか存在しない  3焦点テンソルはi,r,s={3,3,3}より27要素あるが、  定数倍の不定があるので26要素求めれば良い  したがって7点あれば3焦点テンソルを求める事が出来る  

9本のうちの線形拘束のうち  独立のものが4本しか存在しない理由  

(3視点幾何)

•  点-­‐線-­‐線

x i ʹ′ l r ʹ′ ʹ′ l sTirs = 0 -­‐(86) (86)式より1本の拘束式が取得できる

•  点-­‐点-­‐点 この関係の中で点−線−線がいくつ存在するかを考える

l1

l2

l

拘束条件下であるので は  の交点を通る直線  つまり、  で表す事ができる。

l

l1

l2

l = αl1 + βl2€

l1

l2

よってxを通る直線のうち線形独立なものは2本しかないので  2×2で4本独立である

x

必要な最小点数の線形解法  (4視点幾何)

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ x lε piaεqjbεrkcεsldQpqrs = 0abcd -­‐(99)

p,q,r,s={3,3,3,3}より81本拘束式が得られるが  線形独立な式は16本 複数の点から得られる拘束式間にも従属関係がある  よってN個の3次元点の像から得られる  線形独立な拘束式は  

4焦点テンソル は81の要素数だが定数倍の不定を除いて80要素求めれば良い  

よって6点以上あれば線形計算で求まる €

16N−NC2

16N−NC2 ≥ 80

必要な最小点数の線形解法  (4視点幾何)

x i ʹ′ x j ʹ′ ʹ′ x k ʹ′ ʹ′ ʹ′ x lε piaεqjbεrkcεsldQpqrs = 0abcd -­‐(99)

p,q,r,s={3,3,3,3}より81本拘束式が得られるが  線形独立な式は16本 複数の点から得られる拘束式間にも従属関係がある  よってN個の3次元点の像から得られる  線形独立な拘束式は  

4焦点テンソル は81の要素数だが定数倍の不定を除いて80要素求めれば良い  

よって6点以上あれば線形計算で求まる €

16N−NC2

16N−NC2 ≥ 80

nC2本

以上になります

ご清聴ありがとうございました

補足資料

参照:  •  第16回画像センシングシンポジウム  

     チュートリアルセッションスライド  

•  MulWple  View  Geometry  (Hartley,  Zisserman)  

•  コンピュータビジョンー視覚の幾何学ー  

•  An  IntroducWon  to  3D  Computer  Vision  Techniques  and  Algorithms  

斉次座標

•  射影空間=ユークリッド空間+無限遠要素  

X∞

C

xy⎡

⎣ ⎢ ⎤

⎦ ⎥ =

x1 / x3x2 / x3

⎣ ⎢

⎦ ⎥ =

λx1 /λx3λx2 /λx3

⎣ ⎢

⎦ ⎥

直線→1要素  平面→2要素  3次空間→3要素  

+1要素

˜ x =x1

x2

x3

⎢ ⎢ ⎢

⎥ ⎥ ⎥

x3=0の時xは無限遠点  それ以外はユークリッド平面上の点

vp

vp=消失点

λ˜ x =λx1

λx2

λx3

⎢ ⎢ ⎢

⎥ ⎥ ⎥

同値

※x3が0でない時

補足

•  直線の方程式

点xは直線l上に存在する  

直線lは点xを通る

•  2次元空間の斉次座標

 補足

•  平面の方程式

点Xは平面S上に存在する  

平面Sは点Xを通る

•  3次元空間の斉次座標

補足

•  Eddingtonのイプシロンテンソル

ε ijk =

1−10

⎨ ⎪

⎩ ⎪

:(I,j,k)から(1,2,3)が偶置換

:(I,j,k)から(1,2,3)が奇置換

:(I,j,k)に重複あり

ε ijk =

1−10

⎨ ⎪

⎩ ⎪

:(I,j,k)から(1,2,3)が偶置換

:(I,j,k)から(1,2,3)が奇置換

:(I,j,k)に重複あり

ε221 = 0

ε312 =11 2

ε132 = −11

偶置換 奇置換 重複

補足

•  テンソルは配列と同じように扱える

0階のテンソル

1階のテンソル

2階のテンソル

3階のテンソル

Int  a

Int  a[i]

Int  a[i][j]

Int  a[i][j][k]

0次元配列(スカラー)

1次元配列(ベクトル)

2次元配列(行列のようなもの)

・  ・  ・

・  ・  ・

3次元配列

F行列の算出方法

•  8点法(8point  algorithm)

ヒント:  特徴点マッチング→u,v:u’,v’既知  

uu' vu' u' uv ' vv' v' u v 1[ ]

f11f12f13f21f22f23f31f32f33

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

= 0 ×8

u1 ʹ′ u 1 v1 ʹ′ u 1 ʹ′ u 1 u1 ʹ′ v 1 v1 ʹ′ v 1 ʹ′ v 1 u1 v1 1

u8 ʹ′ u 8 v8 ʹ′ u 8 ʹ′ u 8 u8 ʹ′ v 8 v8 ʹ′ v 8 ʹ′ v 8 u8 v8 1

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

f11f12f13f21f22f23f31f32f33

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

=

00000000

⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥

最小固有値に対応する  固有ベクトル fパラメータ

1つのマッチング

定数倍の不定を  |f|=1として解くと一要素分減る

F行列の算出方法

•  しかし、最小二乗法で求めているのでF行列としての性質が保たれていないので無理やり出す

F行列の性質(理想)  →rank2

特異値分解  (singular  value  decomposiWon)

フロベニウスノルムが√2  の理由に繋がるのかな?

特異値  (singular  value)

Fがn×m行列であれば  Uはn次直行行列 Vはm次直行行列

と置き換えてUとVで挟みなおす

F行列を精度よく求める

•  RANSACを使う  – F行列を作成する際にマッチングさせた点群の中から用いた8点以外の点にエピポーラの拘束条件を適用して評価を行う。この時最もスコアが小さかったFに決定する。

8点選ぶ

F行列の算出

他の点に適用して評価

w=正解数/総数  n=抽出個数  p=nこ全てが正解である確率  k=繰り返し回数

共変テンソル、反変テンソル

•  点の座標は基底ベクトルに対して逆の変換を受ける

e1 e2 e3[ ]

a1

a2

a3

⎢ ⎢ ⎢

⎥ ⎥ ⎥ 基底ベクトル

点座標 €

a =

aベクトル

e1 =

100

⎢ ⎢ ⎢

⎥ ⎥ ⎥

e2 =

010

⎢ ⎢ ⎢

⎥ ⎥ ⎥

e3 =

001

⎢ ⎢ ⎢

⎥ ⎥ ⎥ €

= Ea= EHH−1a

点の座標aに対し  H−1の変換

基底ベクトルe1,e2,e3に対し  Hの変換

e1

e2 e3

a

Z

Y

X

補足

x = l1 × l2

x i = ε ijkl j1 lk2

l = x × ylr = εrja x

j y a

R

T

Ow

Oc

Yw

Zw

Xw

Yc€

Zc€

Xc

ʹ′ O c

Pw

Pc

P€

f

y

x

o = (ox,oy )

p

hx hy

ピンホールカメラモデル

射影カメラ行列

•  世界座標系の点を画像上に射影する行列

p =MP

M =MiMe

Mi =

fhx

0 ox

0 fhy

oy

0 0 1

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

内部パラメータ

Me =

R1 −R1TR2 −R2TR3 −R3T

⎢ ⎢ ⎢

⎥ ⎥ ⎥ 3×4

外部パラメータ

P = Pw 1[ ]€

p =

xuhyuhzuh

⎢ ⎢ ⎢

⎥ ⎥ ⎥

=

fhx

0 ox

0 fhy

oy

0 0 1

⎢ ⎢ ⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥ ⎥ ⎥

R1 −R1TR2 −R2TR3 −R3T

⎢ ⎢ ⎢

⎥ ⎥ ⎥ P

画像の中心を(0,0)  とした座標系

射影カメラ行列