54
第4回 「コンピュータビジョン最先端 ガイド」勉強会 テンソルと多視点幾何 1 & 2 Presented by takmin

Chapter4 1 takmin

Embed Size (px)

DESCRIPTION

第4回「コンピュータビジョン最先端ガイド」読書会発表資料

Citation preview

Page 1: Chapter4 1 takmin

第4回 「コンピュータビジョン最先端ガイド」勉強会

テンソルと多視点幾何1 & 2

Presented by takmin

Page 2: Chapter4 1 takmin

やりたいこと

• 複数枚の画像から撮影対象の3次元の情報を復元したい

例えばこんなのhttp://grail.cs.washington.edu/rome/

Page 3: Chapter4 1 takmin

エピポーラ幾何

A

カメラ1の撮影画像 カメラ2の撮

影画像

カメラ1の焦点

カメラ2の焦点

A’1 A’2

Page 4: Chapter4 1 takmin

エピポーラ幾何

• 3次元空間上の点Aが、それぞれのカメラで取得した画像のどの位置に映っているかがわかれば,三角測量の原理から,点Aの三次元空間上の座標がわかる!

• 前提条件として、以下の情報が既知

• カメラの位置(X,Y,Z)と向き(θ,φ,ψ)

• カメラの焦点距離

• カメラの解像度(縦/横)

カメラパラメータ

Page 5: Chapter4 1 takmin

エピポーラ幾何

• 2枚の画像に共通して映っている点が多いなら,その関係からカメラパラメータを逆算できる!(幾何学的拘束)

• 2つのカメラに映っている共通の点群を見つけてあげることで,カメラの校正(キャリブレーション)と各点の3次元座標を同時に求めよう!

Page 6: Chapter4 1 takmin

多視点幾何

• カメラを2つから3つ以上に拡張することで,より多くのカメラの校正を一度で行う

A

A’1 A’2

A’3

Page 7: Chapter4 1 takmin

斉次座標

• 直線の公式

y

x

x

l

0T xl

0 cbyax

T1,, yxx T,, cbal

とおくと

平行移動成分を含めて行列の積で表すために、次元を1つ増やした座標

傾き成分 平行移動成分

Page 8: Chapter4 1 takmin

テンソルの利点

• テンソル:

–配列の概念を拡張/一般化したもの

• 今までは2つのカメラを使った3次元再構成が一般的だが、テンソルを使用することで複数カメラへ簡単に拡張できる

Page 9: Chapter4 1 takmin

テンソルの基礎

0階のテンソル

1階のテンソル

2階のテンソル

3階のテンソル

0次元配列(スカラー)

1次元配列(ベクトル)

2次元配列(配列)

3次元配列

テンソルの厳密な定義: 多重線形性を持つ数値の集合(後述)

Page 10: Chapter4 1 takmin

テンソルの表記

• ベクトルのテンソル表記

3

2

1

V

V

V

ViV

ベクトル

テンソル表記

1階のテンソル

Page 11: Chapter4 1 takmin

テンソルの表記

• 行列のテンソル表記

3

3

3

2

3

1

2

3

2

2

2

1

1

3

1

2

1

1

AAA

AAA

AAA

A

行列

i

jA

テンソル表記

2階のテンソル

Page 12: Chapter4 1 takmin

テンソルの表記

• ベクトルの内積

baTc

内積

i

ibac

テンソル表記

アインシュタイン規約

3

1i

i

ibac

T321 ,, aaaa T321 ,, bbbb

Page 13: Chapter4 1 takmin

テンソルの表記

• 行列とベクトルの積

Aab

行列・ベクトルの積

ベクトル:,ba 行列:A

3

2

1

3

3

3

2

3

1

2

3

2

2

2

1

1

3

1

2

1

1

3

2

1

a

a

a

AAA

AAA

AAA

b

b

b

i

ij

i

j aAb

Page 14: Chapter4 1 takmin

テンソルの表記

• 行列とベクトルの積

Aab

行列・ベクトルの積

テンソル表記

アインシュタイン規約

i

ij

i

j aAb

ベクトル:,ba 行列:A

ij

i

j aAb

Page 15: Chapter4 1 takmin

テンソルの表記

• まとめ

行列表記 テンソル表記

ベクトル

行列

内積

座標変換Aab ij

i

j aAb

baTc

i

ibac

Ai

j

j

i

ij

ij AAAA ,,,

ai

i aa ,

Page 16: Chapter4 1 takmin

反変テンソルと共変テンソル

z

y

x

a

e1

e2

e3

• テンソルの上付きと下付きの違いについて

3

3

2

2

1

1eeea aaa

基底ベクトル

321 ,, eeeE T321 ,, aaaa

Eaa

(10)

(11)

Page 17: Chapter4 1 takmin

反変テンソルと共変テンソル

321 ,, eeeE T321 ,, aaaa

Eaa (11)

y

x

a

e1

e2

2a

1a

Page 18: Chapter4 1 takmin

反変テンソルと共変テンソル

321 ,, eeeE T321 ,, aaaa

Eaa (11)

aEHHa1 (12)

y

x

a

e1’

e2’

'2a

'1a

',',' 321 eeeEH T3211 ',',' aaaaH

H

Page 19: Chapter4 1 takmin

反変テンソルと共変テンソル

• 共変テンソル

–基底ベクトルを変換したとき,基底ベクトルと同じ変換を受けるベクトル

• 反変テンソル

–基底ベクトルを変換したとき,基底ベクトルと逆の変換を受けるベクトル

Page 20: Chapter4 1 takmin

反変テンソルと共変テンソル

• テンソルの添字のルール

–共変テンソルが下付添字

–反変テンソルが上付き添字

321 ,, aaa

321 ,, bbb

Page 21: Chapter4 1 takmin

反変テンソルと共変テンソル

• 点xを通る直線lの例

01T xHHl

0T xl

y

x

x

l T321 ,, llll T321 ,, xxxx

共変ベクトル 反変ベクトル

Page 22: Chapter4 1 takmin

反変テンソルと共変テンソル

• 点xを通る平面Sの例

z

y

x

X

S

01T XHHS

0T XS

T4321 ,,, XXXXX T4321 ,,, SSSSS

共変ベクトル 反変ベクトル

Page 23: Chapter4 1 takmin

テンソルの積

• 一階テンソル同士の積

ijji CBA

i

jj

i CBA

ijji CBA

(17)

(18)

(19)

共変テンソル同士の積

反変テンソル同士の積

共変テンソルと反変テンソルの積

Page 24: Chapter4 1 takmin

テンソルの積

• テンソルに基底の考え方を入れた方が,テンソルの積は理解しやすい!

2

2

1

1eeA AA 2

2

1

1 '' eeB BB

22

22

21

21

12

12

11

11

22

22

12

12

21

21

11

11

2

2

1

1

2

2

1

1

''''

)''()(

eeee

eeeeeeee

eeee

BAC

CCCC

BABABABA

BBAA

jiij BAC

ijji eee '

Page 25: Chapter4 1 takmin

テンソルの積

• n階テンソルとm階テンソルの積

– n+m階テンソルになる

1階×1階→ 2階

1A

2A

1B

2B

11BA

12BA 22BA

21BA

Page 26: Chapter4 1 takmin

テンソルの積

• n階テンソルとm階テンソルの積

– n+m階テンソルになる

2階×1階→ 3階

1B

2B

11A

21A

12A

22A 211BA

221BA

212BA

222BA

111BA

121BA 122BA

112BA

Page 27: Chapter4 1 takmin

テンソルの積

• n階テンソルとm階テンソルの積

– n+m階テンソルになる

mnmn jjiijjjiii CBA 112121

n

mm

n ii

jjjjj

iiiCBA

1

121

21

mnmn jjiijjjiiiCBA

112121

(17)

(18)

(19)

共変テンソル同士の積

反変テンソル同士の積

共変テンソルと反変テンソルの積

Page 28: Chapter4 1 takmin

テンソルの積

22

22

12

21

21

12

11

11 '''' eeeeeeeeA AAAA

2

2

1

1 '''' eeB BB

222

222

212

221

122

212

112

211

221

122

211

121

121

112

111

111

eeee

eeee

BAC

BABABABA

BABABABA

kijijk BAC

2階テンソル

1階テンソル

• n階テンソルとm階テンソルの積

– n+m階テンソルになる

ijkkji eeee '''

Page 29: Chapter4 1 takmin

テンソルの積

• テンソルが同じ添字を持っている場合

–テンソルの縮約により階数が減少する

2階×1階→ 1階

1B

2B

11A

21A

12A

22A

1

12

1

11 BABA

2

22

2

21 BABA

i

j

ij CBA

Page 30: Chapter4 1 takmin

テンソルの積

• テンソルが同じ添字を持っている場合

–テンソルの縮約により階数が減少する

ijk

lmml

ijk DCBA (23)

(24)

共変テンソル同士の積

i

j k

kj

ijk

kj

ijk

D

CBACBA

Page 31: Chapter4 1 takmin

テンソルの積

• テンソルが同じ添字を持っている場合

–双対基底を持っているため縮約が起こる!

22

22

12

21

21

12

11

11 '''' eeeeeeeeA AAAA

2

2

1

1 '' eeB BB

2

2

1

1

22

22

21

21

12

12

11

11

ee

eeee

BAC

CC

BABABABA

j

iji BAC

2階テンソル

1階テンソル

j

i

j

i '' ee

Page 32: Chapter4 1 takmin

テンソルの積

• テンソル同士では積の順番を入れ替えられない

ijjiij ABBAC

掛け算ひっくり返しただけじゃん!なんで入れ替えられないの???

Page 33: Chapter4 1 takmin

テンソルの積

• テンソル同士では積の順番を入れ替えられない

2

2

1

1eeA AA 2

2

1

1 '' eeB BB

ijjiij ABBAC

1221 '' eeee なので

ABBA

←基底が変わってしまう

Page 34: Chapter4 1 takmin

テンソルの積

• テンソル同士では積の順番を入れ替えられない

–縮約できるテンソルなら入れ替え可

2211

2

1

21 BABAA

ABB

2211

2

1

21 BABAB

BAA

Page 35: Chapter4 1 takmin

テンソルの積

• テンソル同士では積の順番を入れ替えられない

–縮約できるテンソルなら入れ替え可

ijk

jk

j k

ijk

jk

j k

kj

ijk

kj

ijk

ABC

ABC

CBACBA

Page 36: Chapter4 1 takmin

イプシロンテンソル

0

1

1

ijk

0

1

1ijk

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

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

:(i,j,k)に重複がある

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

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

:(i,j,k)に重複がある

(26)

(27)

Page 37: Chapter4 1 takmin

イプシロンテンソル

1312

1132

0112

• 例

312 → 132 → 123

132 → 123

置換2回

置換1回

重複

Page 38: Chapter4 1 takmin

外積の例

1221

3113

2332

baba

baba

baba

bac

kj

ijki bac

行列表現

テンソル表現

(28)

3

2

1

a

a

a

a

3

2

1

b

b

b

b

a

b

c=a×b

S

S

Page 39: Chapter4 1 takmin

外積の例

1221

3113

2332

baba

baba

baba

bac

kj

ijki bac

行列表現

テンソル表現233223

132

32

1231 babababac

133113

231

31

2132 babababac

122112

321

21

3123 babababac

3

2

1

a

a

a

a

3

2

1

b

b

b

b

Page 40: Chapter4 1 takmin

外積の例

1321

3113

2332

baba

baba

baba

bac

行列表現

テンソル表現

3

2

1

a

a

a

a

3

2

1

b

b

b

b

kj

ijki bac (29)

Page 41: Chapter4 1 takmin

イプシロンテンソル同士の積

6

321

321

312

312

231

231

213

213

132

132

123

123

3 3 3

i j k

ijk

ijk

ijk

ijk

6!3 あるいは単に

(30)

Page 42: Chapter4 1 takmin

歪対称行列

xの歪対称行列

0

0

0

12

13

23

xx

xx

xx

x T321 ,, xxxx

外積が行列同士の積として表せる

1221

3113

2332

3

2

1

12

13

23

''

''

''

'

'

'

0

0

0

''

xxxx

xxxx

xxxx

x

x

x

xx

xx

xx

xxxx

(31)

Page 43: Chapter4 1 takmin

歪対称行列

xの歪対称行列

0

0

0

12

13

23

xx

xx

xx

x T321 ,, xxxx

xの歪対称行列のテンソル表現

(32)

(31)

j

ijkx

Page 44: Chapter4 1 takmin

歪対称行列

xの歪対称行列

0

0

0

12

13

23

xx

xx

xx

x T321 ,, xxxx

0

0

0

12

13

23

332313

322212

312111

xx

xx

xx

xxx

xxx

xxx

x

j

j

jj

j

jj

j

j

j

j

jj

j

jj

j

j

j

j

jj

j

jj

j

j

j

ijk

(32)

(31)

Page 45: Chapter4 1 takmin

歪対称行列

• 共変ベクトル に対する歪対称行列

j

ijkl (33)

ll

Page 46: Chapter4 1 takmin

行列式

X1

X3

X4

T3

1

2

1

1

11 ,, xxxx T3

2

2

2

1

22 ,, xxxx T3

3

2

3

1

33 ,, xxxx

kji

ijk xxx 321

321321

)(det

xxxxxx

3次元ベクトルの行列式

(34)

Page 47: Chapter4 1 takmin

行列式

4次元ベクトルの行列式

(35) lkji

ijkl XXXX 43214321det XXXX

T4321 ,,, iiiii XXXXX

Page 48: Chapter4 1 takmin

行列式

3つの直線l

4つの平面S

321321det kji

ijk llllll

T1

3

1

2

1

1

1 ,, llll T2

3

2

2

2

1

2 ,, llll T3

3

3

2

3

1

3 ,, llll

43214321det lkji

ijkl SSSSSSSS

T4321 ,,, iiiii SSSSS

(36)

(37)

Page 49: Chapter4 1 takmin

行列式

あれ?今までXは反変テンソル、lは共変テンソルとして扱ってたのに、なんで行列式では反対なんだ????

kji

ijk xxx 321321 det xxx

321321det kji

ijk llllll (36)

(34)

1,2,3というのはテンソルの添字ではないので注意!

Page 50: Chapter4 1 takmin

多重線形性

行列表現

テンソル表現

• ベクトルTとベクトルxの内積=スカラー

)()()( 2121 xTxTxxT

i

i

i

i

ii

i xTxTxxT 2121 )(

(38)

(39)

Page 51: Chapter4 1 takmin

多重線形性

• 行列Tとベクトルx, yの積=スカラー行列表現

テンソル表現

)()()( 2121 yxTyxTyxxT

ji

ij

ji

ij

jii

ij yxTyxTyxxT 2121 )(

ij

ij

ij

ij

iii

ij yxTyxTyyxT 2121 )(

)()()( 2121 yxTyxTyyxT

2重線形性!

(40)

(41)

Page 52: Chapter4 1 takmin

多重線形性

• 3階テンソルの積=スカラー

テンソル表現

3重線形性!

(42)kji

ijk

kji

ijk

kjii

ijk zyxTzyxTzyxxT 2121 )(

kji

ijk

kji

ijk

kjji

ij zyxTzyxTzyyxT 2121 )(

kji

ijk

kji

ijk

kkji

ijk zyxTzyxTzzyxT 2121 )(

(43)

(44)

Page 53: Chapter4 1 takmin

多重線形性

• “厳密には多重線形性をもつものをテンソルという”

• “一般にn階のテンソルはn階の変数それぞれに関して線形であるというn重の線形性を持つ”

Page 54: Chapter4 1 takmin

Thank You!