cvim最先端ガイド6 幾何学的推定のための最適化手法 3.5 - 3.8
TRANSCRIPT
CV最先端ガイド6幾何学的推定のための最適化手法
2017/4/8@peisuke
第39回CV勉強会@関東 発表資料
自己紹介
名前:藤本敬介
所属:株式会社ABEJA研究:ロボティクス、コンピュータビジョン、機械学習
点群:形状統合、メッシュ化、認識
画像:画像認識、SfM・MVSロボット:自律移動、動作計画
Agenda
•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正
Agenda
•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正
バンドル調整の課題
•楕円当てはめをバンドル調整してみると・・・
𝒒 = cos 𝑡 , sin 𝑡 , 1 +
𝑷 = 𝑹diag 𝑎, 𝑏, 𝑐
𝑱 =1𝑁7 𝒙9 − 𝒙;9 <
=
9>?
=1𝑁7 𝒙9 − 𝑷𝒒9 <
=
9>?
データ数の増加に伴いパラメータ𝑡も増えてしまう
𝑹𝑡
𝒙9・・・観測、 𝑷・・・楕円、 𝑡・・・補助変数
変数の定義の確認
•幾何学的推定:
•例:楕円の当てはめの例
𝐹 𝒙; 𝜽 = 0
𝐴𝑥< + 2𝐵𝑥𝑦 + 𝐶𝑦< + 2𝐷𝑥 + 2𝐸𝑦 + 𝐹 = 0
𝝃 𝑥, 𝑦 ≡ 𝑥<, 2𝑥𝑦, 𝑦<, 𝑥, 𝑦, 1 O 𝝃 𝑥, 𝑦 , 𝜽 = 0
パラメータ増加問題の解決方針
•変換データ空間𝝃の問題を直接解く• 𝝃を正規分布で近似、これならパラメータ数は固定
𝐽 =1𝑁7 𝝃9 − 𝝃Q9, 𝑉S 𝝃9 T? 𝝃9 − 𝝃Q9
=
9>?
s.t. 𝝃Q9, 𝜽 = 0
𝐽 =1𝑁7
𝝃9, 𝜽 <
𝜽, 𝑉S 𝝃9 𝜽
=
9>?・・・サンプソン誤差
ラグランジュ未定乗数法を用いて整理すると
補足:共分散行列
•変換データ空間𝝃の共分散行列は元の変数𝒙の共分散行列に対し、ヤコビアンによる変換で求まる
Agenda
•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正
サンプソン誤差最小化
• FNS法
𝑴 =1𝑁7𝑊9
=
9>?
𝝃9𝝃9O 𝑳 =1𝑁7𝑊9< 𝜽S, 𝝃9 <𝑉S 𝝃9
=
9>?
𝑴 − 𝑳 𝜽 = 𝜆𝜽
𝑊9 ←1
𝜽, 𝑉S 𝝃9 𝜽𝜽𝟎 ← 𝜽
𝑊9 = 1, 𝜽S=0初期化:
繰り返し
𝜽が収束したら終了
・・・最小固有値に対応する𝜽を計算
FNSの背景
𝑴 =1𝑁7
𝝃9𝝃9O
𝜽, 𝑉S 𝝃9 𝜽
=
9>?
𝑳 =1𝑁7
𝜽S, 𝝃9 <𝑉S 𝝃9𝜽, 𝑉S 𝝃9 𝜽 <
=
9>?
𝛻𝜽𝐽 = 2 𝑴− 𝑳 𝜽
サンプソン誤差の微分:
FNSの反復が収束すると 𝑴− 𝑳 𝜽 = 𝜆𝜽
両辺と𝜽との内積を取ると、
𝜽,𝑴𝜽 − 𝜽,𝑴𝜽 = 𝜆 𝜽, 𝜽 = 𝜆
が常に成り立つ。よって固有値𝜆はゼロとなる。これにより、サンプソン誤差も収束することとなる。
が成り立つ。
Agenda
•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正
厳密な最尤推定解の計算
•サンプソン誤差最小化の課題• 変換データ空間のパラメータは実際は非正規分布
→近似解のため精度が低い
•解決方針• 近似的に求めた現在のパラメータを用いて、再度解を求め更新、解を逐次的に補正
最尤推定解の補正方法
𝝃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から算出
繰り返し ・・・𝜽を計算
補正式の導出(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>?
補正式の導出(再近似)
𝒙;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
補正式の導出(それ以降も同様)
𝒙;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
式が変わらないので繰り返せば良い
Agenda
•最小化に基づく幾何学的推定• 変換データ空間のノイズ正規近似• サンプソン誤差最小化• 厳密な最尤推定解の計算• 最尤推定解の超整度補正
さらなる高精度化に向けて
•最尤推定の課題• 実は最尤推定をしても解に偏差がある• しかも偏差を解析的に導出できる
•高精度化の方針• 導出した偏差を用いて、解を更に補正する
最尤推定解の超整度補正
𝛻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になるような操作𝒩
解の偏差の導出概要
𝑴;𝜽; = 0
真の値においては、最初の定義より以下が成り立つ
𝝃Q, 𝜽; = 0
Mの定義より、真の値では下記が成立
𝑴; =1𝑁7𝑊;9
=
9>?
𝝃Q9𝝃Q9O
擬似逆行列の定義より、𝑴;T𝑴;を掛けると、𝜽;と直交する成分が得られる。• 定義:𝑴;T𝑴;は、𝑴;の零空間の直交補空間への直交射影
𝑴;の零空間:𝑴;𝒙 = 𝟎となる𝒙 直交補空間: 𝒙, 𝒚 = 𝟎となる𝒚
解の偏差の導出概要
𝜽はスケールは常に1である。そのため、スケール方向には誤差はゼロ。誤差は、真のパラメータ𝜽;と直交する方向にのみ存在。
𝜽; 𝜽
真の値𝜽;と推定値𝜽の差分は𝜽;r方向に顕著に表れる。
𝜽;r
𝜽の誤差、つまり推定値𝜽の𝜽;r方向の成分𝜽rは、𝑴;T𝑴;𝜽で算出可能
パラメータ𝜽の高次の誤差の偏差𝑬 ∆𝜽r を評価する
解の偏差の導出概要
最尤推定ができていると、下記が成り立っている。
より
真値周りの高次の誤差を取ると
誤差オーダー毎に整理すると
解の偏差の導出概要
2次の誤差の偏差∆𝟐𝜽r = 𝑴;T𝑴;∆𝟐𝜽より、
以下のように期待値を取ることで、偏差が求まる
整理すると、
𝐸 ∆𝟐𝜽r = −𝜎<
𝑁 𝑀jT?T 7𝑊9< 𝒆9, 𝜽 𝝃9
=
9>?
+𝜎f<
𝑁<𝑀jT?T 7𝑊9< 𝝃9,𝑀jT?
T 𝑉S 𝝃9 𝜽 𝝃9
=
9>?
まとめ
ひたすら疲れた
まとめ
•最小化に「基づく」幾何学的推定• バンドル調整の課題と、その解決方法• 超高精度な幾何学的推定(not最尤推定)
•最尤推定よりも高精度で凄い
•色々頑張らないといけない問題•計算も不安定性
最小化に基づかない方法