【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测

【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第1张图片

摘要

三维目标检测是自动驾驶和虚拟现实中重要的场景理解任务。基于激光雷达技术的方法具有高性能,但激光雷达昂贵。考虑更一般的场景,没有3d激光雷达数据的数据集,我们提出一个3d对象立体视觉检测的方法,只需要RGB图像与相应的注释3d边界框作为训练数据,不依赖于激光雷达数据作为输入或监督训练。针对目标深度估计是影响三维目标检测性能的关键因素,提出了一种基于实例深度感知视差自适应匹配代价调整的三维包围盒中心深度预测模块。此外,我们的模型是一个端到端的学习框架,不需要多个阶段或后处理算法。我们在KITTI基准上进行了详细的实验,与现有的基于图像的方法相比,取得了显著的改进。

一、引言

基于立体的三维物体检测以立体图像对为输入,有方向的物体三维包围盒为输出。由于来自立体视觉的深度误差随距离呈二次增长,在训练过程中,如果仅仅依靠标注的三维包围盒进行无深度图的三维目标检测是比较困难的。目前,无监督深度的基于立体的三维目标检测在目标定位方面仍然滞后。我们希望弥合两种方法(有和没有深度数据监督)之间的差距,使仅带标注的物理物体三维包围盒的三维物体检测性能可以接近使用深度图像作为监督的性能。

在本工作中,我们提出了一种基于立体视觉的三维目标检测方法,该方法在训练过程中不依赖于激光雷达数据作为输入或监督,而只使用带有相应标注的三维边界盒的RGB图像作为训练数据。首先利用立体区域提议网络(RPN)从背景中提取目标,消除其对三维目标检测的干扰。由于对象实例的深度估计是影响三维对象检测性能的关键因素,因此我们设计了一个独立的 实例深度感知(IDA) 模块来预测对象三维边界盒的中心深度。不像以前基于立体的方法计算图像之间每个像素的对应关系,我们测量每个实例的对应关系,把更多关注放在对象的全局空间信息。

为了减小对远处目标深度估计的误差,我们根据目标的位置自适应地调整代价体中的视差等级的范围,并将视差等级的均匀量化转换为非均匀量化。匹配代价也被重新加权,通过惩罚对对象实例不是唯一的深度级别,并提升具有高概率的深度级别,从而使深度估计更具鉴别性。所提出的体系结构的概述如图1所示。

【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第2张图片

我们的主要贡献如下:

  • 我们提出了一个基于立体的端到端学习框架用于三维目标检测,既不依赖于深度图像作为输入或训练,也不需要多阶段或后处理算法。
  • 引入实例深度感知(IDA)模块,通过实例深度感知、视差自适应和匹配代价调整,准确预测三维包围盒中心深度,提高了三维目标检测的准确性。
  • 我们在KITTI 3D数据集上提供了详细的实验,与没有深度地图监控的基于立体的方法相比,我们取得了最先进的性能。

二、方法

我们提出了一种立体三维目标检测方法,该方法的训练数据仅仅是RGB图像和相应的带注释的三维边界框,不以激光雷达获得的深度作为输入或中间监督。我们不是通过手工设计立体算法,而是使用深度学习来学习从图像对到物体3D边界框的端到端映射。我们没有将机器学习架构构建为一个黑匣子,而是认识到三维目标检测误差完全来自于三维边界框中心深度估计z的误差,因此我们单独设计了一个回归模型来获取实例深度。在本文中,三维边界框中心的坐标z也称为实例深度。而且,通过实例深度感知、视差自适应和匹配代价调整,我们指导目标深度估计的体系结构设计。

2.1 实例深度估计

不像以前的立体网络,回归每个像素的视差之间的矫正立体图像,我们特别感兴趣的是计算每个实例的视差来定位它的位置。我们不再计算图像之间每个像素的对应关系,而是度量图像之间相同实例的对应关系,更多地关注对象的全局空间信息。因此,在通过连接每个视差级别上的左右特征图来形成维度为:视差×高度×宽度×特征尺寸的 cost volume 之后,我们使用两个连续的3D卷积层,每个卷积层后面跟着一个3D最大池化层,以学习并对 cost volume 中的特征表示进行下采样。由于视差与深度成反比,并且两者都代表物体的位置,因此我们在制定 cost volume 后将视差转换为深度表示

在网络正则化的基础上,将三维卷积神经网络的下采样特征融合到三维边界框中心的深度概率中。通过将每个深度z按其归一化概率加权求和,最终得到3D长方体中心的深度,如公式1所示,其中N表示深度级数,P(i)表示归一化概率。
在这里插入图片描述

我们使用3D边界框中心的真实深度来训练我们的模型,其中监督回归损失使用误差定义:

在这里插入图片描述

如图1的IDA模块所示,如果一辆车的视差水平为di,当其左右特征图向相反方向移动时,两个特征图恰好在di处匹配,如 4D cost volume 中的红色标记所示。IDA模块在Zi处输出最大概率,其中Zi为di对应的深度值

【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第3张图片

模型参数如表1所示。图3以一辆汽车的深度估计为例,将这一过程可视化,特征图中亮黄色和深蓝色分别表示激活较强和较低。以 cost volume 特征为输入,可以看出,我们的网络提取的特征图逐渐从汽车的低级特征转变为汽车中心深度概率的高级全局特征。与此同时,汽车独特的深度水平导致了最高的概率,如图底部所示。这一现象说明,该模型对学习对象实例的正确深度的概率是有效的。

【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第4张图片

2.2 实例深度自适应

以往的工作大多是为了提高视差估计的精度。然而,对于相同的视差误差,深度误差随距离二次增加。这意味着对远处物体的深度估计视差误差的影响要大于对附近物体的影响。这是导致糟糕的3D对象检测的关键因素。为了使模型和损失函数更加关注较远的目标,我们将代价量中的视差级别由均匀量化改为非均匀量化,目标距离越远,两个连续视差级别之间的划分单元越小。这样,就可以更精确地估计出远处物体的深度。非均匀量化或视差如图2所示。

【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第5张图片
我们通过下面的式子实现均匀深度量化向非均匀深度量化的转换,其中fu是水平焦距,b是双目相机基线:
在这里插入图片描述
除了非均匀量化,我们不需要估计0-80m范围内的深度,因为一辆车的深度与它在图像中的大小成反比。给定相机的固有参数,我们可以根据图像中联合框的宽度粗略计算范围。因此我们将深度估计的搜索范围减小到[zmin, zmax],其中zmin和zmax分别表示每个对象的最小深度值和最大深度值。这种深度自适应使量化的平均分割单元最小化,从而改进了深度估计。

2.3 匹配代价权重

如公式(1)所示,3D盒子中心的深度是所有深度层的加权平均值,而不是最可能的,这可能导致非歧视性的深度估计。为了惩罚对对象实例来说不是唯一的深度级别,并提升具有高概率的深度级别,我们重新计算匹配代价。

权重分为两部分,第一部分(图1中的4D cost volume ),在 4D volume 的每个视差水平的左右特征图之间打包一个差异特征图。第二部分(图1中的3DCNN),在深度上运用注意机制。带有这些残差特征图的 4D volume 将使后续的3D CNN在一定深度水平上考虑左右特征图的差异并细化深度估计,而视差注意机制则为每个通道设置权重 r i r_i ri。通过计算每个视差上左右特征图的相关性得到的相关得分 r i r_i ri为:
在这里插入图片描述
其中, r i r_i ri 是第i个通道的权值,cos为余弦相似度函数。 F i l F_i^l Fil, F i r F_i^r Fir为 cost volume 内的特征映射对。图4中黑色和红色分别表示了权重调整前后各深度上的两条成本曲线。我们可以看到,重加权曲线的梯度比非加权曲线的梯度更陡,说明正确实例深度的概率增加了
【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第6张图片

2.4 3D目标检测

除了实例深度估计,我们还需要估计物体中心的水平和垂直坐标(x, y)目标立体边界框尺寸和视点角度来完成三维物体检测任务。我们设计了一个以左右感兴趣区特征串联为输入的六并行全连接网络。在确定了实例的深度后,就可以根据其投影(u, v)来计算对象中心在左摄像机坐标系中的坐标(x, y)。
在这里插入图片描述
式中 ( c u , c v ) (c_u, c_v) (cu,cv)为相机中心, f u f_u fu, f v f_v fv 是为水平焦距和垂直焦距。从式(5)可以看出,深度估计的结果会影响到3D边界框中心水平和垂直位置的估计,这说明深度估计在目标检测中起着重要的作用。因为一个对象实例的左右中心之间的垂直坐标(y)没有平移,这个分支直接估计到真实值的偏移量 ( ∆ u l , ∆ v , ∆ u r ) (∆u^l,∆v,∆u^r) (ulvur)

对于图5所示的方向回归,我们使用类似于[20]中 Multibin 的方法估计解释外观变化的视点角度。方向角θ可由式6计算,说明深度估计的结果也会影响方向。
在这里插入图片描述
对于维度回归,我们产生维度偏移(∆h,∆w,∆l)到平均类大小(¯h,¯w,¯l),这是给定类中所有对象的平均维度。三维边界框的尺寸可以通过下面的变换计算出来:
在这里插入图片描述

2.5 实现细节

整个多任务损失可以表示为:

在这里插入图片描述

其中, L r p n L_{rpn} Lrpn L 2 D b o x L_{2Dbox} L2Dbox 分别表示二维边界框在立体RPN模块和立体回归模块上的损失; L 3 D ( u , v ) L^{(u,v)}_{3D} L3D(u,v)表示对象实例中心投影的损失; L z 3 D L_{z}^{3D} Lz3D表示对象实例深度; L d i m L_{dim} Ldim表示3D边界盒尺寸的偏移回归损失; L a L_a La表示方位损失,包括离散角箱的分类损失和角箱偏移量的回归损失。w1-w6是平衡参数,用来平衡整个多任务损失。

我们采用两权共享的ResNet50和FPN架构作为特征提取器。在训练阶段,我们将训练集中的图像翻转,左右图像交换,同时镜像二维方框注释、视点角度和质心的二维投影,进行数据增强。对于IDA模块,我们将zmax和zmin24层的深度划分为对象中心深度的估计。我们使用RPN模块获得的2D盒子作为IDA模块的输入,因为IDA模块可以提供更多的样本进行训练。而在推理过程中,我们使用2D回归模块获得的2D box作为IDA模块的输入,因为它提供的box更少,精度更高,可以减少计算成本。我们使用SGD优化器训练我们的网络,初始学习率0.02,动量0.9,权重衰减0.0005。同时,我们在两个NVIDIA 2080Ti gpu上设置批量大小为4,并在大约26小时内训练80,000次迭代。

三、实验

我们在KITTI三维目标检测数据集上评估我们的方法,该数据集包含7481幅训练图像和7581幅测试图像。我们遵循与[4]相同的训练集和验证集的划分方法,分别包含3712和3769张图像。我们报告了IoU阈值为0.5和0.7的汽车类别的3D平均精度 ( A P 3 D ) (AP_{3D}) (AP3D)和鸟视平均精度 ( A P b e v ) (AP_{bev}) (APbev),其中每个类别根据2D边界框高、遮挡和截断水平分为容易、中等和困难情况。

3.1 实例深度感知方法的结果

我们进行定性和定量的实验。为了比较,我们在表2中总结了单目和双目方法的主要结果。我们的方法在容易、中等和困难的情况下,在所有IoU阈值上都优于以往的单目方法。特别地,在0.5 IoU时,我们方法的结果 A P b e v AP_{bev} APbev= 67.3%,优于Stereo R-CNN (58.93%),达到8.37%以上的显著改善。这可能是由于IDA模块中的非均匀量化策略,减少了深度估计误差,使我们的方法对远处目标更具有鲁棒性。
【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第7张图片
我们还将我们的方法与立体版本的伪激光雷达[25]进行了比较,后者遵循两阶段网络:i)通过PSMNet[2]进行深度图估计,ii)通过FPointNet[21]或AVOD[11]进行3D边界盒回归。但是,将我们的方法与伪激光雷达进行比较是不公平的,因为我们没有使用深度图作为中间监督。我们的方法仍然可以达到表3所示的性能。此外,由于我们使用了一个相对于PSMNet的轻量级IDA模块,形成了一个端到端网络,并且在一台NVIDIA 2080Ti GPU上获得了> 12帧/秒的高速,因此我们的方法复杂度更低。
【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第8张图片
视差适应的消融研究。为了验证我们的视差自适应策略的有效性,我们使用不同的视差量化策略根据距离对深度估计误差进行了评估。深度误差的结果如图6所示。对于2D IOU>0.5的检测,误差计算为预测的3D位置与真实值之间的平均差。不出所料,采用非均匀量化策略可以使深度估计误差随着距离的增加而进一步减小。 对于50m以外的物体,从直方图可以看出,非均匀量化对深度估计的精度影响较大。这一现象证明了我们的分析,距离较远的物体,两个连续的视差水平之间的间隔越小,深度估计的效果就越好。

【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第9张图片
由于目标实例的深度估计是影响三维目标检测性能的关键因素,因此我们的非均匀量化策略与均匀量化策略相比有了很大的改进。详细的统计数据可以在表4的前两行中找到。
【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第10张图片
匹配代价重新加权的消融研究。表5显示了匹配成本重新加权策略的效果。在我们的方法中,我们使用两种策略来控制和促进深度概率的峰值。第一种策略是将左右特征图之间的差异特征图与原始成本量进行拼接,该差异特征图用 D i f f Diff Diff表示。第二种策略是采用以 A t t Att Att为代表的3DCNN中的注意机制。在表5中,我们在我们的框架内进行了消融实验,以验证每种策略的贡献。通过 A t t Att Att D i f f Diff Diff,我们惩罚对于对象实例不是唯一的深度级别,而提升具有高概率的深度级别。因此,通过将两种策略结合在一起,我们的方法获得了性能上的提高。
【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第11张图片

3.2 定性结果

图7显示了Kitti数据集中几个场景的定性检测结果。可以看出,在常见的街道场景中,我们的方法能够准确地检测到场景中的物体,并且检测到的3D方框在正视图像和点云上都能很好地对齐。特别是当目标距离摄像机很远时,我们的方法仍然能够获得如(A)和(B)所示的准确检测结果,这得益于我们的IDA模块。在现场出现太多车辆或被他人严重遮挡的情况下,我们的方法也有可能成功定位这些物体,如©所示。
【IDA-3D 解读】基于实例深度感知的自动驾驶立体视觉三维目标检测_第12张图片

四、结论

在这项工作中,我们提出了一种端到端的学习框架,用于自动驾驶中基于立体图像的三维目标检测。它既不依赖深度图像作为输入,也不依赖于训练,也不需要多级或后处理算法。引入立体RPN模块产生一对联合感兴趣区,避免了左右图像对中同一目标的复杂匹配,降低了背景对深度估计的干扰。特别设计的实例深度感知(IDA)模块,在没有密集深度图的情况下,聚焦于对象,直接进行实例深度回归。此外,我们的方法通过视差自适应和匹配代价的重新加权,更加关注远处的目标。我们的方法具有轻量级的网络体系结构,与现有的基于图像的性能相比取得了令人印象深刻的改进。与一些深度图监督方法相比,我们的方法也获得了与之相当的性能。

你可能感兴趣的:(3D目标检测,自动驾驶,计算机视觉,3D目标检测)