发布时间:2017-08-28
由中国人工智能学会、中国电子学会联合主办的“中国智能机器人产业发展专题论坛”于8月23日上午在北京亦创国际会展中心的二层会议室C成功举行。
本论坛邀请了中外产、学、研、用等领域的知名专家学者参与,围绕国内外机器人和智能科学的发展热点和转型支点,聚焦智能机器人的智能装备和核心技术,共同探讨中国智能机器人发展的创新与变革。
来自西安交通大学教授、长江学者薛建儒教授,在他的《无人车场景计算与自主运动的研究进展》的报告中,给参会人员带来了他关于无人驾驶的多年的研究成果,主要介绍了自主智能技术在无人驾驶上的运用,并提出未来无人车的计算框架可能就是一个深度学习+GPU这样的一个计算模式。
以下是薛建儒教授的演讲实录:
薛建儒
西安交通大学教授、长江学者
感谢陈老师陈教授的邀请,我今天报告的题目是无人车场景计算与自主运动的研究进展,我来自西安交通大学,我从四个部分来给大家汇报一下我们在无人车方面所做的一些工作。首先对无人驾驶做一个简单的概括性介绍。因为无人驾驶这个事情现在非常热,刚才也有人提问无人驾驶。这是美国自然杂志2015年刊登的一篇特稿,描绘了无人驾驶广泛应用的愿景及展望,作者认为2020年无人驾驶车将广泛使用,将彻底颠覆我们未来的出行模式。表现为三个方面的巨大变化,一是更安全,二是更绿色,三是车辆共享,将来停车场就极大的缩小,节省出来很多的空间。
从技术角度看,无人驾驶技术有两条主要的技术路线,一个是自主智能,通过多传感的融合感知和鲁棒优化的运动控制使车能够适应交通场景。一个是互联智能,也就是通过车和车之间、车和交通设施之间的联网通讯来适应交通场景。这两条技术路线其实最终都会汇合在一起。我今天报告主要集中在无人车的自主智能。自主智能要解决的问题就是形成从感知和运动的闭环。因此必须解决两个核心问题,一个是场景感知与理解,二是驾驶决策、规划和控制。我们可以把这两个问题归结为两个方面:一个方面是场景计算,我们要将从多个传感器的场景感知数据转化为自主运动的决策依据。一个方面是自主运动,就是在场景理解的基础上做行为决策、局部运动规划,然后通过反馈控制来自主的运动控制。
场景感知系统用到三大类传感器:可见光相机、激光雷达和毫米波雷达,这三类传感器的感知范围、作用距离都不一样,不同的传感器可用于不同的驾驶任务。这个表的左边给出来辅助安全驾驶的功能。大家可以看到视觉几乎可以用在所有的自动驾驶任务中。但是目前计算机视觉在自动驾驶中所发挥的作用与人类驾驶员相比,几乎可以忽略不计,造成这种现象的原因很多,后面我会讲到。
我们知道要实现自主运动首先要规划路线,这个可以离线来完成,剩下的三个需在线实现。根据给定的路线在路段里面,要左转右转车道保持这是行为决策。确定行为决策以后要让车沿着规划的路径或者轨迹来运动,这是局部路径的规划。最后就是要实现反馈控制,通过控制方向盘、油门和踏板使车沿着预期规划好的路径行驶。
以上是无人车的基本概括。下面第二部分介绍无人车的场景计算。无人车场景计算就是分析处理多传感器的场景感知数据,提取两个方面信息,第一个几何度量信息,也就是车所在的位置和车道线和道路边界,以及和其他车之间的相对位置关系到底是什么。第二个要根据周围车辆和行人的运动意图推测将来一段时间无人车如何实现安全行驶。因此,我们可以把场景计算的任务分成三个层面。第一个层面是获得场景的三维信息和运动信息,在这个基础上我们要形成对场景的拓扑结构的一种表示,也就是说现在周围有几个车,我所在车道在哪里,然后道路的边界在哪里。第二个层面,是要理解交通标志、需要遵守的交通规则是什么。第三个层面的计算是需要做出推理和判断,这个时候要车道保持还是要换道,还是前方路口要左转还是右转。所以场景计算就是要实现从几何度量到推理预测的转变。
我们来看看场景计算的具体实现。其实可以把它进一步分解成两个方面。第一方面就是从静态角度来看场景,只考虑场景的静态部分,不考虑运动的车辆和行人,从几何拓扑结构,比如道路边界,这个路有多宽,有几个车道,车道线在哪里,车道线到底是黄线、虚线还是实直线。解决这些问题需要把地图和感知数据结合起来,形成场景中交通要素的几何度量,并且把它们的拓扑结构要提取出来。从动态角度,主要考虑交通参与者,比如说车辆、行人所占据的车道和空间,它们的运动轨迹以及对它们将来一段时间的运动预测。动态场景理解必须把交通规则和障碍物的检测跟踪结合起来。由于运动规划是对将来运动的规划,所以要基于当前的感知要推测将来的运动。
静态场景的第一个问题就是基于几何度量的定位。常用方法是用GPS+地图,但是GPS并不是每个时刻都有,而且现有的地图都是给人看的,它的分辨率及对场景的描述能力并不适合无人车用。对于无人车来讲要实现车道保持,定位精度必须到10厘米以内才可以。所以这就引出来一个高精度地图构建的问题。高精度地图在地图里嵌入了感知数据以提分辨率和对场景的描述能力。这种离线创建的地图实际上把很多视觉数据、激光数据的结构化信息放到地图里面来提高地图的表征能力。地图创建与定位是耦合关系,位置本身就测不准,地图创建的时候又要依赖于位置的信息。
这个演示是我们的无人车如何自主从地下车库开出来。无人车先离线建立一个地下车库的地图,然后基于地图+感知数据的定位方式,无人车从这个地下车库开出来。刚才讲的地下车库是一个非结构化的场景。车所行驶的环境并不是每个地方都有车道线,没有车道线的地方就是一个非结构化场景,非结构化场景就需要建立地图。在结构化场景里面我们需要把车道线和道路边界信息一起放到地图里面,这里面解决的问题是多源传感数据的时空对齐,比如我们不能单纯靠视觉,要通过激光和视觉融合来构建场景地图。要解决配准问题,因为多传感器的采集频率不一样、尺度也不一样。我们提出了一个方法高效的高维点集配准算法。
有了度量地图以后,环境感知对于路口的车道引导、对于特定区域感知以及对交通信号灯的识别变得就非常可靠。特定区域,例如收费站就是一个非结构化的场景。交通灯的识别在计算机视觉领域里面大家都觉得非常简单,但是在实际应用中我们会发现这个交通灯的识别单纯靠图像识别很难做到非常可靠。我们在地图里面加入了交通灯位置信息,这样就可以根据当前车辆位置预测交通灯出现在图像的什么地方,减小搜索范围,虚警率会降低很多。
对动态场景而言,我们要在障碍物比如行人和车辆检测和跟踪的基础上,解决预测运动意图问题。这种运动意图的预测必须要结合交通视觉知识。怎么来实现视觉知识表示与学习,就要用到机器学习方法。我们要标注场景的感知数据,通过检测跟踪得到位置序列,对位置序列来学习进行预测他的运动意图。这里面的难点就是鲁棒可靠的检测与跟踪,重点是学习路口区域的车辆和行人通行的行为模式。以往的对障碍物的检测、跟踪与识别研究都是分开去做的,但是在实际应用里面其实这三个问题耦合在一起,是一个问题。靠单个传感器是不行的,视觉目标检测中,比如行人检测、车辆检测目前只能做到80%的检测率,所以需要把激光和相机融合起来,这里面要解决的一个问题就是两个传感器之间的标定。我们有个工作是把激光数据映射到图像里面去,比如把四线的激光数据映射到图像里面。因为激光相对来说是比较可靠的,所以它可以给我们很多先验知识,有利于提高检测跟踪和识别的准确率。相机与激光雷达的标定误差会随距离发生非线性变化,对于车辆往往要求我们检测范围在100米左右,这样的情况下误差变得非常大,所以我们需要把图像里面的结构化里面与激光的深度结构信息对应,这里我们用深度边缘和图像边缘来对应,成功将三维激光点云数据映射到图像上,然后实现可靠的障碍物检测和识别。这里的视觉检测框架就是Faster RCNN,一种很好的深度神经网络,在视觉检测结果上用三维点云再去做一次校验,可以把虚警降低很多。
这是我们最终实现的用于无人车的视觉主导的场景计算框架。我们解决了一个多传感信息的跨尺度的时空配准,构建了场景集成计算框架,这个框架从2010年一直做到现在,在智能车上进行真实交通环境的实地验证,一直不断地在改进。这个框架不仅仅是把多传感的信息对齐配准,而且我们把地图的信息也放进来,这样它的定位和对行驶移动环境的理解变得能够满足无人车的自主运动的需要。
刚才讲到的是场景的计算要解决的主要问题,下面我汇报第三个部分内容。有了交通场景的结构化描述以后无人车如何实现自主运动?我们知道从感知到运动的环路是无人车自主运动的基础。这里面我们要考虑场景感知和运动控制里面都存在不确定性,比如场景感知的定位会有随机误差,另外在无人车的运动控制也有随机误差,比如说我们让它的速度到40公里,那它可能到39.5公里,这也存在不确定性。这两方面的不确定性在车辆运动的规划的时候必须同时考虑。
运动规划是在位形空间中搜索最优路径。具体来说,就是把场景的结构化信息要映射到无人车的位形空间里面去。无人车的状态描述有六维,XYZ和它的三个角度,在这六维空间里面寻找一个无碰撞的车的位置和姿态序列,这个序列是我们进行运动控制的一个期望的输入。这里主要是解决优化问题,也就是说我们形成的位置序列应该是光滑的,是应该能够适应车辆的运动约束。因为我们车的运动不像机器人可以360度随便转,它有一个非完整性的约束,比如它有转弯半径,有速度极限,怎么在满足这个约束的情况下得到最优的路径,这是运动规划的问题。路径和轨迹两种运动规划的结果,路径是几何描述,轨迹几何信息基础上增加了时间信息,也就是说每一个时刻车不仅仅有位置约束,而且对它的速度也有约束。
运动规划的方法比较多,我们提出了一种高效的快速扩展随机树算法。刚才我讲到,交通场景是由结构化场景和非结构化场景混杂在一起,对于结构化场景来讲,路径规划可用几何曲线,比如车道保持,只要行驶在车道中间。要换道就是从这个车道中间换到另外一个车道中间,但是对于路口,对于收费站等等这样非结构化要用随机搜索算法。但是怎么寻求一种能同时用于结构化和非结构化环境的运动规划算法?我们把非结构化环境的运动规划算法进行了扩展,使得它同时能够适应结构化的运动规划的问题。这里面有两个视频,一个其实在2015年的无人车比赛里面,经过一个野外的路径,还有晚上在城区环境里面自主行驶的一个视频。
场景理解的研究中已经有大量深度学习技术,在无人车自主运动里面,机器学习也大有用武之地。比如说可以用强化学习,通过车辆跟环境的交互来学会自主驾驶。输入场景图像序列,得到运动控制序列,这叫端对端的学习。从场景理解到运动控制有很长的技术链路,端对端的学习希望输入感知数据,输出车辆的方向盘转动量、油门和踏板的控制量,目前有很多人在做这方面的研究,基本思路就是把深度神经网络和强化学习结合起来,来实现端对端的自主驾驶策略学习。
最后,我做一个总结和展望。我们团队从2009年开始做无人车。2009年国家自然科学基金委启动了视听觉信息认知计算的重大研究计划,这个重大研究计划把无人车作为物理载体来验证视觉信息的认知计算的模型和算法。每年举办一次无人车的比赛。我们团队从2009年到现在连续八年每次都参加,这些是参加比赛的一些视频。我们可以展望一下无人车技术的未来发展趋势。无人车的场景计算和自主运动的框架都被认为是深度学习+GPU,也就是车载计算平台肯定是要用GPU的,因为我们要用到深度学习。英伟达也推出一个深度学习的车载计算平台PX2。特斯拉的新车上已搭载了PX2。深度学习在场景图像的语义标注上取得了很好的结果,对每一个像素到底属于天空、道路,是行人还是车辆都可以标注出来。这种场景语义对于车做更加智能的决策和规划会起到一个很好的支撑作用。
最后一个问题就是如何测试无人车安全性。我刚开始讲的时候提到大家都预测2020年无人车会得到大范围的应用,其实这里面有一个概念不清的问题,自动驾驶并不等于无人驾驶,无人驾驶是自动驾驶的最高阶段。从自动驾驶到无人驾驶仍然有非常长的距离。比如安全性测试。刚才也有听众在问我特斯拉自动驾驶导致的交通事故,其实导致这个事故的根本原因就是视觉识别出现了错误,因为特斯拉走的是一个比较激进的技术路线,他是要降低车辆的成本,所以他只用视觉,没有用激光和雷达,当然他现在把雷达加进去了,但是激光仍然没有加进去。安全性测试实际上是要解决一个小概率事件问题。我们在实验室里面能够想到的交通场景是有限的,真实的交通场景变化是无穷的,我们不可能穷尽所有可能。
真实环境的无人车测试和实验室的测试都必不可少。我们国内已经新建了好几个无人车的测试基地。测试的模式都是实地测试+仿真+云端。也就是说特斯拉的车辆的行驶过程的实际行驶数据都会上传到云端,云端有对模型算法的更新然后再来升级车的自动驾驶性能。其实这种测试模式也是目前无人车发展走向实际应用必须经过的一条路径。
我的报告就到这里,谢谢大家!
陈小平(主持人):感谢薛教授的报告,有没有问题?薛教授是做了一些前沿研究,而且在无人车上,把整个无人车作为一个平台开发出来,然后长期的做研究和测试。
听众:谢谢薛老师的报告非常精彩,我可能问题比较宽泛一点,因为无人车现在得到非常广泛的关注,全世界大汽车制造厂,包括研究机构都在关注这个领域。那么就是说我们国家在计划上也有这一块,就是我们国家在无人车自动驾驶这个方面,您觉得我们的优势或者是特色是什么?
薛建儒:这个问题我只能谈一谈我个人的粗浅的看法,因为我们在做无人车实际上是在基金委他的资助下,主要是强调视听觉信息,比如说我们无论是在场景的计算还是在自主运动方面强调视觉信息,因为视觉信息其实应该是无人车实现的一个最低成本的技术方案。当然现在你看现有的无人车里面,视觉在里面起的作用还是非常有限的,比如特斯拉,还有现在目前百度,还有美国DARPA无人车比赛里面他的无人车主要是依赖于激光和毫米波雷达再加上GPS。但是现在大家都认为视觉它是一个非常有前景的技术路线。
(本报告根据速记整理)
CAAI原创 丨 作者薛建儒教授
未经授权严禁转载及翻译
如需转载合作请向学会或本人申请
转发请注明转自中国人工智能学会