第二课:高精度地图

*课程简介:了解高精度地图的实现逻辑,这也是Apollo定位、感知、规划模块的基础。

一、地图简介;

联系日常生活,想想我们都是在什么情况下接触地图;当我们身处陌生的地方,需要知道我们的位置,然后输入目的地,百度、高德或者谷歌地图便会为我们定制一个便捷的路线。而我们获取地图的方式大部分都是手机地图或车载地图,想一想如果无人驾驶车直接使用我们日常生活中所常用的米级精度地图,是否满足其使用要求?
答案肯定是不满足的,由此一种精度更高,标识物更多的高精度地图油然而生;

二、高精度地图

高精度地图作为机器人环境中的地理地图,相当于将环境配置成为同人类一样的感知状态下,但是由于机器人记忆力远超人类的记忆力,所以他们可以记住每一个车道标识,而且相当细节。这是人类无法做到的,这也是研制无人驾驶车的动力所在,因为这些不公平优势才会驱使研发项目的开展。
高精度地图对于无人车的作用可分为两个大方面;
一是定位,高精度地图能让车辆精准的知道自己所处的位置,所以无论你的车身处何地,他都能获取到自己的位置,同样你也可以实时了解到他的位置。
二是预先规划,你可以利用高精度地图提前对车辆将要行驶的路线进行规划,当他来到某个路口,他会按照你规划的右转执行动作。

而且在地图中,由于包含了几乎全部的道路标识牌,路灯等位置,所以这让机器人占据了很大的不公平优势,那就让我们展开内容学习吧。

三、高精度地图 VS 传统地图

现如今,车载地图或者手机地图越来越智能化,当你驾驶一个车辆到某个目的地时,地图会为你策划几条路线,并预测每一条路线的堵塞情况和行驶时间:


当你得到这样的信息时,你可以根据地图的规划,作出转向的决定。但同时你会对环境进行评估,例如某一条路线最近在维修,可能会比预测时间长一些,你当然会尽量避免这样的路线。
但是对于机器人而言,加入当他得到这样一个地图时,他甚至都不会考虑任何问题,因为传统地图只有路线,连基本标识牌及其内容都没有,因此这对于机器人来说太难了。


而高精度地图的内容却相当丰富,诸如基本的红绿灯位置及其不同颜色的含义,限制速度多少和它的区域位置,甚至小到你转向时开始的位置等,完成这样庞大数据量的后面,不仅仅是数据收集的繁琐,更是对精度要求颇高。

想象一下,假如你的地图精度只有米级,你的车在迫停时,偏离了一米,就会出现下面的情况:


泊车的情况还算影响不大,但是如果在行驶过程中偏离至人行道,那么后果可想而知。

下面总结两个地图的对比:

传统地图 高精度地图
精度低,一般精度都在米级单位 精度高,必须达到厘米级
道路内容少,但对于人使用显然已经足够 内容丰富,小到很多细节,诸如路灯位置
更新周期长 更新周期短

四、地图与定位,规划与感知的关系_a

高精度地图作为百度Apollo平台的核心内容,是因为许多无人驾驶车的模块都依赖于高精度地图。当有了地图后,当车辆需要知道自己的位置时,他就可以通过对环境感知的内容同地图进行拼图比较,从而确定自己的位置。

例如当车辆可以通过感知装置对环境数据进行收集与处理,而车辆收集的数据有相机图像数据和激光雷达收集的三维点云数据(详情请自行参照介绍)来查找地标。这时,车辆就可以将收集来的数据同高精度地图中的物体进行对比确认,但是这一过程会有预处理、坐标转换和数据融合等复杂的过程。

预处理:消除了不准确或者质量差的数据;
坐标转换:将来自不同视角的数据转换为统一的坐标系;
数据融合:将来自各种车辆和传感器的数据合并。

一旦数据处理完成,并得到最终数据,便完成了定位工作,所以需要对车辆进行定位就需要高精度地图才会满足。

五、地图与定位,规划与感知的关系_b

假如无人驾驶车并未配备高精度地图,而是依靠感知设备,实时对环境进行感知。大家都知道人类驾驶员有眼睛和耳朵,可以对环境的情况进行分析和处理,但是都有距离限制。同样的,没有高精度地图的车辆也会因为距离过远、天气非常恶劣或者有障碍物遮挡时,都会出现无法正常识别环境的情况,如图所示:

但是如果配备高精度地图,就算雷达被物体遮挡,或者感知器未感知到交通信号灯等,它也可以将交通信号灯的位置提供给软件栈的其余部分,这就可以帮助汽车进行下一步的决策。另一个好处是,高精度地图可以缩小车辆检测的范围,诸如它会提示车辆在特定区域检测某一标识,例如停车标识,而这一感兴趣检测的区域又称为ROI,产生这一结构会提高计算机工作效率,提高检测准确度,并且节约空间。

六、地图与定位,规划与感知的关系_c

谈到规划预测,相信了解到这里的朋友已经知道了高精度地图的优势所在了,而如何去规划车辆行驶路线,并预测其它车辆下一步行驶的动作。我们都充满了好奇,其实都是根据不断地深度学习得来的数据,如此大量的数据会帮助车辆轻轻松松识别车道的确切中心线,并调整车辆按照这一线行驶。而且高精度地图还能够提前查看其它情况,并提前减速。更重要的是,当前方发现障碍物时,车辆会选择变道,而高精度地图会缩小选择范围,以便选择最佳方案。

七、Apollo高精度地图

Apollo开发使用的高精度地图,包含了道路定义、交叉路口、交通信号、车道规则以及汽车导航的其他元素。高精度地图可在许多方面为无人驾驶车提供帮助,例如高精度地图会记录交通信号灯打的准确位置和高度,从而使感知难度大大降低。该地图不仅降低计算需求,还可以通过提供有关驾驶环境的详细信息,来确保无人驾驶车的安全。

可见确保地图是最新状态多么重要,这就需要人为地对高精度地图进行验证和更新,由于这些地图的精度极高,所以制作这种地图的水准必须非常高。而Apollo拥有很大的高精度地图数据库,他以及覆盖率所有高速公路,预计到今年(2020)覆盖所有国道及其他重要道路。而且平台未来方便数据共享,地图采用了OpenDRIVE格式,这是一种行业制图的标准,他会像API一样让每一个人都能轻松的读取相同的地图数据。Apollo也对OpenDRIVE格式进行了改进,进而产生了Apollo OpenDRIVE标准,这些改进使地图更适合无人驾驶车的使用。而且该地图完成了一系列标准体系,使90%的地图绘制流程实现了自动化,这就加快了地图的绘制。

八、高精度地图的绘制

高精度地图的构建由五个过程组成:
数据采集、数据处理、对象检测、手动验证和地图发布;


(以上是五个步骤的图解示意图)

1.数据采集时一项庞大的密集型任务,近300辆调查车负责收集用于制作地图的源数据,调查车不仅收集数据,更为地图信息更新提供帮助,调查车辆使用了多种传感器,如GPS、惯性测量单元、激光雷达和摄像头。通过这些传感器收集到的数据进行处理和融合就能得到最终的地图。
2.数据处理时指Apollo如何对收集到的数据进行整理、分类和清洗,以获得没有任何语义信息或者注释的初始地图模板
3.对象检测是由团队研发的人工智能系统对静态对象检测,并将其进行分类,其中包括车道线、交通标志甚至是电线杆。
4.手动验证可以确保自动地图创建过程正确进行并及时发现问题。
5.结果以上步骤处理后,即可将地图发布到服务器。
相应的Apolloi还发布了自上而下的相应定位地图以及三维点云地图,在构建和更新地图的过程中Apoollo使用了众包(向公众发布其数据采集工具,以便任何人都可以参与制作高精度地图的任务)

以上是我对本次课程的总结,如果你开始对课程感兴趣了,那就继续和我一起学习吧。下面我会对定位进行总结。