76
高高高高高高高高高高高高高 高高高高高高高高 CS 高高 高高高高 2 高 高高高高高高高高高 高高 高高 高高高高 : 高高 高高 2012/06/14 CS 高高高高 1

高速な三次元再構成のための 最適化アプローチ

  • Upload
    kapono

  • View
    47

  • Download
    0

Embed Size (px)

DESCRIPTION

高速な三次元再構成のための 最適化アプローチ. CS 専攻 博士前期 2 年 システム数理研究室 正木 俊行 指導教官 : 久野 誉人. 3 次元再構成とは 本研究であつかう問題 研究の目的 俯瞰. はじめに. (1) 3 次元再構成とは. 3 次元再構成 2 次元の画像情報から 3 次元構造を復元 応用 モーションキャプチャー ( 光学式・画像式 ) 3D カメラ 映画の撮影 モバイル機器 AR ( 拡張現実感 ) ロボット工学 など多数の応用が考えられる. 3D カメラ. - PowerPoint PPT Presentation

Citation preview

Page 1: 高速な三次元再構成のための 最適化アプローチ

高速な三次元再構成のための最適化アプローチ

CS 専攻 博士前期 2 年システム数理研究室

正木 俊行

指導教官 : 久野 誉人

2012/06/14 CS セミナー 1

Page 2: 高速な三次元再構成のための 最適化アプローチ

はじめに

(1) 3 次元再構成とは(2) 本研究であつかう問題(3) 研究の目的(4) 俯瞰

2012/06/14 CS セミナー 2

Page 3: 高速な三次元再構成のための 最適化アプローチ

(1) 3 次元再構成とは

2012/06/14 CS セミナー

3 次元再構成 2 次元の画像情報から 3 次元構造を復元

応用 モーションキャプチャー ( 光学式・画像式 ) 3D カメラ

映画の撮影 モバイル機器

AR ( 拡張現実感 ) ロボット工学

など多数の応用が考えられる

3

3D カメラ

http://www.smartkeitai.com/sprint-htc-evo-3d-review/htc-evo-3d-dual-3d-camera/

http://japan.internet.com/webtech/20100107/3.html

Page 4: 高速な三次元再構成のための 最適化アプローチ

(2) 本研究で扱う問題

2012/06/14 CS セミナー

Structure and Motion Problems シーンの 3 次元構造 (and/or)

カメラの方向 位置・ ( 軌道 ) を求める問題の総称

何を求めるかによって

のように呼び分けられる4

Triangulation Camera Resectioning Homography Estimation Known Rotation (Orientation)

Page 5: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー

目的 : 大規模な Structure and Motion 問題 を 高速に 解きたい

手法 : 定式化の工夫により

扱いやすいクラスの 最適化問題 に帰着させる

⇒ 既存の高速なソルバーや専用のハードウェアを利用できる

5

(3) 研究の目的

Page 6: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 6

(4) 俯瞰

実世界

三次元再構成

カメラモデル

最適化問題

ピンホールカメラモデル

① モデル化

アルゴリズム ソルバー

③ 解決

目的関数 制約

② 定式化

Page 7: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 7

(4) 俯瞰

実世界

三次元再構成

カメラモデル

最適化問題

ピンホールカメラモデル

① モデル化

アルゴリズム ソルバー

③ 解決

目的関数 制約

② 定式化

ここがポイント!

問題の複雑さを

抑える工夫

これがうれしい!

大幅な高速化

Page 8: 高速な三次元再構成のための 最適化アプローチ

モデル化

(1) ピンホールカメラモデルとは(2) ピンホールカメラによる射影

2012/06/14 CS セミナー 8

Page 9: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー

ピンホールカメラモデル :

カメラの機能を表現するための数理モデル

画像面 と 光学中心 とで構成される

9

(1) ピンホールカメラモデルとは

光学中心

画像面

被写体 ( オブジェクト )

画像面

像 ( イメージ )カメラ

Page 10: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 10

(2) ピンホールカメラによる射影

3x 1x

2x

O

グローバルな座標系

Page 11: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 11

(2) ピンホールカメラによる射影

3x 1x

2x

O

グローバルな座標系

・ ・ ・ ・・ ・ ・ ・・ ・ ・ ・

Page 12: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 12

グローバルな座標系

・ ・ ・ ・・ ・ ・ ・・ ・ ・ ・

(2) ピンホールカメラによる射影

3x 1x

2x

O

Page 13: 高速な三次元再構成のための 最適化アプローチ

O

13

(2) ピンホールカメラによる射影

原点 : 光学中心画像面–原点間の距離 : 1

となる座標系

2012/06/14 CS セミナー

Page 14: 高速な三次元再構成のための 最適化アプローチ

O

14

(2) ピンホールカメラによる射影

原点 : 光学中心画像面–原点間の距離 : 1

となる座標系

2012/06/14 CS セミナー

Page 15: 高速な三次元再構成のための 最適化アプローチ

15

O 1

(2) ピンホールカメラによる射影

2012/06/14 CS セミナー

原点 : 光学中心画像面–原点間の距離 : 1

となる座標系

Page 16: 高速な三次元再構成のための 最適化アプローチ

16

O 1

(2) ピンホールカメラによる射影

2012/06/14 CS セミナー

原点 : 光学中心画像面–原点間の距離 : 1

となる座標系

Page 17: 高速な三次元再構成のための 最適化アプローチ

17

O 1

(2) ピンホールカメラによる射影

2012/06/14 CS セミナー

原点 : 光学中心画像面–原点間の距離 : 1

となる座標系

Page 18: 高速な三次元再構成のための 最適化アプローチ

18

(2) ピンホールカメラによる射影

2012/06/14 CS セミナー

まとめ

被写体:

カメラ行列:

像:

Page 19: 高速な三次元再構成のための 最適化アプローチ

定式化

(1) Structure and Motion Problems(2) 従来の定式化と解法

2012/06/14 CS セミナー 19

Page 20: 高速な三次元再構成のための 最適化アプローチ

Triangulation ー 被写体の 3 次元座標の推定

既知: ,

未知:

20

(1) Structure and Motion Problems

2012/06/14 CS セミナー

???

三次元空間

Page 21: 高速な三次元再構成のための 最適化アプローチ

Triangulation ー 被写体の 3 次元座標の推定

既知: ,

未知:

21

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

????

Page 22: 高速な三次元再構成のための 最適化アプローチ

Camera Resectioning ー カメラの姿勢を推定

既知: ,

未知:

22

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

Page 23: 高速な三次元再構成のための 最適化アプローチ

Camera Resectioning ー カメラの姿勢を推定

既知: ,

未知:

23

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

Page 24: 高速な三次元再構成のための 最適化アプローチ

Camera Resectioning ー カメラの姿勢を推定

既知: ,

未知:

24

(1) Structure and Motion Problems

2012/06/14 CS セミナー

??

三次元空間

???

Page 25: 高速な三次元再構成のための 最適化アプローチ

Camera Resectioning ー カメラの姿勢を推定

既知: ,

未知:

25

(1) Structure and Motion Problems

2012/06/14 CS セミナー

??

三次元空間

???

Page 26: 高速な三次元再構成のための 最適化アプローチ

Known Rotation (Orientation) ー 被写体 カメラの・ 3 次元座標を推定

既知: ,

未知: ,

26

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

カメラの“ 方向”のみ既知

Page 27: 高速な三次元再構成のための 最適化アプローチ

Known Rotation (Orientation) ー 被写体 カメラの・ 3 次元座標を推定

既知: ,

未知: ,

27

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

カメラの“ 方向”のみ既知

Page 28: 高速な三次元再構成のための 最適化アプローチ

Known Rotation (Orientation) ー 被写体 カメラの・ 3 次元座標を推定

既知: ,

未知: ,

28

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

カメラの“ 方向”のみ既知

Page 29: 高速な三次元再構成のための 最適化アプローチ

Known Rotation (Orientation) ー 被写体 カメラの・ 3 次元座標を推定

既知: ,

未知: ,

29

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

カメラの“ 方向”のみ既知

Page 30: 高速な三次元再構成のための 最適化アプローチ

Triangulation ー 被写体の 3 次元座標の推定

既知: ,

未知:

Camera Resectioning ー カメラの姿勢を推定

既知: ,

未知:

Known Rotation (Orientation) ー 被写体 カメラの・ 3 次元座標を推定

既知: ,

未知: ,

30

(1) Structure and Motion Problems

2012/06/14 CS セミナー

・ ・ ・ ・・ ・ ・ ・・ ・ ・ ・

: 回転行列 ( カメラの向

き )

: 並進ベクトル ( カメラ

の位置 )

Page 31: 高速な三次元再構成のための 最適化アプローチ

Triangulation ー 被写体の 3 次元座標の推定

既知: ,

未知:

Camera Resectioning ー カメラの姿勢を推定

既知: ,

未知:

Known Rotation (Orientation) ー 被写体 カメラの・ 3 次元座標を推定

既知: ,

未知: ,

31

(1) Structure and Motion Problems

2012/06/14 CS セミナー

・ ・ ・ ・・ ・ ・ ・・ ・ ・ ・

: 回転行列 ( カメラの向

き )

: 並進ベクトル ( カメラ

の位置 )

センサー類による取得が容易

Page 32: 高速な三次元再構成のための 最適化アプローチ

Triangulation

既知: ,

未知:

Camera Resectioning

既知: ,

未知:

Known Rotation (Orientation)

既知: ,

未知: ,

32

(1) Structure and Motion Problems

2012/06/14 CS セミナー

共通: が未知数について線形

Page 33: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

33

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

Page 34: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

34

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

Page 35: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

35

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

Page 36: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

36

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

Page 37: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

37

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

Page 38: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

38

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

総残差

Page 39: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

39

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

総残差

非線形

Page 40: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

40

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

総残差

2

Page 41: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

41

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

2

Page 42: 高速な三次元再構成のための 最適化アプローチ

[F.Kahl, R.Hartley 2008]

2- ノルムの内側が非線形なので,解きにくい.

が定数であれば二次錐計画問題 (SOCP) になるので,

二分法探索を行い,実行可能な最小の を見つける.

42

(2) 従来の定式化と解法

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

2

Page 43: 高速な三次元再構成のための 最適化アプローチ

提案モデル

(1) 線形な残差(2) 最適化問題への帰着(3) 無制約 QP と最小二乗法 ← New!!

(4) 従来モデルとの比較(5) ふたつのモデルの関係

2012/06/14 CS セミナー 43

Page 44: 高速な三次元再構成のための 最適化アプローチ

442012/06/14 CS セミナー

残差:

(1) 線形な残差

Page 45: 高速な三次元再構成のための 最適化アプローチ

452012/06/14 CS セミナー

残差:

(1) 線形な残差

Page 46: 高速な三次元再構成のための 最適化アプローチ

46

(1) 線形な残差

2012/06/14 CS セミナー

残差:

残差:

Page 47: 高速な三次元再構成のための 最適化アプローチ

47

(1) 線形な残差

2012/06/14 CS セミナー

残差:

残差:

Page 48: 高速な三次元再構成のための 最適化アプローチ

48

(1) 線形な残差

2012/06/14 CS セミナー

残差:

線形

残差:

Page 49: 高速な三次元再構成のための 最適化アプローチ

49

(1) 線形な残差

2012/06/14 CS セミナー

残差:

残差:

O 1 線形

Page 50: 高速な三次元再構成のための 最適化アプローチ

50

(2) 最適化問題への帰着

2012/06/14 CS セミナー

Page 51: 高速な三次元再構成のための 最適化アプローチ

51

(2) 最適化問題への帰着

2012/06/14 CS セミナー

p=2, q=∞

二次錐計画問題 (SOCP)

Page 52: 高速な三次元再構成のための 最適化アプローチ

52

(2) 最適化問題への帰着

2012/06/14 CS セミナー

p=2, q=2

二次計画問題 (QP)

Page 53: 高速な三次元再構成のための 最適化アプローチ

53

(2) 最適化問題への帰着

2012/06/14 CS セミナー

表 . p,q の組み合わせ

LP:QP:

SOCP:

線形計画問題二次計画問題二次錐計画問題

p, q

Page 54: 高速な三次元再構成のための 最適化アプローチ

54

(3) 無制約 QP と最小二乗法

2012/06/14 CS セミナー

二次計画問題 (p =q=2)

Page 55: 高速な三次元再構成のための 最適化アプローチ

55

(3) 無制約 QP と最小二乗法

2012/06/14 CS セミナー

二次計画問題 (p =q=2)

線形

Page 56: 高速な三次元再構成のための 最適化アプローチ

56

(3) 無制約 QP と最小二乗法

2012/06/14 CS セミナー

二次計画問題 (p =q=2)

最小二乗法 Least Square Method

線形

Page 57: 高速な三次元再構成のための 最適化アプローチ

57

(3) 無制約 QP と最小二乗法

2012/06/14 CS セミナー

二次計画問題 (p =q=2)

最小二乗法 Least Square Method

線形

Page 58: 高速な三次元再構成のための 最適化アプローチ

MATLAB の場合

58

最適化問題のクラスとその解法

2012/06/14 CS セミナー

MATLABMATLAB

Optimization Toolbox

外部ソルバ

SOCP × ×(?) ◯

QP × ◯ ◯

LP × ◯ ◯

LSM ◯ ◯ ◯

Page 59: 高速な三次元再構成のための 最適化アプローチ

MATLAB の場合

59

最適化問題のクラスとその解法

2012/06/14 CS セミナー

MATLABMATLAB

Optimization Toolbox

外部ソルバ

SOCP × ×(?) ◯

QP × ◯ ◯

LP × ◯ ◯

LSM ◯ ◯ ◯

>> A b

Page 60: 高速な三次元再構成のための 最適化アプローチ

60

(4) 従来手法との比較

2012/06/14 CS セミナー

従来モデル:

ノルムの内側が非線形

二分探索による反復解法

q=∞ の場合しか解けない(※ 手頃な最適化問題としては )

提案モデル:

ノルムの内側が線形

ソルバーで直接解ける

q=1,2,∞ の全てで解ける

Page 61: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 61

(5) ふたつのモデルの関係

Page 62: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 62

最適解 :

目的関数 :

最適解 :

目的関数 :

(5) ふたつのモデルの関係

Page 63: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 63

最適解 :

目的関数 :

最適解 :

目的関数 :

(5) ふたつのモデルの関係

Page 64: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 64

最適解 :

目的関数 :

最適解 :

目的関数 :

(5) ふたつのモデルの関係

Page 65: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 65

最適解 :

目的関数 :

最適解 :

目的関数 :

(5) ふたつのモデルの関係

Page 66: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 66

最適解 :

目的関数 :

最適解 :

目的関数 :

(5) ふたつのモデルの関係

Page 67: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 67

最適解 :

目的関数 :

最適解 :

目的関数 :

(5) ふたつのモデルの関係

1.

2. のいずれかが成り立つ

3.

Page 68: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 68

(5) ふたつのモデルの関係

O

Page 69: 高速な三次元再構成のための 最適化アプローチ

数値実験

(1) ベンチマーク(2) 実験結果(3) まとめと課題

2012/06/14 CS セミナー 69

Page 70: 高速な三次元再構成のための 最適化アプローチ

Known Rotation Problem

被写体 n=60カメラ m=30

CPU: Intel Core2 Duo 2.66GHzメモリ : 2GB

MATLAB(R2009b) で実装 LP ソルバ : GLPK QP ソルバ : quadprog(Optimization Toolbox)

SOCP ソルバ : SeDuMi LSM ソルバ (?): >> A b

, を生成

2012/06/14 CS セミナー 70

(1) ベンチマーク

誤差 を評価

Page 71: 高速な三次元再構成のための 最適化アプローチ

Known Rotation Problem

被写体 n=60カメラ m=30

CPU: Intel Core2 Duo 2.66GHzメモリ : 2GB

MATLAB(R2009b) で実装 LP ソルバ : GLPK QP ソルバ : quadprog(Optimization Toolbox)

SOCP ソルバ : SeDuMi LSM ソルバ (?): >> A b

2012/06/14 CS セミナー 71

(1) ベンチマーク

配置イメージ

10

100

200

Page 72: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 72

(2) 実験結果

精度と計算時間 :n=60, m=30 (3 回の平均値 )

残差モデル p q 解法 誤差 CPU (s)時間

γ 2 ∞ SOCP+反復 0.000528 81.10

2 ∞ SOCP 0.000564 2.62

1 ∞ LP 0.001429 1.62

1 1 LP 0.000747 8.82

2 2 LSM 0.000519 0.29

δ

Page 73: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 73

(2) 実験結果

精度と計算時間 :n=60, m=30 (3 回の平均値 )

LSM で解いた p=2, q=2 の δ モデルが優秀 速度は従来手法の 280倍,精度は同等

残差モデル p q 解法 誤差 CPU (s)時間

γ 2 ∞ SOCP+反復 0.000528 81.10

2 ∞ SOCP 0.000564 2.62

1 ∞ LP 0.001429 1.62

1 1 LP 0.000747 8.82

2 2 LSM 0.000519 0.29

δ

誤差比 速度比

1.00 1

1.07 31

2.71 50

1.41 9

0.98 280

Page 74: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 74

(2) 実験結果

上界値 L の検証 :p=2q=∞ ⇒

0 1 2 3 4 5 6 7 8 9 100

1

2

3

4

5

6

7

8

9

10

実測値

理論上の上界

Page 75: 高速な三次元再構成のための 最適化アプローチ

2012/06/14 CS セミナー 75

(3) まとめと方針

まとめ 線形な残差式を用いた新たなモデルを提案 従来のモデルとの関係式が得られた 精度を保ったまま大幅な高速化を実現

方針 提案手法が応用できる問題が他にないか

コンピュータビジョンや射影幾何では分数式がよく出てくる 線形に置き換えてみる

実際のカメラを用いた実験 レンズの歪みやブレなどがどう影響するか

Page 76: 高速な三次元再構成のための 最適化アプローチ

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

2012/06/14 CS セミナー 76