3综述 yolo_无人驾驶综述论文学习(一)

论文介绍
论文为2019年发布在Robotics上的
An Overview of Self-Driving Cars: Standard Procedures and Innovative Techniques [1]
论文对比
作者首先对现有无人驾驶综述论文进行了比较。存在的问题是现有无人驾驶综述论文在侧重点上存在差异。因此为了更全面地了解这一领域的发展现状与技术进展趋势, 作者准备做一个详尽的调查. 下图 \cdots 是不同论文侧重点的表现.

综上所述,在上述论文中对无人驾驶技术的相关领域进行了较为全面的概述(除控制模块外),作为本研究的核心组成部分:综合系统、端到端架构、定位技术、感知系统、评估方法、规划算法、控制理论、人机交互界面及数据集与软件集成开发实现
综上所述,在上述论文中对无人驾驶技术的相关领域进行了较为全面的概述(除控制模块外),作为本研究的核心组成部分:综合系统、端到端架构、定位技术、感知系统、评估方法、规划算法及控制系统等构成
前景和挑战
随后 author 展述了无人驾驶技术的发展前景及其面临的挑战。最初 author 虽然认为 ADS 在短期内不会得到广泛应用,在未来仍有机会看到其带来的优势。这一总结非常出色地涵盖了三个方面内容:
- 可以解决的问题 - 可以预防或避免交通事故的发生, 同时能够有效降低交通拥堵情况, 同时也能最大限度地降低空气污染程度
- 可以捉住的机会 - 不仅可以通过合理调配个人驾驶时间, 还能够有效缓解运输压力
-
- 新趋势 - 出行服务更加完善, 并且展现了物流产业呈现出革命性发展的态势
自动驾驶可有效预防由于驾驶员失误引发的交通事故,在分心驾驶、超速行驶或酒后驾驶等情况下尤其奏效。同时60岁以上老年人数量快速增长对他们的出行需求造成了较大压力从而对其生活质量产生了显著影响。此外共享出行正逐渐成为一种趋势不仅方便了人们的日常出行还显著降低了整体出行成本
按照目前的驾驶技术还不能达到level4的水平。
系统架构
作者分别从两个方面阐述了无人驾驶系统的架构设计:第一部分主要围绕系统间的连接关系展开分析;第二部分则着重讨论了系统的算法优化策略。下图具体展示了这些划分的内容框架:

在连接层面分为两种类型:一种是单体智能( ego-only systems),即车辆无需依赖外部传感器即可完成自动驾驶功能;另一种是网络协同智能( connected systems),虽然不强调单体车辆的智能化水平(若有则更好),但强调通过网络实现整体交通系统的智能化管理(包括相关基础设施设备如交通灯、摄像头等)。当前中美两国在这一领域的竞争焦点主要集中在两个解决方案各自的优劣上——一个依赖本体能力(押国运方案),另一个则依赖网络协同(相对方案)。
算法层面 - 算法层面包含两种主要方式:一种是当前广泛采用的功能划分方法;另一种则是完整的端到端自动驾驶方案。左侧展示的是根据无人驾驶需求将不同功能划分为独立模块的具体架构设计——每个模块负责特定的任务;右侧则体现了直接基于传感器输入完成车辆控制操作的设计思路——通过方向盘转向、油门与刹车指令来完成动作。该完全连接式的方案的优势在于结构简洁明了;主要的技术细节可参考英伟达相关论文中的相关内容
下面是端到端无人驾驶的流程图:

该系统采用端到端架构设计,并且其操作流程与传统驾驶方式极为相似。最大的缺点在于其不可解释性。现有的技术尚未达到完全仿生的人工智能水平。在实际性能上甚至超越了传统驾驶员的操作水平。
传感器
作者在阐述无人驾驶的各种传感器及其优缺点这一内容,在现有文献中已被广泛讨论过。可以直接查看图示:

定位
目前state-of-art的定位主要分为3种:
- GPS/IMU融合技术:目前普遍采用rtk 技术的GPS/IMU融合定位系统具有厘米级精度优势,在复杂环境如高楼、隧道等信号差的地方定位精度会有所下降。
- 基于静态地图的方法主要通过存储周围环境的高精度地图数据实现车辆定位,在GPS信号受限的情况下仍可正常工作;但该方法面临较大的运算量问题,并且无法有效应对动态变化的环境条件。
- SLAM算法的优势在于能在动态环境中无需依赖静态地图进行定位;然而其计算量过大导致无法实现实时处理,并且视觉SLAM在定位精度上仍无法满足较高要求。
下面是作者对各种定位方法做的对比和总结:

下图是基于NDT点云定位的例子:

预测任务主要划分为几个类别:图像空间中的物体识别技术、语义分割方法、3D物体识别模型、道路标线与车辆行驶路径辨识系统以及动态目标跟踪技术。接下来我们将逐一阐述各个领域的核心技术。
基于图像的物体识别
无人驾驶技术中的物体识别主要指的是通过技术手段确定目标的位置与尺寸。其中静态物体识别具体指代红绿灯、交通标志以及道路交叉口等;而动态物体识别则涵盖车辆、行人以及自行车等。
目前最先进的方法都依赖于DCNN(深度卷积神经网络 ),但它们之间目前存在明显的区别:
- 单级检测框架基于单个网络模型实现目标检测定位与分类预测的统一过程。主流算法包括YOLO(You Only Look Once)和SSD(Single Shot Detector)等。
- 区域提取检测框架划分为两个独立的阶段:首先识别并提取感兴趣的基础区域;然后通过独立的分类器网络对这些区域进行精确分类。
下图是主流的图像目标检测算法在ImageNet上的benchmark:

区域提取检测框架作为目前最领先的解决方案,在实际应用中虽然表现出色(当下表现最为卓越),但其对计算资源的要求较高(需要较高的计算能力),且操作较为复杂(通常难以实施并进行进一步优化)。相比之下(相较于这类方法而言),单级检测算法在推理速度方面具有显著优势(快速),同时在存储资源需求方面更为经济(较低的存储成本),特别适用于对实时性能有较高要求的应用场景(能够满足无人驾驶实时计算的需求)。
由于近年来计算能力的提升以及深度学习技术的发展趋势日益明显,在自动驾驶领域中RPN(Region Proposal Networks)很可能取代传统的单机检测网络,并成为主流的检测方案。
由于图像检测算法高度依赖于相机的技术发展,在本章中作者详细介绍了两种新型相机的运行原理及其应用前景。
全向相机(Omnidirectional Cameras)
全向相机能够生成一个完整的360度视野图像;这类设备通常配备2个到4至6个摄像头;其中大部分使用常见的鱼眼镜头;在实际应用中;为了保证成像质量;通常需注意镜面反射和鱼眼镜头的变形;其主要应用领域包括基于SLAM技术和三维重建技术
下面是全向相机的一个例子:

事件相机(Event Cameras)
一种新型的相机装置主要依据场景中的动态变化进行成像捕捉。它能够迅速捕捉动态变化的情况,并且其响应速度精确至微秒级。相比之下传统相机采用的是基于光感应的技术类似于人眼的工作原理但其缺点在于当高速度下使用传统相机时会遇到运动模糊的问题这是因为高速度操作会导致感光过程无法充分完成从而产生重影或模糊现象。而基于事件式的图像采集技术则凭借其高效的帧率和极短的响应时间能够在高速行驶过程中依然能保持清晰成像目前这种技术已经被成功应用于端到端的人工智能自动驾驶系统中
此图展示了事件相机的一个实例,在其左侧采用了基于物体的动态成像技术;而在右侧则采用了普通相机的标准成像方法:

照明不良和外观变化
相机的显著问题是光照条件的波动会导致性能下降。弱光环境下难以有效处理问题;而当光线过强、阴影移动频繁、天气及季节变化影响光照时,则会进一步加剧这一挑战。为了解决这一问题,一个直观的方法是采用备用传感器进行辅助感知;例如使用lidar和radar技术。然而这两种技术各自存在局限性;因此综合运用多种传感器技术可能成为最优解决方案。
红外热成像技术也可应用于弱光环境中的物体现在已实现highly effective detection for pedestrian recognition.然而目前研究人员已开发出多种解决方案以应对复杂的光照变化.其中一种方案是基于不变光照特性和特征质量评估的方法而另一种则试图利用深度学习模型来自动适应不同光照条件
基于以下文献"Illumination Invariant Imaging: Applications in Robust Vision-based Localisation, Mapping and Classification for Autonomous Vehicles"[2]中所述的方法和理论框架,在本研究中我们采用了其提出的图像去照变方法作为基础模型。本文通过实例展示了在不同光照条件下的应用结果。

评估特征质量的方法借鉴论文"PROBE-GK: Predictive robust estimation using generalized kernels"。该论文的核心观点在于:大多数基于特征的方法主要依赖于随机样本共识算法来进行特征分类识别出离群点,并以此构建预测估计模型;而本研究则提出了一种基于数据原则的方法用于为视觉里程表构建噪声模型。
当下纯相机方法在自动驾驶中的应用仍面临主要挑战。这些挑战主要包括光照不足的问题以及由于光照变化导致的不可预测因素。
语义分割
完成这一任务在自动驾驶技术中至关重要。由于某些难以用边界框定义的目标对象的存在……特别是道路、交通线、人行道及建筑物等复杂场景的识别会面临挑战。例如,在图像分割中我们可以观察到以下情况:

在功能上具有高度的一致性
目前用于语义分割的网络效率仍然不高且面临高昂的成本问题,在上述讨论的基础上,请告知您是否预见到一种统一且通用型网络将有望统一处理多种自动驾驶感知任务。
3D物体识别
在动态驾驶避障任务中用于获取环境的三维(3D)信息。目前获取三维环境数据的主要手段是利用点激光雷达生成的点云数据。针对不同应用需求以下对比分析了多种算法方案。从实际应用场景的角度来看在保证较高准确率的同时降低计算效率是一个关键考量。其中在同样达到一定精度的前提下三维卷积神经网络相较于二维卷积神经网络具有显著更高的计算开销。

该示例展示了3D物体识别的过程,在这一流程中通常会经历三个关键阶段:首先是预处理步骤(即滤波操作),随后是对特征空间进行分组(即聚类过程),最后通过提取特征来进行分类识别。

当然也可以利用RGB-D相机采集深度数据;但其应用范围受限,并且在室外环境不够稳定的情况下难以有效工作;因此,在自动驾驶领域尚未被广泛应用于。
雷达(Radar)
分析表明,在自动驾驶技术中应用雷达系统存在明显局限性。具体而言,在测量较大的物体时(如汽车),其采样精度能够满足需求;但当面临行人或其他静态物体时,则会遇到较大的困难。另一个关键问题是传统雷达设备的空间感知能力存在较大局限
虽然如此,雷达在自动驾驶中的应用范围相当广,其测距能力非常出色,成本较低,并且具有良好的应对恶劣天气的能力.通常情况下,lidar与radar常被结合使用以提升感知效果.
另一种类似于雷达的技术是声纳系统。由于其仅限于2米内的检测距离以及较低的方位角分辨率,在实际应用中主要用于探测较近障碍物。
物体追踪
概述了滤波方法和深度学习2种方法:
- 滤波技术 - 卡尔曼递归估计算法与粒子群优化算法等代表性的滤波技术属于传统的估计手段之一,在运动物体轨迹预测方面具有重要应用。
- 深度学习体系 - 深度学习体系以其强大的非线性建模能力成为当前应用较为前沿的技术手段之一,在图像识别与语音识别等领域展现出显著性能优势。
- 其计算性能已逐步逼近实时处理水平。
下面是作者用基础粒子滤波做的追踪效果图:

除了传统滤波与深度学习之外,在实际应用中这一问题逐渐被转化为帧级物体重定位技术。我的观点是,在跟踪过程中我们主要是根据特定特征定位目标对象,并基于此预测其未来可能出现的位置。这也好理解的是,在跟踪过程中我们主要是根据特定特征定位目标对象,并基于此预测其未来可能出现的位置。
而无人车恰好需要进行物体识别活动,则随后自然地将已识别的数据用于后续的追踪操作**。如果仅进行纯粹的研究性追踪,则可以直接提取特征而不必进行识别工作。目前,在apollo系统中预测模块直接采用感知模块作为输入,并生成轨迹数据。对于这一部分则建议参考纯粹的追踪算法。
道路和车道线识别
可通行区域感知对于自动驾驶系统具有重要意义,并且作为独立的研究课题来探讨。目前该技术所具有的感知能力仍面临诸多挑战。
此问题通常细分为几个任务,每个任务都可以实现一定程度的自动化:
- 可行驶区域检测 - 识别车辆当前所在的行驶道与其他车道的情况并可用于:实现车道偏离警告功能以完成 Lane Keeping 和自适应巡航控制任务。
- 道路复杂语义理解 - 分析周围交通环境以识别其他车道方向交叉情况并判断道路的整体结构信息进而支持全自动驾驶系统运行。
目前道路的结构化信息还是通过高精度地图 来获取。

已将当前的车道识别技术成功应用于车道保持功能,并未见真正具备鲁棒性和普适性的方法出现之前,在此我们推荐以下两篇综述论文
- Recent advancements in road/lane detection technology: a comprehensive survey
- An integrated vision-map-based approach for urban road detection
评估
自动驾驶汽车具备评估环境整体风险水平的能力,并且同时能够预测周围驾驶员和行人的行为模式。交通事故往往是由缺少一种快速性的综合评价机制所导致的。在进行风险分析时,通常会将整个过程分解为三个关键环节:首先是系统性地进行风险与不确定性评价;其次是全面分析周围车辆的行为模式;最后是通过技术手段识别驾驶员的操作风格。这部分内容将在后续进行详细阐述。以下是关于驾驶风格识别方法的具体对比:

接着我们介绍规划,在本文中规划被分为二个方面:全局规划,本地规划。
全局规划
整体规划的核心在于确定目标位置;与当前使用的地图导航系统相仿;传统的方法大致可分为以下4个类别:
- 目标导向的 - A*是一种经过广泛应用于各个领域的经典目标导向路径规划算法。
- 基于分隔符 - 主要的思想是从图中移除一部分顶点或边以提高算法效率。
- 层次化 - 道路按照等级划分为普通公路、高速公路以及主干道等类别。这种划分带来的问题是尽管最短路径可能不是最快的(因为走高速通常更快捷),但收缩层次结构法(Contraction Hierarchies)被引入用于解决这一挑战。
- 有限跳跃步数 - 有限跳跃步数技术通过预先计算任意两点间的距离与时间信息,在查询时只需快速查找表格即可得到结果。这种方法的核心思想是利用空间换时间,在预处理阶段通过占用更多内存减少查询阶段的时间开销。
该算法已经高度成熟地融合了多种方法,并可在短短几毫秒内完成查询

本地规划
本地规划相当于路径规划,并且属于短期路径规划领域。具体而言,在这一阶段中采用了四种传统的路径规划方法,并融合了一种基于深度学习的新颖算法
- graph-based planners - 经典图搜索算法包括Dijkstra和A*算法,在生成路径时主要输出的是由离散点组成的路径而非连续曲线。基于状态栅格的方法(state lattice)属于更为高级的图搜索算法,在动态环境中的路径规划具有显著优势。
- Sampling-based planners - 该方法主要通过随机采样技术来建立C-space空间中的连通区域。
- Interpolating curve planners - 这类规划方法首先会对已知点进行曲线拟合,并在此基础上进行插值处理以生成平滑轨迹;该过程会先偏离初始轨迹然后重新收敛至初始计划轨迹。系统通常会采用回旋曲线、多项式、贝塞尔曲线或样条曲线等多种常用的曲线族来进行插值运算。
- Optimization based motion planners - 通过引入优化机制改善现有路径规划的效果。
- deep learning based planners - 基于深度学习技术生成规划路径的方法与端到端自动驾驶的主要区别在于其输出结果的不同;前者主要输出几何意义上的曲线信息而后者则负责控制油门刹车及方向盘等具体动作。
上述路径规划算法对比见下图:

人机交互接口
无人驾驶车辆将利用人机交互平台与驾驶员及乘客进行通信。在这些互动中最为基础的是驾驶员操作相关的互动功能,如设定行驶的目的地等服务项目。听觉用户界面(AUI)将成为打车相关服务的有效工具,因为当前车内环境中的噪音控制以及声音识别等技术尚处于较为初级阶段,并且会不断引入新的互动需求,例如乘客将被要求实时了解并关注无人驾驶汽车当前的状态
在介绍人机交互之前,请您查阅相关论文以获取更多细节信息。具体的内容可参考相关论文中的相关内容。在实际应用中,请特别关注人机交互这一模块。
本文最后介绍了无人驾驶数据集和可用的工具。
数据集和基准
本文整理了和对比了目前主流的数据集,直接上图:

开源框架和仿真器
目前主流的开源框架主要是:
- Autoware
- Apollo
- Nvidia DriveWorks
- openpilot
无人驾驶的仿真如下:
- CARLA
- TORCS
- Gazebo
- SUMO
上述软件大部分是开源的可以直接下载使用。
总结
至此对全文的学习已圆满结束。值得注意的是本文的一个显著优势在于不仅概述了当前主流的技术方法而且深入探讨了其应用场景并提出了创新性的解决方案这一特点使得本文在理论与实践上都具有较高的参考价值(许多现有研究往往仅停留在方法论层面)因此可以说本研究在现有基础上做了较为完善的工作。此外作者还融入了个人见解并提出了优化建议并认为这是论文最为出色之处(许多论文仅停留在描述方法层面而缺乏深入分析)。这可能让读者觉得不够全面但确实提供了新的视角和方向综上所述该论文既具有新颖性又较为全面地涵盖了相关领域的发展现状与未来趋势因而值得推荐。
如果觉得文章对你有帮助,欢迎点赞转发 : )
参考
- ^A Comprehensive Review of Autonomous Driving: Standard Approaches and Innovative Innovations https://arxiv.org/abs/1906.05113
- ^Illumination Invariant Imaging has applications in the context of robust vision-based localization, mapping, and classification for autonomous vehicles http://www.robots.ox.ac.uk/~mobile/Papers/2014ICRA_maddern.pdf
