pointnet 系列论文总结

目录pointnetpointnet++voxelnetfrustum-pointnetfrustum proposal3D instance segmentationamodal 3D box estimationvotenetreference本文旨在对之前看的 pointnet 系列点云目标检测论文进行总结,包括 pointnet, pointnet++, frustum-pointnet...
摘要由CSDN通过智能技术生成


本文旨在对之前看的 pointnet 系列点云目标检测论文进行总结,包括 pointnet, pointnet++, frustum-pointnet, voxelnet, votenet。虽然 voxelnet 不属于 pointnet 系列,但其中特征提取的模块跟 pointnet 还是很类似的,这里也就一并介绍了。下面就按照论文的时间顺序依次进行总结。

pointnet

本文主要的创新点在于仔细研究了点云的结构特点,提出了一种面向原始点云的端到端网络。这里总结的点云结构特点主要有两个:

  1. 点的顺序无关性
  2. 点云的刚体变换不变性

这里的顺序无关性是指每个点存放在数组中的位置是任意的,因为最终将其映射到三维空间中起作用的是点的 xyz 维度,最终得到的点云是一样的,跟其在数组中的下标是没有关系的。而在传统的处理图像的 CNN 中,像素的下标是很重要的,因为那里主要就是通过下标得到相邻像素的,而不是通过像素在图像中的 uv 位置。

刚体变换不变性比较容易理解了,我们对点云进行旋转平移,其内部的结构是不变的。

实现刚体变换不变性,我们可以先将点云减去质心,然后训练一个 spatial transformer network 得到一个归一化旋转矩阵,将其施加在点云上就可以了。而要想实现顺序无关性,我们只要能找到一个与输入数据顺序无关的对称函数就行了,文章里用的是 maxpool。

网络的主体结构如下所示:

在这里插入图片描述

可以看到网络结构还是比较简单的,特征提取主要就是依靠两组 mlp,总共 5 层,其中会训练两个 T-Net 进行旋转归一化,然后直接 max-pool 得到 global feature,继续两层 mlp 然后全连接分类。分割网络也比较简单,就是将 global feature 连接到每个点上,然后再来两组 mlp 进行 pointwise 的分类。

文章还有一系列的训练和数据增强技巧,这里就先不写了。其中在训练 T-Net 的时候还增加了旋转矩阵是正交矩阵的正则项约束。

pointnet++

pointnet++ 主要是解决了 pointnet 没有考虑点云局部结构的问题,这可能导致网络在识别一个细粒度的 pattern 时泛化能力不够,另一方面 pointnet 在训练时会对点云进行均匀采样,着同样会对细粒度的 parttern 有消极的影响。作者提出的解决方法就是增加一个采样分组网络,将点云聚类成 K 个点云簇,也就是说通过点与点之间的空间距离对点云的局部特征进行归类,然后对每个点云簇使用 pointnet 进行特征提取,这样我们就得到了点云在局部的特征了。并且通过组合多层这样的采样/分组/pointnet(set abstraction)网络,set abstraction 的感知野也越来越大,这对提取局部特征是有帮助的。

文中点簇的 centroid 的选取是通过 farthest point sampling 算法选取的。

最终的网络结构如图所示:

在这里插入图片描述

可以看到在分类网络上,相当于是

  • 3
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值