PointNet阅读笔记

PointNet阅读笔记

本文开创性地提出了将深度学习直接用于三维点云数据上的方法。三维点云由于其无序性,无法直接使用卷积等操作。本文提出了对称函数解决点的无序性问题,并给出了理论证明。设计了能够进行分类和分割任务的网络结构,认为提取出的特征点是三维物体的骨架结构。

问题说明

输入一个无序点集,包含n个点,每个点是其坐标表示(x,y,z),也可以添加其他手动提取的特征。对于分类问题,输出1*k的向量,表示k个类别的得分。对于分割问题,输出n * m的得分矩阵,表示每个点(或每个子区域)的类别标签。

文章使用的主要方法可以概括如下:

《[论文解读] PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation》

f是全局特征的提取函数,h是每一个点的特征提取函数,g是文章提出的对称函数。在数据量很大的情况下,对一系列点通过f提取特征,可以与对单个点提取特征的点集,与对称函数的作用结果相近似。文章证明了这一理论。

《[论文解读] PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation》

而单个点的特征提取函数,本文选用了mlp。权值共享的mlp作用于每一个输入特征点,进行单点的特征提取操作,在最后使用max pooling进行全局特征的统一。实现中,使用1x1的conv代替了mlp

点的无序性问题

不同顺序的点云数据实际上表示了同一组三维物体,因此,想要从点云中抽取共有特征,文章提出了三个方法:

  1. 对于无序点集进行排序。point cnn就是使用了这个方法。
  2. 像RNN一样把点集当做一个序列进行处理。这样做需要进行数据增强,对输入点集做所有的排列变换。
  3. 使用对称函数。

本文就是要了对称函数的方法。文章称对顺序不敏感的函数为对称函数。如加法、点乘,以及本文使用的max pooling等操作

设输入特征为NxD,使用max pooling作用在N维度上,得到1xD的向量,每一维特征都与其顺序无关,这样便保证了对于点云输入顺序的鲁棒性。

刚体运动的不变性问题

刚体运动的即旋转平移,文章的解决方法也很简单,即学习一个变换矩阵T,称作STN网络。在训练过程中,由于loss的约束,使得T矩阵学习到最有利于最终分类的变换,如把物体旋转到正面。实际架构中,分别在输入数据和第一层特征中使用了T矩阵,大小为3x3和64x64。第二个T矩阵由于参数过多,添加了正则项,使其接近于正交矩阵。

不过最终实验结果和后续的论文point net++表示,这个STN网络并没有什么大的用处

点之间的相关性问题

即网络应用到分割物体上的问题。在分类任务中,特征经过max pooling得到一维特征向量,此时包含了全局信息,只要再经过全连接网络,得到1*K的k个类别预测得分向量即可。而在分割任务中,需要对每一个点输出所属类别,需要一个类似图像分割的上采样过程。

本文也使用了类似图像分割任务的,高层全局信息与底层局部特征结合的思想。经过max pooling后的1D特征向量,复制n份(n个特征点),与之前网络得到的 n * 64特征矩阵分别concat。得到一个n(64+D)的特征矩阵,再经一系列的特征变换操作,得到每个点的分类结果。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值