logo

群雄逐“图”,百度缘何备受关注?

作者:Apollo开发者社区2019.08.28 05:49浏览量:9396

简介:“如果拥有一辆自动驾驶汽车,那高精度地图并不是可有可无,而是这辆汽车的核心功能。”这句话出自前Here地图副总裁 John Ristevski。 高精度地图到

“如果拥有一辆自动驾驶汽车,那高精度地图并不是可有可无,而是这辆汽车的核心功能。”这句话出自前Here地图副总裁 John Ristevski。

高精度地图到底有多核心?多重要?

 

通俗来讲,我们不就是想追求“开车省事儿+找对地方+驾驶安全”三合一吗?

 

地图越精准,自动驾驶车辆定位就越准确,安全也就越有保障!这么看,高精度地图确实在一定程度上满足了大家的要求。

 

高精度地图

(图片来源于文章《高精地图在无人驾驶中的应用》)

 

作为自动驾驶开发者阵营中的一员,关于地图,我们关注了如下几则消息

 

2017年年中,自动驾驶领域的“隐藏实力者”苹果,搭载了十余个32线激光雷达、摄像头、GPS 等传感器阵列的自动驾驶路测车被曝光。

 

在本次全新升级的车型上花了这么大价钱,苹果可能不单单是为了在路测上“称王称霸”,很大程度上是冲着高精度地图而来。

 

除了互联网企业高调示爱地图,整车厂商以及零部件公司也都在加紧钻研基于云的数据存储和地图绘制方案。

 

例如,丰田和GM等汽车厂商曾在2016 CES展览上展示了自动驾驶汽车云地图的绘制技术。

 

在日本,汽车零部件供应商三菱以及地图商Zenrin已联合国内九家主流汽车制造商共同创建了“Dynamic MapPlanning”合资公司,为2020年东京奥运会上的无人驾驶服务提供3D道路高精度地图方面的技术支持。

 

这么看来,无论是创新的互联网企业还是传统的车企大厂,都在努力争取高精度地图这场比赛的入场券!

 

2017年是自动驾驶“元年”,这项颇具潜力的事业也让各大传感器厂商们“身先士卒”,积极布局自动驾驶版图,例如Moblieye。尽管现在企业已经被英特尔收购,但地图的研发工作始终没有被搁置。

 

地图研发是图商们的老本行,他们做的咋样?

 

据了解,TomTom的高清地图(包括Road DNA)已经做到可以帮助自动驾驶汽车在高速行驶途中精确定位自身位置并辅助决定采用哪条行车路线。

 

不得不说图商的研发进度可圈可点!

 

聚焦国内,高德早在2014年便开始了高精地图的攻坚战,目前已经将大数据能力以及机器学习能力为基础的AI引擎嵌入其中。

 

同样是图商,四维图新也已经宣布与车企宝马合作,为其在我国销售的汽车提供地图产品。

 

我们发现,高精地图领域的入局者基本上可以分为这样几类,互联网企业,如百度;车企大厂,如丰田、特斯拉;传感器厂商,如Moblieye(已经被英特尔收购);以及包括 TomTom、四维图新、高德等在内的图商。

 

不过仔细想想,入局归入局,但是要想玩的比别人都好,成为领先的玩家,确实不是一件容易的事儿。

 

其实对高精度地图的研发,除了在技术上需要攻克一些难关之外,更需要站在自动驾驶产业链的角度上思考问题。高精度地图是自动驾驶的专属地图,了解车的需求或许比“造图”本身更重要。

 

如果从开发者的角度来看,以百度为代表的互联网企业以及传统车企或许在整合产业链资源,全局入手的能力上更占优势。

 

关于高精度地图的一些based问题

 

地图,对于人们的日常生活来说很普遍。

 

通常我们了解的都是用于导航、查询地理信息的传统电子地图,这类地图主要服务的是人类驾驶员。

 

传统电子地图

(图片来源于文章《高精地图在无人驾驶中的应用》)

 

如图所示,传统电子地图是对路网的一种抽象表现,将路网抽象成有向图的形式。

 

什么是有向图形式?

 

简单来说就是图的顶点代表路口,边代表路口与路口的连接。路名、地标以及道路骨架信息都可以被抽象成并存储为这种形式。

 

这种形式的绝对坐标精度大约在10米左右,由于用作辅助驾驶员导航,外加GPS设备定位(精度也在10米左右),所以这样的精度标准对整体判断影响并不大,类似于人们眼中的示意图。

 

何为高精度地图?

 

所谓高精度地图,实际上是与人们现在普遍认识的电子导航地图对标提出的概念,是提供给自动驾驶系统使用的地图。

 

高精度,简单来说就是地图的绝对坐标精度(绝对坐标精度指的是地图上某个目标和真实的外部世界的事物之间的精度)更高;另一方面地图所包含的道路交通信息元素更加细致丰富。

 

自动驾驶汽车在行进过程中需要准确知道自己在路上的位置,往往车辆离马路边缘和旁边车道也就几十厘米,所以高精度地图的绝对精度一般都会在亚米级别(也就是1米以内的精度),而且横向的相对精度(例如车道与车道,车道与车道线的相对位置精度)往往会更高。

 

高精度地图不仅有高精度坐标,还包含丰富的语义信息,例如交通信号灯的位置及类型,道路标示线的类型,识别哪些路面可以行驶等,这些能极大提高车辆对周围环境的鉴别能力。

 

例如道路描绘时,一条道路上有多少条车道?

 

哪些真实道路在哪些地方变宽了?

 

哪些地方因为汇合而变窄了?

 

每条车道和车道之间的车道线是虚线,实线还是双黄线?

 

线的颜色、道路的隔离带、隔离带的材质甚至道路上的箭头、文字内容、所在位置都会有相应的描述……

 

高精度地图针对道路形状的准确描绘,甚至可以精确到每个车道的坡度、曲率、航向、高程等,同时为了自动驾驶的考虑,甚至每条车道的限速,推荐速度也会一并提供。

 

高精地图中的道路标识线及路牌信息

(图片来源于文章《高精地图在无人驾驶中的应用》)

 

目前,尽管自动驾驶科技公司、图商以及传统车企对高精度地图的定义尚未统一化,但高精度地图的绝对坐标精度更高,包含的道路交通信息更丰富(如可分为基础层、道路信息层、周围环境信息层和其他信息层)等方面确实已经成为区别传统电子导航地图的显著特征。

 

此外,由于路网每天都有更新变化,如整修、道路标识线磨损及重漆、交通标示改变等,这些都需要及时反馈在高精地图上以确保无人车行驶安全,也就同时要求高精度地图有更强的数据实时更新功能。

 

关于高精度地图,百度怎么说

 

百度作为致力于高精度地图研发的科技企业,内部人员一度表示将高精度地图看做是Apollo 云端服务的核心数据,足知关键!

 

提起高精度地图在自动驾驶体系的重要作用,百度Apollo布道师认为,在路径规划、环境感知方面,路况是除了障碍物之外最基本的一个需要被感知的条件,但是道路识别却非常困难。

 

如果依靠传感器来识别,例如激光雷达,识别车辆在哪条道路上、哪条车道上,其实是非常困难的,因为免不了会出现积雪覆盖、雨雪、大雾的情况。这种情况出现后,相机识别、视觉方案,还有激光传感器方案,硬件辨别就变得不那么可靠了。

 

这时候谁可以清楚知道具体车道的位置呢?只有高精度地图!所以无人驾驶系统,就从单一传感器角度转向高精度地图寻求依赖。

 

高精度地图的优势就在于提供车道级别的区分,可以在变道的过程中提供若干个参考的车道、区域的变化、自动车道的辅助信息等来完成变道、变向的部分操作。

 

有关高精度地图的数据问题

 

都知道高精度地图需要很强大的数据实时更新功能,那么如何破解数据带给地图的诸多问题呢?无外乎从两个方面入手优化,一方面是数据采集,另一方面是数据处理。

 

更进一步来说,首先需要靠人和车来采集数据,其次依托机器和算法来处理数据。当作图问题转化为数据问题时,这对互联网企业发挥优势就有“神助攻”的作用了。

 

关于地图数据采集

 

目前从全球范围内观察,高精度地图测绘数据采集的方式主要集中两类,一种以谷歌、here的地图测绘车为主要力量,例如here高精度测绘车上的激光雷达传感器可以一秒内感知约60万个扫描点(其中包括周边建筑物、树木等),一天内测绘车能够收集和处理的数据超过100G。

 

另一种则以特斯拉的“车队学习网络”(Fleet Learning Network)为代表,可以理解为用量产车将测绘任务众包出去,调动整个车队的所有传感器来收集数据,并通过云上传到中央数据库,这个方式在一定程度上有效弥补了由于测绘车数量不足而造成的数据获取以及更新缓慢等问题。

 

地图测绘数据采集车(图片来源于网络)

 

关于百度高精度地图的测绘数据采集,现在是由专门部门负责,它的采集制作可以被认为是自动驾驶的一些传感器适配,集成在某一辆跟传统汽车没有差别的车上,然后全国各地跑来跑去。

 

这个采集的过程与之前普通的、传统的地图采集差别不大,但在规模上可能要比传统地图数据采集要大很多,例如如今车队的数量就比传统的地图数量多很多;另外速度方面,截至2017年底已经达到覆盖全国所有高速公路的水平。

 

这么看来,百度高精度地图的数据采集目前还并未涉及到其他的采集方式,例如步采背包以及无人机,是否会在这方面有所调整呢?

 

(图片来源于网络)

 

目前百度的高精度地图以满足L3级别自动驾驶的要求为标准,所以采集的道路场景以高速公路为主。采集车队总量达280台,其中具备高精度地图采集能力的车辆约40多台,单车设备成本在100万人民币左右,自动化处理程度可以超过 90%

 

地图的数据管理与更新问题

 

关于地图数据的管理,自动驾驶领域专家刘少山等专家表示,无人车使用的高精地图是2D网格,数据主要由激光雷达提供。

 

由于激光雷达的精度大约是5厘米,所以地图的最高精度可以达到每个网格5×5厘米,在如此高倍的精度下,如何有效管理数据是很“麻烦”的一件事儿。

 

一般情况下,激光雷达可覆盖方圆100米范围,假设每个反光强度可以用一个字节记录,那么每次激光雷达扫描后就可产生4MB数据。

 

但是这种扫描会涵盖公路旁边的树木及房屋等,实际上无人车行驶并不需要这些,只需记录公路表面的数据,数据过滤就成为关键一步。

 

过滤数据中,通常可以使用无损压缩算法,例如LASzip,有望达到超过10倍的压缩率。经过这些处理,通常1TB硬盘就可以存下全国超过10万公里的高精地图数据。

 

关于地图数据的更新频率,可能与自动化剩下的10%左右的工作量有关系。这个具体频率目前还暂未确定,但大概要按照天级别的维度来更新。

 

高精度地图的制作过程

 

高精地图的精准度需要达到亚米级,数据维度还涉及到高精度定位能力(HD Localization), 横向/纵向精确定位(Lateral/Longitudinal Positioning), 运动规划(Motion Planning), 基于车道模型的二次规划( Motion Planning with lanemodel), 智能调速 (Acceleration/deceleration), 转向和引导 (Steering and guidance)等诸多方面,所以单单依靠卫星与GPS肯定不行。

 

因此在生产过程中会涉及到利用多种传感器来收集数据的情况,数据收集后接下来会通过线下处理将各种数据融合,从而产生高精度地图。

 

通常情况下,高精度地图的制作包括了几种主要的传感器设备。

 

首先,需要陀螺仪(IMU, 一般使用6轴运动处理组件,包含了3轴加速度和3轴陀螺仪。陀螺仪主要就是角速度检测仪,检测每个加速度。

 

关于轮测距器(Wheel Odometer, 一般可以通过轮测距器推算出无人车的位置。

 

汽车的前轮如果安装了轮测距器,分别会记录左轮与右轮的总转数。通过分析每个时间段里左右轮的转数,就可以科学推算出车辆向前走了多远,向左右分别转了多少度等。

 

GPS,主要任务是确定四颗或更多卫星的位置,并计算出它与每颗卫星之间的距离,然后用这些信息使用三维空间的三边测量法推算出自己的位置。

 

激光雷达(LiDAR, 光学雷达通过向目标物体发射一束激光,然后根据接收——反射的时间间隔来确定目标物体的实际距离,随后根据距离及激光发射的角度,通过简单的几何变化可以推导出物体的位置信息。

 

LiDAR系统一般可以分为三部分,分别是激光发射器,发出波长为600nm到1000nm的激光射线;扫描与光学部件主要用于收集反射点距离与该点发生的时间和水平角度(Azimuth);感光部件主要检测返回光的强度。

 

高精度地图计算架构

(图片来源于文章《高精地图在无人驾驶中的应用》)

 

整体过程可以简单描述为,陀螺仪(IMU)及轮测距器 (Wheel Odometer)可以高频率地给出当前车辆的位置预测,但由于其精确度原因,位置可能会有一定程度的偏差。

 

为了纠正这些偏差,可以使用传感器融合技术(比如使用Kalman Filter) 结合GPS与激光雷达(LiDAR)的数据算出当前无人车的准确位置,然后根据当前的准确位置与激光雷达的扫描数据,把新数据加入地图中。

 

如果探究具体的实践过程,其实可以参照下面的关系式:

 

(图片来源于文章《高精地图在无人驾驶中的应用》)

 

其中Q代表优化方程,z代表激光雷达扫描出的点,h为方程预测最新扫描点的位置与反光度,m为扫描到的点在地图中的位置,x代表无人车当前位置。

 

这个方程的目的是通过最小化J求出测量点在地图中的准确位置。在计算模型中,m与x开始都是未知的,可以先通过多传感器融合求x,再求出测量点在地图中的准确位置m。

 

百度的高精度地图如何制作而成?

 

百度将高精度地图制作分为内外两部分,分别是外采、后台数据化处理、人工验证与发布,简单说就是外部采集+后期处理。

 

首先登场的是Velodyne提供的32线激光雷达,主要负责采集点云数据,其中激光雷达在车顶需要呈现一定的放置角度,为的是尽可能多的采集道路信息而非天空信息,避免误采。

 

摄像头主要负责采集前方道路影像,一般每秒拍摄 7-10 张照片。

 

车内的副驾驶位置是一台负责控制采集设备的电脑系统,主要起到监控功能,采集员可以实时监控采集情况,这样的装备每天至少需要采集150公里的高精度地图数据。

 

对于这些采集设备来说,处于同一个标准下工作是非常重要的,综合起来的数据量一般在一公里1GB左右。

 

(图片来源于网络)

 

据悉,这些数据除了可以用来作为高精度地图的测绘数据,还可以为识别算法提供训练和测试样本,有助于高精度地图自动化生产能力的提升。

 

采集工作完成后,接下来就是自动融合、识别采集到的这些每秒10帧左右的图像,全部会由电脑进行自动识别以及融合。

 

高精地图采集设备 RIEGL VMX-1HA

(参考资料:http://www.riegl.com/nc/products/mobile-scanning/)

 

简单说,就是把 GPS、点云、图像等数据叠加在一起,进行道路标线、路沿、路牌、交通标志等道路元素的识别。此外,如果同一条道路上下行双向采集后带来了数据重复, 也会在这个过程中被自动整合,去掉重复内容。

 

人工验证、发布这一步是需要人工完成的,属于内部操作。

 

尽管现在自动化水平发达,但依然不能完全做到百分之百的准确无误,所以还是需要进行一轮人工验证。

 

就需要从云端下载需要验证的路段数据,将自动处理后的高精度地图数据和对应位置的图像信息进行比对,找出错误的地方并进行更正,其中每个员工每天需要操作30-50公里的测绘数据。

 

这些改正后的数据不会保存在本地,而是上传到云端,最终的高精度地图成品也会通过云平台分发。

 

高精度地图究竟如何应用?

 

据了解,百度现在的高精度地图涉及到云端服务,就是以服务的方式,将云端已经采集好的高精度地图以数据的形式分发。

 

此外,关于路径规划问题。例如一辆自动驾驶的汽车,需要某条车道高精度地图的数据。

 

首先会需要一个像地图一样的客户端,或者map engine的模块来融合这些高精度地图的道路数据。这时候请求的数据就是从例如百度高精度地图的云服务端直接导出来,这个过程可能是不同的开发者或车厂,他们的方案可能有不同,这与百度现在提供的方式有关系,可以以接口的形式(可以理解为API),也可以以车道级别的文件形式来直接获取。

 

上面提到的路径规划问题,如果用从技术角度抽丝剥茧的话,可以被这样理解。

 

在路径规划的过程中首先需要做几个限定:

 

一是地图已知,通常来说没有做到已知就无法规划。

 

二是立足自动驾驶领域,一般还是2D或2.5D地图,而不是在3D地图上六个自由度运动规划(那是室内全自主无人机飞行),也就是明确地图的类型,个人认为。

 

三是路径规划,一般默认自动驾驶车辆按照规划的路径,每一步执行后的定位pose准确。可以理解为这里刻意把定位和路径规划分开,但实际上这两者紧密联系,因为如果定位不准,路径规划一定会受到影响。

 

即使有了这几个设定,路径规划本身也有很多可能出现的版本。

 

通常来说,一种情况是明确寻找最佳路径的搜索A*算法,本质就是如果有最好的路径便一定将其找到,如果单位路径成本(cost)不一样,最好的路径不一定是最短的。

 

A*是搜索了所有可能后选择了最好的,而且运用了启发式算法来决定;其数据结构实现是priority queue,不停选取“最小成本”节点来扩建路径。

 

另一类是基于抽样(sampling based)的路径规划,通常可以理解为并不知道最优路径是什么,需要从起点开始随机抽样(怎么随机这个问题还是比较讲究的)来扩建可能的路径集。

 

这里面有一个很重要的因素可以加速抽样,例如障碍物的检测。若遇到障碍物,在其方向再扩建路径便没有意义

 

典型的算法是RRT (Rapidly-exploring Random Tree)。需要引起注意的是,在实践过程中如果有了启发式算法,实时的路径规划会很注重效率,需根据实际情况优化,这方面的研究包括RRT变种或两类算法的结合(如A*-RRT)。

 

高精度地图会让自动驾驶如“看不见轨道”的过山车一样持续向前,但未来关于高精度地图的发展方向,地图测绘政策的白热化争斗以及互联网企业在多方加入的“地图混战”中如何把握自己的优势条件(突出优势在哪儿)等诸多问题还亟待探讨并找出真相。

 

声明:本篇文章为部分行业理论、专家观点以及个人看法的有机融合。如有表述不当、不足之处,还请大家多多指教。

 

* 以上内容为CSDN开发者晶晶投稿,不代表百度官方言论。

相关文章推荐

发表评论