PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)

摘要:

一般来说,相机和激光雷达是机器人,特别是自动驾驶汽车的重要传感器模式。传感器提供补充信息,为加强传感器融合提供了机会。令人惊讶的是,仅激光雷达的方法在主要基准数据集上优于融合方法,这表明在文献中存在差距。在这项工作中,我们提出了PointPainting:一种顺序融合方法来填补这一空白。PointPainting的工作原理是将激光雷达点投影到一个纯图像语义分割网络的输出中,并将类分数附加到每个点上。然后,附加的(绘制的)点云可以被用于任何仅激光的方法。实验表明,在KITTI和nuScenes数据集上,Point-RCNN、VoxelNet和PointPillars这三种不同的先进方法有了很大的改进。

PointRCNN的绘制版本代表了KITTI排行榜上鸟瞰(BEV)探测任务的新技术状态。在消融中,我们研究了绘画的效果如何依赖于语义分割输出的质量和格式,并演示了如何通过流水线最小化延迟

1、介绍

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第1张图片

 图1.PointPainting概述。PointPainting体系结构包括三个主要阶段:(1)基于图像的语义网络,(2)融合(绘画)和(3)基于激光雷达的检测器。在第一步,图像通过语义分割网络获得像素分割分数(pixelwise segmentation scores.)。第二阶段,将激光雷达点投影到分割掩模(segmentation mask)中,并用上一步得到的分数进行装饰。最后,利用基于激光雷达的目标探测器对装饰(绘制)点云进行三维检测。

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第2张图片

图2.示例场景来自nuScenes[1]数据集。行人和杆子距离自我车辆25米。在这个距离上,两个物体在点云中看起来非常相似。提出的PointPainting方法将从图像中添加语义,使激光雷达检测任务更容易。

传感器融合网络设计的一个核心挑战是如何将激光雷达鸟瞰图与相机视图相结合。以往的方法可分为四大类:以对象为中心的融合连续特征融合显式变换检测播种

以对象为中心的融合,由MV3D和A VOD首创,是两阶段体系结构最明显的选择。在这里,模式有不同的主干(backbone),每个视图中都有一个主干,融合发生在对象建议级别,从共享的3D建议集合中,在每个模式中应用roi-pooling。这允许端到端优化,但往往缓慢和繁琐。

第二种方法应用“连续特征融合”,允许在图像和激光雷达主干的所有跨步共享特征信息。这些方法可用于单状态检测设计,但需要计算从点云到图像的每个样本的映射,即先验映射。这一系列方法的一个微妙但重要的缺点是“特征模糊”。这是因为鸟瞰视图中的每个特征向量都对应于imageview中的多个像素,反之亦然。ContFuse提出了一种基于kNN双线性插值和学习过的MLP的复杂方法来补救这一问题,但核心问题仍然存在。

第三类方法试图显式地将图像转换为鸟瞰图表示,并在那里进行融合。一些最有前景的纯图像方法采用了这样的思想:首先从图像中创建人工点云,然后在鸟瞰视图中进行。后续工作尝试基于此想法进行融合,但性能低于最先进的,并且需要几个昂贵的处理步骤来构建伪点云。

第四类方法使用检测播种(detection seeding)。该方法从图像中先验提取语义,并用于点云中的种子检测(seed detection)。Frustrum PointNet和ConvNet使用2D检测来限制函数集(frustrum)内部的搜索空间,而IPOD使用语义分割输出来播种3D建议。这提高了精确度,但对召回率施加了上限。该方法在汽车类上的性能优于仅使用激光雷达的顶级方法STD(表2)。

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第3张图片

图3.PointPainting是一种通用的融合方法,可用于任何激光雷达检测网络。左上:KITTI[鸟瞰图集合上的PointPillars, VoxelNet和PointRCNN(表1)。在KITTI测试集上,PointRCNN的绘制版本优于所有已发表的融合和仅激光雷达方法(表2)。右上:对于较困难的行人(ped.)和骑自行车的人,改进更大。错误条表示跨方法的std。左下:PointPillars+在nuScenes[1]测试集中进行评估。PointPillars+的绘制版本改进了所有10个职业,总提升了6.3 mAP(表3)。右下:选中的PointPillars+的职业改进显示具有挑战性的自行车职业获得了最大的增益。 

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第4张图片

表1.PointPainting应用于先进的基于激光雷达的物体探测器。所有的激光雷达方法都表明,在KITTI val集上,汽车、行人和自行车的鸟瞰(BEV)均值平均精度(mAP)都有改善中等分割。

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第5张图片

表2.KITTI测试BEV检测基准的结果。我们看到,Painted PointRCNN在BEV检测性能上设置了一个新的艺术状态(69.86 mAP)。模式是激光雷达(L),图像(I)和地图(M)。delta是由于绘制的差异,即绘制的PointRCNN减去PointRCNN。

如表2所示,PointPainting对PointRCNN的测试集进行了健壮的改进:跨所有层的每一个类的平均精度都有所提高。

表3.每个类nuScenes的性能。在nuScenes测试集上用平均精度(AP)或平均精度(mAP)测量检测的评价。缩写:建筑车辆(Ctr。Vhl.)、行人(Ped.)和交通锥(Tr. cone)。

 补充说明:MAP相关概念http://t.csdn.cn/7Yn5g

PointPainting在设计上是顺序的,这意味着对于3D检测的最终任务并不总是能够进行端到端优化。理论上,这意味着在性能方面存在次优性。然而,从经验来看,PointPainting比所有其他提出的融合方法都更有效。此外,顺序方法还有其他优点:(1)图像的语义分割通常是一个有用的独立中间产品,(2)在实时3D检测系统中,可以通过将图像和激光雷达网络流水线化来减少延迟,这样激光雷达点就可以用前一张图像的语义装饰,并且这样的流水线并不影响性能。

我们使用三个具有公共代码的先进激光雷达方法实现PointPainting: PointPillars、VoxelNet (SECOND)和PointRCNN。PointPainting持续改进了结果(图3),事实上,PointRCNN的绘制版本在KITTI排行榜上达到了最先进的水平(表2)。我们还显示,在nuScenes上Painted PointPillars +的显著改进为6.3 mAP(表4)。

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第6张图片

表4.nuScenes测试结果。检测性能由nuScenes detection score (NDS)[1]和均值平均精度(mAP)来衡量。 

优点:新的融合方法PointPainting用图像语义增强了点云。

(1)通用性——在KITTI和nuScenes基准测试中使用3种仅激光雷达的顶级方法时,实现了显著的改进;

(2)精确性—— PointRCNN的绘制版本在KITTI基准上达到了最先进的水平;

(3)健壮性——PointRCNN和PointPillars的绘制版本分别提高了KITTI和nuScenes测试集上所有类的性能。

(4)快速性——低延迟融合可以通过流水线的图像和激光雷达处理步骤来实现。

2. PointPainting架构

PointPainting体系结构接受点云和图像作为输入,并面向3D框。它包括三个主要阶段(图2)。(1)语义分割:基于图像的语义分割网络。计算像素分割分数。(2)融合:用语义分割分数绘制激光雷达点。(3)三维目标检测:一种基于激光雷达的三维检测网络。

2.1. 基于图像的语义网络

基于图像的语义网络接收输入图像并输出每像素的分类分数。这些分数作为图像的紧凑概括特征。在融合途径中,使用语义分割有几个关键的优点:

首先,语义分割是比三维物体检测更容易的任务,因为分割只需要局部的、每像素的分类,而物体检测需要三维定位和分类。执行语义分割的网络更容易训练,也适合执行快速推理。

第二,语义分割技术正在迅速发展,这使得PointPainting可以从分割和3D对象检测的进步中受益。

最后,在机器人或自动驾驶汽车系统中,对于诸如自由空间估计这样的任务,语义分割的输出是有用的独立输出。

在本文中,我们KITTI实验的分割分数是由DeepLabv3+生成的,而对于nuScenes实验,我们训练了一个定制的、更轻的网络。然而,我们注意到PointPainting与图像分割网络设计无关。

2.2. PointPainting

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第7张图片

对于KITTI和nuScenes,激光雷达点云中的每个点分别为(x, y, z, r)或(x, y, z, r, t),其中x, y, z为每个激光雷达点的空间位置,r为反射率,t为激光雷达点的相对时间戳(适用于使用多次激光雷达扫描)。激光雷达点通过齐次变换然后投影到图像中进行变换。对于KITTI,这种转换是由Tcamera←lidar给出的。对于nuScenes的转换,激光雷达和摄像机在不同的频率下工作。完整的变换为:

T = T(camera←ego)T(egotc←egotl)T(ego←lidar),

变换为:激光雷达帧到自我-车辆帧;激光雷达捕获时的自我帧tl,到图像捕获时的自我帧tc;从自我到镜头。最后,摄像机矩阵M将这些点投影到图像中。

分割网络的输出是C分类数,其中KITTI C = 4(汽车、行人、自行车、背景),nuScenes C = 11(10个检测类加上背景)。一旦激光雷达点被投影到图像中,相关像素的分割分数(h, w)被附加到激光雷达点,以创建绘制的激光雷达点。注意,如果两个摄像机的视场重叠,将会有一些点同时投射到两个图像上,我们随机从两个图像中的一个选择分割分数向量。另一种策略是通过比较它们的熵或前两个分数之间的差值来选择更具鉴别性的分数向量。

 2.3. Lidar Detection(激光雷达检测)

装饰的点云可以被任何学习编码器的激光雷达网络使用,因为PointPainting只是改变了激光雷达点的输入维度。PointPainting也可以被带有手工设计编码器的激光雷达网络利用,但需要针对每种方法进行专门的特征工程。在本文中,我们演示了PointPainting与三种不同的激光雷达探测器:PointPillars、VoxelNet和PointRCNN一起工作。这些都是最先进的激光雷达探测器,具有独特的网络架构:单级(PointPillars,VoxelNet) vs两级(PointRCNN),pillars(PointPillars)vs voxel(VoxelNet) vs点特征(PointRCNN)。尽管有这些不同的设计选择,但所有的激光雷达网络都受益于PointPainting(表1)。

3.实验装置

3.1 数据集

KITTI。KITTI数据集提供同步激光雷达点云和前视相机图像。它相对较小,只有7481个样本用于训练,7518个样本用于测试。

nuScenes。nuScenes数据集比KITTI数据集大。该系统在2Hz频率下对1000个20秒场景进行了3D边界框处理,得到28130个样本用于训练,6019个样本用于验证,6008个样本用于测试。nuScenes包括完整的自动驾驶汽车数据套件:同步激光雷达、摄像头和完全360覆盖的雷达。

3.2 语义网络细节

KITTI。对于KITTI上的实验,我们使用了DeepLabv3+网络。该网络首先在Mapillary上进行预训练,然后在Cityscapes上进行微调,最后在KITTI像素级语义分割网络上再次进行微调。注意,在KITTI语义分割网络和物体检测中,bicycle的类定义是不同的。在检测中,自行车被定义为骑手+自行车;而在语义分割网络中,骑车人被定义为只骑自行车的一个单独的类别。因此,需要将有骑手的自行车映射到自行车类,同时将停放的自行车抑制到背景。我们在绘制完成后,通过将骑行者半径1米内的自行车类绘制的所有点映射到骑行者类;剩下的留给背景。

nuScenes。nuScenes上没有可用的公共语义分割方法,所以我们使用nuImages数据集训练了一个自定义网络。nuImages由100k图像组成,使用2D边框和所有nuScenes类的分割标签进行注释。分割网络使用ResNet骨干为FCN(Fully Convolutional Network,全卷积网络)分割头生成跨步8到64的特征,预测nuScenes分割分数。

3.3. 激光雷达网络的细节

我们使用三种不同的激光雷达网络进行实验:PointPillars、VoxelNet和PointRCNN

KITTI.我们使用PointPillars, VoxelNet和PointRCNN公开发布的代码,并使用4个分类数的语义分割网络装饰点云。这改变了PointPillars、VoxelNet和PointRCNN的原始装饰点云维度,分别从9→13、7→11和4→8。对于PointPillars,新的编码器有(13,64)通道,而对于V oxelNet,它有(11,32),(64,128)通道。PointRCNN的8维绘制点云作为编码器和区域池化层的输入。没有对公共实验配置进行其他更改。

nuScenes。我们在所有的nuScenes实验中都使用PointPillars。这需要将装饰的点云从7变为18,编码器现在有(18,64)个通道。为了确保绘制的效果是在艺术方法的状态下衡量的,我们对之前发布的PointPillars设置进行了一些改进,使mAP在nuScenes基准上提高了10%(表4)。我们将这个改进的基线称为PointPillars+。这些变化的灵感来自于修改支柱分辨率、网络架构、属性估计、样本加权和数据增强。首先,将柱的分辨率从0.25 m降低到0.2 m,以便更好地定位小物体。其次,网络架构进行了更改,以在网络的早期包含更多的层。第三,既不使用PointPillars也不使用PointPillars+预测属性,而是改进了属性估计启发式。不是使用每个类的最常用属性,而是使用每个框的预测速度和高度来更好地估计每个属性。第四,为了减少训练PointPillars过程中的类不平衡,采用基于样本的加权方法,根据样本中注释的数量对每个样本进行加权。第五,将全局偏航增益由π改为π/6。

4.结果

4.1. 定量分析

4.1.1 KITTI

所有的检测结果都是使用官方KITTI评价检测的鸟瞰(BEV)和3D测量。BEV结果在这里给出,而3D结果包含在补充材料中。KITTI数据集被分为简单、中等和困难,官方KITTI排行榜是根据中等平均精度(AP)的表现进行排名的。

验证集  首先,我们研究了PointPainting在三种主要激光雷达探测器上的效果。图1和表1表明,PointPainting提高了PointPillars、VoxelNet和PointRCNN的检测性能。PointPainting语义信息导致了检测的广泛改进:27个比较(3个实验× 3类× 3层)中的24个被PointPainting改进了。虽然最大的变化是针对行人和自行车检测等更具挑战性的场景,但大多数网络甚至在汽车检测上也有改进。这表明PointPainting的实用是独立于底层激光雷达网络的。

测试集  这里我们将PointPainting与最先进的KITTI测试结果进行比较。虽然Painted PointPillars在val集上比Painted PointRCNN表现得更好,但在这两个PointPillars中,只有nuScenes有公共代码。因此,为了建立PointPainting的通用性,我们选择将Painted PointPillars的结果提交给nuScenes测试,并在Painted PointRCNN上使用我们的KITTI提交。

基于val和test之间的PointRCNN改进的一致性(分别为+2.73和+2.94),以及PointPainting的普遍性(表1),我们有理由相信表2中的其他方法肯定会使用PointPainting进行改进。PointPainting的强度、通用性、鲁棒性和灵活性表明它是图像-激光雷达融合的主要方法。

4.2. nuScenes

作为第一步,我们加强了PointPillars+的激光雷达网络基线。即使有了更强的基线,PointPainting在测试集上的平均精度(mAP)提高了+6.3(表4)。在nuScenes上,Painted PointPillars+仅被MEGVII的激光雷达方法击败。然而,MEGVII的网络对于实时系统是不切实际的,因为它是一个非常大的两级网络,需要高分辨率的输入,并使用多尺度输入和集成进行测试评估。因此,Painted PointPillars+是nuScenes上领先的实时方法。

检测性能在类之间得到了很好的泛化,每个类都从PointPainting获得AP(平均精度)的提升(表3)。一般来说,PointPillars+中性能最差的检测类从painting中获益最多,但也有例外。首先,交通锥的AP增幅最大(+16.8),尽管已经有了强大的PointPillars+检测。这可能是因为交通锥上的激光雷达点很少,所以语义分割提供的附加信息非常有价值。第二,尽管从较小的基线开始,拖车和建筑车辆的检测增益较低。这是细分网络在这些类别中召回率最低的结果(总体召回率为72%,但拖车和建筑车辆的召回率仅为39%和40%;详见补充资料)。最后,尽管基准AP为76,汽车仍然得到+1。AP增强,即使是只有激光雷达能很好地探测到的类,也能发出语义信息的价值信号。

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第8张图片

图5。PointPainting依赖于分割质量。通过val分割上的均值平均精度(mAP)来衡量Painted PointPillars检测性能,并将其与绘制步骤中使用的语义分割网络的质量进行比较,通过平均IoU(mIoU,mean intersection over union )来衡量。oracle使用3D边界框作为语义分割。

4.3. 定性分析

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第9张图片

图4。KITTI结果的定性分析。我们创建了四个不同的对比图。对于每个比较,左上是原始点云,而右上是经过绘制后的点云,带有用于给汽车(橙色)、自行车(红色)和行人(蓝色)点着色的分割输出。PointPillars / Painted PointPillars预测的3D边界框显示在输入点云(左上/右上)和投影到图像(左下/右下)上。盒子的方向由连接底部中心和盒子前面的一条线表示。 

在这里,我们通过图4中使用Painted PointPillars(Painted PointPillars是KITTI val集上表现最好的网络)的一些定性比较来给出评估指标的背景。在图A中,原始的PointPillars正确地检测到汽车,但遗漏了一个骑自行车的人。绘制的点云解决了这个问题,骑车人被检测到。它还可以为车辆提供更好的方向估计。基于激光雷达的方法的一个常见故障模式是行人和电线杆混淆(图3)。正如所料,PointPainting可以帮助解决这个问题(图B)。图C表明激光雷达检测步骤可以纠正错误的绘画。图像中的loose segmantation masks正确地画出了附近的行人,但他们身后的墙上会有多余的绘制。尽管有这些错误的语义信息,但该网络并没有预测出错误的行人。这就没有回答用于优化PointPainting的语义分割的精确特征(例如精度度vs召回率)。在图D中,由于两个复合错误,Painted PointPillars预测了左边的两个假的骑车人。首先,由于行人离停放的自行车太近,语义分割网络错误地将行人预测为骑车人。接下来,我们用来解决检测和分割注释之间的自行车定义差异的启发式方法(参见第3.2节)通过在所有自行车上绘制自行车者类加剧了问题。然而,在其他拥挤的场景中,绘制的点带来更好的行人定位,更少的误报,并更好地检测到远处的汽车。

 5.消融研究

在这里,我们对nuScenes数据集进行消融研究。所有的研究都使用了Painted PointPillars架构,并且与测试提交相比,只训练了训练时间的四分之一。使用单周期优化器,我们实现33.9 mAP和46 mAP。nuScenes val集上的NDS(nuScenes detection score与完整训练的PointPillars+的44.85 mAP和56.34NDS相反。

5.1. 依赖语义

质量    在PointPainting中,激光雷达点与图像的语义分割融合。我们研究了语义分割质量对最终检测性能的影响。利用nuScenes,我们通过使用来自训练的多个中间检查点,生成一系列具有不同分割质量的语义分割网络。如图5所示,改进的语义分割(以平均IOU(mIoU)衡量),导致改进的3D对象检测。对于一个上界,我们包含了一个“oracle”,它使用地面真相3D盒子(the ground truth 3D boxes)来绘制激光雷达点。这显著提高了检测性能(+27 mAP),这表明语义分割的进步将从根本上促进3D对象检测。由于一些限制,使用oracle并不能保证一个完美的mAP。首先,地面真理边界框可以包含不相关的点(例如来自地面)。其次,nuScenes注释所有包含单个激光雷达点的对象。将一个激光雷达点转换成一个精确的、定向的3D边界盒是很困难的。第三,我们训练它的总时间与其他消融研究相同,但它可能受益于更长的训练。最后,如果ground truth对象只包含几个点,PointPillars对点云的随机采样可以显著过滤或消除包含语义信息的点。

分数和标签    我们研究了分割预测格式对检测性能的影响。为此,我们将分割分数转换为一个热编码,有效地将每个像素标记为得分最高的类。当使用标签代替分数时,NDS没有变化,而mAP令人惊讶地高出+0.4。然而,这些收获是微不足道的,而且是在训练的噪音范围内。我们还假设,在未来的研究中,校准的分割分数和更大的PointPillars编码器的组合将表现更好。将这些结果与分割质量消融进行比较表明,未来的研究将更多地关注于提高分割质量,而不是表现。

5.2. 对时间的敏感性

我们研究了激光雷达网络对语义信息延迟的敏感性。在最简单的场景中,我们在之前的所有结果中都使用了这种场景,每个点云都与最近的图像相匹配(并发匹配-图6)。然而,这将在实时系统中引入延迟,因为融合步骤将不得不等待基于图像的语义分割分数。为了消除延迟,可以将前一幅图像的语义分割分数流水线到激光雷达网络中(连续匹配-图6)。这涉及到一个自我运动补偿步骤,其中激光雷达点云首先被转换到最后一帧的自我交通工具的坐标系中,然后投影到图像中以获得分割分数。我们的实验表明,使用前面的图像不会降低检测性能(表5)。此外,我们测量PointPainting只为Painted PointPillars体系结构引入了0.75毫秒的额外延迟(参见补充材料了解详细信息)。这表明PointPainting可以在实时系统中以最小的附加延迟实现高检测性能。

PointPainting: Sequential Fusion for 3D Object Detection(3D物体检测的顺序融合)_第10张图片

图6。通过流水线减少延迟。彩绘激光雷达网络需要点云和图像。使用最近的图像(并发匹配)会增加延迟,因为激光雷达网络必须等待图像分割结果。如果绘制的网络使用之前图像的分割掩码(连续匹配),则可以使用流水线最小化这个延迟。使用连续匹配,我们发现Painted pointpillar只比原始pointpillar体系结构增加了0.75毫秒的延迟。 

表5。时间延迟的分析。当使用并发匹配(会引起延迟)或连续匹配(允许实时流水线)时,在nuScenes上绘制PointPillars的结果,如图6所示。使用前面的图像可以在不降低检测性能的情况下最小化延迟。 

 6. 结论

在本文中,我们提出了一种新的序列融合方法PointPainting,该方法利用基于图像的语义绘制激光雷达点云。PointPainting使用多个不同的激光雷达网络在KITTI和nuScenes挑战中产生了最先进的结果。PointPainting框架非常灵活,可以将任何分割网络的输出与任何激光雷达网络相结合。这些结果的强度和普遍适用性表明,在融合图像和激光雷达信息进行3D目标检测时,PointPainting是领先的架构。

你可能感兴趣的:(3d,目标检测,人工智能)