O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

SSII2019企画: 点群深層学習の研究動向

1.818 visualizações

Publicada em

SSII2019 企画セッション「画像センシング技術の最先端」
6月12日(水) 11:20~12:05 (メインホール)

三次元点群とは、三次元形状をその表面上の各点座標値の集合によって表現するデータ形式です。各点は順不同、かつ点の密度や総数が一定とは限らないという三次元点群の性質から、画像での深層学習の知見を直接応用することは難しいとされてきました。本発表では、PointNet 以降急速に発展した点群深層学習に関する研究の流れをまとめるとともに、実アプリケーションへの応用につながるような研究事例の紹介を行います​。​

Publicada em: Tecnologia
  • Seja o primeiro a comentar

SSII2019企画: 点群深層学習の研究動向

  1. 1. 点群深層学習の研究動向 2019.6.12 千葉 直也(東北大学)
  2. 2. 三次元点群とは 三次元点 (x, y, z) の集合として表現された 三次元形状の記述方法 データによってはカラー,反射強度などの付加情報が 点ごとに与えられる (𝑥𝑥1, 𝑦𝑦1, 𝑧𝑧1) (𝑥𝑥2, 𝑦𝑦2, 𝑧𝑧2) (𝑥𝑥3, 𝑦𝑦3, 𝑧𝑧3) (𝑥𝑥𝑁𝑁, 𝑦𝑦𝑁𝑁, 𝑧𝑧𝑁𝑁) ・・・ (𝑥𝑥𝑖𝑖, 𝑦𝑦𝑖𝑖, 𝑧𝑧𝑖𝑖) (𝑥𝑥𝑗𝑗, 𝑦𝑦𝑗𝑗, 𝑧𝑧𝑗𝑗) ・・・・・・ 三次元点群の表す形状 三次元点群データ
  3. 3. 二次元画像と三次元点群の違い 二次元画像 三次元点群 二次元上のピクセル 三次元上の点構成要素 密 (画像上に画素が詰まっている) 疎 (表面を表す点のみ) 粗密 あり (上から下,左から右など) なし (無理に順序は与えられるが 本質的な意味はない) 構成要素の 順序の意味
  4. 4. 点群深層学習とは (三次元)点群を深層学習で取り扱う枠組み • 点群を入力/処理/出力するニューラルネットワーク • PointNet [Qi+, CVPR2017] 以降急速に発展 千葉,戸田.三次元点群を取り扱うニューラルネットワークのサーベイ Ver. 2 https://speakerdeck.com/nnchiba/point-cloud-deep-learning-survey-ver-2 PointNet公開 (ArXiv) CVPR2017
  5. 5. 点群深層学習とは (三次元)点群を深層学習で取り扱う枠組み • 点群を入力/処理/出力するニューラルネットワーク • PointNet [Qi+, CVPR2017] 以降急速に発展 本講演では • 点群を直接入力するためのアプローチ • アプリケーションの例 について紹介
  6. 6. 三次元点群を取り扱う難しさ 要因1: 順不同な入力 点群は点の集合=点の順序が変わっても同じ形状を示す → 点の順序に不変であることが必要 要因2: 剛体変換不変性 剛体変換に伴って変化する特性と変化しない特性が存在 要因3: 疎な点群に対する畳み込み 隣接関係の自明な定義がない
  7. 7. 三次元点群を取り扱う難しさ 要因1: 順不同な入力 点群は点の集合=点の順序が変わっても同じ形状を示す → 点の順序に不変であることが必要 三次元点群の表す形状 三次元点群データ (𝑥𝑥1, 𝑦𝑦1, 𝑧𝑧1) (𝑥𝑥2, 𝑦𝑦2, 𝑧𝑧2) (𝑥𝑥3, 𝑦𝑦3, 𝑧𝑧3) (𝑥𝑥𝑁𝑁, 𝑦𝑦𝑁𝑁, 𝑧𝑧𝑁𝑁) ・・・ (𝑥𝑥𝑖𝑖, 𝑦𝑦𝑖𝑖, 𝑧𝑧𝑖𝑖) (𝑥𝑥𝑗𝑗, 𝑦𝑦𝑗𝑗, 𝑧𝑧𝑗𝑗) ・・・・・・
  8. 8. 三次元点群を取り扱う難しさ 要因1: 順不同な入力 点群は点の集合=点の順序が変わっても同じ形状を示す → 点の順序に不変であることが必要 三次元点群の表す形状 三次元点群データ (𝑥𝑥1, 𝑦𝑦1, 𝑧𝑧1) (𝑥𝑥2, 𝑦𝑦2, 𝑧𝑧2) (𝑥𝑥3, 𝑦𝑦3, 𝑧𝑧3) (𝑥𝑥𝑁𝑁, 𝑦𝑦𝑁𝑁, 𝑧𝑧𝑁𝑁) ・・・ (𝑥𝑥𝑖𝑖, 𝑦𝑦𝑖𝑖, 𝑧𝑧𝑖𝑖) (𝑥𝑥𝑗𝑗, 𝑦𝑦𝑗𝑗, 𝑧𝑧𝑗𝑗) ・・・・・・ 入れ替える 順序を入れ替えても点群としての形状は全く同じ
  9. 9. 順不同な入力を扱う方法 Symmetric Functionを使うアイデア PointNet [Qi+, CVPR2017], Deep Sets [Zaheer+, NIPS2017] ポイント1: 点ごとの変換であれば順序に依存しない ポイント2: グローバルプーリングであれば順序に依存しない
  10. 10. 順不同な入力を扱う方法 Symmetric Functionを使うアイデア ポイント1: 点ごとの変換であれば順序に依存しない 𝑥𝑥1 𝑥𝑥2 𝑥𝑥3 𝑥𝑥𝑁𝑁 ・・・ 𝑥𝑥𝑖𝑖 ・・・ ℎ(𝑥𝑥1) ℎ(𝑥𝑥2) ℎ(𝑥𝑥3) ℎ(𝑥𝑥𝑁𝑁)・・・・・・ ℎ(⋅) ℎ(⋅) ℎ(⋅) ℎ(⋅) ℎ(⋅) ℎ(𝑥𝑥𝑖𝑖) 入力点群 点ごとに変換された特徴量 順序に依存しない変換になっている
  11. 11. 順不同な入力を扱う方法 Symmetric Functionを使うアイデア ポイント2: グローバルプーリングであれば順序に依存しない ℎ(𝑥𝑥1) ℎ(𝑥𝑥2) ℎ(𝑥𝑥3) ℎ(𝑥𝑥𝑁𝑁) ・・・ 𝑔𝑔 ℎ 𝑥𝑥1 , ℎ 𝑥𝑥2 , ⋯ , ℎ 𝑥𝑥𝑁𝑁 ・・・ 𝑔𝑔(⋅) ℎ(𝑥𝑥𝑖𝑖) 点ごとに変換された特徴量 点群全体から集約した特徴量 𝑔𝑔 ⋅ : 特徴量ベクトルの要素(チャンネル)ごとに,最大値・平均値などを計算
  12. 12. 順不同な入力を扱う方法 Symmetric Functionを使うアイデア ポイント1: 点ごとの変換 → PointNetではShared MLP (1x1 Convolution, Pointwise Convolutionと同義) ポイント2: グローバルプーリング → PointNetではMax Pooling 𝑥𝑥1 𝑥𝑥2 𝑥𝑥3 𝑥𝑥𝑁𝑁 ・・・ 𝑥𝑥𝑖𝑖 ・・・ ℎ(𝑥𝑥1) ℎ(𝑥𝑥2) ℎ(𝑥𝑥3) ℎ(𝑥𝑥𝑁𝑁) ・・・ 𝑔𝑔 ℎ 𝑥𝑥1 , ℎ 𝑥𝑥2 , ⋯ , ℎ 𝑥𝑥𝑁𝑁 ・・・ ℎ(⋅) ℎ(⋅) ℎ(⋅) ℎ(⋅) ℎ(⋅) 𝑔𝑔(⋅) ℎ(𝑥𝑥𝑖𝑖) Shared MLP Max Pooling
  13. 13. 三次元点群を取り扱う難しさ 要因2: 剛体変換不変性 剛体変換に伴って変化する特性と変化しない特性が存在 (基準) 種類: バニー (A) 種類: バニー 並進: あり 回転: なし (B) 種類: バニー 並進: あり 回転: あり (C) 種類: ブッダ 並進: あり 回転: あり クラス分類などでは剛体変換不変性な出力が望ましい 剛体変換
  14. 14. 剛体変換を正規化する方法 Spatial Transformer Networks (STN)を導入 Spatial Transformer Networks [Jaderberg+, NIPS2015] 幾何変換のパラメータを推定し正規化する構造を持つ 入力 幾何変換の パラメータを推定 出力 入力 幾何変換の パラメータを推定 出力 パラメータ
  15. 15. 剛体変換を正規化する方法 Spatial Transformer Networks (STN)を導入 Spatial Transformer Networks [Jaderberg+, NIPS2015] 幾何変換のパラメータを推定し正規化する構造を持つ PointNetでの利用法 • Symmetric Functionによって点の順序に不変な グローバル特徴量を入力し剛体変換のパラメータを推定 • (剛体変換ではないが)特徴空間でもSTNを適用, 特徴量空間での変換を行う
  16. 16. PointNetの全体像 T-Net = STN Max Pooling点ごとの特徴量と グローバルな特徴量を結合 • グローバルな特徴量を使ってクラス分類を実現 • 点ごとの特徴量とグローバルな特徴量を結合してから Shared MLPすることで,セマンテッィクセグメンテーションも実現
  17. 17. 三次元点群を取り扱う難しさ 要因3: 疎な点群に対する畳み込み 隣接関係の自明な定義がない 三次元点群の表す形状 三次元点群データ (𝑥𝑥1, 𝑦𝑦1, 𝑧𝑧1) (𝑥𝑥2, 𝑦𝑦2, 𝑧𝑧2) (𝑥𝑥3, 𝑦𝑦3, 𝑧𝑧3) (𝑥𝑥𝑁𝑁, 𝑦𝑦𝑁𝑁, 𝑧𝑧𝑁𝑁) ・・・ (𝑥𝑥𝑖𝑖, 𝑦𝑦𝑖𝑖, 𝑧𝑧𝑖𝑖) (𝑥𝑥𝑗𝑗, 𝑦𝑦𝑗𝑗, 𝑧𝑧𝑗𝑗) ・・・・・・ この点に 対する 近傍は? データ上の隣接関係は当然関係ない
  18. 18. 三次元点群を取り扱う難しさ 要因3: 疎な点群に対する畳み込み 隣接関係の自明な定義がない → PointNet以降,多数の手法が提案された 手法の分類の例 (点群深層学習Meta-studyスライドより) • 二次元の畳み込みに帰着 • 地面方向(重力方向)は既知として2Dに変換 • 接平面に投影 • 三次元座標を基準とした空間的畳み込み • 世界座標系上のボクセルグリッド • 点ごとのボクセルグリッド • 点ごとの非ボクセルな固定形状のカーネル • 点ごとにフレキシブルな形状のカーネル • 近傍点グラフを基準とした畳み込み • 三次元空間での距離 • 特徴空間での距離 • その他の表現を利用した近傍情報・局所形状の利用 Kd-Tree,自己組織化マップ,PPF,CRF,SDF,Octree,etc… 千葉.点群深層学習Meta-study. https://www.slideshare.net/naoyachiba18/metastudy
  19. 19. Pointwise CNNのPointwise Convolution [Hua+, CVPR2018] 1. 点ごとにボクセルグリッドでカーネルを定義 2. ボクセルごとに特徴量の平均を求め,畳み込み 演算は高速だが剛体変換によって変化してしまう 畳み込みの手法の一例
  20. 20. Tangent Convolution [Tatarchenko+, CVPR2018] 1. 各点の接平面上を求める 2. 節平面上に近傍点を投影 3. 接平面を埋めるように補間 4. 2D CNNで畳み込み 三次元点の投影 Full Gaussian MixtureNearest Neighbor Top-3 Neighbors Gaussian Mixture 畳み込みの手法の一例
  21. 21. 畳み込みの手法の一例 Dynamic Graph CNN (DG-CNN) のEdgeConv [Wang+, ACM ToG, 2019] 1. エッジごとに特徴量を計算 2. ノードごとにエッジの特徴量を集約 2点の特徴量から, それらを繋ぐエッジの 特徴量を計算 エッジの特徴量を集約
  22. 22. 三次元点群を取り扱う難しさ 要因3: 疎な点群に対する畳み込み 隣接関係の自明な定義がない → PointNet以降,多数の手法が提案された そのうち • Pointwise Convolution • Tangent Convolution • EdgeConv を紹介 局所形状を利用するための畳み込みは 有効なアプローチだと思われるが, まだ整理・評価が進んでいないのが現状
  23. 23. アプリケーションの例 ベンチマーク的なアプリケーション • クラス分類 • (セマンティック/インスタンス)セグメンテーション 実利用寄りなアプリケーション • 物体検出・物体認識 VoxelNet [Zhou+, CVPR2018],Frustum PointNet [Qi+, CVPR2018]など • 点群の位置合わせ(Global Registration) 3DMatch [Zeng+, CVPR2017],3D Feat-Net [Yew+, ECCV2018]など • 点群の位置合わせ(Local Registration) IT-Net [Yuan+, arXiv],PointNetLK [Aoki+, CVPR2019]など • アップサンプリング PU-Net [Yu+, CVPR2018],Progressive Upsampling [Yuan+, 3DV2018]など • 形状補完 Under Weak Supervision [Stutz+, CVPR2018],Latent Optimization [Gurumurthy+, arXiv]など • その他 ノイズ除去 [Rakotosaona+, arXiv],手の姿勢推定 [Ge+, ECCV2018],把持姿勢の評価 [Liang+, arXiv] など
  24. 24. アプリケーションの例 物体検出・物体認識 VoxelNet [Zhou+, CVPR2018] KITTIデータセットで 車,歩行者などの検出 点群の位置合わせ (Global Registration) 3DMatch [Zeng+, CVPR2017] 位置合わせのための 局所点群を記述する特徴量を学習 点群の位置合わせ (Local Registration) PointNetLK [Aoki+, CVPR2019] Lucas-Kanade法とPointNetを 組み合わせて点群同士の位置合わせ
  25. 25. アプリケーションの例 アップサンプリング Progressive Upsampling [Yuan+, 3DV2018] パッチベースのアップサンプリング 形状補完 Latent Optimization [Gurumurthy+, arXiv] GANを使って潜在空間で ノイズ除去することで 三次元形状を補完 手の姿勢推定 P2P Regression PointNet [Ge+, CVPR2018] 手の三次元点群から 関節位置を推定
  26. 26. まとめ 三次元点群をニューラルネットワークで取り扱う ための枠組み・アイデアが出揃いつつある 局所形状の利用法(畳み込みなど)についても 徐々に整理されていくことが予想される まだベンチマーク性能はそれほど良くない 三次元点群を用いたことによる限界かは不明 今後さらに性能が向上することを期待している 三次元点群を用いることのメリットが生きる アプリケーションを設定することが重要 実スケールを取り扱えるため,実空間系アプリ(xR,ロボットなど) とは相性が良いはず
  27. 27. 日本語で公開されている資料等の紹介 • VISION&IT Lab 皆川さんのSlideShare上の各資料 https://www.slideshare.net/takmin/ • @obaradsさんの各資料 https://obarads.github.io/ • 深層学習を用いた三次元物体認識(産総研 金崎先生) https://kanezaki.github.io/media/CRESTSeminar20181030_AsakoKanezaki.pdf • cvpaper.challengeの各資料 http://hirokatsukataoka.net/project/cc/index_cvpaperchallenge.html (以下,私が作成・公開している資料) • 三次元点群を取り扱うニューラルネットワークのサーベイ Ver. 2 https://speakerdeck.com/nnchiba/point-cloud-deep-learning-survey-ver-2?slide=14 • 点群深層学習 Meta-study (cvpaper.challengeの一環) https://www.slideshare.net/naoyachiba18/metastudy

×