三维地图生成方法、装置、车辆导航设备和无人驾驶车辆
技术领域
本发明涉及通信技术领域,具体涉及一种三维地图生成方法、装置、车辆导航设备和无人驾驶车辆。
背景技术
近年来,随着自动驾驶技术的发展,与之相关的车辆导航技术也有了长足的进步,现有的车辆导航技术主要利用高精度的三维地图获取车辆准确的位置信息和导航信息,而当前高精度三维地图仍然采用人工或自动标注生成。
对现有技术的研究和实践过程中,本发明的发明人发现对于人工标注三维地图,效率低、准确度差,且三维环境下人工标注难度较高,而采用算法自动标注三维地图又存在错误率较高,导致三维地图的精度不够稳定,因此,导致生成的三维地图质量较低。
发明内容
本发明实施例提供一种三维地图生成方法、装置、车辆导航设备和无人驾驶车辆,可以提高三维地图的质量。
一种三维地图生成方法,包括:
采集车辆所在的道路信息和相对位置信息,所述相对位置信息包括所述车辆周围环境相对所述车辆的位置信息;
在所述相对位置信息中标注出所述道路信息对应的地图元素的坐标信息;
根据所述坐标信息,对所述地图元素的相对层次进行标注,得到二维地图数据;
基于所述二维地图数据,利用所述道路信息和所述相对位置信息构建所述车辆所在道路的三维模型;
根据所述地图元素的坐标信息和相对层次,在所述三维模型中在对所述地图元素进行层次匹配,以生成三维地图。
相应的,本发明实施例提供一种三维地图生成装置,包括:
采集单元,用于采集车辆所在的道路信息和相对位置信息,所述相对位置信息包括所述车辆周围环境相对所述车辆的位置信息;
标注单元,用于在所述相对位置信息中标注出所述道路信息对应的地图元素的坐标信息;
得到单元,用于根据所述坐标信息,对所述地图元素的相对层次进行标注,得到二维地图数据;
构建单元,用于基于所述二维地图数据,利用所述道路信息和所述相对位置信息构建所述车辆所在道路的三维模型;
生成单元,用于根据所述地图元素的坐标信息和相对层次,在所述三维模型中在对所述地图元素进行层次匹配,以生成三维地图。
可选的,在一实施例中,所述得到单元,具体可以用于在所述坐标信息中筛选出所述地图元素对应的高程数据,根据所述高程数据,对所述地图元素的相对层次进行标注,基于所述地图元素的坐标信息和相对层次,生成所述二维地图数据。
可选的,在一实施例中,所述构建单元,具体可以用于根据所述道路信息,在所述二维地图数据中筛选出道路区域数据,在所述相对位置信息中筛选出与所述道路区域数据相关的道路位置信息,利用所述道路位置信息构建所述车辆所在道路的三维模型。
可选的,在一实施例中,所述构建单元,具体可以用于在所述道路位置信息中提取同一路面不同位置的坐标信息,根据所述坐标信息,计算所述路面的坡度和坡向,利用所述路面的坡度和坡向构建所述车辆所在道路的三维模型。
可选的,在一实施例中,所述构建单元,具体可以用于在所述道路位置信息中提取路面的坐标信息,对所述坐标信息进行分类,得到所述车辆所在道路的道路层数,根据所述坐标信息,计算每层道路的高程值,利用所述道路层数和所述每层道路的高程值构建所述车辆所在道路的三维模型。
可选的,在一实施例中,所述构建单元,具体可以用于在所述坐标信息中提取所述车辆所在道路的路面点的三维坐标,对坐标平面中进行区域划分,得到不同区域对应的至少一个平面网格,根据所述三维坐标,确定落入同一平面网格的路面点,对所述落入同一平面网格的路面点在竖直方向上进行聚类,得到所述车辆所在道路的道路层数。
可选的,在一实施例中,所述构建单元,具体可以用于对所述路面点在竖直方向进行聚类,根据聚类结果,获取所述路面点的类型数量,将所述类型数量作为所述车辆所在道路的道路层数。
可选的,在一实施例中,所述构建单元,具体可以用于根据所述坐标信息,在同一类型的路面点中筛选出至少一个异常路面点,在所述同一类型的路面点中去除所述异常路面点,得到至少一个正常路面点,在所述坐标信息中筛选出所述正常路面点的高程值,将所述高程值作为每层道路的高程值。
可选的,在一实施例中,所述构建单元,具体可以用于基于所述道路层数和所述每层道路的高程值对所述正常路面点的三维坐标进行调整,得到调整后三维坐标,基于所述调整后三维坐标,对所述车辆所在道路进行建模,以得到所述道路的三维模型。
可选的,在一实施例中,所述生成单元,具体可以用于将所述地图元素的相对层次与所述道路层数进行匹配,基于匹配结果,对所述地图元素的坐标信息进行调整,得到调整后坐标信息,基于所述调整后坐标信息,将所述地图元素添加至所述三维模型,得到三维地图。
可选的,在一实施例中,所述生成单元,具体可以用于根据匹配结果,确定所述地图元素所在的所述道路层数,在所述地图元素的坐标信息中提取所述地图元素的二维坐标,在所述道路层数对应的三维模型中,筛选出与所述地图元素的二维坐标距离在预设距离阈值内的三维点,获取所述三维点在所述三维模型中的三维坐标,根据所述三维坐标,对所述地图元素的坐标信息进行调整,得到所述调整后坐标信息。
可选的,在一实施例中,所述标注单元,具体可以用于将所述道路信息发送至标注终端,接收所述标注终端生成的标注数据,所述标注数据包括所述路面信息对应的地图元素的坐标信息,在所述相对位置信息中标注出所述道路信息对应的地图元素的坐标信息。
此外,本发明实施例还提供一种车辆导航设备,包括本发明实施例提供的三维地图生成装置。
此外,本发明实施例还挺一种无人驾驶车辆,所述无人驾驶车辆包括驱动设备、控制设备和导航设备,所述导航设备,用于执行本实施例所述的三维地图生成方法以生成三维地图,并基于所述三维地图对车辆进行导航,所述控制设备,用于在所述导航设备的导航下,对所述驱动设备进行控制,所述驱动设备,用于在所述控制设备的控制下,驱动所述车辆运动。
此外,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序实现本发明实施例提供的三维地图生成方法。
此外,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种三维地图生成方法中的步骤。
本发明实施例在采集车辆所在的道路信息和相对位置信息后,该相对位置信息包括车辆周围环境相对车辆的位置信息,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,然后,基于二维地图数据,利用道路信息和所述相对位置信息构建车辆所在道路的三维模型,根据地图元素的坐标信息和相对层次,在三维模型中在对所述地图元素进行层次匹配,以生成三维地图;由于该方案一方面采用人工标注地图元素生成二维高精度地图,保证了地图的精度,另一方面,根据二维高精度地图,构建多层次路面三维模型,再结合地图元素的相对层次,在路面三维模型对二维地图进行三维化,大幅降低错误率,因此,可以大大提高三维地图的质量。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的三维地图生成方法的场景示意图;
图2是本发明实施例提供的三维地图生成方法的流程示意图;
图3是本发明实施例提供的三维地图生成方法的另一流程示意图;
图4是本发明实施例提供的三维地图生成装置的结构示意图;
图5是本发明实施例提供的三维地图生成装置的标注单元的结构示意图;
图6是本发明实施例提供的三维地图生成装置的得到单元的结构示意图;
图7是本发明实施例提供的三维地图生成装置的构件单元的结构示意图;
图8是本发明实施例提供的三维地图生成装置的生成单元的结构示意图;
图9是本发明实施例提供的车辆导航设备的结构示意图;
图10是本发明实施例提供的无人驾驶车辆的结构示意图;
图11是本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种三维地图生成方法、装置、车辆导航装置和车辆。其中,该三维地图生成装置可以集成在电子设备中,该网络设备可以是服务器,也可以是车载终端(Electronic Control Unit,ECU)等设备。
例如,参见图1,以三维地图生成装置集成在电子设备中为例,采集车辆所在的道路信息和相对位置信息,该相对位置信息包括所述车辆周围环境相对车辆的位置信息,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,基于二维地图数据,利用道路信息和相对位置信息构建车辆所在道路的三维模型,根据地图元素的坐标信息和相对层次,在三维模型中在对地图元素进行层次匹配,以生成三维地图。
以下分别进行详细说明。需要说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本实施例将从三维地图装置的角度进行描述,该三维地图生成装置具体可以集成在电子设备中,该电子设备可以是服务器,也可以是ECU等设备。
一种三维地图生成方法,包括:采集车辆所在的道路信息和相对位置信息,该相对位置信息包括所述车辆周围环境相对车辆的位置信息,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,基于二维地图数据,利用道路信息和相对位置信息构建车辆所在道路的三维模型,根据地图元素的坐标信息和相对层次,在三维模型中在对地图元素进行层次匹配,以生成三维地图。
如图2所示,该三维地图生成方法的具体流程如下:
101、采集车辆所在的道路信息和相对位置信息,该相对位置信息包括所述车辆周围环境相对所述车辆的位置信息。
其中,道路信息可以包括道路区域的信息,比如,道路的长度、宽度以及道路上的交通设备信息,譬如,信号灯、指示牌和标志线等交通设备的数量、结构、方位等信息。
其中,相对位置信息可以包括车辆周围环境相对车辆的位置信息,比如,道路上的交通设备、路面和道路周围物体相对车辆的位置信息,譬如,车辆在行驶过的路面的某一时刻的位置为坐标原点,该位置上道理的交通设备、路面和周围建筑相对该坐标原点的位置信息。
例如,可以通过安装在车身上的定位装置和传感器采集车辆所在的道路信息和相对位置信息,比如,通过全球卫星定位系统(Global Positioning System,GPS)、北斗系统或RTK/IMU组合导航系统(一种导航系统),确定当前车辆自身的位置和姿态,比如,位于XX经度XX纬度,车辆的行驶状态。譬如,爬坡、下坡、转向和/或停止等姿态。采用传感器确定车辆周围物体相对于当前车辆的相对位置和姿态,可以在车身上安装一个或多个激光雷达,还可以在车身上安装一个或多个摄像头等采集装置,采集车辆周围物体的相对位置。采集到的道路信息和相对位置信息可以包括车辆所在道路及道路周围所有物体表面上未被遮挡区域的三维坐标等信息。将采集的三维坐标等信息可以存储在本地,还可以存储至服务器。
102、在相对位置信息中标注出道路信息对应的地图元素的坐标信息。
其中,地图元素可以为地图里的标注元素,比如,道路范围、车道线、人行道、红绿灯和停车区等标注元素,地图元素的几何类型有点、线和面三种,譬如,红绿灯可以在地图上的标注元素为一个或多个点,车道线可以在地图上的标注元素为一条或多条线,停车区可以在地图上的标注元素为一个或多个面。
其中,坐标信息可以为物体的二维坐标或者三维坐标,比如,一个物体在空间中的三维坐标为(x,y,z),则该物体在空间对应的平面的二维坐标可以为(x,y)、(x,z)或(y,z)等。
例如,将所述道路信息发送至标注终端,接收标注终端生成的标注数据,该标注数据包括所述路面信息对应的地图元素的坐标信息,比如,将道路信息中的道路的长度、宽度以及道路上的交通设备信息,譬如,信号灯、指示牌和标志线等交通设备的数量、结构、方位等信息发送至标注终端,标注终端接收到道路信息后,对道路信息中的道路信息中的道路的长度、宽度以及道路上的交通设备信息等进行识别,根据识别出的信息,分别绘制出道路信息中对应的地图元素,并对地图元素的坐标进行标注,将地图元素的坐标信息发送至三维地图生成装置,三维地图生成装置接收到地图元素的坐标信息后,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,比如,将相对位置信息中的三维坐标数据(x,y,z)进行二维显示(x,y),在二维显示的坐标数据中标注出地图元素对应的二维坐标信息,根据标注的二维坐标信息,在三维坐标数据中获取地图元素对应的三维坐标信息。
103、根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据。
其中,相对层次可以为在多层立体交通情况下,为了简单确定当前路段所处的3D空间中的位置,为道路或车道设置的属性,属性的值为任意整数值,比如可以设定为从-10到10之间的整数,0表示地面,1表示地上一层,-1表示低下一层,依次类推,其中,地面可以是海拔高度为0的平面,或者在地图元素的坐标信息中,海拔高度最小的正值,譬如,多条道路或者车道的海拔高度分别为1米、5米和10米,则可以认定为1米道路对应的平面为地面,因此,相对层次可以包括道路或者车道相对地面的层次,比如,地面的相对层次为0,则地面下一层隧道的相对层次为-1,地面上一层高架的相对层次为1,依次类推。
其中,二维地图数据可以包括平面地图数据,该地图数据中的地图元素的坐标为二维坐标。
(1)在坐标信息中筛选出所述地图元素对应的高程数据。
其中,高程数据可以为三维坐标(x,y,z)中的z值,表示海平面高度,通常单位为米。
例如,在地图元素的三维坐标信息中筛选出地图元素对应的高程数据,比如,假设一个地图元素譬如交通灯的三维坐标信息为(x,y,z),则该交通灯对应的高程数据为z值。
(2)根据高程数据,对地图元素的相对层次进行标注。
例如,根据各个地图元素的高程数据,确定各个地图元素相对地面的层次关系,根据该相对层次关系,对各个地图元素的相对层次进行标注。标注的方法有多种,比如,一段道路的高程值为8米,在这段道路对应的区域还存在一条道路的高程值为1米,在10米的道路上有一条斑马线高程值也为10米,在1米道路上有个交通灯底座的高程值也为1米,此时可以认定高程值为1米的道路为地面所在的平面,因此,高程值为10米的道路的相对层次在高程值为1米的道路的正向下一个层次,则对高程值为1米的道路标注的相对层次为0,1米道路上对应的交通灯的相对层次也可以标注为0,在10米道路的相对层次上可以标注1,对应的10米道路上的斑马线的相对层次标注为1,尤其可以发现,相对层次的划分根据道路的高程数据来划分,不同高程值的道路对应的相对层次不一样,而在道路上的其他地图元素的相对层次与依附的道路的相对层次相同。还可以将采集到的道路信息中的道路及道路周边的图像或者视频以及道路上各个地图元素的高程数据发送至标注终端,标注终端根据道路及道路周边的图像和视频和各个地图元素的高程数据,给各个地图元素标注在道路及道路周边的相对层次信息,接收标注终端发送各个地图元素对应的相对层次信息。
(3)基于地图元素的坐标信息和相对层次,生成二维地图数据。
例如,根据地图元素的二维坐标信息和相对层次,生成二维地图数据,比如,根据地图元素的二维坐标信息,绘制出地图元素对应的初始二维地图数据,在初始二维地图数据中添加地图元素对的相对层次,得到二维地图数据。譬如,根据地图元素的二维坐标信息,将地图元素添加至初始二维地图数据的绘制平面,等到所有地图元素全部添加至绘制平面时,完成初始二维地图数据,在完成的初始二维地图数据中添加地图元素对应的相对层次数据,得到二维地图数据。
104、基于二维地图数据,利用道路信息和相对位置信息构建车辆所在道路的三维模型。
其中,车辆所在道路的三维模型可以为基于虚拟现实的描述车辆所在道路的三维模型,将车辆所在道路实体转换为对应的三维模型。
所谓三维模型,可以为物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体。
S1、根据道路信息,在二维地图数据中筛选出道路区域数据。
其中,道路区域数据可以包括二维地图数据中车辆行驶的道路所在区域和位置。
例如,根据道路信息,在二维地图数据中筛选出道路区域数据,比如,在二维地图数据中筛选出车辆行驶的道路对应的地图元素,根据筛选出道路对应的地图元素确定道路区域数据,譬如,在二维地图数据中筛选出道路信息对应的道路类型和位置等信息,将道路类型和位置等信息作为道路区域数据。
S2、在相对位置信息中筛选出与道路区域数据相关的道路位置信息。
其中,道路位置信息可以包括车辆所在道路的三维坐标信息。
例如,在相对位置信息中筛选出与道路区域数据相关的道路位置信息,比如,根据道路区域数据的二维坐标信息,在相对位置信息的三维坐标信息中筛选该二维坐标信息对应的三维坐标信息,将该三维坐标信息作为道路位置信息,譬如,道路区域的二维坐标信息为(x1,y1)和(x2,y2),在相对位置信息的三维坐标信息中筛选出(x1,y1)和(x2,y2)对应的三维坐标信息(x1,y1,z1)和(x2,y2,z2),将(x1,y1,z1)和(x2,y2,z2)作为道路位置信息。在相对位置信息中保留道路位置信息,可以将其他无关信息去除或过滤,还可以将去除或过滤的其他无关信息单独存储于本地或者服务器。
S3、利用道路位置信息构建车辆所在道路的三维模型。
其中,利用道路位置信息构建车辆所在道路的三维模型可以包括两种方法,具体如下所示:
第一种构建车辆所在道路的三维模型的方法为:利用道路层数和每层道路的高程值构建车辆所在道路的三维模型。
A1、在道路位置信息中提取路面的坐标信息,对坐标信息进行分类,得到车辆所在道路的道路层数。
其中,道路层数可以为在存在高架情况下,区分在同一区域高架上路面的层数,比如,地面的道路层数可以为1,则存在多层高架情况下,地上一层高架上的道路层数可以为2,地上二层高架上的道路层数可以为3,依次类推,也可以适用于隧道,地下一层隧道的道路层数可以为-1,地下二层隧道的道路层数可以为-2,依次类推。
例如,在道路位置信息中获取道路范围内所有路面点对应的三维坐标(x,y,z),在
三维坐标对应的空间中对(x,y)对应的坐标平面进行区域划分,得到不同区域对应的至少
一个平面网格,其中平面网格的尺寸或者范围可以根据实际应用需要进行设定,在(x,y,z)
对应的三维空间中,根据所有路面点的三维坐标(x,y,z),确定落入同一平面网格的路面
点,比如,平面网格的区域对应的范围为
,则路面点的三维坐标中的x和y坐标值在
范围内的路面点都落入该平面
网格。譬如,路面点的三维坐标可以为(2,2,2)、(3,4,2)和(2,2,4)等。对落入同一平面网格
的路面点在竖直方向上进行聚类,得到车辆所在道路的道路层数,比如,以路面点的三维坐
标为(2,2,2)、(3,4,2)和(2,2,4)为例,对三个路面点在竖直方向进行聚类,即三个路面三
维点的z坐标进行分类,可以发现三个路面点可以分为两类,(2,2,2)和(3,4,2)为一类,(2,
2,4)为另一类。在实际聚类过程中,由于采集的路面点三维坐标的精度问题,可以采用聚类
的方法,对路面点的z坐标进行分类,常用的聚类方法可以有K均值聚类、均值漂移聚类、基
于密度的聚类、采用高斯混合模型进行聚类、凝聚层次聚类等聚类方法,以K均值聚类为例,
具体如下:
(1)首先随机初始化路面点的z坐标数据簇各自的中心点。中心点是与每个数据点向量长度相同的位置。
(2)计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中。
(3)计算每一类中中心点作为新的中心点。
(4)重复以上步骤,直到每一类中心在每次迭代后变化不大为止。也可以多次随机初始化中心点,然后选择运行结果最好的一个。
根据聚类结果,获取路面点的类型数量,将路面点的类型数量作为车辆所在道路的道路层数,比如,根据聚类结果,同一平面网格内的路面点分为3类,说明路面点在竖直方向的聚类有3类,则表明路面的层数为3层,譬如,路面点1和路面点2在竖直方向上为同一类型,路面3在竖直方向上为另一类型,路面点4和路面点5又为第三种类型,则表明该区域的路面有多层,表示该区域路面处于立体交通上的多层次道路。如果路面点在竖直方向聚类只存在一类,比如,路面点的三维坐标为(2,2,2)和(3,4,2),则此时该区域的路面只存在一层。
A2、根据坐标信息,计算每层道路的高程值。
(1)根据坐标信息,在同一类型的路面点中筛选出至少一个异常路面点,在同一类型的路面点中去除所述异常路面点,得到至少一个正常路面点。
其中,异常路面点可以为与同一类型路面点三维坐标的z值存在较大差异的值,比如,在同一类型的路面点三维坐标的z坐标的值都在5~6之间,但存在至少一个路面点的三维坐标的z坐标的值超过了7,此时,可以判断该路面点为异常路面点。
例如,在同一类型的路面点中筛选出z坐标值与平均z坐标值的相对误差超过预设误差阈值的路面点,将这些路面点作为异常路面点,比如,设定误差阈值为2,z坐标的平均值为5,则将z坐标的值超过7的路面点筛选出来,作为异常路面点。
可选的,还可以采用高斯滤波或者其他滤波方式筛选异常路面点,比如,可以设定一个z坐标值的范围,对同一类型的路面点的z坐标值进行滤波,将超过或者不满足该z坐标值的范围的异常路面过滤,得到正常路面点,譬如,在同一类型的路面点,去除异常路面点,得到至少一个正常路面点,比如,在平面网格的同一类型的路面点包括A、B和C,筛选出异常路面点为C,则在同一类型的路面点中去除异常路面点C,得到正常路面点为A和B。
(2)在坐标信息中筛选出正常路面点的高程值,将高程值作为每层道路的高程值。
例如,在坐标信息中筛选出所有正常路面点的高程值,即正常路面点的z坐标值,对不同类型的正常路面点的z坐标值进行处理,比如,求平均值,或者加权平均值,得到不同类型的正常路面点对应的道路层的高程值,譬如,假设第一类型正常路面点对应的第一层道路,第一类型正常路面点的z坐标值在1-1.1范围内,则对第一类型正常路面点的z坐标值求平均值或者加权平均值,得到第一层路面的高程值。
A3、利用道路层数和每层道路的高程值构建车辆所在道路的三维模型。
(1)基于道路层数和每层道路的高程值对正常路面点的三维坐标进行调整,得到调整后三维坐标。
例如,基于道路层数和每层道路的高程值对正常路面点的三维坐标进行调整,比如,在第一层道路中,第一层道路对应的高程值为5,在第一层道路对应的路面点的三维坐标可以(x,y,z),则根据第一层道路对应的高程值对路面点的z坐标进行调整,将第一层道路对应的路面点的三维坐标统一调整成(x,y,5),依次类推,可以得到道路位置信息中所有路面点调整后的三维坐标。
(2)基于调整后三维坐标,对车辆所在道路进行建模,以得到道路的三维模型。
例如,基于调整后三维坐标,对车辆所在道路进行建模,以得到道路的三维模型,比如,创建三维坐标对应的空间模型,将所有路面点根据其对应的三维坐标添加至空间模型,得到车辆所在道路的三维模型。
第二种构建车辆所在道路的三维模型的方法为:利用路面的坡度和坡向构建车辆所在道路的三维模型,具体如下:
(1)在道路位置信息中提取同一路面不同位置的坐标信息。
例如,在道路位置信息中提取同一路面不同位置的坐标信息,比如,在道路位置信息中提取车辆在同一条道路行驶过程中对应轨迹的三维坐标,譬如,在一条道路上,车辆从A点行驶至B点,中间还存在C点、D点,在道路位置信息中提取车辆通过A点、B点、C点和D点时车辆的三维坐标信息。
其中,需要强调的是,道路位置信息中要尽可能多的包括同一条道路不同位置车辆的三维坐标信息,因为,需要在采集道路信息和相对位置信息时,尽可能在同一条道路来回反复多次的采集三维坐标信息。
(2)根据坐标信息,计算路面的坡度和坡向。
其中,坡度可以包括道路与水平地面的倾斜角度,坡向为坡度对应的方向或者方位。
例如,根据提取到的车辆在同一道路不同位置的三维坐标信息后,对每个位置对应的三维坐标进行处理,比如对每个位置对应的三维坐标的z坐标值减去一个固定值,该固定值可以为车辆离地高度,通过对每个位置三维坐标的处理,可以得到同一条道路不通位置的路面点的三维坐标。根据不同位置的路面点的坐标可以近似计算路面的坡度和坡向,比如,通过同一条道路不同位置的z坐标值,计算出该段路面的坡度,譬如,同一条道路上,A位置、B位置和C位置的三个路面点连续,则根据三个连续路面点的z坐标差值,得到A位置、B位置和C位置连续起来的这段道路的坡度,根据x和y坐标值的差值,可以得到A位置、B位置和C位置连续起来的这段道路的坡向。通过多个位置的路面点的三维坐标,计算出车辆所在整个路面的坡度和坡向。
(3)利用路面的坡度和坡向构建车辆所在道路的三维模型。
例如,利用计算出的车辆所在的整个路面的坡度和坡向,根据多个位置的路面点的三维坐标,构建车辆所在道路的三维模型。比如,构建三维坐标对应的空间模型,根据路面的点三维坐标,将多个位置的路面点添加至空间模型中,根据路面点对应的道路的坡度和坡向,在空间模型中构建连接多个位置的路面模型,直到完成不同层数的路面模型,最后得到车辆所在道路的三维模型。
105、根据地图元素的坐标信息和相对层次,在三维模型中在对地图元素进行层次匹配,以生成三维地图。
其中,层次匹配可以为将二维地图中的地图元素相对地面的相对层次与三维模型中道路的层数进行匹配,比如,将二维地图中的道路范围、车道线、人行道和交通灯等依附与道路的元素添加至三维模型的不同层数道路对应的位置。
(1)将地图元素的相对层次与道路层数进行匹配。
例如,根据地图元素的二维坐标,在三维模型中确定该二维坐标对应的区域,获取该区域中的路面信息,该路面信息包括路面的层数和路面点的三维坐标。根据地图元素相对地面的相对层次,与该区域的路面层数进行匹配,如果层数相同就一对一分配到对应的层次中去, 如果层数不同可以从低到高进行分配, 或者从高到低进行分配, 也可以进行人工干预。比如,地图元素的相对地面的相对层次为1,当表示地图元素在地面之上,与地面存在一个相对层次的层级差,对应区域中存在立体交通,包含两层路面,第一层路面和第二层路面,第一路面为地面所在路面,第二层路面对应的为与地面存在一个层级差的路面,则该地图元素与第二层路面相匹配。还比如,存在多个地图元素,对应的相对层次分为1、2和3,而这些地图元素对应的路面信息中包含四层路面,分别为第一层路面、第二层路面、第三层路面和第四层路面,如果地图元素的相对层次1表示跟地面处于同一个平面,相对层次2表示处于地面的高一个层级的平面,相对层次3表示处于相对层次2更高一个层级的平面时,则地图元素的相对层次1匹配第一层路面,相对层次2匹配第二层路面,相对层次3匹配第三层路面,如果相对层次1表示处于比地面高一个层级的平面,相对层次2表示处于比相对层次1的平面还高一个层级的平面,相对层次3表示处于比相对层次2的平面还高一个层级的平面,则地图元素的相对层次1匹配第二层道路,相对层次2匹配第三层道路,相对层次3匹配第四层道路,也可以根据相对层次的含义不同或者参考系不同,也可以从低到高进行匹配,比如将地图元素的相对层次1匹配第三或第四层道路,甚至还可以对层次匹配进行人工干预,比如,当道路层数太多,和/或同一区域地图元素的相对层次太多时,可以将匹配信息发送至标记终端进行人工干预。
(2)基于匹配结果,对所述地图元素的坐标信息进行调整,得到调整后坐标信息。
例如,根据匹配结果,确定地图元素所在道路层数,在地图元素所在的坐标信息中提取地图元素的二维坐标,在该道路层数对应的三维模型中,筛选出与地图元素的二维坐标距离在预设距离阈值内的三维点。比如,根据匹配的结果,确定出地图元素在第二层道路上,在第二层道路对应的三维模型中,筛选出与地图元素的二维坐标(x1,y1)距离在预设距离内的三维点(x2,y2,z2),也可以说是距离地图元素的二维坐标距离最近的三维点。譬如,假设预设距离为1,首先要计算与地图元素的二维坐标(x1,y1)的距离在预设距离的二维坐标范围,计算公式如下:
其中,x,y分别为三维点的x和y坐标,x1和y1分别为地图元素的二维坐标。
计算出与地图元素的二维坐标的距离在预设距离的三维点的x和y坐标的范围,根据x和y坐标的范围筛选出三维点,三维点至少为一个,还可以为多个。
可选的,还可以获取三维点在三维模型中的三维坐标,根据该三维坐标对地图元素的坐标信息进行调整,得到调整后坐标信息。比如,获取三维点在三维模型中的三维坐标,譬如,可以为(x2,y2,z2),地图元素在三维模型中的二维坐标为(x1,y1),将三维点的坐标(x2,y2,z2)中z2作为地图元素在三维模型中的z坐标,则得到地图元素在三维模型的调整后坐标信息,即调整后的三维坐标信息为(x1,y1,z2)。
其中,需要强调的是,如果存在多个三维点,可以对多个三维的z坐标值取平均值,再将此平均值作为地图元素在三维模型的z坐标。获取距离地图元素预设距离阈值内的三维点还可以通过使用kdtree或者rtree索引来得到。
(3)基于调整后坐标信息,将地图元素添加至三维模型,得到三维地图。
其中,三维地图可以为以三维电子地图数据库为基础,按照一定比例对现实世界或其中一部分的一个或多个方面的三维、抽象的描述。网络三维电子地图通过直观的地理实景模拟表现方式,为用户提供地图查询、出行导航等地图检索功能。
例如,根据地图元素调整后的三维坐标,将地图元素添加至三维模型对应的位置,得到三维地图。比如,地图元素调整后的三维坐标为(x,y,z),根据该坐标,在三维模型中找到对应的位置,将该地图元素添加至道路的三维模型中,将所有的地图元素全部添加至三维模型,得到三维地图。
由以上可知,本发明实施例在采集车辆所在的道路信息和相对位置信息后,该相对位置信息包括车辆周围环境相对车辆的位置信息,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,然后,基于二维地图数据,利用道路信息和所述相对位置信息构建车辆所在道路的三维模型,根据地图元素的坐标信息和相对层次,在三维模型中在对所述地图元素进行层次匹配,以生成三维地图;由于该方案一方面采用人工标注地图元素生成二维高精度地图,保证了地图的精度,另一方面,根据二维高精度地图,构建多层次路面三维模型,再结合地图元素的相对层次,在路面三维模型对二维地图进行三维化,大幅降低错误率,因此,可以大大提高三维地图的质量。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该三维地图生成装置具体集成在电子设备为例进行说明。
如图3所示,一种三维地图生成方法,具体流程如下:
201、电子设备采集车辆所在的道路信息和相对位置信息,该相对位置信息包括所述车辆周围环境相对所述车辆的位置信息。
例如,电子设备可以通过安装在车身上的定位装置和传感器采集车辆所在的道路信息和相对位置信息,比如,通过全球卫星定位系统(Global Positioning System,GPS)、北斗系统或RTK/IMU组合导航系统(一种导航系统),确定当前车辆自身的位置和姿态,比如,位于XX经度XX纬度,车辆的行驶状态。譬如,爬坡、下坡、转向和/或停止等姿态。采用传感器确定车辆周围物体相对于当前车辆的相对位置和姿态,可以在车身上安装一个或多个激光雷达,还可以在车身上安装一个或多个摄像头等采集装置,采集车辆周围物体的相对位置。采集到的道路信息和相对位置信息可以包括车辆所在道路及道路周围所有物体表面上未被遮挡区域的三维坐标等信息。将采集的三维坐标等信息可以存储在本地,还可以存储至服务器。
202、电子设备在相对位置信息中标注出道路信息对应的地图元素的坐标信息。
例如,电子设备将所述道路信息发送至标注终端,接收标注终端生成的标注数据,该标注数据包括所述路面信息对应的地图元素的坐标信息,比如,将道路信息中的道路的长度、宽度以及道路上的交通设备信息,譬如,信号灯、指示牌和标志线等交通设备的数量、结构、方位等信息发送至标注终端,标注终端接收到道路信息后,对道路信息中的道路信息中的道路的长度、宽度以及道路上的交通设备信息等进行识别,根据识别出的信息,分别绘制出道路信息中对应的地图元素,并对地图元素的坐标进行标注,将地图元素的坐标信息发送至三维地图生成装置,三维地图生成装置接收到地图元素的坐标信息后,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,比如,将相对位置信息中的三维坐标数据(x,y,z)进行二维显示(x,y),在二维显示的坐标数据中标注出地图元素对应的二维坐标信息,根据标注的二维坐标信息,在三维坐标数据中获取地图元素对应的三维坐标信息。
203、电子设备在坐标信息中筛选出所述地图元素对应的高程数据。
例如,电子设备在地图元素的三维坐标信息中筛选出地图元素对应的高程数据,比如,假设一个地图元素譬如交通灯的三维坐标信息为(x,y,z),则该交通灯对应的高程数据为z值。
204、电子设备根据高程数据,对地图元素的相对层次进行标注。
例如,电子设备根据各个地图元素的高程数据,确定各个地图元素相对地面的层次关系,根据该相对层次关系,对各个地图元素的相对层次进行标注。标注的方法有多种,比如,一段道路的高程值为8米,在这段道路对应的区域还存在一条道路的高程值为1米,在10米的道路上有一条斑马线高程值也为10米,在1米道路上有个交通灯底座的高程值也为1米,此时可以认定高程值为1米的道路为地面所在的平面,因此,高程值为10米的道路的相对层次在高程值为1米的道路的正向下一个层次,则对高程值为1米的道路标注的相对层次为0,1米道路上对应的交通灯的相对层次也可以标注为0,在10米道路的相对层次上可以标注1,对应的10米道路上的斑马线的相对层次标注为1,尤其可以发现,相对层次的划分根据道路的高程数据来划分,不同高程值的道路对应的相对层次不一样,而在道路上的其他地图元素的相对层次与依附的道路的相对层次相同。还可以将采集到的道路信息中的道路及道路周边的图像或者视频以及道路上各个地图元素的高程数据发送至标注终端,标注终端根据道路及道路周边的图像和视频和各个地图元素的高程数据,给各个地图元素标注在道路及道路周边的相对层次信息,接收标注终端发送各个地图元素对应的相对层次信息。
205、电子设备基于地图元素的坐标信息和相对层次,生成二维地图数据。
例如,电子设备根据地图元素的二维坐标信息和相对层次,生成二维地图数据,比如,根据地图元素的二维坐标信息,绘制出地图元素对应的初始二维地图数据,在初始二维地图数据中添加地图元素对的相对层次,得到二维地图数据。譬如,根据地图元素的二维坐标信息,将地图元素添加至初始二维地图数据的绘制平面,等到所有地图元素全部添加至绘制平面时,完成初始二维地图数据,在完成的初始二维地图数据中添加地图元素对应的相对层次数据,得到二维地图数据。
206、电子设备基于二维地图数据,利用道路信息和相对位置信息构建车辆所在道路的三维模型。
C1、电子设备根据道路信息,在二维地图数据中筛选出道路区域数据。
例如,电子设备根据道路信息,在二维地图数据中筛选出道路区域数据,比如,在二维地图数据中筛选出车辆行驶的道路对应的地图元素,根据筛选出道路对应的地图元素确定道路区域数据,譬如,在二维地图数据中筛选出道路信息对应的道路类型和位置等信息,将道路类型和位置等信息作为道路区域数据。
C2、电子设备在相对位置信息中筛选出与道路区域数据相关的道路位置信息。
例如,电子设备在相对位置信息中筛选出与道路区域数据相关的道路位置信息,比如,根据道路区域数据的二维坐标信息,在相对位置信息的三维坐标信息中筛选该二维坐标信息对应的三维坐标信息,将该三维坐标信息作为道路位置信息,譬如,道路区域的二维坐标信息为(x1,y1)和(x2,y2),在相对位置信息的三维坐标信息中筛选出(x1,y1)和(x2,y2)对应的三维坐标信息(x1,y1,z1)和(x2,y2,z2),将(x1,y1,z1)和(x2,y2,z2)作为道路位置信息。在相对位置信息中保留道路位置信息,可以将其他无关信息去除或过滤,还可以将去除或过滤的其他无关信息单独存储于本地或者服务器。
C3、利用道路位置信息构建车辆所在道路的三维模型。
其中,利用道路位置信息构建车辆所在道路的三维模型可以包括两种方法,具体如下所示:
第一种构建车辆所在道路的三维模型的方法为:利用道路层数和每层道路的高程值构建车辆所在道路的三维模型。
A1、电子设备在道路位置信息中提取路面的坐标信息,对坐标信息进行分类,得到车辆所在道路的道路层数。
例如,电子设备在道路位置信息中获取道路范围内所有路面点对应的三维坐标
(x,y,z),在三维坐标对应的空间中对(x,y)对应的坐标平面进行区域划分,得到不同区域
对应的至少一个平面网格,其中平面网格的尺寸或者范围可以根据实际应用需要进行设
定,在(x,y,z)对应的三维空间中,根据所有路面点的三维坐标(x,y,z),确定落入同一平面
网格的路面点,比如,平面网格的区域对应的范围为
,则路面点的三维坐标中的x和y坐标值在
范围内的路面点都落入该平面
网格。譬如,路面点的三维坐标可以为(2,2,2)、(3,4,2)和(2,2,4)等。对落入同一平面网格
的路面点在竖直方向上进行聚类,得到车辆所在道路的道路层数,比如,以路面点的三维坐
标为(2,2,2)、(3,4,2)和(2,2,4)为例,对三个路面点在竖直方向进行聚类,即三个路面三
维点的z坐标进行分类,可以发现三个路面点可以分为两类,(2,2,2)和(3,4,2)为一类,(2,
2,4)为另一类。在实际聚类过程中,由于采集的路面点三维坐标的精度问题,可以采用聚类
的方法,对路面点的z坐标进行分类,常用的聚类方法可以有K均值聚类、均值漂移聚类、基
于密度的聚类、采用高斯混合模型进行聚类、凝聚层次聚类等聚类方法,以K均值聚类为例,
具体如下:
(1)首先随机初始化路面点的z坐标数据簇各自的中心点。中心点是与每个数据点向量长度相同的位置;
(2)计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中;
(3)计算每一类中中心点作为新的中心点;
(4)重复以上步骤,直到每一类中心在每次迭代后变化不大为止。也可以多次随机初始化中心点,然后选择运行结果最好的一个。
根据聚类结果,电子设备获取路面点的类型数量,将路面点的类型数量作为车辆所在道路的道路层数,比如,根据聚类结果,同一平面网格内的路面点分为3类,说明路面点在竖直方向的聚类有3类,则表明路面的层数为3层,譬如,路面点1和路面点2在竖直方向上为同一类型,路面3在竖直方向上为另一类型,路面点4和路面点5又为第三种类型,则表明该区域的路面有多层,表示该区域路面处于立体交通上的多层次道路。如果路面点在竖直方向聚类只存在一类,比如,路面点的三维坐标为(2,2,2)和(3,4,2),则此时该区域的路面只存在一层。
A2、电子设备根据坐标信息,计算每层道路的高程值。
(1)电子设备根据坐标信息,在同一类型的路面点中筛选出至少一个异常路面点,在同一类型的路面点中去除所述异常路面点,得到至少一个正常路面点。
例如,电子设备在同一类型的路面点中筛选出z坐标值与平均z坐标值的相对误差超过预设误差阈值的路面点,将这些路面点作为异常路面点,比如,设定误差阈值为2,z坐标的平均值为5,则将z坐标的值超过7的路面点筛选出来,作为异常路面点。
可选的,电子设备还可以采用高斯滤波或者其他滤波方式筛选异常路面点,比如,可以设定一个z坐标值的范围,对同一类型的路面点的z坐标值进行滤波,将超过或者不满足该z坐标值的范围的异常路面过滤,得到正常路面点,譬如,在同一类型的路面点,去除异常路面点,得到至少一个正常路面点,比如,在平面网格的同一类型的路面点包括A、B和C,筛选出异常路面点为C,则在同一类型的路面点中去除异常路面点C,得到正常路面点为A和B。
(2)电子设备在坐标信息中筛选出正常路面点的高程值,将高程值作为每层道路的高程值。
例如,电子设备在坐标信息中筛选出所有正常路面点的高程值,即正常路面点的z坐标值,对不同类型的正常路面点的z坐标值进行处理,比如,求平均值,或者加权平均值,得到不同类型的正常路面点对应的道路层的高程值,譬如,假设第一类型正常路面点对应的第一层道路,第一类型正常路面点的z坐标值在1-1.1范围内,则对第一类型正常路面点的z坐标值求平均值或者加权平均值,得到第一层路面的高程值。
A3、电子设备利用道路层数和每层道路的高程值构建车辆所在道路的三维模型。
(1)电子设备基于道路层数和每层道路的高程值对正常路面点的三维坐标进行调整,得到调整后三维坐标。
例如,电子设备基于道路层数和每层道路的高程值对正常路面点的三维坐标进行调整,比如,在第一层道路中,第一层道路对应的高程值为5,在第一层道路对应的路面点的三维坐标可以(x,y,z),则根据第一层道路对应的高程值对路面点的z坐标进行调整,将第一层道路对应的路面点的三维坐标统一调整成(x,y,5),依次类推,可以得到道路位置信息中所有路面点调整后的三维坐标。
(2)电子设备基于调整后三维坐标,对车辆所在道路进行建模,以得到道路的三维模型。
例如,电子设备基于调整后三维坐标,对车辆所在道路进行建模,以得到道路的三维模型,比如,创建三维坐标对应的空间模型,将所有路面点根据其对应的三维坐标添加至空间模型,得到车辆所在道路的三维模型。
第二种构建车辆所在道路的三维模型的方法为:电子设备利用路面的坡度和坡向构建车辆所在道路的三维模型,具体如下:
(1)电子设备在道路位置信息中提取同一路面不同位置的坐标信息。
例如,电子设备在道路位置信息中提取同一路面不同位置的坐标信息,比如,在道路位置信息中提取车辆在同一条道路行驶过程中对应轨迹的三维坐标,譬如,在一条道路上,车辆从A点行驶至B点,中间还存在C点、D点,在道路位置信息中提取车辆通过A点、B点、C点和D点时车辆的三维坐标信息。
(2)电子设备根据坐标信息,计算路面的坡度和坡向。
例如,电子设备根据提取到的车辆在同一道路不同位置的三维坐标信息后,对每个位置对应的三维坐标进行处理,比如对每个位置对应的三维坐标的z坐标值减去一个固定值,该固定值可以为车辆离地高度,通过对每个位置三维坐标的处理,可以得到同一条道路不通位置的路面点的三维坐标。根据不同位置的路面点的坐标可以近似计算路面的坡度和坡向,比如,通过同一条道路不同位置的z坐标值,计算出该段路面的坡度,譬如,同一条道路上,A位置、B位置和C位置的三个路面点连续,则根据三个连续路面点的z坐标差值,得到A位置、B位置和C位置连续起来的这段道路的坡度,根据x和y坐标值的差值,可以得到A位置、B位置和C位置连续起来的这段道路的坡向。通过多个位置的路面点的三维坐标,计算出车辆所在整个路面的坡度和坡向。
(3)电子设备利用路面的坡度和坡向构建车辆所在道路的三维模型。
例如,电子设备利用计算出的车辆所在的整个路面的坡度和坡向,根据多个位置的路面点的三维坐标,构建车辆所在道路的三维模型。比如,构建三维坐标对应的空间模型,根据路面的点三维坐标,将多个位置的路面点添加至空间模型中,根据路面点对应的道路的坡度和坡向,在空间模型中构建连接多个位置的路面模型,直到完成不同层数的路面模型,最后得到车辆所在道路的三维模型。
207、电子设备根据地图元素的坐标信息和相对层次,在三维模型中在对地图元素进行层次匹配,以生成三维地图。
(1)电子设备将地图元素的相对层次与道路层数进行匹配。
例如,电子设备根据地图元素的二维坐标,在三维模型中确定该二维坐标对应的区域,获取该区域中的路面信息,该路面信息包括路面的层数和路面点的三维坐标。根据地图元素相对地面的相对层次,与该区域的路面层数进行匹配,如果层数相同就一对一分配到对应的层次中去, 如果层数不同可以从低到高进行分配, 或者从高到低进行分配, 也可以进行人工干预。比如,地图元素的相对地面的相对层次为1,当表示地图元素在地面之上,与地面存在一个相对层次的层级差,对应区域中存在立体交通,包含两层路面,第一层路面和第二层路面,第一路面为地面所在路面,第二层路面对应的为与地面存在一个层级差的路面,则该地图元素与第二层路面相匹配。还比如,存在多个地图元素,对应的相对层次分为1、2和3,而这些地图元素对应的路面信息中包含四层路面,分别为第一层路面、第二层路面、第三层路面和第四层路面,如果地图元素的相对层次1表示跟地面处于同一个平面,相对层次2表示处于地面的高一个层级的平面,相对层次3表示处于相对层次2更高一个层级的平面时,则地图元素的相对层次1匹配第一层路面,相对层次2匹配第二层路面,相对层次3匹配第三层路面,如果相对层次1表示处于比地面高一个层级的平面,相对层次2表示处于比相对层次1的平面还高一个层级的平面,相对层次3表示处于比相对层次2的平面还高一个层级的平面,则地图元素的相对层次1匹配第二层道路,相对层次2匹配第三层道路,相对层次3匹配第四层道路,也可以根据相对层次的含义不同或者参考系不同,也可以从低到高进行匹配,比如将地图元素的相对层次1匹配第三或第四层道路,甚至还可以对层次匹配进行人工干预,比如,当道路层数太多,和/或同一区域地图元素的相对层次太多时,可以将匹配信息发送至标记终端进行人工干预。
(2)电子设备基于匹配结果,对所述地图元素的坐标信息进行调整,得到调整后坐标信息。
例如,电子设备根据匹配结果,确定地图元素所在道路层数,在地图元素所在的坐标信息中提取地图元素的二维坐标,在该道路层数对应的三维模型中,筛选出与地图元素的二维坐标距离在预设距离阈值内的三维点。比如,根据匹配的结果,确定出地图元素在第二层道路上,在第二层道路对应的三维模型中,筛选出与地图元素的二维坐标(x1,y1)距离在预设距离内的三维点(x2,y2,z2),也可以说是距离地图元素的二维坐标距离最近的三维点。譬如,假设预设距离为1,首先要计算与地图元素的二维坐标(x1,y1)的距离在预设距离的二维坐标范围,计算公式如下:
其中,x,y分别为三维点的x和y坐标,x1和y1分别为地图元素的二维坐标。
电子设备计算出与地图元素的二维坐标的距离在预设距离的三维点的x和y坐标的范围,根据x和y坐标的范围筛选出三维点,三维点至少为一个,还可以为多个。
可选的,电子设备还可以获取三维点在三维模型中的三维坐标,根据该三维坐标对地图元素的坐标信息进行调整,得到调整后坐标信息。比如,获取三维点在三维模型中的三维坐标,譬如,可以为(x2,y2,z2),地图元素在三维模型中的二维坐标为(x1,y1),将三维点的坐标(x2,y2,z2)中z2作为地图元素在三维模型中的z坐标,则得到地图元素在三维模型的调整后坐标信息,即调整后的三维坐标信息为(x1,y1,z2)。
(3)电子设备基于调整后坐标信息,将地图元素添加至三维模型,得到三维地图。
例如,电子设备根据地图元素调整后的三维坐标,将地图元素添加至三维模型对应的位置,得到三维地图。比如,地图元素调整后的三维坐标为(x,y,z),根据该坐标,在三维模型中找到对应的位置,将该地图元素添加至道路的三维模型中,将所有的地图元素全部添加至三维模型,得到三维地图。
由以上可知,本实施例电子设备在采集车辆所在的道路信息和相对位置信息后,该相对位置信息包括车辆周围环境相对车辆的位置信息,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,然后,基于二维地图数据,利用道路信息和所述相对位置信息构建车辆所在道路的三维模型,根据地图元素的坐标信息和相对层次,在三维模型中在对所述地图元素进行层次匹配,以生成三维地图;由于该方案一方面采用人工标注地图元素生成二维高精度地图,保证了地图的精度,另一方面,根据二维高精度地图,构建多层次路面三维模型,再结合地图元素的相对层次,在路面三维模型对二维地图进行三维化,大幅降低错误率,因此,可以大大提高三维地图的质量。
为了更好地实施以上方法,本发明实施例还提供一种三维地图生成装置,该三维地图生成装置可以集成在电子设备,比如服务器或ECU等设备中。
例如,如图4所示,该三维地图生成装置可以包括采集单元301、标注单元302、得到单元303、构建单元304和生成单元305,如下:
(1)采集单元301;
采集单元301,用于采集车辆所在的道路信息和相对位置信息,该相对位置信息包括车辆周围环境相对车辆的位置信息;
例如,采集单元301,具体用于可以通过安装在车身上的定位装置和传感器采集车辆所在的道路信息和相对位置信息,确定当前车辆自身的位置和姿态。采集到的道路信息和相对位置信息可以包括车辆所在道路及道路周围所有物体表面上未被遮挡区域的三维坐标等信息。
(2)标注单元302;
标注单元302,用于在相对位置信息中标注出道路信息对应的地图元素的坐标信息。
其中,标注单元302可以包括发送子单元3021、接收子单元3022和第一标注子单元3023,如图5所示,具体如下:
发送子单元3021,用于将道路信息发送至标注终端;
接收子单元3022,用于接收标注终端生成的标注数据,标注数据包括路面信息对应的地图元素的坐标信息;
第一标注子单元3023,用于在相对位置信息中标注出道路信息对应的地图元素的坐标信息。
例如,发送子单元3021将道路信息发送至标注终端,接收子单元3022接收标注终端生成的标注数据,标注数据包括路面信息对应的地图元素的坐标信息,第一标注子单元3023在相对位置信息中标注出道路信息对应的地图元素的坐标信息。
(3)得到单元303;
得到单元303,用于根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据。
其中,得到单元303可以包括第一筛选子单元3031、第二标注子单元3032和生成子单元3033,如图6所示,具体如下:
第一筛选子单元3031,用于在坐标信息中筛选出地图元素对应的高程数据;
第二标注子单元3032,用于根据高程数据,对地图元素的相对层次进行标注;
生成子单元3033,用于基于所述地图元素的坐标信息和相对层次,生成所述二维地图数据。
例如,第一筛选子单元3031在坐标信息中筛选出地图元素对应的高程数据,第二标注子单元3032根据高程数据,对地图元素的相对层次进行标注,生成子单元3033基于所述地图元素的坐标信息和相对层次,生成所述二维地图数据。
(4)构建单元304;
构建单元304,用于基于所述二维地图数据,利用所述道路信息和所述相对位置信息构建所述车辆所在道路的三维模型。
其中,构建单元304可以包括第二筛选子单元3041、第三筛选子单元3042和构建子单元3043,如图7所示,具体如下:
第二筛选子单元3041,用于根据道路信息,在二维地图数据中筛选出道路区域数据;
第三筛选子单元3042,用于在相对位置信息中筛选出与道路区域数据相关的道路位置信息;
构建子单元3043,用于利用所述道路位置信息构建所述车辆所在道路的三维模型。
例如,第二筛选子单元3041根据道路信息,在二维地图数据中筛选出道路区域数据,第三筛选子单元3042在相对位置信息中筛选出与道路区域数据相关的道路位置信息,构建子单元3043利用所述道路位置信息构建所述车辆所在道路的三维模型。
(5)生成单元305;
生成单元305,用于根据地图元素的坐标信息和相对层次,在三维模型中在对地图元素进行层次匹配,以生成三维地图。
其中生成单元305可以包括匹配单元3051、调整子单元3052和添加子单元3053,如图8所示,具体如下:
匹配单元3051,用于将地图元素的相对层次与道路层数进行匹配;
调整子单元3052,用于基于匹配结果,对地图元素的坐标信息进行调整,得到调整后坐标信息;
添加子单元3053,用于基于调整后坐标信息,将地图元素添加至所述三维模型,得到三维地图。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由以上可知,本实施例在采集单元301采集车辆所在的道路信息和相对位置信息后,该相对位置信息包括车辆周围环境相对车辆的位置信息,标注单元302在相对位置信息中标注出道路信息对应的地图元素的坐标信息,然后,得到单元303根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,然后,构建单元304基于二维地图数据,利用道路信息和所述相对位置信息构建车辆所在道路的三维模型,生成单元305根据地图元素的坐标信息和相对层次,在三维模型中在对所述地图元素进行层次匹配,以生成三维地图,由于该方案一方面采用人工标注地图元素生成二维高精度地图,保证了地图的精度,另一方面,根据二维高精度地图,构建多层次路面三维模型,再结合地图元素的相对层次,在路面三维模型对二维地图进行三维化,大幅降低错误率,因此,可以大大提高三维地图的质量。
本发明实施例还提供一种车辆导航设备,如图9所示,其示出了本发明实施例所涉及的车辆导航设备的结构示意图,具体来讲:
该车辆导航设备可以包括定位装置401、三维地图生成装置402和导航装置403,本领域技术人员可以理解,图9中示出的车辆导航设备结构并不构成对车辆导航设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
定位装置401为车辆导航设备提供使用该车辆导航设备的车辆的实时位置信息。
三维地图生成装置402为车辆导航设备提供车辆所在道路的三维地图信息,结合车辆的实时的位置信息,获取使用该车辆导航设备的车辆在三维地图中的位置信息和当前路况信息。
导航装置403可以根据车辆输入的目的地,根据车辆的实时位置信息和生成三维地图,为车辆做路径规划,并根据路径规划信息生成相应的控制指令,根据控制指令控制无人驾驶车辆根据规划的路径到达设定的目的地。
本发明实施例还提供一种无人驾驶车辆,如图10所示,其示出了本发明实施例所涉及的无人驾驶车辆的结构示意图,具体来讲:
该无人驾驶车辆可以包括驱动设备501、控制设备502和导航设备503,本领域技术人员可以理解,图10中示出的电子设备结构并不构成对无人驾驶车辆的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
驱动设备501是无人驾驶车辆的动力源,驱动系统可以为无人驾驶车辆提取驱动力,实现无人驾驶车辆的前进、后退和停止等驱动功能。驱动系统可以包括发动机、传动装置和车轮等。
控制设备502是无人驾驶车辆的控制核心,控制系统可以控制无人驾驶车辆的启动、停止、转向,还能根据外部环境的变化实时的控制无人驾驶车辆按照规划路径行驶。控制系统可以包括无人驾驶车辆控制装置。
导航系设备503可以根据车辆的目的地信息,根据车辆的实时位置信息结合三维地图,对目的地进行路径规划,根据规划的路径,生成该路径的控制指令,将该控制指令输入至控制系统502,基于控制系统502驱动驱动系统501,使得无人驾驶车辆按照规划的路径到达目的地。
本发明实施例还提供一种电子设备,如图11所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图11中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
电子设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601 来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
采集车辆所在的道路信息和相对位置信息,该相对位置信息包括车辆周围环境相对车辆的位置信息,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,基于二维地图数据,利用道路信息和所述相对位置信息构建车辆所在道路的三维模型,根据地图元素的坐标信息和相对层次,在三维模型中在对所述地图元素进行层次匹配,以生成三维地图。
例如,可以通过安装在车身上的定位装置和传感器采集车辆所在的道路信息和相对位置信息,确定当前车辆自身的位置和姿态,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,在坐标信息中筛选出所述地图元素对应的高程数据,根据高程数据,对地图元素的相对层次进行标注,基于地图元素的坐标信息和相对层次,生成二维地图数据,根据道路信息,在二维地图数据中筛选出道路区域数据,在相对位置信息中筛选出与道路区域数据相关的道路位置信息,利用道路位置信息构建车辆所在道路的三维模型,将地图元素的相对层次与道路层数进行匹配,基于匹配结果,对所述地图元素的坐标信息进行调整,得到调整后坐标信息,基于调整后坐标信息,将地图元素添加至三维模型,得到三维地图。
以上各个操作的具体实施可参见前面的实施例,在此不作赘述。
由以上可知,本发明实施例在采集车辆所在的道路信息和相对位置信息后,该相对位置信息包括车辆周围环境相对车辆的位置信息,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,然后,基于二维地图数据,利用道路信息和所述相对位置信息构建车辆所在道路的三维模型,根据地图元素的坐标信息和相对层次,在三维模型中在对所述地图元素进行层次匹配,以生成三维地图;由于该方案一方面采用人工标注地图元素生成二维高精度地图,保证了地图的精度,另一方面,根据二维高精度地图,构建多层次路面三维模型,再结合地图元素的相对层次,在路面三维模型对二维地图进行三维化,大幅降低错误率,因此,可以大大提高三维地图的质量。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种三维地图生成方法中的步骤。例如,该指令可以执行如下步骤:
采集车辆所在的道路信息和相对位置信息,该相对位置信息包括车辆周围环境相对车辆的位置信息,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,根据坐标信息,对地图元素的相对层次进行标注,得到二维地图数据,基于二维地图数据,利用道路信息和所述相对位置信息构建车辆所在道路的三维模型,根据地图元素的坐标信息和相对层次,在三维模型中在对所述地图元素进行层次匹配,以生成三维地图。
例如,可以通过安装在车身上的定位装置和传感器采集车辆所在的道路信息和相对位置信息,确定当前车辆自身的位置和姿态,在相对位置信息中标注出道路信息对应的地图元素的坐标信息,在坐标信息中筛选出所述地图元素对应的高程数据,根据高程数据,对地图元素的相对层次进行标注,基于地图元素的坐标信息和相对层次,生成二维地图数据,根据道路信息,在二维地图数据中筛选出道路区域数据,在相对位置信息中筛选出与道路区域数据相关的道路位置信息,利用道路位置信息构建车辆所在道路的三维模型,将地图元素的相对层次与道路层数进行匹配,基于匹配结果,对所述地图元素的坐标信息进行调整,得到调整后坐标信息,基于调整后坐标信息,将地图元素添加至三维模型,得到三维地图。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本发明实施例所提供的任一种三维地图生成方法中的步骤,因此,可以实现本发明实施例所提供的任一种三维地图生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本发明实施例所提供的一种三维地图生成方法、装置、车辆导航设备和无人驾驶车辆进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。