这是一篇有关于自动驾驶的综述性很强的论文,发布于2020年4月。
全文系统地介绍了自动驾驶系统的发展历史及发展现状,阐述了自动驾驶系统目前面临的困难与挑战,然后依次从自动驾驶系统框架、传感器分类、地图定位、信息感知与评估、路径规划等多个方面,分析比较了现有研究技术方法的优势和不足。
《A Survey of Autonomous Driving: Common Practices and Emerging Technologies》
1 前景和挑战
对于社会影响,能够减少交通事故、交通堵塞、尾气排放;重新分配驾驶时间,推动物流发展等等。驾驶自动化水平划分为五类等级,目前高层次level4、level5还无法实现。
2 系统架构
作者分别从连接层面和算法层面论述了自动驾驶系统的整体框架:
- 连接层面:
一类是单一车辆系统,始终在一辆自给自足的汽车上进行所有必要的自动驾驶操作,而不依赖于其他车辆和基础设施;
另一类是车联网系统,强调通过网络实现车辆信息交流和共享。 - 算法层面:
一类是模块划分,根据不同功能划分为不同的模块;
另一类是端到端系统,通过传感器输入获得操作信息,主要的方法有直接监督的深度学习、神经进化和深度强化学习。
3 传感器
硬件组织可以归为五类:
- 用于感知的外部感受传感器
- 用于内部车辆状态监视任务的本体感受传感器
- 通信阵列
- 执行器
- 计算单元
通常采用多传感器的形式,用雷达或者激光雷达来弥补相机在深度信息上的缺陷。激光在200米内精度较高,但与雷达相比,更容易受到天气的影响。雷达则具有测距长、成本低的优势。
4 地图定位
- GPS-IMU融合:按时间间隔纠正积累误差,遇到的问题是在高楼、隧道等信号不太好的环境下,GPS定位误差会增大。
- SLAM:不需要关于环境的先验信息,但计算要求高,实时性差。
- 基于先验地图定位:将实时信息与详细的预先构建的地图信息进行比较,找到最佳匹配的位置。面临的问题是环境发生变化后,如何更新地图。
5 环境信息感知
-
基于图像的目标检测:包括静态物体识别(红绿灯、交通标志、道路交叉口),动态物体识别(车辆,行人和自行车)。目前最先进的方法基本都依赖于DCNN,但它们之间目前存在明显的区别:
■ 单级检测框架使用单个网络同时生成对象检测位置和类别预测。主流的算法有:YOLO、SSD。
■ 区域生成检测框架分为两个不同的阶段,首先提出感兴趣的常规区域,然后通过单独的分类器网络进行分类。 -
语义分割:
仅使用矩形框框选目标效果较差,进一步通过实例分割来区分不同轨迹和行为的对象。
分割方法:Mask、R-CNN、DeepLab。 -
三维目标识别:
主要依赖点激光雷达的点云数据,通过滤波、聚类,提取特征进行识别。 -
目标跟踪:
估计动态目标的航向和速度,以便应用运动模型跟踪目标并预测目标未来的运动轨迹,通常采用传感器融合的策略进行跟踪。
■ 滤波方法:Bayes滤波器、卡尔曼滤波、粒子滤波等。
■ 深度学习:CNN、多任务网络等。 -
车道线检测:
■ 可行驶区域检测:检测车道当前行驶车道,可以应用于车道偏离警告,车道保持和自适应巡航控制。
■ 道路复杂语义理解:识别其他车道和方向,合并转向等道路结构信息。
6 评估
- 风险和不确定性评估:
量化驾驶场景的不确定性和风险水平,可用贝叶斯方法、隐马尔科夫模型(HMM)和语言模型。 - 周围驾驶行为评估:
实际环境中的自动驾驶决策与周围驾驶员的行为相关。用HMM预测目标车辆的未来行为。 - 驾驶风格识别:
主成分分析法、基于GMM的驾驶员模型等。
7 规划和决策
-
全局规划:
-目标导向(goal-directed)
-分割(separator-based)
-分级(hierarchical)和
-有界跳跃(bounded-hop)。 -
局部规划:
-基于图搜索(graph-based planners)
-基于采样(sampling-based planners)
-曲线插值(interpolating curve planners)
-数值优化(numerical optimization)。
8 人机交互
通过人机交互接口(HMI)与驾驶员通信,最基本的是驾驶任务的交互,听觉用户界面(AUI)是选择之一。
目前面临的问题是环境噪音影响和部分内容理解问题。
9 数据集和工具
- 数据集:PASCAL VOC、KITTI、DeepDrive等。
- 开源框架:Autoware、Apollo、Nvidia DriveWorks、openpilot等。
- 模拟器:CARLA、TORCS、Gazebo 、SUMO等。