语义地图更新方法、装置和计算机存储介质与流程

文档序号:32741554发布日期:2022-12-30 18:56阅读:54来源:国知局
语义地图更新方法、装置和计算机存储介质与流程

1.本技术涉及自动驾驶地图与定位技术领域,特别是涉及一种语义地图更新方法、装置和计算机存储介质。


背景技术:

2.在自动驾驶、高精地图等领域,相比于专业采集建图的更新频率低、相对耗时耗力,更新频率高、计算量小的众包式采集建图越来越受到工业界和学术界的青睐。
3.专业采集方法传统,一般需要大量专业的数据采集人员、测绘设备、采集车等等。高精地图采集时,需要包含道路网络数据、车道网络数据、道路交通设施数据等等信息,因此往往需要一条道路上来回采集多遍,以确保数据的准确性。完成采集后,还需要经历数据融合、数据处理、发布和交付等诸多环节。
4.众包采集,可以理解为用户通过自动驾驶车辆自身的传感器,或者其他低成本的传感器,收集道路数据传到云端进行数据融合,并通过这种融合的方式提高数据精度,来完成众包式高精地图或者语义地图的制作,主要分为视觉和雷达等方式;其中,视觉众包采集方案,是目前国内外制图或者自动驾驶公司主要采集方案;基于雷达三维点云的众包采集方案,点云数据相比视觉图像数据大,数据传输成本高。
5.然而,目前的众包采集建图方法,多辆车传感器误差不一样,同辆车采集同一物体误差也会不一样,容易损失精度。


技术实现要素:

6.基于此,有必要针对上述技术问题,提供一种能够提高地图精度的语义地图更新方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
7.第一方面,本技术提供了一种语义地图的语义信息方法。所述方法包括:
8.在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息;
9.当所述语义地图中存在与所述第一点云物体的匹配点云物体时,获取所述匹配点云物体的第二语义信息;
10.通过对所述第一语义信息和所述第二语义信息进行语义平均处理,得到更新点云物体的平均语义信息;
11.根据所述平均语义信息更新所述语义地图。
12.在其中一个实施例中,所述通过对所述第一语义信息和所述第二语义信息进行语义平均处理,得到更新后的所述第一点云物体的平均语义信息,包括:
13.根据所述第一语义信息和所述第二语义信息进行语义平均处理,更新所述第一点云物体的第一语义信息,得到更新后的所述第一点云物体的平均语义信息;所述平均语义信息至少包括更新后的pca坐标系方向、更新点云中心、更新包围框的顶点坐标、更新点云凸包和更新直方图中任意一种。
14.在其中一个实施例中,所述根据所述第一语义信息和所述第二语义信息进行语义平均处理,更新所述第一点云物体的第一语义信息,得到更新后的所述第一点云物体的平均语义信息,包括:
15.对所述第一语义信息中的pca坐标系方向和所述第二语义信息中的pca坐标系方向进行插值处理,得到所述更新后的pca坐标系方向;
16.根据所述更新后的pca坐标系方向,得到更新后的所述第一点云物体的平均语义信息。
17.在其中一个实施例中,所述根据所述第一语义信息和所述第二语义信息进行语义平均处理,更新所述第一点云物体的第一语义信息,得到更新后的所述第一点云物体的平均语义信息,包括:
18.对所述第一语义信息中的点云中心和所述第二语义信息中的点云中心进行均值处理,得到所述更新点云中心;
19.根据所述更新后的pca坐标系方向和所述更新点云中心,得到更新后的所述第一点云物体的平均语义信息。
20.在其中一个实施例中,所述根据所述第一语义信息和所述第二语义信息进行语义平均处理,更新所述第一点云物体的第一语义信息,得到更新后的所述第一点云物体的平均语义信息,包括:
21.对所述第一语义信息中的点云最小包围盒和所述第二语义信息中的点云最小包围盒进行均值处理和坐标转换处理,得到所述更新包围框的顶点坐标;
22.根据所述更新后的pca坐标系方向、所述更新点云中心和所述更新包围框的顶点坐标,得到更新后的所述第一点云物体的平均语义信息。
23.在其中一个实施例中,所述对所述第一语义信息中的点云最小包围盒和所述第二语义信息中的点云最小包围盒进行均值处理和坐标转换处理,得到更新包围框的顶点坐标,包括:
24.对所述第一语义信息中的点云最小包围盒和所述第二语义信息中的点云最小包围盒进行均值处理,得到所述更新点云最小包围盒;
25.基于所述更新后的pca坐标系方向,将所述更新点云中心进行坐标转换,转换至更新物体坐标系下,得到目标点云中心坐标;
26.根据所述目标点云中心坐标和所述更新点云最小包围盒,得到更新包围框的顶点坐标。
27.在其中一个实施例中,所述根据所述目标点云中心坐标和所述更新点云最小包围盒,得到更新包围框的顶点坐标,包括:
28.根据所述目标点云中心坐标和所述更新点云最小包围盒的尺寸信息来确定所述顶点坐标;所述尺寸信息包括宽度、高度和深度;
29.其中,根据所述目标点云中心的x轴坐标以及所述宽度获得所述更新包围框在x轴的顶点坐标;
30.根据所述目标点云中心的y轴坐标以及所述高度获得所述更新包围框在y轴的顶点坐标;以及
31.根据所述目标点云中心的z轴坐标以及所述深度获得所述更新包围框在z轴的顶
点坐标。
32.在其中一个实施例中,所述根据所述第一语义信息和所述第二语义信息进行语义平均处理,更新所述第一点云物体的第一语义信息,得到更新后的所述第一点云物体的平均语义信息,包括:
33.对所述第一语义信息中的点云凸包和所述第二语义信息中的点云凸包进行平移旋转和坐标转换处理,得到所述更新点云凸包;
34.根据所述更新后的pca坐标系方向、所述更新点云中心、所述更新包围框的顶点坐标和所述更新点云凸包,得到更新后的所述第一点云物体的平均语义信息。
35.在其中一个实施例中,所述根据所述第一语义信息和所述第二语义信息进行语义平均处理,更新所述第一点云物体的第一语义信息,得到更新后的所述第一点云物体的平均语义信息,包括:
36.根据所述第一点云物体的物体点云进行坐标系转换更新所述第二语义信息中的直方图,得到所述更新直方图;
37.根据所述更新后的pca坐标系方向、更新点云中心、更新包围框的顶点坐标、更新点云凸包和更新直方图,得到更新后的所述第一点云物体的平均语义信息。
38.第二方面,本技术还提供了一种语义地图更新装置。包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
39.在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息;
40.当所述语义地图中存在与所述第一点云物体的匹配点云物体时,获取所述匹配点云物体的第二语义信息;
41.通过对所述第一语义信息和所述第二语义信息进行语义平均处理,得到更新后的所述第一点云物体的平均语义信息;
42.根据所述平均语义信息更新所述语义地图。
43.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
44.在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息;
45.当所述语义地图中存在与所述第一点云物体的匹配点云物体时,获取所述匹配点云物体的第二语义信息;
46.通过对所述第一语义信息和所述第二语义信息进行语义平均处理,得到更新后的所述第一点云物体的平均语义信息;
47.根据所述平均语义信息更新所述语义地图。
48.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
49.在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息;
50.当所述语义地图中存在与所述第一点云物体的匹配点云物体时,获取所述匹配点云物体的第二语义信息;
51.通过对所述第一语义信息和所述第二语义信息进行语义平均处理,得到更新后的所述第一点云物体的平均语义信息;
52.根据所述平均语义信息更新所述语义地图。
53.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
54.在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息;
55.当所述语义地图中存在与所述第一点云物体的匹配点云物体时,获取所述匹配点云物体的第二语义信息;
56.通过对所述第一语义信息和所述第二语义信息进行语义平均处理,得到更新后的所述第一点云物体的平均语义信息;
57.根据所述平均语义信息更新所述语义地图。
58.上述语义地图更新方法、装置、计算机设备、存储介质和计算机程序产品,在更新采集区域存在对应的语义地图时,通过提取点云物体的语义信息,在存在对应语义地图中存在新采集的众包地图中存在匹配点云物体时,采集的点云物体的语义信息与存在对应语义地图中的物体的语义信息进行语义平均处理,得到更新的点云物体的平均语义信息,根据平均语义信息更新语义地图,以最大限度的保留了众包数据的信息,避免某一个误差最大的数据单一的保存在地图中,影响地图精度和后续定位精度。
附图说明
59.图1为一个实施例中语义地图更新方法的应用环境图;
60.图2为一个实施例中语义地图更新方法的流程示意图;
61.图3a为一个实施例为一个实施例中局部三维众包语义地图中一些物体的部分语义信息;
62.图3b为一个实施例中匹配点云物体的示意图;
63.图4为一个实施例中语义距离确定方法的流程示意图;
64.图5为一个实施例中地图匹配方法的流程示意图;
65.图6为一个实施例中语义信息平均处理方法的流程示意图;
66.图7为一个实施例中确定包围框的顶点坐标的方法的流程示意图;
67.图8为另一个实施例中语义地图更新方法的流程示意图;
68.图9为另一个实施例中语义地图更新方法的流程示意图;
69.图10为一个实施例中计算机设备的内部结构图。
具体实施方式
70.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
71.本技术实施例提供的语义地图更新方法,可以应用于如图1所示的应用环境中。其中,采集设备102通过网络与终端104进行通信。数据存储系统可以存储终端104需要处理的
数据。数据存储系统可以集成在终端104上,也可以放在云端或其他网络服务器上。终端104在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息;当语义地图中存在与第一点云物体的匹配点云物体时,获取匹配点云物体的第二语义信息;通过对第一语义信息和第二语义信息进行语义平均处理,得到更新点云物体的平均语义信息;根据平均语义信息更新语义地图。其中,终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备或自动驾驶计算平台等。采集设备可以是激光雷达、毫米波雷达或超声波雷达等,也可以集成在终端上。可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
72.在一个实施例中,如图2所示,提供了一种语义地图更新方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
73.步骤202,在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息。
74.其中,众包地图或众包式地图是指终端通过云端获取的、由其他车辆采集并上传到云端的地图。采集区域新采集的众包地图的第一点云物体是对众包地图中目标物体点云进行去噪聚类处理构造得到的;目标物体点云是指构建语义地图所需物体(如,交通指示物体)的点云,语义地图所需的物体包括但不限于交通灯、交通牌、车道线、人行道等携带必要的交通信息的物体。提取目标物体点云可以通过现有的方式进行点云目标提取,包括特征提取与选择、分类。
75.例如,提取目标物体点云可以是将激光雷达采集的3d点云投影到对应的2d图像中,提取出物体标定框中的2d点,恢复为3d点;或者,通过深度学习确定物体感知标识点,得到对应物体的点云;其中,物体标定框是通过预先训练好的感知深度学习模型识别出来的;点云中的感知标识点,也是通过深度学习方法得到的;例如,2d交通灯标定框是通过感知深度学习模型识别出来的;将激光雷达的3d点云投影到2d图像中,提取出标定框内的点,然后恢复3d,这些点认为是交通灯的点;又如,通过深度学习方法得到的点云中交通牌的感知标识点,标示为交通牌的这些点可以直接拿过来作为交通牌点云。
76.第一语义信息包括第一点云物体的点云物体标识、点云pca(principal components analysis)坐标系方向、点云主方向、点云物体中心、点云最小包围盒(oriented bounding box,obb)、点云凸包和点云直方图。可以理解的是,这里的第一点云物体不仅限于是1个,可以是多个;obb的紧密性比较好,可以大大减少参与相交测试的包围盒的数目,总体性能要优于aabb。当几何物体发生旋转运动后,只要对obb进行同样的旋转即可。
77.进一步地,每个物体的点云物体标识是不同的,即唯一的。点云pca是通过点云协方差矩阵特征值分解,通过特征向量确定三个维度的方向,定义此坐标系为物体的local坐标系。点云主方向是在pca计算之后,选取最小的特征值对应的特征向量,作为点云物体的主方向。比如常见的交通牌,其点云近似平面(当然建图中,会给一个阈值,如果小于阈值,则给一个最小的宽度(width),保证点云物体是三维物体),那么平面法线方向对应的特征值最小,我们定义该法线方向为主方向。
78.点云物体中心是根据点云中点的坐标最大值和最小值确定的,即在local坐标系
下确定不同轴上的最大值和最小值,根据最大值和最小值进行加权平均处理后,将得到的坐标转换至世界坐标下得到的;例如,第一点云物体的点云中点在x,y,z轴方向上的最大值和最小值分别为x
max
,y
max
,z
max
,x
min
,y
min
,z
min
,得到点云物体中心为c=[c
x
,cy,cz]
t
,其中,c
x
=(x
max
+x
min
)/2,cy=(y
max
+y
min
)/2,cz=(z
max
+z
min
)/2。
[0079]
点云最小包围盒obb的包围盒尺寸为宽(width)、高(height)、深(depth),其中,width《height《depth,在世界坐标系可以用八个顶点表示;点云凸包是中包含一个物体所有点的最小凸包;点云直方图将x,y,z三维的直方图存在一个一维的向量中。如图3a所示,为一个实施例中局部三维众包语义地图中一些物体的部分语义信息(包括obb和pca坐标系)。
[0080]
具体地,在更新采集区域存在对应的语义地图时,需要判断新采集的众包地图和存在对应的语义地图之间的点云物体的匹配情况,确定构建语义地图所需物体,并从众包地图中提取用于表征交通指示物体的目标物体点云,对目标物体点云进行去噪聚类处理,得到众包地图中的第一点云物体,并提取众包地图中所有第一点云物体的第一语义信息。
[0081]
步骤204,当语义地图中存在与第一点云物体的匹配点云物体时,获取匹配点云物体的第二语义信息。
[0082]
具体地,获取语义地图中所有的第二点云物体,并提取每个第二点云物体的第二语义信息;根据第二点云物体的第二语义信息和第一点云物体的第一语义信息确定语义距离,根据语义距离从语义地图中确定与第一点云物体匹配的匹配点云物体,并获取匹配点云物体的第二语义信息。
[0083]
步骤206,通过对第一语义信息和第二语义信息进行语义平均处理,得到更新点云物体的平均语义信息。
[0084]
其中,第一语义信息和第二语义信息分别包括pca坐标系方向、点云中心、点云最小包围盒、点云凸包和直方图,第一语义信息是指新采集的第一点云物体的语义信息;第二语义信息是指存在对应语义地图中的第二点云物体的语义信息。
[0085]
具体地,对通过对第一语义信息中的pca坐标系方向、点云中心、点云最小包围盒、点云凸包和直方图,以及第二语义信息中的pca坐标系方向、点云中心、点云最小包围盒、点云凸包和直方图进行语义平均处理,得到更新点云物体的平均语义信息。
[0086]
步骤208,根据平均语义信息更新语义地图。
[0087]
上述语义地图更新方法中,在更新采集区域存在对应的语义地图时,通过提取点云物体的语义信息,在存在对应语义地图中存在新采集的众包地图中存在匹配点云物体时,采集的点云物体的语义信息与存在对应语义地图中的物体的语义信息进行语义平均处理,得到更新的点云物体的平均语义信息,根据平均语义信息更新语义地图,以最大限度的保留了众包数据的信息,避免某一个误差最大的数据单一的保存在地图中,影响地图精度和后续定位精度。
[0088]
在一个实施例中,如图4所示,提供了一种点云物体语义距离的方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0089]
步骤402,根据第一点云物体的点云中心坐标和第二点云物体的点云中心坐标,确定中心位置坐标距离差异值。
[0090]
其中,第一点云物体是根据新采集的众包地图中提取的目标物体点云构造得到
的,第一语义信息是从第一点云物体中提取的点云的物理几何信息,包括点云物体标识、点云中心、点云凸包、点云最小标定框obb、点云pca坐标系方向、点云主方向和点云直方图等信息。
[0091]
具体地,从众包地图中提取目标物体点云并构造对应的第一点云物体,以及提取第一点云物体的第一语义信息;从存在对应的语义地图中确定第二点云物体,以及第二点云物体的第二语义信息。例如,局部地图中(众包采集),第一点云物体object中心坐标为(x1,y1,z1),点云主方向为a,标定框尺寸为(w1,h1,d1),shape feature为30维向量s1,原始点云数量为n1。另一方面,语义地图中第二点云物体object中心坐标为(x2,
y2
,z2),点云主方向为b,标定框尺寸为(w2,h2,d2),shape feature为30维向量s2,原始点云数量为n2;标定框尺寸可以理解为点云最小包围盒的尺寸。
[0092]
其中,根据第一点云物体的点云中心坐标(x1,y1,z1)和第二点云物体的点云中心坐标(x2,y2,z2),确定中心位置坐标距离差异值distance1,可以表示为:
[0093][0094]
步骤404,根据第一点云物体的点云主方向和第二点云物体的点云主方向,确顶点云物体方向差异值。
[0095]
其中,点云物体方向差异值distance2可以表示为:
[0096]
cos(θ)=a
·
b/(|a|
·
|b|);夹角越大,差异越大,cos值越小;夹角越小,差异越小,cos值越大;
[0097]
distance2=1-cos(θ),差异越小,方向距离越小。
[0098]
步骤406,根据第一点云物体的标定框尺寸和第二点云物体的标定框尺寸,确定标定框尺寸差异值。
[0099]
其中,第一点云物体的标定框尺寸为(w1,h1,d1),第二点云物体的标定框尺寸为(w2,h2,d2);标定框尺寸差异值distance3可以表示为:
[0100][0101]
步骤408,根据第一点云物体的点云直方图的形状要素和第二点云物体的点云直方图的形状要素,确定外观特征差异值。
[0102]
其中,外观特征差异值可以表示为:
[0103][0104]
步骤410,通过对中心位置坐标距离差异值、点云物体方向差异值、标定框尺寸差异值和外观特征差异值进行加权处理,得到各第一点云物体与语义地图中第二点云物体之间的语义距离。
[0105]
具体地,获取中心位置坐标距离差异值distance1、点云物体方向差异值distance2、标定框尺寸差异值distance3和外观特征差异值distance4对应的权重值w1、w2、w3、w4;以w1、w2、w3、w4的权重加权求和去得到语义距离评分,其中权重值范围为0~1。也就是说通过每一个差异值加一个权重,然后线性相加一下,成为最终的语义距离;即语义距离=w1*distance1+w2*distance2+w3*distance3+w4*distance4。
[0106]
基于地图匹配算法,根据确定的各第一点云物体与语义地图中第二点云物体之间
的语义距离将采集的众包地图与存在对应的语义地图进行匹配,确定众包地图与存在对应的语义地图之间点云物体之间的匹配情况,其中,匹配情况包括众包地图中的第一点云物体在语义地图有匹配的第二点云物体、众包地图中的第一点云物体在语义地图没有匹配的第二点云物体(即第一点云物体为新增点云物体)和语义地图中的第二点云物体在众包地图中没有匹配的第一点云物体(即第二点云物体消失)等。
[0107]
上述确定点云物体语义距离的方法中,通过提取中众包地图的第一点云物体的语义信息和存在对应的语义地图的第二点云物体的语义信息,根据物体几何信息确定众包地图中点云物体和语义地图中点云物体的语义距离,为地图匹配更新提供了保证。
[0108]
在一个实施例中,如图5所示,提供了一种地图匹配方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0109]
步骤502,从当前采集区域对应的众包地图中提取目标物体点云。
[0110]
步骤504,根据目标物体点云构造第一点云物体并提取对应的第一语义信息。
[0111]
具体地,对提取的目标物体点云进行去噪聚类,构造至少一个第一点云物体,并提取每个第一点云物体的第一语义信息。
[0112]
步骤506,获取语义地图中的所有第二点云物体以及对应的第二语义信息。
[0113]
步骤508,根据第一语义信息和第二语义信息,确定第一点云物体与各第二点云物体之间的语义距离。
[0114]
具体地,根据第一点云物体的点云中心坐标和第二点云物体的点云中心坐标,确定中心位置坐标距离差异值;根据第一点云物体的点云主方向和第二点云物体的点云主方向,确顶点云物体方向差异值;根据第一点云物体的标定框尺寸和第二点云物体的标定框尺寸,确定标定框尺寸差异值;根据第一点云物体的点云直方图的形状要素和第二点云物体的点云直方图的形状要素,确定外观特征差异值;通过对中心位置坐标距离差异评分、点云物体方向差异评分、标定框尺寸差异评分和外观特征差异评分进行加权处理,得到各第一点云物体与语义地图中第二点云物体之间的语义距离。
[0115]
步骤510,获取众包地图中第一点云物体的数量n和语义地图中第二点云物体的数量m,得到n*m的关联矩阵。
[0116]
步骤512,将语义距离作为关联矩阵的元素。
[0117]
可以理解的是,关联矩阵中的每个元素代表众包地图中第一点云物体与语义地图中第二点云物体之间的语义距离;例如,众包地图中第一点云物体与语义地图中第二点云物体的数量为3,构成3*3的关联矩阵,关联矩阵中的每个元素为第一点云物体与语义地图中第二点云物体之间的语义距离。
[0118]
步骤514,根据预定阈值和关联矩阵,得到众包地图中第一点云物体与语义地图中第二点云物体的匹配结果。
[0119]
其中,语义距离小于预定阈值则表明对应的第一点云物体和第二点云物体之间存在关联。
[0120]
具体地,将语义距离作为关联矩阵的元素,当关联矩阵中存在第一元素大于或等于预定阈值时,确定第一元素对应的第一点云物体和第二点云物体不为点云物体匹配对;第一元素对应的第一点云物体和第二点云物体不为点云物体匹配对包括第一点云物体为新增的点云物体或第二点云物体为消失的点云物体。
[0121]
当关联矩阵中至少存在一个第二元素小于预定阈值时,确定第二元素对应的第一点云物体存在至少一个匹配的第二点云物体;基于第二元素对关联矩阵进行分割,得到若干子图;对各子图分别进行二分图匹配,确定与第一点云物体匹配的第二点云物体;也就是说对各子图分别进行二分图匹配,确定子图中第一点云物体与各第二点云物体的匹配代价值;确定数值最小的匹配代价值对应的第二点云物体为第一点云物体的匹配点云物体。二分图匹配采用的是匈牙利算法来实现的,使用匈牙利算法进行二分图匹配,得到cost最小的物体连接对(object,crowd_object)为点云物体匹配对。如图3b所示,为一个实施例中为匹配点云物体的示意图。
[0122]
例如,众包采集地图的包括第一点云物体1、2、3,存在对应语义地图中有第二点云物体4、5、6,其中,第一点云物体2和第二点云物体4和第一点云物体2和第二点云物体5之间的语义距离大于预定值,为不匹配的点云物体,第一点云物体1和第二点云物体4,以及第一点云物体1和第二点云物体5的语义距离小于预定阈值,则需要将第一点云物体1和第二点云物体4,以及第一点云物体1和第二点云物体5的语义距离分割为一个子图,对第一点云物体1和第二点云物体4,以及第一点云物体1和第二点云物体5采用现有的匈牙利匹配算法,得到匹配代价值cost,将cost最小的确定为第一点云物体1最终的匹配点云物体。
[0123]
上述地图匹配方法中,通过从众包采集数据中提取目标物体点云,在提取到的物体点云的基础上进一步提取语义信息,压缩数据大小的同时,得到更多的信息;使得整个地图数据尺寸极小,又同时包含所有需要的信息;此处地图更新中添加匹配算法,而不是仅仅通过语义距离的远近来判断是否是同一物体;在局部地图中,当物体数目超过一定的阈值时,基于语义距离的匹配算法,会使得地图更新精度更高。
[0124]
在一个实施例中,如图6所示,提供了一种语义信息平均处理方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0125]
步骤602,对第一语义信息中的pca坐标系方向和第二语义信息中的pca坐标系方向进行插值处理,得到更新后的pca坐标系方向。
[0126]
其中,第一语义信息中的pca坐标系方向和第二语义信息中的pca坐标系方向为四元数,也就是说,第一语义信息中的pca坐标系方向为四元数q1,第二语义信息中的pca坐标系方向为四元数q2,得到的更新后的pca坐标系方向为四元数q
update

[0127]
根据四元数q1和四元数q2,得到的更新后的pca坐标系方向为四元数q
update
,是通过四元数slerp内插值计算确定的,包括以下步骤:
[0128]
计算q1和q2之间的相对旋转δq
[0129]
δq=q
1-1
*q2=[δq
w δq
x δq
y δqz]
t
;其中,δqw,δq
x
,δqy,δqz这四个是四元数的四个分量。
[0130]
计算第一点云物体和第二点云物体的点云中心之间的旋转角度θ
[0131]
θ=2*arccos(δqw)
[0132]
slerp内插值为
[0133]qupdate
=(q1*sin((1-t)θ/2)+q2*sin(tθ/2))/sin(θ/2)
[0134]
其中,t∈[0,1]。在本实施例中t=0.5。
[0135]
具体地,对第一语义信息中的pca坐标系方向和第二语义信息中的pca坐标系方向进行插值处理,得到更新后的pca坐标系方向,根据更新后的pca坐标系方向更新点云主方
向,使用更新更新后的pca坐标系方向的同一个轴(如x轴,或y轴,或z轴),作为更新主方向。
[0136]
步骤604,对第一语义信息中的点云中心和第二语义信息中的点云中心进行均值处理,得到更新点云中心。
[0137]
具体地,对第一点云物体local坐标系下的第一语义信息中的点云中心(cx1,cy1,cz1),和第二点云物体local坐标系下的第二语义信息中的点云中心(cx2,cy2,cz2)进行均值处理后进行坐标转换,得到世界坐标下的更新点云中心c
update
,可以通过以下方式来表示:
[0138]cupdate
=[cx
update cy
update cz
update
]
t
;其中,cx
update
=(cx1+cx2)/2;
[0139]
cy
update
=(cy1+cy2)/2;cz
update
=(cz1+cz2)/2;
[0140]
步骤606,对第一语义信息中的点云最小包围盒和第二语义信息中的点云最小包围盒进行均值处理,得到更新点云最小包围盒。
[0141]
步骤608,基于更新后的pca坐标系方向,将更新点云中心进行坐标转换,转换至更新物体坐标系下,得到目标点云中心坐标。
[0142]
其中,点云最小包围盒的包围盒尺寸为宽width、高height、深depth,width<height<depth;根据对第一语义信息中的点云最小包围盒(w1,h1,d1)和第二语义信息中的点云最小包围盒(w2,h2,d2)进行均值处理,得到更新后的点云最小包围的包围盒尺寸为(w
update
,h
update
,d
update
)。其中:
[0143]wupdate
=(w1+w2)/2
[0144]hupdate
=(h1+h2)/2
[0145]dupdate
=(d1+d2)/2
[0146]
基于更新后的pca坐标系方向q
update
,将更新点云中心c
update
=[cx
update cy
update cz
update
]
t
进行坐标转换,转换至pca计算的更新物体坐标系下,得到目标点云中心坐标c
local
=[cx
local cy
local cz
local
]
t

[0147]
步骤610,根据目标点云中心坐标和更新点云最小包围盒,得到更新包围框的顶点坐标。
[0148]
具体地,根据目标点云中心坐标和更新点云最小包围盒的尺寸信息来确定顶点坐标;其中,尺寸信息包括宽度、高度和深度;具体包括以下步骤:
[0149]
步骤702,根据目标点云中心的x轴坐标以及宽度获得更新包围框在x轴的顶点坐标。
[0150]
步骤704,根据目标点云中心的y轴坐标以及高度获得更新包围框在y轴的顶点坐标。
[0151]
步骤706,根据目标点云中心的z轴坐标以及深度获得更新包围框在z轴的顶点坐标。
[0152]
步骤708,根据更新包围框在x轴的顶点坐标、在y轴的顶点坐标,以及在z轴的顶点坐标得到更新包围框的顶点坐标。
[0153]
也就是说,根据目标点云中心的x轴坐标以及宽度获得local坐标系x轴上的最大值和最小值;根据目标点云中心的y轴坐标以及高度获得local坐标系y轴上的最大值和最小值;根据目标点云中心的z轴坐标以及深度获得local坐标系z轴上的最大值和最小值;根据x轴上的最大值和最小值、y轴上的最大值和最小值,以及z轴上的最大值和最小值确定更
新包围框的顶点坐标。
[0154]
具体地,将local坐标系x轴上的最大值和最小值、y轴上的最大值和最小值,以及z轴上的最大值和最小值反转到世界坐标下,得到对应坐标系下的x轴上的最大值和最小值、y轴上的最大值和最小值,以及z轴上的最大值和最小值,进而得到更新包围框的8个顶点坐标。即根据更新后的点云最小包围盒(w
utpdate
,h
update
,d
update
)和local坐标系下的c
local
=[cx
local cy
local cz
local
]
t
,确定local坐标系下x,y,z方向的最大值和最小值其中:
[0155][0156][0157][0158]
将上述local坐标系下求出的反转到世界坐标下,得到对应的坐标下x,y,z方向的最大值和最小值x
min
,x
max
,y
min
,y
max
,z
min
,z
max
,得到更新包围框的8个顶点坐标为:
[0159]
1(x
max
,y
max
,z
max
),2(x
max
,y
max
,z
min
),
[0160]
3(x
max
,y
min
,z
min
),4(x
max
,y
min
,z
max
),
[0161]
5(x
min
,y
max
,z
max
),6(x
min
,y
max
,z
min
),
[0162]
7(x
min
,y
min
,z
min
),8(x
min
,y
min
,z
max
)。
[0163]
步骤612,对第一语义信息中的点云凸包和第二语义信息中的点云凸包进行平移旋转和坐标转换处理,得到更新点云凸包。
[0164]
具体地,根据更新后的pca坐标系方向q
update
和更新点云中心c
update
,将第一语义信息中的点云凸包m1和第二语义信息中的点云凸包m2平移旋转到以c
update
为中心、q
update
为旋转方向的local坐标下,得到两个点云凸包的融合点云凸包m
local
,采用现有的点云凸包计算方式重新计算融合点云凸包m
local
的凸包,采用更新后的点云最小包围盒(w
update
,h
update
,d
update
)对融合点云凸包m
local
的凸包进行过滤,得到过滤后的点云凸包m
local+update
,将点云凸包m
local+update
经过坐标系转换到世界坐标系下,得到更新点云凸包m
update

[0165]
步骤614,根据第一点云物体的物体点云进行坐标系转换更新第二语义信息中的直方图,得到更新直方图。
[0166]
其中,在语义地图中,不需要保存物体点云本身,可以根据新采集的众包地图的物体点云数据重新确定直方图。
[0167]
具体地,根据pca坐标系方向q
update
、更新点云中心c
update
,和第一点云物体的pca坐标系方向q1、点云中心c1之间的相对关系,将第一点云物体的物体点云plc1转换到q
update
和c
update
的local坐标系下plc
local
,在通过转换至世界坐标系下,得到plc
update
;采用更新后的点云最小包围盒(w
update
,h
update
,d
update
)对更新后的物体点云过滤,过滤在点云最小包围盒(w
update
,h
update
,d
update
)外的点后,重新计算直方图,得到众包地图和语义地图中同一物体的更新直方图。
[0168]
步骤616,根据更新后的pca坐标系方向、更新点云中心、顶点坐标、更新点云凸包
和更新直方图,得到更新后的第一点云物体的平均语义信息。
[0169]
上述语义信息平均处理方法中,在众包采集到新的数据,与存在对应语义地图进行匹配,对应匹配到的点云物体,通过对匹配的点云物体的中心点距离,物体方向差异大小,包围盒尺寸差异大小,直方图差异大小等语义信息进行语义平均处理,而不是单纯的保留旧物体,或者使用新物体,最大限度的保留了众包数据的信息,提高地图更新精度。
[0170]
在另一个实施例中,如图8所示,提供了一种语义地图更新方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0171]
步骤802,在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息。
[0172]
步骤804,当语义地图中存在与第一点云物体的匹配点云物体时,获取匹配点云物体的第二语义信息。
[0173]
步骤806,根据第一语义信息和第二语义信息进行语义平均处理,更新第一点云物体的第一语义信息,得到更新后的第一点云物体的平均语义信息。
[0174]
其中,平均语义信息至少包括更新后的pca坐标系方向、更新点云中心、更新包围框的顶点坐标、更新点云凸包和更新直方图中任意一种。
[0175]
具体地,根据第一语义信息和第二语义信息进行语义平均处理,更新第一点云物体的第一语义信息,得到更新后的第一点云物体更新后的pca坐标系方向、更新点云中心、更新包围框的顶点坐标、更新点云凸包和更新直方图中任意一种平均语义信息。
[0176]
可选地,在一个实施例中,对第一语义信息中的pca坐标系方向和第二语义信息中的pca坐标系方向进行插值处理,得到更新后的pca坐标系方向;根据更新后的pca坐标系方向,得到更新后的第一点云物体的平均语义信息。
[0177]
可选地,在一个实施例中,在确定更新后的pca坐标系方向,对第一语义信息中的点云中心和第二语义信息中的点云中心进行均值处理,得到更新点云中心;根据更新后的pca坐标系方向和更新点云中心,得到更新后的第一点云物体的平均语义信息。
[0178]
可选地,在一个实施例中,在确定更新后的pca坐标系方向和更新点云中心,还对第一语义信息中的点云最小包围盒和第二语义信息中的点云最小包围盒进行均值处理和坐标转换处理,得到更新包围框的顶点坐标;根据更新后的pca坐标系方向、更新点云中心和更新包围框的顶点坐标,得到更新后的第一点云物体的平均语义信息。
[0179]
可选地,在一个实施例中,在确定更新后的pca坐标系方向、更新点云中心和更新包围框的顶点坐标,还对第一语义信息中的点云凸包和第二语义信息中的点云凸包进行平移旋转和坐标转换处理,得到更新点云凸包;根据更新后的pca坐标系方向、更新点云中心、更新包围框的顶点坐标和更新点云凸包,得到更新后的第一点云物体的平均语义信息。
[0180]
可选地,在一个实施例中,确定更新后的pca坐标系方向、更新点云中心、更新包围框的顶点坐标和更新点云凸包,还根据第一点云物体的物体点云进行坐标系转换更新第二语义信息中的直方图,得到更新直方图;根据更新后的pca坐标系方向、更新点云中心、更新包围框的顶点坐标、更新点云凸包和更新直方图,得到更新后的第一点云物体的平均语义信息。
[0181]
步骤808,根据平均语义信息更新语义地图。
[0182]
上述语义地图更新方法,在更新采集区域存在对应的语义地图时,通过提取点云
物体的语义信息,在存在对应语义地图中存在新采集的众包地图中存在匹配点云物体时,采集的点云物体的语义信息与存在对应语义地图中的物体的语义信息进行语义平均处理,得到更新后的pca坐标系方向、更新点云中心、更新包围框的顶点坐标、更新点云凸包和更新直方图中任意一种,根据平均语义信息更新语义地图,以最大限度的保留了众包数据的信息,避免某一个误差最大的数据单一的保存在地图中,影响地图精度和后续定位精度;进一步提高了自动驾驶的安全性。
[0183]
在另一个实施例中,如图9所示,提供了一种语义地图更新方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0184]
步骤902,在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息。
[0185]
步骤904,当语义地图中存在与第一点云物体的匹配点云物体时,获取匹配点云物体的第二语义信息。
[0186]
步骤906,对第一语义信息中的pca坐标系方向和第二语义信息中的pca坐标系方向进行插值处理,得到更新后的pca坐标系方向。
[0187]
步骤908,对第一语义信息中的点云中心和第二语义信息中的点云中心进行均值处理,得到更新点云中心。
[0188]
步骤910,对第一语义信息中的点云最小包围盒和第二语义信息中的点云最小包围盒进行均值处理和坐标转换处理,得到更新包围框的顶点坐标。
[0189]
步骤912,对第一语义信息中的点云凸包和第二语义信息中的点云凸包进行平移旋转和坐标转换处理,得到更新点云凸包。
[0190]
步骤914,根据第一点云物体的物体点云进行坐标系转换更新第二语义信息中的直方图,得到更新直方图。
[0191]
步骤916,根据更新后的pca坐标系方向、更新点云中心、顶点坐标、更新点云凸包和更新直方图,得到更新后的第一点云物体的平均语义信息。
[0192]
步骤918,根据平均语义信息更新语义地图。
[0193]
步骤920,基于更新语义地图后得到的更新语义地图进行定位。
[0194]
其中,根据更新后的语义地图进行回环检测和定位;其中,定位和回环检测的方法可以通过现有方式实现,在此不做赘述。其中,回环检测又称闭环检测,是指设备识别曾到达某场景,使得地图闭环的能力,即能将此刻生成的地图与刚刚生成的地图做匹配。
[0195]
也就是说,在得到更新的语义地图后,对语义地图进行定位和回环检测,可以对物体和车道线进行匹配,得到定位结果;例如,获取当前位置所在的周边交通环境;根据周边交通环境生成提示,以及根据目的地对规划路径进行实时更新,提到达到目的地的准时率以及提高自动驾驶的安全性;也就是说,基于更新后的语义地图提升了回环检测的检测能力,减少累积误差,进一步提高了定位的精度以及速度避障。
[0196]
上述语义地图更新方法,在更新采集区域存在对应的语义地图时,通过提取点云物体的语义信息,在存在对应语义地图中存在新采集的众包地图中存在匹配点云物体时,采集的点云物体的语义信息与存在对应语义地图中的物体的语义信息进行语义平均处理,得到更新的点云物体的平均语义信息,根据平均语义信息更新语义地图,以最大限度的保留了众包数据的信息,避免某一个误差最大的数据单一的保存在地图中,影响地图精度和
后续定位精度;进一步提高了自动驾驶的安全性。
[0197]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0198]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的语义地图更新方法的语义地图更新装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个语义地图更新装置实施例中的具体限定可以参见上文中对于语义地图更新方法的限定,在此不再赘述。
[0199]
一种语义地图更新装置,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
[0200]
在更新采集区域存在对应的语义地图时,确定采集区域新采集的众包地图的第一点云物体以及对应的第一语义信息。
[0201]
当语义地图中存在与第一点云物体的匹配点云物体时,获取匹配点云物体的第二语义信息。
[0202]
通过对第一语义信息和第二语义信息进行语义平均处理,得到更新后的第一点云物体的平均语义信息。
[0203]
根据平均语义信息更新语义地图。
[0204]
上述语义地图更新装置,在更新采集区域存在对应的语义地图时,通过提取点云物体的语义信息,在存在对应语义地图中存在新采集的众包地图中存在匹配点云物体时,采集的点云物体的语义信息与存在对应语义地图中的物体的语义信息进行语义平均处理,得到更新的点云物体的平均语义信息,根据平均语义信息更新语义地图,以最大限度的保留了众包数据的信息,避免某一个误差最大的数据单一的保存在地图中,影响地图精度和后续定位精度;进一步提高了自动驾驶的安全性。
[0205]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种语义地图更新方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0206]
本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设
备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0207]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0208]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0209]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0210]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0211]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0212]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0213]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1