APP下载

基于改进PointRCNN的3D点云目标检测

2022-04-28郑美琳高建瓴

智能计算机与应用 2022年4期
关键词:细化框架对象

郑美琳,高建瓴

(贵州大学 大数据与信息工程学院,贵阳 550025)

0 引 言

当前,3D目标检测在自动驾驶和机器人等领域获得了广泛应用,故而日益受到工业界和学术界的高度关注。激光雷达传感器被广泛地应用在自动驾驶车辆和机器人中,用于捕捉3D场景信息,为3D场景感知和理解提供了重要的线索。在本文中,提出把RoI感知点云模块加入到PointRCNN中,从而实现高性能的三维点云目标检测。现有的大多数三维检测方法可以根据点云表示分为2类:基于网格的方法和基于点的方法。基于网格的方法通常将不规则的点云转换成规则的点云来表示,例如3D体素或2D鸟瞰图,可以被3D或2D卷积神经网络(CNN)进行有效处理,以学习用于3D检测的点特征。基于点的方法由先锋作品PointNet及其变体提供动力,直接从原始点云中提取有区别的特征用于3D检测。一般来说,基于网格的方法计算效率更高,但不可避免的信息丢失会降低细粒度的定位精度,而基于点的方法计算成本更高,实行难度加大。

本文提出了一种新的三维物体检测框架Point-ANN,研究中结合了基于点和基于体素的特征学习方法的优点,提高了三维检测性能。其原理在于首先提出了一种基于自底向上点云的3D包围框建议生成算法,通过将点云分割成前景对象和背景,生成少量高质量的3D建议。从分割中学习到的点表示不仅有利于建议生成,而且有助于后期的盒子细化;引入RoI点云感知模块来消除汇集点的模糊性,对每个3D方案中的信息进行分组,然后利用部分聚合网络根据部分特征和信息框进行评分,细化位置。本文提出了基于PointRCNN改进的框架Point-ANN,把其用于3D目标检测中与其他框架在Car类和Pedestrian类目标中对比精度明显提高。

本文的贡献可以概括为4个方面:

(1)提出了Point-ANN框架,该框架有效地利用了基于体素和基于点的方法进行三维点云特征学习,从而在可管理的内存消耗下提高了三维对象检测的性能。

(2)提出了自上而下场景编码方案,通这些关键点特征不仅保持了准确的位置,还编码了丰富的场景上下文,显著提高了三维检测性能。

(3)提出了一个多尺度的RoI特征抽象层,可从场景中聚合更丰富的上下文信息,用于精确的盒子细化和置信度预测。

(4)提出的方法Point-ANN以显著的裕度优于所有以前的方法,在竞争激烈的KITTI 3D检测基准上也优于以前的方法。

1 PointRCNN网络结构

PointRCNN为2阶段检测框架,可用来从不规则点云中检测出3D物体,2阶段网络首先生成3D建议,再进一步细化位置和建议。具体来说,先要学习逐点特征来分割原始点云,并从分割的前景点同时生成3D建议。基于这种自底向上的策略,避免了在3D空间中使用大量预定义的3D框,并有效限制了用于3D建议生成的搜索空间。通过学习分割前景点,点云网络被迫捕获上下文信息以进行精确的点方向预测,这也有利于3D框的生成。对于点分割,地面真值分割遮罩自然由3D地面真值框提供。对于大型室外场景,前景点的数量通常比背景点的数量少得多。因此,使用焦点损失来处理类不平衡问题,损失函数表达式如式(1),在训练点云分割过程中,保留默认设置α=025和2作为原始值。具体计算公式可写为:

其中,PointRCNN以PointNet++为主干网络,利用PointNet++网络对每个前景与背景点实现分割,并且赋予一个类别信息,PointNet++框架如图1所示。

图1 PointNet++框架图Fig.1 PointNet++framework

每一组提取层的输入是(,()),其中是输入点的数量,是坐标维度,是特征维度。输出是(N,(d+C)),其中N是输出点的数量,是坐标维度不变,C是新的特征维度。

2 ROI点云感知模块

Shi等人提出了点云区域合并操作,以合并3D方案中的点状特征,从而在第二阶段细化特征。但该操作容易丢失3D建议信息,因为点在建议中没有规则地分布,并且存在从汇集点恢复3D框的模糊性。RoI感知点云特征池示意见图2。由图2可知,不同的提议将导致相同的汇集点,这给细化网络带来负面影响。因此,提出了RoI感知的点云汇集模块,以将3D建议均匀地划分为具有固定空间形状()的规则空间,其中、、是每个维度中汇集分辨率的高度、宽度和长度超参数(例如,在本文的框架中采用14×14×14),并且独立于3D建议大小。通过聚集(例如,最大池化或平均池化)该空间内的点特征来计算每个空间特征,这里空白空间的特征被设置为零并被标记为空。提议的RoI感知池模块是可区分的,这使得整个框架是端到端可训练的。本文提出的RoI感知点云汇集模块将不同的3D方案标准化为相同的局部空间坐标,其中每个空间编码3D方案中对应的是固定网格的特征。

图2 RoI感知点云特征池示意图Fig.2 Schematic diagram of RoI-aware point cloud feature pool

3 改进的Point-ANN网络

3.1 通过点云分割自底向上生成3D建议

现有的2D物体检测方法可分为一阶段和两阶段方法。通常情况下,一阶段方法更快,但是直接估计对象边界框而不进行细化,而两阶段方法首先生成建议,并在第二阶段进一步细化建议和置信度。然而,两阶段方法的直接扩展是基于三维空间和点云的不规则格式。AVOD在3D空间中放置80~100千个锚框,并在多个视图中为每个锚集中要素,以生成建议。FPointNet从2D图像生成2D建议,再基于从2D区域裁剪的3D点来估计3D框,如此就可能会错过只能从3D空间清晰观察到的困难对象。提出了一种精确、鲁棒的三维方案生成算法,作为基于全场景点云分割的第一阶段子网络。观察到三维场景中的物体是自然分离的,相互之间没有重叠。所有三维对象的分割模板都可以通过其三维包围盒标注直接获得,即三维包围盒内的三维点被视为前景点。因此,建议以自下而上的方式生成3D提案。具体来说,学习逐点特征来分割原始点云,并从分割的前景点同时生成3D建议。基于这种自底向上的策略方法避免了在3D空间中使用大量预定义的3D框,这样一来就有效限制了用于3D建议生成的搜索空间。

3.2 用于3D盒细化的零件位置聚合

通过考虑建议中所有3D点的预测对象内零件位置的空间分布,用聚集预测零件位置来评估该建议的质量是合理的。实际上,可以将其公式转化为一个优化问题,同时通过拟合相应方案中所有点的预测零件位置来直接求解3D包围盒的参数。然而,研究发现这种基于优化的方法对异常值和预测零件位置的质量很敏感。为了解决这一问题,提出了一种基于学习的方法来鲁棒地聚合零件位置信息,用于盒评分和位置细化。对于每个3D建议,将建议的RoI感知点云汇集操作分别应用于来自第一阶段的预测的点状零件位置(平均汇集)和点状特征(最大汇集),这导致大小为(14×14×14×4)和(14×14×14×)的2个特征图,其中预测的零件位置图是4维的:3个用于零件位置(,,维度),1个用于前景分割分数,而是由第一阶段转换的点状特征的特征维度在汇集操作之后,以分层方式实现零件聚集网络,以从预测的对象内部零件位置的空间分布中学习。具体来说,首先使用核大小为3×3×3的稀疏卷积层将2个合并的特征映射转换为相同的特征维数。在连接这2个特征映射后,堆叠了4个核大小为3×3×3的稀疏卷积层,以随着接收域的增加逐渐聚集部分信息。这里,还在第二个卷积层之后利用一个具有2×2×2的内核大小和2×2×2步长的稀疏最大池来将特征映射下采样到7×7×7,以节省计算和参数。此后将其矢量化为一个特征向量,并添加2个分支,用于最终的盒子评分和位置细化。与将合并后的三维特征图直接矢量化为特征向量的简单方法相比,提出的零件聚集策略可以通过将特征从局部尺度聚集到全局尺度来有效地学习预测零件位置的空间分布。

3.3 改进的Point-ANN网络框架

Point-ANN以自下而上的方式从原始点云生成3D建议,然后用第二个零件聚合阶段执行建议的RoI感知点云汇集操作,对每个3D方案中的零件信息进行分组,使用零件聚合网络对盒子进行评分,再根据零件特征和信息进行位置优化。引入RoI点云感知模块可以通过编码盒形,并用稀疏卷积加以有效处理。研究得到的改进的Point-ANN框架如图3所示。

图3 改进的Point-ANN框架Fig.3 Improved Point-ANN framework

3.4 损失函数

将2个分支附加到从预测零件信息聚合的矢量化特征向量。对于盒子评分分支,使用3D建议书与其对应的地面真值盒之间的3D IoU作为建议书质量评估的软标签,这也是通过二元交叉熵损失作为来学习的。对于三维建议的生成和细化,采用平滑损失来回归归一化盒参数,如下所示:

在这里,为了细化建议,基于3D建议的参数把直接回归相对偏移或大小比,因为建议的RoI感知点云池模块已经编码了3D建议的完整几何信息,并将不同的3D建议传输到相同的归一化空间坐标系。因此,具有相等权重的部分感知阶段有3个损失,包括前景点分割的焦点损失、对象内部分位置回归的二元交叉熵损失和3D建议生成的平滑损失。对于部分聚集阶段,有2个损失也具有相同的损失权重,包括IoU回归的二元交叉熵损失和位置细化的平滑损失。

4 实验及结果分析

4.1 实验细节网络架构

4.2 KITTI上的3D对象检测

KITTI的3D对象检测基准包含7 481个训练样本和7 518个测试样本(测试分割)。遵循常用的train/val分割,将训练样本分为train分割(3 712个样本)和val分割(3 769个样本)。在KITTI数据集的值分割和测试分割上,将点神经网络与最先进的3D对象检测方法进行了比较。所有模型都在列车分割上进行训练,并在测试分割和价值分割上进行评估。对于3D对象检测的评估,在KITTI数据集的具有挑战性的3D对象检测基准上对Point-ANN进行评估,与VoxelNet、SECOND、PointRCNN等方法在Car类和Pedestrian类目标中进行对比实验,结果见表1,通过以下度量来评估预测的对象内零件位置:

表1 在KITTI 3D物体检测测试服务器上的性能评估(测试分割)Tab.1 Performance evaluation(test segmentation)on KITTI 3D object detection test server

在KITTI测试服务器的3D检测基准上评估的方法结果显示在表1中,表2、表3显示了融入的RoI模块与其他聚合部分相比的结果以及影响。对于汽车和行人的3D检测,本文的方法优于以前最先进的方法,在Easy、Moderate、Hard三个困难等级方面都有显著的优势。虽然以前的大多数方法都使用RGB图像和点云作为输入,但是本文的方法通过仅使用点云作为输入来获得更好的性能。在行人检测方面,与以往的仅使用激光雷达的方法相比,改进的方法取得了更好或相当的结果。然而,本文方法的性能比具有多个传感器的方法稍差。认为这是由于本文的方法仅使用稀疏点云作为输入,但是行人具有较小的尺寸,并且图像可以捕捉比点云更多的行人细节,有助于3D检测。对于最重要的汽车类别,改进的方法优于以前的先进方法,在价值分割上有很大的利润。特别是在难度较大的情况下,改进的方法比以前最好的方法有所提高,证明了所提出的点神经网络的有效性。

表2 RoI感知点云区域池的影响Tab.2 Effects of RoI-aware point cloud region pool

表3 不同部分聚合网络结构的比较Tab.3 Comparison of different part-aggregation network structures

5 结束语

(1)本文考虑到PointRCNN在面对大量不规则点云时不能精确地提取出特征这一问题,利用改进的Point-ANN网络框架从点云中检测三维物体来弥补这一不足。

(2)融入RoI点云感知模块,让每个对象的预测内部对象部分位置被池化。因此,随后的部件聚集阶段可以考虑预测的对象内部件位置的空间关系,以及对盒子进行评分并细化相应的位置。

(3)实验表明,本文的方法在具有挑战性的KITTI 3D检测基准上取得了最先进的性能,证明了改进方法有效性。

猜你喜欢

细化框架对象
神秘来电
框架
广义框架的不相交性
中小企业重在责任细化
“细化”市场,赚取百万财富
攻略对象的心思好难猜
“住宅全装修”政策亟需细化完善
WTO框架下
基于熵的快速扫描法的FNEA初始对象的生成方法
区间对象族的可镇定性分析