电动化

电动化

基于兴趣区域投票的多任务车辆检测

知识讲堂betty 发表了文章 • 0 个评论 • 256 次浏览 • 2019-06-19 10:42 • 来自相关话题

编者按:车辆检测是自动驾驶车辆感知模块中的关键技术之一。由于视角、遮挡和截断造成的大规模内部分类的不同,使得车辆检测非常具有挑战性。这篇文章提出了一个基于多任务CNN和RoI投票的车辆检测方法,实验结果表明,该方法优于大多数现有的车辆检测框架。 ...查看全部

编者按:车辆检测是自动驾驶车辆感知模块中的关键技术之一。由于视角、遮挡和截断造成的大规模内部分类的不同,使得车辆检测非常具有挑战性。这篇文章提出了一个基于多任务CNN和RoI投票的车辆检测方法,实验结果表明,该方法优于大多数现有的车辆检测框架。

本文译自:《Multi-Task
VehicleDetection With Region-of-Interest Voting》

原作者:Wenqing Chu , Yao Liu,Chen Shen, Deng
Cai

原文链接:https://ieeexplore.ieee.org/document/8066331/

摘要:车辆检测是自动驾驶系统中的一个具有挑战性的问题,因为其具有较大的结构和外观变化。在本文中,我们提出了一种基于多任务深度卷积神经网络(CNN)和感兴趣区域(RoI)投票的新型车辆检测方案。在CNN体系结构的设计中,我们以子类别、区域重叠、边界框回归和每个训练ROI的类别作为一个多任务学习框架来丰富监督信息。该设计允许CNN模型同时在不同车辆属性之间共享视觉信息,因此,可以有效地提高检测鲁棒性。此外,大多数现有方法独立考虑每个RoI,忽略了其相邻RoI的线索。在我们的方法中,我们利用CNN模型来预测每个RoI边界朝向相应标注过的数据的偏移方向。然后,每个RoI可以对那些合适的相邻边界框进行投票,这与该附加信息一致。投票结果与每个RoI本身的得分相结合,以从大量候选中找到更准确的位置。KITTI和PASCAL2007车辆数据集的实验结果表明,与其他现有方法相比,我们的方法在车辆检测中实现了卓越的性能。

1·引言

车辆检测是许多视觉计算应用的基本问题,包括交通监控和智能驾驶。不幸的是,由于不同视点,遮挡和截断引起的较大类内差异,车辆检测非常具有挑战性。图1显示了一些具有不同复杂性的例子,这些例子来自PASCAL2007汽车数据集[1]和最近提出的KITTI车辆检测基准[2]。


图1.来自两个数据集的车辆检测的复杂性的图示(a)PASCAL
VOC2007汽车数据集[1]由不同视点和较少遮挡的单车组成。(b)KITTI车辆基准[2]包括安装在驾驶汽车上的摄像头拍摄的道路上的汽车,该汽车具有更多的遮挡和截断。

通常,车辆检测可以被视为通用对象检测的特殊主题。在过去几年中,研究人员在提高物体检测性能方面取得了显着进展[3-8]。解决此问题的常见流程包括两个主要步骤:(1)生成建议目标,(2)特定类的评分和边界框回归。对于第一步,有很多精心设计的方法[8-11]用于生成建议目标或仅仅是[5]中使用的滑动窗口方式。然后提取对象边界框的一些特定视觉特征,并利用分类器确定有界区域是否是期望对象,其中代表性方法包括AdaBoost算法[3],DPM模型[5]和深度CNN模型[7]。然而由于车辆的结构和外观变化较大,尤其是普遍存在的遮挡,这进一步增加了类内差异,使得车辆检测仍然具有挑战性,此外,许多车辆检测基准要求联合交叉(IoU)超过0.7以评估正确的定位,这显著提高了对模型的性能要求。

在本文中,我们提出了一种基于多任务深度卷积神经网络(CNN)、感兴趣区域(RoI)投票和多级定位的新型车辆检测方案,由RV-CNN表示。多任务学习旨在实现信息共享,同时解决多个相关任务,提高部分甚至所有任务的性能[12]。在我们的方法中,CNN模型在四个任务上进行训练:类别分类,边界框回归,重叠预测和子类别分类。在这里,我们引入子类别分类任务来使得CNN模型在不同的遮挡,截断和视点下都能学习车辆的良好表示。我们利用[13]中提出的3D体素模式(3DVP)概念进行子类别分类。
3DVP是一种对象表示,它共同捕获关键对象属性,这些属性涉及到在聚类过程中刚性对象的外观、对象姿态、遮挡和截断。然后每个3DVP被认为是一个子类别。

大多数检测方法利用CNN模型的预测分数进行非极大值抑制(NMS),以得到最终的边界框位置。但是,高于某一水平的检测分数与边框提案的可靠性没有很强的相关性[14]。原因之一是训分类器被训练为从背景中对对象进行分类,而不是对联合交叉(IoU)进行排序。因此,我们建议使用邻近的RoI来完善这一评分。首先,我们使用CNN模型同时预测从RoI到每个边界的标注过的数据的偏移方向。有了这些额外的信息,我们设计了一个简单而有效的投票方案来重新分配这些ROI。在所有提案的得分重新计算后,我们可以应用NMS得到最终结果此外,我们观察到,在IOU超过0.7的限制下,区域提案网络[8]的产出不能保证达到100%召回。这将对以下检测网络构成挑战,因为它必须在没有高质量建议的情况下处理一些困难的案例。此外,在更快的R-CNN
[8]中,NMS的预测框的检测分数不准确,因为它在回归之前应用了RoI的卷积特征。考虑到这两个缺点,本文提出了一种多级定位方案,进一步提高了检测精度和可靠性。

我们已经在两个常用的车辆检测数据集(KITTI车辆基准[2]和PASCAL
VOC2007汽车数据集[1])上评估了我们的方法。我们的方法在KITTI车辆检测基准上实现了91.67%的Ap,显著超越了最近的结果[15-17]。此外,我们还对PASCAL
VOC2007汽车数据集进行了实验。实验结果表明,与基线和相关方法相比,我们的RV-CNN模型具有了一致且显着的性能提升。

2·相关工作

在本节中,我们将简要回顾一下最近关于一般物体检测和车辆检测的工作。

通用目标检测是近年来研究的一个活跃领域,有着大量的前期工作。[3]中的级联式检测器是最早实现相对高精度实时检测的方法之一。这种结构已广泛用于实现人脸[3],[18],行人[19]和车辆[20]的滑动窗口探测器。基于部分的模型也是文献中最强大的物体检测方法之一,其中可变形的组件模型(DPM)[5],[21]是一个很好的例子。该方法采用定向梯度直方图(HOG)特征作为输入,并利用由根滤波器和组件滤波器组成的星形结构来表示高度可变的物体,使其能够检测出被严重遮挡的物体。

最近,深度卷积神经网络(CNN)表现出了卓越的性能,在各种视觉任务中占据了最高精度基准[22-26]。这些工作提出了大量的方法[7],[8],[27-36]解决了CNN模型的问题。在这些方法中,具有卷积神经网络(R-CNN)框架[7]的区域已经取得了很好的检测性能,并成为对象检测的常用范例。其基本步骤包括使用选择性搜索的建议目标生成[9],CNN特征提取,基于CNN特征的对象候选分类和回归。

然而R-CNN带来了过多的计算成本,因为它为数千个建议目标重复提取CNN特征。为了加速R-CNN中的特征提取过程,提出了空间金字塔汇集网络(SPPnet)[28]和基于快速区域的卷积网络(Fast
R-CNN)[29]。其缺点是仍然采用自下而上的建议目标生成,这是效率的瓶颈。相反,在[8]中提出了一种区域生成网络(RPN),它与检测网络共享全图像卷积特征,从而实现了几乎无成本的区域生成。MS-CNN
[15]由提议子网和检测子网组成。在提议子网中,在多个输出层执行检测,以便匹配不同尺度的对象。这种方案也用于SSD [32]和TextBoxes
[37]。另一个有趣的工作是YOLO [31],它在7x7网格内输出对象检测。该网络以40fps运行,但检测精度有所降低。

大多数这些深度模型都针对一般物体检测。为了更好地处理被遮挡车辆的检测问题,在[38]中的一个DPM模型提供的根和组件分数配置上使用了第二层条件随机场(CRF)。最近,在[39]和[40]中提出了一个和或结构,以有效地将遮挡配置与经典的DPM进行比较。在[41]中,作者建议将车辆检测和属性注释结合起来。此外,改进模型泛化的一种常见方法是学习对象类[20]中的子类别。子类别已被广泛应用于车辆检测,并提出了几种子类别分类方法[42-45]。在[42]中,使用局部线性嵌入和HOG特征以无监督的方式学习学习对应于车辆方向的视觉子类别。参考文献[43]根据对象的视角执行聚类,以发现子类别。在[45]中研究了区分性子分类,其中聚类步骤考虑了负面实例。最近,[13]提出了一种新的对象表示,即三维体素模式(3DVP),它共同编码对象的关键属性,包括外观、三维形状、视点、遮挡和截断。该方法以数据驱动的方式发现3DVPS,并为3DVPS训练一组专门的检测器。在[46]中,作者利用3DVP子类别信息训练子类别卷积层,输出特定位置和比例下某些子类别存在的热图。在我们的工作中,我们将子类别分类作为改进基于CNN的检测性能的多任务的一部分,并且可以使用在[13]、[42]和[43]中获得的子类别标签来实现该组件。

3·具体检测过程     

在本节中,我们描述了用于解决车辆检测问题的多任务深度卷积神经网络。对于每个输入图像,我们的方法包括三个主要阶段。首先,我们生成一个由多尺度区域生成网络(RPN)[8]获得的对象提议池。然后我们使用多任务CNN模型来预测每个RoI的属性。根据回归结果,一些提案将由二级回归网络处理。最后,我们采用有效的投票机制来优化每个RoI的最终得分。此外,由于我们可以获得子类别信息,因此我们引入了子类别感知的非极大值抑制(NMS)来更好地处理遮挡。最后,我们可以获得在实际应用中非常准确的预测框。

A.多任务损失函数

最近,多任务学习已经应用于许多计算机视觉问题,特别是在缺乏训练样本的情况下[12]。多任务学习的目的是在同时解决多个相关任务的同时,加强信息共享。这种共享已经被证明可以提高部分或全部任务的性能[12],[47],[48]。对于车辆检测问题,我们通过子类别,区域重叠,边界框回归和每个训练RoI的类别作为多任务学习框架,丰富了监督信息。接下来,我们将详细解释多任务CNN模型的提议方法的细节。图2显示了所提出的多任务学习框架的总体流程。如图2所示,在生成RoI之后,我们将[29]中提出的RoI池化层应用于每个RoI的池卷积特征。然后,汇集的卷积特征用于完成四个任务:类别分类,边界框回归,重叠预测和子类别分类。最后一部分“偏移方向预测”将在下一节中描述。每个被训练的RoI都标有真实类和真实边界框回归目标,类似于[29]中的设置。通常,该监督信息用于设计分类损失L
cat和边界框回归损失L loc。

接下来,第三个任务是子类别分类。对于复杂和杂乱的城市场景中的车辆检测,遮挡和视点是关键方面。如在[40]中,处理遮挡需要能够捕获组件层面上遮挡的基本规律(即不同遮挡配置),并且明确地利用与遮挡共同发生的上下文信息,这超出了单车辆检测的范围。此外,不同视图中的2D图像也难以识别。这些显着增加了类内差异。为了表示遮挡和视点变化,我们采用最近在[13]中提出的3D体素模式(3DVP)的概念。
3DVP是一种对象表示,它共同捕获与外观,三维形状和遮挡掩膜相关的关键对象属性。参考文献[13]提出在网络上的存储库中利用3DCAD模型,例如Trimble3D
Warehouse,并将这些3D CAD模型与2D图像一起标注以构建3D体素示例。更具体地说,对于训练集中的每个图像,使用从预定义的模型集合中选择的3D
CAD模型来标记图像中的对象,选择的模型是有与真实3D长方体最接近的纵横比的模型。然后使用相机参数将所有标注的3D
CAD模型投影到图像平面上并获得深度排序掩模。在下文中,深度排序掩模确定投影的3D CAD模型的哪个像素是可见的,被遮挡的或截断的。
3DVP表示一组三维体素示例,这些示例共享在其三维体素模型中编码的类似可见性模式。参考文献[13]通过在统一的三维空间中聚类三维体素样本来发现3DVP。有关详细信息,读者可以参考他们的项目网站。

图2.多任务框架的图示

在[13]之后,我们对刚性物体(即KITTI中的车辆)采用3D体素模式(3DVP)表示,它在聚类过程中共同模拟物体姿态,遮挡和截断。然后每个3DVP被认为是一个子类别。图3显示了Kitti车辆数据集中不同子类别车辆的几个示例。通过这些附加的注释,CNN模型可以捕获更多关键信息进行检测。如图2所示,CNN模型在K
+ 1个子类别上输出离散概率分布(每个RoI),p =(p 0,...,p
K)。与往常一样,p是由一个全连接层的k+1个输出上的softmax计算的。因此,子类别分类的损失公式为Lsub(p,u) =
logpu,它是真实分类u类的对数损失。

图3.每一列为一个子分类

此外,我们发现预测RoI与相应的标注过的数据之间的重叠对其他任务是有益的。对于重叠回归,我们使用下列方程中的损失。

其中

是一种强大的L1损耗,其对异常值的敏感性低于L2损耗,这需要仔细调整学习速率以防止爆炸梯度。
Op表示由CNN模型预测的重叠,并且根据ROI和标注过的数据计算Og。

总结,整个多任务框架的损失可以表述为:

上式中的超参数λ1,λ2,λ3用于控制四个任务损失之间的平衡。我们在验证数据集上调整了这些超参数。具体地,在实验中将λ1,λ2,λ3设定为1,10,1.2。

B.感兴趣的区域投票

我们观察到检测分数不能很好地表示有界区域的可靠性或置信度。在[14]中,作者还认为,高于某一水平的检测分数与与框提议的最优性没有很大关系。实际上这并不奇怪,因为分类器被训练为从背景中分类对象而不是对IoU进行排序。另外,预测框的分数由RoI的卷积特征计算,其与回归框略有不同,这也是值得怀疑的。为了解决这个问题,我们使用邻近的RoI来优化其得分。首先,我们使用CNN模型同时预测从每个RoI边界到标注过的数据边界的偏移方向。然后我们可以得到四个变量来指示实际的方向。在我们的方法中,我们分别用D
l,D t,D r,D d表示这四个变量,分别用于RoI的左边界,顶边界,右边界和下边界。例如,D
l的可能预测如下:“向左转”,“向右转”,“在此处停止”和“此RoI周围没有实例”。对于D
t,“上升”,“下降”,“在此处停止”和“此RoI周围没有实例”是可能的训练标签。这些标签可以根据ROI的位置和训练前的地面实况来计算。

如前所述,我们使用多尺度RPN模型来生成数千个对象提议。利用所提出的多任务CNN框架,预测每个RoI的边界框偏移,得分和方向。然后结合每个ROI的坐标和相应的框偏移量,我们可以得到大量的预测框,这比实际的图像中的物体数量大得多。因此,我们将一个图像中的所有预测框分成组,每组对应一个对象。分组方案简单如下:我们选择具有最高分数的预测框作为种子,并将具有高IoU的框与种子放入一个组中。此过程将迭代,直到分配了所有框。该方案在物体检测中很常见[5],[7],[8],[29]。我们的目标是为每个组找到最佳对象预测框。以前的方法直接选择具有最高预测分数的预测框。

在这里,我们利用来自每个预测框的相邻RoI的附加信息来优化分数。如果预测框的位置与其相邻RoI的预测方向一致,则该预测框更可靠。否则,应减少预测框的最终得分。为清晰起见,假设预测框具有坐标和得分s。并且我们用B表示它的相邻RoI,用N表示B中RoI数量,用si表示的第i个RoI的得分,用表示预测方向。然后我们制定投票方案,如下所示:

其中

其他r
b(b,b i)函数遵循与r l(b,b
j)相同的规则。在所有预测框的得分重新计算后,我们可以应用NMS得到最终的结果。

这种RoI投票方法有几个优点。首先,不同于被训练以从背景中对对象进行分类而不是对IoU进行排名的类别分类器,我们的RoI投票方法预测朝向标注过的数据的偏移方向,这对于位置是合理的。此外,该RoI投票方法利用来自相邻RoI的统计信息,这使得结果更加稳健和可靠。其次,与基于CNN的回归任务解决检测问题的方法相比,我们的方法采用了更加文件的分类模型,既简单又有效。CNN模型在分类任务上通常比回归任务取得更好的性能[49]。由于具有softmax损失的偏移方向的分类使得模型在真实方向上最大限度地激活,而不是在边界框坐标的精确值上激活。此外,预测朝向标注过的数据的方向可以作为多任务框架的一部分来实现,这不会给计算带来额外的负担。

C.
多级定位

在Fast RCNN[29]等常见的目标检测流程中,我们发现了两个缺点。首先,由于许多检测基准要求IOU超过0.7才能评估正确的定位,因此区域生成网络[8]经常无法达到100%的召回率。这将对以下检测网络构成挑战,因为它必须在没有高质量建议的情况下处理一些困难的案例。其次,在快速的R-CNN中,用于进行NMS的提案的分数不准确,因为它们在回归前采用了特征。这两个因素将降低这些检测器在实际车辆检测任务中的性能。因此,我们引入了一个多层次的定位框架,以粗到细的方式解决这两个问题。具体来说,我们的定位方案从区域生成网络[8]开始,通过迭代评分和细化它们的坐标来工作。在这里,我们实施了一个两阶段方案。首先,我们将所有与标注过的数据重叠大于0.5的提案作为培训第一阶段回归网络的正样本。由于我们发现RPN在直接使用0.7时未能召回所有车辆,而在0.5时所有车辆都有正面建议。在测试阶段,该回归网络可以将召回率从97.8%提高到98.9%。在第二阶段,我们使用来自第一阶段的预测边界框来训练第二级目标检测网络,使用与标注过的数据重叠大于0.7的建议作为阳性样本。在这个阶段,大多数车辆都有高质量的建议,这使得回归任务相对容易。此外,我们发现第一级网络的输出提供了强有力的建议,使第二网络产生更准确的定位。另外,由第二网络计算的边界框偏移通常很小,这使得预测框的得分更准确。

图4.在复杂的交通场景中,标准流程会导致漏检

(a)原始图像(b)NMS之前的部分车辆检测结果

考虑到速度,我们对所有提案进行一级定位,并选择其中的一部分进行二级定位。选择的规则是:如果一个提案与预测框有很大的重叠,我们将不会进行第二次定位。我们认为,如果重叠度很大,评分是准确的,提案不需要再次回归。在实验部分,我们将此阈值设置为0.9。在多级定位之后,我们获得了一系列检测结果,这些检测结果都具有高召回率和准确定位。我们考虑重用卷积层功能来进行多级定位。但是,性能增益并不令人满意。因此,对于第二阶段,我们训练一个新的回归网络。我们采用这种设计是因为我们希望通过相应边界框的卷积特征尽快准确地计算提案的分类分数。

D.子类别的NMS

在复杂的交通场景中,遮挡使得车辆检测非常具有挑战性。例如,图4中的蓝色圆圈中有两辆汽车彼此靠近,它们的IOU大于0.7。虽然我们之前的管道可以检测到它们的位置并为它们分配高分,但标准的后处理步骤NMS将过滤其中一个分数较低的边界框。如果我们将NMS的阈值设置得更高,则可以保留两个边界框。

但是,检测结果的精度会非常低。为了解决这个难题,我们引入了子类别的NMS(subNMS)方法。在我们的多任务框架中,我们可以获得子类别信息。由于蓝色圆圈中的两辆车属于不同的子类别,我们的subNMS利用级联管道。首先,我们为属于同一子类别的边界框执行标准NMS,其严格阈值为0.5。然后,NMS将处理所有边界框,其阈值为0.75。通过所提出的subNMS,检测结果的精确度和召回率可以达到平衡。

E.实施细节

我们的框架是使用caffe[50]实现的,运行在配置了Nvidia
M40
GPU卡的工作站上。我们不从零开始培训我们的RPN和检测CNN,而是应用在ImageNet[22]上预训练的模型来初始化卷积层和前两个全连接层,然后对整个网络进行微调。在KITTI基准测试中,我们对第一级定位的AlexNet
[22]和第二级定位的GoogleNet [51]进行了微调。

为了解决尺度的变化,我们使用多尺度方式来训练第一级定位。由于GPU内存限制,我们无法直接培训多尺度GoogleNet检测网络。因此,我们独立裁剪和调整RoI,不在同一输入图像中共享卷积计算。用于多任务学习的全连接层分别由标准差为0.01和0.001的零平均高斯分布初始化。偏差初始化为0。所有层对权重使用1的每层学习率,对偏差使用2的每层学习率,全局学习率为0.001。在对KITTI训练数据集进行训练时,我们运行SGD进行30k小批量迭代,然后将学习率降低到0.0001并训练另外10k次迭代。学习在40,000次迭代后停止,并且在学习期间,将conv1-1到conv2-2的层参数固定,以实现更快的训练。

在对VOC07  trainval
car数据集进行训练时,我们运行SGD进行8K小批量迭代,然后将学习率降低到0.0001,再进行2K迭代培训。使用0.9的动量和0.0005的参数衰减(基于权重和偏差)。

4·实验

在本节中,我们在两个公共数据集上评估我们的方法:KITTI车辆检测基准[2]和PASCAL
VOC2007汽车数据集[1]。

A.KITTI验证集的实验

KITTI数据集由7481个训练图像和7518个测试图像组成。训练中的物体总数达到51867,其中汽车仅占28742。KITTI汽车检测任务的关键难点在于大量汽车尺寸较小(高度<40像素)并且被遮挡。

由于KITTI测试集的基本真实注释不公开,我们使用[46]的训练/验证分割来对我们的框架进行分析,其中分别包含3682个图像和3799个图像。对于KITTI的验证,我们使用125个子类别(125个3DVP用于汽车),而对于KITTI的测试,我们使用227个子类别(227个3DVP用于汽车)。关于子类别的数量,我们遵循[13]中的配置。
3DVP是一种数据驱动方法,子类别的数量是聚类算法中使用的一个超参数。对于验证数据集,仅使用训练数据集来发现3DVP模式。对于测试数据集,训练数据集和验证数据集的结合更加复杂,所以子类别的数量更多。

图5 
检测成功和失败案例示例(绿色框表示正

确定位,红色框表示错误报警蓝色框表示检测缺失)

我们根据KITTI基准[2]建议,在三个难度级别(简单,适度和难度)上评估我们的识别结果。为了评估物体检测精度,在整个实验中报告平均精度(AP)。

汽车的KITTI基准采用0.7重叠阈值。表I显示了三个类别的检测结果,其中我们证明了各种组分对KITTI的RV-CNN性能的影响。从表I可以看出,多任务学习,RoI投票和多层次本地化的组成部分都是有效的设计。对于那些中等和难度级别的汽车,我们的方法可以通过更多组件实现更好的性能。

6.jpg

0.jpg

为了展示我们方法的稳健性,我们给出了图6中不同IOU阈值下的AP。此外,图5显示了我们在KITTI验证数据集上的检测结果的一些示例。我们可以看到,检测中失败的大多是那些难以看到的被遮挡的汽车。将来,我们需要将CNN模型与一些遮挡推理机制相结合,以更好地处理这些困难案例。

B.KITTI测试集的实验

为了与KITTI检测基准的最新方法进行比较,我们使用所有KITTI训练数据训练我们的RPN和RV-CNN,然后将我们的结果提交到官方网站,在KITTI测试集上测试我们的方法。

表2列出了三类检测结果,我们将我们的方法(RV-CNN)与KITTI评估的不同方法进行了比较。这些结果是在2017年3月提取的。最近,评估脚本已经更改,并提供了原始结果。我们的方法在基于中等难度结果的所有已发布方法中排名第一。实验结果证明了我们的CNN能够处理具有更多遮挡和截断的车辆。图7给出了中等类别的KITTI测试装置的精确召回曲线。

C.VOC Pascal
2007车辆数据集的实验

我们还将我们方法与几个竞争模型:DPM
[5],RCNN [7],快速RCNN [29]和更快的RCNN [8]在另一个公共数据集上进行了比较:PASCAL
VOC2007汽车数据集[1]。这些方法在一般物体检测方面获得了最先进的性能,并且这些代码是公开可用的。

13.jpg

图8.PASCAL2007汽车数据集上的精确召回曲线

我们在VOC-RELEASE5[65]中采用训练好的车辆模型用于DPM,而基于CNN的其他模型和我们的方法则基于预训练的VGG16模型。提取PASCAL
VOC 2007数据集中的训练集和测试集(总共1434个图像)中包含的所有图像以进行评估。

汽车检测评估标准与PASCAL目标检测相同。联合交叉(IoU)设置为0.7以以确保定位正确。图8显示了PASCAL
VOC2007汽车测试集的精确召回曲线。由于3DVP需要标注过的数据3D注释(立方体)和相机参数,我们没有找到PASCAL
VOC的这些标签。因此,我们删除了PascalVOC数据集实验中的子类别分类任务。APS分别为63.91%(我们的模型)、38.52%(RCNN)、52.95%(快速RCNN)、59.82%(快速RCNN)和57.14%(DPM)。尽管这个数据非常小,但我们的方法依旧胜过了其他方法。

5·结论

在本文中,我们开发了一种基于多任务深度卷积神经网络(CNN)和感兴趣区域(RoI)投票的新型车辆检测方案。KITTI和PASCAL2007汽车数据集的实验结果表明,我们的方法优于大多数现有的车辆检测框架。在未来,我们将探索一个更有效的投票机制的端到端框架。此外,我们希望将CNN模型与一些遮挡推理方法相结合,以更好地处理这些困难案例。

自动驾驶的五级分类标准如何制定的?

问答自动驾驶小能手 回复了问题 • 5 人关注 • 3 个回复 • 949 次浏览 • 2019-01-19 14:13 • 来自相关话题

大众-福特联盟正式官宣!是电动化与自动驾驶提速信号吗?

知识讲堂betty 发表了文章 • 0 个评论 • 330 次浏览 • 2019-01-19 11:23 • 来自相关话题

传感器联盟、跨界并购、软件合作不断的自动驾驶世界现在就是个混乱的局面,不过今天这场大戏又加了点戏码,疯传多时的大众-福特联盟终于正式落地。 “这是一个飞速变化的时代,以第一项正式协议为起点,我们正在构建的联盟将提升两家公司的竞争力。”大众 CEO ...查看全部
传感器联盟、跨界并购、软件合作不断的自动驾驶世界现在就是个混乱的局面,不过今天这场大戏又加了点戏码,疯传多时的大众-福特联盟终于正式落地。
“这是一个飞速变化的时代,以第一项正式协议为起点,我们正在构建的联盟将提升两家公司的竞争力。”大众 CEO Herbert Diess 说道。同时,他还与福特 CEO Jim Hackett 共同宣布,两家公司的合作并不涉及交叉持股,双方将共同开发中型皮卡和商用车型,最早于 2022 年发布。两巨头表示,这一合作“将让双方 2023 年的税前营收成绩增色不少。”
除此之外,大众与福特还签署了“谅解备忘录”,双方将在电动车、自动驾驶和移动出行服务等领域展开深入合作。不过,此类合作的细节信息暂时还未完全敲定。
Diess 对于这个时代的认识确实相当深刻,过去十年里汽车行业发生了翻天覆地的变化,类似特斯拉、Waymo、Aurora 和 Argo AI 等公司为整个产业注入了大量新鲜血液。当然,它们也一并带来了恐慌的情绪。
显然,大众和福特相信,将两家公司绑定在一起不但能帮它们生存下来,还能顺道迎来第二春。
不过,商业的世界中哪有容易二字,两家公司必须在未来找到立足点,而那个未来时代驾驶员都会变得无关紧要。最可怕的是,通向自动驾驶未来的道路并不清晰,老牌汽车制造商要提供什么服务才能焕发新生呢?它们又必须拥有哪些技术?过去几年来,福特和大众一直在探究这些问题的不同答案,而携起手来两家公司肩上的压力就能减轻不少。专栏作家 Pete Bigelow 就指出,经历了迷惘期的各家公司已经意识到,怎样才算把研发经费花在刀刃上。
眼下,无论大众和福特都有了自己的自动驾驶软件团队。大众集团的“自动智能驾驶”部门隶属于旗下奥迪品牌,该部门已经拥有 150 多名员工,正在打造完整的自动驾驶软件堆栈(奥迪承诺要在 2023 年之前向电动和自动驾驶领域投入 160 亿美元)。同时,大众还是自动驾驶新创公司 Aurora 的合作伙伴,它与 Mobileye 在以色列的测试项目也很快就会落地。
福特在自动驾驶领域更是布下重兵,它们先是为 Argo AI 砸了巨资,随后又分拆自动驾驶部门,要在 2021 年落地全自动驾驶打车服务。眼下,福特的路测经验是大众所不能比拟的。此外,它们还在各种“移动出行”技术上花了大量时间和金钱,收购了类似交通软件开发商 TransLoc,运输云平台 Autonomic,共享滑板车公司 Spin(福特也搞过共享单车)和最近才刚刚被砍的穿梭车服务 Chariot。显然,福特是在寻找到底什么才是连接用户和交通的最佳方式,以及用户心目中的未来交通服务到底是什么样。
在电动化方面,大众踌躇满志,因为它们在 MEB 架构上已经投入数十亿美元了,该平台将成为其量产版电动车的基础。反观福特,其电动化脚步则慢了不少。
“这世界上没有哪家 OEM 商能在电动化上像大众一样稳健了,现在我们准备分享这一优势。”Diess 在新闻发布会上讲道。
不过,在被问到 MEB 是否会授权给福特时,Diess 的回答让人有些摸不着头脑,因为他表示 MEB 是专为欧洲和中国准备的。希望 Diess 只是听错了问题,毕竟大众在欧洲和中国市场的强势地位是福特可望而不可及的。
福特方面,CEO Hackett 对电动车的态度也没有那么坚定。他表示:“我们还是得向世界证明,它们是在一步步完成电动化。”这一工作能顺利完成的前提则是可大规模量产且价格实惠、产品力突出的电动车。
眼下,谁也无法断定福特与大众的合作能结出多少硕果。有消息称 Argo AI 也是双方谈判的焦点,此外还有传闻称大众也要给 Argo 投资至少 10 亿美元,但具体情况我们还一无所知。福特发言人 Alan Hall 则表示:“我们不会对还在进行中的谈判妄加猜测。”
关于自家公司在福特-大众联盟中扮演的角色,Aurora 发言人 Khobi Brooklyn 不愿详谈。“随着 Aurora 在整个交通运输生态中逐步扎根,我们在车辆、交通网络和车队管理方面都会与其他公司进行深入合作。Aurora 相信,我们能将自动驾驶技术的益处安全、迅捷且广泛的提供给用户。”除了大众,Aurora 还有现代和拜腾等合作伙伴。
需要强调的一点是,大众与福特其实有很强的互补性,它们能充分利用对方的区域优势和监管环境。举例来说,大众在南美、非洲和中国有很强的存在感,但在美国市场却一直打不开局面,而这里是福特的主场。“从大众的角度来看,与美国厂商合作好处多多,至少在自动驾驶的监管方面美国就比欧洲要宽松得多。”Diess 解释道。

自动驾驶的五级分类标准如何制定的?

回复

问答自动驾驶小能手 回复了问题 • 5 人关注 • 3 个回复 • 949 次浏览 • 2019-01-19 14:13 • 来自相关话题

基于兴趣区域投票的多任务车辆检测

知识讲堂betty 发表了文章 • 0 个评论 • 256 次浏览 • 2019-06-19 10:42 • 来自相关话题

编者按:车辆检测是自动驾驶车辆感知模块中的关键技术之一。由于视角、遮挡和截断造成的大规模内部分类的不同,使得车辆检测非常具有挑战性。这篇文章提出了一个基于多任务CNN和RoI投票的车辆检测方法,实验结果表明,该方法优于大多数现有的车辆检测框架。 ...查看全部

编者按:车辆检测是自动驾驶车辆感知模块中的关键技术之一。由于视角、遮挡和截断造成的大规模内部分类的不同,使得车辆检测非常具有挑战性。这篇文章提出了一个基于多任务CNN和RoI投票的车辆检测方法,实验结果表明,该方法优于大多数现有的车辆检测框架。

本文译自:《Multi-Task
VehicleDetection With Region-of-Interest Voting》

原作者:Wenqing Chu , Yao Liu,Chen Shen, Deng
Cai

原文链接:https://ieeexplore.ieee.org/document/8066331/

摘要:车辆检测是自动驾驶系统中的一个具有挑战性的问题,因为其具有较大的结构和外观变化。在本文中,我们提出了一种基于多任务深度卷积神经网络(CNN)和感兴趣区域(RoI)投票的新型车辆检测方案。在CNN体系结构的设计中,我们以子类别、区域重叠、边界框回归和每个训练ROI的类别作为一个多任务学习框架来丰富监督信息。该设计允许CNN模型同时在不同车辆属性之间共享视觉信息,因此,可以有效地提高检测鲁棒性。此外,大多数现有方法独立考虑每个RoI,忽略了其相邻RoI的线索。在我们的方法中,我们利用CNN模型来预测每个RoI边界朝向相应标注过的数据的偏移方向。然后,每个RoI可以对那些合适的相邻边界框进行投票,这与该附加信息一致。投票结果与每个RoI本身的得分相结合,以从大量候选中找到更准确的位置。KITTI和PASCAL2007车辆数据集的实验结果表明,与其他现有方法相比,我们的方法在车辆检测中实现了卓越的性能。

1·引言

车辆检测是许多视觉计算应用的基本问题,包括交通监控和智能驾驶。不幸的是,由于不同视点,遮挡和截断引起的较大类内差异,车辆检测非常具有挑战性。图1显示了一些具有不同复杂性的例子,这些例子来自PASCAL2007汽车数据集[1]和最近提出的KITTI车辆检测基准[2]。


图1.来自两个数据集的车辆检测的复杂性的图示(a)PASCAL
VOC2007汽车数据集[1]由不同视点和较少遮挡的单车组成。(b)KITTI车辆基准[2]包括安装在驾驶汽车上的摄像头拍摄的道路上的汽车,该汽车具有更多的遮挡和截断。

通常,车辆检测可以被视为通用对象检测的特殊主题。在过去几年中,研究人员在提高物体检测性能方面取得了显着进展[3-8]。解决此问题的常见流程包括两个主要步骤:(1)生成建议目标,(2)特定类的评分和边界框回归。对于第一步,有很多精心设计的方法[8-11]用于生成建议目标或仅仅是[5]中使用的滑动窗口方式。然后提取对象边界框的一些特定视觉特征,并利用分类器确定有界区域是否是期望对象,其中代表性方法包括AdaBoost算法[3],DPM模型[5]和深度CNN模型[7]。然而由于车辆的结构和外观变化较大,尤其是普遍存在的遮挡,这进一步增加了类内差异,使得车辆检测仍然具有挑战性,此外,许多车辆检测基准要求联合交叉(IoU)超过0.7以评估正确的定位,这显著提高了对模型的性能要求。

在本文中,我们提出了一种基于多任务深度卷积神经网络(CNN)、感兴趣区域(RoI)投票和多级定位的新型车辆检测方案,由RV-CNN表示。多任务学习旨在实现信息共享,同时解决多个相关任务,提高部分甚至所有任务的性能[12]。在我们的方法中,CNN模型在四个任务上进行训练:类别分类,边界框回归,重叠预测和子类别分类。在这里,我们引入子类别分类任务来使得CNN模型在不同的遮挡,截断和视点下都能学习车辆的良好表示。我们利用[13]中提出的3D体素模式(3DVP)概念进行子类别分类。
3DVP是一种对象表示,它共同捕获关键对象属性,这些属性涉及到在聚类过程中刚性对象的外观、对象姿态、遮挡和截断。然后每个3DVP被认为是一个子类别。

大多数检测方法利用CNN模型的预测分数进行非极大值抑制(NMS),以得到最终的边界框位置。但是,高于某一水平的检测分数与边框提案的可靠性没有很强的相关性[14]。原因之一是训分类器被训练为从背景中对对象进行分类,而不是对联合交叉(IoU)进行排序。因此,我们建议使用邻近的RoI来完善这一评分。首先,我们使用CNN模型同时预测从RoI到每个边界的标注过的数据的偏移方向。有了这些额外的信息,我们设计了一个简单而有效的投票方案来重新分配这些ROI。在所有提案的得分重新计算后,我们可以应用NMS得到最终结果此外,我们观察到,在IOU超过0.7的限制下,区域提案网络[8]的产出不能保证达到100%召回。这将对以下检测网络构成挑战,因为它必须在没有高质量建议的情况下处理一些困难的案例。此外,在更快的R-CNN
[8]中,NMS的预测框的检测分数不准确,因为它在回归之前应用了RoI的卷积特征。考虑到这两个缺点,本文提出了一种多级定位方案,进一步提高了检测精度和可靠性。

我们已经在两个常用的车辆检测数据集(KITTI车辆基准[2]和PASCAL
VOC2007汽车数据集[1])上评估了我们的方法。我们的方法在KITTI车辆检测基准上实现了91.67%的Ap,显著超越了最近的结果[15-17]。此外,我们还对PASCAL
VOC2007汽车数据集进行了实验。实验结果表明,与基线和相关方法相比,我们的RV-CNN模型具有了一致且显着的性能提升。

2·相关工作

在本节中,我们将简要回顾一下最近关于一般物体检测和车辆检测的工作。

通用目标检测是近年来研究的一个活跃领域,有着大量的前期工作。[3]中的级联式检测器是最早实现相对高精度实时检测的方法之一。这种结构已广泛用于实现人脸[3],[18],行人[19]和车辆[20]的滑动窗口探测器。基于部分的模型也是文献中最强大的物体检测方法之一,其中可变形的组件模型(DPM)[5],[21]是一个很好的例子。该方法采用定向梯度直方图(HOG)特征作为输入,并利用由根滤波器和组件滤波器组成的星形结构来表示高度可变的物体,使其能够检测出被严重遮挡的物体。

最近,深度卷积神经网络(CNN)表现出了卓越的性能,在各种视觉任务中占据了最高精度基准[22-26]。这些工作提出了大量的方法[7],[8],[27-36]解决了CNN模型的问题。在这些方法中,具有卷积神经网络(R-CNN)框架[7]的区域已经取得了很好的检测性能,并成为对象检测的常用范例。其基本步骤包括使用选择性搜索的建议目标生成[9],CNN特征提取,基于CNN特征的对象候选分类和回归。

然而R-CNN带来了过多的计算成本,因为它为数千个建议目标重复提取CNN特征。为了加速R-CNN中的特征提取过程,提出了空间金字塔汇集网络(SPPnet)[28]和基于快速区域的卷积网络(Fast
R-CNN)[29]。其缺点是仍然采用自下而上的建议目标生成,这是效率的瓶颈。相反,在[8]中提出了一种区域生成网络(RPN),它与检测网络共享全图像卷积特征,从而实现了几乎无成本的区域生成。MS-CNN
[15]由提议子网和检测子网组成。在提议子网中,在多个输出层执行检测,以便匹配不同尺度的对象。这种方案也用于SSD [32]和TextBoxes
[37]。另一个有趣的工作是YOLO [31],它在7x7网格内输出对象检测。该网络以40fps运行,但检测精度有所降低。

大多数这些深度模型都针对一般物体检测。为了更好地处理被遮挡车辆的检测问题,在[38]中的一个DPM模型提供的根和组件分数配置上使用了第二层条件随机场(CRF)。最近,在[39]和[40]中提出了一个和或结构,以有效地将遮挡配置与经典的DPM进行比较。在[41]中,作者建议将车辆检测和属性注释结合起来。此外,改进模型泛化的一种常见方法是学习对象类[20]中的子类别。子类别已被广泛应用于车辆检测,并提出了几种子类别分类方法[42-45]。在[42]中,使用局部线性嵌入和HOG特征以无监督的方式学习学习对应于车辆方向的视觉子类别。参考文献[43]根据对象的视角执行聚类,以发现子类别。在[45]中研究了区分性子分类,其中聚类步骤考虑了负面实例。最近,[13]提出了一种新的对象表示,即三维体素模式(3DVP),它共同编码对象的关键属性,包括外观、三维形状、视点、遮挡和截断。该方法以数据驱动的方式发现3DVPS,并为3DVPS训练一组专门的检测器。在[46]中,作者利用3DVP子类别信息训练子类别卷积层,输出特定位置和比例下某些子类别存在的热图。在我们的工作中,我们将子类别分类作为改进基于CNN的检测性能的多任务的一部分,并且可以使用在[13]、[42]和[43]中获得的子类别标签来实现该组件。

3·具体检测过程     

在本节中,我们描述了用于解决车辆检测问题的多任务深度卷积神经网络。对于每个输入图像,我们的方法包括三个主要阶段。首先,我们生成一个由多尺度区域生成网络(RPN)[8]获得的对象提议池。然后我们使用多任务CNN模型来预测每个RoI的属性。根据回归结果,一些提案将由二级回归网络处理。最后,我们采用有效的投票机制来优化每个RoI的最终得分。此外,由于我们可以获得子类别信息,因此我们引入了子类别感知的非极大值抑制(NMS)来更好地处理遮挡。最后,我们可以获得在实际应用中非常准确的预测框。

A.多任务损失函数

最近,多任务学习已经应用于许多计算机视觉问题,特别是在缺乏训练样本的情况下[12]。多任务学习的目的是在同时解决多个相关任务的同时,加强信息共享。这种共享已经被证明可以提高部分或全部任务的性能[12],[47],[48]。对于车辆检测问题,我们通过子类别,区域重叠,边界框回归和每个训练RoI的类别作为多任务学习框架,丰富了监督信息。接下来,我们将详细解释多任务CNN模型的提议方法的细节。图2显示了所提出的多任务学习框架的总体流程。如图2所示,在生成RoI之后,我们将[29]中提出的RoI池化层应用于每个RoI的池卷积特征。然后,汇集的卷积特征用于完成四个任务:类别分类,边界框回归,重叠预测和子类别分类。最后一部分“偏移方向预测”将在下一节中描述。每个被训练的RoI都标有真实类和真实边界框回归目标,类似于[29]中的设置。通常,该监督信息用于设计分类损失L
cat和边界框回归损失L loc。

接下来,第三个任务是子类别分类。对于复杂和杂乱的城市场景中的车辆检测,遮挡和视点是关键方面。如在[40]中,处理遮挡需要能够捕获组件层面上遮挡的基本规律(即不同遮挡配置),并且明确地利用与遮挡共同发生的上下文信息,这超出了单车辆检测的范围。此外,不同视图中的2D图像也难以识别。这些显着增加了类内差异。为了表示遮挡和视点变化,我们采用最近在[13]中提出的3D体素模式(3DVP)的概念。
3DVP是一种对象表示,它共同捕获与外观,三维形状和遮挡掩膜相关的关键对象属性。参考文献[13]提出在网络上的存储库中利用3DCAD模型,例如Trimble3D
Warehouse,并将这些3D CAD模型与2D图像一起标注以构建3D体素示例。更具体地说,对于训练集中的每个图像,使用从预定义的模型集合中选择的3D
CAD模型来标记图像中的对象,选择的模型是有与真实3D长方体最接近的纵横比的模型。然后使用相机参数将所有标注的3D
CAD模型投影到图像平面上并获得深度排序掩模。在下文中,深度排序掩模确定投影的3D CAD模型的哪个像素是可见的,被遮挡的或截断的。
3DVP表示一组三维体素示例,这些示例共享在其三维体素模型中编码的类似可见性模式。参考文献[13]通过在统一的三维空间中聚类三维体素样本来发现3DVP。有关详细信息,读者可以参考他们的项目网站。

图2.多任务框架的图示

在[13]之后,我们对刚性物体(即KITTI中的车辆)采用3D体素模式(3DVP)表示,它在聚类过程中共同模拟物体姿态,遮挡和截断。然后每个3DVP被认为是一个子类别。图3显示了Kitti车辆数据集中不同子类别车辆的几个示例。通过这些附加的注释,CNN模型可以捕获更多关键信息进行检测。如图2所示,CNN模型在K
+ 1个子类别上输出离散概率分布(每个RoI),p =(p 0,...,p
K)。与往常一样,p是由一个全连接层的k+1个输出上的softmax计算的。因此,子类别分类的损失公式为Lsub(p,u) =
logpu,它是真实分类u类的对数损失。

图3.每一列为一个子分类

此外,我们发现预测RoI与相应的标注过的数据之间的重叠对其他任务是有益的。对于重叠回归,我们使用下列方程中的损失。

其中

是一种强大的L1损耗,其对异常值的敏感性低于L2损耗,这需要仔细调整学习速率以防止爆炸梯度。
Op表示由CNN模型预测的重叠,并且根据ROI和标注过的数据计算Og。

总结,整个多任务框架的损失可以表述为:

上式中的超参数λ1,λ2,λ3用于控制四个任务损失之间的平衡。我们在验证数据集上调整了这些超参数。具体地,在实验中将λ1,λ2,λ3设定为1,10,1.2。

B.感兴趣的区域投票

我们观察到检测分数不能很好地表示有界区域的可靠性或置信度。在[14]中,作者还认为,高于某一水平的检测分数与与框提议的最优性没有很大关系。实际上这并不奇怪,因为分类器被训练为从背景中分类对象而不是对IoU进行排序。另外,预测框的分数由RoI的卷积特征计算,其与回归框略有不同,这也是值得怀疑的。为了解决这个问题,我们使用邻近的RoI来优化其得分。首先,我们使用CNN模型同时预测从每个RoI边界到标注过的数据边界的偏移方向。然后我们可以得到四个变量来指示实际的方向。在我们的方法中,我们分别用D
l,D t,D r,D d表示这四个变量,分别用于RoI的左边界,顶边界,右边界和下边界。例如,D
l的可能预测如下:“向左转”,“向右转”,“在此处停止”和“此RoI周围没有实例”。对于D
t,“上升”,“下降”,“在此处停止”和“此RoI周围没有实例”是可能的训练标签。这些标签可以根据ROI的位置和训练前的地面实况来计算。

如前所述,我们使用多尺度RPN模型来生成数千个对象提议。利用所提出的多任务CNN框架,预测每个RoI的边界框偏移,得分和方向。然后结合每个ROI的坐标和相应的框偏移量,我们可以得到大量的预测框,这比实际的图像中的物体数量大得多。因此,我们将一个图像中的所有预测框分成组,每组对应一个对象。分组方案简单如下:我们选择具有最高分数的预测框作为种子,并将具有高IoU的框与种子放入一个组中。此过程将迭代,直到分配了所有框。该方案在物体检测中很常见[5],[7],[8],[29]。我们的目标是为每个组找到最佳对象预测框。以前的方法直接选择具有最高预测分数的预测框。

在这里,我们利用来自每个预测框的相邻RoI的附加信息来优化分数。如果预测框的位置与其相邻RoI的预测方向一致,则该预测框更可靠。否则,应减少预测框的最终得分。为清晰起见,假设预测框具有坐标和得分s。并且我们用B表示它的相邻RoI,用N表示B中RoI数量,用si表示的第i个RoI的得分,用表示预测方向。然后我们制定投票方案,如下所示:

其中

其他r
b(b,b i)函数遵循与r l(b,b
j)相同的规则。在所有预测框的得分重新计算后,我们可以应用NMS得到最终的结果。

这种RoI投票方法有几个优点。首先,不同于被训练以从背景中对对象进行分类而不是对IoU进行排名的类别分类器,我们的RoI投票方法预测朝向标注过的数据的偏移方向,这对于位置是合理的。此外,该RoI投票方法利用来自相邻RoI的统计信息,这使得结果更加稳健和可靠。其次,与基于CNN的回归任务解决检测问题的方法相比,我们的方法采用了更加文件的分类模型,既简单又有效。CNN模型在分类任务上通常比回归任务取得更好的性能[49]。由于具有softmax损失的偏移方向的分类使得模型在真实方向上最大限度地激活,而不是在边界框坐标的精确值上激活。此外,预测朝向标注过的数据的方向可以作为多任务框架的一部分来实现,这不会给计算带来额外的负担。

C.
多级定位

在Fast RCNN[29]等常见的目标检测流程中,我们发现了两个缺点。首先,由于许多检测基准要求IOU超过0.7才能评估正确的定位,因此区域生成网络[8]经常无法达到100%的召回率。这将对以下检测网络构成挑战,因为它必须在没有高质量建议的情况下处理一些困难的案例。其次,在快速的R-CNN中,用于进行NMS的提案的分数不准确,因为它们在回归前采用了特征。这两个因素将降低这些检测器在实际车辆检测任务中的性能。因此,我们引入了一个多层次的定位框架,以粗到细的方式解决这两个问题。具体来说,我们的定位方案从区域生成网络[8]开始,通过迭代评分和细化它们的坐标来工作。在这里,我们实施了一个两阶段方案。首先,我们将所有与标注过的数据重叠大于0.5的提案作为培训第一阶段回归网络的正样本。由于我们发现RPN在直接使用0.7时未能召回所有车辆,而在0.5时所有车辆都有正面建议。在测试阶段,该回归网络可以将召回率从97.8%提高到98.9%。在第二阶段,我们使用来自第一阶段的预测边界框来训练第二级目标检测网络,使用与标注过的数据重叠大于0.7的建议作为阳性样本。在这个阶段,大多数车辆都有高质量的建议,这使得回归任务相对容易。此外,我们发现第一级网络的输出提供了强有力的建议,使第二网络产生更准确的定位。另外,由第二网络计算的边界框偏移通常很小,这使得预测框的得分更准确。

图4.在复杂的交通场景中,标准流程会导致漏检

(a)原始图像(b)NMS之前的部分车辆检测结果

考虑到速度,我们对所有提案进行一级定位,并选择其中的一部分进行二级定位。选择的规则是:如果一个提案与预测框有很大的重叠,我们将不会进行第二次定位。我们认为,如果重叠度很大,评分是准确的,提案不需要再次回归。在实验部分,我们将此阈值设置为0.9。在多级定位之后,我们获得了一系列检测结果,这些检测结果都具有高召回率和准确定位。我们考虑重用卷积层功能来进行多级定位。但是,性能增益并不令人满意。因此,对于第二阶段,我们训练一个新的回归网络。我们采用这种设计是因为我们希望通过相应边界框的卷积特征尽快准确地计算提案的分类分数。

D.子类别的NMS

在复杂的交通场景中,遮挡使得车辆检测非常具有挑战性。例如,图4中的蓝色圆圈中有两辆汽车彼此靠近,它们的IOU大于0.7。虽然我们之前的管道可以检测到它们的位置并为它们分配高分,但标准的后处理步骤NMS将过滤其中一个分数较低的边界框。如果我们将NMS的阈值设置得更高,则可以保留两个边界框。

但是,检测结果的精度会非常低。为了解决这个难题,我们引入了子类别的NMS(subNMS)方法。在我们的多任务框架中,我们可以获得子类别信息。由于蓝色圆圈中的两辆车属于不同的子类别,我们的subNMS利用级联管道。首先,我们为属于同一子类别的边界框执行标准NMS,其严格阈值为0.5。然后,NMS将处理所有边界框,其阈值为0.75。通过所提出的subNMS,检测结果的精确度和召回率可以达到平衡。

E.实施细节

我们的框架是使用caffe[50]实现的,运行在配置了Nvidia
M40
GPU卡的工作站上。我们不从零开始培训我们的RPN和检测CNN,而是应用在ImageNet[22]上预训练的模型来初始化卷积层和前两个全连接层,然后对整个网络进行微调。在KITTI基准测试中,我们对第一级定位的AlexNet
[22]和第二级定位的GoogleNet [51]进行了微调。

为了解决尺度的变化,我们使用多尺度方式来训练第一级定位。由于GPU内存限制,我们无法直接培训多尺度GoogleNet检测网络。因此,我们独立裁剪和调整RoI,不在同一输入图像中共享卷积计算。用于多任务学习的全连接层分别由标准差为0.01和0.001的零平均高斯分布初始化。偏差初始化为0。所有层对权重使用1的每层学习率,对偏差使用2的每层学习率,全局学习率为0.001。在对KITTI训练数据集进行训练时,我们运行SGD进行30k小批量迭代,然后将学习率降低到0.0001并训练另外10k次迭代。学习在40,000次迭代后停止,并且在学习期间,将conv1-1到conv2-2的层参数固定,以实现更快的训练。

在对VOC07  trainval
car数据集进行训练时,我们运行SGD进行8K小批量迭代,然后将学习率降低到0.0001,再进行2K迭代培训。使用0.9的动量和0.0005的参数衰减(基于权重和偏差)。

4·实验

在本节中,我们在两个公共数据集上评估我们的方法:KITTI车辆检测基准[2]和PASCAL
VOC2007汽车数据集[1]。

A.KITTI验证集的实验

KITTI数据集由7481个训练图像和7518个测试图像组成。训练中的物体总数达到51867,其中汽车仅占28742。KITTI汽车检测任务的关键难点在于大量汽车尺寸较小(高度<40像素)并且被遮挡。

由于KITTI测试集的基本真实注释不公开,我们使用[46]的训练/验证分割来对我们的框架进行分析,其中分别包含3682个图像和3799个图像。对于KITTI的验证,我们使用125个子类别(125个3DVP用于汽车),而对于KITTI的测试,我们使用227个子类别(227个3DVP用于汽车)。关于子类别的数量,我们遵循[13]中的配置。
3DVP是一种数据驱动方法,子类别的数量是聚类算法中使用的一个超参数。对于验证数据集,仅使用训练数据集来发现3DVP模式。对于测试数据集,训练数据集和验证数据集的结合更加复杂,所以子类别的数量更多。

图5 
检测成功和失败案例示例(绿色框表示正

确定位,红色框表示错误报警蓝色框表示检测缺失)

我们根据KITTI基准[2]建议,在三个难度级别(简单,适度和难度)上评估我们的识别结果。为了评估物体检测精度,在整个实验中报告平均精度(AP)。

汽车的KITTI基准采用0.7重叠阈值。表I显示了三个类别的检测结果,其中我们证明了各种组分对KITTI的RV-CNN性能的影响。从表I可以看出,多任务学习,RoI投票和多层次本地化的组成部分都是有效的设计。对于那些中等和难度级别的汽车,我们的方法可以通过更多组件实现更好的性能。

6.jpg

0.jpg

为了展示我们方法的稳健性,我们给出了图6中不同IOU阈值下的AP。此外,图5显示了我们在KITTI验证数据集上的检测结果的一些示例。我们可以看到,检测中失败的大多是那些难以看到的被遮挡的汽车。将来,我们需要将CNN模型与一些遮挡推理机制相结合,以更好地处理这些困难案例。

B.KITTI测试集的实验

为了与KITTI检测基准的最新方法进行比较,我们使用所有KITTI训练数据训练我们的RPN和RV-CNN,然后将我们的结果提交到官方网站,在KITTI测试集上测试我们的方法。

表2列出了三类检测结果,我们将我们的方法(RV-CNN)与KITTI评估的不同方法进行了比较。这些结果是在2017年3月提取的。最近,评估脚本已经更改,并提供了原始结果。我们的方法在基于中等难度结果的所有已发布方法中排名第一。实验结果证明了我们的CNN能够处理具有更多遮挡和截断的车辆。图7给出了中等类别的KITTI测试装置的精确召回曲线。

C.VOC Pascal
2007车辆数据集的实验

我们还将我们方法与几个竞争模型:DPM
[5],RCNN [7],快速RCNN [29]和更快的RCNN [8]在另一个公共数据集上进行了比较:PASCAL
VOC2007汽车数据集[1]。这些方法在一般物体检测方面获得了最先进的性能,并且这些代码是公开可用的。

13.jpg

图8.PASCAL2007汽车数据集上的精确召回曲线

我们在VOC-RELEASE5[65]中采用训练好的车辆模型用于DPM,而基于CNN的其他模型和我们的方法则基于预训练的VGG16模型。提取PASCAL
VOC 2007数据集中的训练集和测试集(总共1434个图像)中包含的所有图像以进行评估。

汽车检测评估标准与PASCAL目标检测相同。联合交叉(IoU)设置为0.7以以确保定位正确。图8显示了PASCAL
VOC2007汽车测试集的精确召回曲线。由于3DVP需要标注过的数据3D注释(立方体)和相机参数,我们没有找到PASCAL
VOC的这些标签。因此,我们删除了PascalVOC数据集实验中的子类别分类任务。APS分别为63.91%(我们的模型)、38.52%(RCNN)、52.95%(快速RCNN)、59.82%(快速RCNN)和57.14%(DPM)。尽管这个数据非常小,但我们的方法依旧胜过了其他方法。

5·结论

在本文中,我们开发了一种基于多任务深度卷积神经网络(CNN)和感兴趣区域(RoI)投票的新型车辆检测方案。KITTI和PASCAL2007汽车数据集的实验结果表明,我们的方法优于大多数现有的车辆检测框架。在未来,我们将探索一个更有效的投票机制的端到端框架。此外,我们希望将CNN模型与一些遮挡推理方法相结合,以更好地处理这些困难案例。

大众-福特联盟正式官宣!是电动化与自动驾驶提速信号吗?

知识讲堂betty 发表了文章 • 0 个评论 • 330 次浏览 • 2019-01-19 11:23 • 来自相关话题

传感器联盟、跨界并购、软件合作不断的自动驾驶世界现在就是个混乱的局面,不过今天这场大戏又加了点戏码,疯传多时的大众-福特联盟终于正式落地。 “这是一个飞速变化的时代,以第一项正式协议为起点,我们正在构建的联盟将提升两家公司的竞争力。”大众 CEO ...查看全部
传感器联盟、跨界并购、软件合作不断的自动驾驶世界现在就是个混乱的局面,不过今天这场大戏又加了点戏码,疯传多时的大众-福特联盟终于正式落地。
“这是一个飞速变化的时代,以第一项正式协议为起点,我们正在构建的联盟将提升两家公司的竞争力。”大众 CEO Herbert Diess 说道。同时,他还与福特 CEO Jim Hackett 共同宣布,两家公司的合作并不涉及交叉持股,双方将共同开发中型皮卡和商用车型,最早于 2022 年发布。两巨头表示,这一合作“将让双方 2023 年的税前营收成绩增色不少。”
除此之外,大众与福特还签署了“谅解备忘录”,双方将在电动车、自动驾驶和移动出行服务等领域展开深入合作。不过,此类合作的细节信息暂时还未完全敲定。
Diess 对于这个时代的认识确实相当深刻,过去十年里汽车行业发生了翻天覆地的变化,类似特斯拉、Waymo、Aurora 和 Argo AI 等公司为整个产业注入了大量新鲜血液。当然,它们也一并带来了恐慌的情绪。
显然,大众和福特相信,将两家公司绑定在一起不但能帮它们生存下来,还能顺道迎来第二春。
不过,商业的世界中哪有容易二字,两家公司必须在未来找到立足点,而那个未来时代驾驶员都会变得无关紧要。最可怕的是,通向自动驾驶未来的道路并不清晰,老牌汽车制造商要提供什么服务才能焕发新生呢?它们又必须拥有哪些技术?过去几年来,福特和大众一直在探究这些问题的不同答案,而携起手来两家公司肩上的压力就能减轻不少。专栏作家 Pete Bigelow 就指出,经历了迷惘期的各家公司已经意识到,怎样才算把研发经费花在刀刃上。
眼下,无论大众和福特都有了自己的自动驾驶软件团队。大众集团的“自动智能驾驶”部门隶属于旗下奥迪品牌,该部门已经拥有 150 多名员工,正在打造完整的自动驾驶软件堆栈(奥迪承诺要在 2023 年之前向电动和自动驾驶领域投入 160 亿美元)。同时,大众还是自动驾驶新创公司 Aurora 的合作伙伴,它与 Mobileye 在以色列的测试项目也很快就会落地。
福特在自动驾驶领域更是布下重兵,它们先是为 Argo AI 砸了巨资,随后又分拆自动驾驶部门,要在 2021 年落地全自动驾驶打车服务。眼下,福特的路测经验是大众所不能比拟的。此外,它们还在各种“移动出行”技术上花了大量时间和金钱,收购了类似交通软件开发商 TransLoc,运输云平台 Autonomic,共享滑板车公司 Spin(福特也搞过共享单车)和最近才刚刚被砍的穿梭车服务 Chariot。显然,福特是在寻找到底什么才是连接用户和交通的最佳方式,以及用户心目中的未来交通服务到底是什么样。
在电动化方面,大众踌躇满志,因为它们在 MEB 架构上已经投入数十亿美元了,该平台将成为其量产版电动车的基础。反观福特,其电动化脚步则慢了不少。
“这世界上没有哪家 OEM 商能在电动化上像大众一样稳健了,现在我们准备分享这一优势。”Diess 在新闻发布会上讲道。
不过,在被问到 MEB 是否会授权给福特时,Diess 的回答让人有些摸不着头脑,因为他表示 MEB 是专为欧洲和中国准备的。希望 Diess 只是听错了问题,毕竟大众在欧洲和中国市场的强势地位是福特可望而不可及的。
福特方面,CEO Hackett 对电动车的态度也没有那么坚定。他表示:“我们还是得向世界证明,它们是在一步步完成电动化。”这一工作能顺利完成的前提则是可大规模量产且价格实惠、产品力突出的电动车。
眼下,谁也无法断定福特与大众的合作能结出多少硕果。有消息称 Argo AI 也是双方谈判的焦点,此外还有传闻称大众也要给 Argo 投资至少 10 亿美元,但具体情况我们还一无所知。福特发言人 Alan Hall 则表示:“我们不会对还在进行中的谈判妄加猜测。”
关于自家公司在福特-大众联盟中扮演的角色,Aurora 发言人 Khobi Brooklyn 不愿详谈。“随着 Aurora 在整个交通运输生态中逐步扎根,我们在车辆、交通网络和车队管理方面都会与其他公司进行深入合作。Aurora 相信,我们能将自动驾驶技术的益处安全、迅捷且广泛的提供给用户。”除了大众,Aurora 还有现代和拜腾等合作伙伴。
需要强调的一点是,大众与福特其实有很强的互补性,它们能充分利用对方的区域优势和监管环境。举例来说,大众在南美、非洲和中国有很强的存在感,但在美国市场却一直打不开局面,而这里是福特的主场。“从大众的角度来看,与美国厂商合作好处多多,至少在自动驾驶的监管方面美国就比欧洲要宽松得多。”Diess 解释道。