17-PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation 2017 论文笔记

本文解析了PointNet,一种用于3D数据的深度学习方法,它直接处理无序、稀疏的点云,利用空间变换网络和maxpooling解决旋转与无序性问题。PointNet在ModelNet40上取得优秀分类效果,且对缺失点具有鲁棒性。关键词包括:PointNet、3D分类、语义分割、空间变换网络、maxpooling。

PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation

PointNet:三维分类与分割中点集的深度学习
论文地址https://arxiv.org/pdf/1612.00593.pdf
代码地址https://github.com/ModelBunker/PointNet-TensorFlow

解决的问题

前人将这些三维数据转换为规则的三维体素网格或图像集合(例如,视图),然后将其输入到深网体系结构中。然而,这种数据表示转换使生成的数据变得巨大,同时也引入了量化伪影,从而掩盖了数据的自然不变性

原理

点云数据的三大特征:无序性、稀疏性、信息量有限。
欧式空间里的点云特征(PointNet的灵感来源):
无序性:虽然输入的点云是有顺序的,但是显然这个顺序不应当影响结果。
点之间的交互:每个点不是独立的,而是与其周围的一些点共同蕴含了一些信息,因而模型应当能够抓住局部的结构和局部之间的交互。
变换不变性:比如点云整体的旋转和平移不应该影响它的分类或者分割
PointNet网络直接将点云作为输入,并为整个输入输出类标签,或者为输入的每个点输出每个点的部分标签。输入为三通道点云数据(xi,yi,zi),也可以有额外的通道比如颜色、法向量等,输出整体的类别/每个点所处的部分/每个点的类别。
对于分类任务,输出为k个分数,分别对应k个可能的类别。
对于语义分割任务,输出n×m个分数,分别对应n个点相对于m各类别的分数。
以上,方法的关键是使用单一的对称函数max pooling。网络有效地学习了一组优化函数,这些函数选择了点云中有信息的点,并对其选择的原因进行了编码。网络的最终完全连接层将这些学习到的最优值聚合为上述整个形状的全局描述符(形状分类),或用于预测每点标签(形状分段)。在这里插入图片描述

其中,mlp是通过共享权重的卷积实现的,第一层卷积核大小是1x3(因为每个点的维度是xyz),之后的每一层卷积核大小都是1x1。即特征提取层只是把每个点连接起来而已。经过两个空间变换网络和两个mlp之后,对每一个点提取1024维特征,经过maxpool变成1x1024的全局特征。再经过一个mlp(代码中运用全连接)得到k个score。分类网络最后接的loss是softmax

创新点

(1)空间变换网络解决旋转问题:三维的STN可以通过学习点云本身的位姿信息学习到一个最有利于网络进行分类或分割的DxD旋转矩阵(D代表特征维度,pointnet中D采用3和64)。至于其中的原理,我的理解是,通过控制最后的loss来对变换矩阵进行调整,pointnet并不关心最后真正做了什么变换,只要有利于最后的结果都可以。pointnet采用了两次STN(空间变换网络),第一次input transform是对空间中点云进行调整,直观上理解是旋转出一个更有利于分类或分割的角度,比如把物体转到正面;第二次feature transform是对提取出的64维特征进行对齐,即在特征层面对点云进行变换。
(2)maxpooling解决无序性问题:网络对每个点进行了一定程度的特征提取之后,maxpooling可以对点云的整体提取出global feature。

优点

在模型Net40上的分类结果本文的网络在3D输入的深网中达到了最先进的水平。

缺点

​ PointNet使用对称函数整合全局信息,解决点的无序性问题,然而从单点使用mlp的特征提取,到max pooling进行全局特征整合,最终得到的特征,都只是从一个点上提取的,没有考虑点和点之间的相关性特征。

实验结果

在数据集ModelNet40上的分类结果
同时由于参数少,训练快,属于轻量级网络。在这里插入图片描述
鲁棒性实验
当PointNet缺失了60%左右的点的时候,其网络的效果都不怎么减少:在这里插入图片描述
临界点和上界形状可视化
阅读论文发现,能够最大程度激活网络的点都是物体的主干点(下图第二行),将其上采样,很容易能得到原始的结构。因此这就是PointNet网络的缺失鲁棒性的来源在这里插入图片描述
部分分割结果可视化在这里插入图片描述
语义分割的定性结果在这里插入图片描述
实现秩序不变性的三种途径,实验结果表明Maxpooling结果最好
在这里插入图片描述

### 回答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图像识别、机器人操作等领域。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值