cvim最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

27
CV最先端ガイド6 幾何学的推定のための最適化手法 2017/4/8 @peisuke 39CV勉強会@関東 発表資料

Upload: fujimoto-keisuke

Post on 21-Jan-2018

581 views

Category:

Engineering


8 download

TRANSCRIPT

Page 1: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

CV最先端ガイド6幾何学的推定のための最適化手法

2017/4/8@peisuke

第39回CV勉強会@関東 発表資料

Page 2: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

自己紹介

名前:藤本敬介

所属:株式会社ABEJA研究:ロボティクス、コンピュータビジョン、機械学習

点群:形状統合、メッシュ化、認識

画像:画像認識、SfM・MVSロボット:自律移動、動作計画

Page 3: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

Agenda

•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正

Page 4: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

Agenda

•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正

Page 5: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

バンドル調整の課題

•楕円当てはめをバンドル調整してみると・・・

𝒒 = cos 𝑡 , sin 𝑡 , 1 +

𝑷 = 𝑹diag 𝑎, 𝑏, 𝑐

𝑱 =1𝑁7 𝒙9 − 𝒙;9 <

=

9>?

=1𝑁7 𝒙9 − 𝑷𝒒9 <

=

9>?

データ数の増加に伴いパラメータ𝑡も増えてしまう

𝑹𝑡

𝒙9・・・観測、 𝑷・・・楕円、 𝑡・・・補助変数

Page 6: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

変数の定義の確認

•幾何学的推定:

•例:楕円の当てはめの例

𝐹 𝒙; 𝜽 = 0

𝐴𝑥< + 2𝐵𝑥𝑦 + 𝐶𝑦< + 2𝐷𝑥 + 2𝐸𝑦 + 𝐹 = 0

𝝃 𝑥, 𝑦 ≡ 𝑥<, 2𝑥𝑦, 𝑦<, 𝑥, 𝑦, 1 O 𝝃 𝑥, 𝑦 , 𝜽 = 0

Page 7: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

パラメータ増加問題の解決方針

•変換データ空間𝝃の問題を直接解く• 𝝃を正規分布で近似、これならパラメータ数は固定

𝐽 =1𝑁7 𝝃9 − 𝝃Q9, 𝑉S 𝝃9 T? 𝝃9 − 𝝃Q9

=

9>?

s.t. 𝝃Q9, 𝜽 = 0

𝐽 =1𝑁7

𝝃9, 𝜽 <

𝜽, 𝑉S 𝝃9 𝜽

=

9>?・・・サンプソン誤差

ラグランジュ未定乗数法を用いて整理すると

Page 8: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

補足:共分散行列

•変換データ空間𝝃の共分散行列は元の変数𝒙の共分散行列に対し、ヤコビアンによる変換で求まる

Page 9: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

Agenda

•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正

Page 10: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

サンプソン誤差最小化

• FNS法

𝑴 =1𝑁7𝑊9

=

9>?

𝝃9𝝃9O 𝑳 =1𝑁7𝑊9< 𝜽S, 𝝃9 <𝑉S 𝝃9

=

9>?

𝑴 − 𝑳 𝜽 = 𝜆𝜽

𝑊9 ←1

𝜽, 𝑉S 𝝃9 𝜽𝜽𝟎 ← 𝜽

𝑊9 = 1, 𝜽S=0初期化:

繰り返し

𝜽が収束したら終了

・・・最小固有値に対応する𝜽を計算

Page 11: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

FNSの背景

𝑴 =1𝑁7

𝝃9𝝃9O

𝜽, 𝑉S 𝝃9 𝜽

=

9>?

𝑳 =1𝑁7

𝜽S, 𝝃9 <𝑉S 𝝃9𝜽, 𝑉S 𝝃9 𝜽 <

=

9>?

𝛻𝜽𝐽 = 2 𝑴− 𝑳 𝜽

サンプソン誤差の微分:

FNSの反復が収束すると 𝑴− 𝑳 𝜽 = 𝜆𝜽

両辺と𝜽との内積を取ると、

𝜽,𝑴𝜽 − 𝜽,𝑴𝜽 = 𝜆 𝜽, 𝜽 = 𝜆

が常に成り立つ。よって固有値𝜆はゼロとなる。これにより、サンプソン誤差も収束することとなる。

が成り立つ。

Page 12: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

Agenda

•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正

Page 13: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

厳密な最尤推定解の計算

•サンプソン誤差最小化の課題• 変換データ空間のパラメータは実際は非正規分布

→近似解のため精度が低い

•解決方針• 近似的に求めた現在のパラメータを用いて、再度解を求め更新、解を逐次的に補正

Page 14: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

最尤推定解の補正方法

𝝃9∗ = 𝝃9 +𝜕𝝃𝜕𝒙^𝒙>𝒙_

�̀�9

𝐽∗ =1𝑁7

𝝃9∗ , 𝜽 <

𝜽, 𝑉S 𝝃a9 𝜽

=

9>?

�̀�9 =𝝃9∗ , 𝜽 𝑉S 𝒙9𝜽, 𝑉S 𝝃a9 𝜽

𝜕𝝃𝜕𝒙^𝒙>𝒙_

𝜽, 𝒙b9 ← 𝒙9 − �̀�9

𝐽∗ =1𝑁7 �̀�9, 𝑉S 𝒙9 �̀�9

=

9>?

初期化: 𝒙b9=𝒙9�̀�9 = 0

現在の解

補正量

𝑉S 𝝃a9 を現時点での解𝒙b9から算出

繰り返し ・・・𝜽を計算

Page 15: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

補正式の導出(1次近似)

𝒙;9=𝒙9 − ∆?𝒙9

真の解𝒙;9を現在の解𝒙9と補正量∆𝒙9に置き換える

𝐽 =1𝑁7 ∆?𝒙9, 𝑉S 𝒙9 T?∆?𝒙9

=

9>?s.t. 𝝃 𝒙9 − ∆?𝒙9 , 𝜽 = 0

最尤推定(27)の式は下記となる

以下を最小にした𝜽を𝜽∗とおき、∆𝒙9について解く

∆𝒙9 =𝝃9, 𝜽∗ 𝑉S 𝒙9𝜽∗, 𝑉S 𝝃9 𝜽∗

𝜕𝝃𝜕𝑥 9

O

𝜽∗𝐽 =1𝑁7

𝝃9, 𝜽 <

𝜽, 𝑉S 𝝃9 𝜽

=

9>?

Page 16: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

補正式の導出(再近似)

𝒙;9=𝒙9 − ∆?𝒙9 − ∆<𝒙9 = 𝒙b9 − ∆<𝒙9

真の解𝒙;9を現在の解𝒙b9と補正量∆<𝒙9に置き換える

𝐽 =1𝑁7 ∆𝒙9 + ∆<𝒙9, 𝑉S 𝒙9 T?∆𝒙9 + ∆<𝒙9

=

9>?

s.t. 𝝃 𝒙9 − ∆𝒙9 − ∆<𝒙9 , 𝜽 = 0

最尤推定(27)の式は下記となる

先程と同様に∆<𝒙9について解く

∆<𝒙9 =𝝃9∗ , 𝜽∗ 𝑉S 𝒙9𝜽∗, 𝑉S 𝝃a9 𝜽∗

𝜕𝝃a9𝜕𝑥 9

O

𝜽∗𝐽 =1𝑁7

𝝃9∗ , 𝜽 <

𝜽, 𝑉S 𝝃a9 𝜽

=

9>?

𝝃9∗ = 𝝃a9 +𝜕𝝃a9𝜕𝒙 d

𝒙>𝒙_

∆<𝒙9

Page 17: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

補正式の導出(それ以降も同様)

𝒙;9=𝒙9 − ∆𝒙9 − ∆<𝒙9 − ∆e𝒙9 = 𝒙b9 − ∆e𝒙9真の解𝒙;9を現在の解𝒙b9と補正量∆e𝒙9に置き換える

𝐽 =1𝑁7 ∆𝒙9 + ∆e𝒙9, 𝑉S 𝒙9 T?∆𝒙9 + ∆e𝒙9

=

9>?

s.t. 𝝃 𝒙f9 − ∆e𝒙9 , 𝜽 = 0

最尤推定(27)の式は下記となる

先程と同様に∆e𝒙9について解く

∆e𝒙9 =𝝃9∗ , 𝜽∗ 𝑉S 𝒙9𝜽∗, 𝑉S 𝝃a9 𝜽∗

𝜕𝝃a9𝜕𝑥 9

O

𝜽∗𝐽 =1𝑁7

𝝃9∗ , 𝜽 <

𝜽, 𝑉S 𝝃a9 𝜽

=

9>?

𝝃9∗ = 𝝃a9 +𝜕𝝃a9𝜕𝒙 d

𝒙>𝒙_

∆e𝒙9

∆𝒙9 = ∆?𝒙9+∆<𝒙9

式が変わらないので繰り返せば良い

Page 18: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

Agenda

•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正

Page 19: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

さらなる高精度化に向けて

•最尤推定の課題• 実は最尤推定をしても解に偏差がある• しかも偏差を解析的に導出できる

•高精度化の方針• 導出した偏差を用いて、解を更に補正する

Page 20: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

最尤推定解の超整度補正

𝛻g𝜽 = −𝜎<

𝑁 𝑀jT?T 7𝑊9< 𝒆9, 𝜽 𝝃9

=

9>?

+𝜎f<

𝑁<𝑀jT?T 7𝑊9< 𝝃9,𝑀jT?

T 𝑉S 𝝃9 𝜽 𝝃9

=

9>?

𝜽 ← 𝒩 𝜽 − 𝛻g𝜽

𝜎f< ←𝜽,𝑴𝜽

1 − (𝑛 − 1) 𝑁⁄

最尤推定解𝜽と、それに対する𝑴からノイズ推定(nは𝜽の次元数)

パラメータ𝜽の補正項を計算

ノルムが1になるような操作𝒩

Page 21: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

解の偏差の導出概要

𝑴;𝜽; = 0

真の値においては、最初の定義より以下が成り立つ

𝝃Q, 𝜽; = 0

Mの定義より、真の値では下記が成立

𝑴; =1𝑁7𝑊;9

=

9>?

𝝃Q9𝝃Q9O

擬似逆行列の定義より、𝑴;T𝑴;を掛けると、𝜽;と直交する成分が得られる。• 定義:𝑴;T𝑴;は、𝑴;の零空間の直交補空間への直交射影

𝑴;の零空間:𝑴;𝒙 = 𝟎となる𝒙 直交補空間: 𝒙, 𝒚 = 𝟎となる𝒚

Page 22: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

解の偏差の導出概要

𝜽はスケールは常に1である。そのため、スケール方向には誤差はゼロ。誤差は、真のパラメータ𝜽;と直交する方向にのみ存在。

𝜽; 𝜽

真の値𝜽;と推定値𝜽の差分は𝜽;r方向に顕著に表れる。

𝜽;r

𝜽の誤差、つまり推定値𝜽の𝜽;r方向の成分𝜽rは、𝑴;T𝑴;𝜽で算出可能

パラメータ𝜽の高次の誤差の偏差𝑬 ∆𝜽r を評価する

Page 23: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

解の偏差の導出概要

最尤推定ができていると、下記が成り立っている。

より

真値周りの高次の誤差を取ると

誤差オーダー毎に整理すると

Page 24: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

解の偏差の導出概要

2次の誤差の偏差∆𝟐𝜽r = 𝑴;T𝑴;∆𝟐𝜽より、

以下のように期待値を取ることで、偏差が求まる

整理すると、

𝐸 ∆𝟐𝜽r = −𝜎<

𝑁 𝑀jT?T 7𝑊9< 𝒆9, 𝜽 𝝃9

=

9>?

+𝜎f<

𝑁<𝑀jT?T 7𝑊9< 𝝃9,𝑀jT?

T 𝑉S 𝝃9 𝜽 𝝃9

=

9>?

Page 25: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

まとめ

Page 26: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

ひたすら疲れた

Page 27: CVIM最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8

まとめ

•最小化に「基づく」幾何学的推定• バンドル調整の課題と、その解決方法• 超高精度な幾何学的推定(not最尤推定)

•最尤推定よりも高精度で凄い

•色々頑張らないといけない問題•計算も不安定性

最小化に基づかない方法