薛建儒:无人车的场景理解与自主运动
来源:人工智能前沿讲习
本文为西安交通大学人工智能与机器人研究所薛建儒教授,做的题为无人车场景计算与自主运动的研究进展的报告,主要从无人车概述、场景理解、自主运动、总结与展望四个方面介绍了其团队在无人驾驶领域的探索。在行人检测、车辆检测方面,他们并没有完全依赖视觉目标检测,而是把激光和相机融合起来,增强目标识别的健壮性。薛建儒,博士,西安交通大学教授。2003年获西安交通大学模式识别与智能系统博士学位,2002-2003年在日本富士施乐公司研究本部工作,2008-2009年在美国加州大学洛杉矶分校访问,1999年至今在西安交通大学人工智能与机器人研究所从事教学科研工作。主要研究方向包括计算机视觉与模式识别、智能车环境感知及运动控制,在IEEE汇刊TPAMI、TIP、TMM及学术会议ICCV、CVPR、ECCV、IROS、ACM MM等发表论文70余篇。研究成果获国家自然科学二等奖、国家技术发明二等奖、IEEE ITSS Institute Lead Award及ACCV2012最佳应用论文奖。入选长江学者特聘教授,获中国自动化学会青年科学家奖、陕西省青年科技奖等荣誉。
西安交通大学人工智能与机器人研究所,西安,710049我来自西安交通大学人工智能与机器人研究所的视觉认知计算与智能车实验室,今天报告的题目是无人车场景计算与自主运动的研究进展,分四个部分介绍我们团队在无人车方面所做的一些工作(见图1)。首先对自动驾驶给一个概括性介绍(见图2)。自动驾驶是人工智能领域的热点和前沿。美国Nature杂志2015年刊登的一篇文章展望了无人驾驶未来愿景。作者认为2020年无人车将广泛使用,并将彻底颠覆我们未来的出行模式。具体表现为三个方面的巨大变化:一是更安全,二是更绿色,三是车辆共享,将最少节省8亿个停车位。从技术角度看,无人驾驶技术有两条主要的技术路线(见图3),一个是自主智能,通过多传感的融合感知和鲁棒优化的运动控制使车能够适应交通场景。一个是网联智能,也就是通过车和车之间、车和交通设施之间的联网与通讯来实现无人驾驶。这两条技术路线其实最终都会汇合在一起。我今天报告聚焦于自主智能,也就是无人驾驶这一技术路线上。无人车要形成从感知到运动的闭环,必须解决两个核心问题,一个是场景理解,二是自主运动。场景理解就是需要将从多个传感器的场景感知数据转化为自主运动的决策依据。自主运动就是在场景理解的基础上做行为决策、局部运动规划,然后通过反馈控制来车辆的自主运动(见图4)。场景感知系统用到三大类传感器:相机、激光雷达和毫米波雷达,这三类传感器的感知范围、作用距离都不一样,不同的传感器可用于不同的驾驶任务。视觉几乎可以用在所有的自动驾驶任务中。但是目前计算机视觉在自动驾驶中所发挥的作用与人类驾驶员相比,几乎可以忽略不计,造成这种现象的原因很多后面我会讲到。要实现自主运动需要经过四个环节:路线规划、行为决策、运动规划和运动控制(见图5)。第一个环节,规划路线可以离线来完成,剩下的三个需在线实现。沿给定的路线行驶中要左转、右转、还是车道保持,这是行为决策。确定行为决策以后,让车沿着规划的路径或者轨迹来运动,这是局部的路径规划。最后就是要实现反馈控制,通过控制方向盘、油门和踏板使车沿着预期规划好的路径行驶。
第二部分介绍无人车的场景计算与理解(见图6)。无人车场景计算与理解就是分析处理多传感器的场景感知数据,提取两个方面信息,一是几何度量信息,也就是车所在的位置和车道线和道路边界,以及和其他车之间的相对位置关系到底是什么。二是要根据周围车辆和行人的运动意图推测将来一段时间无人车该如何实现安全行驶。我们可以进一步把场景计算与理解的任务分成三个层面。第一个层面是获得场景的三维信息和运动信息,并在这个基础上形成对场景的拓扑结构的一种表示。也就是说清楚回答现在周围有几个车、所在车道在哪里、道路边界在哪里等多个问题。第二个层面是要理解交通标志和需要遵守的交通规则。第三个层面的任务是需要做推理和给出判断,当前要车道保持还是要换道、前方路口要左转还是右转。所以,归根结底一句话,场景理解与计算就是要实现从几何度量到推理预测的转变。我们来看看如何实现场景计算与理解(见图7)。其实,可以把场景理解进一步分解成静态和动态场景两个方面。静态理解只考虑场景的静态部分,不考虑运动的车辆和行人,从几何拓扑结构,比如道路边界,这个路有多宽,有几个车道,车道线在哪里,车道线到底是黄线、虚线还是实直线。解决这些问题需要把地图和感知数据结合起来,形成场景中交通要素的几何度量,并且把它们的拓扑结构要提取出来。动态场景理解主要考虑交通参与者,比如说车辆、行人所占据的车道和空间,它们的运动轨迹以及对它们将来一段时间的运动预测。动态场景理解必须把交通规则和障碍物的检测跟踪结合起来。由于运动规划是对将来运动的规划,所以要基于当前的感知要推测将来的运动(见图8)。理解静态场景的第一个目标就是满足自主运动的定位需求。常用方法是用GPS+地图(见图9,10),但GPS并非每个时刻都有,而且现有的地图都是给人看的,它的分辨率及对场景的描述能力并不能直接用于无人车。例如,对于无人车来讲要实现车道保持,定位精度必须到10厘米以内才可以,我们开车用的交通地图分辨率基本上在数米量级。因此这就引出来一个高精度地图构建的问题。高精度地图在地图里嵌入了感知数据以提高分辨率和对场景的描述能力。这种离线创建的地图实际上把视觉数据、激光数据的结构化信息放到地图里面来提高地图的表征能力。地图创建与定位本身就是一对耦合问题,位置本身就测不准,地图创建又要依赖于位置的信息(见图11、12)。这个视频演示的是我们的无人车如何自主从地下车库开出来。我们先离线创建了一个地下车库的地图,然后用基于地图+感知数据的定位,并做运动规划,实现了无人车自主地从这个地下车库开出来。地下车库是一个典型的非结构化场景(见图13)。在结构化场景里,我们需要把车道线和道路边界信息一起放到地图里面,这里要解决的问题是多源传感数据的时空对齐。例如,我们不能单纯靠视觉,要通过激光和视觉融合来构建场景地图,并要解决配准问题,因为多传感器的采集频率不一样、尺度也不一样(见图14)。我们提出了一个高效的高维点集配准算法(见图15)。有了度量地图以后,环境感知对于路口的车道引导、对于特定区域如收费站的感知以及对交通信号灯的识别就变得非常可靠(见图16)。交通灯的识别在计算机视觉领域里面大家都觉得非常简单,但是在实际应用中我们会发现这个交通灯的识别单纯靠图像识别很难做到非常可靠。我们在地图里面加入了交通灯位置信息,这样就可以根据当前车辆位置预测交通灯出现在图像的什么地方,减小搜索范围,虚警率会降低很多。对动态场景而言,我们要在障碍物比如行人和车辆检测和跟踪的基础上,解决行人和车辆的运动意图预测问题。运动意图的预测必须要结合交通视觉知识,怎么来实现视觉知识表示与学习,就要用到机器学习方法(见图17)。我们要标注场景的感知数据,通过检测跟踪得到位置序列,对位置序列来学习进行预测他的运动意图。这里面的难点就是鲁棒可靠的检测与跟踪(见图18),重点是学习路口区域的车辆和行人通行的行为模式。以往的对障碍物的检测、跟踪与识别研究都是分开去做的,但是在实际应用里面其实这三个问题耦合在一起,应该看作一个问题来解决。环境理解靠单个传感器是不行的。视觉目标检测中,比如行人检测、车辆检测目前只能做到80%的检测率,所以需要把激光和相机融合起来,这里面要解决的一个问题就是两个传感器之间的标定。我们有个工作是把激光数据映射到图像里面去(见图19),比如把六十四线三维的激光数据映射到图像里面。因为激光相对来说是比较可靠的,所以它可以给我们很多先验知识,有利于提高检测跟踪和识别的准确率。相机与激光雷达的标定误差会随距离发生非线性变化,对于车辆往往要求检测范围在100米左右,这时误差变得非常大,需要把图像里的几何结构与激光的几何结构对应,这里我们用深度边缘和图像边缘来对应,最终成功将三维激光点云数据映射到图像上,实现了可靠的障碍物检测和识别。这里的视觉检测框架就是Faster RCNN,一种很好的深度神经网络,在视觉检测结果上用三维点云再去做一次校验,可以有效降低虚警(见图20)。这是我们最终实现的用于无人车的视觉主导的场景计算框架(见图21),解决了多传感信息的跨尺度的时空配准,构建了场景集成计算框架。这个框架从2010年一直做到现在,在智能车上进行真实交通环境的实地验证,一直不断地在改进。这个交通场景理解框架不仅仅是把多传感的信息对齐配准(见图22),而且我们把地图的信息也放进来,实现了实时的定位和行驶移动环境的理解,能满足无人车自主运动的需要。
第三个部分是自主运动。有了交通场景的结构化描述以后,无人车如何实现自主运动?我们知道从感知到运动的环路是无人车自主运动的基础。我们要同时考虑场景感知和运动控制中的不确定性,比如场景感知的定位会有误差,无人车的运动控制也存在误差。比如说,我们希望控制车速为40公里每小时,但实际车速可能到39.5公里每小时。这两方面的不确定性在车辆运动规划的时候必须同时考虑(见图23)。运动规划是在位形空间中搜索最优路径。具体来说,就是把场景的结构化信息要映射到无人车的位姿空间里(见图24)。无人车的位姿描述有六维,XYZ和它的三个角度,在这六维空间里面寻找一个无碰撞的车的位置和姿态序列,这个序列是运动控制的期望输入。这里主要是解决优化问题,也就是说我们形成的位姿序列应该是光滑的,是应该能够适应车辆的运动约束。车的运动不像机器人那样实现360度转动,车受非完整性约束,比如有转弯半径,有速度极限,怎么在满足这个约束的情况下得到最优的路径,这就是运动规划的问题。运动规划分路径规划和轨迹规划两种。运动规划输出的路径是几何描述,输出的轨迹是在几何信息基础上增加了时间信息,也就是说每一个时刻对车不仅仅有位置约束,而且对它的速度也有约束。我们提出了一种高效的快速扩展随机树算法(见图25)。刚才讲到,交通场景是由结构化场景和非结构化场景混杂在一起,对于结构化场景来讲,路径规划可用几何曲线,比如车道保持,只要行驶在车道中间。要换道就是从这个车道中间换到另外一个车道中间,但是对于路口,对于收费站等等这样非结构化要用随机搜索算法。但是怎么寻求一种能同时用于结构化和非结构化环境的运动规划算法?我们把非结构化环境的运动规划算法RRT进行了扩展,使得它同时能够适应结构化的运动规划的问题。这里面有两个视频(见图26),一个是2015年无人车比赛的视频,演示的是如何顺畅通过一个野外环境的路径。一个是我们的无人车晚上在城区环境自主行驶的一个视频。可以看出,我们的无人车可以自如地适应非结构化环境和多复杂障碍的结构化环境。场景理解的研究中已经有大量深度学习技术,在无人车自主运动里面,机器学习也大有用武之地。比如说可以用强化学习,通过车辆跟环境的交互来学会自主驾驶。输入场景图像序列,得到运动控制序列,这叫端对端的学习。从场景理解到运动控制有很长的技术链路,端对端的学习希望输入感知数据,输出车辆的方向盘转动量、油门和踏板的控制量,目前有很多人在做这方面的研究,基本思路就是把深度神经网络和强化学习结合起来,来实现端对端的自主驾驶策略学习(见图27)。
最后,我做一个总结和展望。我们团队从2009年开始做无人车。2009年国家自然科学基金委启动了视听觉信息认知计算的重大研究计划,这个重大研究计划把无人车作为物理载体来验证视觉信息的认知计算的模型和算法。每年举办一次无人车的比赛。我们团队从2009年到现在连续九年每次都参加,这些是参加比赛的一些视频(见图28)。展望一下无人车技术的未来发展趋势(见图29)。无人车的场景计算和自主运动都可以基于“深度学习+GPU”实现。英伟达推出了一个深度学习的车载计算平台PX2。特斯拉的自动驾驶车上已搭载了PX2。深度学习在场景图像的语义标注上取得了很好的结果,对每一个像素到底属于天空、道路,是行人还是车辆都可以标注出来。这种场景语义对于车做更加智能的决策和规划也会起到一个很好的支撑作用。最后一个问题就是如何测试无人车的安全性(见图30)。这个报告的开始,我提到2020年无人车会得到大范围应用这一预测。其实这里面有一个概念需要澄清,自动驾驶并不等于无人驾驶,无人驾驶是自动驾驶的最高阶段。从自动驾驶到无人驾驶仍然有非常长的距离。比如安全性测试。例如大家都知道特斯拉自动驾驶导致的交通事故,其实这个事故的根本原因就是视觉识别出现了错误。安全性测试实际上是要解决一个小概率事件问题。我们在实验室里面能够想到的交通场景是有限的,真实的交通场景变化是无穷的,我们不可能穷尽所有可能。因此,真实环境的无人车测试和实验室的仿真测试都必不可少。我们国内已经新建了好几个无人车的测试基地。因此实地测试+仿真+云端这种模式很有前途,就是车辆行驶过程中的数据都会上传到云端,云端基于数据改进与更新算法,然后再来升级车的自动驾驶性能。这应该算是目前无人车走向实际应用的一条可行的途径。
未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。
未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。
如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489395.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!