技术解析是由美团点评无人配送部技术团队主笔,每期发布一篇无人配送领域相关技术解析或应用实例,本期为您带来的是论文PointNet系列论文解读。
本文主笔:平凡的外卖小哥
本文共4784字,预计阅读时间13分钟
1简介
此系列论文首先提出了一种新型的处理点云数据的深度学习模型-PointNet,并验证了它能够用于点云数据的多种认知任务,如分类、语义分割和目标识别。不同于图像数据在计算机中的表示通常编码了像素点之间的空间关系,点云数据由无序的数据点构成一个集合来表示。因此,在使用图像识别任务的深度学习模型处理点云数据之前,需要对点云数据进行一些处理。目前采用的方式主要有两种:
不同于以上两种方法对点云数据先预处理再使用的方式,此论文的作者提出了直接在点云数据上应用深度学习模型的方法,称为PointNet。
2理论基础
点云数据是在欧式空间下的点的一个子集,它具有以下三个特征:
作者对他们模型进行了进一步的理论分析,并提出了两个定理:
定理1证明了PointNet的网络结构能够拟合任意的连续集合函数。其作用类似证明神经网络能够拟合任意连续函数一样【1】。同时,作者发现PointNet模型的表征能力和maxpooling操作输出的数据维度(K)相关,K值越大,模型的表征能力越强。
定理2(a)说明对于任何输入数据集S,都存在一个最小集Cs和一个最大集Ns,使得对Cs和Ns之间的任何集合T,其网络输出都和S一样。这也就是说,模型对输入数据在有噪声(引入额外的数据点,趋于Ns)和有数据损坏(缺少数据点,趋于Cs)的情况都是鲁棒的。定理2(b)说明了最小集Cs的数据多少由maxpooling操作输出数据的维度K给出上界。换个角度来讲,PointNet能够总结出表示某类物体形状的关键点,基于这些关键点PointNet能够判别物体的类别。这样的能力决定了PointNet对噪声和数据缺失的鲁棒性。如图所示,作者通过实验列出了PointNet学习到的以下几个物体的关键点。
3PointNet系列模型结构
3.1 PointNet
3.2.1 网络构成
PointNet提取特征的方式是对所有点云数据提取了一个全局的特征,显然,这和目前流行的CNN逐层提取局部特征的方式不一样。受到CNN的启发,作者提出了PointNet++,它能够在不同尺度提取局部特征,通过多层网络结构得到深层特征。PointNet++由以下几个关键部分构成:
上述各层构成了PointNet++的基础处理模块。如果将多个这样的处理模块级联组合起来,PointNet++就能像CNN一样从浅层特征得到深层语义特征。对于分割任务的网络,还需要将下采样后的特征进行上采样,使得原始点云中的每个点都有对应的特征。这个上采样的过程通过最近的k个临近点进行插值计算得到。完整的PointNet++的网络示意图如下图所示。
3.2.2 不均匀点云数据的特征提取
不同于图片数据分布在规则的像素网格上且有均匀的数据密度,点云数据在空间中的分布是不规则且不均匀的。虽然PointNet能够用于对各个点云局部提取特征,但是由于点云在各个局部均匀性不一致,很可能导致学习到的PointNet不能提取到很好的局部特征。比如说,在越远的地方激光雷达数据通常变得越稀疏,因此在稀疏的地方应该考虑更大的尺度范围来提取特征。为此,作者提出了两种组合策略来保证更优的特征提取。
上述的PointNet和PointNet++主要用于点云数据的分类和分割问题,Frustum-PointNet(F-PointNet)将PointNet的应用拓展到了3D目标检测上。目前单纯基于Lidar数据的3D目标检测算法通常对小目标检测效果不佳,为了处理这个问题,F-PointNet提出了结合基于图像的2D检测算法来定位目标,再用其对应的点云数据视锥进行bbox回归的方法来实现3D目标检测。F-PointNet的网络结构如下图所示。
可以看到,F-PointNet主要由以下几部分构成:
综上所述,F-PointNet是一个多步骤的3D目标检测算法。如下图所示,为了应对点云数据中各个目标的视角不变性和得到更准确的bbox回归(通过缩小需要回归的值的取值范围),算法需要进行三次坐标转换。模型的loss和2D的目标检测一样是包含分类以及回归的多任务loss。同时,作者提出了一种被称为corner loss的损失函数来对目标的中心、朝向和大小进行联合优化,避免由于某一方面的不准确而主导loss。
4目标检测效果
因为目前我们主要考虑点云的目标检测问题,在此忽略PointNet和PointNet++论文中提出的分类和语义分割的效果,只考虑F-PointNet的检测效果。下图为论文给出的在KITTI测试集上的检测效果。
从KITTI的排行榜上[2],F-PointNet对car,pedestrian和cyclist的检测效果分别排第四,第一和第二。可以看到,得益于精确的基于图像的2D检测模型,F-PointNet对小目标的检测效果确实处于领先地位。官方给出的单帧处理速度是0.17s。
作者在附录中给出了结合点云鸟瞰视角的F-PointNet的实验,结果显示,对于hard的场景,结合鸟瞰图的F-PointNet有3.82%的提升。这是因为,hard场景下目标遮挡很严重,2D目标检测根据图片不能很好地检测到目标,而鸟瞰图能很好地分辨出不同目标。
5思考
参考资料
到此这篇pointnet论文(pointnet论文解读)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/27784.html