Upgrade to Pro — share decks privately, control downloads, hide ads and more …

三次元点群を取り扱うニューラルネットワークのサーベイ Ver. 2 / Point Cloud...

三次元点群を取り扱うニューラルネットワークのサーベイ Ver. 2 / Point Cloud Deep Learning Survey Ver. 2

興味を持った点群深層学習の関連の論文についてまとめました.図などは各論文から引用しています.(最近は論文が多く,あまり網羅はできていません)
間違いなどあればご指摘頂けるとありがたいです.

論文リスト: https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing
Ver. 1: https://www.slideshare.net/naoyachiba18/ss-120302579

Naoya Chiba

April 18, 2019
Tweet

More Decks by Naoya Chiba

Other Decks in Research

Transcript

  1. はじめに PointNet (CVPR2017) 以降,点群深層学習の研究が盛んに なった 三次元点群 (Point Cloud) は,入力点の順番によらず同じ形状を 記述できる「順不同なデータ構造」(三次元点の集合)であるため,

    取り扱いが難しかった 昨年三次元点群を取り扱う論文のサーベイを行ったところ, ありがたいことに想定よりも多くの人に見て頂いた 引き続きサーベイしたので,追加分と合わせて公開します 相変わらず間違っている部分もあるかと思います 何かお気づきの場合はご指摘頂けるとありがたいです 傾向・感想などを含めた研究動向については,後日改めて 別の資料を公開しようと考えていますので本資料には含みません
  2. まとめた論文の一覧 (1/10) PointNetに至るまで 1. STN: M. Jaderberg, et al.. Spatial

    Transformer Networks. NIPS2015. (2015-01-05) 2. Permutation Equivariant Layer: S. Ravanbakhsh, et al.. Deep Learning with Sets and Point Clouds. ICLR2017-WS. (2016-11-14) 3. PointNet: C. R. Qi, et al.. PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation. CVPR2017. (2016-12-02) 4. Deep Sets: M. Zaheer, et al.. Deep Sets. NIPS2017. (2017-03-10) 局所形状の利用・畳み込み: グリッド構造に変換 5. Generalized CNN: J.-C. Vialatte, et al.. Generalizing the Convolution Operator to extend CNNs to Irregular Domains. (2016-06-03) 6. OctNet: G. Riegler, et al.. OctNet: Learning Deep 3D Representations at High Resolutions. CVPR2017. (2016-11-15) 7. O-CNN: P.-S. Wang, et al.. O-CNN: Octree-based Convolutional Neural Networks for 3D Shape Analysis. SIGGRAPH2017. (2017-07-03) 8. RSNet: Q. Huang, et al.. Recurrent Slice Networks for 3D Segmentation of Point Clouds. CVPR2018. (2018-02-13) 9. PointGrid: T. Le, et al.. PointGrid: A Deep Network for 3D Shape Understanding. CVPR2018. (2018-06-18) 10. AO-CNN: P.-S. Wang, et al.. Adaptive O-CNN: A Patch-based Deep Representation of 3D Shapes. SIGGRAPH Asia2018. (2018-09-19) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  3. まとめた論文の一覧 (2/10) 局所形状の利用・畳み込み: 各点に集約 11. ECC: M. Simonovsky, et al..

    Dynamic Edge-Conditioned Filters in Convolutional Neural Networks on Graphs. CVPR2017. (2017-04-10) 12. SSCN: B. Graham, et al.. Submanifold Sparse Convolutional Networks. (2017-06-05) 13. PointNet++: C. R. Qi, et al.. PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space. NIPS2017. (2017-06-07) 14. Pointwise CNN: B.-S. Hua, et al.. Pointwise Convolutional Neural Networks. CVPR2018. (2017-12-14) 15. KCN: Y. Shen, et al.. Mining Point Cloud Local Structures by Kernel Correlation and Graph Pooling. CVPR2018. (2017-12-19) 16. PointCNN: Y. Li, et al.. PointCNN. (2018-01-23) 17. DG-CNN: Y. Wang, et al.. Dynamic Graph CNN for Learning on Point Clouds. (2018-01-24) 18. LocalSpecGCN: C. Wang, et al.. Local Spectral Graph Convolution for Point Set Feature Learning. ECCV2018. (2018-03-15) 19. Flex-Convolution: F. Groh, et al.. Flex-Convolution (Million-Scale Point-Cloud Learning Beyond Grid-Worlds). ACCV2018. (2018-03-20) 20. SpiderCNN: Y. Xu, et al.. SpiderCNN: Deep Learning on Point Sets with Parameterized Convolutional Filters. ECCV2018. (2018-03-30) 21. PointGCN: Y. Zhang, et al.. A Graph-CNN for 3D Point Cloud Classification. ICASSP2018. (2018-04-15) 22. MCCNN: P. Hermosilla, et al.. Monte Carlo Convolution for Learning on Non-Uniformly Sampled Point Clouds. SIGGRAPH Asia2018. (2018-06-05) 23. Parametric Continuous Convolutions: S. Wang, et al.. Deep Parametric Continuous Convolutional Neural Networks. CVPR2018. (2018-06-18) 24. Tangent Convolution: M. Tatarchenko, et al.. Tangent Convolutions for Dense Prediction in 3D. CVPR2018. (2018-06-18) 25. SCN: S. Xie, et al.. Attentional ShapeContextNet for Point Cloud Recognition. CVPR2018. (2018-06-18) 26. PointSIFT: M. Jiang, et al.. PointSIFT: A SIFT-like Network Module for 3D Point Cloud Semantic Segmentation. (2018-07-02) 27. Fully Convolutional Point Network: D. Rethage, et al.. Fully-Convolutional Point Networks for Large-Scale Point Clouds. ECCV2018. (2018-08-21) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  4. まとめた論文の一覧 (3/10) 局所形状の利用・畳み込み: 点群・ボクセル以外に変換 28. Kd-Net: R. Klokov, et al..

    Escape from Cells: Deep Kd-Networks for The Recognition of 3D Point Cloud Models. ICCV2017. (2017-04-04) 29. 3DmFV: Y. Ben-Shabat, et al.. 3DmFV: Three-Dimensional Point Cloud Classification in Real-Time Using Convolutional Neural Networks. RA-L. (2017-11-22) 30. PPFNet: H. Deng, et al.. PPFNet: Global Context Aware Local Features for Robust 3D Point Matching. CVPR2018. (2018-02-07) 31. SO-Net: J. Li, et al.. SO-Net: Self-Organizing Network for Point Cloud Analysis. CVPR2018. (2018-03-12) 32. PCNN: M. Atzmon, et al.. Point Convolutional Neural Networks by Extension Operators. SIGGRAPH2018. (2018-03-27) 33. Automatic Depth Image Generation: R. Roveri, et al.. A Network Architecture for Point Cloud Classification via Automatic Depth Images Generation. CVPR2018. (2018-06-18) 34. MRTNet: M. Gadelha, et al.. Multiresolution Tree Networks for 3D Point Cloud Processing. ECCV2018. (2018-07-10) 35. MeshNet: Y. Feng, et al.. MeshNet: Mesh Neural Network for 3D Shape Representation. AAAI2019. (2018-11-28) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  5. まとめた論文の一覧 (4/10) 局所形状の利用・畳み込み: 特殊なレイヤー 36. FPNN: Y. Li, et al..

    FPNN: Field Probing Neural Networks for 3D Data. NIPS2016. (2016-05-20) 37. Learning SO(3): C. Esteves, et al.. Learning SO(3) Equivariant Representations with Spherical CNNs. ECCV2018. (2017-11-17) 38. SPLATNet: H. Su, et al.. SPLATNet: Sparse Lattice Networks for Point Cloud Processing. CVPR2018. (2018-02-22) 39. CubeNet: D. Worrall, et al.. CubeNet: Equivariance to 3D Rotation and Translation. ECCV2018. (2018-04-12) 40. URSA: M. B. Skouson. URSA: A Neural Network for Unordered Point Clouds Using Constellations. (2018-08-14) 41. Point Attention Network: C. Kingkan, et al.. Point Attention Network for Gesture Recognition Using Point Cloud Data. BMVC2018. (2018-09-03) 42. 3DCapsule: A. Cheraghian, et al.. 3DCapsule: Extending the Capsule Architecture to Classify 3D Point Clouds. WACV2019. (2018-11-06) 43. Point2Sequence: X. Liu, et al.. Point2Sequence: Learning the Shape Representation of 3D Point Clouds with an Attention-based Sequence to Sequence Network. AAAI2019. (2018-11-06) 44. MortonNet: A. Thabet, et al.. MortonNet: Self-Supervised Learning of Local Features in 3D Point Clouds. (2019-03-30) 45. Discrete Rotation Equivariance: J. Li, et al.. Discrete Rotation Equivariance for Point Cloud Recognition. ICRA2019. (2019-03-31) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  6. まとめた論文の一覧 (5/10) アプリケーション: セグメンテーション 46. SEGCloud: L. P. Tchapmi, et

    al.. SEGCloud: Semantic Segmentation of 3D Point Clouds. 3DV2017. (2017-10-20) 47. SGPN: W. Wang, et al.. SGPN: Similarity Group Proposal Network for 3D Point Cloud Instance Segmentation. CVPR2018. (2017-11-23) 48. Semantic Segmentation with SSCN: B. Graham, et al.. 3D Semantic Segmentation with Submanifold Sparse Convolutional Networks. CVPR2018. (2017-11-28) 49. 3P-RNN: X. Ye, et al.. 3D Recurrent Neural Networks with Context Fusion for Point Cloud Semantic Segmentation. ECCV2018. (2018-10-08) 50. DNNSP: Z. Wang, et al.. A Deep Neural Network With Spatial Pooling (DNNSP) for 3-D Point Cloud Classification. TGRS. (2018-05-22) 51. Know What Your Neighbors Do: F. Engelmann, et al.. Know What Your Neighbors Do: 3D Semantic Segmentation of Point Clouds. (2018-10-02) 52. MCPNet: J. Chen, et al.. Multi-view Incremental Segmentation of 3D Point Clouds for Mobile Robots. RA-L. (2019-02-18) 53. CoSegNet: C. Zhu, et al.. CoSegNet: Deep Co-Segmentation of 3D Shapes with Group Consistency Loss. (2019-03-25) 54. JSIS3D: Q.-H. Pham, et al.. JSIS3D: Joint Semantic-Instance Segmentation of 3D Point Clouds with Multi-Task Pointwise Networks and Multi-Value Conditional Random Fields. CVPR2019. (2019-04-01) 55. Semantic KITTI: J. Behley, et al.. A Dataset for Semantic Segmentation of Point Cloud Sequences. (2019-04-02) 56. Point Cloud Oversegmentation: L. Landrieu, et al.. Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning. CVPR2019. (2019-04-03) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  7. まとめた論文の一覧 (6/10) アプリケーション: 物体検出 57. Deep Sliding Shapes: S. Song,

    et al.. Deep Sliding Shapes for Amodal 3D Object Detection in RGB-D Images. CVPR2016. (2016-06-26) 58. 3DCNN-DQN-RNN: F. Liu, et al.. A Deep Reinforcement Learning Framework for Semantic Parsing of Large-scale 3D Point Clouds. ICCV2017. (2017-07-21) 59. VoxelNet: Y. Zhou, et al.. VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection. CVPR2018. (2017-11-17) 60. Frustum PointNet: C. R. Qi, et al.. Frustum PointNets for 3D Object Detection from RGB-D Data. CVPR2018. (2017-11-22) 61. PointFusion: D. Xu, et al.. PointFusion: Deep Sensor Fusion for 3D Bounding Box Estimation. CVPR2018. (2017-11-29) 62. AVOD: J. Ku, et al.. Joint 3D Proposal Generation and Object Detection from View Aggregation. (2017-12-06) 63. RoarNet: K. Shin, et al.. RoarNet: A Robust 3D Object Detection based on RegiOn Approximation Refinement. (2018-11-09) 64. Complex-YOLO: M. Simon, et al.. Complex-YOLO: Real-time 3D Object Detection on Point Clouds. (2018-03-16) 65. PIXOR: B. Yang, et al.. PIXOR: Real-Time 3D Object Detection From Point Clouds. CVPR2018. (2018-06-18) 66. Deep Continuous Fusion: M. Liang, et al.. Deep Continuous Fusion for Multi-Sensor 3D Object Detection. ECCV2018. (2018-09-08) 67. HDNET: B. Yang, et al.. HDNET: Exploiting HD Maps for 3D Object Detection. CoRL2018. (2018-10-29) 68. PointPillars: A. H. Lang, et al.. PointPillars: Fast Encoders for Object Detection from Point Clouds. (2018-12-14) 69. 3DBN: X. Li, et al.. 3D Backbone Network for 3D Object Detection. (2019-01-24) 70. Frustum ConvNet: Z. Wang, et al.. Frustum ConvNet: Sliding Frustums to Aggregate Local Point-Wise Features for Amodal 3D Object Detection. (2019-03-05) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  8. まとめた論文の一覧 (7/10) アプリケーション: 位置合わせ・局所特徴量 71. 3DMatch: A. Zeng, et al..

    3DMatch: Learning Local Geometric Descriptors from RGB-D Reconstructions. CVPR2017. (2016-03-27) 72. LORAX: G. Elbaz, et al.. 3D Point Cloud Registration for Localization Using a Deep Neural Network Auto-Encoder. CVPR2017. (2017-07-21) 73. CGF: M. Khoury, et al.. Learning Compact Geometric Features. ICCV2017. (2017-09-15) 74. Local Feature Descriptor: Z. Gojcic, et al.. Learned compact local feature descriptor for TLS-based geodetic monitoring of natural outdoor scenes. ISPRS Ann. Photogramm. Remote Sens. Spatial Inf. Sci., IV-2. (2018-05-28) 75. 3DFeat-Net: Z. J. Yew, et al.. 3DFeat-Net: Weakly Supervised Local 3D Features for Point Cloud Registration. ECCV2018. (2018-07-25) 76. 3DSmoothNet: Z. Gojcic, et al.. The Perfect Match: 3D Point Cloud Matching with Smoothed Densities. (2018-11-16) 77. IT-Net: W. Yuan, et al.. Iterative Transformer Network for 3D Point Cloud. (2018-11-27) 78. DenseFusion: C. Wang, et al.. DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion. (2019-01-15) 79. PointNetLK: Y. Aoki, et al.. PointNetLK: Robust & Efficient Point Cloud Registration using PointNet. CVPR2019. (2019-03-13) 80. OREOS: L. Schaupp, et al.. OREOS: Oriented Recognition of 3D Point Clouds in Outdoor Scenarios. (2019-03-19) 81. DeepPoint3D: S. Srivastava, et al.. DeepPoint3D: Learning Discriminative Local Descriptors using Deep Metric Learning on 3D Point Clouds. Pattern Recognition Letters. (2019-03-27) 82. USIP: J. Li, et al.. USIP: Unsupervised Stable Interest Point Detection from 3D Point Clouds. (2019-03-30) 83. 3DRegNet: G. D. Pais, et al.. 3DRegNet: A Deep Neural Network for 3D Point Registration. (2019-04-02) 84. RelativeNet: H. Deng, et al.. 3D Local Features for Direct Pairwise Registration. CVPR2019. (2019-04-08) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  9. まとめた論文の一覧 (8/10) アプリケーション: 三次元形状の生成・オートエンコーダー 85. Learning Representations and Generative Models:

    P. Achlioptas, et al.. Learning Representations and Generative Models for 3D Point Clouds. ICLR2018. (2017-07-08) 86. Shape Generation using Spatially Partitioned Point Clouds: M. Gadelha, et al.. Shape Generation using Spatially Partitioned Point Clouds. BMVC2017. (2017-07-19) 87. FoldingNet: Y. Yang, et al.. FoldingNet: Point Cloud Auto-encoder via Deep Grid Deformation. CVPR2018. (2017-12-19) 88. AtlasNet: T. Groueix, et al.. AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation. CVPR2018. (2018-02-15) 89. P2P-Net: K. Yin, et al.. P2P-NET: Bidirectional Point Displacement Net for Shape Transform. SIGGRAPH2018. (2018-03-25) 90. PCN: W. Yuan, et al.. PCN: Point Completion Network. 3DV2018. (2018-08-02) 91. Point Cloud VAE-GAN: C. Kingkan, et al.. Generating Mesh-based Shapes From Learned Latent Spaces of Point Clouds with VAE-GAN. ICPR2018. (2018-08-20) 92. PPF-FoldingNet: H. Deng, et al.. PPF-FoldNet: Unsupervised Learning of Rotation Invariant 3D Local Descriptors. ECCV2018. (2018-08-30) 93. DeepSDF: J. J. Park, et al.. DeepSDF: Learning Continuous Signed Distance Functions for Shape Representation. (2019-01-16) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  10. まとめた論文の一覧 (9/10) アプリケーション: アップサンプリング・形状補完・ノイズ除去 94. 3D-EPN: A. Dai, et al..

    Shape Completion using 3D-Encoder-Predictor CNNs and Shape Synthesis. CVPR2017. (2016-12-01) 95. PU-Net: L. Yu, et al.. PU-Net: Point Cloud Upsampling Network. CVPR2018. (2018-01-21) 96. Shape Completion under Weak Supervision: D. Stutz, et al.. Learning 3D Shape Completion under Weak Supervision. CVPR2018. (2018-05-18) 97. PointProNets: R. Roveri, et al.. PointProNets: Consolidation of Point Clouds with Convolutional Neural Networks. Eurographics2018. (2018-05-22) 98. Data-driven Upsampling: W. Zhang, et al.. Data-driven Upsampling of Point Clouds. (2018-07-08) 99. Shape Completion using Latent Optimization: S. Gurumurthy, et al.. High Fidelity Semantic Shape Completion for Point Clouds using Latent Optimization. (2018-07-09) 100. Patch-based Progressive Upsampling: W. Yifan, et al.. Patch-based Progressive 3D Point Set Upsampling. (2018-11-27) 101. PointCleanNet: M.-J. Rakotosaona, et al.. POINTCLEANNET: Learning to Denoise and Remove Outliers from Dense Point Clouds. (2019-01-04) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  11. まとめた論文の一覧 (10/10) アプリケーション: その他 102. SchNet: K. T. Schütt, et

    al.. SchNet: A continuous-filter convolutional neural network for modeling quantum interactions. NIPS2017. (2017-06-26) 103. Hand Pose Estimation from Single Depth Images: L. Ge, et al.. 3D Convolutional Neural Networks for Efficient and Robust Hand Pose Estimation from Single Depth Images. CVPR2017. (2017-07-21) 104. PCPNet: P. Guerrero, et al.. PCPNET: Learning Local Shape Properties from Raw Point Clouds. Eurographics2018. (2017-10-13) 105. PointNetVLAD: M. A. Uy, et al.. PointNetVLAD: Deep Point Cloud Based Retrieval for Large-Scale Place Recognition. CVPR2018. (2018-04-10) 106. Hand PointNet: L. Ge, et al.. Hand PointNet: 3D Hand Pose Estimation Using Point Sets. CVPR2018. (2018-06-18) 107. PointNetGPD: H. Liang, et al.. PointNetGPD: Detecting Grasp Configurations from Point Sets. (2018-09-17) 108. P2P Reg PointNet: L. Ge, et al.. Point-to-Point Regression PointNet for 3D Hand Pose Estimation. ECCV2018. (2018-10-08) 109. Adversarial Attacks: D. Liu, et al.. Extending Adversarial Attacks and Defenses to Deep 3D Point Cloud Classifiers. (2019-01-10) 110. CloudContext: J. Sauder, et al.. Context Prediction for Unsupervised Deep Learning on Point Clouds. (2019-01-24) Google Spreadsheetsで公開しています https://docs.google.com/spreadsheets/d/1l4NTSEpn6O1KbZO22CwUwojAyimGMSRABVDwV-wYK6Q/edit?usp=sharing まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました
  12. まとめた論文の発表時期 0 10 20 30 40 50 60 70 2014/6/10

    2014/12/27 2015/7/15 2016/1/31 2016/8/18 2017/3/6 2017/9/22 2018/4/10 2018/10/27 2019/5/15 2019/12/1 本数 公開日 PointNetに至るまで 局所形状の利用・畳み込み アプリケーション 徐々にアプリケーション寄りの論文も増えつつある
  13. 参考文献 本資料を作成するにあたり,以下の資料を参照しました. 資料を作成・公開頂き本当にありがとうございます. • VISION&IT Lab 皆川さんのSlideShare上の各資料 https://www.slideshare.net/takmin/ • @obaradsさんの各資料

    https://obarads.github.io/ • 深層学習を用いた三次元物体認識(産総研 金崎先生) https://kanezaki.github.io/media/CRESTSeminar20181030_AsakoKanezaki.pdf • 3D Machine Learning(Mr. Yuxuan Zhang) https://github.com/timzhang642/3D-Machine-Learning • cvpaper.challengeの各資料 http://hirokatsukataoka.net/project/cc/index_cvpaperchallenge.html
  14. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  15. 1. STN (Ver. 1収録) [M. Jaderberg+, NIPS2015, arXiv:1506.02025, 2015-01-05] 幾何学変換を扱えるネットワーク

    • Spatial Transformer Network (STN) を組み込むことで ネットワークが幾何学変換に対応できるようになる • PyTorchのチュートリアルがある https://pytorch.org/tutorials/intermediate/spatial_transformer_tutorial.html 評価 • クラス分類 MNIST, Street View House Numbers, CUB-200-2011 birds dataset
  16. 1. STN (Ver. 1収録) [M. Jaderberg+, NIPS2015, arXiv:1506.02025, 2015-01-05] Grid

    Generator • Transformer Netの出力θで座標系(Grid)を変換する • 二次元アフィン変換であればθは6次元 Gridを変換
  17. 1. STN (Ver. 1収録) [M. Jaderberg+, NIPS2015, arXiv:1506.02025, 2015-01-05] Sampler

    • 変換したGridに乗っている値を取り出す • どんなサンプリング方式でも可 • 点群ではこの処理は不要 →gridに縛られない点群の良いところ
  18. 2. Permutation Equivariant Layer [S. Ravanbakhsh+, ICLR2017WS, arXiv:1611.04500, 2016-11-14] 順不同な入力に対応したレイヤーの提案

    内容はほぼPointNetでのSymmetric Function ただしPointNet以前に提案されている 評価方法 • クラス分類 ModelNet40, MNISTをN枚まとめたセットの合計 • 半教師あり学習 CelebAで異常検知 • 回帰 redMaPPer galaxy cluster catalog
  19. 2. Permutation Equivariant Layer [S. Ravanbakhsh+, ICLR2017WS, arXiv:1611.04500, 2016-11-14] Permutation

    Equivariantな関数 入力を並べ替えると出力の順序も同じように並べ替わる Permutation Invariantな関数 (Symmetric Function) 入力を並べ替えても出力が変化しない N要素のとりうる全順序の対称群 N要素を並べる順序 N要素のとりうる全順序の対称群 N要素を並べる順序
  20. 2. Permutation Equivariant Layer [S. Ravanbakhsh+, ICLR2017WS, arXiv:1611.04500, 2016-11-14] Symmetric

    Functionの例 総和,最大 (= Max Pooling) その他の知見 • 点ごとに特徴量を変換するとき,総和や最大との差を 出力することで共変量シフトが減少 → バッチ正則化が不要 • Dropoutをするときにはチャンネル単位でまとめて 行うことが効果的
  21. 3. PointNet(Ver. 1収録) [C. R. Qi+, CVPR2017, arXiv:1612.00593, 2016-12-02] 点群を直接入力できるネットワークの設計

    点の順番が変化しても出力が変わらないような Symmetric Functionを学習する 評価 • クラス分類 ModelNet40 • セグメンテーション ShapeNet-Part (+ Blensor Kinect Simulator), S3DIS
  22. 3. PointNet(Ver. 1収録) [C. R. Qi+, CVPR2017, arXiv:1612.00593, 2016-12-02] Symmetric

    Functionによって順不同な入力を扱う • 三次元点群は順不同(irregular)なデータ形式 • 考えられるアプローチは3つ • ソートする • RNNの入力シーケンスとして扱う(全組み合わせで学習する) • Symmetric Functionを使う → PointNetはこのアプローチ • PointNetでは ⋅ としてMax Poolingを用いる 点ごとに独立した変換 (Shared MLPなど) 点の順序が影響しない関数 Max Poolingなど これもSymmetric Function Symmetric Function (の順序の影響を受けない)
  23. 3. PointNet(Ver. 1収録) [C. R. Qi+, CVPR2017, arXiv:1612.00593, 2016-12-02] ローカルな特徴はどうするか

    → グローバルな特徴と点ごとの特徴を結合して 最終的なポイントごとの特徴とする T-net (STN) の導入 • 回転・並進の正規化するために入力点群を T-Net (STN)で剛体変換 • 特徴量もFeature Alignment Networkで変換 • これもT-Net (STN) • 正規直交行列になるようロスを設計 (正規直交変換であれば情報を失わないため)
  24. 3. PointNet(Ver. 1収録) [C. R. Qi+, CVPR2017, arXiv:1612.00593, 2016-12-02] ネットワークの構造

    T-Net = STN Max Pooling 点ごとの特徴と グローバルな特徴を結合
  25. 4. Deep Sets [M. Zaheer+, NIPS2017, arXiv:1703.06114, 2017-03-10] 集合を入力として扱うことができる構造の ネットワークDeepSetsの提案

    • 順不同なデータに対応できる • 要素数が変化しても対応できる • 三次元点群に限定はしていない 評価 • 回帰問題 MNISTを組み合わせた画像セットの合計 • クラス分類 Galactic astronomy(赤方偏移推定,ModelNet40), 独自データセットでの文意推定, 画像タグ付け(ESPGame, IAPRTC-12.5, COCO-tag), CelebAを組み合わせた画像セットでの異常値推定
  26. 4. Deep Sets [M. Zaheer+, NIPS2017, arXiv:1703.06114, 2017-03-10] 集合を入力とする関数について •

    Deep Learning with Sets and Point Cloudsと同様の議論 • Permutation Equivariantな関数 • Permutation Invariantな関数 (Symmetric Function) DeepSets 各データについて共通の関数を独立に適用 PointNetのShared MLPに相当 このときConditionなどの情報があればそれを加えても良い 全データについて総和やMax Poolingなどで集約 Global Featureに相当する特徴量を得る データごとの特徴量を加えても良い Point Featureに相当
  27. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  28. 5. Generalized CNN [J.-C. Vialatte+, arXiv:1606.01166, 2019-06-03] グリッド上に整列されていないデータ構造 (点群など)に対する畳み込み Generalized

    CNN (G-CNN)の提案 三次元点群については直接言及していないが, 後に似たアイデアが点群でも用いられている 評価 • クラス分類 MNIST 注目点周りにグリッド状の カーネルを設定し畳み込む
  29. 5. Generalized CNN [J.-C. Vialatte+, arXiv:1606.01166, 2019-06-03] アイデア 各点ごとに近傍点を畳み込むためのグリッドカーネルを 設定(チャンネルごとにカーネルの重みは共有)

    カーネル中の各領域に点があれば,その要素の重みを 掛けて足し合わせる 整列されていないデータの場合 整列されたデータの場合 (普通の2D CNNと同じになる)
  30. 6. OctNet (Ver. 1収録) [G. Riegler+, CVPR2017, arXiv:1611.05009, 2016-11-15] 高解像度なボクセルグリッドを扱えるOctNetの提案

    • データの密度に従って空間を分割 • 点のない空間は分割しないことで 計算リソースとメモリリソースを節約 • PointNet以前の論文 評価 • クラス分類 ModelNet10, ModelNet40 • 回転推定 ModelNet10, Biwi Kinect Head Pose Database • セグメンテーション RueMonge2014
  31. 6. OctNet (Ver. 1収録) [G. Riegler+, CVPR2017, arXiv:1611.05009, 2016-11-15] 生のOctreeはディープラーニングと相性が悪い

    生のOctree実装の多くは木構造をポインタで持つため → Hybrid Grid-Octreeによって解決 A. Miller, et al.. Real-time rendering and dynamic updating of 3-d volumetric data. GPGPU-WS. • 浅いOctreeを階層的に配置 • 一つの階層におけるOctreeをビット列で表現
  32. 6. OctNet (Ver. 1収録) [G. Riegler+, CVPR2017, arXiv:1611.05009, 2016-11-15] Hybrid

    Grid-Octreeの利点 • 簡単な演算で子Octreeのインデックスを得られる • この演算自体もpopcntで高速な実装ができる Network Operations • Convolution, Pooling, Unpoolingを効率よく行いたい • 点ごとの操作(Shared MLPや活性化関数)は データ構造に依存しないので問題ではない
  33. 6. OctNet (Ver. 1収録) [G. Riegler+, CVPR2017, arXiv:1611.05009, 2016-11-15] Hybrid

    Grid-Octree上でのConvolution • Octreeとカーネルの畳み込み: サブボクセルの畳み込みに分けると計算結果を 使い回せる • 計算しなければいけないサブボクセルのパターンは カーネルとの位置関係によって領域ごとに異なる サブボクセルのパターン 一般的な三次元の畳み込みと 提案する畳み込みの比較
  34. 7. O-CNN (Ver. 1収録) [P. –S. Wang+, SIGGRAPH2017, 2018-07-03] Octree上でのCNN:

    O-CNNを提案 OctreeをCNNで効率よく計算できるデータ構造を設計 • GPU上で高速に計算できる • メモリ・計算コストは深さに対して2乗で増加 (空間解像度は3乗に増加するので効率が良いといえる) 評価 • クラス分類 ModelNet40 • Shape retrieval ShapeNet-Core55 • セグメンテーション ShapeNet-Sem
  35. 7. O-CNN (Ver. 1収録) [P. –S. Wang+, SIGGRAPH2017, 2018-07-03] Shuffle

    Key + Label • Shuffle Key: Octree上の座標をビット表現 Jane Wilhelms, et al.. Octrees for faster isosurface generation. TOG, 1992. • 八分木の各リーフを3ビットで表現, レイヤー順に結合 • レイヤーであれば3ビットを使用 • Label • Octreeのレイヤーごとにボクセルに ラベル(インデックス)をつける • 空ならゼロ Super-octree Mini-batch中もOctreeをすべてオーバーラップ, 一つでもボクセルが空でなければLabelをつける
  36. 7. O-CNN (Ver. 1収録) [P. –S. Wang+, SIGGRAPH2017, 2018-07-03] Convolution

    • Shuffle key → LabelのHash Tableを作成 • 近傍ボクセルをまとめて処理 Pooling, Unpooling KernelとStrideを2にするとボクセルの構造と一致し, 簡単に処理できる 二次元の例: (左)各ボクセル独立に処理すると9x4=36回だけHash Tableにアクセス (右)隣接4ボクセルをまとめると16回でよい
  37. 8. RSNet(Ver. 1収録) [Q. Huang+, CVPR2018, arXiv:1802.04402, 2018-02-13] 点群を順序付きのボクセルに変換し入力する ネットワークRecurrent

    Slice Network (RSNet) を提案 順不同な点群入力に軸に沿った順序構造を導入 RSNetの構成要素 • Slice Pooling Layer • RNN layers • Slice Unpooling Layer 評価 • セグメンテーション S3DIS, ScanNet, ShapeNet-Part
  38. 8. RSNet(Ver. 1収録) [Q. Huang+, CVPR2018, arXiv:1802.04402, 2018-02-13] 処理の流れ 1.

    Input Feature Extraction 入力前にShared MLP 2. Slice Pooling Layer x,y,zの各軸に沿って点群を スライスしてMax Pooling 3. RNN layers スライスした点群を順に bidirectional RNNに入力 4. Slice Unpooling Layer RNNからの出力を 対象スライス上の全点に反映 5. Output Feature Extraction Slice Unpooling Layerの出力を 各点ごとに結合,Shared MLPで最終的なクラスに変換 Slice Pooling Layer Slice Unpooling Layer
  39. 8. RSNet(Ver. 1収録) [Q. Huang+, CVPR2018, arXiv:1802.04402, 2018-02-13] ネットワークの構造 x,y,zの各軸に

    対して行う Slice Pooling Layer RNN Layer Slice Unpooling Layer Shared MLP Shared MLP
  40. 9. PointGrid(Ver. 1収録) [T. Le+, CVPR2018, 2018-06-18] 点群からボクセルへのサンプリングを工夫し, ボクセルの畳み込みを学習するPointGridの提案 •

    ボクセル中の点の座標を直接入力 • 各ボクセルで点数が等しくなるようサンプリング 評価 • クラス分類 ModelNet40, ShapeNet-Core v2 • セグメンテーション ShapeNet-Part
  41. 9. PointGrid(Ver. 1収録) [T. Le+, CVPR2018, 2018-06-18] ボクセル中の点数が一定になるようにサンプリング 点数が一定=次元が固定なので,座標値を結合して入力 •

    点数がゼロの場合: 空のボクセルとして処理 • 点数が多い場合: ランダムに除去 • 点数が少ない場合: オーバーサンプリング (同じ点を複数回サンプリング)
  42. 9. PointGrid(Ver. 1収録) [T. Le+, CVPR2018, 2018-06-18] ネットワーク構造 上: クラス分類,下:

    セグメンテーション サンプリングの工夫が主で,ネットワーク構造は一般的
  43. 10. AO-CNN (Ver. 1収録) [P. –S. Wang+, SIGGRAPH Asia2018, 2018-09-19]

    効率よく三次元形状をエンコード・デコードできる Adaptive O-CNNを提案 Octree上での法線と変位で表面形状を記述 評価 • クラス分類 ModelNet40 • オートエンコーダー ShapeNet-Core v2 • 画像からの形状予測 ShapeNet-Core v2
  44. 10. AO-CNN (Ver. 1収録) [P. –S. Wang+, SIGGRAPH Asia2018, 2018-09-19]

    Patch-guided Adaptive Octree • Octreeの領域ごとに平面近似 • 近似精度が悪かったら(=凸凹があれば)より細かい Octreeに分割して平面近似 • 各ボクセルに平面の法線と距離を割り当て 各レベルで平面近似された面の例
  45. 10. AO-CNN (Ver. 1収録) [P. –S. Wang+, SIGGRAPH Asia2018, 2018-09-19]

    ネットワークの構造: エンコーダー 末端から順にConvolution+Poolingしつつ, 各レベルでのデータを統合(Max Pooling)していく • O-CNNとの共通点: データ構造,Convolution,Pooling • O-CNNとの相違点: 異なるレベルのボクセルにデータが割り当てられている (O-CNNは末端のみ) O-CNN Adaptive O-CNN Max Poolingでレベルごとに統合
  46. 10. AO-CNN (Ver. 1収録) [P. –S. Wang+, SIGGRAPH Asia2018, 2018-09-19]

    ネットワークの構造: デコーダー • 各ボクセルで平面パラメータと推定状況を出力 推定状況: Empty, Surface-well-approximated, Surface-poorly-approximated • Surface-poorly-approximatedのボクセルはより細かい ボクセルで再度推定
  47. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  48. 11. ECC (Ver. 1収録) [M. Simonovsky+, NIPS2017, arXiv:1704.02901, 2017-04-10] グラフ上で畳み込みを行うための

    Edge-Conditioned Convolution (ECC) を提案 • 近傍点を結んだグラフとして点群も入力できる • エッジにおける畳み込みにConditionを導入 Dynamic Filter Networksのアイデアに基づく B. D. Brabandere, et al.. Dynamic filter networks. NIPS2016. 評価 • クラス分類 点群: Sydney Urban Objects Dataset, ModelNet10, ModelNet40, MNIST グラフ: NCI1, NCL109, ENZYMES, D&D
  49. ECCによる点群のクラス分類 • Data Augmentation • ランダムな回転 • ランダムなスケーリング • ランダムな点の除去

    • 処理の流れ 1. 点をノードとし,一定半径内の近傍点をエッジで結ぶ 2. プーリングのための空間解像度が粗いグラフを VoxelGridによるダウンサンプリングで生成 3. グローバルプーリングでグラフ全体の情報を統合 11. ECC (Ver. 1収録) [M. Simonovsky+, NIPS2017, arXiv:1704.02901, 2017-04-10]
  50. ネットワークの構造 近いノードを集約 (Max Pooling) する グラフ 0 上での ECC グラフ

    1 上でのECC Max Pooling 11. ECC (Ver. 1収録) [M. Simonovsky+, NIPS2017, arXiv:1704.02901, 2017-04-10]
  51. 12. SSCN [B. Graham+, arXiv:1706.01307, 2017-06-05] 一般のスパースなデータに対する,部分多様体上で の畳み込みを提案 • Submanifold

    Sparse Convolutional Network: SSCN • 三次元点群に限らない • 入力点がアクティブなときのみ出力もアクティブにする (≒入力点が存在する位置のみ特徴量を保持する) • 畳み込みカーネルは二次元画像のようにグリッドで設計 評価 • クラス分類 CASIA, ModelNet-40
  52. 12. SSCN [B. Graham+, arXiv:1706.01307, 2017-06-05] Sparse Convolution (SC) •

    特徴量のいずれかの要素が基底状態ではない場合,その 点はアクティブ(=非スパース)と考える • 基底状態を無視することで,スパースな入力に対応する • ただし,入力が疎でも畳み込みが密だと徐々にスパース性が失われる (Submanifold Dilation Problem) • Valid SC (VSC)では,SCに加えて畳み込みの中心点がアク ティブな場合のみ出力をアクティブにする (上の図の示す問題を解決) 疎な入力に対して密な畳み込みを2回適用した図(左→右)
  53. 13. PointNet++(Ver. 1収録) [C. R. Qi+, NIPS2017, arXiv:1706.02413, 2017-06-07] PointNetをベースに,局所的な特徴を捉えられる

    ネットワークPointNet++の提案 • 元々のPointNetは局所構造を捉えられない • PointNetを階層的に適用する構造 評価 • クラス分類 MNIST, ModelNet40, SHREC15 • セグメンテーション ScanNet
  54. 13. PointNet++(Ver. 1収録) [C. R. Qi+, NIPS2017, arXiv:1706.02413, 2017-06-07] 階層化する上で生じる問題とアプローチ

    • どうやって点群を分割するか • 半径を変えつつ球で領域を切り出す • Farthest Point Sampling (FPS)で点数が一定になるようサンプリング • どうやって局所特徴を得るか • 局所点群にPointNetを使う PointNetを階層的に適用したネットワーク構造 • Sampling Layer: 重心位置を選択 • Grouping Layer: 近傍点群を抽出 • PointNet Layer: 局所特徴量を計算
  55. 13. PointNet++(Ver. 1収録) [C. R. Qi+, NIPS2017, arXiv:1706.02413, 2017-06-07] ネットワーク構造

    • Sampling Layer: 重心位置を選択 • Grouping Layer: 近傍点群を抽出 • PointNet Layer: 局所特徴量を計算
  56. 13. PointNet++(Ver. 1収録) [C. R. Qi+, NIPS2017, arXiv:1706.02413, 2017-06-07] PointNet

    Layer • 点群密度の変化に対応したPointNet Layer: PointNet++ • 提案するPointNet Leyerの構造 • Multi-scale Grouping (MSG): ランダムにドロップアウトして複数の密度に対応 • Multi-resolution Grouping (MRG): 下層にあたるレイヤの特徴量も直接利用することで複数の密度に対応 MSG MRG
  57. 13. PointNet++(Ver. 1収録) [C. R. Qi+, NIPS2017, arXiv:1706.02413, 2017-06-07] セグメンテーション用のネットワーク:

    抽出した特徴量を元の点に伝搬 • まず距離ベースで補間 • 補間した特徴量と,同解像度で抽出していた特徴量を つなげてUnit PointNetに渡し,元の点群での特徴量を 得る
  58. 14. Pointwise CNN (Ver. 1収録) [B.-S. Hua+, CVPR2018, arXiv:1712.05245, 2017-12-14]

    点群上でのPointwise Convolution (=Shared MLP)を 提案 • 点群の各点に適用する畳み込み演算 • 近傍点探索が一度で良いため計算が速い 評価 • クラス分類 ModelNet40, ObjectNN • セグメンテーション S3DIS, SceneNN+NYUv2
  59. 14. Pointwise CNN (Ver. 1収録) [B.-S. Hua+, CVPR2018, arXiv:1712.05245, 2017-12-14]

    点数による正規化 カーネル内のボクセルごとに 特徴量を点の数で正規化してから 畳み込み 第ℓ層での 第点の出力 カーネル内 ボクセルの インデックス カーネルでの 第ボクセルの 重み 点 からみた 第ボクセルの 点の集合 Ω 内の各点 第ℓ-1層での 第点の出力
  60. 14. Pointwise CNN (Ver. 1収録) [B.-S. Hua+, CVPR2018, arXiv:1712.05245, 2017-12-14]

    ネットワークの構造 • 各点の特徴量は座標,色,法線,前の層の出力 • SERUを使用(ReLUと比較して収束が速かったため) Shared MLP
  61. 14. Pointwise CNN (Ver. 1収録) [B.-S. Hua+, CVPR2018, arXiv:1712.05245, 2017-12-14]

    特徴 • 点の三次元的な関係が変化しないので 近傍点探索を繰り返さなくてよい • 逆伝搬がカーネルの設計に直接は依存しない 各サブドメインにどの点が含まれるかのみに依存 • Symmetric Functionになるよう設計しなくてよい PointNetは順不同な入力に対応するため,Symmetric Functionを学習 Forward: Backward:
  62. 15. KCN (Ver. 1収録) [Y. Shen+, CVPR2018, arXiv:1712.06760, 2018-06-18] 局所形状特徴を学習するためのKernel

    Correlation Layerを提案 • Kernel Correlation Layerを用いたネットワーク: Kernel Correlation Network (KCN) • Point-set kernelを定義 • 近傍点での特徴量の集約 近傍点グラフ(k Nearest Neighbor Graph)を構築し,グラフ上で プーリング 評価 • クラス分類 MNIST, ModelNet10, ModelNet40 • セグメンテーション ShapeNet-Part
  63. 15. KCN (Ver. 1収録) [Y. Shen+, CVPR2018, arXiv:1712.06760, 2018-06-18] Kernel

    Correlation Layer • Leave-one-out Kernel Correlation (LOO-KC) のアイデア Y. Tsin, T. Kanade. A correlation-based approach to robust point set registration. ECCV2004 • Kernelとしてベクトルの集合を利用 (Point-set Kernel) カーネル中心との相対位置ベクトルと,Point-set Kernelに含まれる 各ベクトルとの差をガウシアンカーネルに入力 ガウシアンカーネルの出力の総和をPoint-set Kernelの出力とする Graph Max Pooling • 近傍グラフの生成は一度のみ,あとは使い回す • グラフ上の近傍でMaxをとることでプーリング
  64. 15. KCN (Ver. 1収録) [Y. Shen+, CVPR2018, arXiv:1712.06760, 2018-06-18] ネットワーク構造

    左: クラス分類,右: セグメンテーション Point-set Kernel Correlationと Graph Max Pooling Point-set Kernel Correlationと Graph Max Pooling グラフは一度のみ生成し使い回す
  65. 16. PointCNN (Ver. 1収録) [Y. Li+, NIPS2018, arXiv:1801.07791, 2018-01-13] 点群上でに畳み込みを行うX-Convを提案

    • X-Convを組み込んだネットワーク: PointCNN • CNNを点群に一般化したので,PointCNNを命名 • 畳み込む前に各点の特徴量を配置しなおす操作 X-transformationを行う 評価 • クラス分類 ModelNet40, MNIST, CIFAR10 , TU-Berlin, QuickDraw • セグメンテーション ShapeNet-Part, S3DIS, ScanNet
  66. 16. PointCNN (Ver. 1収録) [Y. Li+, NIPS2018, arXiv:1801.07791, 2018-01-13] X-Conv

    • 点群から代表点群を選択,近傍の点の情報を畳み込み 集約していく • クラス分類では代表点をランダムに選択 • セグメンテーションではFarthest Point Samplingを用いて 代表点を選択 二次元でのConvolution (+ Pooling) との比較 二次元画像でのCNNの例 X-Conv
  67. 16. PointCNN (Ver. 1収録) [Y. Li+, NIPS2018, arXiv:1801.07791, 2018-01-13] X-Convの詳細

    1. 入力した各点での特徴量を計算 • 前の層から引き継いだ特徴量と,畳み込みの中心座標からの相対位置を MLPで変換した特徴量の二つを結合 2. 畳み込みのために点を配置しなおす操作: X-transformation • 「理想的な畳み込まれる点」における特徴量を計算したい • 入力点の特徴量から線形補間するための重みとなる行列を学習 • 上記の重み行列を用いて,入力点の特徴量の重み付け和で 「理想的な畳み込まれる点」における特徴量を計算 (イメージとしては特徴量を補間しつつ再配置) 3. X-transformationの出力をカーネルと畳み込んで 出力特徴量とする • このカーネル自体も学習
  68. 16. PointCNN (Ver. 1収録) [Y. Li+, NIPS2018, arXiv:1801.07791, 2018-01-13] ネットワークの構造

    • 基本的にX-Convを積む • セグメンテーションでは集約前の点の位置を引き継ぐ クラス分類 セグメンテーション : X-Conv
  69. 17. DG-CNN (Ver. 1収録) [Y. Wang+, arXiv:1801.07829, 2018-01-24] EdgeConvと,それを用いたDG-CNNを提案 •

    点群上で微分可能な畳み込みを行う • 既存の枠組み(PointNetなど)に導入できる • 点群を順不同な入力のまま扱える • PointNet同様,Spatial Transformer Componentも使用 評価 • クラス分類 ModelNet40 • セグメンテーション ShapeNet-Part, S3DIS • 法線推定 ModelNet40
  70. 17. DG-CNN (Ver. 1収録) [Y. Wang+, arXiv:1801.07829, 2018-01-24] グラフを各層の出力から逐次生成する →

    “Dynamic” Graph CNN kNNで近傍点を結ぶ.このとき三次元空間だけではなく, 各層の出力特徴量空間での距離を使う グラフ上での情報の集約方法: EdgeConv 1. エッジごとに特徴量を計算 • 本論文では ①中心ノードの特徴量と ②周辺ノードと中心ノードの差(局所特徴) の二つを結合し,特徴量とした 2. ノードごとにエッジの特徴量を集約(Sum, Maxなど)
  71. 18. LocalSpecGCN [W. Yifan+, ECCV2018, arXiv:1803.05827, 2018-03-15] 局所グラフに対するSpectral Graph Convolutionと

    Graph Poolingで点群の局所形状の特徴を学習 • 再帰的クラスタリングによるPooling • 既存のSpectral Graph CNNと異なり事前計算が不要 Graph CNN系のテクニックが点群にも利用できる可能性 評価 • 分類 McGill Shape Benchmark, MNIST, ModelNet40 • セグメンテーション ShapeNet-part, ScanNet
  72. 18. LocalSpecGCN [W. Yifan+, ECCV2018, arXiv:1803.05827, 2018-03-15] 局所kNNグラフ上での畳み込み 1. グラフフーリエ変換

    グラフラプラシアンの固有ベクトルがグラフフーリエ基底, 固有値Λがグラフ周波数となる 2. Spectral Filtering グラフ信号に対する畳み込みをフーリエ領域で行う 3. グラフ逆フーリエ変換 局所近傍グラフ上でのプーリング • グラフラプラシアンの低周波固有ベクトルが粗い 幾何形状を捉える • 第二固有ベクトル (Fiedler Vector)を使ってクラスタリン グし,クラスタごとにプーリング
  73. 18. LocalSpecGCN [W. Yifan+, ECCV2018, arXiv:1803.05827, 2018-03-15] 処理の流れ(以下を1レイヤーとして繰り返す) 1. Farthest

    Point Sampling (FPS)でサンプリング重心選択 2. Spectral Graph Convolution + Recursive Cluster Pooling FPS Spectral Graph Convolution Recursive Cluster Pooling Fiedler Vectorによって再帰的にクラスタリング
  74. 19. Flex-convolution(Ver. 1収録) [F. Groh+, ACCV2018, arXiv:1803.07289, 2018-03-20] 点群を入力できる畳み込み Flex-convolution

    の提案 • 畳み込み層の自然な一般化 • 効率の良いGPU実装 • 前処理など無しで700万点を一気に処理できる • 点群のサブサンプリングにInverse Density Importance Sub-Sampling (IDISS) を用いる 評価 • クラス分類 ModelNet40 • セグメンテーション ShapeNet-Part, 2D-3D-S
  75. 19. Flex-convolution(Ver. 1収録) [F. Groh+, ACCV2018, arXiv:1803.07289, 2018-03-20] Flex-convolution •

    特徴 • 畳み込む点と畳み込まれる点の相対座標に応じて重みを付けて畳み込み • このときの重みを,活性化関数を用いずに単にアフィン変換とする • 処理の流れ 1. 畳み込む点周りで近傍点を選択 2. 相対位置をアフィン変換してカーネルの各要素に割り当てる 3. カーネルで畳み込み 二次元画像での畳み込み 三次元点群でのFlex-convolution 中心点との相対位置によって重みを変える
  76. 19. Flex-convolution(Ver. 1収録) [F. Groh+, ACCV2018, arXiv:1803.07289, 2018-03-20] Inverse Density

    Importance Sub-Sampling (IDISS) • 粗い点群にダウンサンプリングする手法 • 特徴 • ランダムサンプリングよりも空間的に一様に分布 • IDISSは点数に比例する計算量 (Farthest Point Sampling (FPS) は点数の二乗に比例する計算量) • 処理の流れ 1. Inverse Densityとして 近傍点までの距離の和を取る 2. Inverse Densityが大きい点から 順に選択 元の点群 ランダム IDISS
  77. 19. Flex-convolution(Ver. 1収録) [F. Groh+, ACCV2018, arXiv:1803.07289, 2018-03-20] ネットワークの構造 •

    Flex-convolutionを積む • TensorFlowを使うより圧倒的に省メモリ・高速な実装
  78. 20. SpiderCNN (Ver. 1収録) [Y. Xu+, ECCV2018, arXiv:1803.11527, 2018-03-30] 点群に適用できる畳み込み演算SpiderConvの提案

    • SpiderConvを用いたネットワーク: SpiderCNN • 畳み込みの重みを相対位置から決定する • Parametric Continuous Convolutionsと同じアイデア • Parametric Continuous ConvolutionsではMLPを使用 • SpiderConvはパラメータ数を減らすため,異なるモデルを用いる 評価 • クラス分類 ModelNet40, SHREC15 • セグメンテーション ShapeNet-Part
  79. 20. SpiderCNN (Ver. 1収録) [Y. Xu+, ECCV2018, arXiv:1803.11527, 2018-03-30] SpyderConv

    • 相対関係を入力すると 重みを得られるような 関数 , , を学習し カーネルとする • , , は次の関数としてパラメータを学習 , , : 相対関係→重み の関数を学習 一定半径の球の内部にあるかの指示関数 連続関数に対する, , の3次までのテイラー展開
  80. 20. SpiderCNN (Ver. 1収録) [Y. Xu+, ECCV2018, arXiv:1803.11527, 2018-03-30] ネットワークの構造

    (クラス分類,3-layer SpiderCNN) • 特徴量の次元を上げつつSpiderConvを積む • Max PoolingではなくTop-k Poolingで統合 k=1のとき,Max Poolingに一致 SpiderConv Top-k Pooling
  81. 20. SpiderCNN (Ver. 1収録) [Y. Xu+, ECCV2018, arXiv:1803.11527, 2018-03-30] ネットワークの構造

    (クラス分類,3-layer SpiderCNN + PointNet) SpiderCNNが局所特徴,PointNetが大域特徴を捉える ことを期待 SpiderConv PointNet Top-2 Pooling
  82. 20. SpiderCNN (Ver. 1収録) [Y. Xu+, ECCV2018, arXiv:1803.11527, 2018-03-30] ネットワークの構造

    (セグメンテーション,4-layer SpiderCNN) • Top-2 Poolingで大域特徴を抽出 • 各点の特徴量と結合してMLPに入力し, 点ごとのクラス分類によりセグメンテーション SpiderConv 大域特徴と点ごとの特徴量の結合
  83. 21. PointGCN [Y. Zhang+, ICASSP2018, arXiv:1812.01711, 2018-04-15] グラフ畳み込みを利用して点群の局所形状を 処理できるネットワークPointGCNを提案 •

    kNNにより局所的な隣接グラフを構築 • FPSで解像度の異なる点群を生成し局所プーリング 評価 • クラス分類 ModelNet40, ModelNet10
  84. 21. PointGCN [Y. Zhang+, ICASSP2018, arXiv:1812.01711, 2018-04-15] 処理の流れ 1. kNNグラフを元にガウシアンカーネルで重みを付けた

    隣接行列を構築 2. 点群ごとに異なるグラフラプラシアンを持つので, グラフ固有値がすべて[-1,1]に収まるように正規化 3. チェビシェフ多項式フィルタで畳み込み 4. 活性化関数 (ReLU)を適用 5. プーリングの適用 • Global Pooling: Max PoolingとVariance Pooling • Multi-resolution Pooling: FPSで解像度の低い点群を生成しプーリング
  85. 21. PointGCN [Y. Zhang+, ICASSP2018, arXiv:1812.01711, 2018-04-15] ネットワークの構造 グラフ畳み込みとMulti-resolution Poolingにより

    局所的な形状の特徴を捉える グラフ畳み込み Global Pooling グラフ畳み込み MLP Multi-resolution Pooling
  86. 不均一にサンプリングされた点群に対する畳み込み Monte Carlo Convolutionを提案 • サンプリング方法の変更に対してロバスト • 構成要素 • カーネル自体をMLPで表現

    • 畳み込みをモンテカルロ積分として表現 • 複数レベルでサンプリングされた情報を統合 評価 • クラス分類 ModelNet40 • セグメンテーション ShapeNet-Part 22. MCCNN (Ver. 1収録) [P. Hermosilla+, SIGGRAPH Asia2018, arXiv:1806.01759, 2018-06-05]
  87. Monte Carlo (MC) Convolution • モンテカルロ積分で畳み込み演算を行う • 各点におけるサンプル密度で正規化して畳み込み • サンプル密度は厳密には与えられないため,カーネル密度推定を用いて

    入力点群から推定 • MC Convolution on Multiple Samplings • 点数を変えてサンプリングを 複数回行うことで,畳み込まれる 点群と出力点群が異なるような 畳み込みが可能 • カーネルごとに畳み込む点群を 変えることも可能 カーネル 畳み込まれる 点群 出力点群 畳み込まれる点群が1種類の場合の例(上) 畳み込まれる点群が複数種類の場合の例(下) 22. MCCNN (Ver. 1収録) [P. Hermosilla+, SIGGRAPH Asia2018, arXiv:1806.01759, 2018-06-05]
  88. 23. Parametric Continuous Convolutions(Ver. 1収録) [S. Wang+, CVPR2018, 2018-06-18] グリッドではないデータをCNNで操作するための

    Parametric Continuous Convolutionsを提案 • アイデア: Parametrized Kernel Function • 畳み込む点とカーネルの関係がベクトルで得られる データ構造であれば適用可能 評価 • セグメンテーション S3DIS, Driving Scenes (独自,学習後モデルをKITTIでも評価)
  89. 23. Parametric Continuous Convolutions(Ver. 1収録) [S. Wang+, CVPR2018, 2018-06-18] Parametric

    Continuous Convolutions • 畳み込みのカーネルを MLPで学習させる データ点とカーネルの相対関係を 入力すると,その点での重みを 出力するよう学習する • 局所的なカーネルになるよう 制約を加える • 一般的なCNNではKernel Sizeが 決まっていることと同様の制約 • 遠い点を見ないよう,kNNや Radiusで畳み込む領域を制約 Grid Convolution Continuous Convolution ⋅ : 相対関係→重み の関数を学習
  90. 23. Parametric Continuous Convolutions(Ver. 1収録) [S. Wang+, CVPR2018, 2018-06-18] Parametric

    Continuous Convolutions Layer 対象領域+畳み込み対象の 領域の点群を抽出 各点での カーネルを 求める 求めたカーネルで入力点群の特徴量を畳み込み
  91. 23. Parametric Continuous Convolutions(Ver. 1収録) [S. Wang+, CVPR2018, 2018-06-18] ネットワークの構造

    Parametric Continuous Convolutions Layerを積む Parametric Continuous Convolutions Layer
  92. 24. Tangent Convolution (Ver. 1収録) [M. Tatarchenko+, CVPR2018, arXiv:1807.02443, 2018-07-06]

    表面形状に着目したTangent Convolutionと, それを用いたU-typeネットワークの提案 • セマンティックセグメンテーションに利用可能 • 大規模な実世界データ(数百万点規模)に適用できる 評価 • セグメンテーション Semantic3D, S3DIS, ScanNet
  93. 24. Tangent Convolution (Ver. 1収録) [M. Tatarchenko+, CVPR2018, arXiv:1807.02443, 2018-07-06]

    Tangent Convolution • 各点の接平面上で近傍点を畳み込む • 処理の流れ 1. 一点半径内の点の分散共分散行列の 第3固有ベクトルで接平面法線の推定 2. 近傍の点を接平面上に投影 3. 接平面上の画像を補完 4. 畳み込み 三次元点の投影 Full Gaussian Mixture Nearest Neighbor Top-3 Neighbors Gaussian Mixture
  94. 24. Tangent Convolution (Ver. 1収録) [M. Tatarchenko+, CVPR2018, arXiv:1807.02443, 2018-07-06]

    Tangent Convolutionの効率的な計算 以下を事前計算 • 接平面上の各点の入力点群での第近傍点g • 接平面上の各点の第近傍点に対する距離に応じた重み における出力特徴量 の接平面上の点 畳み込みカーネル 入力点群中のの 第近傍点 →事前計算 g の入力特徴量 カーネルに含まれる 第k近傍まで考える 第近傍点に対する 距離に応じた重み →事前計算
  95. 25. SCN (Ver. 1収録) [S. Xie+, CVPR2018, 2018-06-18] Shape Context

    Descriptorを模した構造を持つ ネットワークShapeContextNet (SCN)の提案 • Shape Contect Descriptor: ディープラーニング以前に提案された三次元特徴量 S. Belongie, et al.. Shape matching and object recognition using shape contexts. TPAMI, 2002. • SCNの構造の一部をアテンションに置き換え学習可能に したA-SCNも提案 評価 • クラス分類 MNIST, ModelNet40 • セグメンテーション ShapeNet-Part, S3DIS
  96. 25. SCN (Ver. 1収録) [S. Xie+, CVPR2018, 2018-06-18] Shape Context

    Block • Shape Context Descriptorを 模したネットワーク • 処理の流れ 1. Selection: 周辺の点がどのビンに入るかを選択 対数極座標系(中心からの距離を対数で与える)を利用 2. Aggregation: ビンごとの点数を数えヒストグラムを得る 3. Transformation: 得られたヒストグラムをMLPで非線形変換 Attentional SCN: A-SCN SelectionとAggregationをAttentionで置き換え
  97. 26. PointSIFT [M. Jiang+, , arXiv:1807.00652, 2018-07-02] SIFTを意識して設計したネットワークPointSIFTの 提案 •

    SIFTの特長であるOrientation-encoding (OE)を 三次元点群に持ち込むため,OEモジュールを設計 • PointNet++のSet Abstraction (SA)モジュール,Feature Propagation (FP)モジュールを利用して アップサンプリングとダウンサンプリングを行う 評価 • セグメンテーション S3DIS, ScanNet SIFTとPointSIFTの対比
  98. 26. PointSIFT [M. Jiang+, , arXiv:1807.00652, 2018-07-02] Orientation-encoding (OE) 1.

    近傍点をx, y, zの各軸に沿って周囲の8方向に分割 2. 各方向での最近傍点を選択 3. x, y, zの各軸に沿って順に畳み込み,活性化関数を通す OEユニットを複数積み重ねて,複数スケールの 特徴量を抽出 各スケールへのダウン/アップサンプリングには PointNet++と同様のモジュールを用いる 1. 2. 3.
  99. 27. Fully Convolutional Point Network (Ver. 1収録) [D. Rethage+, ECCV2018,

    arXiv:1808.06840, 2018-08-21] PointNetとボクセルCNNのハイブリットで点群を 処理するFully-Convolutional Point Networkを提案 • PointNetを局所点群の特徴量記述子として利用 • 20万点規模の点群を一度に処理できる 三次元空間(ScanNet)に対してキャプションを 付けたデータセットを作成 評価 • セグメンテーション ScanNet, ShapeNet-Part • キャプション生成 SpanNetの一部+独自ラベリングのデータセット(公開済み)
  100. 27. Fully Convolutional Point Network (Ver. 1収録) [D. Rethage+, ECCV2018,

    arXiv:1808.06840, 2018-08-21] Fully-Convolutional Point Network 点数によらず処理できる点群畳み込みネットワーク • Abstraction Layers • 第一層は一定の半径で点群を抽出し,PointNetで特徴量を出力 • 第二層以降は2x2x2, Stride=2の畳み込みで特徴量を出力 • Feature Learners • ボクセルごと(1x1x1)と3x3x3の畳み込みで特徴量を出力 • Weighted Average Pooling • 半径1メートル内のボクセルの特徴量を距離に応じた重み付け和で プーリング
  101. 27. Fully Convolutional Point Network (Ver. 1収録) [D. Rethage+, ECCV2018,

    arXiv:1808.06840, 2018-08-21] ネットワークの構造 三段階の空間解像度で処理,Skip Connectionも使用 Weighted Average Pooling ボクセル内の点群を PointNetで処理
  102. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  103. 28. Kd-Network(Ver. 1収録) [R. Klokov+, ICCV2017, arXiv:1704.01222, 2018-04-04] 三次元点群をKd-Treeに変換して入力,学習する Kd-Networkを提案

    Kd-Treeを計算グラフと考え,各ノードの出力を伝搬 評価 • クラス分類 MNIST, ModelNet10, ModelNet40 • セグメンテーション ShapeNet-Part • Shape retrieval ShapeNet-Core v1
  104. 28. Kd-Network(Ver. 1収録) [R. Klokov+, ICCV2017, arXiv:1704.01222, 2018-04-04] 計算グラフの構築 •

    子ノードの特徴量を結合,アフィン変換と活性化関数を 通して親ノードの特徴量とする • アフィン変換のパラメータは深さ及び分割軸 (x, y, z) ごとに独立 • ルートノードをアフィン変換して全体の特徴量とする 子ノードの出力を結合 アフィン変換+活性化関数 深さ・分割軸ごとに
  105. Kd-Treeを使うメリット • Kd-Tree自体が形状記述子と見なせる → 後述 • Kd-Treeは同一の深さの層が空間的には異なる大きさの 領域を担当する → ボクセルグリッドに比べうまく構造を拾うことを期待

    • Kd-Treeの構造に変動を与えないような摂動にはロバスト 学習について • 学習時には分割を確率的にすることでData Augmentation • Histogram Lossを使ったが,Siamese LossやTriplet Lossも 使えると思われる 28. Kd-Network(Ver. 1収録) [R. Klokov+, ICCV2017, arXiv:1704.01222, 2018-04-04]
  106. 29. 3DmFV [Y. B-. Shabat+, RA-L, arXiv:1711.08241, 2017-11-22] 三次元点群を3D Modified

    Fisher Vector (3DmFV)に 変換し取り扱う3DmFV-Netの提案 3DmFVにより空間的に均一にサンプリングした上で 畳み込みが可能となる 評価 • クラス分類 ModelNet10, ModelNet40 • セグメンテーション ShapeNet-part 3DmFVによるセグメンテーションの例
  107. 29. 3DmFV [Y. B-. Shabat+, RA-L, arXiv:1711.08241, 2017-11-22] 3D Modified

    Fisher Vector (3DmFV) Fisher Vector (FV): 三次元点群をGaussian Mixture Model (GMM)で記述したときの偏差で特徴量を表現 • 次元数的には情報は失われていないはず • (いくつかの例で)元の点群がFVから再構成できることを 示すことができる • デコーダをDNNで実装してみるとFVから点群が再構成できた FVに対して以下の変更を加える • FVのガウス分布の中心をグリッド上に配置 • Max Pooling, Min PoolingによるSymmetric Functionを用いる • 出力をL2ノルムで正規化 デコーダによってFVから 再構成された三次元点群
  108. 29. 3DmFV [Y. B-. Shabat+, RA-L, arXiv:1711.08241, 2017-11-22] ネットワークの構造 3DmFVに変換し,3D

    Inception モジュールを積む 3DmFVに変換 MLP 点ごとの特徴量 Shared MLP Inceptionモジュール
  109. 30. PPFNet(Ver. 1収録) [H. Deng+, CVPR2018, arXiv:1802.02669, 2018-02-23] Point Pair

    Feature (PPF) を入力とするネットワーク PPFを利用することで点群形式の入力に対応 評価 • 点群間の対応 7-scenes, USN3D
  110. Encoding of Local Geometry: • 注目点r に対して近傍の点i を設定 • i

    の法線とr とのPoint Pair Feature (PPF) を求める • r を代表とするlocal geometry r は各点の位置と法線 およびPPFで表される 30. PPFNet(Ver. 1収録) [H. Deng+, CVPR2018, arXiv:1802.02669, 2018-02-23]
  111. ネットワークの構成 • Local GeometryをPointNetの入力とする (Local Patch) • PointNetのパラメータは共有 • r

    ごとの特徴が得られる 30. PPFNet(Ver. 1収録) [H. Deng+, CVPR2018, arXiv:1802.02669, 2018-02-23]
  112. 30. PPFNet(Ver. 1収録) [H. Deng+, CVPR2018, arXiv:1802.02669, 2018-02-23] PPFNetはPPFを入力として局所特徴量を学習 •

    シーン間で同一の点が特徴空間で近づくように学習 • 特徴空間の距離と実際の距離を比較してBackpropagation
  113. 点群間の対応づけの成否を ロスとする (N-tuple loss) • 全Local Patch間で対応の成否を 判別する • 対応が成立した組とそうでない

    組の分布が区別しやすい ∈RN×N : 対応点である時は1,そうでなければ0 ∈RN×N : PPFNetで得られた特徴空間での距離 30. PPFNet(Ver. 1収録) [H. Deng+, CVPR2018, arXiv:1802.02669, 2018-02-23] 対応点同士の特徴空間での 距離が近くなるように学習 非対応点同士の特徴空間での 距離が遠くなるように学習
  114. 31. SO-Net(Ver. 1収録) [J. Li+, CVPR2018, arXiv:1803.04249, 2018-03-12] 点群を直接入力として学習できるSO-Netの提案 自己組織化マップ(SOM)を用いて点群の空間分布を

    モデル化 評価 • クラス分類(+オートエンコーダー) MNIST, ModelNet10, ModelNet40 (オートエンコーダーで事前に学習した場合も比較) • セグメンテーション(+オートエンコーダー) ShapeNet-Part (オートエンコーダーで事前に学習した場合も比較)
  115. 31. SO-Net(Ver. 1収録) [J. Li+, CVPR2018, arXiv:1803.04249, 2018-03-12] 順不同な点群の入力に対応したSOMを設計 (純粋にSOMを適用するとうまくいかない)

    問題: SOMのノードの初期値に強く依存 対策: 固定の初期ノードを使用 単位球内にランダムに配置 問題: 点の順序に依存する 対策: 全点についてまとめてから更新 GPUで効率的な実装ができる SONの初期ノード 学習結果の例
  116. 31. SO-Net(Ver. 1収録) [J. Li+, CVPR2018, arXiv:1803.04249, 2018-03-12] SO-Net (Encoder)

    • オーバーラップさせつつ点群をSOMノードに割り当てる • kNNで近傍のSOMノードk個を取り出す • 近傍点と中心となるノードの相対位置を求める • 上記以外は一般的なPointNet風の点群処理ネットワーク • Shared MLP + Max (Average) Pooling • 点ごとの特徴量とグローバルな特徴量を結合,MLPを通して セグメンテーション SO-Net (Autoencoder) • 上のエンコーダーにUp-convolution (upconv) を用いた デコーダーを結合,オートエンコーダーとして学習 • ロスにはChamfer lossを用いる
  117. 31. SO-Net(Ver. 1収録) [J. Li+, CVPR2018, arXiv:1803.04249, 2018-03-12] ネットワークの構造 (Encoder)

    セグメンテーションでの最終段はAverage Poolingが 良かった 点群→ SOMノード SOMノードごとに PointNetに似た処理 Average Pooling
  118. 31. SO-Net(Ver. 1収録) [J. Li+, CVPR2018, arXiv:1803.04249, 2018-03-12] ネットワークの構造 (Decoder)

    Upconvによって三次元点を得るネットワークと, MLPで直接三次元点を得るネットワークの組み合わせ Upconvしてから,各要素がそれぞれ三次元点となるように 各点の特徴量を三次元座標に変換する (conv2pc) そのままMLPで三次元点に変換する
  119. 32. PCNN (Ver. 1収録) [M. Atzmon+, SIGGRAPH2018, arXiv:1803.10091, 2018-03-27] 点群をCNNで処理するためのネットワーク

    Point Convolutional Neural Networks (PCNN) の提案 点群表現とRBFカーネル表現の相互変換を行い, RBFカーネル表現上で畳み込みを行う 評価 • クラス分類 ModelNet10, ModelNet40 • セグメンテーション ShapeNet-Part • 法線推定 ModelNet40
  120. 32. PCNN (Ver. 1収録) [M. Atzmon+, SIGGRAPH2018, arXiv:1803.10091, 2018-03-27] RBFカーネル表現で畳み込み

    • 入力全点のRBFカーネルで表すと重すぎるため, 近傍点でのRBFカーネルの重ね合わせで近似 • 任意の点で値を持つため,サンプリング点が 変更しやすい → アップサンプリングやプーリングが容易 点群表現 RBFカーネル表現 RBFカーネル表現 点群表現 Convolution Restriction Extension
  121. 32. PCNN (Ver. 1収録) [M. Atzmon+, SIGGRAPH2018, arXiv:1803.10091, 2018-03-27] 処理の流れ

    1. Extension: 入力点群を,畳み込み中心の近傍点でのRBFカーネルの 重ね合わせに変換 2. Convolution: 畳み込まれる点が体積空間でのRBFカーネルの重ね合わせで表されるた め,畳み込み演算がRBFカーネルの重み付け和に置き換えられる 3. Restriction: 点群に変換,サンプリングする各点に特徴量を割り振る 点群表現 RBFカーネル表現 RBFカーネル表現 点群表現 Convolution Restriction Extension
  122. 33. Automatic Depth Image Generation(Ver. 1収録) [R. Roveri+, CVPR2018, 2018-06-18]

    点群をDepth画像にうまく変換し,画像ベースで 分類するネットワーク • 分類しやすいようモデルを回転 • 点群の可視化にも利用できる可能性がある 評価 • クラス分類 ModelNet40
  123. 33. Automatic Depth Image Generation(Ver. 1収録) [R. Roveri+, CVPR2018, 2018-06-18]

    処理の流れ 1. 点群から分類に適したK個のカメラ位置を推定 論文ではK=2,PointNetを利用 2. 三次元点群を二次元のK視点のDepth画像に変換 3. 視点ごとのDepth画像からそれぞれクラス分類 ResNet50を利用 4. 視点ごとの分類結果を統合
  124. 33. Automatic Depth Image Generation(Ver. 1収録) [R. Roveri+, CVPR2018, 2018-06-18]

    カメラ位置の推定 (View Prediction) • PointNetによりカメラに関する6次元ベクトルを推定 • カメラ視線方向ベクトル: 3次元 • Up-axis(視点の上方向を定めるベクトル) : 3次元 • 点群の中心とカメラの距離はあらかじめ設定 • 6次元ベクトルが示すカメラ視点になるよう点群を回転
  125. 34. MRTNet(Ver. 1収録) [M. Gadelha+, ECCV2018, 2018-07-10] 点群を特殊なテンソル表現に変換して処理する Multiresolution Tree

    Networks (MRTNet) の提案 逆順で適用したネットワークを組み合わせ, オートエンコーダーとしても利用できる (MR-VAE) 評価 • クラス分類 ModelNet40 • 画像からの形状予測 PASCAL VOC 2012とPASCAL 3D+ • オートエンコーダー ShapeNet
  126. 34. MRTNet(Ver. 1収録) [M. Gadelha+, ECCV2018, 2018-07-10] 複数解像度の情報を持つテンソル表現で処理 • テンソル表現への変換

    • 入力点群に対して三段階の解像度の点群を作成 (入力点群と1/, 1/2にダウンサンプリングした点群) • 各軸 (x, y, z) それぞれについて,軸に沿って点の座標ソート • Convolution (MR-CONV) 1. 各解像度の入力をAverage Pooling/ Nearest Neighbor Upsamplingで 別の解像度に変換しすべて結合 2. それぞれの解像度でShared MLP 3. 出力は入力の1/の解像度
  127. 34. MRTNet(Ver. 1収録) [M. Gadelha+, ECCV2018, 2018-07-10] ネットワークの構造 • Encoder:

    MR-CONVで構成 • Decoder: MR-CONVの逆順で処理するMR-CONV-Tで構成 テンソル表現 された点群 MR-CONV MR-CONV-T 点ごとに 非線形変換
  128. 35. MeshNet [Y. Feng+, AAAI2019, arXiv:1903.05711, 2018-11-28] メッシュを直接入力できるネットワーク MeshNetの提案 •

    メッシュは近傍情報を含んでいる 点群のようにkNNで近傍グラフを構築しなくてもよい → 面を単位とし面同士の接続を定義 麺の接続を利用して畳み込むMesh Convolutionを提案 • 各面の特徴を空間的特徴量 (Spatial Descriptor)と 構造的特徴量 (Structural Descriptor)に分離して記述 評価 • クラス分類・類似形状の検索 ModelNet40
  129. 35. MeshNet [Y. Feng+, AAAI2019, arXiv:1903.05711, 2018-11-28] Meshの要素 頂点 (Vertex),辺

    (Edge),面 (Face) 入力として扱うメッシュ状のデータ • Center 中心点の座標 • Corner 中心から各頂点へのベクトル • Normal 法線ベクトル • Neighbor Index 隣接面のインデックス
  130. 35. MeshNet [Y. Feng+, AAAI2019, arXiv:1903.05711, 2018-11-28] 空間的特徴量 (Spatial Descriptor)

    Centerのみ利用 構造的特徴量 (Structural Descriptor) Face Rotate Convolution • 面のなすCornerベクトルの ペアを順に走査し畳み込み • 後にAverage Pooling + MLP Face Kernel Correlation • KCNetのアイデアを採用 • 注目面と接する面の法線 ベクトルと,畳み込みの カーネルとなるベクトル 集合との差を計算
  131. 35. MeshNet [Y. Feng+, AAAI2019, arXiv:1903.05711, 2018-11-28] Mesh Convolution •

    隣接する面の情報を集約 • 隣接関係のみを用いる (空間的な位置が影響しないように設計) 位置情報を 含む入力 位置情報を 含まない入力 位置情報を含まない 近傍メッシュの 特徴量の集約 (Shared MLP + Pooling) 位置情報を含めた 近傍メッシュの 特徴量の集約 (Shared MLP) 面の隣接関係
  132. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  133. 36. FPNN (Ver. 1収録) [Y. Li+, NIPS2016, arXiv:1605.06240, 2016-05-20] 三次元ボクセルから特徴を抽出するための

    Field Probing Filter (Leyer) の提案 • Field Probing Filter を用いたネットワーク: FPNN (Field Probing based Neural Networks) • プローブの位置と重みを学習 • PointNet以前の論文であることに留意 評価 • クラス分類 ModelNet40 学習後のField Probing Layerの例
  134. 36. FPNN (Ver. 1収録) [Y. Li+, NIPS2016, arXiv:1605.06240, 2016-05-20] Field

    Probing Layer • 点群を距離空間,法線ベクトル空間に変換して入力 (ボクセル空間が密になるように設計) • 一つのProbing Pointが特徴量の一次元を出力 • Probing Pointをつなげて一つのフィルタとし, ボクセル空間中にフィルタを複数配置 • 構成要素 • Sensor Layer: Probing Pointのボクセルの値を抽出, Probing Pointを学習 • DotProduct Layer: 抽出された値の重み付き和を計算, 重みを学習 • Gaussian Layer: 値をガウスカーネルで変換 Field Probing Layerの例 学習前(左)と学習後(右)
  135. 36. FPNN (Ver. 1収録) [Y. Li+, NIPS2016, arXiv:1605.06240, 2016-05-20] ネットワークの構造

    点群をボクセルでの距離空間と法線ベクトル空間に変換 し, Field Probing Layerに入力 FC Field Probing Layer 距離空間表現での入力 法線ベクトル空間表現での入力
  136. 37. Learning SO(3) [C. Esteves+, ECCV2018, arXiv:1711.06721, 2017-11-17] 球面調和関数で表し,球面上で回転に対する 畳み込みを行う

    • 回転不変な特徴量を学習できる • 三次元の畳み込みを少ないデータサイズで取り扱える 評価 • クラス分類 SHREC17, ModelNet40
  137. 37. Learning SO(3) [C. Esteves+, ECCV2018, arXiv:1711.06721, 2017-11-17] 処理の流れ 1.

    球面上でフーリエ変換 (Spherical Fourier Transform, SFT)を行い,球面調和関数で表す 2. 球面調和関数に対して畳み込み 周波数領域なのでアダマール積で計算できる 3. 非線形変換,Poolingを球面調和関数上で行う Spectral Pooling (SP): ローパスフィルタのように,周波数の高い成分を 取り除く.高速だが若干精度が悪い. Weighted Average Pooling (WAP): 球面調和関数は要素ごとに対応する 空間領域が異なるため重み付けをしてAverage Pooling.低速だが高精度. 4. 畳み込み,非線形変換,Poolingを繰り返す 5. 特徴量として取り出す Weighted Global Average Pooling: WAPをチャンネルごとに適用して 出力する特徴ベクトルとする
  138. 37. Learning SO(3) [C. Esteves+, ECCV2018, arXiv:1711.06721, 2017-11-17] 処理の流れ 入力形状

    SFT後の形状 畳み込み・非線形変換・ プーリングを 球面調和関数上で行う 回転不変な特徴量を 得ることができる
  139. 38. SPLATNet(Ver. 1収録) [H. Su+, CVPR2018, arXiv:1802.08275, 2018-02-22] 三次元点群(+二次元画像)を扱えるネットワーク SPLATNetを提案

    • Bilateral Convolutional Layer (BCL) の導入 • ハッシュテーブルによる効率の良い計算 評価 • セグメンテーション RueMonge2014, ShapeNet-Part 皆川さんが公開されている資料が非常に分かりやすい https://www.slideshare.net/takmin/cvpr2018pointcloudcnnsplatnet
  140. 38. SPLATNet(Ver. 1収録) [H. Su+, CVPR2018, arXiv:1802.08275, 2018-02-22] Bilateral Convolutional

    Layer (BCL) • バイラテラルフィルタを学習可能にしたもの • V. Jampani et al.. Learning sparse high dimensional filters: Image filtering, dense CRFs and bilateral neural networks. CVPR2016. • 処理の流れ • Splat: 入力信号を 次元空間の格子点に補間して投影 • Convolve: 次元空間で畳み込み • Slice: 格子点から特徴量を補間して出力
  141. 38. SPLATNet(Ver. 1収録) [H. Su+, CVPR2018, arXiv:1802.08275, 2018-02-22] 2Dと3Dを統合して処理: SPLATNet2D−3D

    • 画像用のCNNはDeepLabを使用, PASCAL VOC Segmentationでプレトレーニング • 処理の流れ 1. Convolveを除いたBCLで2D→3Dのプロジェクション 2. 3D点群を処理するSPLATNetからの出力と統合,点ごとに畳み込み 3. BCLで3D→2Dにバックプロジェクション 4. 2D画像上でのセグメンテーションを出力 2D→3D 3D→2D
  142. 39. CubeNet [D. Worrall+, ECCV2018, arXiv:1804.04458, 2018-04-12] 三次元回転・並進に対する畳み込み演算による ネットワーク CubeNetの提案

    • ボクセルを各方向に90度単位で回転させる操作を考え, それらについて畳み込みのカーネルを設定 • 24パターンすべてに対して設定すると多いので, クラインの四元群で回転を表現 評価 • クラス分類 ModelNet10 • セグメンテーション ISBI2012 Connectome Segmentation Benchmark クラインの四元群による回転の表現
  143. 39. CubeNet [D. Worrall+, ECCV2018, arXiv:1804.04458, 2018-04-12] 並進に対する畳み込みと同様に,回転に対する 畳み込みを考える •

    同じカーネルを並進させて重み付け和をとるか, 回転させて重み付け和をとるかの違い • 三次元で回転させたときにどの要素がどこに来るかは Cayley Tableで求める(=あらかじめ列挙しておく) 二次元の例.左が並進に対する畳み込み,右が回転に対する畳み込み
  144. 39. CubeNet [D. Worrall+, ECCV2018, arXiv:1804.04458, 2018-04-12] ネットワークの構造 並進と回転を合わせた畳み込みをGroup Convolution

    として扱う Group Convolution クラス分類用のネットワーク セグメンテーション用の ネットワーク MLP Residual Block Group Convolution
  145. 40. URSA(Ver. 1収録) [M. B. Skouson, arXiv:1808.04848, 2018-08-14] 点群を入力できるURSA Layerの提案

    • Constellation Neural Network Layer (URSA layer) • 入力点群を星 (Stars) に見立てて, 星座 (Constellation) を学習 評価 • クラス分類 ModelNet40, MNIST
  146. 40. URSA(Ver. 1収録) [M. B. Skouson, arXiv:1808.04848, 2018-08-14] URSA Layer

    • 星座 (Constellation) の各点が出力特徴量の一要素を担当 • 星座 (Constellation) 中の一点に対し,入力点群の 各点との関係から特徴量を計算 • 例)最も近い入力点群中の点との距離 • 例)入力点群中の各点との距離をガウスカーネルで変換したものの総和 • 例)入力点群中の各点との距離を指数関数で変換したものの総和 • 星座 (Constellation) の座標を学習
  147. 40. URSA(Ver. 1収録) [M. B. Skouson, arXiv:1808.04848, 2018-08-14] 学習された星座 (Constellation)

    初期値(ランダム) 10 epochs 100 epochs 200 epochs 300 epochs 500 epochs
  148. 41. Point Attention Network (Ver. 1収録) [C. Kingkan+, BMVC2018, 2018-09-03]

    Attention Module が重要な要素を学習することで ジェスチャーの推定を精度良く実現 評価 • クラス分類 独自データセット 入力するジェスチャの例 余談ですがこの中に千葉もいます
  149. 41. Point Attention Network (Ver. 1収録) [C. Kingkan+, BMVC2018, 2018-09-03]

    点ごとに重要度を重み付け(Attention Module) • Gatherで注目する点を学習する • Scatterで選ばれた注目点をもとの点群に戻す • 出力は重要度のマスクとして利用できる
  150. 41. Point Attention Network (Ver. 1収録) [C. Kingkan+, BMVC2018, 2018-09-03]

    Gather 各点ごと特徴量の 平均値を求め, 上位K点選ぶ Global Max Pooling による次元削減とも 理解できる Scatter Gatherで処理される前と 同じ位置に戻される
  151. 41. Point Attention Network (Ver. 1収録) [C. Kingkan+, BMVC2018, 2018-09-03]

    ネットワーク構造 • 特徴空間にある点群にAttention Moduleの出力で マスクすることで注目点に重み付けする • Max Poolingで点群の順序の影響を受けないよう設計
  152. 42. 3DCapsule [A. Cheraghian+, WACV2019, arXiv:1811.02191, 2018-11-06] Capsuleの考え方を応用した新たなクラス分類層 である3DCapsuleを提案 •

    ComposeCaps: Capsuleを順不同な入力に対応させた • 多くの論文はAggregation層の改良を行っており, Classification層の改良は多くない • Aggregation層にはEdgeConvやNetVLADを使用 評価 • クラス分類 ModelNet10, ModelNet40
  153. 42. 3DCapsule [A. Cheraghian+, WACV2019, arXiv:1811.02191, 2018-11-06] 3DCapsule • 基本構造はCapsule

    Network,Routing Algorithmも同様 • Affine + シグモイドによってCapsule列となるよう変換 (ComposeCaps) • その後,Capsuleとして分割しSquashを適用
  154. 43. Point2Sequence [X. Liu+, AAAI2019, arXiv:1811.02565, 2018-11-06] マルチスケールで三次元点群の特徴を処理できる ネットワークPoint2Seqenceの提案 •

    スケールを跨ぐ集約のためにAttention付きLSTMを利用 • 空間的にはMax Poolingと特徴量の補間で対応 評価 • クラス分類 ModelNet10, ModelNet40 • セグメンテーション ShapeNet part
  155. 43. Point2Sequence [X. Liu+, AAAI2019, arXiv:1811.02565, 2018-11-06] 処理の流れ 1. マルチスケールでの処理領域検出

    Farthest Point Sampling (FPS)でいくつかの解像度で代表中心点を選択し kNNグラフによって局所領域を得る 2. 領域ごとの特徴量抽出 領域の中心点からの相対座標をMLPで処理し,点ごとの特徴量とする 3. スケールを跨ぐ特徴量集約 Attention付きLSTMをエンコーダ・デコーダとして,各スケールでの 特徴量を順に入力し,スケールを跨いだ特徴量を得る 4. 領域を跨ぐ特徴量の集約 スケールを跨いで集約された特徴量を MLP + Max Pooling 5. クラス分類 6. セグメンテーション 空間的に内挿して各点に伝播する
  156. 44. MortonNet [A. Thabet+, arXiv:1904.00230, 2019-03-30] 点群に対する三次元特徴量を教師無しで学習する ネットワーク MortonNetの提案 •

    三次元点群に順序を与え,Multi-layer RNNで次の点を 予測するように学習 • RNNの隠れ状態を特徴量とする 評価 • セグメンテーション S3DIS, vKITTI, ShapeNet
  157. 44. MortonNet [A. Thabet+, arXiv:1904.00230, 2019-03-30] Sparse Filtering Curves (SFC)

    • 多次元のデータを一次元にマッピングする手法 • いくつか種類があるが,今回はZ-orderを採用 SFCで生成された順序の例(赤線)
  158. 44. MortonNet [A. Thabet+, arXiv:1904.00230, 2019-03-30] 処理の流れ 1. Z-orderに従う点のシーケンスをShared MLPで

    点ごとの高次元の特徴量に変換 2. シーケンス順にRNNに入力し,次の点の相対位置を 予測するように学習 3. 最終的なRNNの状態を特徴量とする Shared MLP 次の点の相対座標の予測
  159. 45. Discrete Rotation Equivariance [J. Li+, ICRA2019, arXiv:1904.00319, 2019-03-31] 離散的な回転に対する不変性を持つレイヤーの提案

    • あらゆる三次元点群を扱うネットワークに対して 適用できる • 本論文ではSO-Netをベースにネットワークの設計 評価 • クラス分類 ModelNet10, ModelNet40, 回転させたMNIST
  160. 45. Discrete Rotation Equivariance [J. Li+, ICRA2019, arXiv:1904.00319, 2019-03-31] 三次元回転の表現

    • Cube Group 立方体が回転対称に なるのは24通り • (a) 90, 180, 270度ずつ面中心を軸とする回転,3x3=9 • (b) 120, 240度の対角線を軸とする回転,2x4=8 • (c) 180度の対辺同士の中心を結ぶ線を軸とする回転,6x1=6 • (d) 無回転,1 • Tetrahedral 12-group (Cube Groupの部分群) • 90度回転の組み合わせによる表現 • クラインの四元群 (Cube Groupの部分群) • 非巡回な回転群である位数が最小の群 • 面中心を軸とする180度回転と無回転 (a) (b) (c)
  161. 45. Discrete Rotation Equivariance [J. Li+, ICRA2019, arXiv:1904.00319, 2019-03-31] 処理の流れ

    1. 考えられる離散回転をあらかじめ生成しておく 2. 入力を各種回転した点群を生成 3. 自己組織化マップで回転ごとに特徴量を計算 この操作によって回転の違いが特徴量の順序の違いになる 4. 全回転について要素ごとプーリングした特徴量と 回転ごと・要素ごとの特徴量を結合 5. 回転ごとに再度特徴量を計算 この時点でも回転の違いが特徴量の順序の違いになる 6. プーリングして出力
  162. 45. Discrete Rotation Equivariance [J. Li+, ICRA2019, arXiv:1904.00319, 2019-03-31] ネットワークの構造

    回転によって生じる差が順序の差になることを利用し, Poolingによってその差の影響を取り除く 候補となる回転を 作用させた点群 Shared MLP + Pooling 大域特徴量と結合 Shared MLP + Pooling
  163. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  164. 46. SEGCloud (Ver. 1収録) [L. P. Tchapmi+, 3DV2017, arXiv:1710.07563, 2017-10-29]

    三次元点群をセグメンテーションするネットワーク SEGCloudを提案 3D-FCNN, TI, CRFを組み合わせ,End-to-Endで学習 • 3D-FCNN: ボクセルでセグメンテーション • TI (Trilinear Interpolation): ボクセル出力から各点を補間 • CRF: 最終的な各点のセグメンテーション 評価 • セグメンテーション NYU V2, S3DIS, KITTI, SEnabtuc3D.net
  165. 46. SEGCloud (Ver. 1収録) [L. P. Tchapmi+, 3DV2017, arXiv:1710.07563, 2017-10-29]

    3D-FCNN: Fully Convolution NNの3Dボクセル版 任意のサイズのボクセルグリッドを扱える 点群上でCRF • ボクセル上でCRFをすると 高解像度では莫大な メモリを消費してしまう →元の三次元点群でCRF • 空間的に近い8グリッドの 出力で距離に応じた線形 補間(TI)
  166. 46. SEGCloud (Ver. 1収録) [L. P. Tchapmi+, 3DV2017, arXiv:1710.07563, 2017-10-29]

    三次元点群でのCRF • CRFが微分可能な設計 → End-to-Endのトレーニングが可能になった S. Zheng, et al.. Conditional Random Fields as Recurrent Neural Networks. ICCV2015. • エネルギー関数=(3D-FCNN出力)+(平滑化) • 平滑化は全ポイントペアについて考慮 • 高速な近似推論ができる P. Krähenbühl, V. Koltun. Efficient inference in fully connected crfs with gaussian edge potentials. NIPS2011. • ラベル間の独立性を仮定した近似 • この近似推論はRNNとして学習できる
  167. 46. SEGCloud (Ver. 1収録) [L. P. Tchapmi+, 3DV2017, arXiv:1710.07563, 2017-10-29]

    ネットワークの構造 1. 点群をボクセル化 2. ボクセルごとに確率分布を生成 3. Trilinear Interpolationで各点の確率分布を補間 4. 点群と上記確率分布を入力しCRFでセグメンテーション
  168. 46. SEGCloud (Ver. 1収録) [L. P. Tchapmi+, 3DV2017, arXiv:1710.07563, 2017-10-29]

    ネットワークの構造 1. 点群をボクセル化 2. ボクセルごとに確率分布を生成 3. Trilinear Interpolationで各点の確率分布を補間 4. 点群と上記確率分布を入力しCRFでセグメンテーション
  169. 47. SGPN(Ver. 1収録) [W. Wang+, CVPR2018, arXiv:1711.08588, 2017-11-23] 点群のインスタンスセグメンテーションのための ネットワーク

    Similarity Group Proposal Network (SGPN) を提案 • インスタンスとセマンティッククラスを推定 • 画像上での2DCNNと統合して,パフォーマンスの 向上が可能 評価 • インスタンス・セマンティックセグメンテーション S3DIS, NYUV2, ShapeNet
  170. 47. SGPN(Ver. 1収録) [W. Wang+, CVPR2018, arXiv:1711.08588, 2017-11-23] Similarity Group

    Proposal Network (SGPN) • PointNet/PointNet++で特徴量を計算 • 得られた特徴量をさらにそれぞれ別のPointNetで変換 し, 以下を出力 • Similarity Matrix • 点群中の2点が同じインスタンスに属しているかを推定 • 各点を表す行ベクトルの差をノルムで評価 • Confidence Map • 点ごとにSimilarityの推定がどの程度信頼できるかを推定 • Segmentation Map • 点ごとのセマンティッククラスを推定 • 各クラスの出現頻度に応じたMedian Frequency Balancingを使用
  171. 47. SGPN(Ver. 1収録) [W. Wang+, CVPR2018, arXiv:1711.08588, 2017-11-23] Similarity Matrixに対するロス

    インスタンスとセマンティッククラスを考慮し, Double-Hinge Lossで評価 同じインスタンス 違うインスタンスで 同じセマンティッククラス 違うインスタンスで 違うセマンティッククラス すべての2点の組について足し合わせ
  172. 47. SGPN(Ver. 1収録) [W. Wang+, CVPR2018, arXiv:1711.08588, 2017-11-23] インスタンスの統合 (Group

    Merging) • 出力するインスタンスをプーリングし,重複検出を防ぐ • 処理の流れ 1. Confidence Mapからの予測信頼度が閾値で以下の点を除く 2. Non-Maximum Suppressionを適用して統合 3. 複数のインスタンスに割り当てられてしまった点は ランダムに振り分ける 画像を入力する2DCNNとの融合 • 点群とアライメントされた 画像を使用 • 点ごとの特徴量に2DCNNで 抽出された特徴量を結合
  173. 47. SGPN(Ver. 1収録) [W. Wang+, CVPR2018, arXiv:1711.08588, 2017-11-23] ネットワークの構造 PointNet/PointNet++で

    点ごとの特徴量と グローバル特徴量を計算 出力(Similarity, Confidence, Semantic Label)に応じて もう一度PointNetで変換
  174. 48. Semantic Segmentation with SSCN [B. Graham+, arXiv:1711.10275, 2017-11-28] Submanifold

    Sparse Convolutional Network (SSCN)を 三次元点群のセグメンテーションに利用 SSCNを使うことでスパースな入力データに対する 畳み込みを効率よく実装できる 評価 • セグメンテーション • ShapeNet, NYU Depth Dataset (v2)
  175. 48. Semantic Segmentation with SSCN [B. Graham+, arXiv:1711.10275, 2017-11-28] Submanifold

    Sparse Convolutional (SSC) を用いる ことでSubmanifold Dilation Problemを避ける • Sparse Convolution (SC) • 畳み込みによって部分 多様体が膨張し, スパース性が下がる (左図,SC) • SSCでは入力時点で 非スパースだった要素のみ出力をアクティブにする ことで,入力と同じスパースな構造を維持する 疎な入力に対して密な畳み込みを適用(左→右) 緑: アクティブ(非スパース)な要素,赤: 非アクティブな要素
  176. 48. Semantic Segmentation with SSCN [B. Graham+, arXiv:1711.10275, 2017-11-28] ネットワークの構造

    • 畳み込み: SSCとStrided SC(1より大きいStrideを設定) • 構造: Fully Convolutional Network (FCN)とU-Net SSC SSC SSC FCN構造 U-Net構造
  177. 49. 3P-RNN [X. Ye+, ECCV2018, 2018-10-08] Pointwise Pyramid Pooling (3P)と軸に沿ったRNNで

    局所形状・広域形状を考慮したセグメンテーション を行うネットワークの提案 3P: 各点に対して複数の範囲のWindowでPoolingを行う 局所形状を取り扱う RNN: x, y軸に沿ってグリッドベースでRNN 大域形状を取り扱う 評価 • セグメンテーション S3DIS, ScanNet , vKITTI , KITTI Raw , 3DRMS Challenge
  178. 49. 3P-RNN [X. Ye+, ECCV2018, 2018-10-08] Pointwise Pyramid Pooling (3P)

    点ごとにいくつかのwindowでPoolingし,それぞれの windowでPoolingされた特徴量をその点の出力とする 左: 1点に対する3P,右: 3Pの各windowがPoolingしている領域の図示
  179. 49. 3P-RNN [X. Ye+, ECCV2018, 2018-10-08] ネットワークの構造 • 前半はPointNetに3Pを導入したネットワーク •

    後半はx, y軸方向にRNN • 点ごとの特徴量と局所/大域形状特徴量を合わせて MLPに入力しセグメンテーション 3P RNN
  180. 50. DNNSP [Z. Wang+, TGRS, 2018-05-22] 点群深層学習によるセグメンテーションのための 枠組み Deep Neural

    Network with Spatial Pooling (DNNSP)を提案 • Spin Imageと局所点群の分布の固有値も利用 • Distance Minimum Spanning Tree (DMst)を用いた プーリング 評価 • セグメンテーション 独自データセット, Vaihingen dataset, TLS point cloud provided by Eidgenössische Technische Hochschule Zurich, Zürich
  181. 50. DNNSP [Z. Wang+, TGRS, 2018-05-22] プーリングのためのセグメント生成 • kNNグラフで近傍点を結んだ後,空間的に高い位置の 点をシードとしてセグメントを生成

    • これを繰り返して複数の解像度でセグメンテーション 点ごとの特徴量 Spin Imageと局所点群の分布の固有値も特徴量とする 固有値に 対するMLP Spin Imageに 対するMLP 結合した特徴量に 対するMLP
  182. 50. DNNSP [Z. Wang+, TGRS, 2018-05-22] Distance Minimum Spanning Tree

    (DMst) セグメントを構成するグラフにおける全域木を生成, 最小全域木と最短経路全域木を組み合わせた手法 Z. Wang et al. A multiscale and hierarchical feature extraction method for terrestrial laser scanning point cloud classification. TGRS. Body PointsとMarginal Pointsに分けて処理 それぞれに対してプーリングを行う Body PointsとMarginal Pointsに分けて点ごとのMLPとプーリングを行う
  183. 51. Know What Your Neighbors Do [F. Engelmann+, , arXiv:1810.01151,

    2018-10-02] 近傍点群の情報を利用して三次元点群の セグメンテーションを行うネットワークの提案 • Feature Network: 大域特徴量と点ごとの特徴量を独立 させてうまく伝播させるためのネットワーク構造 • 特徴量空間と三次元空間それぞれでの近傍を考慮して プーリング • 特徴量空間でそれぞれのクラスがまとまるように ロス関数を設計 評価 • セグメンテーション S3DIS, ScanNet, VKITTI3D
  184. 51. Know What Your Neighbors Do [F. Engelmann+, , arXiv:1810.01151,

    2018-10-02] Feature Network • 基本的にはPointNetを軽量にしたものをBlockとする • 全点に対してPoolingした大域特徴量と,点ごとの 特徴量Point Featuresをそれぞれ全層から伝播させて 足しあわせる 点ごとの特徴量をそのまま伝播 大域特徴量をそのまま伝播
  185. 51. Know What Your Neighbors Do [F. Engelmann+, , arXiv:1810.01151,

    2018-10-02] Feature Space Neighborhood 点ごとに特徴量空間でk近傍の特徴量を選択し, MLPを通してからPoolingして近傍点の情報を集約 World Space Neighborhood K-meansクラスタリングを行い,クラスタ中心に集約
  186. 51. Know What Your Neighbors Do [F. Engelmann+, , arXiv:1810.01151,

    2018-10-02] ロス関数の設計 Pairwise Similarity Loss 同じクラスに属する点同士は特徴量空間での距離が近くなるように, 異なるクラスに属する点同士は特徴量空間での距離が遠くなるように学習 Centroid Loss 同じクラスに属する点が特徴空間上で小さい領域に分布するよう, クラス重心からの距離が小さくなるように学習 同じクラスの場合 異なるクラスの場合
  187. 52. MCPNet [J. Chen+, RA-L, arXiv:1902.06768, 2019-02-18] 移動ロボットからオンラインで取得される 点群シーケンスに対するセグメンテーションを行う ネットワーク

    MCPNetを提案 • Multi View Context Pooling (MCP): 各視点から得られた点の特徴を結合 • 点ごとのセマンティックラベルとインスタンスラベルを インクリメンタルに予測 • オフラインのPointNetと比べ正確さが6%低下 評価 • セグメンテーション S3DISを元にした点群シーケンス
  188. 52. MCPNet [J. Chen+, RA-L, arXiv:1902.06768, 2019-02-18] 処理の流れ 1. ロボットの周囲の点群を切り出し

    2. ロボット中心座標系に変換して正規化 3. 点ごとのクラスラベルとインスタンスラベルを推定 4. 対応する領域のインスタンス情報を呼び出し 5. 同じインスタンスに共通のインスタンスIDを割り当て コサイン類似度で比較 6. インスタンス情報を統合し,ボクセルベースでインス タンスIDをテーブルに記録
  189. 52. MCPNet [J. Chen+, RA-L, arXiv:1902.06768, 2019-02-18] ネットワークの構造 スキャンされた各点についてインスタンスラベルと クラスラベルを推定

    過去のスキャンで得た点群も入力 過去のスキャンで 得た近傍点群 Shared MLP + Pooling Shared MLP+ Pooling
  190. 53. CoSegNet [C. Zhu+, CVPR2017, arXiv:1903.10297, 2019-03-25] 処理の流れ 1. Part

    Refinement Networkにより,ノイズを含む 仮セグメンテーションされた点群から正確な セグメンテーションを行う 2. Co-segmentation Networkによって一貫性があるように Part Featureを出力 学習の流れ 1. オフラインでラベルなしで弱教師付学習 ComplementMe (ShapeNetのサブセット)で学習 2. ランタイムでConsistency Scoreの最適化
  191. 53. CoSegNet [C. Zhu+, CVPR2017, arXiv:1903.10297, 2019-03-25] Part Refinement Network

    • PointNet++のコンポーネントを利用(MSG,MRG) • 注目している部分を前景として正確に セグメンテーションしなおす ある部分だけを前景としたノイズの多い入力点群 PointNet++のMSG + Average Poolingで特徴抽出 ラベルの無い点群.PointNet++のMRGで特徴抽出 結合して正確な前景を抽出
  192. 53. CoSegNet [C. Zhu+, CVPR2017, arXiv:1903.10297, 2019-03-25] Co-segmentation Module •

    K個の部分にセグメンテーションするK-way Classifier Softmaxで各点がどのAbstract Labelに属するかを出力 • Part Refinement Networkでノイズ除去(学習はしない) PointNet++のMRGで特徴抽出し,点ごとにAbstract Labelに分類 Abstract Labelごとに前景として Part Refinement Networkに入力 点ごとにSoftmaxで 改めてクラス分類 一貫した ラベル付けのため Abstract Labelごとに PointNet++のMSGで Part Featureを計算
  193. 53. CoSegNet [C. Zhu+, CVPR2017, arXiv:1903.10297, 2019-03-25] 一貫性を持つように学習 • PointNet++のMSGでPart

    Featureを抽出 • Part Featureを結合した行列のランクを下げるように学習 実際にはランクは計算せず,SVDで得られる第2特異値を計算して代用 異なるラベルに対してはランクが大きくなるように学習 入力点群ごとに 各Abstract Labelに対応する Part Featureを計算 同じAbstract Labelに対応する Part Featureを結合 この行列のランクを下げるように (=同じ特徴量になるように)学習
  194. 54. JSIS3D [Q.-H. Pham+, CVPR2019, arXiv:1904.00699, 2019-04-01] 点群のインスタンスセグメンテーションを行う Multi-task Pointwise

    Network (MT-PNet)の提案 • セマンティックなラベルを推定 • 同じインスタンスが近くなるようなEmbeddingを計算 • Multi-value Conditional Random Field (MV-CRF)も提案 きれいなセグメンテーション結果を得る 評価 • セマンティック/インスタンスセグメンテーション S3DIS, SceneNN
  195. 54. JSIS3D [Q.-H. Pham+, CVPR2019, arXiv:1904.00699, 2019-04-01] Multi-task Pointwise Network

    (MT-PNet) • ネットワークの構成はほぼPointNet (Segmentation) • 点ごとにクラスとEmbeddingを出力 Embeddingは同じインスタンスでは近くなるようにロスを使用 B. D. Brabandere, et al. Semantic instance segmentation with a discriminative loss function. arXiv:1708.02551, 2017. PointNet (Segmentation) Embedding
  196. 54. JSIS3D [Q.-H. Pham+, CVPR2019, arXiv:1904.00699, 2019-04-01] 処理の流れ 1. 入力点群に対してウインドウを動かしながら

    MT-PNetに入力 2. MT-PNetが点ごとのクラスとEmbeddingを出力 3. MV-CRFで近傍と整合するようにセグメンテーション MT-PNet MV-CRF
  197. 55. Semantic KITTI [J. Behley+, arXiv:1904.01416, 2019-04-02] KITTI Vision Odometry

    Benchmarkにアノテーション • KITTIデータセットで複数スキャン分を重ね合わせ • Semantic KITTIデータセットとして公開 • 併せてベンチマークタスクの提案 • 一回のスキャンデータを入力としたセグメンテーション • 過去数回のスキャンデータシーケンスを入力としたセグメンテーション • Semantic Scene Completion (将来のスキャンを含めた領域でシーン全体の推定) データ例
  198. 55. Semantic KITTI [J. Behley+, arXiv:1904.01416, 2019-04-02] 既存の手法でセグメンテーションし比較 • PointNet

    • PointNet++ • Tangent Convolutions • SPLATNet • Superpoint Graph • SqueezeSeg (Darknet21Seg, Darknet53Seg) 距離に応じたMean IoUの変化
  199. 56. Point Cloud Oversegmentation [L. Landrieu+, CVPR2019, arXiv:1904.02113, 2019-04-03] 点群のオーバーセグメンテーションを行う

    枠組みの提案 • 境界を識別するためのEmbeddingを学習する軽量な ネットワーク Local Point Embedder (LPE)を設計 • グラフ分割問題としてオーバーセグメンテーション • よいオーバーセグメンテーションとは • Object-purity: 物体をまたがない • Border Recall: 境界が物体境界と一致する • Regularity: 形状と境界が単純 評価 • オーバーセグメンテーション S3DIS, vKITTI
  200. 56. Point Cloud Oversegmentation [L. Landrieu+, CVPR2019, arXiv:1904.02113, 2019-04-03] Local

    Point Embedder (LPE) 処理の流れ 1. 中心点とそのk近傍点群を入力 2. 中心点からの相対座標に変換,分散が0になるように正規化 3. 小さなPointNetのようなネットワーク (PTN)で,z軸周りの 二次元回転行列を計算 (軸を固定したT-Netのようなイメージ) 4. 回転行列によってz軸周りに変換 5. Shared MLP+Max Pooling 6. 5. に中心点のz座標,近傍点群の分散,回転行列の要素を結合 7. MLPで特徴量に変換 8. 大きさが1になるよう正規化 1. - 4. 5. - 8. 中心点 近傍点群
  201. 56. Point Cloud Oversegmentation [L. Landrieu+, CVPR2019, arXiv:1904.02113, 2019-04-03] グラフ分割問題によるオーバーセグメンテーション

    • Generalized Minimal Partition (GMP) • 不連続で微分不可かつ非凸な問題 • L0-cut pursuit algorithmで高速に近似解を求められる • LPEの出力の差に応じて2点間のエッジに重みを設定 オーバーセグメンテーション結果の例 入力点群 Embedding オーバーセグメンテーション結果
  202. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  203. 57. Deep Sliding Shapes [S. Song+, CVPR2016, 2016-06-26] RGB-D画像から三次元の物体を検出する枠組み Deep

    Sliding Shapesを提案 3D Region Proposal Network (RPN)とObject Recognition Network (ORN)から構成される 評価 • 物体認識 NYUv2, SUM RGB-D
  204. 57. Deep Sliding Shapes [S. Song+, CVPR2016, 2016-06-26] Directional Truncated

    Signed Distance Function (TSDF)に変換して処理 • ボクセルに区切り,最近傍点までの距離と方向を記録 • Projective TSDF (カメラ視点から見える点のみを処理) を用いることで高速化 TSDFへの変換の例
  205. 57. Deep Sliding Shapes [S. Song+, CVPR2016, 2016-06-26] 3D Region

    Proposal Network (RPN) • TSDFを入力,Bounding BoxとObjectnessを出力 Bounding Boxは中心とサイズで記述(直方体) • 方向は部屋の向きに合わせる • ネットワークは3D CNNによるFully CNN • Non-Maximum Suppressionをかける Object Recognition Network (ORN) • 2DのRGB画像と3DのTSDFを入力,物体クラスを出力 • TSDFは3D CNNで処理 • RGB画像は2D CNN (VGG)で処理 • 2Dと3Dの出力特徴量を統合してFC層を通して 物体クラスを出力
  206. 57. Deep Sliding Shapes [S. Song+, CVPR2016, 2016-06-26] ネットワークの構造 3D

    RPN 認識する物体の大きさを 変えつつ,いくつかの 解像度で物体検出 ORN 3D RPNで検出された Bounding Boxに対応する RGB-D画像を入力し, 3Dと2Dそれぞれとして 処理し統合 3D RPN ORN
  207. 58. 3DCNN-DQN-RNN [F. Liu+, ICCV2017, arXiv:1707.06783, 2018-07-21] 大規模な点群を処理するためのネットワーク 3DCNN-DQN-RNNを提案 •

    点群をEye Windowで切り出し3D CNNで処理 • Eye WindowはDQNで制御 • Residual RNNで推定 評価 • クラス分類,物体検出,セグメンテーション Stanford 3D semantic parsing dataset, SUNCG dataset Eye Windowによる物体検出の様子
  208. 58. 3DCNN-DQN-RNN [F. Liu+, ICCV2017, arXiv:1707.06783, 2018-07-21] 3D CNNによる物体検出 •

    占有グリッドに変換しボクセルとして取り扱う • 1 (物体があるとき大)と2 (物体があるとき小)を 出力 閾値以上だった場合に物体を検出したとみなして,3D CNNの各層の 出力をすべて結合してResidual RNNに入力 DQNによるEye Windowの制御 • 点群を環境として3D CNN部分と同じ構造に入力 • Actionは各軸方向へのEye Windowの伸縮を選択 Residual RNNによるクラス分類 • 3D CNNが物体を検出したときに各点のクラスを分類 • RNNによって空間的な連結関係を記憶
  209. 59. VoxelNet [Y. Zhou+, CVPR2018, arXiv:1711.06396, 2017-11-17] 三次元点群から物体検出を行うネットワーク VoxelNetの提案 ボクセル内の点群から特徴量

    Voxel Feature Encoding (VFE) を計算 VFEを複数積む (Stacked VFE)ことで複雑な形状を学習 評価 • 物体検出 KITTI 物体検出の例
  210. 59. VoxelNet [Y. Zhou+, CVPR2018, arXiv:1711.06396, 2017-11-17] Stacked Voxel Feature

    Encoding (VFE) 1. ボクセルごとに各点からの特徴量を計算 点ごとの特徴量としてボクセル内平均との差分も入力 2. ボクセルごとにMax Poolingでボクセル特徴量を計算 3. ボクセル特徴量と点ごとの特徴量を結合 1. 2. 3.
  211. 59. VoxelNet [Y. Zhou+, CVPR2018, arXiv:1711.06396, 2017-11-17] 処理の流れ 1. 点群をボクセルに分割しランダムサンプリング

    2. Stacked VFEレイヤでVFEを計算 3. ボクセルを3D CNNで畳み込み 4. Region Proposal Network (RPM)で物体領域検出 3. 2. 4. 1.
  212. 60. Frustum PointNet(Ver. 1収録) [C. R. Qi+, CVPR2018, arXiv:1711.08488, 2017-11-22]

    三次元点群と二次元画像を入力とする 3D物体検出ネットワークFrustum PointNetを提案 • 二次元画像で物体検出して三次元点群にマップ • 三次元点群上でバウンディングボックスを検出 • オクルージョンや密度変化にロバスト 評価 • 物体検出 KITTI, SUN-RGBD
  213. 60. Frustum PointNet(Ver. 1収録) [C. R. Qi+, CVPR2018, arXiv:1711.08488, 2017-11-22]

    Frustum PointNet • 二次元画像で領域検出 • 対応する三次元点群上でAmodal 3D Box (観測されていない点も含めた物体のバウンディング ボックス)を推定 • 境域についてのロスは各コーナーの距離の和を使用
  214. 60. Frustum PointNet(Ver. 1収録) [C. R. Qi+, CVPR2018, arXiv:1711.08488, 2017-11-22]

    Frustum PointNet 処理の流れ 1. 画像からFPN (Feature Pyramid Networks)で物体検出 2. 三次元空間で検出された物体が中心となるよう座標系を変換 3. PointNetで各点が物体に属するか判定 このとき画像から検出された物体のクラスもOne-hot Vectorで入力 4. T-Net (Spatial Transformer Network) で相対位置を補正 5. PointNetでバウンディングボックスを推定
  215. 60. Frustum PointNet(Ver. 1収録) [C. R. Qi+, CVPR2018, arXiv:1711.08488, 2017-11-22]

    ネットワークの構造 (v1) PointNetをベースに構築 3D Instance Segmentation PointNet(物体に属するか) Amodal 3D Box Estimation PointNet (バウンディングボックス) T-Net (相対位置の補正)
  216. 60. Frustum PointNet(Ver. 1収録) [C. R. Qi+, CVPR2018, arXiv:1711.08488, 2017-11-22]

    ネットワークの構造 (v2) T-Netはv1と共通,PointNet++をベースに構築 3D Instance Segmentation PointNet(物体に属するか) Amodal 3D Box Estimation PointNet(バウンディングボックス)
  217. 61. PointFusion [D. Xu+, CVPR2018, arXiv:1711.10871, 2017-11-29] 二次元画像と三次元点群を両方用いた物体検出手法 PointFusionの提案 •

    二次元画像上での物体領域検出にはFaster R-CNNを利用 • 画像と点群の情報を統合してバウンディングボックスを 推定 • Batch Normalizationを行わないことで精度が向上 評価 • 物体検出 KITTI, SUN-RGBD
  218. 62. AVOD [K. Shin+, arXiv:1811.03818, 2018-11-09] 二次元画像とBEVから物体検出を行う ネットワークAggregate View Object

    Detection (AVOD) Networkの提案 • 三次元点群をBEV (Bird’s Eye View) に変換 • 画像とBEVはVGG16を元にしたネットワークで処理 評価 • 物体検出 KITTI ADOD Networkによる物体検出の例
  219. 62. AVOD [K. Shin+, arXiv:1811.03818, 2018-11-09] 処理の流れ 1. 点群をBEVに変換 2.

    画像とBEVそれぞれを特徴量マップに変換 このとき画像とBEVの位置関係を考慮して結合 3. 各領域について統合,最終的な物体検出
  220. 63. RoarNet [J. Ku+, arXiv:1712.02294, 2017-12-06] 二次元画像とLIDARによって取得された三次元点群 から物体検出・位置姿勢推定を行うRoarNet (RegiOn Approximation

    Refinement Network)の提案 • 同期の甘いカメラ・Liderでも利用できる • 点群処理にはT-netを省いたPointNetのような構造の ネットワーク (RoarNet_3D)を使用 評価 • 物体検出・位置姿勢推定 KITTI RoarNetによる物体検出の例
  221. 63. RoarNet [J. Ku+, arXiv:1712.02294, 2017-12-06] 処理の流れ 1. 二次元画像上で物体検出+位置姿勢推定 (RoarNet_2D)

    2. 検出された領域内の三次元点群で各物体の Objectnessと位置を推定 (RoarNet_3D (RPN)) 3. 領域に対応する点群を改めて切り出して,大きさと 位置姿勢を推定 (RoarNet_3D (BRN))
  222. 64. Complex-YOLO [M. Simon+, arXiv:1803.06199, 2018-03-16] LiDARで計測された三次元点群から物体検出を行う ネットワーク Complex-YOLOを提案 •

    YOLOv2をベースとしたネットワークの構造 (推定が高速) • 三次元点群をBird’s Eye View (BEV)に変換し2Dとして扱う • Euler-Region-Proposal Network (E-RPN)を導入し, 物体の方向を複素数の偏角で推定 評価 • 物体検出 KITTI Complex-YOLOのワークフロー
  223. 64. Complex-YOLO [M. Simon+, arXiv:1803.06199, 2018-03-16] LiDAR点群からRGB-Mapへの変換 1. BEVに変換後,グリッドで分割 2.

    RGBの各チャンネルに次の値を割り当て • R:グリッド内の点総数の対数 • G: グリッド内の最も高い点のZ座標 • B: LiDARで計測された反射強度 偏角による物体方向の表現 ネットワークが実部を虚部を 出力するように学習し, それらのなす複素数の偏角で 物体の方向を表現 偏角による物体方向の表現
  224. 65. PIXOR [B. Yang+, CVPR2018, 2018-06-18] LiDAR点群をBird’s Eye View (BEV)に変換して高速に

    物体検出を行う手法 PIXORの提案 • ORiented 3D object detection from PIXel-wise neural network predictions • z方向(高さ)の情報は別のチャンネルとして2Dに変換 評価 • 物体検出 KITTI, ATG4D PIXORのワークフロー
  225. 65. PIXOR [B. Yang+, CVPR2018, 2018-06-18] ネットワークの構造 • BEVに変換後は2Dで処理 •

    Residual Blockを導入したU-Netのような構造 Backbone 良い特徴表現に 変換することを 意図して設計 Residual Blockを 解像度を変えつつ 積む Header 物体検出と姿勢の推定
  226. 66. Deep Continuous Fusion [M. Liang+, ECCV2018, 2018-09-18] 複数のセンサからの入力をBird’s Eye

    View (BEW)上に 投影して取り扱うためのContinuous Fusion Layerの 提案 画像はResNet18で処理 評価 • 物体検出 KITTI, TOR4D 物体検出の例
  227. 66. Deep Continuous Fusion [M. Liang+, ECCV2018, 2018-09-18] Continuous Fusion

    Layer LIDAR点群と車載カメラ画像をBEV上にうまく統合したい • 最終的にはBEV上で物体検出を行うため, LIDAR点群と車載カメラ画像を BEV上にマッピングする方法が必要 • 車載カメラ画像は車載カメラ画像上でCNNで画素ごとに特徴抽出 アイデア 1. BEVの各画素に対応する LIDARの各点を選択 2. LIDARの点を車載カメラ 画像に投影し,対応する 特徴量を抽出 3. BEVの画素に戻す
  228. 66. Deep Continuous Fusion [M. Liang+, ECCV2018, 2018-09-18] ネットワークの構造 •

    ResNet Blockが基本単位 • 車載カメラ画像の情報をLIDAR点群を通してBEV上に 車載カメラ 画像 LIDAR点群 (車載 カメラの 特徴量が 伝搬)
  229. 67. HDNET [B. Yang+, CoRL2018, 2018-10-29] High Definition (HD) Map(高精度地図)から

    物体検出を行うネットワークHDNETを提案 • ボクセル化した後にZ方向をチャンネルとみなし BEWに変換,2D CNNで処理 • オンラインではLIDAR取得点群からHD Mapを推定 三次元点群から三次元点群への変換ではなく,2Dでの表現に直接変換 評価 • 物体検出 KITTI, TOR4D
  230. 68. PointPillars [A. H. Lang+, arXiv:1812.05784, 2018-12-14] 三次元点群を柱状の領域ごとに処理して疑似 二次元画像に変換し,2DのCNNで物体検出を行う ネットワークの提案

    • 高速に動作 (62~105Hz)する • 三次元点群→二次元画像: PointPillars Network 評価 • 物体検出 KITTI 物体検出の例
  231. 68. PointPillars [A. H. Lang+, arXiv:1812.05784, 2018-12-14] 処理の流れ 1. 上方向(z方向)は既知とし,三次元点群を柱状領域で

    抽出 点数が多いときはランダムにダウンサンプリング,少ないときはゼロ埋め 2. 柱状領域に含まれている各点を疑似二次元画像上に 出力 3. 2D CNNで疑似二次元画像上の各画素における 特徴量を出力 2D CNN部分はVoxelNetと同様の構造 4. Single Shot Detector (SSD)で物体検出
  232. 68. PointPillars [A. H. Lang+, arXiv:1812.05784, 2018-12-14] ネットワークの構造 • PointPillar

    Networkで3D→2Dに変換 • その後はVoxelNetと同様 点群から柱状領域を抽出→特徴量を2Dにマップ
  233. 69. 3DBN [X. Li+, arXiv:1901.08373, 2019-01-24] 物体検出のためのネットワーク3D Backbone Network (3DBN)を提案

    • 構造として二種類を提案 (3DBN-1, 3DBN-2) • 最終的には二次元に投影した特徴マップを生成して処理 • 空間畳み込みにSubmanifold Sparse CNN (SSCNN)を利用 これによって高い空間解像度でもそのまま空間的畳み込みが可能 評価 • 物体検出 KITTI
  234. 69. 3DBN [X. Li+, arXiv:1901.08373, 2019-01-24] 提案法1 (3DBN-1) 1. 入力点群をボクセル表現に変換

    2. SSCNNを単位としたResNet Blockで三次元畳み込み 3. 垂直方向が既知で あることを利用して 道路上で二次元に 投影,その解像度 での特徴マップ とする 4. ボクセルの解像度を 変更して繰り返し, 各解像度での特徴 マップを生成
  235. 69. 3DBN [X. Li+, arXiv:1901.08373, 2019-01-24] 提案法2 (3DBN-2) 1. 一度各解像度での三次元畳み込みを3DBN-2同様に行う

    2. 低い解像度での出力を一つ高い解像度の出力と結合し て,その解像度での特徴マップを生成 3. 各解像度について 同様に,一つ低い 解像度の出力を 参照して特徴 マップを生成
  236. 70. Frustum ConvNet [Z. Wang+, arXiv:1903.01864, 2019-03-05] 三次元点群から物体検出をするための Frustum ConvNet

    (F-ConvNet)を提案 • 2D画像上でRegion Proposalを生成してから Fully Convolutional Network (FCN)で処理 • L-ConvNet データセットに依存しない 評価 • 物体検出 SUN-RGBD, KITTI 二次元画像上のある領域は 三次元空間でFrustum(錐台)に対応
  237. 70. Frustum ConvNet [Z. Wang+, arXiv:1903.01864, 2019-03-05] 処理の流れ 1. 2D画像上で物体領域の検出

    2. 物体領域に対応する錐台領域の候補を計算 3. 領域ごとにShared MLP+Max Poolingで 特徴量ベクトルを計算 各点の座標は錐台の中心からの相対座標に変換 4. FCNで奥行き方向に隣接した錐台領域を畳み込み 5. クラス分類 と領域の回帰の マルチタスク学習 FCN 処理の概要図
  238. 70. Frustum ConvNet [Z. Wang+, arXiv:1903.01864, 2019-03-05] F-ConvNetにおけるFCN 様々な大きさの物体に対応できるようにすることを意図 錐台が並んでいる軸に沿ったFCNで畳み込み

    → 逆畳み込みを行い,各解像度での特徴量ベクトルを結合 Multi-resolution Frustum Integration Variant FCNの代替となるアイデア 錐台の奥行きを変えることで,FCNが担当している 様々な大きさの物体を認識することができるようになる
  239. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  240. 71. 3DMatch [A. Zeng+, CVPR2017, arXiv:1603.08182, 2016-03-27] データから位置合わせに用いるための 局所形状特徴量を学習する枠組み 3DMatchを提案

    • 位置合わせされたRGB-Dのデータセットから学習 Analysis-by-Synthesis, 7-Scenes, SUN3D, RGB-D Scenes v2, Halber et al. • Truncated Distance Function (TDF)に変換して 3D CNNで処理 • 学習済みモデルが公開されている 評価 • 対応の推定,位置合わせ Tourism dataset, ICL-NUIMベースの独自データセット, APC Shelf&Tote 対応する点の例
  241. 71. 3DMatch [A. Zeng+, CVPR2017, arXiv:1603.08182, 2016-03-27] 処理の流れ 1. データセットから,少なくとも1m以上離れた視点から

    計測された対応点ペアを選択 2. ボクセル上のTruncated Distance Function (TDF)に変換 3. 3D CNNで特徴量ベクトルに変換 4. L2距離が小さくなるように学習 5. 対応しないペアも ランダムに選択, L2距離が大きく なるように学習 対応するペア 対応しないペア 3D CNN
  242. 72. LORAX [G. Elbaz+, CVPR2017, 2018-07-21] 点群の局所特徴量をDepth Mapに変換してから オートエンコーダーで学習することで三次元 位置合わせを行う枠組みLORAXの提案

    LORAX: LOcalization by Registration using a deep Auto-encoder reduced Cover Set 評価 • 点群位置合わせ few urban outdoor scene point clouds 位置合わせの例
  243. 72. LORAX [G. Elbaz+, CVPR2017, 2018-07-21] 処理の流れ 1. Random Sphere

    Cover Set (RSCS)でスーパーポイントに 分割 スーパーポイントに含まれていないランダムな点を選択,選択された 点から一定半径内の点を選択された点に紐付けることを繰り返す 2. 各スーパーポイントに対して局所座標系を計算 3. スーパーポイントをDepth Mapに投影 4. 顕著な点を検出・フィルタする 点が少ない・局所座標系が安定しない・典型的なDepth Mapになる スーパーポイントを除去 5. オートエンコーダーで次元削減して特徴量とする ネットワークの構造はFC6層
  244. 73. CGF [M. Khoury+, ICCV2017, arXiv:1709.05056, 2017-09-15] 局所形状を表すコンパクトな特徴量ベクトルを 学習する手法を提案 •

    CGF: Compact Geometric Features • 次元数が少ないと高速に検索ができるため有利 • 大域的な位置合わせには Fast Global Registration (FGR)を利用 評価 • 位置合わせ スキャンデータ(AIM@SHAPE, Stanford 3D Scanning Repository, Berkeley Angel),SceneNN, Redwood benchmark 提案法による位置合わせ(色は誤差)
  245. 73. CGF [M. Khoury+, ICCV2017, arXiv:1709.05056, 2017-09-15] 処理の流れ 1. 各点の法線・接線を計算し,局所座標系(Local

    Reference Frame,LRF)を定義 2. 各点周りの球面ヒストグラムを計算 半径方向には対数スケール 3. ヒストグラムを入力としてMLPで変換し, 特徴量ベクトルを得る 隠れ層が5のMLPで,出力次元数は32を基準に,12など目的に応じて調整 4. 似た形状が近い特徴量になるよう,Triplet Lossを 用いて学習
  246. 74. Local Feature Descriptor [Z. Gojcic+, ISPRS Ann. P.R.S.S.I.S. IV-2,

    2018-05-28] 学習ベースの三次元特徴量の提案 • 三次元局所特徴量の発想に対して,特徴量をMLPで 変換して高性能化を図ったようなイメージ • 低次元な特徴量で精度良く対応を求めることができる 評価 • 点ごとの対応付け B3R, RB3D 並進させた点群に対する対応付けの例
  247. 74. Local Feature Descriptor [Z. Gojcic+, ISPRS Ann. P.R.S.S.I.S. IV-2,

    2018-05-28] 処理の流れ 1. 球領域で局所点群を切り出す 2. 基準となるLocal Reference Axis (LRA)を決める 3. LRAに沿ったビンに局所点群を区切り, 点数で正規化して特徴量ベクトルとする 4. 特徴量ベクトルをMLPで変換し,Triplet Lossで学習 アンカーと なる点 正例の点 負例の点 特徴量ベクトルに変換 MLP
  248. 75. 3DFeat-Net [Z. J. Yew+, ECCV2018, arXiv:1807.09413, 2018-07-25] GPS/INSによるタグのみ与えられた三次元点群か ら,点群間の対応を得るための特徴点・特徴量を学

    習 GPS/INSタグ付きの大規模データセットが存在 評価 • 位置合わせ • Oxford RobotCar, KITTI Dataset, ETH Dataset 皆川さんが詳細なわかりやすい資料を公開されています https://www.slideshare.net/takmin/3dfeatnet
  249. 75. 3DFeat-Net [Z. J. Yew+, ECCV2018, arXiv:1807.09413, 2018-07-25] 学習の流れ 1.

    半径Rで局所点群を切り出す 2. Detector: 局所点群の注目度と方位を推定 重力方向は既知であるため,方位はスカラーで表すことができる 3. Descriptor: 局所点群の特徴量を計算 Detectorの出力した方位で点群の向きをそろえる 4. 局所点群を組み合わせ,Triplet Lossを用いて 点群同士の対応関係を学習 Detector Descriptor
  250. 75. 3DFeat-Net [Z. J. Yew+, ECCV2018, arXiv:1807.09413, 2018-07-25] ネットワークの構造 Anchor点群に対してPositive点群,Negative点群を比較

    • 特徴量同士の全組み合わせを比較し,Anchor点群の各点に対して 距離が一番近い点(マッチした点)までの距離の和を計算 • このときDetectorが出力した注目度で重み付けを行う Detector Descriptor Anchor点群との比較
  251. 76. 3DSmoothNet [Z. Gojcic+, arXiv:1811.06879, 2018-11-16] 三次元点群の位置合わせのための局所形状特徴量を 抽出するネットワーク3DSmoothNetの提案 • Voxelized

    Smoothed Density Value (SDV)を用いて ボクセル化 • 特徴量自体はボクセルに対する3D CNNで学習 評価 • 点群位置合わせ 3D Match, ETH dataset
  252. 76. 3DSmoothNet [Z. Gojcic+, arXiv:1811.06879, 2018-11-16] 処理の流れ 1. ランダムに点を選択し近傍点をパッチとして抽出 2.

    LRFを計算,LRFに合わせて回転 3. ボクセルに変換 各点からの距離をガウシアンカーネルで重み付けしてボクセルに割り当て 4. 3DSmoothNetで特徴量を計算 三次元ボクセルに対するCNN
  253. 76. 3DSmoothNet [Z. Gojcic+, arXiv:1811.06879, 2018-11-16] ネットワークの構造 ネットワーク部分は3D CNN ロス関数

    (Batch Hard Loss Function) 対応するパッチとの特徴量の差を小さく 異なるパッチとの特徴量の差 「特徴量の差が一番小さい異なるパッチ」との 特徴量の差が大きくなるように 3D CNN
  254. 77. IT-Net [W. Yuan+, arXiv:1811.11209, 2018-11-27] 3D剛体変換を学習し回転をそろえるためのIterative Transformer Network (IT-Net)を提案

    • 既存のT-Netと異なり,剛体変換を反復して高精度に 最終的な剛体変換の推定を行う • 部分的な入力点群(片面のみの観測)に有効 ModelNetとShapeNetから,回転・並進を加えた片面点群 (自己オクルージョンも考慮)を生成して学習 評価 • 姿勢推定,クラス分類,セグメンテーション • ModelNetとShapeNetから生成した片面点群を利用
  255. 77. IT-Net [W. Yuan+, arXiv:1811.11209, 2018-11-27] 三次元物体の持つ性質の分類 • 剛体変換に対して不変な性質=Invariance 物体のクラスなど

    • 剛体変換に従って変化する性質=Equivariance 物体の姿勢など PointNetにおけるT-Netとの違い • 任意のアフィン変換ではなく,剛体変換を出力 • クオータニオンと並進ベクトルの合計7次元 • 正規直交変換に制約するロス(PointNetが導入)は性能が良くない • 反復的に推定
  256. 77. IT-Net [W. Yuan+, arXiv:1811.11209, 2018-11-27] 既存のデータセットを用いるタスクの問題点 • 全周の完全な点群を利用 オクルージョン・センサの限界で,実際には欠損領域や穴が存在

    • カテゴリ内でおおよそ整った座標系を利用 実際にはセンサ座標系で観測される 上: 既存のモデル 下: 本論文のデータセット 観測が片面かつ回転が正規化されていない
  257. 77. IT-Net [W. Yuan+, arXiv:1811.11209, 2018-11-27] •ネットワークの構造 • 剛体変換を推定するネットワークを繰り返し適用 入力点群

    推定された 変換 入力点群に 変換を適用 一度変換した点群 変換の差分を推定・適用 全ての変換を合わせて最終的に出力する変換を得る それぞれの変換は独立して学習 (逆伝搬させない)
  258. 78. DenseFusion [C. Wang+, arXiv:1901.04780, 2019-01-15] RGB-D画像から物体の位置姿勢推定を行う DenseFusionを提案 • 三次元点群と二次元画像としてそれぞれ処理

    • 点ごとに特徴量を統合して物体の位置姿勢推定 • 反復して精密化(ICPのようなアイデア) 評価 • 位置姿勢推定 YCD-Video, LineMOD 実際のロボットでも評価 位置姿勢推定とロボットによるハンドリング
  259. 78. DenseFusion [C. Wang+, arXiv:1901.04780, 2019-01-15] 処理の流れ(1/2) 1. RGB-D画像を二次元画像と三次元点群に変換 2.

    二次元画像をセグメンテーションし物体領域を選択 3. 物体領域を画像・点群それぞれ処理し,点ごとに 特徴量を計算 3. 2.
  260. 78. DenseFusion [C. Wang+, arXiv:1901.04780, 2019-01-15] ロス関数の設計 対称な形状を持つ物体に対応するため,対称な姿勢の うち推定値ともっとも近い正解姿勢との誤差を考える 信頼度に応じて重み付けして統合

    もっとも近い正解姿勢との誤差 もっとも近い正解姿勢 ランダムにM点を正解 姿勢から選択して平均 入力各点に ついて平均 信頼度 信頼度が小さく なりすぎないように
  261. 78. DenseFusion [C. Wang+, arXiv:1901.04780, 2019-01-15] 反復による推定の精密化 • 推定姿勢との回転・並進の残差を推定し精密化 •

    残差推定を同時に学習すると初期値付近で ノイズが大きすぎるため,メインネットワークが 収束してから学習する 回転・並進の残差を推定 推定された残差を打ち消すように回転・並進 改めて 現在の 姿勢での 特徴量を 計算
  262. 79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] Lucas-Kanade法(LK法)にPointNetを利用して 位置合わせを行う枠組みPointNetLKの提案 •

    LK法は隣接関係が必要なので,LK法を修正して 隣接関係が不要になるように設計 • Inverse Compositional (IC)の考え方を利用 ソースとターゲットの役割を逆転させることでヤコビアンの計算を 一度だけにするアイデア • ICPよりも高速 評価 • 位置合わせ ModelNet40 位置合わせの例
  263. 79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] 剛体変換: 三次元ユークリッド空間での運動群SE(3)の要素 6次元のTwist

    Parametersを用いる SE(3)の指数写像に対する生成元の重み付け和を求め, これを指数関数で変換した行列として剛体変換を記述 剛体変換 SE(3)の指数写像に対する生成元 パラメータベクトル
  264. 79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] をPointNetによる特徴ベクトルへの変換とする ICを導入することを前提にすると, ICで考えるため,これを−1について解く

    変換先のパラメータ周りで一次近似する 変換元の点群 変換先の点群 求める剛体変換の逆変換 パラメータに対するヤコビアン 以降と表記 パラメータ
  265. 79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] パラメータに対するPointNetの微分を考えるのは 非常に難しい →

    数値的にヤコビアンを計算 ヤコビアンの各列 をパラメータの微小変動で近似 ヤコビアンの疑似逆行列によりパラメータを更新 に沿った 微小な剛体変換 微小な剛体変換後の点群に 対するPointNetの出力 元の点群に対する 点群のPointNetの出力 上で求めた近似ヤコビアンの疑似逆行列
  266. 79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] ネットワークの構造 • PointNetに近い構造,T-Netを取り除いている

    • 行列対数関数を計算しなくて良いように, 順変換してから逆変換した行列と単位行列を比較 Shared MLP+Average Pooling ヤコビアンの計算 パラメータ推定 推定剛体変換の更新
  267. 80. OREOS [L. Schaupp+, arXiv:1903.07918, 2019-03-19] LiDAR点群からマップ上での自己位置と方位を 推定する手法OREOSの提案 • 位置と方位に分けて特徴量を計算し,

    位置推定後に方位のずれを推定 • 球面座標系に投影して2D CNNで処理 評価 • 自己位置・方位推定 NCLT, KITTI 自己位置推定の概要図
  268. 80. OREOS [L. Schaupp+, arXiv:1903.07918, 2019-03-19] 処理の流れ 1. 三次元点群を球面上に距離画像として投影 2.

    2D CNNで特徴量を計算 自己位置を推定するための方位不変な位置特徴量と, 方位を推定するための方位特徴量を出力 3. マップとの照合 マップ上の近い点の座標とその座標での方位特徴量を出力 (Kd-Treeで高速化) 4. 方位の推定 方位特徴量同士の方位のずれを出力 5. 位置合わせ
  269. 80. OREOS [L. Schaupp+, arXiv:1903.07918, 2019-03-19] ネットワークの構造 • 位置特徴量はTriplet Lossを用いて学習

    • 方位特徴量はAnchorとPositiveの方位のずれを学習 Anchor Positive Negative 2D CNN 方位の推定
  270. 81. DeepPoint3D [S. Srivastava+, Pattern Recognition Letters, arXiv:1904.00817, 2019-03-27] 三次元点群から局所特徴量を学習

    • 特徴点検出にはISS Keypointを使用 • 特徴点周りの部分点群に対応する局所特徴量を計算 評価 • クラス分類(Fisher Vector + SVM) ModelNet10, 独自データセット(植物の状態) • セグメンテーション(Fisher Vector + SVM) Semantic3D • 対応点検出 ShapeNetCore • 物体検出 NYU Depth v2, Object Segmentation Dataset, Object Discovery Dataset • 類似形状の検索 ModelNet10
  271. 81. DeepPoint3D [S. Srivastava+, Pattern Recognition Letters, arXiv:1904.00817, 2019-03-27] いくつかの実験設定で比較

    ネットワーク • PointNet • PointNet++ 特徴量の計算方法 • 3Dパッチごとにネットワークを通して特徴量を計算 • 3Dパッチごとにネットワークを通して点ごとの特徴量を一度求め, プーリングして特徴量を計算 ロス関数 • Hinge Loss • Contrastive Loss • Triplet Loss • Multi Margin Contrastive Loss (この論文ではMulti Margin Contrastive Lossを提案)
  272. 81. DeepPoint3D [S. Srivastava+, Pattern Recognition Letters, arXiv:1904.00817, 2019-03-27] Multi

    Margin Contrastive Loss • Contrastive Lossベースのロス関数 • 負例を区別しやすい負例(Soft Negative)と区別の 難しい負例(Hard Negative)にラベル付けしておき, それぞれについてマージンを設定 • SHOTで区別できる点をSoft Negativeと設定 • ISSによるキーポイント同士の最近傍距離比 (NNDR)が小さく, 誤って一致していると検出しうる点のペアをHard Negativeと設定
  273. 82. USIP [J. Li+, arXiv:1904.00229, 2019-03-30] 教師無しでデータから学習する三次元特徴点 USIP (Unsupervised Stable

    Interest Point) Detectorを提案 • Feature Proposal Network (FPN)によって特徴点検出 • 学習にProbabilistic Chamfer Lossと Plane-to-Point Lossを利用 • Probabilistic Chamfer Loss: 基本的にはChamfer Lossだが,確信度を元に対応する確率を考えて 同時確率によってロスを設計 • Plane-to-Point Loss: 特徴点が元の点群上に近くなるようにロスを設計 • 評価できるように三次元特徴量 Our Desc.も提案 評価 • 特徴点検出 ModelNet40, Redwood, Oxford RobotCar, KITTI
  274. 82. USIP [J. Li+, arXiv:1904.00229, 2019-03-30] 処理の流れ 1. モデル点群を入力 2.

    ランダムな剛体変換を与えた点群を生成 3. それぞれの点群からFPNで特徴点と確信度を検出 4. 与えていた剛体変換を戻して検出された特徴点を比較 1. 入力 2. 剛体変換 3. FPN 4. 戻して比較
  275. 82. USIP [J. Li+, arXiv:1904.00229, 2019-03-30] ネットワークの構造 (1/2) 1. 一定数の代表点をFPSで抽出しておく

    2. 点群を代表点ごとにグループに分割 3. グループごとに代表点との相対位置を計算 4. 相対位置からグループごとの特徴量を計算 (局所特徴量) 1. 2. / 3. 4. 5. 6. 7.
  276. 82. USIP [J. Li+, arXiv:1904.00229, 2019-03-30] ネットワークの構造 (2/2) 5. 代表点同士の相対位置を計算

    6. 代表点同士の相対位置と局所特徴量から特徴量を 再度計算(相対位置も考慮した特徴量) 7. 代表点座標からの相対位置として特徴点を計算, 同時に信頼度も計算 1. 2. / 3. 5. 6. 7. 4.
  277. 83. 3DRegNet [G. D. Pais+, arXiv:1904.01701, 2019-04-02] 三次元点群の位置合わせを行う3DRegNetの提案 • Classification

    BlockとRegistration Blockからなる構造 • 対応する可能性がある点のペアの集合を入力 • 対応の確からしさと相対剛体変換を出力 評価 • 位置合わせ ICL-NUIM, SUN3D 大まかなネットワークの構造
  278. 83. 3DRegNet [G. D. Pais+, arXiv:1904.01701, 2019-04-02] Classification Blockの処理の流れ 1.

    対応候補の3次元点のペアの集合を入力 2. ペアごとにShared MLPで128次元の特徴量に変換 3. 対応の確からしさを出力 (閾値以下の場合は誤対応とみなす) Registration Blockの処理の流れ 1. Classification BlockのShared MLPの各層での特徴量を Max Pooling プーリング手法を比較した結果,Max Poolingが良好 2. Context Normalization K. M. Yi, et al.. Learning to Find Good Correspondences. CVPR2018. 3. 畳み込み層とFC層を通して並進と回転を出力 回転はリー代数による3次元の表現
  279. 83. 3DRegNet [G. D. Pais+, arXiv:1904.01701, 2019-04-02] Trifocal 3DRegNet •

    3つのシーンに対する3D RegNetの拡張 • シーン1→シーン2,シーン2→シーン3のロス関数に加え, シーン1→シーン3の位置合わせに関するロス関数を追加 シーン1→シーン2の対応候補点 シーン2→シーン3の対応候補点 シーン1→シーン2に関する出力 シーン2→シーン3に関する出力 シーン1→シーン3の位置合わせが整合するようなロス
  280. 84. RelativeNet [H. Deng+, CVPR2019, arXiv:1904.04281, 2019-04-08] 位置合わせのための学習ベースの枠組みを提案 • Local

    Reference Frame (LRF)の計算が不要 LRFをそれぞれ計算するのではなく,局所形状同士の相対的な変換を推定 • RelativeNetによる剛体変換の推定 • PPF-FoldNetによる特徴量は姿勢に不変 • PC (Point Cloud)-FoldNetによる特徴量は姿勢に依存 → これらの食い違いから相対姿勢が計算できる 評価 • 位置合わせ 3DMatch(学習,テスト), Redwood(テスト) 位置合わせの例
  281. 84. RelativeNet [H. Deng+, CVPR2019, arXiv:1904.04281, 2019-04-08] オートエンコーダーによる特徴抽出 PPF-FoldNet •

    入出力はPPF • PPFが点の相対関係のみを抽出 するため,PPF-FoldNetによる オートエンコーダーで得られる 特徴量は姿勢に依存しない PC-FoldNet • 入出力は点群 • PPFの代わりに点群を入力とした オートエンコーダーでは, 特徴量が姿勢にも依存する 各点ごとの特徴量抽出 FoldingNetのデコーダー構造 グリッド上の点を折りたたむようにPPF/点群を生成 PPF/点群いずれも Chamfer Lossで比較
  282. 84. RelativeNet [H. Deng+, CVPR2019, arXiv:1904.04281, 2019-04-08] 処理の流れ 1. 2つの局所点群からそれぞれPPF-FoldNetとPC-FoldNet

    によるオートエンコーダーで特徴量を抽出 特徴量の性質の差から,剛体変換に対応する情報が抽出されることを期待 2. 特徴量をRelativeNetに入力し,剛体変換を推定 入力点群 各オートエンコーダー RelativeNetで 特徴量から 剛体変換を推定
  283. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  284. 85. Learning Representations and Generative Models [P. Achlioptas+, ICLR2018, arXiv:1707.02392,

    2017-07-08] オートエンコーダーとGANにより三次元点群を 生成するネットワークの提案 • オートエンコーダーで潜在空間表現を学習し, GANで潜在空間中でサンプルを生成 • GANの学習時には潜在空間表現が固定されるので 安定して学習できる 評価 • クラス分類 (オートエンコーダー+SVM) ModenNet10, ModelNet40 • 形状補完 ModelNet40, D-FAUST 生成された点群の例
  285. 85. Learning Representations and Generative Models [P. Achlioptas+, ICLR2018, arXiv:1707.02392,

    2017-07-08] 点群の比較には,点の順序の影響を受けない ロス関数を用いる • EMD: Earth Mover’s Distance • 二つの点群の一方からもう一方に変換するために必要な総移動量 • CD: Chamfer Distance • 一方の点群の各点から,もう一方の点群中の最近傍点までの距離の総和 • 二つの点群の双方向に対して求め足しあわせる 点群の入力は明示的に順不同な構造にはしない 軸に沿って整列させて1D CNNで処理
  286. 85. Learning Representations and Generative Models [P. Achlioptas+, ICLR2018, arXiv:1707.02392,

    2017-07-08] 潜在空間表現の補間による2形状間の補間の例
  287. 86. Shape Generation using Spatially Partitioned Point Clouds [M. Gadelha+,

    BMVC2017, arXiv:1707.06267, 2018-07-19] 点群を生成するGANを提案 • 点群を直接ネットワークには入力せず,うまく順序を 固定してPCAの基底で点群を表現 • GANでPCAの係数を学習し点群を生成 評価 • 点群生成 ShapeNet 生成された点群の例
  288. 86. Shape Generation using Spatially Partitioned Point Clouds [M. Gadelha+,

    BMVC2017, arXiv:1707.06267, 2018-07-19] 処理の流れ 1. Kd-Treeを構築(点群に仮の順序付け) 2. 順序付けられた点群をPCA 3. データセットでの各データ(各点群)に対して, PCAの再構成誤差を最小化するように点の順序を最適化 ランダムに2点を選択し,順序を交換して小さくなれば採用 4. GANがPCAの基底から点群を再構成するための係数を 出力するように学習
  289. 86. Shape Generation using Spatially Partitioned Point Clouds [M. Gadelha+,

    BMVC2017, arXiv:1707.06267, 2018-07-19] ネットワークの構造 ニューラルネットワークはPCAの係数のみを取り扱う 準備したPCAの基底でデータセット内の点群を表現 PCAの係数をうまく出力するように学習
  290. 87. FoldingNet (Ver. 1収録) [Y. Yang+, CVPR2018, arXiv:1712.07262, 2017-12-19] 「折りたたみ」をデコーダーとして利用した,

    End-to-Endなオートエンコーダー FoldingNetを提案 • アイデア: 点群によって物体表面形状が記述されている →本質的には2D • エンコーダー: 近傍グラフ構造によって局所特徴量を抽出 • デコーダー: Folding-based Decoderによって, 二次元グリッドを三次元の表面なるように折りたたむ •評価 • オートエンコーダー+クラス分類 ShapeNetで学習し,ModelNetでの分類精度を実験 (エンコーダーの出力と線形SVMで分類)
  291. 87. FoldingNet (Ver. 1収録) [Y. Yang+, CVPR2018, arXiv:1712.07262, 2017-12-19] 特徴

    • エンコーダー • 近傍点の分散共分散行列を入力 • kNNに近傍グラフでMax Pooling • デコーダー: 2回のFolding Operation • 折りたたみは可視化・解釈しやすい • 切断も学習できる→トポロジーも変えられる • グリッドの各点座標とエンコーダー出力を入力, 折りたたみ後の座標を返すよう学習 • 再構成誤差: Extended Chamfer Distanceで測る • 入力点群と再構成点群の各点が,相互に最近傍点との 距離が小さくなるように
  292. 88. AtlasNet [T. Groueix+, CVPR2018, arXiv:1802.05384, 2018-02-15] 三次元表面形状を二次元多様体と見なして 単位二次元平面に対する写像の族を学習する AtlasNetを提案

    2D→3Dのマッピング自体を学習するため, 任意解像度の三次元メッシュを生成できる 評価 • オートエンコーダー,画像からの形状予測 ShapeNet
  293. 88. AtlasNet [T. Groueix+, CVPR2018, arXiv:1802.05384, 2018-02-15] AtlasNet 単位二次元平面を三次元空間での二次元多様体に マッピングする関数を学習

    • ロスはChamfer DistanceやEMDで計算 • 関数はReLUを活性化関数とするMLP • 一つの関数で三次元表面すべてを表さず,いくつかのマッピングを学習 (下図(c)) 潜在空間表現から 直接三次元点群を生成 単位二次元平面の点を 潜在空間表現が示す 二次元多様体上の点へ マッピングする 単位二次元平面の点を いくつかの二次元多様体 上の点へマッピングする
  294. 88. AtlasNet [T. Groueix+, CVPR2018, arXiv:1802.05384, 2018-02-15] タスク: 2つのタスクを想定 •

    三次元点群を入力しオートエンコードする PointNetベースのエンコーダーを使用 • RGB画像を入力し三次元形状を再構成 ResNet-18をエンコーダーとして利用 • デコーダーはFCを4層 学習したパラメータで表現される二次元多様体上で 均一になるよう,三次元点をサンプリングすると良い
  295. 88. AtlasNet [T. Groueix+, CVPR2018, arXiv:1802.05384, 2018-02-15] AtlasNetによる三次元メッシュ生成(3手法を提案) • 二次元平面上の格子点からなるメッシュを

    学習した関数で三次元空間にマッピング • いくらでも高解像度にできる • 二次元多様体が複数あるため,接合部で閉じない場合がある • 異なる二次元多様体が重なることがある • 密な三次元点群を生成し,三次元点群から Poisson Surface Reconstruction (PSR)で表面を生成 • 点群が十分密であれば綺麗な表面を生成できる • 単位二次元平面ではなく,単位三次元球で マッピングを学習 • 直接閉じたメッシュを得られる • うまくいくかは対象の形状に依存する (基底として球を用いることができるかによる)
  296. 88. AtlasNet [T. Groueix+, CVPR2018, arXiv:1802.05384, 2018-02-15] その他のアプリケーション • 形状補間

    潜在空間での線形補間により 2形状間の三次元形状を補間 • 形状の対応関係の取得 二次元平面上で同じ点に対応する部分が, 他の物体でも似た部分にマッピングされる • 歪みを抑えたUVマップの生成 形状補間の例 形状の対応関係の取得の例 UVマップの例
  297. 89. P2P-Net [K. Yin+, SIGGRAPH2018, arXiv:1803.09263, 2018-03-25] 三次元点群のドメイン変換を行うネットワーク P2P-NETの提案 •

    画像のドメイン変換はピクセルごとの対応があるが, 点群では明確な点ごとの対応はない • 点ごとの特徴量に対する変位ベクトルを学習 • 点群の入力にはPointNet++を使用 評価 • スタイル変換 (SkeltonとShape,SkeltonとScan, Partial ScanとComplete Scan, 断面とShape) ModelNet40 片面点群,Skeltonへのスタイル変換の例
  298. 89. P2P-Net [K. Yin+, SIGGRAPH2018, arXiv:1803.09263, 2018-03-25] ロス関数の設計 • Shape

    Loss 点群の各点に対する,もう一方の点群の最近傍点との距離の和が 小さくなるように • Density Loss 点群の各点において,その点から近傍の数点までの距離の和が もう一方の点群での最近傍点と近くなるように • Cross Regularization 点群を相互に変換する移動ベクトル同士の最近傍のものを対応する 移動ベクトルとみなし,対応する移動ベクトル同士の和が小さく なるように(打ち消し合うように)
  299. 90. PCN [W. Yuan+, 3DV2018, arXiv:1808.00671, 2018-08-02] 部分的な入力点群から完全な 全周点群を補完する Point

    Completion Network (PCN) を提案 • エンコーダー/デコーダーモデル • デコーダーで二段階の点群生成を 行うことで高解像度な点群生成 評価 • 全周点群の補完 ShapeNetから部分点群と全周点群の データセットを作成して学習・評価, KITTIでも評価 KITTIデータセット中の 車体の全周点群を補完
  300. 90. PCN [W. Yuan+, 3DV2018, arXiv:1808.00671, 2018-08-02] デコーダー (Multistage Point

    Generation) 第1段階(MLPベース) • 特徴量ベクトルから直接,粗い解像度の点群(各点の座標値)を生成 • Chamfer Distance (CD)とEarth Mover’s Distance (EMD)で比較 第2段階(Foldingベース) • 粗い解像度の点群各点に対して,Foldingベースでパッチ点群を生成 • 解像度が高くEMDは計算が重いため,CDのみで比較 MLP(第1段階) Folding(第2段階)
  301. 90. PCN [W. Yuan+, 3DV2018, arXiv:1808.00671, 2018-08-02] Foldingによるパッチ点群の生成 基本的にはほぼFoldingNetの第1段階 •

    粗い解像度の点群の各点に2D Gridを 割り当て,Grid上の点を折りたたんで 三次元のパッチ点群とする • 粗い解像度の点群の各点を中心と する相対座標で学習 Folding(第2段階) 2D grid 粗い解像度の 点群中の一点 エンコーダー の出力 パッチ点群
  302. 90. PCN [W. Yuan+, 3DV2018, arXiv:1808.00671, 2018-08-02] ネットワークの構造 • エンコーダー:

    PointNetを2つ重ねたような構造 • デコーダー: MLP + Foldingの二段階構造 エンコーダー: デコーダー:
  303. 91. Point Cloud VAE-GAN (Ver. 1収録) [C. Kingkan+, ICPR2018, 2018-08-20]

    点群からメッシュを作成するネットワークの提案 • VAEとGANを利用 • SDFで面までの距離を表現 • 全体の形状と局所的な形状の両方を再現できる 評価 • メッシュ生成 ModelNetのうち6のオブジェクト
  304. 91. Point Cloud VAE-GAN (Ver. 1収録) [C. Kingkan+, ICPR2018, 2018-08-20]

    Signed Distance Function (SDF) • メッシュ面からの距離を表す • メッシュの外側は正、内側は負 SDF メッシュから遠い メッシュから近い
  305. 91. Point Cloud VAE-GAN (Ver. 1収録) [C. Kingkan+, ICPR2018, 2018-08-20]

    ネットワークの構成 • Encoder: 点群を潜在変数に変換する • Generators: 潜在変数をSDFに変換する • Discriminator: Generatorの出力かGrand truthか識別 VAE GAN
  306. 91. Point Cloud VAE-GAN (Ver. 1収録) [C. Kingkan+, ICPR2018, 2018-08-20]

    Encoder • 局所形状の情報をもつ潜在変数(Zloc )以外はPointNetと同じ • MLPとFC層を追加 Generator • deconv層(kernel: 4×4×4, stride: 2) • Local Generatorの出力をGrobal Generatorに加えることで 全体と局所の情報を同時に持つことができる
  307. 91. Point Cloud VAE-GAN (Ver. 1収録) [C. Kingkan+, ICPR2018, 2018-08-20]

    グローバル&ローカル特徴 両方が利用可能 なめらかなモデルが作れる
  308. 92. PPF-FoldingNet(Ver. 1収録) [H. Deng+, ECCV2018, 2018-06-30] PPFを入力にすることで回転に対して不変な 特徴量を抽出するネットワークPPF-FoldingNetを 提案

    • PPFNetとは異なりPoint Pair Featureのみを入力 (PPFNetは点の位置、法線ベクトルも入力) • 出力された特徴で点群の位置合わせ 評価 • 点群位置合わせ 3DMatch Benchmark Dataset
  309. 92. PPF-FoldingNet(Ver. 1収録) [H. Deng+, ECCV2018, 2018-06-30] ネットワークの構成 Encoder: Point

    Netに類似したネットワーク Decoder: FoldingNetに類似したネットワーク 4D PPF (FoldingNetは 3D Point Cloud)
  310. 93. DeepSDF [J. J. Park+, arXiv:1901.05103, 2019-01-16] Signed Distance Function

    (SDF)を直接学習する ことで三次元形状を取り扱うネットワーク DeepSDFを提案 • 形状をコード化して形状ごとのSDFを学習できる • モデルサイズが小さい 評価 • 形状補完・ オートエンコーダー ShapeNetで学習 DeepSDFによる全周形状の補完の例
  311. 93. DeepSDF [J. J. Park+, arXiv:1901.05103, 2019-01-16] DeepSDF 三次元形状をコードで表現し,そのモデルに対するSDFの 値を各点について直接学習

    Auto-decoder • エンコーダーを置かず,直接コードを学習 • 推論時はMAP推定で形状からコードに変換できる 形状を表現する コード 三次元点の座標 形状・座標に対応する SDFの出力値 形状を表現する コード SDF
  312. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  313. 94. 3D-EPN [A. Dai+, CVPR2017, arXiv:1612.00101, 2016-12-01] 欠損部分を含む三次元形状から全周の三次元形状を 復元するネットワーク 3D-Encoder-Predictor

    Network (3D-EPN)を提案 • ボクセル上のTruncated Signed Distance Field (TSDF)で 表現,3D CNNで処理 • 大まかに復元してからパッチベースの形状補完を行い 高解像度な表面形状を得る 評価 • 形状補完 • ShapeNet, Qiらの実計測データセット(テスト)
  314. 94. 3D-EPN [A. Dai+, CVPR2017, arXiv:1612.00101, 2016-12-01] 処理の流れ 1. 不完全な三次元形状を入力,TSDFに変換

    2. 3D-EPNで低解像度の表面形状を推定 クラス分類を同時に行い,推定されたクラスも3D-EPNに入力 3. 局所形状(ボクセル上のTSDFの一部)をモデル形状 データベースと照会し,高解像度な表面形状を推定
  315. 94. 3D-EPN [A. Dai+, CVPR2017, arXiv:1612.00101, 2016-12-01] ネットワークの構造 • ボクセル上での3D

    CNNによるU-Netのような構造 • マルチタスクとしてクラス分類を行うことで, 各クラス特有の形状について学習することを期待 クラス分類 Skip Connections
  316. 95. PU-Net(Ver. 1収録) [L. Yu+, CVPR2018, arXiv:1801.06761, 2018-01-21] 点群をアップサンプリングするネットワーク PU-Netを提案

    • 入力,出力ともに点群だが,それぞれの点数が異なる • アップサンプリングに適したロスを設計 評価 • アップサンプリング VISIONAIR repositoryで学習 SHREC15,ModelNet40,ShapeNetでテスト
  317. 95. PU-Net(Ver. 1収録) [L. Yu+, CVPR2018, arXiv:1801.06761, 2018-01-21] 処理の流れ 1.

    Patch Extraction 2. Point Feature Embedding 3. Feature Expansion 4. Coordinate Reconstruction
  318. 95. PU-Net(Ver. 1収録) [L. Yu+, CVPR2018, arXiv:1801.06761, 2018-01-21] 処理の流れの詳細 1.

    Patch Extraction 指定半径で部分点群を切り出し,ポアソンディスクサンプリングに 従ってランダムに点を固定点数になるよう選択 2. Point Feature Embedding 着目半径を変えてそれぞれで特徴抽出を行う 選択されなかった点については近傍点から特徴量を補間する (PointNet++と同様) 3. Feature Expansion 入力各点が個の点を出力(合計点数は倍になる) 4. Coordinate Reconstruction 点ごとに畳み込みを行い点の三次元座標を出力
  319. 95. PU-Net(Ver. 1収録) [L. Yu+, CVPR2018, arXiv:1801.06761, 2018-01-21] ロスの設計 Reconstruction

    Loss: 入出力点群間のEarth Mover’s Distance Repulsion Loss: 入力点から少しばらけるよう設計 近傍点と近づき すぎないようにする 離れたら ペナルティーを減衰 番目の点の K近傍 パラメータの L2正則化
  320. 96. Shape Completion under Weak Supervision [D. Stutz+, CVPR2018, arXiv:1805.07290,

    2018-05-18] スパースかつノイズの多い部分三次元点群から 全周形状の補完する手法の提案 • 三次元形状の記述はSDFベース (占有率を考慮してベルヌーイ分布として記述) • ネットワーク構造は3D CNNを使用した オートエンコーダー 評価 • 形状補完 ShapeNet, ModelNet, KITTI, Kinect Dataset[Yang2018] 部分点群から補完された形状の例
  321. 96. Shape Completion under Weak Supervision [D. Stutz+, CVPR2018, arXiv:1805.07290,

    2018-05-18] 提案法の枠組み (Amortized Maximum Likelihood) 1. 全周形状のデータセットを用いて Denoising Variational Auto-Encoder (DVAE)を学習 2. 部分点群を入力とするエンコーダーを学習 • Amortized Inferenceのアイデア • 教師無しで Maximum Likelihood Lossを使用 • デコーダーはDVAEで学習されたもの(学習しない)
  322. 97. PointProNets [R. Roveri+, Eurographics2018, 2018-05-22] 処理の流れ 1. パッチを切り出してHeightmap Generation

    Network (HGN)で2Dの局所Heightmapに変換 2. Heightmap Denosing Network (HDN)でノイズ除去& 高解像度化 2D CNNを利用 3. 高解像度なHeightmapから点群を生成 HGN HDN
  323. 97. PointProNets [R. Roveri+, Eurographics2018, 2018-05-22] Heightmap Generation Network (HGN)

    • Frame Estimator • Heightmapを生成するための局所座標系を推定 • PointNetを利用 • パッチ点群を局所座標系で定義される面上に投影 • 距離が一定以内の点のみ,ガウシアンカーネルで重み付け HGN Frame Estimator 面上に投影
  324. 98. Data-driven Upsampling [W. Zhang+, arXiv:1807.02740, 2018-07-08] 三次元点群のアップサンプリングをする ネットワークの提案 •

    パッチ単位ではなく点群全体に対して処理 • ロス関数としてChamfer Distance (CD)を使用 評価 • アップサンプリング ShapeNet-Core アップサンプリングした点群の例 左から入力点群,出力点群,正解点群
  325. 99. Shape Completion using Latent Optimization [S. Gurumurthy+, arXiv:1807.03407, 2018-07-09]umurthy2018

    GANを利用した三次元点群の形状補完を行う • 入力点群が部分点群の場合やオクルージョンを含む場 合,低解像度の場合を想定 • Learning Representations and Generative Models for 3D Point Cloudsを拡張 • Latent Denoising Optimization (LDO)によって点群の Global Feature Vector (GEV)からノイズ(ここでは点群の 不完全さ)を除去 評価 • 形状補完,アップサンプリング ShapeNet-core,自作データ
  326. 99. Shape Completion using Latent Optimization [S. Gurumurthy+, arXiv:1807.03407, 2018-07-09]umurthy2018

    Latent Denoising Optimization (LDO) • 不完全な点群が入力されたとき,Encoderの出力する GEVがノイズを多く含むことになる • GANによってノイズを含むGEVからノイズのないGEVを 生成 LDOによって潜在空間でノイズ(上の例では部分的なマスク)の影響を除去する例
  327. 99. Shape Completion using Latent Optimization [S. Gurumurthy+, arXiv:1807.03407, 2018-07-09]umurthy2018

    ネットワークの構造(GAN部分) Encoder 点群をShared MLP→ Max PoolingでGEVに変換 Decoder Generatorで生成したGEVを MLPで点群に変換 再構成ロス 入力点群とデコードされた 点群をEMDで比較
  328. 99. Shape Completion using Latent Optimization [S. Gurumurthy+, arXiv:1807.03407, 2018-07-09]umurthy2018

    ネットワークの構造(エンコーダ/デコーダー部分) Initializing Encoder (IE) Encoderによって生成された GEVを潜在空間表現に変換 Generator IEの出力を受け取り, FakeとなるGEVを生成 Discriminator EncoderによるGEVと GeneratorによるGEVを 比較し,Real/Fakeを 見分ける
  329. 100. Patch-based Progressive Upsampling [W. Yuan+, 3DV2018, arXiv:1811.11286, 2018-11-27] 三次元点群を段階的にアップサンプリングする

    ネットワークの提案 • 各段階ではパッチベースのエンコーダー/デコーダー構造 • 点数を急激には増加させない 評価 • アップサンプリング MNIST-CP, Sketchfab, ModelNet10 , 実データ アップサンプリングの例
  330. 100. Patch-based Progressive Upsampling [W. Yuan+, 3DV2018, arXiv:1811.11286, 2018-11-27] 既存手法

    • PU-Net: 入力パッチサイズが固定されるため,注目してい るスケールより大きな/小さな構造は無視される • EC-Net: エッジ情報のアノテーションが必要で,これは高 コスト 提案法 • パッチベースで段階的に解像度を上げる 提案法による段階的なアップサンプリングの図示
  331. 100. Patch-based Progressive Upsampling [W. Yuan+, 3DV2018, arXiv:1811.11286, 2018-11-27] 局所形状特徴の抽出

    • 特徴量空間でのkNN (形状が似ているが座標的に離れた点の情報も考慮) • Shared MLPのたびに,Skip Connectionで以前の 点ごとの特徴量も結合 特徴量空間でのkNN Skip Connection
  332. 100. Patch-based Progressive Upsampling [W. Yuan+, 3DV2018, arXiv:1811.11286, 2018-11-27] 特徴量から点群生成

    • 点ごとの特徴量から2つの三次元点を生成 与えた2点が一次元上の点列と考えると,FoldingNetやAtlasNetなどの 2D gridに相当する部分を1Dで置き換えられる可能性を示唆 • 異なるスケールの間でskip-connection スケールごとに点数が異なるため特徴空間でバイラテラル補間して生成 • Modified Chamfer Distanceを提案 外れ値を無視する skip-connection
  333. 101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] 三次元点群のノイズ除去を行うPointCleanNetを提案 • 点群のパッチから法線と曲率を推定するネットワーク PCPNetをベースとして設計

    • ノイズの性質に関する明示的な情報が不要 さまざまなノイズを加えたデータに対して学習 評価 • ノイズ除去 オリジナルのデータセット(いくつかのデータセットから選んで構成?) 実データでも検証
  334. 101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] 良い三次元点群のノイズ除去とは • ノイズ除去と形状保持のバランスが取れている •

    ノイズモデルや表面形状のモデルを必要としない • 点の順序と剛体変換に対して不変である • 不必要に入力を劣化させない (複数回適用してもオーバースムージングしない) 既存研究 • 統計的に外れ点を除去 • 三次元点を推定された局所平面に投影 • 似たパッチ同士を統合 • 三次元座標以外の情報を利用
  335. 101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] 1ステップの処理の流れ(実際には繰り返し実行) 1. パッチ抽出 •

    半径rの球で切り出し,スケールを正規化 • 点数が少なければゼロ埋め,多ければランダムにダウンサンプリング 2. 回転正規化 • PCPNet同様,Quaternion Spatial Transformer Network (QSTN)を適用 3. 注目点がノイズ点かどうかのクラス分類+ 注目点をノイズのない表面に補正するベクトルの回帰 • ほぼPointNet,経験的に良かったのでSkip Connectionを追加 • 注目点(切り出した中心の点)がノイズ点の場合はここで除去 4. インフレーション • 点群が縮小しないように補正ベクトルをスムージング (Taubin smoothingのアイデア)
  336. 101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] ロス関数の設計 • 外れ点かどうかはL1(スカラーなのでただの絶対値) •

    補正ベクトルは簡単ではない → 以下の重み付き和 • ノイズのない表面に近くなるよう,Ground Truth点群での最近傍点との 距離を小さくする(0.99の重み,こちらが支配的) • 均一な分布になるよう,パッチ点群中のもっとも遠い点との距離を 小さくしてパッチから離れていかないようにする(0.01の重み)
  337. 101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] ロス関数の設計 と は現在の点群に依存するため,学習中は毎回更新 する必要がある

    → 代替として事前計算できるロス関数を設計 事前計算ができ効率が良いが,わずかにパフォーマンスは低下 で最小化される距離の図示 青: ノイズを含む入力 オレンジ: Ground Truth点群 Ground Truth点群内に対する, 入力点の初期状態での最近傍点
  338. アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 •

    点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他
  339. 102. SchNet [K. T. Schütt+, NIPS2017, arXiv:1706.08566, 2017-06-26] 分子の立体構造を予測するためのネットワーク SchNetの提案

    • 回転・並進・順序付けに対して不変な畳み込み Continuous-filter Convolutional (cfconv) Layerを含む • 力とエネルギーを予測するように学習 力はエネルギーを位置で微分することで計算できるため, ネットワークの出力はエネルギーのみ 評価 • 立体配座予測(静的,平衡状態) QM9 • 立体配座予測(動的な形状変化) MD17,ISO17(この論文で作成)
  340. 102. SchNet [K. T. Schütt+, NIPS2017, arXiv:1706.08566, 2017-06-26] 点群深層学習と同様の手法で直接原子を取り扱う ボクセルなどによるの離散化とそれに伴う補間は

    パラメータ調整が難しく,また入力がスパースな 場合には計算量が増加 アイデア • Atom-wise Convolution • 原子の特徴量をMLPで変換 • Continuous-filter Convolutional (cfconv) Layer • 他の原子との相対位置に応じた重みで特徴量を畳み込み • ResNetのように残差を伝播
  341. 102. SchNet [K. T. Schütt+, NIPS2017, arXiv:1706.08566, 2017-06-26] ネットワークの構造 入力は座標と電荷,出力はエネルギーの推定値

    原子ごとの 特徴量変換 Interaction Layer cfconv Layer Interaction Layer cfconv layer 相対位置を RBFカーネルで 変換 ネットワーク全体
  342. 103. Hand Pose Estimation from Single Depth Images [L. Ge+,

    CVPR2017, 2017-07-21] 手の関節位置をDepth画像から3D CNNで推定 • 手の領域を覆うAxis-Aligned Bounding Box (AABB)を 切り出し,Directional Truncated Signed Distance Function (D-TSDF)に変換してボクセル上で畳み込み • 各関節の三次元座標を直接出力 • 推定が非常に高速 (215fps) 評価 • 手の姿勢推定 MSRA dataset, NYU dataset 提案法の概要図
  343. 103. Hand Pose Estimation from Single Depth Images [L. Ge+,

    CVPR2017, 2017-07-21] ネットワークの構造 D-TSDFを入力として3D CNN,その後MLPで 各関節位置を直接出力 D-TSDFを入力とする 3D CNN MLP 3D CNNの各層の応答例
  344. 104. PCPNet(Ver. 1収録) [P. Guerrero+, Eurographics2018, arXiv:1710.04954, 2017-10-13] 局所点群から法線と曲率を推定するPCPNetの提案 •

    ノイズの多い生の点群に適用できる • 各点の近傍を複数のスケールでサンプリング 評価 • 法線推定 オリジナルのデータセット (いくつかのデータセット から選んで構成?) 法線・曲率の推定結果の例
  345. 前処理 • 点群から半径でパッチを切り出し,長さをで正規化 • 点数が多すぎる場合ランダムにダウンサンプリング PCPNet • 基本構造はPointNetと同様 • STN

    (PointNetのT-net) は回転行列の代わりに クオータニオンを出力するよう学習 • 回転のみを推定するようになり,学習が安定 • 特徴量をSumでプーリング Multi Scale PCPNet • 複数の半径でパッチを切り出し,特徴量を計算 • すべての特徴量を結合し,MLPを通して出力 104. PCPNet(Ver. 1収録) [P. Guerrero+, Eurographics2018, arXiv:1710.04954, 2017-10-13]
  346. 105. PointNetVLAD [M. A. Uy+, CVPR2018, arXiv:1804.03492, 2018-04-10] 三次元点群からマップ上での探索を行うための グローバル記述子を計算するネットワーク

    PointNetVLADを提案 • PointNetとNetVLADの組み合わせ • PointNet: 三次元点群を直接入力 • NetVLAD: グローバル記述子を計算 • Lazy Triplet LossとLazy Quadruplet Lossも提案 評価 • マップからの探索 独自データセット
  347. 105. PointNetVLAD [M. A. Uy+, CVPR2018, arXiv:1804.03492, 2018-04-10] 問題設定 グローバル記述子を用いて,既に持っているマップ

    (サブマップの集合)の中で近いサブマップを見つける Metric学習のためのロス関数の設計 Lazy Triplet Loss ロスを最大にする負例を考える Lazy Quadruplet Loxx 学習する負例とデータセット中の負例を近づけるため, データセット中の負例からランダムな点を選択,その点との距離が 最小となるような学習中の負例に対するロスを加える ロスを最大にする負例 ヒンジ関数
  348. 105. PointNetVLAD [M. A. Uy+, CVPR2018, arXiv:1804.03492, 2018-04-10] ネットワークの構造 NetVLADではクラスタ中心cと点ごとに与える重みを学

    習, クラスタ中心との距離の重み付け和を正規化して出力 VLAD記述子 出力記述子 Shared MLP NetVLAD
  349. 106. Hand PointNet(Ver. 1収録) [L. Ge+, CVPR2018, 2018-06-18] 手の関節位置を推定するHand PointNetの提案

    • 手の三次元点群を直接入力 • PointNet++のHierarchical PointNetで推定 • 指先付近の点群を切り出し,指先位置を修正 評価 • 手の関節位置の推定 NYU, MSRA, ICVL
  350. 106. Hand PointNet(Ver. 1収録) [L. Ge+, CVPR2018, 2018-06-18] OBB-based Point

    Cloud Normalization • OBB: Oriented Bounding Box • 入力点群をおおまかな形状で正規化 • 処理の流れ 1. PCAでOBBの座標軸方向を決定 2. OBBの最長辺の長さで スケールの正規化 3. 手を覆うようバウンディング ボックスを決定 4. OBBの重心が原点となるよう 点群を並進
  351. 106. Hand PointNet(Ver. 1収録) [L. Ge+, CVPR2018, 2018-06-18] Hand Pose

    Regression Network • PointNet++のように階層的にPointNetを適用 kNNで近傍点を接続,プーリングすることで段階的に点数を減らす Fingertip Refinement Network • 指先位置の誤差が大きい&指先位置はrefineが容易 • 処理の流れ 1. Hand Pose Regression Networkで推定された指先位置を中心に, 近傍点群を抽出 (学習時には指先位置に ノイズを付与) 2. 点群をOBBで正規化 3. 近傍点群を入力として, PointNetで指先位置を推定
  352. 107. PointNetGPD [H. Liang+, arXiv:1809.06267, 2018-09-17] ロボットによる物体把持の評価を行うための ネットワークPointNetGPDの提案 • 把持する領域のみを切り出して評価

    • 閾値で分割して把持のクオリティの高さを分類 (回帰ではない) • 実際にロボットで把持実験を行い評価 評価 • 把持姿勢生成 実データ,YCBで学習
  353. 107. PointNetGPD [H. Liang+, arXiv:1809.06267, 2018-09-17] 把持姿勢生成の流れ 1. 三次元点群の計測 2.

    GPGによって把持候補姿勢を生成 3. それぞれの把持候補姿勢についてPointNetGPDで 把持スコアを計算 4. 最も把持スコアの高い姿勢を採用して把持を行う
  354. 107. PointNetGPD [H. Liang+, arXiv:1809.06267, 2018-09-17] YCBデータセットをもとに,平行グリッパに 対する把持スコアデータを生成 • ランダムに把持姿勢を生成

    • Force Closureと摩擦なし把持レンチ空間による解析で 把持スコアを計算 Force Closureは摩擦係数を変化させて評価 • グリッパとの接触で実現できない把持を防ぐため シミュレーションで検証 • 物体の点群は把持する領域のみ切り出して使用(下図)
  355. 108. P2P Regression PointNet(Ver. 1収録) [L. Ge+, ECCV2018, 2018-10-08] 手の関節位置を推定するPoint-to-Point

    Regression PointNetの提案 • 三次元点それぞれで関節位置の推定を行い統合 • 基本構造はHierarchical PointNet 評価 • 手の関節位置の推定 NYU, MSRA, ICVL
  356. 108. P2P Regression PointNet(Ver. 1収録) [L. Ge+, ECCV2018, 2018-10-08] Offset

    Fieldsの推定による手の関節位置推定 • Offset Fields: 各三次元点における,各関節の距離と方向 • 距離の離れた関節は推定しない(0を出力) • Offset Fieldsを直接ネットワークで推定するのは 難しいため,距離と方向に分けてそれぞれを推定 • 距離: 関節点までの近さをHeat-maps • 方向: 関節点の方向を向いた単位ベクトル • Hand PointNet同様,OBBによる正規化
  357. 108. P2P Regression PointNet(Ver. 1収録) [L. Ge+, ECCV2018, 2018-10-08] Post-processing

    • 関節位置の統合 • 各点から推定された関節位置が一点に まとまらない場合がある(右図) • 推定された関節位置の分散が大きい場合, 別のネットワークが代わりに関節位置を出力 PointNetの中間表現を入力とし, 直接各関節位置を出力 • 手の形状になるように制約をつける • PCAで次元削減し,関節位置を30次元で表現 • 推定結果を30次元空間に乗るように制約
  358. 108. P2P Regression PointNet(Ver. 1収録) [L. Ge+, ECCV2018, 2018-10-08] ネットワークの構造

    Hierarchal PointNetを2回つなげたような構造 関節位置がうまく統合 できないときの出力 基本となる ネットワーク 関節までの距離 関節の方向
  359. 109. Adversarial Attacks [D. Liu+, arXiv:1901.03006, 2019-01-10] PointNetとPointNet++に対するAdversarial Attacksの 評価

    点群深層学習も攻撃には弱いが,外れ点除去などが有効で あるため二次元画像の深層学習よりも防御が容易 評価 • クラス分類に対する Adversarial Attacks ModelNet40 (PointNet, PointNet++) 敵対的サンプルの例
  360. 109. Adversarial Attacks [D. Liu+, arXiv:1901.03006, 2019-01-10] 攻撃の手法 • ベースはIterative

    Fast Gradient Method Fast Gradient Sign Method (FGSM)を改善したアルゴリズム • 摂動に対する制約(生成される点群が変化) 1. 各点の各次元の摂動に対するL2制約 2. 各点の摂動に対するL2制約(三次元の摂動自体を制約) 3. 初期点群と摂動後点群の点群同士での差に対するL2制約 • Jacobian-based Saliency Map (JSMA) すべての点ではなく,摂動させる点を選択する Jacobian-based Saliency Methodがベース • Gradient Projection 三次元点群だと摂動が知覚しやすくなるため,点群を生成した メッシュ状に乗るように投影した範囲で摂動させる
  361. 109. Adversarial Attacks [D. Liu+, arXiv:1901.03006, 2019-01-10] 防御の方法 • Adversarial

    Training 敵対的サンプルを一度生成し,それらに対しても学習を行う • 外れ点の除去 • 推論時にも勾配を計算し,勾配が大きな点を削除 攻撃のために摂動を加えた点は大きな勾配を持つと予想されることを利用 評価 • ホワイトボックス攻撃 モデルパラメータは既知として敵対的サンプルを生成 • ブラックボックス攻撃 攻撃対象とはアーキテクチャ・学習したデータの異なるネットワークで 敵対的サンプルを生成
  362. 110. CloudContext [J. Sauder+, arXiv:1901.08396, 2019-01-24] 二つの三次元点群の空間的な位置関係を推定する タスクを通じて,点群全体および点ごとの良い 特徴量表現を得るための手法 CloudContextの提案

    • 教師ラベルなしで学習 • 学習で得られた特徴量表現がクラス分類・ セグメンテーションに利用できる 評価 • クラス分類 • ModelNet10, ModelNet40 • セグメンテーション • ShapeNet part
  363. 110. CloudContext [J. Sauder+, arXiv:1901.08396, 2019-01-24] 三次元点群同士の位置関係(Context)の学習 a: 同じ高さの 対角位置

    b: 異なる高さの 対角位置 c: 斜め上か 斜め下 d: 上下に重なる e: 左右に重なる のいずれであるかを分類 このタスクを通じて良い特徴量表現の学習を目指す