自动驾驶的车辆检测:基于深层学习框架的激光雷达与视觉融合方法外文翻译资料
2022-07-20 15:23:42
英语原文共 6 页,剩余内容已隐藏,支付完成后下载完整资料
自动驾驶的车辆检测:基于深层学习框架的激光雷达与视觉融合方法
摘要:自动驾驶汽车技术近年来取得了巨大的进步,然而,它仍然缺乏强大的车辆检测感知系统。随着近年来深度学习研究的不断深入,本文提出了一种通过深度学习框架,融合了激光雷达与视觉的车辆检测系统。它由三个主要部分组成。第一部分通过考虑LIDAR点云,为图像中潜在的汽车位置生成种子建议。第二部分通过探索提案网络中的多层信息来提炼投标箱的位置,最后一部分通过与提案网络共享部分层次的检测网络执行最终检测任务。评估结果表明,该框架能够更高效地生成高质量的提案箱(平均召回率为77.6%),并以最先进的准确度(平均精确度89.4%)检测汽车。随着框架结构的进一步优化,它有很大的潜力可以应用到自动驾驶汽车上。
1、介绍
人们普遍认为,自动驾驶汽车替代人工驾驶汽车以减少车祸,交通堵塞等问题只是时间问题[1]。然而,在此之前仍然存在几个差距,其中之一就是汽车检测。
随着近年来计算机视觉的发展,特别是深度学习,基于视觉的汽车检测算法变得越来越流行和强大。根据KITTI [2]数据集识别效果所显示的,靠前的算法都是的基于深度学习的算法。
一般的深度学习算法由两个步骤组成:区域提议和区域分类。一组区域提议算法利用图像低级特征来为潜在目标区域的每个图像周围提供大约2000个候选区域,例如,选择性搜索[4]和EdgeBox [5]。虽然它们在ImageNet和PASCAL VOC上几乎没有问题,但是,当它们应用于由大规模变化的汽车组成的KITTI数据集时,这些方法表现很差[6]。为了改善,最近提出了另一种区域提议算法,其实施共享卷积神经网络(CNN)以生成区域提议,例如,更快的R-CNN [7],R-GoogLeNet [8],MS-CNN [9]和Sub-CNN [6]。为了覆盖大范围,前两种方法在每个识别框使用多种尺度和纵横比,而Sub-CNN使用图像金字塔和CNN特征图插值。 然而,这些方法仍然无法有效处理规模问题,特别是对于小型物体。
另一个观察结果是,当CNN层更深时,由于其间的池化层,对于小物体剩余的信息变得更少并且甚至减少到最后CNN层的单个像素。 因此,由于信息有限,检测性能不稳定,对小物体的噪声敏感[10]。 但是,如果网络不够深,检测效果会大打折扣。几种方法开始研究如何在以前的CNN层中的信息可用于检测小物体,例如, MS-CNN [9]和HyperNet [11]。
图1:pc-cnn激光点云与图像融合的汽车检测框架
利用上述问题并考虑到尺度与目标深度直接相关,本文提出了一种新的深度学习框架,将激光雷达点云融入区域建议生成过程。我们将该框架命名为PC-CNN,其中PC代表Point Cloud。 如图1所示,它由三个主要部分组成,区域种子生成,区域提议网络和检测网络。 区域种子生成过程通过考虑LIDAR的深度信息来生成初始边界框。 区域提议网络根据边界框大小优化不同CNN层的初始边界框。检测网络与区域提议网络共享较低层,进一步细化边界框并将可能性分配给每个边界框。第三节详细阐述了详细的网络结构。
2、相关研究
A.区域建议
如前所述,[12],[7]和[9]中的提议是基于在整个图像上均匀分布的锚箱生成的。这表明可以生成大量的冗余和背景边界框。在我们的方法中,区域种子生成过程首先移除地平面点,以便提案框总是围绕地面上的物体。它更加高效和具体。在[13]中,提案框根据图像特征对它们进行评分。但它需要很多先前的信息,例如类语义,轮廓,对象形状,背景,实例语义和位置。
文献中的一些作品也使用3D信息进行区域建议生成。在[14]和[15]中,首先实现了点云分割,将每个分段投影回图像,并将覆盖区域用作进一步检测的提议边界框。不同之处在于[15]实现了三维邻接聚类算法[16],而[14]将分割投影到MRF(马尔可夫随机场)能量最小化。为了进一步提高表现,提案框通过CNN进一步重新排列[17],CNN将视差图和距离考虑在内。但是这些方法强烈地依赖于分割结果,并且倾向于遗漏远处的物体,因为LIDAR只能返回少量点。在我们的方法中,只要物体可以被LIDAR检测到,就可以生成一个合适比例的提案箱。
B.多层检测
由于CNN框架中的池化层(降维),可以保留在最后一层的小物体的信息非常有限,使得最终检测对噪声更敏感。已经发现上层的信息可以帮助提高最终的检测性能。在[11]中,通过归一化和连接来自较低层的特征映射来产生超特征映射。然后将该超级特征映射输入到完全连接的层以用于区域建议和检测。在单发检测(SSD)网络[18]中,区域提议是基于锚点框生成的。每个盒子在六个不同的层次上产生检测结果,并在稍后阶段抑制结果。在SDP网络[10]中,该区域提案来自EdgeBox [5],并根据箱体高度分为三组。每个小组在不同层面产生检测结果,
例如小方块在图层con3_3上产生结果,而在图层conv5_3上产生大方块。 SSD和SDP都使用多层信息进行最终检测,并且不包含任何提案提炼过程。由于最初提案箱在地面实况箱方面存在较大误差,因此其最终检测结果恶化。
因此,在MS-CNN [9]中,多区域信息在区域提议过程中被探索,而不是检测过程。区域提议在不同层使用不同大小的锚箱,例如,层det_8为40times;40,层det_64为320times;320。所有来自不同层次的提议都被聚合并输入到检测网络,该检测网络与提议网络共享前几个层,并且只有一个附加层而没有进一步探索多层信息。 MS-CNN在已发表的作品中获得了KITTI基准网站的最新技术。
我们的方法与MS-CNN类似,但区域提案网络和检测网络存在差异。在我们的方法中,首先使用点云生成种子提议,并基于盒子大小将其分成三组,类似于SDP网络。区域提案网络根据区域大小对不同层次的区域进行改进。与MS-CNN类似,这些框被聚合到检测网络中。为了保持小信息的丰富信息,与标准网络如Faster RCNN [7]相比,MS-CNN中的检测网络相对较浅。但是浅层网络将无法为大型物体演变强大的CNN特性。为了解决这个问题,在我们的检测网络中,我们将一层GoogLeNet [19]作为最后一个检测层进行混合,并保持上层与区域提议网络层共享。
3、检测框架
在本节中,我们将详细阐述PC-CNN的细节。如图1所示,它将图像及其相应的点云作为输入,并通过用边框突出显示来检测图像中的汽车。点云生成种子提议框,区域提议网络通过探索多层信息来提炼种子的位置,检测网络聚合所有区域提议并进行最终检测。
A.地区种子生成
这一步是基于来自LIDAR的点云生成种子边界框。为了捕获点云中所有可能的对象,它不实现任何分割或聚类算法。它由三个主要部分组成,包括预处理,距离依赖滤波和多比值盒生成。
预处理步骤首先对点云进行虚拟化,然后移除摄像机视野外的那些点。然后基于随机样本一致性(RANSAC)算法提取地平面。那些位于平面以下,平面以上或高于平面以上某个高度(例如2米)的点被移除。距离相关滤波步骤首先根据它们到激光雷达的距离将这些点分成三组。每组投影到图像上。图像被分成等距网格,其大小取决于点组。例如,对于包含较近点的组,网格大小较大。对应关系列于表I中。对于一个网格内的点,它们在图像中的平均位置和相应的到LIDAR的平均距离可以很容易计算出来。这两个平均值将用于在下一步中生成边界框。图2描述了距离小于15米(绿点)和大于30米(蓝点)的一组点的过滤过程示例。 青色网格尺寸为64times;64,16times;16网格未显示,以提高可视性。
图2:距离小于15m(绿色)和大于30m(蓝色)的距离相关滤波。 青色网格尺寸为64times;64,16times;16网格未显示,以提高可视性。 红色圆圈表示一个网格内点的平均位置。
图3:共享区域提议和检测网络(左侧为共享层,右侧为区域提议网络,右下方为检测网络,输入和输出以粗体突出显示)。
表I:距离和网格大小之间的关系
红色圆圈表示同一网格中点的平均位置。
红色圆圈与[7]和[9]中描述的锚点类似,在其周围将生成边界框。但我们方法中的红色圆圈有深度信息,可用于确定边界框的高度,并确保它们落在地面或天空以外的物体上。汽车的高度大约为1.6米,因此可以根据平均深度和摄像机固有参数来估算每个红圈上包围盒的高度。对于较高的车辆(例如厢式货车,卡车),通过建议和检测网络回归后,它们的边界框也可以恢复。
要生成一个边界框,另一个要指定的变量是宽度/高度比。为了覆盖各种车辆的方向,我们选择了两个比率,2.0和1.0。关于边界框的其余未知信息是该框相对于红色圆圈的相对位置。假设红色圆圈是盒子的中心很简单。但是对于如图2所示的一些圈子,它们更接近于汽车的边界而不是中心。为了确保边界框与汽车具有更大的IoU(交汇点),我们建议使用九个相对位置,它们按以下模式定义:边界框的中心可以留给红色圆圈25%框宽,在同一列和右边红色圆圈的25%;同时它们可以高出盒子高度的25%,在相同的高度下降25%。这一点尤为重要,特别是当汽车仅剩下一个红圈时,它不在汽车中心。
综上所述,在每个红色圆圈上,生成18个(2times;3times;3)边界框,共享相同的高度。对于那些不包含任何LIDAR点的网格,将不会生成边界框。通过融合激光雷达点云,我们能够生成具有更大比例的种子边界框提案,并确保这些框都位于物体周围,而不是地面或天空。因此,CNN网络不会浪费资源来评估无用的信息。对于KITTI数据集中的图像,平均每个图像生成大约1300个种子提议。
B.区域提案网络
该网络将种子边界框提案细化为更精确的位置,以便最终检测网络在盒子回归中将面临更少的错误。它根据种子建议的高度探索多层信息。详细的网络结构如图3所示,其中左侧为共享层,右上侧为区域提议网络,右下方为检测网络。主干(图3中的顶行)遵循标准VGG网络架构[20],并在ROI(感兴趣区域)合并层和完全连接(FC)层之前的conv5_3层结束。在更快的RCNN [7]中定义的ROI池层将大型种子盒作为输入,并将这些盒转换为具有相同维度的向量。两个FC层执行框回归和概率估计,与正常的多层感知器神经网络相同。
在conv4图层之后引入两个分支。第一个分支(图3中的第二行)照顾中型种子盒,而第二分支(图3中的第三行)用于小型种子盒。
通过我们的实验,我们注意到在conv3图层之后直接捕获的CNN特征在精炼输入框和推导它们的概率方面没有效果和稳健性。因此,对于第二个分支,我们不是直接从conv3图层获取信息,而是在conv4图层之后引入一个反卷积图层。去卷积层在conv4上采样特征图,并将其大小与conv3的大小相匹配。在[9]和[21]中应用了类似的概念,并且已经表明它可以提高性能而不需要额外的存储和计算成本。
表II中列出了不同组的箱高度范围和不同层的相应比例因子。缩放效果来自最大池化层,其中输入要素图的维度减半(假设最大化步长为2)。每个组中最小方框的高度将在相应图层中缩小为7个像素,与正常7times;7 ROI池大小相匹配。因此,通过以这种方式对盒子进行分类和探索相应层次的CNN特征,我们确保足够的信息可以通过FC层传播。
表II:种子箱高度和比例因子
来自每一层的精炼盒子将被聚合,而低概率的盒子将被丢弃。 然后,所有剩下的盒子将被传递到检测网络进行最后的处理。
C.检测网络
如图3所示,检测网络与提案网络共享卷积层,并将来自提案网络的细化边界框作为ROI池层的输入。在这个网络中,由于提案网络能够提供高质量的边界框(高IoU),所以没有探索多层信息。这也节省了计算能力和内存。
由于聚合框包含小框,为了确保足够的信息保留,类似于[9],ROI池层采用基于反卷积层而不是其他更高层的信息。正如所提到的,它是一个浅层网络,为了演化足够多的CNN特征,我们实现了一层GoogLeNet [19],如图4所示。然后通过Concat层将特征映射进行连接。 GoogLeNet层有能力探索功能图,从而学习更多有用的信息。然而,由于整个框架(包括提议和检测网络)和GPU内存限制的复杂性,我们并未用GoogLeNet层来取代其他卷积层。
图4:GoogLeNet层图
D.网络培训和实施细节
在提案网络中,每个分支有两个兄弟输出图层,一个是类概率,另一个是精确的框坐标,但是通过相对于种子提议框的尺度不变转换和对数空间高度/宽度偏移进行参数化。在[7]和[22]之后,在每个分支处定义了多任务丢失函数,其由两部分组成,即类丢失和边界框回归损失。后面的部分仅适用于积极的种子盒。损失将沿着每个分支传回,以更新训练权重,并将在Conv_4层积累以进一步传播以更新较低层的权重。
边界框在其具有地面实况框的IoU大于0.5时定义为正;否则,它是一个负面的框。为了在没有偏见的情况下正确培训提案网络,必须按照一定的比例对每个类别(大,中,小)中的正负种子框进行抽样。这里我们使用0.5,一个积极的盒子和两个消极的盒子。
由于生成种子边界框的方式的性质,因此没有机制来平衡每个组的边框数量。因此,在训练过程中,我们不要求每个分支采样框的数量相同,这与SDP网络不同[10]。我们只在每个分支中指定正数和负数的最大数量。采用表3所示的抽样策略,其中P,Pm和Ps分别定义了正箱数量,最大正箱数量和抽样箱数量。相同的定义适用于负数N,Nm和Ns。我们不需要在培训过程中实施任何硬性示例挖掘策略[23],因为种子提案都是围绕对象生成的,并且包含大量的难题。
对于此提案网络结构,我们需要确保每个组至少存在一个种子提案框;否则,应该从训练集中丢弃该图像,或者将具有适当高度的随机边界框填充到空白组并传递到网络。
为了共同培训/优化共享网络,我们实施了两步策略。建议网络通过基于VGG-net的
全文共7274字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[8949],资料为PDF文档或Word文档,PDF文档可免费转换为Word
课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。