报告全文下载地址:https://static.aminer.cn/misc/pdf/selfdriving.pdf
人工智能在汽车领域的运用是人工智能技术的重要组成部分,包括无人车、无人公交和无人配送等。海内外各大企业争相加大人工智能在汽车领域应用的研发投入。尤其是非传统的汽车厂商,包括各大IT和互联网公司,以及新兴的公司,比如Tesla,蔚来汽车等。
人工智能在汽车领域的运用是人工智能技术的重要组成部分,包括无人车、无人公交和无人配送等。海内外各大企业争相加大人工智能在汽车领域应用的研发投入。尤其是非传统的汽车厂商,包括各大IT和互联网公司,以及新兴的公司,比如Tesla,蔚来汽车等。
自动驾驶汽车的参与公司
2017年10月,通用汽车计划成为第一家在纽约市测试无人驾驶汽车的公司,以此确立其在无人驾驶领域的领导地位,为无人驾驶的商业化迈出了重要一步。近年来,Google、Tesla、Uber、百度等科技公司一直不遗余力地开发无人驾驶技术。例如,Google研发的无人汽车在道路上累积行驶已经超过3百万英里,且在过去一年时间内,其模拟行驶的里程数也超过了10亿英里。受这些科技公司的影响,传统汽车公司也纷纷加入无人驾驶的研发大潮中。例如,宝马联手英特尔,计划在2017年让40辆宝马无人驾驶汽车开始路测。
无人驾驶的意义无疑是重大的。据统计,仅中国每年因为车辆的交通事故而死亡的人数达10万多人,受伤的人数达200多万人,而发生纠纷与冲突的人数更高达600多万人。其中,约90%的事故原因来自于驾驶员的错误,比如:30%的事故是由于驾驶员醉酒,10%的事故则是驾驶员分心造成的。无人驾驶能减少由驾驶员操作失误造成的交通事故,同时也为由于身体原因不能驾驶的人驾车出行提供了可能。而且,无人驾驶也能人类从简单、重复的驾驶中解放出来,提高生产力,“延长”生命。
从系统的角度看,无人驾驶技术是一个复杂的,需要软硬件相结合的系统,其框架一般都如图26所示。无人车主要分为三个模块:感知模块,高精度地图模块、驾驶行为决策模块。感知模块主要是通过摄像头,激光雷达等传感器来感知周围的环境,为无人车的驾驶提供环境信息支撑。高精度地图模块则为无人车提供精确的定位与全局路径的规划。而驾驶行为决策模块则依据前两个模块提供的数据,由适当的模型来规划驾驶方案,统筹安排无人车的行驶。
无人驾驶的基本框架
大多数汽车制造商已经开始承诺,到2020年,至少半自动驾驶汽车可以上路。无人驾驶是自动驾驶的终极阶段,美国国家公路交通安全管理局(NHTSA)和国际汽车工程师协会(SAE)制定的标准,将汽车的自动程度分为五级:
无人驾驶的等级
Level 0:无自动化;
Level 1:驾驶员辅助。单个辅助驾驶系统能根据驾驶环境信息,以特定模式或者转向,或者执行加速、减速等操作,其他操作都由人类驾驶员完成;
Level 2:一个或多个辅助驾驶系统能根据驾驶环境信息,以特定模式同时转向或者加速减速操作,其他操作都由人类驾驶员完成;
Level 3:有条件自动化。一个自动化驾驶系统,能在动态驾驶中,全面承担驾驶任务,但在系统提出接管请求时,需要人类司机做出回应;
Level 4:高度自动化。即使在系统提出接管请求时,人类司机不能回应,这类系统也能在动态驾驶中全面承担驾驶任务;
Level 5:完全自动化。自己开车,在任何道路、任何环境状况下都不需要人类司机的介入。
一般而言,无人驾驶系统一般有三大模块。
(1)环境感知模块
无人驾驶汽车是通过传感器来感知环境信息。比如摄像头、激光雷达、毫米波雷达以及工业相机是用于获取环境信息;而GPS等用于获取车身状态的信息。当然还需要通过算法提取出有用的信息。
无人驾驶系统模块(谷歌无人车)
(2)行为决策模块
行为决策是指无人驾驶汽车根据路网信息、获取的交通环境信息和自身行驶状态,产生遵守交通规则的驾驶决策的过程。即规划出一条精密的行驶轨迹,然后无人驾驶车就可以跟着这条轨迹走。
(3)运动控制模块
运动控制模块是根据规划的行驶轨迹和速度以及当前的位置、姿态和速度,产生对油门、刹车、方向盘和变速杆的控制命令。
无人驾驶的实现路径大概有两大派系,一派是以谷歌为主的互联网公司,一派以特斯拉为首的汽车制造商。
谷歌的蓝图是无人车完全取代人来驾驶,把无人车看成机器人,所以没有方向盘、油门和刹车。
谷歌无人车顶上是约8万美元的64线激光雷达(Lidar)。它在高速旋转时发射激光测量与周边物体的距离,再根据距离数据描绘出精细的3D 地形图,并跟高分辨率地图数据相结合建模,帮计算机做决策。
无人驾驶案例
这条技术路线的关键是对周围环境的模拟和3D地图数据,而谷歌在这方面有深厚的积累。
而特斯拉的计划是从机器辅助驾驶进化到完全自动驾驶。所以技术上逐步实现自动刹车、定速巡航、自适应巡航等,最终完全自动驾驶。
特斯拉Model S主要是靠摄像头结合计算机视觉,特斯拉辅助驾驶使用的硬件包括前置摄像头、前置雷达(相对廉价的毫米波雷达)、12个超声波传感器,目前没有使用高精度地图。
简单的说前者(Google无人车)更重定位,是高精度定位+高精度地图+识别,偏机器人的方案,后者更重视识别(低精度定位+低精度地图+高准确率识别),后者接近于人开车,人开车不需要高精度地图。
那么自动驾驶汽车涉及哪些技术呢?下面是一部分通用的技术。
行为决策是指根据路网信息、获取的交通环境信息和自身行驶状态,产生遵守交通规则的驾驶决策的过程。学术界的一个解决方案是用现在很火的深度学习,来实现模仿性学习(Behavioral Cloning),但是可靠性上可能有问题,实际应用中还是会有大量的规则等方式。
(1)识别并躲避障碍物
这个问题的解决方案是传感器融合算法,利用多个传感器所获取的关于环境全面的信息,通过融合算法来实现障碍物识别与跟踪和躲避。
根据周边信息,在地图上定位车辆。在地图上定位汽车,这一块实现的差异很大。由于民用GPS误差过大,不能直接用于无人驾驶。有一类定位是通过激光雷达使周围物体和自车的距离的精度达到厘米级,配合三维地图数据可以将车辆定位至几厘米至十几厘米的程度。还有一类通过还计算机视觉的方案来定位,也就是(SLAM)。
(2)从相机中识别行人
从相机中识别行人是一个计算机视觉问题,需要利用摄像机识别出物体,在这里指人。
车道识别
(3)车道识别
车道识别也是计算机视觉问题,有道路线检测算法。简单的方法有颜色选择,切图(ROI, Region of Interest Selection),灰度处理,高斯模糊,边缘检测和霍夫变换直线检测。如果能够识别一张图片中的道路线,那么对于行驶中的车辆上摄像头实时采集的图像也可以实时分析。
高级的道路线检测需要计算相机校准矩阵和失真系数对原始图像的失真进行校正;使用图像处理方法,将图像进行二值化处理;应用透视变换来纠正二值化图像(“鸟瞰视图”);检测车道并查找确定车道的曲率和相对于中心的车辆位置;将检测到的车道边界扭曲回原始图像;可视化车道,输出车道曲率和车辆位置。
(4)交通标志识别
无人车也是要懂得交通规则的,所以识别交通标志并根据标志的指示执行不同指令也非常重要。这也是个计算机视觉问题,可以用深度学习(卷积神经网络)的方法来完成。
交通标志识别
(5)车辆的自适应巡航控制
车辆的自适应巡航控制(ACC)是在定速巡航控制的基础上,通过距离传感器实时测量本车与前车的距离和相对速度,计算出合适的油门或刹车的控制量,并进行自动调节,这一块有不少成熟的方案。
(6)让汽车在预定轨迹上运动
让汽车在预定轨迹上运动是机器控制和规划问题,比如在躲避突发障碍之后动态路线规划。
2018年3月20日凌晨,全球出现首例在自动驾驶模式下运行的自动驾驶车辆导致人员死亡。该事件的发生一定程度上是对无人驾驶商用信心的打击,并说明了现有无人车测试的四大关键系统的不足。在无人车测试时,以下极大系统在检测障碍物或者行人时产生重要作用。