Slide 1

Slide 1 text

三次元点群を取り扱う ニューラルネットワークのサーベイ Ver. 2 東北大学 橋本研究室 D2 千葉 直也 M2 戸田 幸宏

Slide 2

Slide 2 text

はじめに PointNet (CVPR2017) 以降,点群深層学習の研究が盛んに なった 三次元点群 (Point Cloud) は,入力点の順番によらず同じ形状を 記述できる「順不同なデータ構造」(三次元点の集合)であるため, 取り扱いが難しかった 昨年三次元点群を取り扱う論文のサーベイを行ったところ, ありがたいことに想定よりも多くの人に見て頂いた 引き続きサーベイしたので,追加分と合わせて公開します 相変わらず間違っている部分もあるかと思います 何かお気づきの場合はご指摘頂けるとありがたいです 傾向・感想などを含めた研究動向については,後日改めて 別の資料を公開しようと考えていますので本資料には含みません

Slide 3

Slide 3 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 4

Slide 4 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 5

Slide 5 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 6

Slide 6 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 7

Slide 7 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 8

Slide 8 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 9

Slide 9 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 10

Slide 10 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 11

Slide 11 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 12

Slide 12 text

まとめた論文の一覧 (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 まだ他にも論文はありますが,今回は以上の論文を扱います 分類も難しいのですが,今回は以上のように分けました

Slide 13

Slide 13 text

まとめた論文の発表時期 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に至るまで 局所形状の利用・畳み込み アプリケーション 徐々にアプリケーション寄りの論文も増えつつある

Slide 14

Slide 14 text

参考文献 本資料を作成するにあたり,以下の資料を参照しました. 資料を作成・公開頂き本当にありがとうございます. • 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

Slide 15

Slide 15 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Localisation Net: 幾何学変換を推定する • 幾何学変換のパラメータθを出力 • あらゆるネットワーク構造を取りうる (CNNやMLPなど) パラメータθを得るために回帰出力層が必要 1. STN (Ver. 1収録) [M. Jaderberg+, NIPS2015, arXiv:1506.02025, 2015-01-05]

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

1. STN (Ver. 1収録) [M. Jaderberg+, NIPS2015, arXiv:1506.02025, 2015-01-05] Sampler • 変換したGridに乗っている値を取り出す • どんなサンプリング方式でも可 • 点群ではこの処理は不要 →gridに縛られない点群の良いところ

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

2. Permutation Equivariant Layer [S. Ravanbakhsh+, ICLR2017WS, arXiv:1611.04500, 2016-11-14] Symmetric Functionの例 総和,最大 (= Max Pooling) その他の知見 • 点ごとに特徴量を変換するとき,総和や最大との差を 出力することで共変量シフトが減少 → バッチ正則化が不要 • Dropoutをするときにはチャンネル単位でまとめて 行うことが効果的

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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 (の順序の影響を受けない)

Slide 25

Slide 25 text

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) • 正規直交行列になるようロスを設計 (正規直交変換であれば情報を失わないため)

Slide 26

Slide 26 text

3. PointNet(Ver. 1収録) [C. R. Qi+, CVPR2017, arXiv:1612.00593, 2016-12-02] ネットワークの構造 T-Net = STN Max Pooling 点ごとの特徴と グローバルな特徴を結合

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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に相当

Slide 29

Slide 29 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 30

Slide 30 text

5. Generalized CNN [J.-C. Vialatte+, arXiv:1606.01166, 2019-06-03] グリッド上に整列されていないデータ構造 (点群など)に対する畳み込み Generalized CNN (G-CNN)の提案 三次元点群については直接言及していないが, 後に似たアイデアが点群でも用いられている 評価 • クラス分類 MNIST 注目点周りにグリッド状の カーネルを設定し畳み込む

Slide 31

Slide 31 text

5. Generalized CNN [J.-C. Vialatte+, arXiv:1606.01166, 2019-06-03] アイデア 各点ごとに近傍点を畳み込むためのグリッドカーネルを 設定(チャンネルごとにカーネルの重みは共有) カーネル中の各領域に点があれば,その要素の重みを 掛けて足し合わせる 整列されていないデータの場合 整列されたデータの場合 (普通の2D CNNと同じになる)

Slide 32

Slide 32 text

6. OctNet (Ver. 1収録) [G. Riegler+, CVPR2017, arXiv:1611.05009, 2016-11-15] 高解像度なボクセルグリッドを扱えるOctNetの提案 • データの密度に従って空間を分割 • 点のない空間は分割しないことで 計算リソースとメモリリソースを節約 • PointNet以前の論文 評価 • クラス分類 ModelNet10, ModelNet40 • 回転推定 ModelNet10, Biwi Kinect Head Pose Database • セグメンテーション RueMonge2014

Slide 33

Slide 33 text

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をビット列で表現

Slide 34

Slide 34 text

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や活性化関数)は データ構造に依存しないので問題ではない

Slide 35

Slide 35 text

6. OctNet (Ver. 1収録) [G. Riegler+, CVPR2017, arXiv:1611.05009, 2016-11-15] Hybrid Grid-Octree上でのConvolution • Octreeとカーネルの畳み込み: サブボクセルの畳み込みに分けると計算結果を 使い回せる • 計算しなければいけないサブボクセルのパターンは カーネルとの位置関係によって領域ごとに異なる サブボクセルのパターン 一般的な三次元の畳み込みと 提案する畳み込みの比較

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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をつける

Slide 38

Slide 38 text

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回でよい

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

9. PointGrid(Ver. 1収録) [T. Le+, CVPR2018, 2018-06-18] 点群からボクセルへのサンプリングを工夫し, ボクセルの畳み込みを学習するPointGridの提案 • ボクセル中の点の座標を直接入力 • 各ボクセルで点数が等しくなるようサンプリング 評価 • クラス分類 ModelNet40, ShapeNet-Core v2 • セグメンテーション ShapeNet-Part

Slide 43

Slide 43 text

9. PointGrid(Ver. 1収録) [T. Le+, CVPR2018, 2018-06-18] ボクセル中の点数が一定になるようにサンプリング 点数が一定=次元が固定なので,座標値を結合して入力 • 点数がゼロの場合: 空のボクセルとして処理 • 点数が多い場合: ランダムに除去 • 点数が少ない場合: オーバーサンプリング (同じ点を複数回サンプリング)

Slide 44

Slide 44 text

9. PointGrid(Ver. 1収録) [T. Le+, CVPR2018, 2018-06-18] ネットワーク構造 上: クラス分類,下: セグメンテーション サンプリングの工夫が主で,ネットワーク構造は一般的

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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でレベルごとに統合

Slide 48

Slide 48 text

10. AO-CNN (Ver. 1収録) [P. –S. Wang+, SIGGRAPH Asia2018, 2018-09-19] ネットワークの構造: デコーダー • 各ボクセルで平面パラメータと推定状況を出力 推定状況: Empty, Surface-well-approximated, Surface-poorly-approximated • Surface-poorly-approximatedのボクセルはより細かい ボクセルで再度推定

Slide 49

Slide 49 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

Edge-Conditioned Convolution エッジごとに重みを生成,その重みを使って畳み込む エッジの情報 エッジごとに 重みを生成 ノードごとの入力特徴量 入力特徴の 重み付け和 +バイアス ノードごとの出力特徴量 11. ECC (Ver. 1収録) [M. Simonovsky+, NIPS2017, arXiv:1704.02901, 2017-04-10]

Slide 52

Slide 52 text

ECCによる点群のクラス分類 • Data Augmentation • ランダムな回転 • ランダムなスケーリング • ランダムな点の除去 • 処理の流れ 1. 点をノードとし,一定半径内の近傍点をエッジで結ぶ 2. プーリングのための空間解像度が粗いグラフを VoxelGridによるダウンサンプリングで生成 3. グローバルプーリングでグラフ全体の情報を統合 11. ECC (Ver. 1収録) [M. Simonovsky+, NIPS2017, arXiv:1704.02901, 2017-04-10]

Slide 53

Slide 53 text

ネットワークの構造 近いノードを集約 (Max Pooling) する グラフ 0 上での ECC グラフ 1 上でのECC Max Pooling 11. ECC (Ver. 1収録) [M. Simonovsky+, NIPS2017, arXiv:1704.02901, 2017-04-10]

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

12. SSCN [B. Graham+, arXiv:1706.01307, 2017-06-05] Sparse Convolution (SC) • 特徴量のいずれかの要素が基底状態ではない場合,その 点はアクティブ(=非スパース)と考える • 基底状態を無視することで,スパースな入力に対応する • ただし,入力が疎でも畳み込みが密だと徐々にスパース性が失われる (Submanifold Dilation Problem) • Valid SC (VSC)では,SCに加えて畳み込みの中心点がアク ティブな場合のみ出力をアクティブにする (上の図の示す問題を解決) 疎な入力に対して密な畳み込みを2回適用した図(左→右)

Slide 56

Slide 56 text

12. SSCN [B. Graham+, arXiv:1706.01307, 2017-06-05] ネットワークの構造 既存のVGG, ResNet, DenseNetにスパース畳み込みを適用

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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: 局所特徴量を計算

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

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

Slide 61

Slide 61 text

13. PointNet++(Ver. 1収録) [C. R. Qi+, NIPS2017, arXiv:1706.02413, 2017-06-07] セグメンテーション用のネットワーク: 抽出した特徴量を元の点に伝搬 • まず距離ベースで補間 • 補間した特徴量と,同解像度で抽出していた特徴量を つなげてUnit PointNetに渡し,元の点群での特徴量を 得る

Slide 62

Slide 62 text

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

Slide 63

Slide 63 text

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

Slide 64

Slide 64 text

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

Slide 65

Slide 65 text

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

Slide 66

Slide 66 text

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

Slide 67

Slide 67 text

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をとることでプーリング

Slide 68

Slide 68 text

15. KCN (Ver. 1収録) [Y. Shen+, CVPR2018, arXiv:1712.06760, 2018-06-18] 手で設計したカーネル(左)と 学習されたカーネルの例(右) 赤色: 相関のある隣接2点

Slide 69

Slide 69 text

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 グラフは一度のみ生成し使い回す

Slide 70

Slide 70 text

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

Slide 71

Slide 71 text

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

Slide 72

Slide 72 text

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

Slide 73

Slide 73 text

16. PointCNN (Ver. 1収録) [Y. Li+, NIPS2018, arXiv:1801.07791, 2018-01-13] ネットワークの構造 • 基本的にX-Convを積む • セグメンテーションでは集約前の点の位置を引き継ぐ クラス分類 セグメンテーション : X-Conv

Slide 74

Slide 74 text

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

Slide 75

Slide 75 text

17. DG-CNN (Ver. 1収録) [Y. Wang+, arXiv:1801.07829, 2018-01-24] グラフを各層の出力から逐次生成する → “Dynamic” Graph CNN kNNで近傍点を結ぶ.このとき三次元空間だけではなく, 各層の出力特徴量空間での距離を使う グラフ上での情報の集約方法: EdgeConv 1. エッジごとに特徴量を計算 • 本論文では ①中心ノードの特徴量と ②周辺ノードと中心ノードの差(局所特徴) の二つを結合し,特徴量とした 2. ノードごとにエッジの特徴量を集約(Sum, Maxなど)

Slide 76

Slide 76 text

グラフ上での情報の集約方法: EdgeConv 1. エッジごとに特徴量を計算 2. ノードごとにエッジの特徴量を集約 2点の特徴量から, それらを繋ぐエッジの 特徴量を計算 エッジの特徴量を集約 17. DG-CNN (Ver. 1収録) [Y. Wang+, arXiv:1801.07829, 2018-01-24]

Slide 77

Slide 77 text

ネットワークの構成 • EdgeConvを複数回適用する • Spatial Transformation Networkで回転の正規化を図る Spatial Transformation EdgeConv 17. DG-CNN (Ver. 1収録) [Y. Wang+, arXiv:1801.07829, 2018-01-24]

Slide 78

Slide 78 text

EdgeConvで得られている特徴量 • 深い層で「距離の近い」点は,三次元的な位置ではなく 「近傍の形状」が近いことを評価している • 下図: 各層における「赤点に近い点」を図示 17. DG-CNN (Ver. 1収録) [Y. Wang+, arXiv:1801.07829, 2018-01-24]

Slide 79

Slide 79 text

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

Slide 80

Slide 80 text

18. LocalSpecGCN [W. Yifan+, ECCV2018, arXiv:1803.05827, 2018-03-15] •PointNetは近傍の構造を捉えない(下図左) •既存のkNNベースの畳み込みの問題点 距離が近い点のすべてを平等に扱ってしまう → 解決法(下図右) Spectral Graph Convolution + Recursive Cluster Pooling

Slide 81

Slide 81 text

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

Slide 82

Slide 82 text

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によって再帰的にクラスタリング

Slide 83

Slide 83 text

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

Slide 84

Slide 84 text

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

Slide 85

Slide 85 text

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

Slide 86

Slide 86 text

19. Flex-convolution(Ver. 1収録) [F. Groh+, ACCV2018, arXiv:1803.07289, 2018-03-20] ネットワークの構造 • Flex-convolutionを積む • TensorFlowを使うより圧倒的に省メモリ・高速な実装

Slide 87

Slide 87 text

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

Slide 88

Slide 88 text

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

Slide 89

Slide 89 text

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

Slide 90

Slide 90 text

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

Slide 91

Slide 91 text

20. SpiderCNN (Ver. 1収録) [Y. Xu+, ECCV2018, arXiv:1803.11527, 2018-03-30] ネットワークの構造 (セグメンテーション,4-layer SpiderCNN) • Top-2 Poolingで大域特徴を抽出 • 各点の特徴量と結合してMLPに入力し, 点ごとのクラス分類によりセグメンテーション SpiderConv 大域特徴と点ごとの特徴量の結合

Slide 92

Slide 92 text

21. PointGCN [Y. Zhang+, ICASSP2018, arXiv:1812.01711, 2018-04-15] グラフ畳み込みを利用して点群の局所形状を 処理できるネットワークPointGCNを提案 • kNNにより局所的な隣接グラフを構築 • FPSで解像度の異なる点群を生成し局所プーリング 評価 • クラス分類 ModelNet40, ModelNet10

Slide 93

Slide 93 text

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で解像度の低い点群を生成しプーリング

Slide 94

Slide 94 text

21. PointGCN [Y. Zhang+, ICASSP2018, arXiv:1812.01711, 2018-04-15] ネットワークの構造 グラフ畳み込みとMulti-resolution Poolingにより 局所的な形状の特徴を捉える グラフ畳み込み Global Pooling グラフ畳み込み MLP Multi-resolution Pooling

Slide 95

Slide 95 text

不均一にサンプリングされた点群に対する畳み込み Monte Carlo Convolutionを提案 • サンプリング方法の変更に対してロバスト • 構成要素 • カーネル自体をMLPで表現 • 畳み込みをモンテカルロ積分として表現 • 複数レベルでサンプリングされた情報を統合 評価 • クラス分類 ModelNet40 • セグメンテーション ShapeNet-Part 22. MCCNN (Ver. 1収録) [P. Hermosilla+, SIGGRAPH Asia2018, arXiv:1806.01759, 2018-06-05]

Slide 96

Slide 96 text

MLPによるカーネル • 相対位置を局所点群を切り出す半径で正規化, これを入力としてカーネルを出力するMLPを学習 • 学習パラメータを減らすため,一つのMLPで8つの カーネルを出力 正規化した相対位置を入力 MLP 入力した相対位置における カーネルを出力 22. MCCNN (Ver. 1収録) [P. Hermosilla+, SIGGRAPH Asia2018, arXiv:1806.01759, 2018-06-05]

Slide 97

Slide 97 text

Monte Carlo (MC) Convolution • モンテカルロ積分で畳み込み演算を行う • 各点におけるサンプル密度で正規化して畳み込み • サンプル密度は厳密には与えられないため,カーネル密度推定を用いて 入力点群から推定 • MC Convolution on Multiple Samplings • 点数を変えてサンプリングを 複数回行うことで,畳み込まれる 点群と出力点群が異なるような 畳み込みが可能 • カーネルごとに畳み込む点群を 変えることも可能 カーネル 畳み込まれる 点群 出力点群 畳み込まれる点群が1種類の場合の例(上) 畳み込まれる点群が複数種類の場合の例(下) 22. MCCNN (Ver. 1収録) [P. Hermosilla+, SIGGRAPH Asia2018, arXiv:1806.01759, 2018-06-05]

Slide 98

Slide 98 text

ネットワークの構造 クラス分類 セグメンテーション Shared MLP 近傍点での畳み込み 空間解像度の変更を伴う MLP 22. MCCNN (Ver. 1収録) [P. Hermosilla+, SIGGRAPH Asia2018, arXiv:1806.01759, 2018-06-05]

Slide 99

Slide 99 text

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

Slide 100

Slide 100 text

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 ⋅ : 相対関係→重み の関数を学習

Slide 101

Slide 101 text

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

Slide 102

Slide 102 text

23. Parametric Continuous Convolutions(Ver. 1収録) [S. Wang+, CVPR2018, 2018-06-18] ネットワークの構造 Parametric Continuous Convolutions Layerを積む Parametric Continuous Convolutions Layer

Slide 103

Slide 103 text

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

Slide 104

Slide 104 text

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

Slide 105

Slide 105 text

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

Slide 106

Slide 106 text

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

Slide 107

Slide 107 text

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で置き換え

Slide 108

Slide 108 text

25. SCN (Ver. 1収録) [S. Xie+, CVPR2018, 2018-06-18] SCNとA-SCNの比較 A-SCNではビンの設計とビンの集計のしかたが学習される SCN A-SCN

Slide 109

Slide 109 text

25. SCN (Ver. 1収録) [S. Xie+, CVPR2018, 2018-06-18] ネットワーク構造 Shape Context Blockを積む Shape Context Block

Slide 110

Slide 110 text

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の対比

Slide 111

Slide 111 text

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.

Slide 112

Slide 112 text

26. PointSIFT [M. Jiang+, , arXiv:1807.00652, 2018-07-02] ネットワークの構造 OEモジュールを複数組み合わせて1つのPointSIFT モジュールを構築,PointNet++のSAモジュール・ FPモジュールと組み合わせる PointSIFTモジュール PointSIFTモジュール PointSIFTモジュールの構造

Slide 113

Slide 113 text

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の一部+独自ラベリングのデータセット(公開済み)

Slide 114

Slide 114 text

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メートル内のボクセルの特徴量を距離に応じた重み付け和で プーリング

Slide 115

Slide 115 text

27. Fully Convolutional Point Network (Ver. 1収録) [D. Rethage+, ECCV2018, arXiv:1808.06840, 2018-08-21] ネットワークの構造 三段階の空間解像度で処理,Skip Connectionも使用 Weighted Average Pooling ボクセル内の点群を PointNetで処理

Slide 116

Slide 116 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 117

Slide 117 text

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

Slide 118

Slide 118 text

28. Kd-Network(Ver. 1収録) [R. Klokov+, ICCV2017, arXiv:1704.01222, 2018-04-04] 計算グラフの構築 • 子ノードの特徴量を結合,アフィン変換と活性化関数を 通して親ノードの特徴量とする • アフィン変換のパラメータは深さ及び分割軸 (x, y, z) ごとに独立 • ルートノードをアフィン変換して全体の特徴量とする 子ノードの出力を結合 アフィン変換+活性化関数 深さ・分割軸ごとに

Slide 119

Slide 119 text

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]

Slide 120

Slide 120 text

Kd-Tree自体が形状記述子とみなせる 概形によって分割が変わる どの軸に沿って分割されたかを みるだけでもクラスがわかる 28. Kd-Network(Ver. 1収録) [R. Klokov+, ICCV2017, arXiv:1704.01222, 2018-04-04]

Slide 121

Slide 121 text

セグメンテーションに応用できる • エンコーダー/デコーダー構造 • Skip Connectionsをいれる 28. Kd-Network(Ver. 1収録) [R. Klokov+, ICCV2017, arXiv:1704.01222, 2018-04-04]

Slide 122

Slide 122 text

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によるセグメンテーションの例

Slide 123

Slide 123 text

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から 再構成された三次元点群

Slide 124

Slide 124 text

29. 3DmFV [Y. B-. Shabat+, RA-L, arXiv:1711.08241, 2017-11-22] ネットワークの構造 3DmFVに変換し,3D Inception モジュールを積む 3DmFVに変換 MLP 点ごとの特徴量 Shared MLP Inceptionモジュール

Slide 125

Slide 125 text

30. PPFNet(Ver. 1収録) [H. Deng+, CVPR2018, arXiv:1802.02669, 2018-02-23] Point Pair Feature (PPF) を入力とするネットワーク PPFを利用することで点群形式の入力に対応 評価 • 点群間の対応 7-scenes, USN3D

Slide 126

Slide 126 text

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]

Slide 127

Slide 127 text

ネットワークの構成 • Local GeometryをPointNetの入力とする (Local Patch) • PointNetのパラメータは共有 • r ごとの特徴が得られる 30. PPFNet(Ver. 1収録) [H. Deng+, CVPR2018, arXiv:1802.02669, 2018-02-23]

Slide 128

Slide 128 text

30. PPFNet(Ver. 1収録) [H. Deng+, CVPR2018, arXiv:1802.02669, 2018-02-23] PPFNetはPPFを入力として局所特徴量を学習 • シーン間で同一の点が特徴空間で近づくように学習 • 特徴空間の距離と実際の距離を比較してBackpropagation

Slide 129

Slide 129 text

点群間の対応づけの成否を ロスとする (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] 対応点同士の特徴空間での 距離が近くなるように学習 非対応点同士の特徴空間での 距離が遠くなるように学習

Slide 130

Slide 130 text

31. SO-Net(Ver. 1収録) [J. Li+, CVPR2018, arXiv:1803.04249, 2018-03-12] 点群を直接入力として学習できるSO-Netの提案 自己組織化マップ(SOM)を用いて点群の空間分布を モデル化 評価 • クラス分類(+オートエンコーダー) MNIST, ModelNet10, ModelNet40 (オートエンコーダーで事前に学習した場合も比較) • セグメンテーション(+オートエンコーダー) ShapeNet-Part (オートエンコーダーで事前に学習した場合も比較)

Slide 131

Slide 131 text

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

Slide 132

Slide 132 text

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を用いる

Slide 133

Slide 133 text

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

Slide 134

Slide 134 text

31. SO-Net(Ver. 1収録) [J. Li+, CVPR2018, arXiv:1803.04249, 2018-03-12] ネットワークの構造 (Decoder) Upconvによって三次元点を得るネットワークと, MLPで直接三次元点を得るネットワークの組み合わせ Upconvしてから,各要素がそれぞれ三次元点となるように 各点の特徴量を三次元座標に変換する (conv2pc) そのままMLPで三次元点に変換する

Slide 135

Slide 135 text

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

Slide 136

Slide 136 text

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

Slide 137

Slide 137 text

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

Slide 138

Slide 138 text

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

Slide 139

Slide 139 text

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. 視点ごとの分類結果を統合

Slide 140

Slide 140 text

33. Automatic Depth Image Generation(Ver. 1収録) [R. Roveri+, CVPR2018, 2018-06-18] カメラ位置の推定 (View Prediction) • PointNetによりカメラに関する6次元ベクトルを推定 • カメラ視線方向ベクトル: 3次元 • Up-axis(視点の上方向を定めるベクトル) : 3次元 • 点群の中心とカメラの距離はあらかじめ設定 • 6次元ベクトルが示すカメラ視点になるよう点群を回転

Slide 141

Slide 141 text

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

Slide 142

Slide 142 text

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/の解像度

Slide 143

Slide 143 text

34. MRTNet(Ver. 1収録) [M. Gadelha+, ECCV2018, 2018-07-10] ネットワークの構造 • Encoder: MR-CONVで構成 • Decoder: MR-CONVの逆順で処理するMR-CONV-Tで構成 テンソル表現 された点群 MR-CONV MR-CONV-T 点ごとに 非線形変換

Slide 144

Slide 144 text

34. MRTNet(Ver. 1収録) [M. Gadelha+, ECCV2018, 2018-07-10] オートエンコーダーの中間表現による2形状間の 補間の例

Slide 145

Slide 145 text

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

Slide 146

Slide 146 text

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

Slide 147

Slide 147 text

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のアイデアを採用 • 注目面と接する面の法線 ベクトルと,畳み込みの カーネルとなるベクトル 集合との差を計算

Slide 148

Slide 148 text

35. MeshNet [Y. Feng+, AAAI2019, arXiv:1903.05711, 2018-11-28] Mesh Convolution • 隣接する面の情報を集約 • 隣接関係のみを用いる (空間的な位置が影響しないように設計) 位置情報を 含む入力 位置情報を 含まない入力 位置情報を含まない 近傍メッシュの 特徴量の集約 (Shared MLP + Pooling) 位置情報を含めた 近傍メッシュの 特徴量の集約 (Shared MLP) 面の隣接関係

Slide 149

Slide 149 text

35. MeshNet [Y. Feng+, AAAI2019, arXiv:1903.05711, 2018-11-28] ネットワークの構造 各特徴量を計算してからMesh Convolutionを積む 空間的特徴量と構造的特徴量の計算 Mesh Convolution Shared MLP + Pooling + MLP

Slide 150

Slide 150 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 151

Slide 151 text

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の例

Slide 152

Slide 152 text

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の例 学習前(左)と学習後(右)

Slide 153

Slide 153 text

36. FPNN (Ver. 1収録) [Y. Li+, NIPS2016, arXiv:1605.06240, 2016-05-20] ネットワークの構造 点群をボクセルでの距離空間と法線ベクトル空間に変換 し, Field Probing Layerに入力 FC Field Probing Layer 距離空間表現での入力 法線ベクトル空間表現での入力

Slide 154

Slide 154 text

37. Learning SO(3) [C. Esteves+, ECCV2018, arXiv:1711.06721, 2017-11-17] 球面調和関数で表し,球面上で回転に対する 畳み込みを行う • 回転不変な特徴量を学習できる • 三次元の畳み込みを少ないデータサイズで取り扱える 評価 • クラス分類 SHREC17, ModelNet40

Slide 155

Slide 155 text

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をチャンネルごとに適用して 出力する特徴ベクトルとする

Slide 156

Slide 156 text

37. Learning SO(3) [C. Esteves+, ECCV2018, arXiv:1711.06721, 2017-11-17] 処理の流れ 入力形状 SFT後の形状 畳み込み・非線形変換・ プーリングを 球面調和関数上で行う 回転不変な特徴量を 得ることができる

Slide 157

Slide 157 text

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

Slide 158

Slide 158 text

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: 格子点から特徴量を補間して出力

Slide 159

Slide 159 text

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

Slide 160

Slide 160 text

38. SPLATNet(Ver. 1収録) [H. Su+, CVPR2018, arXiv:1802.08275, 2018-02-22] ネットワークの構成 BCLのReceptive Fieldを段階的に大きくする 段階的にReceptive Fieldを変えたBCL

Slide 161

Slide 161 text

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

Slide 162

Slide 162 text

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

Slide 163

Slide 163 text

39. CubeNet [D. Worrall+, ECCV2018, arXiv:1804.04458, 2018-04-12] ネットワークの構造 並進と回転を合わせた畳み込みをGroup Convolution として扱う Group Convolution クラス分類用のネットワーク セグメンテーション用の ネットワーク MLP Residual Block Group Convolution

Slide 164

Slide 164 text

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

Slide 165

Slide 165 text

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

Slide 166

Slide 166 text

40. URSA(Ver. 1収録) [M. B. Skouson, arXiv:1808.04848, 2018-08-14] ネットワーク構造 URSA Layer以外はほぼPointNet URSA Layer

Slide 167

Slide 167 text

40. URSA(Ver. 1収録) [M. B. Skouson, arXiv:1808.04848, 2018-08-14] 学習された星座 (Constellation) 初期値(ランダム) 10 epochs 100 epochs 200 epochs 300 epochs 500 epochs

Slide 168

Slide 168 text

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

Slide 169

Slide 169 text

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

Slide 170

Slide 170 text

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

Slide 171

Slide 171 text

41. Point Attention Network (Ver. 1収録) [C. Kingkan+, BMVC2018, 2018-09-03] ネットワーク構造 • 特徴空間にある点群にAttention Moduleの出力で マスクすることで注目点に重み付けする • Max Poolingで点群の順序の影響を受けないよう設計

Slide 172

Slide 172 text

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

Slide 173

Slide 173 text

42. 3DCapsule [A. Cheraghian+, WACV2019, arXiv:1811.02191, 2018-11-06] 3DCapsule • 基本構造はCapsule Network,Routing Algorithmも同様 • Affine + シグモイドによってCapsule列となるよう変換 (ComposeCaps) • その後,Capsuleとして分割しSquashを適用

Slide 174

Slide 174 text

43. Point2Sequence [X. Liu+, AAAI2019, arXiv:1811.02565, 2018-11-06] マルチスケールで三次元点群の特徴を処理できる ネットワークPoint2Seqenceの提案 • スケールを跨ぐ集約のためにAttention付きLSTMを利用 • 空間的にはMax Poolingと特徴量の補間で対応 評価 • クラス分類 ModelNet10, ModelNet40 • セグメンテーション ShapeNet part

Slide 175

Slide 175 text

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. セグメンテーション 空間的に内挿して各点に伝播する

Slide 176

Slide 176 text

43. Point2Sequence [X. Liu+, AAAI2019, arXiv:1811.02565, 2018-11-06] ネットワークの構造 マルチスケールでの処理領域検出 領域ごとの特徴量抽出 スケールを跨ぐ特徴量集約 領域を跨ぐ特徴量の集約 空間的に特徴量を内挿

Slide 177

Slide 177 text

44. MortonNet [A. Thabet+, arXiv:1904.00230, 2019-03-30] 点群に対する三次元特徴量を教師無しで学習する ネットワーク MortonNetの提案 • 三次元点群に順序を与え,Multi-layer RNNで次の点を 予測するように学習 • RNNの隠れ状態を特徴量とする 評価 • セグメンテーション S3DIS, vKITTI, ShapeNet

Slide 178

Slide 178 text

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

Slide 179

Slide 179 text

44. MortonNet [A. Thabet+, arXiv:1904.00230, 2019-03-30] 処理の流れ 1. Z-orderに従う点のシーケンスをShared MLPで 点ごとの高次元の特徴量に変換 2. シーケンス順にRNNに入力し,次の点の相対位置を 予測するように学習 3. 最終的なRNNの状態を特徴量とする Shared MLP 次の点の相対座標の予測

Slide 180

Slide 180 text

45. Discrete Rotation Equivariance [J. Li+, ICRA2019, arXiv:1904.00319, 2019-03-31] 離散的な回転に対する不変性を持つレイヤーの提案 • あらゆる三次元点群を扱うネットワークに対して 適用できる • 本論文ではSO-Netをベースにネットワークの設計 評価 • クラス分類 ModelNet10, ModelNet40, 回転させたMNIST

Slide 181

Slide 181 text

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)

Slide 182

Slide 182 text

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

Slide 183

Slide 183 text

45. Discrete Rotation Equivariance [J. Li+, ICRA2019, arXiv:1904.00319, 2019-03-31] ネットワークの構造 回転によって生じる差が順序の差になることを利用し, Poolingによってその差の影響を取り除く 候補となる回転を 作用させた点群 Shared MLP + Pooling 大域特徴量と結合 Shared MLP + Pooling

Slide 184

Slide 184 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 185

Slide 185 text

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

Slide 186

Slide 186 text

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)

Slide 187

Slide 187 text

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として学習できる

Slide 188

Slide 188 text

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

Slide 189

Slide 189 text

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

Slide 190

Slide 190 text

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

Slide 191

Slide 191 text

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を使用

Slide 192

Slide 192 text

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

Slide 193

Slide 193 text

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で 抽出された特徴量を結合

Slide 194

Slide 194 text

47. SGPN(Ver. 1収録) [W. Wang+, CVPR2018, arXiv:1711.08588, 2017-11-23] ネットワークの構造 PointNet/PointNet++で 点ごとの特徴量と グローバル特徴量を計算 出力(Similarity, Confidence, Semantic Label)に応じて もう一度PointNetで変換

Slide 195

Slide 195 text

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

Slide 196

Slide 196 text

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では入力時点で 非スパースだった要素のみ出力をアクティブにする ことで,入力と同じスパースな構造を維持する 疎な入力に対して密な畳み込みを適用(左→右) 緑: アクティブ(非スパース)な要素,赤: 非アクティブな要素

Slide 197

Slide 197 text

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構造

Slide 198

Slide 198 text

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

Slide 199

Slide 199 text

49. 3P-RNN [X. Ye+, ECCV2018, 2018-10-08] Pointwise Pyramid Pooling (3P) 点ごとにいくつかのwindowでPoolingし,それぞれの windowでPoolingされた特徴量をその点の出力とする 左: 1点に対する3P,右: 3Pの各windowがPoolingしている領域の図示

Slide 200

Slide 200 text

49. 3P-RNN [X. Ye+, ECCV2018, 2018-10-08] RNNによる広い範囲での形状特徴の抽出 上方向(z方向)は既知とし,x, y方向にRNNを走らせる x軸に沿って グリッドごとに 特徴量を入力 各グリッドの 出力特徴量を 順に出力 y軸についても同様

Slide 201

Slide 201 text

49. 3P-RNN [X. Ye+, ECCV2018, 2018-10-08] ネットワークの構造 • 前半はPointNetに3Pを導入したネットワーク • 後半はx, y軸方向にRNN • 点ごとの特徴量と局所/大域形状特徴量を合わせて MLPに入力しセグメンテーション 3P RNN

Slide 202

Slide 202 text

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

Slide 203

Slide 203 text

50. DNNSP [Z. Wang+, TGRS, 2018-05-22] プーリングのためのセグメント生成 • kNNグラフで近傍点を結んだ後,空間的に高い位置の 点をシードとしてセグメントを生成 • これを繰り返して複数の解像度でセグメンテーション 点ごとの特徴量 Spin Imageと局所点群の分布の固有値も特徴量とする 固有値に 対するMLP Spin Imageに 対するMLP 結合した特徴量に 対するMLP

Slide 204

Slide 204 text

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とプーリングを行う

Slide 205

Slide 205 text

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

Slide 206

Slide 206 text

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

Slide 207

Slide 207 text

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クラスタリングを行い,クラスタ中心に集約

Slide 208

Slide 208 text

51. Know What Your Neighbors Do [F. Engelmann+, , arXiv:1810.01151, 2018-10-02] ロス関数の設計 Pairwise Similarity Loss 同じクラスに属する点同士は特徴量空間での距離が近くなるように, 異なるクラスに属する点同士は特徴量空間での距離が遠くなるように学習 Centroid Loss 同じクラスに属する点が特徴空間上で小さい領域に分布するよう, クラス重心からの距離が小さくなるように学習 同じクラスの場合 異なるクラスの場合

Slide 209

Slide 209 text

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

Slide 210

Slide 210 text

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

Slide 211

Slide 211 text

52. MCPNet [J. Chen+, RA-L, arXiv:1902.06768, 2019-02-18] ネットワークの構造 スキャンされた各点についてインスタンスラベルと クラスラベルを推定 過去のスキャンで得た点群も入力 過去のスキャンで 得た近傍点群 Shared MLP + Pooling Shared MLP+ Pooling

Slide 212

Slide 212 text

53. CoSegNet [C. Zhu+, CVPR2017, arXiv:1903.10297, 2019-03-25] 三次元点群のセグメンテーションを弱教師付学習で 行うための枠組みの提案 正解ラベル付きの大規模なセグメンテーション データセットの構築は困難 評価 • 教師無しセグメンテーション COSEGの一部 手法の概要図

Slide 213

Slide 213 text

53. CoSegNet [C. Zhu+, CVPR2017, arXiv:1903.10297, 2019-03-25] 弱教師付学習の難しさ 弱教師付学習では一貫性がある(Consistent)学習結果に ならない 同じ椅子が異なるセグメンテーションをされている例

Slide 214

Slide 214 text

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の最適化

Slide 215

Slide 215 text

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

Slide 216

Slide 216 text

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を計算

Slide 217

Slide 217 text

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を結合 この行列のランクを下げるように (=同じ特徴量になるように)学習

Slide 218

Slide 218 text

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

Slide 219

Slide 219 text

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

Slide 220

Slide 220 text

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

Slide 221

Slide 221 text

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

Slide 222

Slide 222 text

55. Semantic KITTI [J. Behley+, arXiv:1904.01416, 2019-04-02] 既存の手法でセグメンテーションし比較 • PointNet • PointNet++ • Tangent Convolutions • SPLATNet • Superpoint Graph • SqueezeSeg (Darknet21Seg, Darknet53Seg) 距離に応じたMean IoUの変化

Slide 223

Slide 223 text

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

Slide 224

Slide 224 text

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. 中心点 近傍点群

Slide 225

Slide 225 text

56. Point Cloud Oversegmentation [L. Landrieu+, CVPR2019, arXiv:1904.02113, 2019-04-03] グラフ分割問題によるオーバーセグメンテーション • Generalized Minimal Partition (GMP) • 不連続で微分不可かつ非凸な問題 • L0-cut pursuit algorithmで高速に近似解を求められる • LPEの出力の差に応じて2点間のエッジに重みを設定 オーバーセグメンテーション結果の例 入力点群 Embedding オーバーセグメンテーション結果

Slide 226

Slide 226 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 227

Slide 227 text

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

Slide 228

Slide 228 text

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

Slide 229

Slide 229 text

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層を通して 物体クラスを出力

Slide 230

Slide 230 text

57. Deep Sliding Shapes [S. Song+, CVPR2016, 2016-06-26] ネットワークの構造 3D RPN 認識する物体の大きさを 変えつつ,いくつかの 解像度で物体検出 ORN 3D RPNで検出された Bounding Boxに対応する RGB-D画像を入力し, 3Dと2Dそれぞれとして 処理し統合 3D RPN ORN

Slide 231

Slide 231 text

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による物体検出の様子

Slide 232

Slide 232 text

58. 3DCNN-DQN-RNN [F. Liu+, ICCV2017, arXiv:1707.06783, 2018-07-21] アイデア: 注目点を移動させつつ,シーン中から物体を検出 3D CNNと DQNで物体検出&クラス分類 Eye Windowを制御するための枠組み

Slide 233

Slide 233 text

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によって空間的な連結関係を記憶

Slide 234

Slide 234 text

59. VoxelNet [Y. Zhou+, CVPR2018, arXiv:1711.06396, 2017-11-17] 三次元点群から物体検出を行うネットワーク VoxelNetの提案 ボクセル内の点群から特徴量 Voxel Feature Encoding (VFE) を計算 VFEを複数積む (Stacked VFE)ことで複雑な形状を学習 評価 • 物体検出 KITTI 物体検出の例

Slide 235

Slide 235 text

59. VoxelNet [Y. Zhou+, CVPR2018, arXiv:1711.06396, 2017-11-17] Stacked Voxel Feature Encoding (VFE) 1. ボクセルごとに各点からの特徴量を計算 点ごとの特徴量としてボクセル内平均との差分も入力 2. ボクセルごとにMax Poolingでボクセル特徴量を計算 3. ボクセル特徴量と点ごとの特徴量を結合 1. 2. 3.

Slide 236

Slide 236 text

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.

Slide 237

Slide 237 text

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

Slide 238

Slide 238 text

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

Slide 239

Slide 239 text

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でバウンディングボックスを推定

Slide 240

Slide 240 text

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 (相対位置の補正)

Slide 241

Slide 241 text

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(バウンディングボックス)

Slide 242

Slide 242 text

61. PointFusion [D. Xu+, CVPR2018, arXiv:1711.10871, 2017-11-29] 二次元画像と三次元点群を両方用いた物体検出手法 PointFusionの提案 • 二次元画像上での物体領域検出にはFaster R-CNNを利用 • 画像と点群の情報を統合してバウンディングボックスを 推定 • Batch Normalizationを行わないことで精度が向上 評価 • 物体検出 KITTI, SUN-RGBD

Slide 243

Slide 243 text

61. PointFusion [D. Xu+, CVPR2018, arXiv:1711.10871, 2017-11-29] ネットワークの構造 画像はResNet,点群はPointNetで特徴量を抽出し統合, 各点ごとに領域と確信度を出力して最大の確信度の 領域を出力 PointNet ResNet 各点ごとに特徴量を統合 確信度が最大の領域を出力

Slide 244

Slide 244 text

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による物体検出の例

Slide 245

Slide 245 text

62. AVOD [K. Shin+, arXiv:1811.03818, 2018-11-09] 処理の流れ 1. 点群をBEVに変換 2. 画像とBEVそれぞれを特徴量マップに変換 このとき画像とBEVの位置関係を考慮して結合 3. 各領域について統合,最終的な物体検出

Slide 246

Slide 246 text

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

Slide 247

Slide 247 text

63. RoarNet [J. Ku+, arXiv:1712.02294, 2017-12-06] 処理の流れ 1. 二次元画像上で物体検出+位置姿勢推定 (RoarNet_2D) 2. 検出された領域内の三次元点群で各物体の Objectnessと位置を推定 (RoarNet_3D (RPN)) 3. 領域に対応する点群を改めて切り出して,大きさと 位置姿勢を推定 (RoarNet_3D (BRN))

Slide 248

Slide 248 text

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のワークフロー

Slide 249

Slide 249 text

64. Complex-YOLO [M. Simon+, arXiv:1803.06199, 2018-03-16] LiDAR点群からRGB-Mapへの変換 1. BEVに変換後,グリッドで分割 2. RGBの各チャンネルに次の値を割り当て • R:グリッド内の点総数の対数 • G: グリッド内の最も高い点のZ座標 • B: LiDARで計測された反射強度 偏角による物体方向の表現 ネットワークが実部を虚部を 出力するように学習し, それらのなす複素数の偏角で 物体の方向を表現 偏角による物体方向の表現

Slide 250

Slide 250 text

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のワークフロー

Slide 251

Slide 251 text

65. PIXOR [B. Yang+, CVPR2018, 2018-06-18] ネットワークの構造 • BEVに変換後は2Dで処理 • Residual Blockを導入したU-Netのような構造 Backbone 良い特徴表現に 変換することを 意図して設計 Residual Blockを 解像度を変えつつ 積む Header 物体検出と姿勢の推定

Slide 252

Slide 252 text

66. Deep Continuous Fusion [M. Liang+, ECCV2018, 2018-09-18] 複数のセンサからの入力をBird’s Eye View (BEW)上に 投影して取り扱うためのContinuous Fusion Layerの 提案 画像はResNet18で処理 評価 • 物体検出 KITTI, TOR4D 物体検出の例

Slide 253

Slide 253 text

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の画素に戻す

Slide 254

Slide 254 text

66. Deep Continuous Fusion [M. Liang+, ECCV2018, 2018-09-18] ネットワークの構造 • ResNet Blockが基本単位 • 車載カメラ画像の情報をLIDAR点群を通してBEV上に 車載カメラ 画像 LIDAR点群 (車載 カメラの 特徴量が 伝搬)

Slide 255

Slide 255 text

67. HDNET [B. Yang+, CoRL2018, 2018-10-29] High Definition (HD) Map(高精度地図)から 物体検出を行うネットワークHDNETを提案 • ボクセル化した後にZ方向をチャンネルとみなし BEWに変換,2D CNNで処理 • オンラインではLIDAR取得点群からHD Mapを推定 三次元点群から三次元点群への変換ではなく,2Dでの表現に直接変換 評価 • 物体検出 KITTI, TOR4D

Slide 256

Slide 256 text

68. PointPillars [A. H. Lang+, arXiv:1812.05784, 2018-12-14] 三次元点群を柱状の領域ごとに処理して疑似 二次元画像に変換し,2DのCNNで物体検出を行う ネットワークの提案 • 高速に動作 (62~105Hz)する • 三次元点群→二次元画像: PointPillars Network 評価 • 物体検出 KITTI 物体検出の例

Slide 257

Slide 257 text

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)で物体検出

Slide 258

Slide 258 text

68. PointPillars [A. H. Lang+, arXiv:1812.05784, 2018-12-14] ネットワークの構造 • PointPillar Networkで3D→2Dに変換 • その後はVoxelNetと同様 点群から柱状領域を抽出→特徴量を2Dにマップ

Slide 259

Slide 259 text

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

Slide 260

Slide 260 text

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

Slide 261

Slide 261 text

69. 3DBN [X. Li+, arXiv:1901.08373, 2019-01-24] 提案法2 (3DBN-2) 1. 一度各解像度での三次元畳み込みを3DBN-2同様に行う 2. 低い解像度での出力を一つ高い解像度の出力と結合し て,その解像度での特徴マップを生成 3. 各解像度について 同様に,一つ低い 解像度の出力を 参照して特徴 マップを生成

Slide 262

Slide 262 text

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(錐台)に対応

Slide 263

Slide 263 text

70. Frustum ConvNet [Z. Wang+, arXiv:1903.01864, 2019-03-05] 処理の流れ 1. 2D画像上で物体領域の検出 2. 物体領域に対応する錐台領域の候補を計算 3. 領域ごとにShared MLP+Max Poolingで 特徴量ベクトルを計算 各点の座標は錐台の中心からの相対座標に変換 4. FCNで奥行き方向に隣接した錐台領域を畳み込み 5. クラス分類 と領域の回帰の マルチタスク学習 FCN 処理の概要図

Slide 264

Slide 264 text

70. Frustum ConvNet [Z. Wang+, arXiv:1903.01864, 2019-03-05] F-ConvNetにおけるFCN 様々な大きさの物体に対応できるようにすることを意図 錐台が並んでいる軸に沿ったFCNで畳み込み → 逆畳み込みを行い,各解像度での特徴量ベクトルを結合 Multi-resolution Frustum Integration Variant FCNの代替となるアイデア 錐台の奥行きを変えることで,FCNが担当している 様々な大きさの物体を認識することができるようになる

Slide 265

Slide 265 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 266

Slide 266 text

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 対応する点の例

Slide 267

Slide 267 text

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

Slide 268

Slide 268 text

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 位置合わせの例

Slide 269

Slide 269 text

72. LORAX [G. Elbaz+, CVPR2017, 2018-07-21] 処理の流れ 1. Random Sphere Cover Set (RSCS)でスーパーポイントに 分割 スーパーポイントに含まれていないランダムな点を選択,選択された 点から一定半径内の点を選択された点に紐付けることを繰り返す 2. 各スーパーポイントに対して局所座標系を計算 3. スーパーポイントをDepth Mapに投影 4. 顕著な点を検出・フィルタする 点が少ない・局所座標系が安定しない・典型的なDepth Mapになる スーパーポイントを除去 5. オートエンコーダーで次元削減して特徴量とする ネットワークの構造はFC6層

Slide 270

Slide 270 text

72. LORAX [G. Elbaz+, CVPR2017, 2018-07-21] オートエンコーダーによって学習された各次元に 対応するDepth Mapの例 オートエンコーダーによる特徴量とDepth Mapの 再構成結果の例

Slide 271

Slide 271 text

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 提案法による位置合わせ(色は誤差)

Slide 272

Slide 272 text

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を 用いて学習

Slide 273

Slide 273 text

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

Slide 274

Slide 274 text

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

Slide 275

Slide 275 text

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

Slide 276

Slide 276 text

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

Slide 277

Slide 277 text

75. 3DFeat-Net [Z. J. Yew+, ECCV2018, arXiv:1807.09413, 2018-07-25] ネットワークの構造 Anchor点群に対してPositive点群,Negative点群を比較 • 特徴量同士の全組み合わせを比較し,Anchor点群の各点に対して 距離が一番近い点(マッチした点)までの距離の和を計算 • このときDetectorが出力した注目度で重み付けを行う Detector Descriptor Anchor点群との比較

Slide 278

Slide 278 text

76. 3DSmoothNet [Z. Gojcic+, arXiv:1811.06879, 2018-11-16] 三次元点群の位置合わせのための局所形状特徴量を 抽出するネットワーク3DSmoothNetの提案 • Voxelized Smoothed Density Value (SDV)を用いて ボクセル化 • 特徴量自体はボクセルに対する3D CNNで学習 評価 • 点群位置合わせ 3D Match, ETH dataset

Slide 279

Slide 279 text

76. 3DSmoothNet [Z. Gojcic+, arXiv:1811.06879, 2018-11-16] 処理の流れ 1. ランダムに点を選択し近傍点をパッチとして抽出 2. LRFを計算,LRFに合わせて回転 3. ボクセルに変換 各点からの距離をガウシアンカーネルで重み付けしてボクセルに割り当て 4. 3DSmoothNetで特徴量を計算 三次元ボクセルに対するCNN

Slide 280

Slide 280 text

76. 3DSmoothNet [Z. Gojcic+, arXiv:1811.06879, 2018-11-16] ネットワークの構造 ネットワーク部分は3D CNN ロス関数 (Batch Hard Loss Function) 対応するパッチとの特徴量の差を小さく 異なるパッチとの特徴量の差 「特徴量の差が一番小さい異なるパッチ」との 特徴量の差が大きくなるように 3D CNN

Slide 281

Slide 281 text

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

Slide 282

Slide 282 text

77. IT-Net [W. Yuan+, arXiv:1811.11209, 2018-11-27] 三次元物体の持つ性質の分類 • 剛体変換に対して不変な性質=Invariance 物体のクラスなど • 剛体変換に従って変化する性質=Equivariance 物体の姿勢など PointNetにおけるT-Netとの違い • 任意のアフィン変換ではなく,剛体変換を出力 • クオータニオンと並進ベクトルの合計7次元 • 正規直交変換に制約するロス(PointNetが導入)は性能が良くない • 反復的に推定

Slide 283

Slide 283 text

77. IT-Net [W. Yuan+, arXiv:1811.11209, 2018-11-27] 既存のデータセットを用いるタスクの問題点 • 全周の完全な点群を利用 オクルージョン・センサの限界で,実際には欠損領域や穴が存在 • カテゴリ内でおおよそ整った座標系を利用 実際にはセンサ座標系で観測される 上: 既存のモデル 下: 本論文のデータセット 観測が片面かつ回転が正規化されていない

Slide 284

Slide 284 text

77. IT-Net [W. Yuan+, arXiv:1811.11209, 2018-11-27] •ネットワークの構造 • 剛体変換を推定するネットワークを繰り返し適用 入力点群 推定された 変換 入力点群に 変換を適用 一度変換した点群 変換の差分を推定・適用 全ての変換を合わせて最終的に出力する変換を得る それぞれの変換は独立して学習 (逆伝搬させない)

Slide 285

Slide 285 text

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

Slide 286

Slide 286 text

78. DenseFusion [C. Wang+, arXiv:1901.04780, 2019-01-15] 処理の流れ(1/2) 1. RGB-D画像を二次元画像と三次元点群に変換 2. 二次元画像をセグメンテーションし物体領域を選択 3. 物体領域を画像・点群それぞれ処理し,点ごとに 特徴量を計算 3. 2.

Slide 287

Slide 287 text

78. DenseFusion [C. Wang+, arXiv:1901.04780, 2019-01-15] 処理の流れ(2/2) 4. 点ごとの特徴量をAverage Poolingして全体の特徴量を 計算,点ごとの特徴量に結合 5. 点ごとに回転・並進・確信度を推定 4. 5.

Slide 288

Slide 288 text

78. DenseFusion [C. Wang+, arXiv:1901.04780, 2019-01-15] ロス関数の設計 対称な形状を持つ物体に対応するため,対称な姿勢の うち推定値ともっとも近い正解姿勢との誤差を考える 信頼度に応じて重み付けして統合 もっとも近い正解姿勢との誤差 もっとも近い正解姿勢 ランダムにM点を正解 姿勢から選択して平均 入力各点に ついて平均 信頼度 信頼度が小さく なりすぎないように

Slide 289

Slide 289 text

78. DenseFusion [C. Wang+, arXiv:1901.04780, 2019-01-15] 反復による推定の精密化 • 推定姿勢との回転・並進の残差を推定し精密化 • 残差推定を同時に学習すると初期値付近で ノイズが大きすぎるため,メインネットワークが 収束してから学習する 回転・並進の残差を推定 推定された残差を打ち消すように回転・並進 改めて 現在の 姿勢での 特徴量を 計算

Slide 290

Slide 290 text

79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] Lucas-Kanade法(LK法)にPointNetを利用して 位置合わせを行う枠組みPointNetLKの提案 • LK法は隣接関係が必要なので,LK法を修正して 隣接関係が不要になるように設計 • Inverse Compositional (IC)の考え方を利用 ソースとターゲットの役割を逆転させることでヤコビアンの計算を 一度だけにするアイデア • ICPよりも高速 評価 • 位置合わせ ModelNet40 位置合わせの例

Slide 291

Slide 291 text

79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] 剛体変換: 三次元ユークリッド空間での運動群SE(3)の要素 6次元のTwist Parametersを用いる SE(3)の指数写像に対する生成元の重み付け和を求め, これを指数関数で変換した行列として剛体変換を記述 剛体変換 SE(3)の指数写像に対する生成元 パラメータベクトル

Slide 292

Slide 292 text

79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] をPointNetによる特徴ベクトルへの変換とする ICを導入することを前提にすると, ICで考えるため,これを−1について解く 変換先のパラメータ周りで一次近似する 変換元の点群 変換先の点群 求める剛体変換の逆変換 パラメータに対するヤコビアン 以降と表記 パラメータ

Slide 293

Slide 293 text

79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] パラメータに対するPointNetの微分を考えるのは 非常に難しい → 数値的にヤコビアンを計算 ヤコビアンの各列 をパラメータの微小変動で近似 ヤコビアンの疑似逆行列によりパラメータを更新 に沿った 微小な剛体変換 微小な剛体変換後の点群に 対するPointNetの出力 元の点群に対する 点群のPointNetの出力 上で求めた近似ヤコビアンの疑似逆行列

Slide 294

Slide 294 text

79. PointNetLK [Y. Aoki+, CVPR2019, arXiv:1903.05711, 2019-03-13] ネットワークの構造 • PointNetに近い構造,T-Netを取り除いている • 行列対数関数を計算しなくて良いように, 順変換してから逆変換した行列と単位行列を比較 Shared MLP+Average Pooling ヤコビアンの計算 パラメータ推定 推定剛体変換の更新

Slide 295

Slide 295 text

80. OREOS [L. Schaupp+, arXiv:1903.07918, 2019-03-19] LiDAR点群からマップ上での自己位置と方位を 推定する手法OREOSの提案 • 位置と方位に分けて特徴量を計算し, 位置推定後に方位のずれを推定 • 球面座標系に投影して2D CNNで処理 評価 • 自己位置・方位推定 NCLT, KITTI 自己位置推定の概要図

Slide 296

Slide 296 text

80. OREOS [L. Schaupp+, arXiv:1903.07918, 2019-03-19] 処理の流れ 1. 三次元点群を球面上に距離画像として投影 2. 2D CNNで特徴量を計算 自己位置を推定するための方位不変な位置特徴量と, 方位を推定するための方位特徴量を出力 3. マップとの照合 マップ上の近い点の座標とその座標での方位特徴量を出力 (Kd-Treeで高速化) 4. 方位の推定 方位特徴量同士の方位のずれを出力 5. 位置合わせ

Slide 297

Slide 297 text

80. OREOS [L. Schaupp+, arXiv:1903.07918, 2019-03-19] ネットワークの構造 • 位置特徴量はTriplet Lossを用いて学習 • 方位特徴量はAnchorとPositiveの方位のずれを学習 Anchor Positive Negative 2D CNN 方位の推定

Slide 298

Slide 298 text

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

Slide 299

Slide 299 text

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を提案)

Slide 300

Slide 300 text

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と設定

Slide 301

Slide 301 text

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

Slide 302

Slide 302 text

82. USIP [J. Li+, arXiv:1904.00229, 2019-03-30] 処理の流れ 1. モデル点群を入力 2. ランダムな剛体変換を与えた点群を生成 3. それぞれの点群からFPNで特徴点と確信度を検出 4. 与えていた剛体変換を戻して検出された特徴点を比較 1. 入力 2. 剛体変換 3. FPN 4. 戻して比較

Slide 303

Slide 303 text

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

Slide 304

Slide 304 text

82. USIP [J. Li+, arXiv:1904.00229, 2019-03-30] ネットワークの構造 (2/2) 5. 代表点同士の相対位置を計算 6. 代表点同士の相対位置と局所特徴量から特徴量を 再度計算(相対位置も考慮した特徴量) 7. 代表点座標からの相対位置として特徴点を計算, 同時に信頼度も計算 1. 2. / 3. 5. 6. 7. 4.

Slide 305

Slide 305 text

82. USIP [J. Li+, arXiv:1904.00229, 2019-03-30] 検出された特徴点とマッチングの例

Slide 306

Slide 306 text

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

Slide 307

Slide 307 text

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次元の表現

Slide 308

Slide 308 text

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の位置合わせが整合するようなロス

Slide 309

Slide 309 text

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(テスト) 位置合わせの例

Slide 310

Slide 310 text

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で比較

Slide 311

Slide 311 text

84. RelativeNet [H. Deng+, CVPR2019, arXiv:1904.04281, 2019-04-08] 処理の流れ 1. 2つの局所点群からそれぞれPPF-FoldNetとPC-FoldNet によるオートエンコーダーで特徴量を抽出 特徴量の性質の差から,剛体変換に対応する情報が抽出されることを期待 2. 特徴量をRelativeNetに入力し,剛体変換を推定 入力点群 各オートエンコーダー RelativeNetで 特徴量から 剛体変換を推定

Slide 312

Slide 312 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 313

Slide 313 text

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

Slide 314

Slide 314 text

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で処理

Slide 315

Slide 315 text

85. Learning Representations and Generative Models [P. Achlioptas+, ICLR2018, arXiv:1707.02392, 2017-07-08] 潜在空間表現の補間による2形状間の補間の例

Slide 316

Slide 316 text

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

Slide 317

Slide 317 text

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の基底から点群を再構成するための係数を 出力するように学習

Slide 318

Slide 318 text

86. Shape Generation using Spatially Partitioned Point Clouds [M. Gadelha+, BMVC2017, arXiv:1707.06267, 2018-07-19] ネットワークの構造 ニューラルネットワークはPCAの係数のみを取り扱う 準備したPCAの基底でデータセット内の点群を表現 PCAの係数をうまく出力するように学習

Slide 319

Slide 319 text

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

Slide 320

Slide 320 text

87. FoldingNet (Ver. 1収録) [Y. Yang+, CVPR2018, arXiv:1712.07262, 2017-12-19] 特徴 • エンコーダー • 近傍点の分散共分散行列を入力 • kNNに近傍グラフでMax Pooling • デコーダー: 2回のFolding Operation • 折りたたみは可視化・解釈しやすい • 切断も学習できる→トポロジーも変えられる • グリッドの各点座標とエンコーダー出力を入力, 折りたたみ後の座標を返すよう学習 • 再構成誤差: Extended Chamfer Distanceで測る • 入力点群と再構成点群の各点が,相互に最近傍点との 距離が小さくなるように

Slide 321

Slide 321 text

87. FoldingNet (Ver. 1収録) [Y. Yang+, CVPR2018, arXiv:1712.07262, 2017-12-19] ネットワークの構成 一度目のfoldingは2D→3D,二度目は3D→3D

Slide 322

Slide 322 text

87. FoldingNet (Ver. 1収録) [Y. Yang+, CVPR2018, arXiv:1712.07262, 2017-12-19] 折りたたみが徐々に学習されている

Slide 323

Slide 323 text

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

Slide 324

Slide 324 text

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

Slide 325

Slide 325 text

88. AtlasNet [T. Groueix+, CVPR2018, arXiv:1802.05384, 2018-02-15] タスク: 2つのタスクを想定 • 三次元点群を入力しオートエンコードする PointNetベースのエンコーダーを使用 • RGB画像を入力し三次元形状を再構成 ResNet-18をエンコーダーとして利用 • デコーダーはFCを4層 学習したパラメータで表現される二次元多様体上で 均一になるよう,三次元点をサンプリングすると良い

Slide 326

Slide 326 text

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

Slide 327

Slide 327 text

88. AtlasNet [T. Groueix+, CVPR2018, arXiv:1802.05384, 2018-02-15] その他のアプリケーション • 形状補間 潜在空間での線形補間により 2形状間の三次元形状を補間 • 形状の対応関係の取得 二次元平面上で同じ点に対応する部分が, 他の物体でも似た部分にマッピングされる • 歪みを抑えたUVマップの生成 形状補間の例 形状の対応関係の取得の例 UVマップの例

Slide 328

Slide 328 text

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へのスタイル変換の例

Slide 329

Slide 329 text

89. P2P-Net [K. Yin+, SIGGRAPH2018, arXiv:1803.09263, 2018-03-25] ロス関数の設計 • Shape Loss 点群の各点に対する,もう一方の点群の最近傍点との距離の和が 小さくなるように • Density Loss 点群の各点において,その点から近傍の数点までの距離の和が もう一方の点群での最近傍点と近くなるように • Cross Regularization 点群を相互に変換する移動ベクトル同士の最近傍のものを対応する 移動ベクトルとみなし,対応する移動ベクトル同士の和が小さく なるように(打ち消し合うように)

Slide 330

Slide 330 text

89. P2P-Net [K. Yin+, SIGGRAPH2018, arXiv:1803.09263, 2018-03-25] ネットワークの構成 ドメインの異なる三次元点群のペアに対してそれぞれ 点ごとの特徴量を計算,ノイズを加えてから点ごとの 移動ベクトルを求めて,もとの点の座標に付加 移動ベクトル PointNet++ MLP

Slide 331

Slide 331 text

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

Slide 332

Slide 332 text

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段階)

Slide 333

Slide 333 text

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

Slide 334

Slide 334 text

90. PCN [W. Yuan+, 3DV2018, arXiv:1808.00671, 2018-08-02] ネットワークの構造 • エンコーダー: PointNetを2つ重ねたような構造 • デコーダー: MLP + Foldingの二段階構造 エンコーダー: デコーダー:

Slide 335

Slide 335 text

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

Slide 336

Slide 336 text

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

Slide 337

Slide 337 text

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

Slide 338

Slide 338 text

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に加えることで 全体と局所の情報を同時に持つことができる

Slide 339

Slide 339 text

91. Point Cloud VAE-GAN (Ver. 1収録) [C. Kingkan+, ICPR2018, 2018-08-20] グローバル&ローカル特徴 両方が利用可能 なめらかなモデルが作れる

Slide 340

Slide 340 text

92. PPF-FoldingNet(Ver. 1収録) [H. Deng+, ECCV2018, 2018-06-30] PPFを入力にすることで回転に対して不変な 特徴量を抽出するネットワークPPF-FoldingNetを 提案 • PPFNetとは異なりPoint Pair Featureのみを入力 (PPFNetは点の位置、法線ベクトルも入力) • 出力された特徴で点群の位置合わせ 評価 • 点群位置合わせ 3DMatch Benchmark Dataset

Slide 341

Slide 341 text

92. PPF-FoldingNet(Ver. 1収録) [H. Deng+, ECCV2018, 2018-06-30] ネットワークの構成 Encoder: Point Netに類似したネットワーク Decoder: FoldingNetに類似したネットワーク 4D PPF (FoldingNetは 3D Point Cloud)

Slide 342

Slide 342 text

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

Slide 343

Slide 343 text

93. DeepSDF [J. J. Park+, arXiv:1901.05103, 2019-01-16] DeepSDF 三次元形状をコードで表現し,そのモデルに対するSDFの 値を各点について直接学習 Auto-decoder • エンコーダーを置かず,直接コードを学習 • 推論時はMAP推定で形状からコードに変換できる 形状を表現する コード 三次元点の座標 形状・座標に対応する SDFの出力値 形状を表現する コード SDF

Slide 344

Slide 344 text

93. DeepSDF [J. J. Park+, arXiv:1901.05103, 2019-01-16] ネットワークの構成 • SDF自体を学習するため,ネットワークの構造はシンプル • 基本的には単純なMLP 形状を表現するコード 三次元点 SDFの出力値

Slide 345

Slide 345 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 346

Slide 346 text

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らの実計測データセット(テスト)

Slide 347

Slide 347 text

94. 3D-EPN [A. Dai+, CVPR2017, arXiv:1612.00101, 2016-12-01] 処理の流れ 1. 不完全な三次元形状を入力,TSDFに変換 2. 3D-EPNで低解像度の表面形状を推定 クラス分類を同時に行い,推定されたクラスも3D-EPNに入力 3. 局所形状(ボクセル上のTSDFの一部)をモデル形状 データベースと照会し,高解像度な表面形状を推定

Slide 348

Slide 348 text

94. 3D-EPN [A. Dai+, CVPR2017, arXiv:1612.00101, 2016-12-01] ネットワークの構造 • ボクセル上での3D CNNによるU-Netのような構造 • マルチタスクとしてクラス分類を行うことで, 各クラス特有の形状について学習することを期待 クラス分類 Skip Connections

Slide 349

Slide 349 text

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

Slide 350

Slide 350 text

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

Slide 351

Slide 351 text

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 点ごとに畳み込みを行い点の三次元座標を出力

Slide 352

Slide 352 text

95. PU-Net(Ver. 1収録) [L. Yu+, CVPR2018, arXiv:1801.06761, 2018-01-21] ロスの設計 Reconstruction Loss: 入出力点群間のEarth Mover’s Distance Repulsion Loss: 入力点から少しばらけるよう設計 近傍点と近づき すぎないようにする 離れたら ペナルティーを減衰 番目の点の K近傍 パラメータの L2正則化

Slide 353

Slide 353 text

95. PU-Net(Ver. 1収録) [L. Yu+, CVPR2018, arXiv:1801.06761, 2018-01-21] アップサンプリングの結果 既存のネットワークをアップサンプリングに 直接適用するよりも良い結果を得られた 提案法

Slide 354

Slide 354 text

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

Slide 355

Slide 355 text

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で学習されたもの(学習しない)

Slide 356

Slide 356 text

97. PointProNets [R. Roveri+, Eurographics2018, 2018-05-22] ノイズ除去とアップサンプリングを行う ネットワークPointProNetsの提案 微分可能な2DのHeightmapに変換して2D CNNで処理 評価 • ノイズ除去& アップサンプリング Sculptures, Kinect v2, Flags, Geometric Shapes PointProNetによる処理の例

Slide 357

Slide 357 text

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

Slide 358

Slide 358 text

97. PointProNets [R. Roveri+, Eurographics2018, 2018-05-22] Heightmap Generation Network (HGN) • Frame Estimator • Heightmapを生成するための局所座標系を推定 • PointNetを利用 • パッチ点群を局所座標系で定義される面上に投影 • 距離が一定以内の点のみ,ガウシアンカーネルで重み付け HGN Frame Estimator 面上に投影

Slide 359

Slide 359 text

98. Data-driven Upsampling [W. Zhang+, arXiv:1807.02740, 2018-07-08] 三次元点群のアップサンプリングをする ネットワークの提案 • パッチ単位ではなく点群全体に対して処理 • ロス関数としてChamfer Distance (CD)を使用 評価 • アップサンプリング ShapeNet-Core アップサンプリングした点群の例 左から入力点群,出力点群,正解点群

Slide 360

Slide 360 text

98. Data-driven Upsampling [W. Zhang+, arXiv:1807.02740, 2018-07-08] ネットワークの構造 • ほぼPointNetそのまま,各層の次元数は異なる • 最後に直接アップサンプリングした三次元点群を出力 Shared MLP Max Pooling MLP

Slide 361

Slide 361 text

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,自作データ

Slide 362

Slide 362 text

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によって潜在空間でノイズ(上の例では部分的なマスク)の影響を除去する例

Slide 363

Slide 363 text

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で比較

Slide 364

Slide 364 text

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を 見分ける

Slide 365

Slide 365 text

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

Slide 366

Slide 366 text

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

Slide 367

Slide 367 text

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

Slide 368

Slide 368 text

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

Slide 369

Slide 369 text

101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] 三次元点群のノイズ除去を行うPointCleanNetを提案 • 点群のパッチから法線と曲率を推定するネットワーク PCPNetをベースとして設計 • ノイズの性質に関する明示的な情報が不要 さまざまなノイズを加えたデータに対して学習 評価 • ノイズ除去 オリジナルのデータセット(いくつかのデータセットから選んで構成?) 実データでも検証

Slide 370

Slide 370 text

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

Slide 371

Slide 371 text

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のアイデア)

Slide 372

Slide 372 text

101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] ネットワークの設計 基本的にほぼPCPNet(≒PointNet)

Slide 373

Slide 373 text

101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] ロス関数の設計 • 外れ点かどうかはL1(スカラーなのでただの絶対値) • 補正ベクトルは簡単ではない → 以下の重み付き和 • ノイズのない表面に近くなるよう,Ground Truth点群での最近傍点との 距離を小さくする(0.99の重み,こちらが支配的) • 均一な分布になるよう,パッチ点群中のもっとも遠い点との距離を 小さくしてパッチから離れていかないようにする(0.01の重み)

Slide 374

Slide 374 text

101. PointCleanNet [M.-J, Rakotosaona, arXiv:1901.01060, 2019-01-04] ロス関数の設計 と は現在の点群に依存するため,学習中は毎回更新 する必要がある → 代替として事前計算できるロス関数を設計 事前計算ができ効率が良いが,わずかにパフォーマンスは低下 で最小化される距離の図示 青: ノイズを含む入力 オレンジ: Ground Truth点群 Ground Truth点群内に対する, 入力点の初期状態での最近傍点

Slide 375

Slide 375 text

アウトライン • PointNetに至るまで • 局所形状の利用・畳み込み • グリッド構造に変換 • 各点に集約 • 点群・ボクセル以外に変換 • 特殊なレイヤー • アプリケーション • セグメンテーション • 物体検出 • 位置合わせ・局所特徴量 • 三次元形状の生成・オートエンコーダー • アップサンプリング・形状補完・ノイズ除去 • その他

Slide 376

Slide 376 text

102. SchNet [K. T. Schütt+, NIPS2017, arXiv:1706.08566, 2017-06-26] 分子の立体構造を予測するためのネットワーク SchNetの提案 • 回転・並進・順序付けに対して不変な畳み込み Continuous-filter Convolutional (cfconv) Layerを含む • 力とエネルギーを予測するように学習 力はエネルギーを位置で微分することで計算できるため, ネットワークの出力はエネルギーのみ 評価 • 立体配座予測(静的,平衡状態) QM9 • 立体配座予測(動的な形状変化) MD17,ISO17(この論文で作成)

Slide 377

Slide 377 text

102. SchNet [K. T. Schütt+, NIPS2017, arXiv:1706.08566, 2017-06-26] 点群深層学習と同様の手法で直接原子を取り扱う ボクセルなどによるの離散化とそれに伴う補間は パラメータ調整が難しく,また入力がスパースな 場合には計算量が増加 アイデア • Atom-wise Convolution • 原子の特徴量をMLPで変換 • Continuous-filter Convolutional (cfconv) Layer • 他の原子との相対位置に応じた重みで特徴量を畳み込み • ResNetのように残差を伝播

Slide 378

Slide 378 text

102. SchNet [K. T. Schütt+, NIPS2017, arXiv:1706.08566, 2017-06-26] ネットワークの構造 入力は座標と電荷,出力はエネルギーの推定値 原子ごとの 特徴量変換 Interaction Layer cfconv Layer Interaction Layer cfconv layer 相対位置を RBFカーネルで 変換 ネットワーク全体

Slide 379

Slide 379 text

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 提案法の概要図

Slide 380

Slide 380 text

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の各層の応答例

Slide 381

Slide 381 text

104. PCPNet(Ver. 1収録) [P. Guerrero+, Eurographics2018, arXiv:1710.04954, 2017-10-13] 局所点群から法線と曲率を推定するPCPNetの提案 • ノイズの多い生の点群に適用できる • 各点の近傍を複数のスケールでサンプリング 評価 • 法線推定 オリジナルのデータセット (いくつかのデータセット から選んで構成?) 法線・曲率の推定結果の例

Slide 382

Slide 382 text

前処理 • 点群から半径でパッチを切り出し,長さをで正規化 • 点数が多すぎる場合ランダムにダウンサンプリング PCPNet • 基本構造はPointNetと同様 • STN (PointNetのT-net) は回転行列の代わりに クオータニオンを出力するよう学習 • 回転のみを推定するようになり,学習が安定 • 特徴量をSumでプーリング Multi Scale PCPNet • 複数の半径でパッチを切り出し,特徴量を計算 • すべての特徴量を結合し,MLPを通して出力 104. PCPNet(Ver. 1収録) [P. Guerrero+, Eurographics2018, arXiv:1710.04954, 2017-10-13]

Slide 383

Slide 383 text

ネットワークの構造 ほとんどPointNetと同様 総和でプーリング 104. PCPNet(Ver. 1収録) [P. Guerrero+, Eurographics2018, arXiv:1710.04954, 2017-10-13]

Slide 384

Slide 384 text

105. PointNetVLAD [M. A. Uy+, CVPR2018, arXiv:1804.03492, 2018-04-10] 三次元点群からマップ上での探索を行うための グローバル記述子を計算するネットワーク PointNetVLADを提案 • PointNetとNetVLADの組み合わせ • PointNet: 三次元点群を直接入力 • NetVLAD: グローバル記述子を計算 • Lazy Triplet LossとLazy Quadruplet Lossも提案 評価 • マップからの探索 独自データセット

Slide 385

Slide 385 text

105. PointNetVLAD [M. A. Uy+, CVPR2018, arXiv:1804.03492, 2018-04-10] 問題設定 グローバル記述子を用いて,既に持っているマップ (サブマップの集合)の中で近いサブマップを見つける Metric学習のためのロス関数の設計 Lazy Triplet Loss ロスを最大にする負例を考える Lazy Quadruplet Loxx 学習する負例とデータセット中の負例を近づけるため, データセット中の負例からランダムな点を選択,その点との距離が 最小となるような学習中の負例に対するロスを加える ロスを最大にする負例 ヒンジ関数

Slide 386

Slide 386 text

105. PointNetVLAD [M. A. Uy+, CVPR2018, arXiv:1804.03492, 2018-04-10] ネットワークの構造 NetVLADではクラスタ中心cと点ごとに与える重みを学 習, クラスタ中心との距離の重み付け和を正規化して出力 VLAD記述子 出力記述子 Shared MLP NetVLAD

Slide 387

Slide 387 text

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

Slide 388

Slide 388 text

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の重心が原点となるよう 点群を並進

Slide 389

Slide 389 text

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で指先位置を推定

Slide 390

Slide 390 text

106. Hand PointNet(Ver. 1収録) [L. Ge+, CVPR2018, 2018-06-18] 各階層で処理される点群の図示 色はある次元の特徴量に対する応答例

Slide 391

Slide 391 text

107. PointNetGPD [H. Liang+, arXiv:1809.06267, 2018-09-17] ロボットによる物体把持の評価を行うための ネットワークPointNetGPDの提案 • 把持する領域のみを切り出して評価 • 閾値で分割して把持のクオリティの高さを分類 (回帰ではない) • 実際にロボットで把持実験を行い評価 評価 • 把持姿勢生成 実データ,YCBで学習

Slide 392

Slide 392 text

107. PointNetGPD [H. Liang+, arXiv:1809.06267, 2018-09-17] 把持姿勢生成の流れ 1. 三次元点群の計測 2. GPGによって把持候補姿勢を生成 3. それぞれの把持候補姿勢についてPointNetGPDで 把持スコアを計算 4. 最も把持スコアの高い姿勢を採用して把持を行う

Slide 393

Slide 393 text

107. PointNetGPD [H. Liang+, arXiv:1809.06267, 2018-09-17] YCBデータセットをもとに,平行グリッパに 対する把持スコアデータを生成 • ランダムに把持姿勢を生成 • Force Closureと摩擦なし把持レンチ空間による解析で 把持スコアを計算 Force Closureは摩擦係数を変化させて評価 • グリッパとの接触で実現できない把持を防ぐため シミュレーションで検証 • 物体の点群は把持する領域のみ切り出して使用(下図)

Slide 394

Slide 394 text

107. PointNetGPD [H. Liang+, arXiv:1809.06267, 2018-09-17] ネットワークの構成 三次元点群の処理にはPointNetを利用 把持領域の点群を抽出して入力 PointNet グリッパ座標系で正規化して入力 把持スコアで分類

Slide 395

Slide 395 text

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

Slide 396

Slide 396 text

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

Slide 397

Slide 397 text

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

Slide 398

Slide 398 text

108. P2P Regression PointNet(Ver. 1収録) [L. Ge+, ECCV2018, 2018-10-08] ネットワークの構造 Hierarchal PointNetを2回つなげたような構造 関節位置がうまく統合 できないときの出力 基本となる ネットワーク 関節までの距離 関節の方向

Slide 399

Slide 399 text

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

Slide 400

Slide 400 text

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 三次元点群だと摂動が知覚しやすくなるため,点群を生成した メッシュ状に乗るように投影した範囲で摂動させる

Slide 401

Slide 401 text

109. Adversarial Attacks [D. Liu+, arXiv:1901.03006, 2019-01-10] 防御の方法 • Adversarial Training 敵対的サンプルを一度生成し,それらに対しても学習を行う • 外れ点の除去 • 推論時にも勾配を計算し,勾配が大きな点を削除 攻撃のために摂動を加えた点は大きな勾配を持つと予想されることを利用 評価 • ホワイトボックス攻撃 モデルパラメータは既知として敵対的サンプルを生成 • ブラックボックス攻撃 攻撃対象とはアーキテクチャ・学習したデータの異なるネットワークで 敵対的サンプルを生成

Slide 402

Slide 402 text

110. CloudContext [J. Sauder+, arXiv:1901.08396, 2019-01-24] 二つの三次元点群の空間的な位置関係を推定する タスクを通じて,点群全体および点ごとの良い 特徴量表現を得るための手法 CloudContextの提案 • 教師ラベルなしで学習 • 学習で得られた特徴量表現がクラス分類・ セグメンテーションに利用できる 評価 • クラス分類 • ModelNet10, ModelNet40 • セグメンテーション • ShapeNet part

Slide 403

Slide 403 text

110. CloudContext [J. Sauder+, arXiv:1901.08396, 2019-01-24] 三次元点群同士の位置関係(Context)の学習 a: 同じ高さの 対角位置 b: 異なる高さの 対角位置 c: 斜め上か 斜め下 d: 上下に重なる e: 左右に重なる のいずれであるかを分類 このタスクを通じて良い特徴量表現の学習を目指す

Slide 404

Slide 404 text

110. CloudContext [J. Sauder+, arXiv:1901.08396, 2019-01-24] ネットワークの構造 2つの点群にDGCNNを適用,出力を結合してMLP 実験時にはSVMで出力特徴量を分類

Slide 405

Slide 405 text

謝辞 前回の資料公開以降,関連した研究に関して論文を紹介して頂いたり, 議論させて頂いたりした皆様,本当にありがとうございました. また,就活で忙しいところ資料のチェックを快く引き受けてくれた 研究室の某後輩(匿名希望)に感謝します.ありがとうございました.