百度Apollo智能驾驶进阶课程——第四章 百度Apollo高精地图
高精地图
1 高精地图与自动驾驶的关系
L4级别的高精地图
1.1 高精地图与自动驾驶
在L3以下是不需要高精地图的。在L3/L4,如果没有高精地图就很难实现。
1.2 什么是高精地图
HD map=high definition map 高分辨率地图
HAD map=highly automated driving map 高度自动驾驶地图
全面性、实时性
1.3 高精地图与导航地图
导航地图是给人看的,把道路抽象成一条一条的线。而高精地图是给机器看的,所以有的地方必须要具体全面。包括车道线、红绿灯、限速标志等。
2 高精地图与其他模块的关系
2.1 高精地图与定位模块的关系
2.2 高精度地图与感知模块
各种感知的传感器,比如LiDAR、Rador、Camera等都有自己的局限性。高精地图的作用就是提供一个预判,能让检测更加有针对性。比如说在车辆十分拥挤的时候,高精地图就可以告诉你大约在什么方位有十字路口,信号灯等,从而让你检测更加精准,提高识别率。
2.3 高精度地图与规划、预测、决策模块
规划模块的主要任务:
- 长距离规划:从出发点到终点的整个路径。
与高精地图的关系:就是我们平时说的导航功能,与现有的导航功能不一样的是,高精地图里的导航是经精确到车道(Lane)级别的,规划的结果是一系列的车道。 - 短距离规划:整个道路交通是动态的,所以在一个短距离内需要根据其他道路交通参与者比如说其他车辆、行人、路面障碍物等等进行决策。
与高精地图的关系:提供了一些可行的解空间,比如说前面有障碍物的时候,需要变道,那么就应该由高精地图来告诉车,可以提供变道的是哪一个车道。
预测模块的主要任务
- 预测其他行人或者车辆可能的动作,比如说变道、停车等。
决策模块的主要任务
- 根据规划和预测模块得到的结果,来决定是超车还是跟车还是停车等等。
2.4 高精地图与安全模块的关系
2.4.1 安全方面主要存在的一些问题
- 针对传感器的攻击
高精地图扮演的角色:提供一个离线的参考,当系统发现一个东西的时候,就可以跟高精地图做比对来进行初步的排除。
- 针对操作系统的攻击
- 针对控制系统的攻击
- 针对通讯系统的攻击
2.5 高精地图与仿真系统
高精地图为仿真系统提供了一个最底层的结构,从而能刚好的模拟真实道路的场景。
3 没有高精地图高可靠性的L3/L4自动驾驶无法落地
3.1 高精地图的作用——静态的感知(Perception)
在感知过程中可能遇到一下问题:
- 复杂的交通状况,比如说一些复杂的立交桥
- 复杂的天气环境,比如下雪,车道线看不到,雪花也有可能让激光雷达造成误判。
- 复杂的红绿灯,比如说一些让人都很难分清楚的一些信号灯。
高精地图在这些场景下起的一些作用:
- 把机器无法理解的场景告诉机器,把人类所理解的一些东西通过高精地图的方式告诉机器。
3.2 高精地图的作用——弥补系统缺陷
目前受限于4G传输速度的影响,大量的计算还不能放在云端,所以汽车本身就要花大量空间来存放计算单元,而且计算速度还很慢。
In that case, 高精地图就起了一个简化计算的作用,比如上图右边的例子,如果道路中间有栏杆,也就是说对面车道的汽车不可能行驶过来,对于对面的车可以放弃计算,这样就减轻了计算负担。
4 高精地图的采集与生产
4.1 高精地图采集——传感器
- GPS:在高速上尤其好用,因为比较空旷,信号号。理论上三颗卫星即可实现定位,实际需要四颗及以上才能实现一个比较准确的定位。
- IMU,惯导单元。
- 轮速计:本身不不准的,不同车型,不同路面状况,都会形成比较大的差距。
- 激光雷达
4.2 高精地图生产——计算模型
上图展示了通用的高精地图制作流程。首先MU及轮测距器可以高频率地给出当前无人车的位置预测,但由于其精确度原因,位置可能会有一定程度偏差。为了纠正这些偏差,可以使用传感器融合计技术结合GPS与激光雷达(LiDAR)的数据算出当前无人车的准确位置。然后根据当前的准确位置与激光雷达的扫描数据,把新数据加入地图中。
J = Q ( z − h ( m , x ) ) J=Q(z-h(m,x))J=Q(z−h(m,x))
该公式是一个高度简化的高精地图计算模型,Q代表优化方程,z代表激光雷达扫描出的点,h为方程预测最新扫描点的位置,m为扫描到的点在地图中的位置,x代表无人车当前位置。这个方程的目的是通过最小化求出测量点在地图中的准确位置。在计算模型中,m与x开始都是未知的,可以先通过多传感器融合求x,再求出测量点在地图中的准确位置m。
4.3 高精地图生产——视觉制图
Camera与激光雷达配合使用
LiDAR本身采集的数据是很准确的,比如说距离,但是缺点是采集到的信息很单调,不像相机采集出来的数据拥有很多的语义信息。通过两者融合,既能得到非常准确的距离信息,也能得到准确的一些语义信息比如说颜色等。
目前主流制图:纯视觉、纯激光雷达、视觉+激光雷达
5 高精地图的格式规范
5.1 高精地图的格式规范——NDS
规范详细,文件很多,相对繁重,国内很少使用,国外一些大厂比如宝马使用。
5.2 高精地图的格式规范——OpenDRIVE
-
Section的概念
-
切分Section的原则
- 车道数变化
- 虚实线变化
- 道路属性变化,比如说有一段有栅栏,有一段没有
- etc
-
Lane的概念
有一个Reference Line的ID是0,向左的车道的ID是1.2.3……,向右的是-1.-2.-3…… -
路口的概念(junction area)
6 业界的高精度地图产品
6.1 HERE HD live map
- Building the foundation
首先建立一个base map,也是通过激光雷达(16线)+camera 的方式。 - Ingestion via the crowd
通过众包更新的方式来更新地图,当然精度没有专门的激光雷达和高精GPS那么高。 - Map learning in the cloud
在云端做一些深度学习之类的 - Updating the map
把精确的地图更新到车端,保证实时性
6.1.1 HERE HD live map-Collection
6.1.2 HERE HD live map-Crowdsourced Update
众包的更新过程
6.1.3 HERE HD live map-Learning
Deep Learning Road Features from LiDAR
基于激光雷达的路面特征学习
This work focuses on detecting 3D road features for automatically building the HD Map.These features include the yellowlane and blue road boundaries showm in the video. By applying Deep Learning to the LiDAR, 3D geometry and surface reflectivity are captured to produce centimeter accurate 3D features.
6.1.4 HERE HD live map-Product
对地图做了一些分层
- Road&Lane Model Layer(最底层)
A highly precise representation of road network.
包括虚实线、道路边界、车道边界、限速,标志牌一些基本道路信息。 - Localization Model Layer
Help a Vehicle to find its exact Position of lane it is driving in.
包含了一些用于定位的信息,比如说路上的电线杆子还有一些树等。 - Activity Layer(动态信息层)
Understanding dynamic events in the road network.
包括事故、修路等动态信息,对实时性要求高。 - Analytics Layer(司机驾驶习惯层)
Tell how humans actually behave In a piece of road.
收集司机的驾驶习惯,比如在哪加速,在哪减速等,让自动驾驶的汽车开的更像一个人。
6.2 MobileEye
6.2.1 MobileEye-Pillars of Autonomous Driving(支柱)
分成三个层次
- Sensoring(感知)
特点:主要基于camera,在这方面MoblieEye有非常丰富的经验。 - Mapping(制图)
在REM框架下(Road Experience Management),进行众包的视觉制图。 - Driving Policy(用户驾驶习惯)
复制人的驾驶行为。
6.2.2 MobileEye-Map as back-up sensors
Mobileye Road Experience Management (REM) is an end-to-end mapping and localization engine for full autonomy. The solution is comprised of three layers:
- harvesting agents (any camera-equipped vehicle)
- map aggregating server(cloud)
- map-consuming agents(autonomous vehicle).
6.2.3 MobileEye-RoadBook
任何车辆都可以通过REM来下载他们的地图。
数据都在云端,然后每个车辆都可以向云端提供信息,也可以从云端得到最新的低延时的高精度地图信息。
6.3 Google Waymo
谷歌保密做的好,有关信息非常少。
6.4 TomTom
7 Apollo地图采集方案
7.1 地图采集硬件方案
7.2 地图采集方案——基站搭建
7.3 地图采集方案——采集流程
7.4 地图数据服务平台
8 Apollo地图生产技术
8.1 地图制作-高精地图生产流程
8.2 地图生产技术-全自动数据融合加工
8.3 地图生产技术-基于深度学习的地图要素识别
8.4 地图生产技术-人工生产验证
8.5 地图成果
9 Apollo高精地图
9.1 高精地图的数据元素
特别注意: 道路元素
两个级别:道路级别和车道级别
道路级别:有道路边界,在任何情况下都不允许越过道路边界。
车道级别:有车道边界,在特殊情况下允许越过边界,比如借道超车。
9.2 高精地图的车道模型
使用中可能存在困惑的地方:
Left_sample: 中心线到车道边界的距离
Left_road_sample: 中心线到道路的物理边界的距离
9.3 高精地图的Junction模型
IN_Road和CROSS_ROAD的由来:
路口除了真实路口,还有像是车道汇入或者车道数加减的情况下也作为一个路口。