55
4回「コンピュータビジョン最先端ガイド」 勉強会 2010/7/19 「4章 テンソルと多視点幾何」 7節-10節 このスライドの作成者 twitter:@payashim Email : [email protected]

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

Embed Size (px)

DESCRIPTION

「コンピュータビジョン最先端ガイド」勉強会の 第4回の発表資料です。

Citation preview

Page 1: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

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

「4章 テンソルと多視点幾何」 7節-10節

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAA

このスライドの作成者 twitter:@payashim Email : [email protected]

Page 2: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

イントロダクション 「Why 3D?」

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAA

Page 3: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

Q.(大学院生 A君より) 「私は3次元が苦手なのですが、2次元

だけで生きて行っても大丈夫ですか?(コンピュータビジョン的な意味で)」

Page 4: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

クイズ

カメラが2個以上になると何が便利になる?

Page 5: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

ディスカッション1: 顔画像認証

Page 6: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

ディスカッション2: 車載ステレオカメラ

Page 7: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

ディスカッション3: 物体の種類の判別

Page 8: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

A.1次元情報が増えて、 2次元で行うより各種解析が簡潔で楽になります!

Page 9: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

7.多焦点テンソル間の関係

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAA

Page 10: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

2カメラ間の関係(ステレオ) から考えていきましょう

Page 11: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

特徴点ベースのステレオ

左右の各対応する特徴点ペアを用いて、depthを三角測量(triangulation)により算出。これによりその特徴点ペアの3D座標が求まる

Page 12: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

エピポーラ幾何

あるカメラ画像中の1点が、他のカメラ画像の どの点に対応するかを によって 記述する

対応点はどこ?

0 0

Page 13: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

ステレオの基本

0

基本解法:Triangulation 2つの光線(Lay)の交点として3次元座標を計算

(x; y; z)

(x; y; z)

Page 14: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

ステレオマッチング

0

エピポーラ直線

エピポール エピポール baseline

エピポーラ直線

3次元シーン中の1点に相当する2つの対応点を求める (ピクセル単位が基本)

2D全点探索 ?

Page 15: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

エピポーラ拘束

0

片側の画像内の点の対応点は、もう片側の画像内のエピポーラ直線上にしか存在しない。

エピポーラ直線

エピポール エピポール

Page 16: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

エピポーラ拘束

0

多焦点テンソルを算出できれば、 エピポーラ直線上の点のみの対応点検索

エピポーラ直線

エピポール エピポール

1D 探索!

Page 17: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

3次元座標の計算

特徴点抽出 特徴点抽出

対応点マッチング

①対応点の正規化

③ の逆正規化

②線形or非線形によるの計算

Page 18: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

Baseline の大小の影響

Wide Baseline Narrow Baseline

長所:Triangulationに十分な角度 短所:対応点の探索が広くなる

長所:対応点の探索が狭くて済む 短所:Triangulationの角度が不足

1ピクセル分の幅

三次元上での占有面積 (候補の三次元座標)

Page 19: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

Wide baseline Matching

複数のカメラにより同時撮影した画像を用いる (例:モーションキャプチャ・三次元復元)

各カメラ間のBaselineは広い

Page 20: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

Structure From Motion(SFM)

対象の周りを動いて動画撮影し、 3次元構造を復元(例;広域での 三次元復元、マシンビジョン、 車前方監視など)

各フレーム間のBaselineは狭い

注意:カメラ位置は未知。 あとで推定。

Page 21: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

Structure From Motion(SFM)

http://phototour.cs.washington.edu/

対象の周りを動いて動画撮影し、 3次元構造を復元

各フレーム間のBaselineは狭い

Page 22: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

特徴点の選択(2巻で勉強予定)

Baseline幅が狭い場合 = 隣り合う画像の変化が小さい

Baseline幅が広い場合= 隣り合う画像の変化が大きい

• Kanade-Lucas-Tomasi Tracker(KLT)

• SIFTなどのKeypointによるマッチング

その他baselineの幅の大小に関わらず使われる方法

• 窓探索ベースの相関(幾何学的距離の) • コーナー検出器(Harris Detector, Fastなど) • Graph Cutによる視差の全体最適化

Page 23: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

The Stanford Multi-Camera Array

Q. 3カメラ以上を使う利点は?

Page 24: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

多焦点テンソル(復習)

• 多焦点テンソル=各カメラ間の対応点もしくはエピポーラ直線の関係式をとりもつテンソル。

• 多焦点テンソルにより、各カメラ画像上での点orエピポーラ直線の関係が、ひとつの式で表現(拘束)される

• すなわち多焦点テンソルを求めておけば、あるカメラ中での点の、他のカメラにおける点の位置を求めることができる。

Page 25: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

3焦点テンソル v.s. 2焦点テンソル

¿j1i 12F1j = 0i ¿

j2i 12F2j = 0i ¿

j3i 12F3j = 0i

¿1ki 13F1k = 0i ¿2ki 13F2k = 0i ¿3ki 13F3k = 0i

これらの関係式より、3焦点テンソルから 3つの2焦点テンソルを求めることができる

Page 26: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

エピポーラ拘束(2次元)の曖昧性

0

左画像の一点は右画像のエピポーラ直線全体に 対応。これだと右画像の一点だけに対応できない。

エピポーラ直線

エピポール エピポール

Page 27: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

The Stanford Multi-Camera Array

Q. 3カメラ以上を使う利点は?

A.ステレオの曖昧性を拘束できる!

Page 28: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

Point Transfer

2本のエピポーラ直線の交点が対応点

Page 29: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

Point Transfer

2本のエピポーラ直線の交点が対応点

三台目のカメラ(視点)により エピポーラ拘束が強固になる!

Page 30: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

3視点幾何(エピポーラ拘束) 2視点のエピポーラ拘束 × 3

Page 31: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

3視点幾何を2視点拘束に分解

ei13

ej23

C1

C2

C3

2視点のエピポーラ拘束 × 3

epipole

epipole

カメラC1とカメラC2のエピポーラ拘束

Page 32: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

3視点幾何を2視点拘束に分解

ei21ej3123Fji = 0i

ei32ej1231Fji = 0i

ei21

ej31

C1

C2

C3

2視点のエピポーラ拘束 × 3

カメラC2とカメラC3のエピポーラ拘束

epipole

epipole

Page 33: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

3視点幾何を2視点拘束に分解

ei21ej3123Fji = 0i

ei32ej1231Fji = 0i

ei13ej2312Fji = 0i

ej12

ei32

C1

C2

C3

2視点のエピポーラ拘束 × 3

カメラC1とカメラC3のエピポーラ拘束

epipole epipole

Page 34: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

4焦点テンソル v.s. 3焦点テンソル

3視点と似たような話なので省略!!

Page 35: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

4視点幾何(エピポーラ拘束)

ei13ej2312Fji = 0i ei21e

j3123Fji = 0i

ei12ej3213Fji = 0iei14e

j2412Fji = 0i

ei12ej4214Fji = 0i ei21e

j4124Fji = 0i

Page 36: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

7節のまとめ

• 3カメラは2カメラよりStable(拘束が増えるので)。

• 多焦点テンソルは各カメラ画像内の特徴点とそれらの3次元空間での対応点の幾何的関係をとりもつテンソル。

• 4焦点テンソルは 3焦点テンソルで表現でき、3焦点テンソルは2焦点テンソルで表現できる。

• 3視点幾何では各2カメラ間での3個( ) のエピポーラ拘束を満たさなければならない。 • 4視点幾何では各2カメラ間での6個( ) のエピポーラ拘束を満たさなければならない。

Page 37: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

8.多視点幾何の縮退

Page 38: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

臨界配置(critical configuration) カメラと対応点の配置が悪くて 多視点幾何が一意に決まらない縮退の状態

臨界配置に近くなると多焦点テンソルの計算に (すなわちカメラの校正にも)影響大!

なるべく臨界配置にならないよう気を付けないとならない

• 一様双曲面 • 双曲放物面 • 楕円錐面 • 2平面 • 1平面

Page 39: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

2視点幾何の臨界配置

2カメラ間の拘束が複数可能性がある配置なので、 1つの拘束に限定できない。(=線形解法を解くための方程式数が この配置だと各拘束式が被ってしまっていて足りなくなっている)

この縮退が起きやすいパターン

• 紙や雑誌、ビルなど長方体を、断面に垂直な方向から撮影し、断面上の特徴点ばかり選ばれた場合(特徴点が全て同じ断面の同一平面上の点になるので)

• つまりビル街を建物の断面に平行に直線運動してるとかなり危ない(ビル以外に地上からも特徴点が欲しい。)

Page 40: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

9.多焦点テンソルの計算法

Page 41: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

3次元座標の計算(復習)

特徴点抽出 特徴点抽出

対応点マッチング

①対応点の正規化

③ の逆正規化

②線形or非線形によるの計算

Page 42: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

線形解法のアイデア

各対応点ごとの拘束条件を、

ひとつの方程式にまとめて計算!

Mt= 0多焦点テンソル(F行列)の各要素から 構成されるベクトル(求めるもの!)

対応点の座標から 構成される行列

xi1x0j1 Fij

xi2x0j2 Fij

xi3x0j3 Fij

xi4x0j4 Fij

Page 43: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

線形解法:①対応点の正規化

正規化したLeast Squareはノイズに強くなるので 特徴点を画像ごとに正規化する

(0; 0)

(¡2; 2) (2; 2)

(2;¡2)(¡2;¡2)(640; 0)

(0; 480) (640;480)

(0; 0)

Page 44: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

線形解法:①対応点の正規化

以下のアフィン変換行列Nを用いて各対応点を正規化

N =

24

s1 0 ¡s1m1

0 s2 ¡s2m2

0 0 1

35

m1 =1K

PK

i=1 p1i;m2 =1K

PK

i=1 p2i

s1 = [ 1K

PK

i=1(p1i ¡m1)]¡1=2; s2 = [ 1

K

PK

i=1(p2i ¡m2)]¡1=2

x方向、y方向の重心

原点(0,0)からの距離の平均を にするスケーリング係数 p2

p0 = Np =

24

s1(p1 ¡m1)

s2(p2 ¡m2)

0

35

(K:検出した特徴点の数)

Page 45: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

線形解法:②F行列の計算-手順1

Mt= 0上記式を解く代わりに、左辺のLeast Squareを求める

minkMtk2 =mintT (MTM)t = 0

MTM の最少固有値に対応する固有ベクトルが求める t となる!

このままだと自由度が増えてしまっている

Page 46: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

線形解法:②F行列の計算-手順2

F0=UD

0VT =U

24

v1 0 0

0 v2 0

0 0 0

35VT

手順1で得たF行列を特異値分解

F =UDVT =U

24

v1 0 0

0 v2 0

0 0 v3

35VT

最少固有値を0にして、rank2のF’行列を獲得!

手順1で与えた余分な自由度(tのノルムが1)を克服!

Page 47: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

線形解法:②F行列の計算-まとめ

手順1: 対応点から作った を特異値分解。 最少固有値の固有ベクトルが

手順2: F行列を特異値分解。rankを2に下げたF’を計算

Uの列ベクトルからFを算出

Fから幾何的条件を満たすF’を算出

を3×3のF行列に戻す。 1×9の列ベクトルである

Page 48: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

線形解法:③F行列の非正規化

各点を正規化したので、線形拘束は②F行列の計算で、以下のようになっていた

これを以下のように元に戻す

これにて多焦点テンソル(ここではF行列)の線形計算は完成

F0=N¡T

1 FN¡12

よって②で求めたものは以下のもの

F =NT1F

0N2

Page 49: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

非線形解法のアイデア

1. 線形解法で求めた多焦点テンソルを初期値

2. 多焦点テンソルを用いて特徴点から三次元点を計算(推定)する。

3. 推定した三次元座標群から、コスト関数を最少化する計算を行い、多焦点テンソルの値を更新(2に戻る)。

4. 2,3を繰り返し、収束した値を答えとする。

コスト関数には主に

再投影誤差を用いる

Page 50: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

再投影誤差

x1x2

x1 x2

Page 51: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

再投影誤差

0 0

x1 x2x̂1 x̂2

Page 52: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

Bundle Adjustment 複数カメラ(時刻変化によるものも含む)からの特徴点を用いた再投影誤差を最少化することによる多焦点テンソルの最適化計算法。

今回の教科書には方法までは書かれていないが、非常に重要かつ難解な計算手法

入力: 誤差が多い Point Cloud

出力: 最適化された Point Cloud

Page 53: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

9節のまとめ

• 多焦点テンソルの解法には主に二通りある。

①線形解法+RANSAC

②再投影誤差を用いた非線形解法

• バンドル調整法(Bundle Adjustment)は線形

解法から計算した多焦点テンソルを調整する非線形解法。

• 行列よりテンソルで書いた方がプログラミングするときに添え字が明確になりわかりよい。

Page 54: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

10.まとめ

Page 55: 第4回「コンピュータビジョン最先端ガイド」勉強会 4章 テンソルと多視点幾何

10.全体のまとめ(学んだこと)

• テンソルそのもの性質

• 複数カメラ間に成り立つ多視点幾何。

• 3次元空間に存在するカメラ間の幾何学的拘束は、4平面の交差として解釈できる。

• 2カメラ間、3カメラ間、4カメラ間の拘束は全て同質。さらには運動するカメラでも同質。

• 多視点幾何の敵である臨界配置。

• 多焦点テンソルの実際の計算方法。2次元の例を見たが、3次元以上でも方法は同じ。