3D目标检测-二阶段方法(region proposal-based Methods)之基于语义分割的方法(Segmentation based)解读

3D目标检测–region proposal-based Methods–Segmentation based Methods:

 该类方法直接输入原始点云数据,需要用到PointNet和PointNet++,因此先对这两种点云数据的特征提取方法进行简述。
1、PointNet(CVPR 2016
动机:
 典型的卷积网络需要格式高度规则的输入数据,比如图像网格或3D体素。由于点云数据具有无序性,大多数研究人员通常会将其转换成规则的3D体素网格或图像集合(例如多视图图像),然后再将它们送入深度神经网络中提取特征。但是这些操作需要大量的数据处理操作量和时间。PointNet可以直接处理无序的点云数据,通过提出的对称函数来解决点的无序性问题。
算法流程:
在这里插入图片描述
 PointNet结构图中mlp(64,64)代表两个1×1的2d卷积。
T-Net(变换网络,作用是特征提取):
在这里插入图片描述

 以3×3 transform为例:输入为n×3的点云数据,n表示点的数量,3表示每个点包含的三个坐标。首先将输入扩展为n×3×1,利用一维卷积(卷积核尺寸为1,输入通道数为3,相当于1×3的滤波器,个数为64),得到n×1×64的特征;再通过一维卷积(卷积核尺寸为1,输入通道为64,相当于1×64的滤波器,个数为128),得到n×1×128的特征;再通过一维卷积(卷积核尺寸为1,输入通道为128,相当于1×128的滤波器,个数为1024),得到n×1×1024的特征。经过maxpooling得到1×1×1024特征向量,经过三个全连接层得到1×1×9的特征向量,再reshape为3×3。64×64 transform 类似。
在这里插入图片描述

该模型也可以用在分割任务中。
2、PointNet++(NIPS 2017)(PointNet的扩展版本)
动机:
 按照PointNet的设计,都是对单独点或者所有点操作的,无法捕获度量空间点所在的局部特征,缺少上下文信息。
算法流程:
 PointNet++的设计必须解决两个问题:如何划分点集,以及如何学习局部特征。
在这里插入图片描述
 set abstraction 部分主要由三部分构成:Sampling layer, Grouping layer, PointNet layer。
(1) Sampling layer:使用最远点采样算法(FPS)。
(2) Grouping layer:两种分组方法,第一种利用k近邻查Sampling layers采样的点周围固定数量的k个点。使用Ball query方法对Sampling layers采样的点生成对应的局部区域,共两个超参数,一个是每个区域中点的数量K,另一个是query的半径r。这里半径应该是占主导的,在某个半径的球内找点,点的数量上限是K。
(3) PointNet layer:将上面两步得到的局部区域输入到PointNet中,提取特征。
 当点云分布不一致时,每个子区域中如果在生成的时候使用相同的半径r,会导致有些区域采样点过少。本文提出两种解决方法:
在这里插入图片描述

(a) MSG(多尺度分组):对于同一个中心点,使用多个不同尺度,即分别对该中心点划定3个区域,每个区域的半径及里面的点的个数不同。对于同一个中心点来说,不同尺度的区域送入不同的PointNet进行特征提取,之后将结果级联作为这个中心点的特征。(明显降低运算速度)
(b) MRG(多分辨率分组):不同分辨率的分组结果输入到PointNet后再级联。本文使用该方法。

3、IPOD(2018 arxiv)
动机:
 大多数现有方法通过投影或固定网格的体素化操作将3D点云转换为图像,之后利用CNN进行处理,这种手工制作的表示可能不是最优的,在量化过程中可能会导致原始点云部分信息丢失。F-PointNet是第一个用原始点云数据直接做3D目标检测的方法,其缺陷是3D目标检测的结果过度依赖2D目标检测的准确率,且不能很好处理遮挡和重叠的问题。为了解决此问题提出了IPOD。
算法流程:
在这里插入图片描述

(1)2D语义分割
 首先对RGB图像进行语义分割(DeepLab)筛选出前景部分,再将这些前景部分映射到3D点云中,得到点云中的前景点,这一步的作用是筛选点云中的前景点和背景点。
(2)Point-based Proposal Generation
 将所有前景点输入到PointNet++中,对每个前景点预测3D候选框,之后利用NMS去除冗余候选框。这里的NMS中IoU的计算是计算两个候选框的交集部分的3D点数量与两个候选框并集里的3D点数量之比,文中起名为PointsIoU。
(3)Proposal Feature Generation
在这里插入图片描述

 首先通过上图所示的PointNet++对原始点云数据(包含所有前景点和背景点)提取特征(包含局部和全局信息)。

在这里插入图片描述

 (B,N,C)为经PointNet++提取的点云特征图,(B,N,3)为原始点云数据(坐标信息)。每个候选区域包含M个点,利用相应位置((B,M,C)和(B,M,C))两部分级联并经过T-Net预测offsets,再将其作用在原始点云对应的候选区域上,最后得到候选特征。
(4)Bounding-Box Prediction Network
在这里插入图片描述

 将(3)生成的区域特征输入到PointNet++中进行分类和回归预测。

4、PointRCNN(CVPR 2019)
动机:

 现有方法主要通过投影以及体素化处理3D点云数据,然而在数据量化的过程中,鸟瞰图投影和体素化都会受到信息丢失的影响。除此之外,体素化结果往往需要利用3D CNN,内存和计算效率都很低。相比之下,本文提出的自下而上的3D候选框生成方法直接从原始点云中生成鲁棒的3D候选框,既高效又不需要量化操作。
算法流程:
在这里插入图片描述

(1)自下而上的3D候选框生成
 将原始点云数据输入到PointNet++(SA+FP)进行特征提取(图中的Point Cloud Encoder和Point Cloud Decoder),得到点云每个点的特征向量,通过3D语义分割方法筛选前景点,并从前景点直接生成3D候选框。这类基于语义分割的方法中,语义分割算法都是用来筛选出前景点的,可以有效减少无效候选框的数目。注:训练时语义分割使用focal loss进行训练。3D候选框用(x, y, z, h, w, l, θ)表示,其中x,y,z为中心点坐标,h,w,l为目标尺寸,θ为俯视图中目标的方向。
(2)标准3D边界框优化
 将(1)中得到的3D候选框略微扩大即(x, y, z, h + η, w + η, l + η, θ)来获取额外的上下文信息,再对这些框使用区域池化操作,之后通过标准坐标变换以更好地学习每个候选框的局部空间特征,最后经过MLP之后与语义特征级联,利用PointNet++提取特征预测3D候选框的分类和回归。
5、STD(ICCV 2019)
算法流程:(两阶段)

在这里插入图片描述

(1)候选框生成
 首先通过PointNet++对3D点云进行语义分割,通过语义分割前背景得分筛选出前景点,之后在这些前景点上生成3D球形候锚框,并通过NMS处理,目的是得到一定数量的高质量的前景目标候选框。之后将这些前景候选框中点对应的特征(由前面的语义分割PointNet++得到)输入到一个PointNet中进行分类和回归预测,进一步优化这些前景候选框。
在这里插入图片描述

(2)候选框特征生成
 第二阶段是对第一阶段生成的候选框的优化。首先将一阶段得到的候选框输入到PointPool模块中,其中PointPool模块由体素化操作和VFE层组成(利用了VoxelNet的方法),VFE层如下:
在这里插入图片描述

 随后,得到的特征分别通过IoU分支和 Box Prediction分支进行分类和回归预测。与现有方法相比,这里多了一个IoU预测分支,考虑到常规的NMS以分类置信分数为标准去除冗余框时存在分类分数与定位质量的相关性不高的问题,利用IoU和分类得分一起作为NMS的标准。这与2D目标检测中IoUNet最早提出的的思路一致。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值