专栏首页中科院渣渣博肆僧一枚Stereo R-CNN based 3D Object Detection for Autonomous Driving

Stereo R-CNN based 3D Object Detection for Autonomous Driving

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_36670529/article/details/100031856


摘要

提出了一种充分利用立体图像中稀疏、密集、语义和几何信息的自主驾驶三维目标检测方法。我们的方法,称为Stereo R-CNN,扩展了Faster R-CNN的立体输入,以同时检测和关联目标的左右图像。我们在立体区域建议网络(RPN)之后添加额外的分支来预测稀疏的关键点、视点和目标维数,并结合二维左右框来计算粗略的三维目标边界框。然后,我们恢复准确的三维包围框,以区域为基础的光度比对使用左和右ROI。我们的方法不需要深度输入和三维位置监督,但是,优于所有现有的完全监督的基于图像的方法。在具有挑战性的KITTI数据集上的实验表明,我们的方法在三维检测和三维定位任务上都比目前最先进的基于立体的方法高出30%左右的AP。

1、简介

三维目标检测是自主驾驶视觉感知、运动预测和规划的重要基础。目前,大多数三维目标检测方法在自主驾驶场景中严重依赖激光雷达数据提供准确的深度信息。然而,LiDAR的缺点是成本高、感知范围相对较短(∼100 m)和信息稀疏(与>720p图像相比,有32,64行)。另一方面,单目相机为三维目标检测提供了另一种低成本的解决方案。深度信息可以通过场景中的语义属性和目标大小等来预测。然而,推断的深度并不能保证精度,尤其是对于不可见的场景。为此,提出了一种基于立体视觉的三维目标检测方法。与单眼相机相比,立体相机通过左右光度比对提供了更精确的深度信息。与激光雷达相比,立体相机的成本较低,但对于具有非平凡差异的物体,其深度精度可与激光雷达相媲美。立体相机的感知范围取决于焦距和基线。因此,立体视觉具有将不同的立体模块与不同的焦距和基线相结合,提供更大范围感知的潜力。

在本工作中,我们充分利用立体图像中的语义和几何信息,研究了三维目标的稀疏和密集约束,提出了一种基于立体R-CNN的精确立体目标检测方法。我们的方法同时检测和关联目标的左右图像使用立体R-CNN。网络架构如图1所示,主要分为三个部分。第一个是立体的RPN模块(第3.1节),输出相应的左右RoI建议。在分别对左右特征图应用RoIAlign后,我们将左右RoI特征串联起来,对目标类别进行分类,并在立体回归(3.2节)分支中回归准确的二维立体框、视角和维度。利用一个关键点(第3.2节)分支仅使用左RoI特征来预测目标关键点。这些输出形成了用于3D框估计的稀疏约束(2D框、关键点)(第4节),其中我们用2D左右框表示了3D框角与关键点之间的投影关系。

确保我们的3D定位性能的关键组件是密集的3D框对齐(第5节)。我们没有直接使用没有显式利用目标属性的深度输入[4,27],而是将对象RoI视为一个整体,而不是独立的像素。对于规则形状的物体,给定粗糙的三维边界框,可以推断出每个像素与三维中心的深度关系。我们根据图像的深度与三维目标中心的关系,将图像的左感兴趣区域的密集像素向右偏移,找到最大限度减小整个光度误差的最佳中心深度。从而形成了三维目标深度估计的密集约束。根据对齐深度和2D测量值,使用3D box estimator (section . 4)对3D box进行进一步校正。

本文的主要贡献如下:

  1. 一种立体R-CNN方法,可以同时检测和关联立体图像中的目标
  2. 利用关键点和立体框约束的3D框估计器
  3. 基于密集区域的光度校准方法,确保我们的三维目标定位精度
  4. 对KITTI数据集的评估表明,我们的性能优于所有基于最新图像的方法,甚至可以与基于lidar的方法相媲美

3、立体R-CNN网络

在本节中,我们将描述立体R-CNN网络架构。与单帧检测器(如Faster R-CNN)相比,立体R-CNN可以对左右图像同时检测和关联二维边界框,只需稍加修改。我们使用weight-share ResNet-101和FPN作为骨干网络,提取左右图像的一致特征。从我们的训练目标设计中获益图2,没有额外的数据关联计算。

3.1、立体RPN

区域建议网络(RPN)是一种基于滑动窗口的前景检测器。特征提取后,使用一个3×3卷积层进行信道约简,然后使用两个同级全连通层对每个输入位置的目标性进行分类,并对每个输入位置的回归盒偏移量进行归一化处理,该归一化处理用预定义的多尺度盒锚定。与FPN相似,我们通过在多尺度特征图上评估锚点来修正金字塔特征的原始RPN。不同之处在于,我们在每个尺度上连接左、右特征映射,然后将连接的特征输入立体RPN网络。

关键的设计使我们能够同时检测和关联对象是不同的地面真值(GT)盒分配目标分类器和立体盒回归器。如图2所示,我们将左右GT盒的并集(称为并集GT盒)作为目标分类的目标。如果锚点与其中一个联合GT盒的交超并集(IoU)比值大于0.7,则赋予其正标签;如果锚点与任意一个并集盒的IoU比值小于0.3,则赋予其负标签。得益于这种设计,正锚往往同时包含左右两个目标区域。我们计算目标并集GT盒中包含的左右GT盒的正锚的偏移量,然后分别将偏移量分配到左右回归。有六个回归条款立体声回归量:

,我们用u, v来表示2 d的水平和垂直坐标框中心在图像空间中,w h框的宽度和高度,和相应的上标对应正确的图像。注意,我们对左右框使用相同的v,h偏移量∆v,∆h,因为我们使用的是经过校正的立体图像。因此,我们有六个立体RPN回归器的输出通道,而不是原始RPN实现中的四个。由于左右提案是由相同的锚点生成的,并且共享目标得分,所以它们可以自然地关联在一起。为了减少冗余,我们分别对左右roi使用非最大抑制(NMS),然后从保存在左右NMS中的条目中选择前2000名候选人进行培训。测试时,我们只选择前300个候选者。

3.2、立体 R-CNN

立体回归:在立体RPN之后,我们有相应的左右建议对。在适当的金字塔水平上,我们分别在左右特征图上应用RoI对齐。将左右RoI特性连接起来,并输入到两个顺序的全连接层(每个层后面都有一个ReLU层)中,以提取语义信息。我们使用四个子分支分别预测目标类、立体边界框、维数和视角。箱形回归项与3.1节定义相同。注意,视点角度不等于物体的方向,这是不可观测的裁剪图像RoI。一个例子是图3所示,我们使用θ来表示车辆定位尊重摄像机坐标系、和β表示目标方位与摄像机之间的中心。三种车辆的方向不同,但它们在裁剪后的RoI图像上的投影是完全相同的。因此我们回归观点角度α定义为:α=θ+β。避免不连续,训练目标(sinα,cosα)而不是原始的角度值。利用立体盒和物体尺寸,可以直观地恢复深度信息,通过解耦视点角度与三维位置之间的关系,也可以解决车辆的方位问题。

在对RoI进行抽样时,如果带有左侧GT盒的左侧RoI之间的最大IoU大于0.5,同时带有相应右侧GT盒的右侧RoI之间的IoU也大于0.5,则我们将左右RoI对作为前景。如果左RoI或右RoI的最大IoU位于[0.1,0.5]区间,则将左右RoI对视为背景。对于前景RoI对,我们通过计算左侧GT盒与右侧RoI之间的偏移量,以及右侧GT盒与右侧RoI之间的偏移量来分配回归目标。我们仍然对左右RoI使用相同的∆v,∆h。对于维数预测,我们只需要使用预先设置的维数来返回基真维数之间的偏移量。

关键点预测:除了立体盒子和视点角度,我们注意到投影在盒子中间的三维盒子角可以对三维盒子的估计提供更严格的约束。如图4所示,我们定义了四个三维语义关键点,表示三维边界框底部的四个角。只有一个三维语义关键点可以明显地投射到框的中间(而不是左右边缘)。我们将这个语义关键点的投影定义为透视图关键点。在第4节和表5中,我们展示了透视图关键点是如何对3D框进行估计的。我们还预测了两个边界关键点,它们可以作为规则形状目标实例掩码的简单替代。只有两个边界关键点之间的区域属于当前目标,将用于进一步密集对齐(见第5节)。

我们根据掩模R-CNN[8]中提出的关键点进行了预测。只有左特征图用于关键点预测。我们将14×14 RoI对齐的feature map输入到6个顺序的256-d 3×3 convolution layer中,如图所示。每个层后面都有一个ReLU层。采用2×2反褶积层将输出规模提升到28×28。我们注意到除了2D框外,只有键的u坐标提供额外的信息。为了放松任务,我们将6×28×28输出中的高度通道相加,得到6×28的预测结果。因此,RoI特性中的每一列都将被聚合,并有助于关键点预测。前四个通道表示每四个语义关键点投射到相应u位置的概率。另外两个通道分别表示每个u位于左右边界的概率。注意,四个3D关键字中只有一个可以明显地投射到2D框的中间,因此softmax应用于4×28输出,以鼓励将一个专用语义关键字投射到一个位置。这种策略避免了透视图关键点类型(对应于哪个语义关键点)的可能混淆。 哪对于左右边界关键点,我们分别在1×28输出上应用softmax。

在训练过程中,我们最小化了4×28 softmax输出下的交叉熵损失,用于透视关键点预测。在4×28输出中,只有一个位置被标记为透视图关键点目标。我们忽略了中间框中没有明显投影三维语义关键点的情况(例如,截断和正投影情况)。对于边界关键点,我们分别将两个1×28 softmax输出的交叉熵损失最小化。每个前景RoI将根据GT box之间的遮挡关系分配左右边界关键点。

4、3D框估计

在本节中,我们利用稀疏的关键点和二维框信息求解了一个粗糙的三维边界框。3D框可以用x = {x, y, z,θ},分别表示3D分别中心位置和水平方向。给定左右二维方框、透视关键点和回归维数,通过最小化二维方框和关键点的重投影误差,可以求解三维方框。详细在图5中,我们提取七从立体框和角度测量要点:z = {ul、vt, ur, vb, u0l u0r},分别代表左、上、右、底,左2D框的低边和角度关键点的u坐标。为了简化表示,每个测量值都由摄像机内部标准化。在给定透视关键点的情况下,可以推导出三维盒角与二维盒边之间的对应关系(如图5虚线所示)。从图5的观点来看:

我们用b表示立体相机的基线长度,用w、h、l表示回归尺寸。共有7个方程对应7个测量值,其中{w2, l2}的符号应根据对应的3D方框角适当改变。将截短的边放在上面的七个方程上。采用高斯-牛顿法求解这些多元方程。与[17]不同的是,在求解三维位置和方向之前,我们使用单一的二维盒和尺寸,通过结合立体盒和回归维数,较好地恢复了三维深度信息。在某些情况下,少于两个侧面可以被完全观察到,没有透视键指向上(例如,截断,正投影),方向和尺寸是无法从纯几何约束观察到的。我们使用的观点角度α赔偿难以察觉的状态说明(见图3):

从二维方框和透视关键点求解,粗三维方框投影准确,与图像对齐良好,使我们进一步密集对齐。

5、密集3D框队列

左右边界框提供了目标级的视差信息,可以粗略地求解三维边界框。然而,通过将高层信息聚合到一个7×7 RoI特征图中,对立体盒进行回归。原始图像中包含的像素级信息(如角、边)由于多个卷积滤波器的存在而丢失。为了达到亚像素匹配的精度,我们提取原始图像,利用像素级的高分辨率信息。注意,我们的任务不同于像素方向的视差估计问题,在不适定区域(SGM)或边缘区域(基于CNN的方法)可能会遇到不连续。我们只解决了使用密集对象patch时三维边界框中心的视差问题,即,我们使用大量的像素测量来解决单个变量。

将物体作为一个规则形状的立方体,由第四节求出每个像素与三维边界框中心的深度关系。排除像素属于背景或其他对象,我们定义一个有效的RoI左右边界之间的地区是重点和位于底部的部分3D盒自底部部分车辆适合3 d盒子更紧密(见图1)。一个像素位于规范化协调(ui、vi)有效左图的RoI,光度误差可以定义为:

其中用Il、Ir分别表示左右图像的3通道RGB矢量;∆zi = zi - z像素i与3D盒中心深度差异;b是baseline长度。z是我们唯一要解的目标变量。我们使用双线性插值来得到正确图像的亚像素值。总匹配成本定义为有效RoI中所有像素点的差平方和(SSD):

中心深度z可以通过最小化总匹配代价E来求解,我们可以有效地枚举深度来找到一个最小化代价的深度。我们首先以0.5 m的间距在初始值周围枚举50个深度值来得到一个粗略的深度,最后以0.05 m的间距在粗略深度周围枚举20个深度值来得到精确对齐的深度。之后,我们整顿整个3D盒使用3D盒子估计通过修复深度对齐(见表6)。认为目标RoI是一个几何限制,自然我们的密集排列方法避免了不连续和病态问题立体深度估计,并且强度变化具有很好的鲁棒性和亮度主要因为每个像素在有效的投资回报率将有助于深度估计的对象。注意,这种方法是有效的,可以是一个轻量级的插件模块,任何基于图像的三维检测,以实现深度校正。虽然三维物体对三维立方体的拟合不严格,但形状变化引起的相对深度误差要比全局深度小得多。因此,我们的几何约束密集对准提供了精确的目标中心深度估计。

6、实现细节

网络:正如在中实现的那样,我们使用了五个比例为{32、64、128、126,512}的比例锚,三个比例为{0.5、1、2}。原始图像在短边被调整到600像素。对于立体RPN,由于左右特征图的拼接,最终的分类回归层有1024个输入通道,而实现FPN时只有512个输入通道。同样地,我们在R-CNN回归头中有512个输入通道。在Titan Xp GPU上,一个立体对的立体R-CNN推理时间约为0.28秒。

训练:

定义以下多任务损失:

我们使用(·)p, r(·)分别代表的RPN和R-CNN下标盒子,下表box、

、dim、key分别代表立体框、视点、维度和关键点的损失。每一笔损失都由随后的不确定性加权。对左右图像进行翻转和交换,同时分别对视点和关键点进行镜像,形成新的立体图像。因此,原始数据集与不同的培训目标加倍。在训练过程中,我们在每个小批量中保留了一对立体音响和512个采样RoI。我们使用SGD训练网络,权值衰减为0.0005,动量为0.9。最初将学习率设置为0.001,每5个时代降低0.1。我们总共用2天时间训练了20轮。

7、实验

我们在具有挑战性的KITTI目标检测基准上对我们的方法进行了评估。我们将7481张训练图像分成训练集和验证集,其数量大致相同。为了全面评估我们基于立体R-CNN的方法的性能,我们使用了二维立体回忆、二维检测、立体关联、三维检测和三维定位指标进行了实验,并与最先进的和自消融的方法进行了比较。根据物体在KITTI设置后的2D盒高、遮挡和截断水平,将物体分为三种难度:容易、中等和困难。

立体回忆和立体检测。我们的立体R-CNN旨在同时检测和关联对象的左右图像。除了评估左右图像的2D平均查全率(AR)和2D平均查准率(

)外,我们还定义了立体AR和立体AP度量,其中只有查询满足以下条件的立体盒才能被认为是真正性(TPs):

  1. 左侧GT盒的最大IoU大于给定阈值
  2. 右箱与右GT箱的最大借据大于给定阈值
  3. 所选的左右GT框属于同一目标

立体AR和立体AP指标共同评价二维检测和关联性能。如表1所示,我们的立体R-CNN对单幅图像的提案召回和检测精度与Faster R-CNN相似,同时无需额外计算就能在左右图像中产生高质量的数据关联。尽管立体AR的RPN略低于左AR,我们观察几乎相同左,右,和立体声APs R-CNN之后,这表明左右图像上的一致的检测性能和几乎所有的真阳性框左边图像对应的正确肯定正确的盒子。我们还测试了左右特征融合的两种策略:元素均值和通道级联。如表1所示,由于保留了所有信息,通道连接显示出更好的性能。精确的立体检测和关联为三维盒估计提供了足够的盒级约束(第4节)。

3D检测和3D定位:我们使用平均鸟瞰精度(APbv)和三维框(AP3d)来评估我们的三维检测和三维定位性能。结果如表2所示,其中我们的方法大大优于目前最先进的单目法和立体法。具体来说,我们超过3DOP超过30%的APbv和AP3d在简单和适度设置。对于硬集,我们实现了高达25%的改进。虽然Multi-Fusion与立体声输入得到显著改善,它仍然报告APbv和AP3d远低于我们的几何方法在适度集中。因为比较我们的方法和LiDAR-based方法是不公平的,我们只列出一个LiDAR-based方法VeloFCN作为参考,我们超越了∼10% APbv并使用借据AP3d = 0.5适度集中。我们也报告评估结果中设置的KITTI测试表。具体表现可以在网上找到。注意,对于基于图像的方法,KITTI三维检测基准比较困难,随着物体距离的增加,其三维性能趋于下降。从图7中可以直观地观察到这一现象,虽然我们的方法实现了亚像素视差估计(小于0.5像素),但是由于视差与深度成反比关系,随着目标距离的增加,深度误差变得更大。对于具有显式视差的目标,基于严格的几何约束,实现了高精度的深度估计。这就解释了为什么IoU阈值越高,目标所属的体系越简单,与其他方法相比,我们获得了更多的改进。

关键点的优点:我们使用3D盒估计器 (section . 4)来计算粗3D box,并在密集对齐后对实际3D盒进行校正。因此,准确的三维盒估计量对于最终的三维检测非常重要。研究关键点的好处3 d盒子估计量,我们评估3 d检测和三维定位性能不使用关键点,我们使用退化的观点来确定之间的关系3 d框角和2 d框的边缘,和采用Eq。2为所有对象约束的三维定位。如表5所示,关键点的使用提高了APbv和AP3D在所有难度下的性能。由于keypoint除了提供2D box-level度量外,还为3D box corner提供像素级约束,因此它确保了更精确的定位性能。

密集队列的优点:这个实验展示了密集排列带来的显著改善。我们评估了粗三维盒(w/o对齐)的三维性能,其中深度信息是通过盒级视差和二维盒大小计算得到的。即使是1像素的视差或2维框误差也会对远处的物体产生较大的距离误差。因此,虽然粗3D框在图像上的投影和我们预期的一样精确,但是对于3D定位来说,它的精度还不够。具体统计数据见表6。在使用密集对齐恢复对象深度并简单缩放x、y (w/ alignment, w/o 3D校正)之后,我们在所有度量上都得到了重大改进。此外,当我们使用box estimator (section . 4)通过固定对齐深度对整个3D box进行校正时,3D定位和3D检测性能进一步提高了几个点。

消融研究:我们采用两种策略来提高模型性能。为了验证每种策略的贡献,我们进行了不同组合的实验,并评估了检测和定位性能。如表4所示,我们使用Flip和Uncert来表示提议的立体翻转增强和多重损失的不确定性权重。没有花哨的东西,我们已经超越了所有最先进的基于图像的方法。每种策略都进一步提高了我们的网络性能。具体贡献见表4。使用不确定性权重来平衡多任务损失,在3D检测和定位任务方面都得到了重要的改进。通过立体翻转增强,对左右图像进行翻转和交换,并分别改变透视关键点和视点的训练目标。因此,不同的投入和培训目标使培训集加倍。将两种策略结合起来,我们的方法在三维检测和三维定位任务中都取得了很好的性能(表2)。

8、结论和进一步工作

本文提出了一种基于立体R-CNN的自主驾驶场景三维目标检测方法。该方法将三维目标定位问题转化为一个学习辅助几何问题,充分利用了目标的语义特性和密集约束。在没有三维监控的情况下,我们在三维检测和三维定位任务上大大超过了现有的基于图像的方法,甚至超过了基准激光雷达方法。我们的三维目标检测框架灵活实用,可以对每个模块进行扩展和改进。例如,立体R-CNN可以扩展到多目标检测和跟踪。我们可以用实例分割代替边界关键点来提供更精确有效的RoI选择。通过学习物体的形状,我们的三维检测方法可以进一步应用于一般物体。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • numpy.testing.utils

    于小勇
  • Python的addict模块

    addict is a Python module that gives you dictionaries whose values are both gett...

    于小勇
  • Array Broadcasting in Numpy

    原文链接:https://numpy.org/doc/1.17/user/theory.broadcasting.ht...

    于小勇
  • 伯克利AI研究:通过学习一种多视角立体机实现3D重建

    当给你看一张椅子的照片时,你是可以从这张单幅照片中推断出椅子的三维形状的,即使你以前可能从未见过这样的椅子。我们经历的一个更具有代表性的例子是,在与椅子的物理空...

    AiTechYun
  • 美团点评基于 Flink 的实时数仓平台实践

    摘要:数据仓库的建设是“数据智能”必不可少的一环,也是大规模数据应用中必然面临的挑战,而 Flink 实时数仓在数据链路中扮演着极为重要的角色。本文中,美团点评...

    程序员小强
  • 业界 | 弱监督学习下的商品识别:CVPR 2018细粒度识别挑战赛获胜方案简介

    2011 年,谷歌开始赞助举办第一届 FGVC Workshop,之后每两年举办一次,到 2017 年已经举办了第四届。而由于近年来计算机视觉的快速发展,FGV...

    机器之心
  • 目标检测中的尺度--An Analysis of Scale Invariance in Object Detection – SNIP

    An Analysis of Scale Invariance in Object Detection – SNIP Code will be made ...

    用户1148525
  • 斯坦福开发的AI可使地震监测系统接收极低强度地震的信号

    2011年3月发生在日本海岸的9.0级这样的大地震不难被监测到,但很少有如此严重的事件。微地震,即低强度地震,在瞬时震级上达到2.0或更小的震级,很少造成财产损...

    AiTechYun
  • ECCV 2018 | 微软亚洲研究院与北京大学共同提出用于物体检测的可学习区域特征提取模块

    作者:Jiayuan Gu、Han Hu、Liwei Wang、Yichen Wei、Jifeng Dai

    机器之心
  • PowerBI 2020二月更新 真增量刷新全面普及

    我们对本月的更新感到非常兴奋!我们发布了两个最重要的社区请求:Power BI Pro的增量刷新和分层切片器。此外,我们还对新功能区和一些新的DAX功能进行了一...

    BI佐罗

扫码关注云+社区

领取腾讯云代金券