Upload
takuya-minagawa
View
3.072
Download
0
Embed Size (px)
Citation preview
第41回 CV勉強会「CVPR2017読み会(前編)」
Discriminative Optimization:
Theory and Application to Point Cloud Registration
2017/08/06 皆川卓也(takmin)
自己紹介
2
テクニカル・ソリューション・アーキテクト
皆川 卓也(みながわ たくや)フリーエンジニア(ビジョン&ITラボ)「コンピュータビジョン勉強会@関東」主催博士(工学)
略歴:1999-2003年日本HP(後にアジレント・テクノロジーへ分社)にて、ITエンジニアとしてシステム構築、プリセールス、プロジェクトマネジメント、サポート等の業務に従事
2004-2009年コンピュータビジョンを用いたシステム/アプリ/サービス開発等に従事
2007-2010年慶應義塾大学大学院 後期博士課程にて、コンピュータビジョンを専攻単位取得退学後、博士号取得(2014年)
2009年-現在フリーランスとして、コンピュータビジョンのコンサル/研究/開発等に従事
http://visitlab.jp
紹介論文
Discriminative Optimization: Theory and
Application to Point Cloud Registration
Jayakorn Vongkulbhisal, Fernando De la Torre, Joao P.
Costeira
点群同士の位置合わせをコスト関数の最小化という形をとらず、特徴量から直接移動方向を算出する手法を提案
高速かつロバスト
ポスターで話聞いて面白いと思ったので紹介
点群のレジストレーション
2つの点群の位置合わせ
http://pointclouds.org/documentation/tutorials/interactive_icp.php
より
ICPアルゴリズム
1. model点群とscene点群を用意
model
scene
ICPアルゴリズム
1. model点群とscene点群を用意
2. model点群の各点に対して最も近いscene点群中の点を割り当て
model
scene
ICPアルゴリズム
1. model点群とscene点群を用意
2. model点群の各点に対して最も近いscene点群中の点を割り当て
3. 対応点同士の距離の二乗和が最小となるようにmodel
点群の回転𝐑と平行移動量𝐭を算出
model
scene
ICPアルゴリズム
1. model点群とscene点群を用意
2. model点群の各点に対して最も近いscene点群中の点を割り当て
3. 対応点同士の距離の二乗和が最小となるようにmodel
点群の回転𝐑と平行移動量𝐭を算出
model
scene 𝐑, 𝐭
ICPアルゴリズム
1. model点群とscene点群を用意
2. model点群の各点に対して最も近いscene点群中の点を割り当て
3. 対応点同士の距離の二乗和が最小となるようにmodel
点群の回転𝐑と平行移動量𝐭を算出
4. 2と3を収束する、または指定回数繰り返す。
model
scene
ICPアルゴリズム
1. model点群とscene点群を用意
2. model点群の各点に対して最も近いscene点群中の点を割り当て
3. 対応点同士の距離の二乗和が最小となるようにmodel
点群の回転𝐑と平行移動量𝐭を算出
4. 2と3を収束する、または指定回数繰り返す。
model
scene
ICPアルゴリズム
1. model点群とscene点群を用意
2. model点群の各点に対して最も近いscene点群中の点を割り当て
3. 対応点同士の距離の二乗和が最小となるようにmodel
点群の回転𝐑と平行移動量𝐭を算出
4. 2と3を収束する、または指定回数繰り返す。
𝐹 𝐑, 𝐭 =1
𝑁
𝑖=1
𝑁
𝐑𝒑𝑖 + 𝐭 − 𝒒𝑖2
誤差関数の最小化
Supervised Sequential Update (SSU)
顔器官検出/追跡などで近年使われる手法
Explicit Shape RegressionやSDMなど
ランドマーク周辺の特徴量から直接フィッティングのための移動量を算出
Cao, X., Wei, Y., Wen, F., & Sun, J. (2012). Face Alignment by Explicit Shape
Regression. In IEEE Conference on Computer Vision and Pattern Recognition.
Discriminative Optimization (DO)
SSUの手法を点群のレジストレーションへ適用
誤差関数の最小化ではなく、直接パラメータの更新分を計算
𝐱𝑘+1 = 𝐱𝑘 − 𝐃𝑘+1 𝐡 𝐱𝑘パラメータ
(移動+回転)特徴量抽出
特徴量からパラメータ更新量を直接算出(学習により求める)
Discriminative Optimization (DO)
SSUの手法を点群のレジストレーションへ適用
誤差関数の最小化ではなく、直接パラメータの更新分を計算
𝐱𝑘+1 = 𝐱𝑘 − 𝐃𝑘+1 𝐡 𝐱𝑘
𝑝 × 1
−=
𝑝 × 1 𝑝 × 𝑓
𝑓 × 1
Discriminative Optimization (DO)
SSUの手法を点群のレジストレーションへ適用
誤差関数の最小化ではなく、直接パラメータの更新分を計算
𝐱𝑘+1 = 𝐱𝑘 − 𝐃𝑘+1 𝐡 𝐱𝑘
𝐱0 𝐱1 𝐱2
𝐱𝐾−𝐃1 𝐡 𝐱0−𝐃2 𝐡 𝐱1
ICPとDO
2次元点群レジストレーションの例
Level Set
ICPとDO
2次元点群レジストレーションの例
Level Set
学習データセット
学習データセット 𝐱0(𝑖), 𝐱∗
(𝑖), 𝐡(𝑖)
𝑖=1
𝑁を用意
・・・
𝐱0(1)
𝐱∗(1) 𝐱0
(2)
𝐱∗(2)
𝐱∗(𝑁)
𝐱0(𝑁)
初期パラメータ Ground
Truthサンプルごとの(事前計算した)特徴量
𝐃𝑘+1の学習
𝐃𝑘+1 =
argmin෩𝐃
1
𝑁σ𝑖=1𝑁 𝐱∗
(𝑖)− 𝐱𝑘
(𝑖)+ ෩𝐃𝐡(𝑖) 𝐱𝑘
(𝑖) 2+
𝜆
2෩𝐃
𝐹
2
正則化項
リッジ回帰
・・・
𝐱𝑘(1)
𝐱∗(1) 𝐱𝑘
(2)
𝐱∗(2)
𝐱∗(𝑁)
𝐱𝑘(𝑁)
𝐱∗(𝑖)と𝐱𝑘+1
(𝑖)の二乗誤差の総和が最小となるように𝐃𝑘+1を算出
学習アルゴリズム
理論的な分析
定義1(単調性):
関数𝑓:ℝ𝑝 → ℝ𝑝が全ての𝐱 ∈ ℝ𝑝において 𝐱 − 𝐱∗T 𝑓 𝐱 ≥ 0
を満たすならば、𝑓 𝐱 は𝐱∗ ∈ ℝ𝑝
において単調(増加/減少)である
定理1:
訓練セット 𝐱0(𝑖), 𝐱∗
(𝑖), 𝐡(𝑖)
𝑖=1
𝑁において෩𝐃𝐡(𝑖) 𝐱∗
(𝑖)が単調
ならば、Algorithm 1は各イテレーションで必ず以下を満たす
𝑖=1
𝑁
𝐱∗(𝑖)− 𝐱𝑘+1
(𝑖) 2<
𝑖=1
𝑁
𝐱∗(𝑖)− 𝐱𝑘
(𝑖) 2
検出
検出
まだ更新量が大きい場合はもう少し𝐃𝐾で更新を続ける
K回パラメータを更新
特徴量𝐡 𝐱𝑘 モデル点群の有る点𝑚1の法線方向を算出
モデル
シーン
特徴量𝐡 𝐱𝑘 モデル点群の有る点𝑚1の法線方向を算出
法線方向側にある点群をFrontとする。
モデル
シーン
特徴量𝐡 𝐱𝑘 モデル点群の有る点𝑚1の法線方向を算出
法線方向側にある点群をFrontとする。
法線方向と反対側の点群をBackとする。
モデル
シーン
特徴量𝐡 𝐱𝑘 𝑚1からFront各点までの距離のガウス関数の和を算出
特徴量𝐡 𝐱𝑘 𝑚1からBack各点までの距離のガウス関数の和を算出
特徴量𝐡 𝐱𝑘
モデル上の全ての点について同様に計算し、モデルの点数x2次元の特徴量を得る。
特徴量𝐡 𝐱𝑘
モデル上の全ての点について同様に計算し、モデルの点数x2次元の特徴量を得る。
高速化の工夫
毎回特徴量を計算すると遅い
モデルとその周辺の空間をグリッド上に分割し、各グリッドにおける𝐡を事前に計算しておく
実行時はシーン点群中の点と最も近いグリッドの𝐡を使用
10−6以下の値は0とすることでメモリ削減
精度を保ったまま6-20倍の高速化
実験
ICP、IRLS、CPD、GMMRegの4つのベースラインと比較
処理時間を評価
Intel i7-4790 3.60GHz + 16GB RAM
DOの実装はMatlab
トレーニング
モデルに対して400-700点ほどサンプリング
ランダムに回転/移動
ノイズおよびOutlierを付与
いくつか欠損のあるシーンを作成
30000学習データを生成
K=30
合成3Dデータでの比較
レンジスキャンデータ
UWAデータセット
3D Object Tracking
まとめ
Discriminative Optimization (DO)の提案
訓練データからパラメータ空間におけるアップデートの方向を直接算出
効率的かつロバスト
2Dおよび3Dの点群レジストレーションにおいてstate-of-the-
artの手法を大幅に上回る
Future Work
モデルごとのトレーニングが不要な特徴量の設計
点群レジストレーション以外の分野への応用(non-rigid
registration, camera calibration, fitting shape models to videos)