[论文解读+复现] PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

一、摘要

        本文提出了一种结构简单的物体检测与点云分割、语义分析的深度学习网络,网络具有置换不变性,文章最后对网络的鲁棒性做出了解释。

                                         

二、介绍

        典型卷积网络需要规则的输入,例如像素和体素,目的是可以共享权重参数(weight),一些研究学者会将点云转化为体素或者图像集再传入神经网络,这会导致数据量变得巨大并造成模糊;为此本文使用简单的统一的结构—点云来进行训练,网络名为:PointNet,但是点云也只是一些点的集合,因此需要满足一些对称性与刚体运动不变性。PointNet可以直接将点云作为输入输出,网络对所有点云统一且独立的做预处理,最开始只传入三坐标,额外的信息可以通过计算法线或者其他本地或全局特征添加。

        PointNet关键是对称变换最大池化层的运用,而且在PointNet处理之前还通过仿射变换来标准化点云来提高处理效果,此外本文还从理论和经验两方面对网络做出了评估,评估表明PointNet可以逼近任何一个连续函数,并且可以根据稀疏点去概括一个点云输入;在多个基准数据集上,PointNet与当前最好的方法相比,速度更快、精度更好、鲁棒性更强,具体工作总结如下:

  • 设计了一个新型深度学习结构可以处理无序点云集
  • 展示网络如何用于三维形状分类、形状分割、场景语义分割
  • 从理论和经验上最方法鲁棒性做出评估
  • 图示网络计算过程

三、相关工作

(这一部分就不多说了,一二十篇文章的引用)

四、问题陈述

        本文如无特殊说明,点云中的点只用三坐标,不使用其他信息例如颜色、法矢,对于识别任务,输入为直接采集到的点云数据,输出k个分数代表k个类别;对于语义分割,输入可以是用于部分区域分割的单个对象,也可以是3D场景中的子个体,模型将输出n×m个分数,代表n个点分别属于m个类(类似概率)。

五、点云的深度学习

1.点云属性

输入点云是欧式空间中的,具有:无序性点之间具有相互作用(只是说点与点之间都不是简单独立的)、刚体变换不变性

2.PointNet结构

        在分类网络中,输入n个点,对输入做特征变换,再进行最大池化输出k个种类;分割网络是分类网络的一个拓展,它考虑了全局和局部的特征以及每个点的输出分数。mlp代表多层感知机,括号中是感知机的层数,批标准化(Batchnorm)本用于所有带有ReLU函数的层,Dropout层被用于分类网络中最后一个多层感知机中。网络的特点有:

  1. 最大池化(对称变换)去合计所有点的信息
  2. 局部和全局特征的连接
  3. 两个联合对准网络用来匹配输入点与特征

        下边分别讨论为什么选用上边三种方法

3.无序输入的对称变换

        为了保证模型输入不变性,有三种方案:简单排序、作为序列输入RNN、使用对称变换聚集点的信息。在高维空间中,简单排序是不能保证稳定性的;RNN对长度几十的序列具有鲁棒性,但是几千几万个点就变得很差;经验来讲,本文用的模型很简单,多层感知机+最大池化

4.局部和全局特征的连接

        在计算了全局点云特征向量之后,通过将全局特征与每个点特征连接起来,将其反馈给每个点特征。然后,我们基于组合的点特 征提取新的每点特征,每点特征既了解本地信息又了解全局信息。

5.联合对准网络

        在softmax训练损失中添加了一个正规化项,将特征变换矩阵约束为接近正交矩阵

六、实验

        首先该网络的分类、语义分割实验结果均达到了当前最佳水平(图表的比较省略),下边是语义分割的结果:

                                 

        关于鲁棒性的论证等等一些表格、图像、性质,这里不再进行记录,感兴趣的可以去看看原文

七、论文复现

        考虑到代码也放这里的话篇幅太长,就写在另一个博客里了:

        PointNet分类模型的Pytorch实现

  • 8
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
### 回答1: PointNet是一种深度学习模型,专门用于处理3D点云的分类和分割任务。它接受一个由点组成的集合作为输入,可以学习到每个点的特征表示,并将它们组合起来以获得整个点云的全局特征。PointNet还具有旋转不变性,因此可以处理具有不同旋转角度的点云数据。这使得PointNet成为3D视觉领域的重要工具,用于处理各种任务,例如物体检测、语义分割和场景重建等。 ### 回答2: PointNet是一种基于点集的深度学习架构,用于3D分类和分割任务。它于2017年由Qi et al.提出,并已在许多3D视觉应用中得到了广泛应用。PointNet的主要思想是将点云看作无序的点集,并设计了一种处理这种无序集合的新型神经网络。 传统上,对3D对象进行分类和分割的方法通常需要将对象转换为网格或体素,然后将其表示为规则形状的网格或体素。这些方法在处理复杂几何形状时存在一定的困难,并且采用的处理方法需要严格的输入格式。 相比之下,PointNet可以直接处理点云数据,不需要对其进行转换或训练数据格式的严格要求。在PointNet中,输入是一组点的集合,每个点有三个坐标和其他任意的属性,如颜色或法线。这些点无序,因此PointNet用最小误差投影(Minimum Error Projetion)来解决这个问题。这个网络的中心思想是使用点集的对称性,将输入点云映射到一个向量空间中,该空间旨在保留输入点集的所有信息。 为了处理点集的对称性,PointNet使用了两个网络——一个是点特征提取网络,另一个是全局特征提取网络。点特征提取网络处理单个点的信息,并产生一个新的点特征。全局特征提取网络则将所有点的特征表示合并到一个全局特征向量中。这种设计使PointNet可以生成对称空间中的全局特征向量,从而保持了输入的无序性质,并确保了在不同尺度和物体位姿下的泛化能力。 总的来说,PointNet为点云的处理提供了一种新颖的方式,可以在保持输入的无序性质和提高处理效率方面取得良好的表现。它的成功应用在3D分类和分割任务中证明了其高效性和实用性,并为未来的3D深度学习研究工作提供了有价值的经验。 ### 回答3: PointNet是一种用于3D分类和分割的深度学习算法。这种算法突破了传统方法中对于3D形状进行预测的限制,通过学习点云中点的全局特征来进行预测,并且在Caltech-101 或 ModelNet40等数据集上取得了远超其他算法的效果。 PointNet算法首先通过应用全连接网络将点云中的每个点转换成一个低维的向量表示。该算法还采用了一个局部特征学习模块,该模块仅对于每个点的局部序列进行操作,以捕获点云的局部特征。该算法使用了max pooling的形式将每个点的局部特征进行汇总,以得出整体的特征表示。最后,算法通过多个全连接层将点云的全局特征映射到所需的目标(如类别标签或分割结果)。 值得注意的是,PointNet算法在3D形状分类和分割问题上的效果非常显著,并且其鲁棒性非常好,即使在存在噪声和缺失数据的情况下,该算法也能够产生准确的结果。此外,PointNet算法还可以通过加入循环神经网络模块来实现对于时间序列数据的处理。 总的来说,PointNet算法是一种极具前景的深度学习算法,其具有高效、准确和鲁棒的特点,可以应用于3D形状预测、3D图像识别、机器人操作等领域。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

负壹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值