HD Map,高清地图,在自动驾驶领域被看得很重,因为它能提供prior知识,让感知难度降低,同时让规划有的放矢。高清地图目前有两条路,即激光雷达扫描为主的高成本制图方法和摄像头为主的低成本制图方法。
本文来源:焉知自动驾驶
HD Map,高清地图,在自动驾驶领域被看得很重,因为它能提供prior知识,让感知难度降低,同时让规划有的放矢。
高清地图目前有两条路,即激光雷达扫描为主的高成本制图方法和摄像头为主的低成本制图方法。
高成本制图方法
高成本制图方法是大公司普遍采用的路子,比如HERE,TomTom,谷歌,苹果,百度,高德,四维图新和日本ZENRIN等等。一些创业公司也循这样的路线,如DeepMap,Civil Maps和Carmera等。
激光雷达制图的基本路线,以日本ZENRIN为例,如图所示:
低成本制图方法
而低成本的方法也有不少公司采用,如美国Intel Mobileye,Mapbox,Tesla,Lvl5,Mapper,Ushr,德国Atlatec,国内的极奥,MOMENTA,宽凳科技,DeepMotion和Wayz.ai等等。一般低成本方法会采用众包的方法获取数据,而且更新成本低。
以Mobileye的REM为例,也称路书(roadbook),标注的是通过视觉提取的landmarks。如下图,包括车道线,道路边界,交通标志,路上标记等等:
本文介绍一些公开发表的论文,借此讨论一下如何构建基于车道线的自动驾驶地图。
高清地图的格式
在开始引入之前,先提一下两个地图格式:
1. OpenDrive
一种逻辑描述道路网的开源格式,主要在仿真器领域使用。其中OpenCRG是路面特性描述格式。
OpenDRIVE Manager (OdrManager) 管理如何读取数据。
2. NDS:Navigation Data Standard
汽车业导航数据库标准化的格式。下图是NDS的HD Map层:
二者之间的转换如下图:
地图相关的论文
1. Creating Enhanced Maps for Lane-Level Vehicle Navigation
Enhanced maps(Emaps)定义车道线的拓扑结构,能辅助车辆的车道线级别的定位。在法国,德国和瑞典已经使用。
一般车辆定位分三个级别:
- Macroscale: 10米精度,GPS和道路数据库匹配;
- Microscale: 亚米精度,地图不带有绝对坐标;
- Mesoscale: 车道级精度,带绝对坐标的地图;
下图是同一地区的比较:(a) 谷歌地图. (b) 标准地图. (c) 线段,节点和形状点的表示. (d) Emap。
Emap 提供线段的拓扑信息:
- 左/右/前方邻居线段特性;
- 在每个道路的车道线段相对侧向位置;
- 确定线段连接性;短时间建立复杂连接图的能力。
2. Lanelets: Efficient Map Representation for Autonomous Driving
注:德国高清地图公司Atlatec采用Lanelets编辑地图结果。
Lanelets记录自动驾驶环境的几何和拓扑特性,Lanelet指那些相互连接的驾驶区域道路线段,主要用于行为层(behavior layer)。
如图所示:Lanelets是有左右边界的折线,以一定精度近似车道几何,确定驾驶方向。
基于连接的Lanelets,路径规划可以执行。下图展示一个Lanelet在汇聚和交叉的状况 (ID: 6451) 。
下图展示的是JOSM,即Java OSM (OpenStreetMap) ,在这个编辑器上重叠的Lanelets。
3.A Smart Map Representation for Autonomous Vehicle Navigation
该论文提出的地图包括三个元素:道路,车道,和车道线。不过,它是基于激光雷达的高清地图,采用ArcGIS制成的。这个地图提供道路级和车道级的规划能力,辅助智能车通过交叉路口的驾驶。
注:ESRI (Environmental Systems Research Institute)是一个国际的,GIS(Geographic information system)软件的提供商,ArcGIS是商用位置服务的软件工具。
这种地图描述车道网和道路网的拓扑结构,同时给出车道线的几何描述,如上图。车道线级的规划通过路口的例子见下图:[3,59,55,36,30,35]
算法如下:
4.High Precision lane-level road map building for vehicle navigation
道路地图的要求是:
- 每个道路分成道路段序列;
- 每个道路段,车道数目不变;
- 每个路段相邻的车道在同一方向是隐含连接的;
- 不同的道路其车道是可以不连接而相交的;
- 每个路段的车道可定义为解析曲线;
- 车道曲线图的精度期望是分米级别。
这里采用Cubic Hermite Spline (CHS)描述车道线。基于CHS的分割方法是:道路相交提供一个长路的初始化分解;在两个节点之间假设 (n − 1) 顶点和n 基函数;然后估计顶点位置和切向方向。
看看下面的道路地图例子:(A)“• ”符号相连的道路例子,(B) 道路网的一部分,包括各个路的车道线,红色“⚬”代表节点之间的顶点。
5.Road Lane Semantic Segmentation for High Definition Map
这里提出一个基于车道语义分割的高清地图自动构成方法:采用单镜头,通过FCN检测车道线,然后提取车道特征,用来检测闭环。最后基于图的SLAM生成地图,流程如下图。
关于特征提取见下图:主要是每个道路线段的key point。
关于闭环的检测参见下图:一般停止线比较适合做定位的landmark,并估计车辆的姿态。
下图是一个多种颜色表示的语义分割结果:(a) 输入,(b)ground truth,FCN(c),SegNet(d), PSPNet(e) 和 颜色意义(f).
下图是高清地图的例子:依次是最终地图,以及蓝色和红色部分的细节放大。
6.Map Management for Efficient Long-Term Visual Localization in Outdoor Environments
如图给出的系统示意图:多个车辆定位通过一个移动通信的共享远程地图,“Appearance-based landmark selection”可以从地图检索路标。一旦车辆完成一次驾驶,搜集的数据上传到后端,并入地图更新。随后,后端的“map summarization”保证地图规模,也保证存储容量限制条件。
下图是地图更新的流程图:首先新数据需要在地图定位。一旦定位精度过低,就从数据中建立新的路标加入地图中,然后进入summarization降低地图中的路标数目到固定的数目。其他情况下,在定位中所有路标的观测统计会被更新,但不会添加新的路标。
7.Design of a Multi-layer Lane-Level Map for Vehicle Route Planning
建立了一个车辆路径规划的三层车道级别的地图,即road-level-layer, intermediate layer和 lane-level layer。其中lane-level layer的几何由Cubic Hermite Spline 描述,用一组control points 产生车道的几何关系。下图是三层车道级别的地图模型:
road-level-layer包括道路和交叉路口,可以支持成熟的路径规划算法。intermediate layer 是上下层的桥梁,存储的车道集合之间的相关性可用于路径规划。lane layer 提供了车道级别的细节, 除了车道和交叉路口,还有一些车道线和车道中心线的高清点。
下图是intermediate layer中道路级和车道级的路口信息描述:其中进出路口几个道路之间的拓扑连接描述为traffic matrix形式。
8.Generation of a Precise and Efficient Lane-Level Road Map for Intelligent Vehicle Systems
系统框图如下:包括三部分,数据获取,数据处理和道路建模。
下图是车道线点的提取和聚类:提取区域是车辆的姿态决定的,每个区域提取的点就是marking point。这些被用于道路建模。
下图是局部地图数据和图像平面之间的转换,其中二者的匹配良好。
注:这篇文章特别,直接从航拍图像建地图。
9.Automated Map Generation from Aerial Images for Precise Vehicle Localization
航空图像产生路标地图需要图像分类和路标结合描述的工作。本文提出了一个基于规则的从路标估计车道边界的算法。
下图是路标检测分类:(a) 原始图像 (b) 9x9 HSV 特征向量做比较(c) 提出一种旋转不变性特征向量。
而这个是车道边界的检测:(a) 原始路标. (b) 计算的车道边界 (c) 滤除非车道边界的剩余路标。
注:这里用2-D激光雷达(单线),成本低于一般高清地图所用的多线雷达。
10.Lane Map building and Localization for Automated Driving Using 2D Laser RangrFinder
路标识别是建立车道地图的前提。
上图是一个车道线识别的例子:激光雷面向地面,180°平扫,最大距离80米,测距5厘米误差;算法要求先做路面估计(折线表示法),车道线通过反射值提取,差分GPS和IMU做数据校准,将车身位置变换到UTM决定坐标系上。
车道地图建图就是找到车道。下图是提取车道的例子:首先是道路中线分割出来,采用一种简化的折线段表示,基于Douglas-Peucker算法沿不同方向将中线段分成多个部分,并得到形状点集。最后车道通过Radon transform得到。
其中道路中线分割的例子见下图:
定位重要的是车辆姿态估计,文中采用GPS和激光雷达数据-车道地图的ICP匹配算法实现。车辆姿态数据进入一个卡尔曼滤波器,做递推。下图是车道地图的定位流程图:
下图给出一个定位的例子:
11.LineNet: a Zoomable CNN for Crowdsourced High Definition Maps Modeling in Urban Environments
这篇文章主要是车道线检测,在实验中提到一些HD Maps的制作过程:开源工具:
mapillary/OpenSfM(https://github.com/mapillary/OpenSfM)
加自己的车道线检测方法LineNet,还有一些后处理。
看看一些结果如下: