美文网首页
基于深度学习的自动驾驶技术综述

基于深度学习的自动驾驶技术综述

作者: V_爱一世春秋 | 来源:发表于2019-08-14 10:16 被阅读0次

    基于深度学习的自动驾驶技术综述

    综述:该文在行人检测技术方面介绍了基于卷积神经网络(CNN)模型的目标识别、检测技术与改进的区域卷积神经网络(R-CNN)、任务辅助卷积神经网络(TA-CNN)模型技术。在立体匹配技术方面简述了基于孪生网络的立体匹配的深度学习模型技术。在多传感器融合技术方面回顾了基于深度学习网络的视觉传感器、雷达传感器与摄像机传感器的多源数据融合技术。在汽车控制技术方面分析了基于卷积神经网络实现无人驾驶车辆端到端的横向与纵向控制技术。深度学习技术在自动驾驶领域的感知层、决策层与控制层的广泛运用,不断地提高感知、检测、决策与控制的准确率,并取得一定的成功,分析表明深度学习技术将加速自动驾驶技术的发展速度,为自动驾驶成为现实带来巨大的可能性。

    深度学习技术在自动驾驶领域取得了巨大成功,优点是精准性高,鲁棒性强,以及成本低。无人驾驶车辆商业化成为焦点和趋势。汽车企业、互联网企业都争相进入无人驾驶领域。

    谷歌(Google)公司于2010年开始测试谷歌无人驾驶车辆(Google driverless car)。其定位是实现所有区域的无人驾驶,即无需任何人为干预的车辆驾驶。图1为其核心架构。目前已经测试了48万km,并获得了合法试验车牌。其他公司如特斯拉、沃尔沃、宝马等公司也对无人驾驶技术进行了深入的研究,其近期定位是实现高速公路上的高级辅助驾驶。同时,中国的百度、滴滴等公司也对无人驾驶进行了大量的研究。

    图1 自动驾驶架构

    汽车行业是一个特殊的行业,因为涉及到乘客的安全,任何事故都是不可接受的,所以对于安全性、可靠性有着近乎苛刻的要求。因此在研究无人驾驶的过程中,对于传感器、算法的准确性和鲁棒性有着极高要求。另一方面,无人驾驶车辆是面向普通消费者的产品,所以需要控制成本。高精度的传感器有利于算法结果准确,但又非常昂贵(如激光雷达),这种矛盾在过去一直很难解决。

    如今深度学习技术带来的高准确性促进了无人驾驶车辆系统在目标检测、决策、传感器应用等多个核心领域的发展。深度学习技术,典型的如卷积神经网络(convolutional neural network,CNN),目前广泛应用于各类图像处理中,非常适用于无人驾驶领域。其训练测试样本是从廉价的摄像机中获取的,这种使用摄像机取代雷达从而压缩成本的方法广受关注。

    本文着重对深度学习在无人驾驶领域行人检测、立体匹配、多传感器融合与汽车控制核心技术上的发展近况进行概述。

    1 行人检测

    汽车行业对于行人的安全保障有着极高的要求。在自动驾驶领域,无人驾驶车辆必须具备通过车载传感器检测行人是否存在及其位置的能力,以实现进一步的决策。一旦检测错误则会造成伤亡,后果严重,所以对于行人检测的准确性要求极高。而行人检测这一核心技术充满挑战性,如行人姿态变化、衣着打扮各异、遮挡问题、运动随机、室外天气光线因素变化等等。这些问题都会影响到行人检测技术的准确性乃至可行性。

    目前的基于统计学的行人检测方法主要分为2类:1)提取有效特征并进行分类;2)建立深度学习模型进行识别分类。

    1.1 基于特征描述与分类器的行人检测

    通过先验知识建立的特征描述配合分类器进行行人检测是传统的主流方案,多种适用于不同环境的行人检测方法,如下图所示。

    行人检测方法

    目前最成功且主流的行人检测框架是方向梯度直方图(histogram of oriented gradient,HOG),由法国研究人员Dalal和Triggs在CVPR2005上最先提出,在速度和效果的综合平衡上有着很好的表现。

    HOG是计算机视觉中一种重要的图像局部纹理的特征描述子。其核心思想为:在一幅图像中,局部目标的表象和形状能够被梯度或边缘的方向密度分布很好地描述;其本质为梯度的统计信息。而梯度主要存在于边缘的地方。通过累积计算图片某一区域中不同方向上梯度的值,得到直方图,以此表征目标区域。

    与其他特征相比,HOG具备如下优点:1)对图像的几何和光学形变都能保持很好的不变性,这2种形变只会出现在更大的空间领域上;2)在粗空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。因此,HOG特征特别适合做图像中的人体检测。

    HOG也有缺点:高特征维度、大量的重叠和直方图统计使得特征的计算速度慢,进而影响实时性;遮挡处理能力较差;未利用颜色、形状和纹理等特征。

    1.2 基于深度学习模型的行人检测

    手动标注图像特征已经有了很好的表现,能够应用到很多商业领域。但是深度学习在行人检测领域的表现和潜力,显然要远远好于传统方法,因为其能对原始图像数据进行学习,通过算法提取出更好的特征。基于深度学习的行人检测方法具备极高的准确率和鲁棒性。这对于无人驾驶领域的发展有着重要意义。

    Girshick等于CVPR2014提出区域卷积神经网络(region-convolutional neural network,R-CNN)模型曾达到最高准确率。R-CNN引领了后期分类网络与卷积神经网络框架的发展,其实现步骤如图2所示。

    图2 R-CNN实现步骤

    R-CNN的主要贡献是将卷积神经网络应用于分类中。R-CNN的核心思想是使用分类网络来得到有可能是目标的若干图像局部区域,然后把这些区域分别输入到CNN中,得到区域的特征,再在特征上加上分类器,判断特征对应的区域是属于具体某类目标还是背景。这一结构存在重复计算的问题。针对这一问题,后续又提出了快速区域卷积神经网络(Fast-RCNN)、高速区域卷积神经网络(Faster-RCNN)等结构加以解决。

    Ross Girshick在15年推出Fast RCNN,构思精巧,流程更为紧凑,大幅提升了目标检测的速度。同样使用最大规模的网络,Fast RCNN和RCNN相比,训练时间从84小时减少为9.5小时,测试时间从47秒减少位0.32秒。在PASCAL VOC 2007上的准确率相差无几,约在66%-67%之间。

    Fast RCNN方法解决了RCNN方法三个问题:

    问题一:测试时速度慢 

    RCNN一张图像内候选框之间大量重叠,提取特征操作冗余。 

    Fast RCNN将整张图像归一化后直接送入深度网络。在邻接时,才加入候选框信息,在末尾的少数几层处理每个候选框。

    问题二:训练时速度慢 

    原因同上。 

    在训练时,Fast RCNN先将一张图像送入网络,紧接着送入从这幅图像上提取出的候选区域。这些候选区域的前几层特征不需要再重复计算。

    问题三:训练所需空间大 

    RCNN中独立的分类器和回归器需要大量特征作为训练样本。 

    Fast RCNN把类别判断和位置精调统一用深度网络实现,不再需要额外存储。

    2 立体匹配

    3-D地图重建是自动驾驶领域最重要的技术之一。主流成功的无人驾驶车辆一般采用多线雷达作为3-D传感器来实现这项技术。但是雷达设备价格高昂,且仅能识别深度信息,无法获取纹理和色彩,对周围感知不足。针对这些问题,视觉领域研究者一直尝试使用摄像头来取代雷达,进行3-D重建。

    采用双目摄像头进行立体匹配,获取深度信息,是一个经典而思路清晰的方法:确定好两个摄像头的内外参后,依靠相似三角形定理,理论上可以轻易获得深度信息的结果。但是实际使用中,尤其是外景使用中,摄像头受到外界光线干扰过大,存在大量无效信息和噪声,所以其深度数值精度一直不好,一直只能作为雷达的辅助传感器。

    随着深度学习的成熟和孪生网络的提出,双目摄像头的立体匹配问题也得以解决。双目系统获取深度信息的原理图如图3所示。其中:f为双目焦距,即点P到点PlPr的距离;d为视差,即点PlPrX轴方向上的差值;Z为深度距离,即点P到点OlOr的距离。基线b和焦距f可在双目标定时计算得出,因此双目立体视觉定位的核心内容是对视差d的计算。

    图3 双目摄像头测距

    视差d由立体匹配得出,具体公式如下:

    Chopra等于CVPR2005年提出了孪生深度网络原理图,如图4所示,其特点是接受双目摄像头左边和右边的图像作为网络输入,计算2张图片的差异度,以求解照片对应场景的深度信息。其中孪生网络左右两边的卷积网络共享权值W,即设置相同的权值。但孪生深度网络进行立体匹配时识别效率低,不适用于自动驾驶动态障碍物立体匹配时的识别。

    图4 孪生 深度学习网络原理图

    Luo等于CVPR2016改进了孪生网络,使用内积层代替处理层,通过内积直接获得匹配结果,极大地提高了运算效率。处理一张图片的时间由1 min减少到1 s以内,使该技术应用到无人驾驶领域成为了现实。

    相比无人驾驶车辆常用的激光雷达测距,摄像头因为成本低、特征数量丰富等,随着采用孪生网络用于立体匹配的深度学习模型的提出,可以通过双目摄像头甚至单目摄像头获取物体高准确率的深度信息。

    3 多传感器融合

    深度学习的实现对传感器技术提出更高的要求,需要采用多传感器融合技术。在无人驾驶车辆软件与硬件架构设计中,传感器作为数据信息的来源,重要性不言而喻。目前主流的无人驾驶车辆硬件架构中,主要采用激光雷达和摄像头作为视觉传感器。但是结合深度学习的应用与实现,无论是激光雷达还是摄像头都有其自身的优点和缺点。例如激光雷达获取距离信息十分精准,但是存在缺乏纹理、特征信息少、噪点多等问题,这非常不利于深度学习的应用;而摄像头的特点恰恰与雷达的相反。将激光雷达与摄像头等传感器融合对于无人驾驶车辆做出准确的感知和认知具有重要的意义。

    针对基于深度学习的图像数据和雷达数据融合,Schlosser 尝试使用多种不同的组合方式融合雷达数据和图像数据来进行行人检测。其中通过采样雷达的点云信息获得密度深度图,并从中提取水平视差、距地高度、角度3种特征来从不同的角度表征3-D场景,也称为HHA(horizontal height angle)特征,如图5所示。然后在R-CNN模型作为基础的网络结构上,将图像RGB信息作为输入网络的输入层,并尝试在网络中不同层(如不同卷积层、全连接层)中加入雷达的HHA特征图。以寻求最佳的融合网络位置。经过一系列大量的实验,得出结论:1) RGB和HHA特征融合进行学习,其准确率要高于单独的RGB输入,多传感器融合具备优越性。2)就区域卷积神经网络结构而言,不同层次融合雷达特征图对于识别结果有着较大影响。

    图5 雷达的密度深度图及对应的HHA特征图

    4 端到端控制

    随着深度学习的兴起,深度学习理论与技术在控制领域也产生了重大影响。基于视觉传感器的自动驾驶方案得到了发展,由传感器获取数据到车辆的方向与油门开度的端到端技术已成为现实。目前存在3种主流方案,如图6所示。

    图 6 3种无人驾驶控制方案

    4.1 间接感知方法

    这是传统也是目前主流的无人驾驶车辆驾驶方案,其核心思想是将无人驾驶问题分解为多个子问题:车道线识别、路径规划等。如通过车载传感器识别出周边场景,并对图像场景进行分割,识别出道路、交通标志、障碍物等与交通相关的对象。通过车载电脑对这些信息进行处理,并根据人为设定的逻辑方案作出决策。这种方案比较符合人类的理解,但是整个过程需要处理图像,提取跟踪目标,识别出目标状态位置等系列操作,过于复杂,而车辆控制仅仅需要速度和方向信息,所以,这种方案存在过多的冗余操作和信息。

    4.2 直接感知方法

    这是一种理想化的方案,能够直接从雷达、摄像头、定位系统等传感器端获取必要的信息,然后输出汽车控制量如方向盘的转角和油门开度。

    早在1980年代,Pomerleau试图通过采集驾驶员在驾驶过程中的图像数据和对应的方向盘转动数据,使用传统神经网络模型来获取图像数据与方向盘转角之间的映射函数。在当时的硬件水平与软件水平下,结果表明这种方案无法应对复杂的交通环境。主要存在几个问题:1)每个人的驾驶习惯并不同,当遇到同样的情形时,不同人做出的反应不同,这会造成神经网络拟合的混乱。2)仅用方向盘角度变化并不是场景图片的一个合理抽象,抽象程度太低。3)因为输入的是整张图片,难以标注出图像的哪部分是与最终结果即方向盘转角是相关的。

    2016年NVIDIA训练了一个CNN,能从单一摄像头的原始像素中得到转向命令。通过低于100 h的人类训练数据,系统学会了在无车道线的区域行驶,甚至可以在没有清晰视觉标识符的区域如停车场行驶,并能够在晴天、多云、雨天多种天气下行驶。这证明了Pomerleau提出的端到端的方案的可行性。

    4.3 行为反射方法

    普林斯顿大学的Chen提出深度驾驶(Deep Driving)概念[32],这是性能介于前两种方案的第三种方案,也更具备可实现性。其核心思想是从图像数据中学习到一系列定量的参数来表示道路的状态信息,比如车相对于道路的角度、车与车道线的距离等。之后根据这些参数进行车辆控制。通过无人驾驶仿真平台(the open racing car simulator,TORCS)获取数据,然后再进行路测。实验证明,无论在虚拟驾驶场景还是现实驾驶场景,其方法都能很好地适应环境。

    5 结论

    本篇文章主要介绍关于深度学习对于无人驾驶领域的革新和影响,包括4项无人驾驶领域核心技术最近的发展。

    在行人检测领域,R-CNN将行人检测的准确性提升到了新的高度。TA-CNN的提出,通过添加语义信息,进一步提升了识别的鲁棒性和准确率,对于不同分布样本的适应方法也有利于获得更好的深度网络。

    在立体匹配领域,孪生网络的提出和后续的发展,改进了曾经鲁棒性较差的传统双目测距方法。通过深度学习获取的特征向量来计算差异值,并获取深度信息,这种方法能够更好地获取图像的深度信息。

    在多传感器融合领域,图像信息和雷达信息融合用于训练深度模型的结果证实了多传感器融合的优越性和传感器间优劣互补的可能性。未来将更多的传感器进行融合,会进一步提高传感器的作用。

    最后,在无人驾驶车辆控制领域,间接感知方法(即将无人驾驶问题细化为多个目标识别决策的子问题)符合人类直觉,但是存在过多冗余信息和低效的处理过程。伴随深度学习的成熟,直接感知方法被提出,即从传感器数据直接映射关键的车辆控制参数来控制车辆。行为反射方法的性能则介于前两种方案。

    相关文章

      网友评论

          本文标题:基于深度学习的自动驾驶技术综述

          本文链接:https://www.haomeiwen.com/subject/nxwbjctx.html