PointNet--细说特征提取

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

 PointNet的PDF链接

    本人菜鸟一枚,之前看过不少有关点云目标检测的论文,最近准备重读一下,并且做好笔记,方便后续复习,也给大家的学习提供一个参考,共同学习!

    基于激光点云目标检测的论文主要有基于点的PointNet,基于体素的VoxelNet和基于柱的PointPillars等。今天准备阅读PointNet,这也是第一个能够直接处理点云的深度学习模型。

    其实总结下来,深度学习的任务也就是提取特征,然后利用特征做分类、检测或者分割。其中提取特征又是重中之重。

    这篇文章把点云看做是无序点的集合,而不是有序的体素或柱,基于点云已知的特征利用shared-MLP进行扩充升维,然后再进行Maxpool实现特征汇聚,这样就能获取较多维度的特征来表示整个点云,进而进行后续的工作。下面是具体介绍,主要是对提取特征的过程的理解。

   上面图中从input points一直到global feature是核心。但细看发现也就两次transform和MLP穿插,最后来一次maxpool。

    其中,transform模块的作用是对点云的坐标和特征向量进行变换,使得点云在不同的方向、比例和位置等因素下都能被准确识别和分类,以提高模型的鲁棒性和泛化能力。

 

    所谓的shared MLP呢实际上就是相同权重的多层感知机,也可以理解成全连接网络,就是一个Linear串BN串ReLu,把已有的特征通过非线性变换映射到更高的维度,起到了对原始维度扩充升维的作用。只不过以相同的权重对所有的点都做一遍,所以叫shared MLP,所有点share同一个weight。对于这个模块我的理解是特征增强,原始的特征维度太低,描述信息太少,提取之后很难做后续的任务,而扩充维度之后相当于增加了描述信息,提高模型的表达能力和分类精度。

    经过上述步骤之后,现在每一个点都有1024维度的特征,从所有点里横向选出1024维特征,这组特征就可以用来表示全局的整体特征。也就是global feature。

    其实总结以上说的内容,也就是因为对原始点云提取特征太少了,于是扩充维度,然后利用池化来汇聚特征,把提取的特征用于表征全局。实际上细心地同学从这里也可以看出pointnet的缺点了,只提取了全局的特征,似乎没有局部特征,正是这一问题,才有了后续的PointNet++。

   也就是这么一个原理,被广泛应用于各个点云目标检测算法中,包括大家熟知的VoxelNet和PointPillars。Voxel实际上就是在一个voxel中用PointNet提取出全局特征,这里的全局实际上是一个体素的局部,然后把这个特征堆(stack)在每个点的特征后面,共同组成体素的特征。然后以体素为单位做三维卷积

   而PointPillars是在一个柱子里用PointNet,把提取的特征用于表征该柱子的特征。然后每个柱子看做一个像素,特征维度看做通道数,就把点云变成图像了,后面就可以用二维卷积了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值