2017北京车联网与智能驾驶论坛于9月6-7日在北京昌平小汤山佐智自动驾驶园召开。会上,易图通科技(北京)有限公司副总裁羊铖做了题为《高“精”图助力“智”慧车》的演讲。
羊铖:大家好,我是来自易图通公司的羊铖,易图通公司主要做地图相关的to B业务,比如给OEM厂商提供导航地图等,我司近期专注于进一步加速无人驾驶高精度地图的发展。今年以来,我司开始为国际车厂的自动驾驶汽车在中国落地提供仿真测试服务。
今天我想重点给大家分享一下高精度地图在无人驾驶中的应用。无人驾驶是人类的梦想,中外的故事、传说中大家耳熟能详的就有这样的场景:阿拉丁坐着飞毯就可以实现“自动驾驶”,当然我们的老祖宗更high一点,孙悟空一个筋斗云一下子可以“自动驾驶”十万八千里。
讲回到我们这个行业,上方图示是阐述自动驾驶的发展阶段。我想强调的是:对于自动驾驶每一个阶段而言,地图都不可缺少、而且在其中起到非常重要的作用。过去大家所使用的无论是车载地图,还是手机地图,都可以叫做导航地图,都是给人用的;在L1、L2阶段,我们称之为ADAS地图;而到了L3、L4、L5阶段就会用到高精度地图。我个人认为对于自动驾驶以及无人驾驶而言,L3阶段是一个分水岭,L3怎么定义,也存在不同的说法,SAE中的概念也比较模糊。我个人认为目前比较权威或者比较合理的对于L3的定义,就是“在无人操纵的情况下可以实现车辆完全自主的变道,而不是由用户发出指令或者由系统发出指令由用户进行确认变道”,在车辆自主变道的过程中就需要高精度地图。
以上是ADAS地图,ADAS地图和我们现在用的导航地图的区别在于:第一,精度会提高,普通的导航地图精度会在5到10米左右,而ADAS地图精度会提高到5米以内,而且相对精度会在1米以内;更重要的一点,它会提供坡度、航向,以及曲率信息,可以说导航地图从完全二维、平面地图,进化到ADAS三维地图。举个例子:如果车辆前方有一个弯道,无论是摄像头、毫米波雷达还是激光雷达本身的探测技术都是相对有限的,无法探测到500米以后会有弯道,如果等到距离较近时才识别到弯道,做出急刹处理,非常危险。而博世曾经做过一个实验,如果这个过程使用ADAS地图,可以更早的识别、确认弯道位置,通过策略控制,在比较远的位置就会减速、刹车,做出平滑而安全的处理,更接近人类的驾驶行为。在行驶过弯道过程中,曲率信息会给出安全通过弯道的速度提示,或者直接控制刹车,曲率信息还可以应用于前照灯自动调整,在弯道位置自动调整照射角度。再举个栗子,在ACC过程中,旁边如果有一条匝道,如果前车驶出匝道,传感器可能会误判,认为前车有可能加速了,而如果通过用ADAS地图作为参照,他会知道前车消失了并不是因为加速,而是因为它驶入匝道,从而采取一些更为正确的策略。
上图是高精度地图,也称为HD Map,传统地图是给人使用的,而无论是ADAS地图还是高精度地图是给机器使用的。高精度地图相对误差已经可以做到10厘米到20厘米,绝对误差在1厘米以内,表达的要素和我们传统地图非常不同,丰富很多,比如会表达车道线。左侧是高精度地图,体现了道路边缘线、车道中心线、停止线等一系列车道属性。总体来说:无论是ADAS地图还是传统地图都是道路级的,而高精度地图是车道级的。同时,高精度地图的应用可大大减少自动驾驶AI的运算量,原理是:我们通过车辆的传感器,感知到现实世界,同时会和高精度地图做一个比对,如果没有差异,会直接使用高精度地图所提供的信息,而无需额外的运算。总结起来:第一,高精度地图是给机器使用的;第二,高精度地图也是车辆传感器的一种;最后,高精度地图可以降低自动驾驶过程中AI的运算量。
目前自动驾驶技术路线基本是两条:一条是现在很多公司选取的路线,我把它叫做传感器感知加AI算法的路线。比如谷歌等公司强调传感器数据结合地理信息数据,并进一步结合惯性导航算法,通过深度神经网络进行机器学习来校准、提升算法。而另外一条路线更强调AI算法的重要性,相对而言它对车辆的传感器要求没有那么高。AI算法为主的公司典型的就是特斯拉,较少的依赖传感器,更多的用AI算法来补充。
自动驾驶需要解决几个事情:第一,车辆在哪?第二,周边的环境怎么样?第三,将要发生什么?最后,我该怎么做?综合多维信息才能做出正确决策,这就是车辆控制方面高精度地图所做的工作,下面就具体介绍高精度地图在这几个方面发挥怎样的作用、以及怎么发挥作用。
首先,对于自动驾驶汽车而言,通过地图可以更好的理解真实世界,解决车辆在哪以及环境如何的问题。因为车辆上的传感器,无论用再多、再先进的传感器,都会存在各种各样的限制。我举一个简单的例子:如果仅仅靠车辆传感器,可能会由于遮挡,无法探测到路边的限速信息,如果下大雪,把路面都覆盖了,摄像头也好或者雷达也罢,这些传感器都没有办法检测到车道线,而在这些情况下,高精度地图就可以提供一些辅助信息,可以帮助自动驾驶车辆更好的理解现实情况。
其次,对自动驾驶汽车而言,通过地图可以看到将要发生的事情,这也涉及到驾驶员安全的问题。进入自动驾驶时代,除了让人类能更轻松的驾驶汽车,更重要的是要更安全的驾驶汽车,而实时信息图层就可以提供这样的信息,提供帮助。举个例子:车辆上的传感器探测到前方有结冰,或者探测到前方有浓雾,再或者前方有车祸等等一系列危险的情况,车辆可以实时把这些信息发送到云端,然后由地图提供商把信息实时的发送给其他用户,做出提前预判和合理处置。
最后,对于自动驾驶汽车而言,通过地图能指导行为,能提供更人性化的驾驶体验,具体实现方式是通过大数据来分析人类的驾驶习惯和驾驶行为。每一条道路其实都有用户特征,在这条道路上,用户是什么样的驾驶行为、这条路大部分人都是开70公里还是开60公里、甚至不同的时间点这条路的对应的用户行为也不一样,我们通过大数据分析方法,通过搜集真实用户的行为信息,把每一条的道路的用户特征进行素描、再返回给用户,把这些信息提供给自动驾驶决策系统作为参考,提供更人性化的驾驶体验。
上图是目前用的比较多的无人驾驶方案架构,比较强调和地图的关系。总体而言:自动驾驶是通过车辆的传感器,由摄像头、毫米波雷达、激光雷达或者超声波雷达等等一系列传感器,来搭建整个环境模型,然后与高精度地图进行匹配,实现定位功能、给自动驾驶提供驾驶策略。
高精度地图架构,分为两部分:第一个部分是提供定位,第二部分是提供局部规划和驾驶策略。对于定位而言:首先提供道路网络数据,更确切的应该说是车道级的网络数据,其次提供周边环境数据,环境数据的作用是辅助定位。目前部分方案会使用RTK技术,通过高精度GPS定位,可以实现厘米级车辆定位,但是仅仅通过这样定位会存在一些问题:第一成本高,通过差分基站实现高精度定位,本身定位设备成本较高;第二稳定性低,要通过实时通讯来不断的接收差分信号,稳定性存在问题,即使用到RTK,在城市中高楼密集区域定位精度达不到要求,还有一些极端的情况,比如在隧道中通过高精度的GPS也无法实现定位。考虑到这些诸多因素,就需要高精度地图通过环境数据提供相对定位功能。对于规划和决策辅助而言: 高精度地图是车道级路网,对自动驾驶汽车行驶在精确的车道上提供规划,另外高精度地图还会提供一些其他属性,如每一条车道的限速情况,这条车道是不是公交车道或者其它特殊车道,还有ADAS地图中的坡度、倾斜角度、曲率、限速等等,这些属性也可以帮助自动驾驶汽车进行决策。
再具体一点,对于高精度地图可以结合传感器实现相对定位,具体如何实现?大家看这个图,前方有一个路牌,距离自车位置约100米,传感器可以探测自车位置与路牌的相对距离和角度,同时高精度地图会把路牌的位置做得非常精确,使用相对位置再对比结合高精度地图的绝对位置,就可以实现自车位置的纠正,可以做到很高的定位精度。对于定位方案,各家高精度地图会有不同的方案:激光雷达定位的方案会选取一些标志物,因为激光雷达对标志物的探测非常有效。以图像和视觉为主的方案,会选取图像的特征点,有的称之为指纹,利用每一个不同位置图像的不同特征点来实现相对定位。
对于高精度地图提供辅助规划和决策而言,具体又如何实现?高精度地图可以作为传感器的视觉延伸,车辆上的传感器,无论是毫米波雷达或者激光雷达的探测距离都是有限的,地图会让汽车看到传感器看不到的远方。电子地平线即是如此,电子地平线通过地图提供的信息,让汽车看得更远,从而使车辆尽早做出规划和决策。刚才我举例,使用ACC时,通过雷达跟住前车,可以控制一定的车速和距离,而在过桥的时候,前车可能已经下坡,后车雷达可能会突然失去信号,这个时候如果仅仅靠传感器会做出误判,觉得前车是不是加速了?我是不是应该加速追车?而有了高精度地图以后,地图会告诉你当前位置是一座桥,前面的车并非提速,而是下坡,这样车辆就不会做出危险动作,比如急加速。另外,右上角这个图,红色的区域应该说是一个相对比较危险的区域,因此处车道汇合,而靠传感器无法获悉,而高精度地图可以把车道汇合或者学校区域等等一系列危险区域信息体现在地图内,从而给车辆决策提供辅助,尤其是极端天气条件下,高精度地图的辅助作用就尤为凸显。
高精度地图的制作也有两条路线,第一条我们称之为重传感器路线,第二条叫做轻传感器路线。
第一条路线依赖于昂贵的设备,如64线激光雷达、非常昂贵的IMU,或者用RTK GPS确定位置,不仅需要价值几百万采集设备,而且后期的制作成本也非常高。同时无法通过同样的方式解决数据更新的问题,恰恰对于高精度地图而言数据更新非常重要。但是其优点是技术比较成熟、容易集成到目前的自动驾驶方案中。
另一条路线是轻传感器路线,仅利用摄像头结合低成本的IMU来采集、制作地图,成本较低,当然这种方式的问题是精度相对没有那么高,而通过众包的方式可以解决,提升精度。与前面介绍的大数据分析概念类似,即使有一个用户位置不精确,而通过100个用户、1000个用户可以把这个位置做得非常精确,而且可以通过众包的方式解决覆盖率的问题。当用户数量值增多的时候,更新频率的问题也能非常容易的得到解决,当然这种方法一方面需要用户量或者众包量非常大以保证实现效果,另一方面需要非常强的AI、非常强的图像算法来支撑。
我们公司在这两条路线上都有做一些尝试。比如第一条路线,高精度地图生产线,大家也可以看到我们的采集车装载的设备非常昂贵,会把激光点云数据采集回来做矢量数据抽取工作、做属性的加工,最终形成高精度地图。我们的高精度地图生产线,目前做到了半自动化。
第二条轻传感器路线,通过摄像头,可以识别限速路牌、红绿灯、车道线、停止线等等,完全通过图象处理提取车道线包括道路边缘,包括人行横道、路口等等信息。生产过程会是这样:我们通过车辆上的摄像头产生了很多图像,通过自动识别产生交通标志和车道线,另外通过GPS信号生成的行车轨迹来制作道路,通过车辆自带的传感器同时解决高精度地图和标准版导航地图的生产。
下图是高精度地图用于自动驾驶架构的图示,图面比较复杂,高精度地图和我们现在用的导航地图完全不同。最左侧是我们云端的生产中心,或者说生产平台,它的数据来源一部分是自主采集,另一部分是通过众包车辆采集,同时我们的最终用户又会返回数据,包括低频变化的数据和高频变化的数据,就是一些事件信息,最终构成发布的数据,依托发布平台,这个平台既发布高精度地图,也会发布我们的导航地图。右侧大家可以看到,车辆模块中会有一些传感器的数据输入到自动驾驶模块以后,通过自动提取,产生车道线位置,交通标志位置等信息,再返回到生产中心进行加工。
总体来讲:高精度地图用于自动驾驶是一个循环过程,本身车辆传感器会产生一些数据,而这些数据又可以用于制作高精度地图,通过我们的制作再发布给其他的用户,整个自动驾驶或者对于我们地图生态来说是一个健康的循环。
最后是我们高精度地图的样例,是我们用点云数据做的高精度地图,最终会产生车道级高精度地图。
提问:地图有百度和高德,友商为什么选择你们?
羊铖:首先,相对而言,我们提供的服务更优,在整个行业中我们服务的口碑一直是比较好的。其次,这个项目涉及到数据采集,我们是少数几家有资质可以做高精度地图的公司之一。再次,我们是家独立的图商,与合作伙伴不会产生利益冲突,比较容易形成双赢的局面。
提问:我们现在跑多少公里?
羊铖:目前我们做了几个城市,覆盖范围不及友商,他们做得更多一些。这反映了不同公司的策略有所不同:我们在不同技术方向上都做一些探索和积累,从而寻求最优的解决方案,这是我们当前聚焦的重点,而不是高精度地图的公里数。具体来说,首先,目前高精度地图的规格或者技术方向还没有定论,此时进行量产还不是时机,其次,高精度地图应用到自动驾驶还没有这么迅速,高精度地图商业化也没有这么快,所以我们现在做的更多的是和众多OEM厂商合作完成自动驾驶的POC,尝试不同技术路线的落地。
提问:您对高精度地图在实际应用到自动驾驶方面有什么思考?我看到两个路线,一个是一门心思在做地图,但是在做自动驾驶是做我们需要的地图。我们也到图商调研,甚至把他们的高精度地图拿过来,但是那样的高精度地图我们没有办法用。比如说实时性,我们车跑那么快,需要很少的数据量,但是那个地图现在里面的信息很丰富,有这有那。如果真要我们用,实时性怎么保证?
羊铖:大家也经常问我这个问题。涉及到实时性的问题:早晨听韩教授也介绍了:目前考虑到通讯网络的延迟情况,是否能满足自动驾驶车辆的大量数据传输要求,这个问题现在还在讨论过程中,未有定论。而现实的情况是,即使4G通讯网络目前也达不到自动驾驶的数据传输要求。在未来5G通讯普及的情况下,这个问题会得到解决,再讲到属性问题:目前我们公司已经和四五家OEM进行合作,由我们来提供高精度地图样本数据,他们把高精度地图加载到整体系统中,各家客户对地图的需求确实不一样,我们地图属性丰富,但是每家可能基于实际方案有所取舍。我个人的观点:根据自动驾驶发展阶段不同,在前期,在相对条件比较好的高速公路上的测试,对于高精度地图的依赖性没有那么高,或者包括刚才说的实时性没有那么高。但是随着自动驾驶发展等级越来越高,L3就需要用高精度地图,到了L4我认为高精度地图是不可缺少的,要保证自动驾驶的安全性,车辆对于传感器范围之外的信息的感知是非常有必要的,才有可能做到自动驾驶汽车的安全可靠性超过人类驾驶员。