通用化高精地图数据模型
张攀1,2
, 刘经南1
1. 武汉大学测绘学院, 湖北 武汉 430079;
2. 贵州宽凳智云科技有限公司北京分公司, 北京 100016
基金项目:国家重点研发计划(2018YFB1305001);国家测绘地理信息标准制定项目(道路高精度电子导航地图数据规范;道路高精度电子导航地图生产技术规范)
关键词:高精地图 数据模型 车道模型 自动驾驶 电子地平线
引文格式:张攀, 刘经南. 通用化高精地图数据模型[J]. 测绘学 ,2021,50(11):1432-1446. DOI: 10.11947/j.AGCS.2021.20210254
ZHANG Pan, LIU Jingnan. A generalized data model of high definition maps[J]. Acta Geodaetica et Cartographica Sinica, 2021, 50(11): 1432-1446. DOI: 10.11947/j.AGCS.2021.20210254
阅读全文:
http://xb.sinomaps.com/article/2021/1001-1595/2021-11-1432.htm
引 言
高精地图,国际一般称为高分辨率地图(high definition map,HD Map)或者高度自动驾驶地图(highly automated driving map,HAD Map),国内也称其为自动驾驶地图,是一种面向车辆高级辅助驾驶、自动驾驶及智慧交通的电子地图产品[1]。与导航电子地图相比,高精地图具有更高的精度和更丰富的数据内容,通常包括道路[2]、车道[3-4]、道路上的地面标志物[5]以及交通控制信息[6]。高精地图大约在2014年受到自动驾驶需求的驱动而产生,伴随着自动驾驶的快速发展而逐渐成为研究热点话题。行车环境感知是实现自动驾驶的前提,自动驾驶系统首先需要感知车辆周边的道路交通环境,然后才能规划行车路径,最后通过控制执行实现自动驾驶[7]。因此,智能 联汽车一般安装了各种传感器来实现行车场景环境感知,例如摄像头、GNSS、INS、毫米波雷达、超声波雷达和激光雷达等。但仅依靠传感器还无法实现完整可靠的环境感知,因为传感器自身存在诸多限制。例如传感器的感知范围有限,一般在200 m以内,同时也无法感知位于其视场角(FOV)之外的物体。此外,传感器容易受到恶劣天气和环境噪声的影响而无法正常工作,并且需要高性能的计算、耗电多。高精地图可以作为一种行车基础设施提供全天候超视距的感知,解决传感器感知边界和使用条件受限的问题,增强自动驾驶系统的稳健性。除了应用到环境感知,高精地图还被大量应用到高精度定位和路径规划[8-13]。
尽管很多自动驾驶公司已经开始使用高精地图,但大多采用的是自有格式或者扩展现有格式,只能满足该公司或者特定项目需要,不具备通用性和大规模应用能力[14]。地图行业一般将地图规格划分为3个大的阶段,母库规格、交换规格、物理规格,如图 1所示。规格的简单定义如下:规格=数据模型+存储文件格式。其中存储文件格式有空间数据库、json、ShapeFile等,规格的核心是数据模型(包含表达方式)。
图 1 高精地图数据处理阶段及对应的规格 Fig. 1 HD maps data processing stage and corresponding format
图选项
母库规格是数据制作阶段采用的规格,利用自动化或者人工的手段从原始采集数据中提取和制作物理世界存在的要素,如车道线、交通标志牌等,然后再生成虚拟的要素,如车道中心线、交通规制信息、车道拓扑关系等。因此在数据模型定义上,需要将物理要素和虚拟要素进行分离,即虚拟要素的表达建立在物理要素之上。
交换规格作为数据交换的规格,在数据模型上与母库规格之间的差异很小甚至没有差异,一般采用ShapeFile或者MIF等GIS数据格式进行存储。ShapeFile格式作为一种通用的空间矢量数据格式,其特点是通过点、线、面表达空间对象的几何形状,同时具备定义属性和关系的能力,但图层的划分、要素形状表达类型和含义、属性字段的详细定义等需要通过数据模型来明确。
在应用阶段,重点关注的不再是数据制作工艺的合理性与便利性,而是数据在终端上的应用效率和数据量大小,因此终端的物理格式往往建立以瓦片(tile)为单位的空间索引和道路要素层级关联关系,并采用二进制化的方式压缩地图的数据量。
总之,高精地图的数据模型和表达方式直接决定了高精地图的制作内容,即制作哪些要素和属性、制作成什么形式,也关系到了高精地图制作工艺,即如何制作,还影响后续的终端物理格式编译及应用方式。因此,通用化、标准化的高精地图数据模型对于推进高精地图规模化发展与应用具有重要作用。
欧美等国家提出的NDS标准格式是一种典型的物理应用格式[15],既有数据模型的精准定义,又有数据表达原则的详细描述。此外,欧美还提出了OpenDRIVE[16]、lanelet[17]等格式,引领了高精地图技术的发展和应用。国内地理信息标准化工作委员会、中国智能 联汽车产业创新联盟自动驾驶地图工作组、中国智能交通产业联盟等也开始着手相关标准制定工作,但进度相对滞后且需进一步协同立场,亟待整合测绘、汽车和交通全行业资源制定具有我国特色的行业统一标准[18]。
1 高精地图数据模型
高精地图数据模型是从传统导航地图数据模型发展而来。导航地图一般使用线段(link)抽象道路,使用结点(node)抽象路口,从而构建起经典的点线拓扑模型[20-21],再使用Dijkstra或A*等算法,实现最优路径规划功能[22]。由于高精地图表达的要素更为丰富,其数据模型比导航地图更复杂,一般包括道路 、车道 、交通设施等数据内容的组织与表达[23]。如图 2所示,从左至右十字交叉路口的表达层次由浅入深,最右侧的表达粒度达到了车道级。
图 2 不同粒度的地图数据模型[24]Fig. 2 Map data model with different granularity[24]
图选项
目前,国际主流地图数据标准格式有OpenDRIVE和NDS,两者在仿真、导航、自动驾驶等领域受到了广泛应用。面向自动驾驶设计的lanelet模型也具有一定的代表性。下面将对这些主流数据模型展开详细分析。
1.1 OpenDRIVE
OpenDRIVE是2006年发起的一种基于XML文件的开放数据格式,广泛应用于仿真领域。OpenDRIVE以道路(road)为核心数据管理单元,车道(lane)、道路设施物(object)、标志(signal)等都挂载在道路实体之下,作为道路的附属属性。在几何表达上,车道等附属要素都以道路参考线为基准进行表达,而不是独立表达。
以车道为例,邻近道路参考线的第1个车道是通过描述相对道路参考线的横向偏移来创建的,下一个车道又是通过相对上一个车道的横向偏移来表达。如图 3所示,红线代表道路参考线,wi(j)表示当前形点i处车道j的车道宽度。面对真实世界中的车道数变化场景,这种方式的表达是非常困难的[25],往往需要进行复杂的特殊处理。
图 3 OpenDRIVE格式车道模型[25]Fig. 3 The lane model of OpenDRIVE format[25]
图选项
1.2 NDS
NDS格式广泛应用于车载导航领域,其定义的高精地图数据模型主要采用了车道组模型,将车道边界线、车道中心线、车道拓扑关系都纳入车道组的数据结构中,而没有独立的车道概念。NDS通过车道中心线前后连接的拓扑点表达车道拓扑关系。NDS虽然有独立的数据图层概念,分为道路(routing)、车道(lane)、地标(landmark)、障碍物(obstacle)等模块,但是实际上非道路模块(如车道模块和地标模块)必须通过关联道路实体(link)才能得以表达。
因此,NDS格式的车道、地标等关键要素与道路实体的耦合程度很高,这主要是因为它是直接面向终端应用,高耦合的设计方便导航引擎通过道路快速获取关联的各类要素,从而提升数据使用效率。具备高耦合度的数据模型一般具备强格式的特点,需要复杂而专业的数据编译过程才能实现格式转换,逆向转换或者转换到其他格式都比较困难。同时也难以应用到数据采集与矢量化制作阶段。
1.3 LaneLet
文献[2]提出了可驾驶的车道区间概念lanelet,被应用到奔驰公司自动驾驶规划系统。lanelets地图包括lanelet、规则元素和驾驶走廊3个模块。如图 4所示,lanelet是可驾驶的车道区间,由左右边界构成,是lanelets地图的最小单元;规则元素是关联在lanelet上的交通规则信息,如交通信号灯、交通标志、路口交通规则等;驾驶走廊是有序的、接续的lanelet序列,是到达目的地的具体驾驶路径。
图 4 Lanelet模型[19]Fig. 4 Lanelet model[19]
图选项
第1代lanelet定义了一种轻量级的车道模型,驾驶走廊固定了车辆行驶的所有车道及变道位置。第2代lanelet[26]在第1代基础上增加了更多要素,更加体系化,但同时也变得更加复杂。如图 5所示,在拓扑层,通过有向图的方式定义了lanelet的连接关系,包括沿道路通行方向上的车道拓扑关系和垂直于道路通行方向上的车道邻接关系,但两者并未做区分。在关系层,定义了lanelet与规则元素的关联关系,如与限速标志牌的关系。对于每一个实体,如lanelet、面(area)都由物理层的线和点构成。
图 5 Lanelet第2代模型[26]Fig. 5 Lanelet 2 model[26]
图选项
Lanelet模型也是一种面向应用的数据模型,相对OpenDRIVE和NDS而言,具备独立的车道概念,由左右车道边界线构成。但lanelet模型并没有抽出道路link概念,而只表达车道之间的拓扑关系。并且车道拓扑关系不仅包括车道通行方向上的前后连接关系,还包括允许变道的邻接关系,因此构建的车道拓扑有向图过于复杂,用于车辆变道时效率低下。
综合考虑以上模型的优劣势,提出通用性数据模型需具备的要求如下。
(1) 至少包含道路、车道两级模型,道路与车道独立表达,并建立关联关系。
(2) 车道模型至少包括车道拓扑关系、车道左右边界线、车道属性等内容。
(3) 地标模型与道路、车道建立关联关系,但是耦合度低,不需要依赖道路或车道表达,可以独立表达形状和属性。
(4) 物理要素和虚拟要素分开表达。
图 6 高精地图基础数据模型 Fig. 6 A basic data model of HD maps
图选项
2 车道模型
2.1 车道组
(1) 车道组定义。车道组(lane group)是某一路段上垂直于道路通行方向上一个或多个车道构成的集合。车道组内车道数恒定、且所有车道属于同一条道路、具有相同行驶方向。车道组的概念可以通过式(1)表达
(1)
图 7 NDS基于车道组的表达模型[17]Fig. 7 NDS lane group-based model[17]
图选项
(2) 车道组拓扑关系(lane group topo)。车道组拓扑关系表示前后连接的车道组之间的连接关系,如式(2)所示
(2)
2.2 车道
(1) 车道定义。车道组由车道组成,车道则是一个常用的概念,如式(3)所示
(3)
车道通常指的是一个包含左右边界线(即dleft和dright)、宽度大约在3.5 m左右的纵向行驶区间。当人驾驶车辆时,只需要左右边界线作为约束即可实现平稳驾驶。而当自动驾驶时,只有左右车道边界线是不够的,还需要车道的中心线(即式(3)中c)来引领驾驶轨迹,减少实时计算量,实现平滑稳定的驾驶。此外,车道还具有各类交通属性(即式(3)中A),如式(4)所示
(4)
式中,A表示各类交通属性;Atype为车道类型;Adirection为通行方向;Arestriction为车道限制信息;Aothers为其他交通属性。车道类型又包括:普通车道、HOV车道、应急车道、加速车道、减速车道、潮汐车道等。车道在交通维度的通行方向信息Adirection,其取值如式(5)所示
(5)
式中,s代表直行;l代表左转;r代表右转;sl代表直行加左转;sr代表直行加右转。车道限制信息包括限速、限高和限宽等。其他车道属性还有车道连接类型(表达车道连接信息,如车道生成、车道结束、车道分离、车道合并等信息)、车道宽度等。
(2) 车道拓扑关系。车道拓扑关系与道路拓扑关系类似,表达车道之间的连通关系,可用于车道级的路径规划与导航[28]。其定义如式(6)所示
(6)
式中,LT表达车道拓扑关系;Lfrom表示进入车道;Lto表示退出车道;n表达两条车道的车道中心线交点(node)。Lfrom为空时,表示没有进入车道;Lto为空时,表示没有退出车道。车道拓扑关系还可以通过车道中心线及其首尾点构成的拓扑 来表达,两种方式可以相互转化。
2.3 车道边界线
(1) 车道边界线定义。车道边界线d(divider)也称为车道分隔线,通常是地面上的涂漆线,例如白色实线、白色虚线、双黄线等。因此需要表达其形状(dgeometry)、颜色(dcolour)、类型(dtype)等属性(datrribute)信息,如式(7)、式(8)所示
(7)
(8)
此外,属性还包括车道线的可穿行信息dtraversability,例如实线不允许变道、虚线允许变道、左实右虚线只允许从右向左变道、右实左虚线只允许从左向右变道,如式(9)所示
(9)
(2) 车道边界线拓扑关系。车道线拓扑关系可采用式(10)的方式进行表达
(10)
式中,d代表车道线(divider);dfrom表示进入车道线;dto表示退出车道线。
车道边界线拓扑关系一般较少直接面向终端应用,NDS和OpenDrive中都没有相关定义。但在高精地图制作过程中,车道边界线拓扑关系可以作为中间成果用于车道拓扑关系的生成。基于人工智能深度学习的方法,除了可以提取车道线的形状、线型等信息,采用有向非循环图形模型(DAGMapper)还可以提取高速公路分叉合并处的车道线拓扑关系[29],如图 8所示左侧所示。图 8右侧为车道线拓扑关系展示图,其中蓝点是红色箭头所指的车道线d1与绿色箭头所指的车道线d2交汇后的拓扑点,交汇后的车道线为d3,则交汇前后的车道线拓扑关系可以表达为(d1,d3)和(d2,d3)。
图 8 基于DAG的车道线和车道线拓扑提取[29]Fig. 8 DAT-based lane divider and lane divider topology extraction[29]
图选项
2.4 车道中心线
车道中心线即车道的中心线(centerline),记为c,其表达式为
(11)
式中,nstart表示车道中心线的首点;nend表示车道中心线的尾点;Cgeometry表示车道中心线的几何形状,采用形点串的方式表达。
在自动驾驶中,车道中心线往往作为行车轨迹的承载体,因为这种方式可以最大化利用地图的信息从而减少实时计算量。正因如此,车道中心线的表达需要保证合理、连通和平滑。在简单场景下,车道中心线就是车道的几何中心线,即左右边界线之间的几何中心线。但在车道数发生变化的场景,不能简单采用几何中心线作为每个车道的车道中心线,否则会产生车道中心线断裂、距离道路边缘过近等问题,影响自动驾驶使用,如图 9(b)所示。
图 9 车道数变化场景 Fig. 9 An example of a lane number change scenario
图选项
3 车道数变化场景下车道模型构建
在实际制作和应用过程中,高精地图面临的最大的挑战之一是车道数发生变化场景下车道模型的构建。对于没有车道数变化的简单场景,不存在车道中心线的汇合或者分离,只需考虑纵向上的连接,可认为是一个“一维”问题。而对于有车道数变化的场景,一般存在车道中心线的汇合或者分离,不仅需要考虑纵向的连接,还需要横向上的连接,是一个“二维”问题。所以车道数变化场景是检验数据模型设计优劣的“试金石”,因此本节进行了重点讨论。
车道数变化场景下车道拓扑构建架构如图 10所示。首先按照是否包含车道线拓扑进行场景的分类。对于包含车道线拓扑的场景可以直接用车道线拓扑去生成车道拓扑。对于不包含车道线拓扑的场景,再细分为有复合箭头和没有复合箭头的场景,前者利用复合箭头提供的通行方向信息生成车道拓扑,后者根据车道中心线航向角变化最小原则来生成合理的车道拓扑关系。
图 10 车道数变化场景下车道拓扑构建架构 Fig. 10 The architecture of lane topology construction in scenarios where the number of lanes changes
图选项
3.1 含车道线拓扑关系的场景
含车道线拓扑关系的场景指的是车道数发生变化的部分存在车道线汇合或分歧的拓扑连接关系。如图 11(a)蓝色结点和红色虚线所示,有2条进入的车道线和1条退出的车道线,表达车道数变化前的左三车道汇入变化后的左二车道。图 11(a)所示的场景是一种典型的车道线“两线合一”场景,可以通过人工或自动化的手段提取出车道线拓扑关系。
图 11 含车道线拓扑关系的场景 Fig. 11 The scenario with lane divider topology
图选项
基于可提取的物理存在的地图要素,实现的车道表达如下:
(1) 车道组LG1
式中,s表达车道通向方向是直行。
(2) 车道组LG2
(3) 车道组拓扑(lane group topo)
(4) 车道线拓扑关系(divider topo)
基于车道线所属车道信息,再根据车道线的拓扑关系,可以生成车道拓扑关系。如上例所示,d3和d4都连接d7,而d3是L12和L13的边界线,d4是L13的边界线,d7是L22的边界线,由此可知L12和L13合并汇入L22,车道拓扑关系(lane topo)如下
3.2 不含车道线拓扑关系的场景
不含车道线拓扑关系的场景,其特点是变化前后的车道形态不对齐、呈犬牙交错状,多见于城市道路场景。该场景下没有明确的车道线拓扑关系,不能采取含车道线拓扑关系的方法进行计算。该场景又可以分为两种子场景:一种是含有复合箭头标识的子场景,可以利用复合箭头表达的车道通行方向信息构建车道拓扑关系;一种是不含复合箭头标识的子场景,根据车道中心线航向角变化最小原则,通过计算车道几何中心线之间的夹角寻找最合适的车道连接关系。
3.2.1 有复合箭头标识场景
如图 12(a)所示,车道数变化前左一车道有明确的直行和左转箭头,表明该车道可以连接前面的左转车道和直行车道。因此,合理的车道拓扑关系和车道中心线表达如图 12(b)所示。虽然这种表达方式看似存在一定的缺陷,丢失了图 12(c)黄色线条所示的连接关系,即从下面的中间车道可以稍偏左边向前行驶到左二的直行车道,但是却能构建完整合理的车道模型。此外黄色线条表达直行信息也通过变化后的左三车道进行了表达,即左三车道允许变道到左二车道。如果以图 12(c)的表达方式来,在变化区间内会形成5条车道中心线,5条车道中心线需要对应5个车道,然后变化前是3车道、变化后是4车道,因此会产生车道中心线与车道对应不上的问题。因此,图 12(b)的表达方式满足车道模型建立的要求,也可以满足自动驾驶的应用需求。
图 12 有复合箭头标识的场景 Fig. 12 The scenario with compound arrows
图选项
对该场景下的车道线等物理存在要素提取,可生成不含车道拓扑关系和车道中心线的车道。再根据车道线的打断位置,可以在横向上生成车道组,如图 13所示,红色方框内是车道组1,绿色方框内是车道组2。详细可实现的车道表达如下。
图 13 有复合箭头标识场景的车道数据表达 Fig. 13 The lane data description of the scenario with compound arrows
图选项
(1) 车道组LG1
(2) 车道组LG2
(3) 车道组拓扑
根据车道的通行方向信息,可以生成车道拓扑关系。如上示例中,LG2比LG1多一个车道,LG1中的L11的通行方向信息是sl,即直行和左转,LG2中只有L21的通行方向信息是L左转,且其右一个车道L22是s,直行,由此可知,L11分歧出L21和L22。车道拓扑关系如下
3.2.2 无复合箭头标识场景
无复合箭头标识的场景如图 14(a)所示,此时除了可以将左一车道作为分歧车道,还可以将左二车道和左三车道作为分歧车道,如图 14(b)、(c)所示。为了保障自动驾驶汽车安全舒适地行驶,需要车道中心线尽可能减少航向角的变化。因此通过计算车道中心线的航向角,选取变化最小的结果表达拓扑关系。如图 15所示,首先计算出变化前后所有车道的几何中心线,如红线所示,然后对于变化后的每一条车道的几何中心线,依次连接变化前的每一条车道的几何中心线,如蓝线所示,同时计算连接后形成的夹角,如黑色角θ所示(0<θ≤180°)。
图 14 无复合箭头标识的场景 Fig. 14 The scenario without compound arrows
图选项
声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!