【论文速读】2020最新点云深度学习综述
标题:Review: deep learning on 3D point clouds
作者:Saifullahi Aminu Bello 1;2, Shangshu Yu1, Cheng Wang
星球ID:particle
本文仅做学术分享,如有侵权,请联系删除。欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈分享快乐。
论文阅读模块将分享点云处理,SLAM,三维视觉,高精地图相关的文章。公众号致力于理解三维视觉领域相关内容的干货分享,欢迎各位加入我,我们一起每天一篇文章阅读,开启分享之旅,有兴趣的可联系微信dianyunpcl@163.com。
●论文摘要
点云是在三维空间中点集的定义,点云已经成为三维表示中最重要的数据格式之一。由于激光雷达等采集设备的可用性不断提高,以及在机器人、自主驾驶、增强和虚拟现实等领域的应用越来越多,它越来越受欢迎。深度学习现在是计算机视觉中最强大的数据处理工具,成为分类、分割和检测等任务的首选技术。深度学习技术主要应用于具有结构化网格的数据,而点云则是非结构化的。点云的非结构性使得利用深度学习直接对其进行处理非常具有挑战性。早期的方法通过将点云预处理为结构化网格格式来克服这一挑战,代价是增加计算成本或丢失深度信息。然而,最近,许多最先进的方法可直接在点云上操作的深度学习技术不断出现。这篇论文包含了最新的深度学习技术的综述,这些技术主要集中在点云数据上。首先简要讨论了直接在点云数据中使用深度学习所面临的主要挑战,再简要讨论了以前通过将点云预处理为结构化网格来克服这些挑战的方法。然后,我们将回顾各种最先进的深度学习方法,这些方法直接处理非结构化的点云。并且介绍了常用的三维点云基准数据集。并进一步探讨了深度学习在三维视觉任务分类、分割和检测中的应用。
●点云深度学习的挑战
2D图像丢失了现实世界中两个或多个物体之间的深度信息和相对位置,这使得它不太适合需要深度和定位信息的应用,如机器人技术、自主驾驶、虚拟现实和增强现实等。为了用深度信息捕捉三维世界,早期的常见的是使用立体视觉,其中使用2个或更多校准的数码相机来提取三维信息。点云是一种通常用于表示三维几何体的数据结构,使其能够直接表示从立体视觉相机提取的三维信息以及由RGB-D生成的深度图。最近,由于激光雷达等传感设备的可用性不断增加,3D点云正在蓬勃发展,带有飞行时间(tof)深度相机的手机,可以轻松获取三维点云中的三维世界。点云只是空间中的一组数据点集。场景的点云是围绕场景中对象的曲面采样的三维点集。在最简单的形式中由点的XYZ坐标表示,但是,也可以使用诸如曲面法线、RGB值等附加特性。点云是表示三维世界的一种非常方便的格式,它在机器人、自动驾驶、增强和虚拟现实以及其他工业用途等领域有着广泛的应用
在三维点云数据上应用深度学习带来了许多挑战。其中一些挑战包括由杂乱的场景或盲区引起的遮挡;噪声/异常值是意外点,因而在点云上应用深度学习时,更突出的挑战可以归纳为:
图1 点云深度学习的挑战
不规则性:点云数据也是不规则的,这意味着在对象/场景的不同区域,点的采样不是均匀的,因此一些区域可能有密集点,而另一些区域可能有稀疏点。这些可以在图1a中看到。每个点都是独立扫描的,它与相邻点之间的距离并不总是固定的,相反,图像中的像素在二维网格上表示,两个相邻像素之间的间距总是固定的。
无序性:场景的点云是在环境中扫描对象周围获得的一组点(通常用XYZ表示),通常以列表形式存储在文件中。作为一个集合,点的存储顺序不会改变所表示的场景。为了说明这一点,我们在图1c中展示了点集的无序性,这些点云的性质对于深度学习,特别是卷积神经网络(CNN)是非常具有挑战性的。这是因为卷积神经网络是基于卷积运算的,卷积运算是在有序的、规则的、结构化的网格上进行的。早期的方法通过将点云转换为结构化网格格式来克服这些挑战。然而,最近研究人员一直在研究直接利用原始点云的深度学习能力的方法,后面将会介绍。
●基于点云结构化深度学习网络
深度学习,特别是卷积神经网络是成功的,因为卷积运算用于特征学习,去掉人工制作的特征的繁琐。图2显示了二维网格上典型的卷积运算。卷积操作需要一个结构化的网格。然而,点云数据是非结构化的,这对深度学习是一个挑战,为了克服这一挑战,许多方法将点云数据转换为结构化的形式。这些方法大致可分为两类,
基于体素的方法和基于多视图的方法。在本节中,我们将回顾基于体素和基于多视图的分类中的一些最新方法,这些方法有优点也有缺点。
图2:典型的二维卷积运算
基于体素的点云深度学习
基于体素的方法[8,9,10,11,12]也采用了类似的方法,将点云转换成X×Y×Z的三维体素结构,并分别用X×Y×Z的三维核与X;Y;Z进行卷积。基本上,这种方法有两个重要的步骤,分别是离线(预处理)和在线(学习)。离线预处理方法将点云转换为固定大小的体素,如图3所示。将点云转换为体素网格。在在论文[11]中,法向量被添加到每个体素中以提高分辨能力。
图3:将飞机点云体素化为30×30×30的体积栅格点云
在这一阶段,卷积神经网络通常使用一些三维卷积、池化和全连接层理论进行设计。这里的文章举例就不再一一说明,有兴趣可以自行阅读。
基于多视的点云深度学习
这些方法有[17,18,19,10,20,21,22],是一种利用了已经成熟的2D-CNN到3D点云的技术。由于图像实际上是被相机压缩到2D网格上的3D世界的表示,该类方法将点云数据转换为2D图像的集合,并将现有的2D CNN技术应用于它,见图4。与基于体素的深度学习的方法相比,即使体素点云包含深度信息,基于多视图的方法具有更好的性能,因为多视图图像包含的信息比三维体素更丰富。
图4:点云到二维图像的多视图投影。每个2D图像表示从不同角度观看的同一对象
基于多视图的网络比基于体素的方法具有更好的性能,这是因为两个原因:
1)基于多视图是一种基于2D图像的深度学习,2D的深度学习方法在研究上非常成熟;
2)由于没有体素化的量化误差。还有其他方法用于点云处理,使用深度学习将点云转换为高维规则格[23][24].
直接在原始点云上进行的深度学习
自PointNet[25]于2017年发布以来,关于原始点云的深度学习备受关注。从那时起,许多先进的方法被开发出来。这些技术直接处理点云,尽管存在上文介绍的挑战。在本节中,我们将回顾在这个方向上工作的最新技术。我们从PointNet开始,它是大多数技术的基础。通过对局部区域结构进行建模改进了点云深度学习技术。
卷积神经网络之所以能取得很大成功,是因为卷积运算能够使网络在局部区域以分层的方式进行学习。然而,卷积需要结构化的网格,而点云数据是缺乏的。PointNet[25]是第一个在非结构化点云上应用深度学习的方法,也是大多数其他技术的基础。
PointNet的体系结构如图5所示。PointNet的输入是原始点云P=N×D,其中N表示点云中的点数,D表示维数,通常D=3表示每个点的XYZ值,但是也可以使用其他特征。由于点是无序的,PointNet由对称函数组成。对称函数是指无论输入顺序如何,其输出都相同的函数。PointNet是建立在两个基本的对称函数,多层感知器(MLP)和一个最大池函数基础上。mlp是将点的特征维数从D=3转换为D=1024维空间的特征变换,每个层的所有点都共享这些参数。利用maxpooling对称函数生成一个1024维的全局特征向量。特征向量表示输入的特征描述符,可用于识别和分割任务。
(1)局部结构化计算方法
许多最先进的方法都是在PointNet之后开发的,这里简单的解释了局部结构化的方法。
(2)不探索局部相关性的方法:
PointNet++[29]通过在局部区域分层应用PointNet,扩展了用于局部区域计算的PointNet。给定一个点集p,用最远点采样算法选择质心,用ball查询法为每个质心选择最近邻点。然后将PointNet应用于局部区域,生成区域的特征向量。这些过程以层次结构的形式重复,从而降低了点的分辨率。在层次结构的最后一层,点的全部特征通过一个PointNet来产生一个全局特征向量。PointNet++在许多公共数据集上实现了最先进的精度,包括ModelNet40和ScanNet。
图7:VoxelNet方法,采样并将点分组到局部补丁中。红色是使用采样算法选择的质心点,显示的分组是一个球形查询,根据到质心的半径距离选择点。
(3)探索局部相关性的方法
探索局部区域内点之间的局部相关性以提高识别能力。显然,因为点不是孤立存在的,而是需要多个点一起形成有意义的形状。
PointCNN[35]对PointNet++进行了改进,在应用类似MLP的PointNet之前,对每个质心的k个最近邻点进行了X变换。对质心或者代表点进行随机抽样,在应用非线性映射函数之前,用k-NN选择通过X变换块的邻域点。X变换的目的是将输入转换成更规范的形式,这种形式本质上也考虑了局部区域内点之间的关系。
基于图的方法
[43,44,45,47]提出了基于图的方法。基于图的方法通过将每个点作为一个节点来表示具有图结构的点云。图结构很适合于用图的边表示的点之间的相关性建模。[43]使用kd树,这是一种特殊的图。在点云上采用自上而下的方式建立kd树,形成一个具有可学习参数的前馈kd网络。
表1总结了应用抽样、分组和映射函数的几种深度学习方法
●实验对比
表2:基准数据集的分类。(cls:分类,seg:分割,loc:定位,reg:配准,aut:自动驾驶,det:目标检测,dri:驾驶行为,mot:运动估计,odo:里程计)
ShapeNet零件数据集上的零件分割结果。分数是综合平均值。
显示了在ShapeNet数据集上点云上的深度学习不同任务的效果。(a) 对象分类(b)部件分割(c)对象检测(d)语义分割
●总结
随着点云扫描设备的不断发展,以及在自动驾驶、机器人、AR和VR中的应用日益广泛,点云的可用性越来越高,因此需要快速高效的点云处理算法,以提高识别、分割和检测等视觉感知能力。由于数据可用性差,深度学习不受欢迎,早期的点云处理方法依赖于人工制作的特性。然而,云计算技术的发展和云计算技术的深入发展带来了点云数据获取技术的变革。点云提供更精确的三维信息,这在需要三维信息的应用中至关重要。由于点云的特性,利用深度学习进行点云处理是一个非常具有挑战性的问题。大多数方法都是将点云转换为结构化网格,以便于深层神经网络的处理。然而,这些方法要么导致深度信息的丢失,要么引入转换伪影,并且需要更高的计算成本。
参考文献
向上滑动阅览
[1] D. Maturana, S. Scherer, 3d convolutional neural networks for landing zone detection from lidar, in: IEEE International Conference on Robotics and Automation, ICRA 2015, Seattle, WA, USA, 26-30 May, 2015, IEEE, 2015, pp. 3471–3478.
[2] D. Maturana, S. Scherer, Voxnet: A 3d convolutional neural network for real-time object recognition, in: 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2015, Hamburg, Germany, September 28 - October 2, 2015, IEEE, 2015, pp. 922– 928.
[3] C. R. Qi, H. Su, M. Nießner, A. Dai, M. Yan, L. J. Guibas, Volumetric and multi-view cnns for object classification on 3d data, in: 2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016, Las Vegas, NV, USA, June 27-30, 2016, IEEE Computer Society, 2016, pp. 5648–5656.
[4] C. Wang, M. Cheng, F. Sohel, M. Bennamoun, J. Li, Normalnet: A voxel-based CNN for 3d object classification and retrieval, Neurocomputing 323 (2019) 139–147.
[5] S. Ghadai, X. Y. Lee, A. Balu, S. Sarkar, A. Krishnamurthy, Multi-resolution 3d convolutional neural networks for object recognition, CoRR abs/1805.12254 (2018).
[6] H. Su, S. Maji, E. Kalogerakis, E. G. Learned-Miller, Multi-view convolutional neural networks for 3d shape recognition, in: 2015 IEEE International Conference on Computer Vision, ICCV 2015, Santiago, Chile, December 7-13, 2015, IEEE Computer Society, 2015, pp. 945– 953.
[7] B. Leng, S. Guo, X. Zhang, Z. Xiong, 3d object retrieval with stacked local convolutional autoencoder, Signal Processing 112 (2015) 119–128.
[8] S. Bai, X. Bai, Z. Zhou, Z. Zhang, L. J. Latecki, GIFT: A real-time and scalable 3d shape search engine, in: 2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016, Las Vegas, NV, USA, June 27-30, 2016, IEEE Computer Society, 2016, pp. 5023–5032.
[9] E. Kalogerakis, M. Averkiou, S. Maji, S. Chaudhuri, 3d shape segmentation with projective convolutional networks, in: 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, July 21-26, 2017, 2017, pp. 6630–6639
[10] Z. Cao, Q. Huang, K. Ramani, 3d object classification via spherical projections, in: 2017 International Conference on 3D Vision, 3DV 2017, Qingdao, China, October 10-12, 2017, IEEE Computer Society, 2017, pp. 566– 574.
[11] L. Zhang, J. Sun, Q. Zheng, 3d point cloud recognition based on a multi-view convolutional neural network, Sensors 18 (2018) 3681
[12] H. Su, V. Jampani, D. Sun, S. Maji, E. Kalogerakis, M. Yang, J. Kautz, Splatnet: Sparse lattice networks for point cloud processing, in: 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018, Salt Lake City, UT, USA, June 18-22, 2018, IEEE Computer Society, 2018, pp. 2530–2539.
[13] Y. Rao, J. Lu, J. Zhou, Spherical fractal convolutional neural networks for point cloud recognition, in: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.
[14] C. R. Qi, H. Su, K. Mo, L. J. Guibas, Pointnet: Deep learning on point sets for 3d classification and segmentation, in: 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017, Honolulu, HI, USA, July 21-26, 2017, IEEE Computer Society, 2017, pp. 77– 85.
[15] C. R. Qi, L. Yi, H. Su, L. J. Guibas, Pointnet++: Deep hierarchical feature learning on point sets in a metric space, in: I. Guyon, U. von Luxburg, S. Bengio, H. M. Wallach, R. Fergus, S. V. N. Vishwanathan, R. Garnett (Eds.), Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems 2017, 4- 9 December 2017, Long Beach, CA, USA, 2017, pp. 5099–5108.
[16] Y. Li, R. Bu, M. Sun, W. Wu, X. Di, B. Chen, Pointcnn: Convolution on x-transformed points, in: S. Bengio, H. M. Wallach, H. Larochelle, K. Grauman, N. Cesa-Bianchi, R. Garnett (Eds.), Advances in Neural Information Processing Systems 31: Annual Conference on Neural Information Processing Systems 2018, NeurIPS 2018, 3-8 December 2018, Montreal, Canada., ´ 2018, pp. 828–838.
[17] R. Klokov, V. S. Lempitsky, Escape from cells: Deep kdnetworks for the recognition of 3d point cloud models, in: IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017, IEEE Computer Society, 2017, pp. 863–872.
[18] Y. Wang, Y. Sun, Z. Liu, S. E. Sarma, M. M. Bronstein, J. M. Solomon, Dynamic graph CNN for 17learning on point clouds, CoRR abs/1801.07829 (2018)
[19] C. Wang, B. Samari, K. Siddiqi, Local spectral graph convolution for point set feature learning, in: V. Ferrari, M. Hebert, C. Sminchisescu, Y. Weiss (Eds.), Computer Vision - ECCV 2018 - 15th European Conference, Munich, Germany, September 8-14, 2018, Proceedings, Part IV, volume 11208 of Lecture Notes in Computer Science, Springer, 2018, pp. 56–71.
[20] Z. Zhang, B.-S. Hua, S.-K. Yeung, Shellnet: Efficient point cloud convolutional neural networks using concentric shells statistics, in: The IEEE International Conference on Computer Vision (ICCV), 2019.
[21] W. Han, C. Wen, C. Wang, Q. Li, X. Li, forthcoming: Point2node: Correlation learning of dynamic-node for point cloud feature modeling, in: Conference on Artificial Intelligence, (AAAI), 2020