本论文解读分两次完成,先更新一部分理论解读,实验部分后期会补上。笔者不才,欢迎各位大佬斧正,共同进步!
一、研究问题背景的综述
作者从两方面入手介绍的这篇文章。首先,作者介绍了诸位学者们针对点云的特性在3D物体识别方面的学术研究,然后,作者又结合点云数据的特点对神经网络在点云处理和3D物体识别中的应用做了一定的分析。最后,作者提出了一种新的点云识别的网络,对分割完成后的点云数据进行分类,最终完成3D物体识别的操作。
二、引用文献的方法以及作者加的客观评价
作者在这里首先通过对点云的特点进行分析,从而引出了诸多通过提取特征点来对点云分类的研究,然而找到最佳特征组合并非易事。然后,作者又分析了不同的深度学习在点云分类中的应用,如Volumetric CNNs,FPNN,Vote3D,Multiview CNNs,Spectral CNNs,Feature-based DNNs等,但是这些方法的使用对数据集都有着特定的要求,且迁移性差。最后,作者分析了各种方法的优劣之处,并引出了针对无序点云数据的深度学习分类算法PointNet。与此同时,作者在分析3D物体识别研究的每个领域工作时,例举了很多不同的方法,比如在介绍深度学习在点云分类中的应用时,分别介绍了采用多视角的方法和体素的方法。针对每种方法,作者即列举了方法的优点,又分析了其不足之处。最终提出自己所采用的方法:不同于多视角和体素的方法,而是直接将点云数据放到神经网络中进行处理。
三、作者提出的方法及实验
首先上一张PointNet的网络结构图:
(一)网络中的三个重要模块:
1、最大池化层
2、组合局部和全局信息的结构(用来完成分割操作):
本地和全局信息聚合上面部分的输出形成一个向量[f1 ,.。。 ,fK],这是输入集的全局签名。在形状全局特征上轻松训练SVM或多层感知器分类器以进行分类。
3、两个对齐输入点和点特征的联合对齐网络:
T-net,预测仿射变换矩阵,并直接将该变换应用于输入点的坐标。为了实现特征空间的对齐,在softmax训练损失中增加了一个正则化项,其中A是由迷你网络预测的特征对齐矩阵。正交变换不会丢失输入中的信息,因此这种方法是可行的。
(二)作者解决点云无序性的方法:
对集合中的变换元素应用对称函数来近似在点集上定义的一般函数,可以通过多层感知器网络、单个变量函数和最大池函数的组合来近似h函数:
在这里,作者提出了两个理论来证明利用最大池化层可以解决点云数据的无序性:
这个理论证明了PointNet的网络结构能够拟合任意的连续集合函数。其作用类似证明神经网络能够拟合任意连续函数一样。同时,作者发现PointNet模型的表征能力和maxpooling操作输出的数据维度(K)相关,K值越大,模型的表征能力越强。
定理2说明对于任何输入数据集S,都存在一个最小集Cs和一个最大集Ns,使得对Cs和Ns之间的任何集合T,其网络输出都和S一样。这也就是说,模型对输入数据在有噪声(引入额外的数据点,趋于Ns)和有数据损坏(缺少数据点,趋于Cs)的情况都是鲁棒的。定理2(b)说明了最小集Cs的数据多少由maxpooling操作输出数据的维度K给出上界。换个角度来讲,PointNet能够总结出表示某类物体形状的关键点,基于这些关键点PointNet能够判别物体的类别。这样的能力决定了PointNet对噪声和数据缺失的鲁棒性。如图所示,作者通过实验列出了PointNet学习到的以下几个物体的关键点。
(三)关键流程
- 输入为一帧的全部点云数据的集合,表示为一个nx3的2d tensor,其中n代表点云数量,3对应xyz坐标。
- 输入数据先通过和一个T-Net学习到的转换矩阵相乘来对齐,保证了模型的对特定空间转换的不变性。
- 通过多次mlp对各点云数据进行特征提取后,再用一个T-Net对特征进行对齐。
- 在特征的各个维度上执行maxpooling操作来得到最终的全局特征。
- 对分类任务,将全局特征通过mlp来预测最后的分类分数;对分割任务,将全局特征和之前学习到的各点云的局部特征进行串联,再通过mlp得到每个数据点的分类结果。
(四)完成分割任务的实验
对于给定3D扫描或网格模型,分割的任务是为每个点或面分配零件类别标签(例如椅子腿,杯柄)。实验通过ShapeNet零件数据集进行模型的评估。
(五)完成分类任务的实验
用于对象分类的全局点云特征。采用ModelNet40 形状分类基准上来评估模型。
(六)完成场景语义分割任务的实验
由提出的部分分割网络扩展到语义场景分割,其中点标签成为语义对象类而不是对象部分标签。实验通过使用斯坦福3D语义分析数据集,作者使用标准MLP作为分类器,同传统的使用基线提取相同的9维局部特征和另外三个特征(局部点密度,局部曲率和法线)的方法比较,最终分割结果表明,PointNet能够输出平滑的预测,并且对缺失点和遮挡具有鲁棒性。
四、作者对自己提出的方法的优异性验证
作者展示PointNet可以应用于多个3D识别任务,同时提供了详细的实验来验证PointNet的网络设计。 最后,作者通过分析该网络整体结构设计的合理性、对输入特征对齐的必要性、鲁棒性测试、实验效果可视化分析、与其他模型在完成对应任务所用的时间和空间的复杂性上的对比等方面,对PointNet方法给出了评价,表明该模型可以很好地完成对象分类、部分分割和语义分割等任务,同时在标准基准测试中获得与现有技术相当或更好的结果。