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

Preview:

DESCRIPTION

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

Citation preview

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

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

正木 俊行

指導教官 : 久野 誉人

2012/06/14 CS セミナー 1

はじめに

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

2012/06/14 CS セミナー 2

(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

(2) 本研究で扱う問題

2012/06/14 CS セミナー

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

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

何を求めるかによって

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

Triangulation Camera Resectioning Homography Estimation Known Rotation (Orientation)

2012/06/14 CS セミナー

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

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

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

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

5

(3) 研究の目的

2012/06/14 CS セミナー 6

(4) 俯瞰

実世界

三次元再構成

カメラモデル

最適化問題

ピンホールカメラモデル

① モデル化

アルゴリズム ソルバー

③ 解決

目的関数 制約

② 定式化

2012/06/14 CS セミナー 7

(4) 俯瞰

実世界

三次元再構成

カメラモデル

最適化問題

ピンホールカメラモデル

① モデル化

アルゴリズム ソルバー

③ 解決

目的関数 制約

② 定式化

ここがポイント!

問題の複雑さを

抑える工夫

これがうれしい!

大幅な高速化

モデル化

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

2012/06/14 CS セミナー 8

2012/06/14 CS セミナー

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

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

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

9

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

光学中心

画像面

被写体 ( オブジェクト )

画像面

像 ( イメージ )カメラ

2012/06/14 CS セミナー 10

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

3x 1x

2x

O

グローバルな座標系

2012/06/14 CS セミナー 11

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

3x 1x

2x

O

グローバルな座標系

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

2012/06/14 CS セミナー 12

グローバルな座標系

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

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

3x 1x

2x

O

O

13

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

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

となる座標系

2012/06/14 CS セミナー

O

14

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

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

となる座標系

2012/06/14 CS セミナー

15

O 1

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

2012/06/14 CS セミナー

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

となる座標系

16

O 1

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

2012/06/14 CS セミナー

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

となる座標系

17

O 1

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

2012/06/14 CS セミナー

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

となる座標系

18

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

2012/06/14 CS セミナー

まとめ

被写体:

カメラ行列:

像:

定式化

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

2012/06/14 CS セミナー 19

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

既知: ,

未知:

20

(1) Structure and Motion Problems

2012/06/14 CS セミナー

???

三次元空間

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

既知: ,

未知:

21

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

????

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

既知: ,

未知:

22

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

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

既知: ,

未知:

23

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

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

既知: ,

未知:

24

(1) Structure and Motion Problems

2012/06/14 CS セミナー

??

三次元空間

???

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

既知: ,

未知:

25

(1) Structure and Motion Problems

2012/06/14 CS セミナー

??

三次元空間

???

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

既知: ,

未知: ,

26

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

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

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

既知: ,

未知: ,

27

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

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

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

既知: ,

未知: ,

28

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

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

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

既知: ,

未知: ,

29

(1) Structure and Motion Problems

2012/06/14 CS セミナー

三次元空間

???

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

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

既知: ,

未知:

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

既知: ,

未知:

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

既知: ,

未知: ,

30

(1) Structure and Motion Problems

2012/06/14 CS セミナー

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

: 回転行列 ( カメラの向

き )

: 並進ベクトル ( カメラ

の位置 )

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

既知: ,

未知:

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

既知: ,

未知:

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

既知: ,

未知: ,

31

(1) Structure and Motion Problems

2012/06/14 CS セミナー

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

: 回転行列 ( カメラの向

き )

: 並進ベクトル ( カメラ

の位置 )

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

Triangulation

既知: ,

未知:

Camera Resectioning

既知: ,

未知:

Known Rotation (Orientation)

既知: ,

未知: ,

32

(1) Structure and Motion Problems

2012/06/14 CS セミナー

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

[F.Kahl, R.Hartley 2008]

33

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

[F.Kahl, R.Hartley 2008]

34

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

[F.Kahl, R.Hartley 2008]

35

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

[F.Kahl, R.Hartley 2008]

36

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

[F.Kahl, R.Hartley 2008]

37

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

[F.Kahl, R.Hartley 2008]

38

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

総残差

[F.Kahl, R.Hartley 2008]

39

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

総残差

非線形

[F.Kahl, R.Hartley 2008]

40

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

残差:

総残差

2

[F.Kahl, R.Hartley 2008]

41

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

2

[F.Kahl, R.Hartley 2008]

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

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

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

42

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

2012/06/14 CS セミナー

[F.Kahl, R.Hartley 2008]

2

提案モデル

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

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

2012/06/14 CS セミナー 43

442012/06/14 CS セミナー

残差:

(1) 線形な残差

452012/06/14 CS セミナー

残差:

(1) 線形な残差

46

(1) 線形な残差

2012/06/14 CS セミナー

残差:

残差:

47

(1) 線形な残差

2012/06/14 CS セミナー

残差:

残差:

48

(1) 線形な残差

2012/06/14 CS セミナー

残差:

線形

残差:

49

(1) 線形な残差

2012/06/14 CS セミナー

残差:

残差:

O 1 線形

50

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

2012/06/14 CS セミナー

51

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

2012/06/14 CS セミナー

p=2, q=∞

二次錐計画問題 (SOCP)

52

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

2012/06/14 CS セミナー

p=2, q=2

二次計画問題 (QP)

53

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

2012/06/14 CS セミナー

表 . p,q の組み合わせ

LP:QP:

SOCP:

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

p, q

54

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

2012/06/14 CS セミナー

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

55

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

2012/06/14 CS セミナー

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

線形

56

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

2012/06/14 CS セミナー

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

最小二乗法 Least Square Method

線形

57

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

2012/06/14 CS セミナー

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

最小二乗法 Least Square Method

線形

MATLAB の場合

58

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

2012/06/14 CS セミナー

MATLABMATLAB

Optimization Toolbox

外部ソルバ

SOCP × ×(?) ◯

QP × ◯ ◯

LP × ◯ ◯

LSM ◯ ◯ ◯

MATLAB の場合

59

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

2012/06/14 CS セミナー

MATLABMATLAB

Optimization Toolbox

外部ソルバ

SOCP × ×(?) ◯

QP × ◯ ◯

LP × ◯ ◯

LSM ◯ ◯ ◯

>> A b

60

(4) 従来手法との比較

2012/06/14 CS セミナー

従来モデル:

ノルムの内側が非線形

二分探索による反復解法

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

提案モデル:

ノルムの内側が線形

ソルバーで直接解ける

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

2012/06/14 CS セミナー 61

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

2012/06/14 CS セミナー 62

最適解 :

目的関数 :

最適解 :

目的関数 :

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

2012/06/14 CS セミナー 63

最適解 :

目的関数 :

最適解 :

目的関数 :

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

2012/06/14 CS セミナー 64

最適解 :

目的関数 :

最適解 :

目的関数 :

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

2012/06/14 CS セミナー 65

最適解 :

目的関数 :

最適解 :

目的関数 :

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

2012/06/14 CS セミナー 66

最適解 :

目的関数 :

最適解 :

目的関数 :

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

2012/06/14 CS セミナー 67

最適解 :

目的関数 :

最適解 :

目的関数 :

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

1.

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

3.

2012/06/14 CS セミナー 68

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

O

数値実験

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

2012/06/14 CS セミナー 69

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) ベンチマーク

誤差 を評価

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

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

δ

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

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

実測値

理論上の上界

2012/06/14 CS セミナー 75

(3) まとめと方針

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

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

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

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

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

2012/06/14 CS セミナー 76

Recommended