PointNet论文解读

        本论文解读分两次完成,先更新一部分理论解读,实验部分后期会补上。笔者不才,欢迎各位大佬斧正,共同进步!

一、研究问题背景的综述

        作者从两方面入手介绍的这篇文章。首先,作者介绍了诸位学者们针对点云的特性在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学习到的以下几个物体的关键点。 

(三)关键流程

  1. 输入为一帧的全部点云数据的集合,表示为一个nx3的2d tensor,其中n代表点云数量,3对应xyz坐标。
  2. 输入数据先通过和一个T-Net学习到的转换矩阵相乘来对齐,保证了模型的对特定空间转换的不变性。
  3. 通过多次mlp对各点云数据进行特征提取后,再用一个T-Net对特征进行对齐。
  4. 在特征的各个维度上执行maxpooling操作来得到最终的全局特征。
  5. 对分类任务,将全局特征通过mlp来预测最后的分类分数;对分割任务,将全局特征和之前学习到的各点云的局部特征进行串联,再通过mlp得到每个数据点的分类结果。

(四)完成分割任务的实验

       对于给定3D扫描或网格模型,分割的任务是为每个点或面分配零件类别标签(例如椅子腿,杯柄)。实验通过ShapeNet零件数据集进行模型的评估。

(五)完成分类任务的实验

        用于对象分类的全局点云特征。采用ModelNet40 形状分类基准上来评估模型。

(六)完成场景语义分割任务的实验

        由提出的部分分割网络扩展到语义场景分割,其中点标签成为语义对象类而不是对象部分标签。实验通过使用斯坦福3D语义分析数据集,作者使用标准MLP作为分类器,同传统的使用基线提取相同的9维局部特征和另外三个特征(局部点密度,局部曲率和法线)的方法比较,最终分割结果表明,PointNet能够输出平滑的预测,并且对缺失点和遮挡具有鲁棒性。

四、作者对自己提出的方法的优异性验证

        作者展示PointNet可以应用于多个3D识别任务,同时提供了详细的实验来验证PointNet的网络设计。 最后,作者通过分析该网络整体结构设计的合理性、对输入特征对齐的必要性、鲁棒性测试、实验效果可视化分析、与其他模型在完成对应任务所用的时间和空间的复杂性上的对比等方面,对PointNet方法给出了评价,表明该模型可以很好地完成对象分类、部分分割和语义分割等任务,同时在标准基准测试中获得与现有技术相当或更好的结果。

 

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PointNet是一个端到端的深度学习架构,用于处理点云数据。点云是由离散的点表示的3D对象,常见于计算机视觉、机器人学和自动驾驶等领域。PointNet的目标是将点云作为输入,输出点云的全局特征向量,这个向量可以用于点云分类、分割、物体检测等任务PointNet的核心思想是将点云视为无序点集,而不是有序的网格结构。这意味着PointNet可以处理任意形状的点云,而不需要对其进行预处理。PointNet的网络结构包含两个主要模块:点云特征提取和全局特征学习。 在点云特征提取中,PointNet使用多层感知器(MLP)对每个点进行特征提取。这个特征提取模块是PointNet的核心,它使用多个MLP来处理点云中的每个点,并生成一个固定长度的局部特征向量。这些局部特征向量不考虑点云中点的顺序,因此可以保证对任意形状的点云都可以进行特征提取。 在全局特征学习中,PointNet将局部特征向量合并成一个全局特征向量,该向量代表整个点云。为此,PointNet使用了一个最大池化层,它将每个局部特征向量转换为全局特征向量。最大池化层的输出是点云的全局特征向量,它可以用于点云分类、分割、物体检测等任务PointNet的优点是可以处理无序的点云数据,并且可以直接从点云中提取全局特征向量。它的缺点是无法处理网格结构数据,因为它没有考虑点之间的拓扑关系。此外,PointNet在处理大规模点云时可能会面临计算和内存消耗的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值