Chapter4 1 takmin
-
Upload
takuya-minagawa -
Category
Documents
-
view
4.175 -
download
1
description
Transcript of Chapter4 1 takmin
第4回 「コンピュータビジョン最先端ガイド」勉強会
テンソルと多視点幾何1 & 2
Presented by takmin
やりたいこと
• 複数枚の画像から撮影対象の3次元の情報を復元したい
例えばこんなのhttp://grail.cs.washington.edu/rome/
エピポーラ幾何
A
カメラ1の撮影画像 カメラ2の撮
影画像
カメラ1の焦点
カメラ2の焦点
A’1 A’2
エピポーラ幾何
• 3次元空間上の点Aが、それぞれのカメラで取得した画像のどの位置に映っているかがわかれば,三角測量の原理から,点Aの三次元空間上の座標がわかる!
• 前提条件として、以下の情報が既知
• カメラの位置(X,Y,Z)と向き(θ,φ,ψ)
• カメラの焦点距離
• カメラの解像度(縦/横)
カメラパラメータ
エピポーラ幾何
• 2枚の画像に共通して映っている点が多いなら,その関係からカメラパラメータを逆算できる!(幾何学的拘束)
• 2つのカメラに映っている共通の点群を見つけてあげることで,カメラの校正(キャリブレーション)と各点の3次元座標を同時に求めよう!
多視点幾何
• カメラを2つから3つ以上に拡張することで,より多くのカメラの校正を一度で行う
A
A’1 A’2
A’3
斉次座標
• 直線の公式
y
x
x
l
0T xl
0 cbyax
T1,, yxx T,, cbal
とおくと
平行移動成分を含めて行列の積で表すために、次元を1つ増やした座標
傾き成分 平行移動成分
テンソルの利点
• テンソル:
–配列の概念を拡張/一般化したもの
• 今までは2つのカメラを使った3次元再構成が一般的だが、テンソルを使用することで複数カメラへ簡単に拡張できる
テンソルの基礎
0階のテンソル
1階のテンソル
2階のテンソル
3階のテンソル
0次元配列(スカラー)
1次元配列(ベクトル)
2次元配列(配列)
3次元配列
テンソルの厳密な定義: 多重線形性を持つ数値の集合(後述)
テンソルの表記
• ベクトルのテンソル表記
3
2
1
V
V
V
ViV
ベクトル
テンソル表記
1階のテンソル
テンソルの表記
• 行列のテンソル表記
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階のテンソル
テンソルの表記
• ベクトルの内積
baTc
内積
i
ibac
テンソル表記
アインシュタイン規約
3
1i
i
ibac
T321 ,, aaaa T321 ,, bbbb
テンソルの表記
• 行列とベクトルの積
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
テンソルの表記
• 行列とベクトルの積
Aab
行列・ベクトルの積
テンソル表記
アインシュタイン規約
i
ij
i
j aAb
ベクトル:,ba 行列:A
ij
i
j aAb
テンソルの表記
• まとめ
行列表記 テンソル表記
ベクトル
行列
内積
座標変換Aab ij
i
j aAb
baTc
i
ibac
Ai
j
j
i
ij
ij AAAA ,,,
ai
i aa ,
反変テンソルと共変テンソル
z
y
x
a
e1
e2
e3
• テンソルの上付きと下付きの違いについて
3
3
2
2
1
1eeea aaa
基底ベクトル
321 ,, eeeE T321 ,, aaaa
Eaa
(10)
(11)
反変テンソルと共変テンソル
321 ,, eeeE T321 ,, aaaa
Eaa (11)
y
x
a
e1
e2
2a
1a
反変テンソルと共変テンソル
321 ,, eeeE T321 ,, aaaa
Eaa (11)
aEHHa1 (12)
y
x
a
e1’
e2’
'2a
'1a
',',' 321 eeeEH T3211 ',',' aaaaH
H
反変テンソルと共変テンソル
• 共変テンソル
–基底ベクトルを変換したとき,基底ベクトルと同じ変換を受けるベクトル
• 反変テンソル
–基底ベクトルを変換したとき,基底ベクトルと逆の変換を受けるベクトル
反変テンソルと共変テンソル
• テンソルの添字のルール
–共変テンソルが下付添字
–反変テンソルが上付き添字
321 ,, aaa
321 ,, bbb
反変テンソルと共変テンソル
• 点xを通る直線lの例
01T xHHl
0T xl
y
x
x
l T321 ,, llll T321 ,, xxxx
共変ベクトル 反変ベクトル
反変テンソルと共変テンソル
• 点xを通る平面Sの例
z
y
x
X
S
01T XHHS
0T XS
T4321 ,,, XXXXX T4321 ,,, SSSSS
共変ベクトル 反変ベクトル
テンソルの積
• 一階テンソル同士の積
ijji CBA
i
jj
i CBA
ijji CBA
(17)
(18)
(19)
共変テンソル同士の積
反変テンソル同士の積
共変テンソルと反変テンソルの積
テンソルの積
• テンソルに基底の考え方を入れた方が,テンソルの積は理解しやすい!
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 '
テンソルの積
• n階テンソルとm階テンソルの積
– n+m階テンソルになる
1階×1階→ 2階
1A
2A
1B
2B
11BA
12BA 22BA
21BA
テンソルの積
• n階テンソルとm階テンソルの積
– n+m階テンソルになる
2階×1階→ 3階
1B
2B
11A
21A
12A
22A 211BA
221BA
212BA
222BA
111BA
121BA 122BA
112BA
テンソルの積
• n階テンソルとm階テンソルの積
– n+m階テンソルになる
mnmn jjiijjjiii CBA 112121
n
mm
n ii
jjjjj
iiiCBA
1
121
21
mnmn jjiijjjiiiCBA
112121
(17)
(18)
(19)
共変テンソル同士の積
反変テンソル同士の積
共変テンソルと反変テンソルの積
テンソルの積
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 '''
テンソルの積
• テンソルが同じ添字を持っている場合
–テンソルの縮約により階数が減少する
2階×1階→ 1階
1B
2B
11A
21A
12A
22A
1
12
1
11 BABA
2
22
2
21 BABA
i
j
ij CBA
テンソルの積
• テンソルが同じ添字を持っている場合
–テンソルの縮約により階数が減少する
ijk
lmml
ijk DCBA (23)
(24)
共変テンソル同士の積
i
j k
kj
ijk
kj
ijk
D
CBACBA
テンソルの積
• テンソルが同じ添字を持っている場合
–双対基底を持っているため縮約が起こる!
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
テンソルの積
• テンソル同士では積の順番を入れ替えられない
ijjiij ABBAC
掛け算ひっくり返しただけじゃん!なんで入れ替えられないの???
テンソルの積
• テンソル同士では積の順番を入れ替えられない
2
2
1
1eeA AA 2
2
1
1 '' eeB BB
ijjiij ABBAC
1221 '' eeee なので
ABBA
←基底が変わってしまう
テンソルの積
• テンソル同士では積の順番を入れ替えられない
–縮約できるテンソルなら入れ替え可
2211
2
1
21 BABAA
ABB
2211
2
1
21 BABAB
BAA
テンソルの積
• テンソル同士では積の順番を入れ替えられない
–縮約できるテンソルなら入れ替え可
ijk
jk
j k
ijk
jk
j k
kj
ijk
kj
ijk
ABC
ABC
CBACBA
イプシロンテンソル
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)
イプシロンテンソル
1312
1132
0112
• 例
312 → 132 → 123
132 → 123
置換2回
置換1回
重複
外積の例
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
外積の例
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
外積の例
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)
イプシロンテンソル同士の積
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)
歪対称行列
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)
歪対称行列
xの歪対称行列
0
0
0
12
13
23
xx
xx
xx
x T321 ,, xxxx
xの歪対称行列のテンソル表現
(32)
(31)
j
ijkx
歪対称行列
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)
歪対称行列
• 共変ベクトル に対する歪対称行列
j
ijkl (33)
ll
行列式
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)
行列式
4次元ベクトルの行列式
(35) lkji
ijkl XXXX 43214321det XXXX
T4321 ,,, iiiii XXXXX
行列式
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)
行列式
あれ?今までXは反変テンソル、lは共変テンソルとして扱ってたのに、なんで行列式では反対なんだ????
kji
ijk xxx 321321 det xxx
321321det kji
ijk llllll (36)
(34)
1,2,3というのはテンソルの添字ではないので注意!
多重線形性
行列表現
テンソル表現
• ベクトルTとベクトルxの内積=スカラー
)()()( 2121 xTxTxxT
i
i
i
i
ii
i xTxTxxT 2121 )(
(38)
(39)
多重線形性
• 行列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)
多重線形性
• 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)
多重線形性
• “厳密には多重線形性をもつものをテンソルという”
• “一般にn階のテンソルはn階の変数それぞれに関して線形であるというn重の線形性を持つ”
Thank You!