Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20170806 Discriminative Optimization

5,238 views

Published on

2017/08/06に開催した第41回コンピュータビジョン勉強会@関東「CVPR2017読み会(前編)」資料です。

Published in: Technology
  • Be the first to comment

20170806 Discriminative Optimization

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

×