点云配准方法、装置、计算机设备和存储介质与流程

文档序号:29118525发布日期:2022-03-04 19:05阅读:184来源:国知局
点云配准方法、装置、计算机设备和存储介质与流程

1.本技术涉及智能驾驶技术领域,特别是涉及一种点云配准方法、装置、计算机设备和存储介质。


背景技术:

2.智能驾驶技术是依靠人工智能技术,基于视觉、雷达、全球定位系统(gps)、惯性测量单元(imu)等多传感器协同合作,使计算机可以自主地进行感知、定位、规划和控制,从而在特定条件下不同程度地实现安全自主地操控车辆的技术。智能驾驶技术能够让驾驶员从常规的、持久且疲劳驾驶活动中解放出来,有效改善驾驶员的驾驶体验,同时还能有效改善智能驾驶车辆的安全性和舒适性,具有广泛的应用价值和前景。
3.智能驾驶车辆涵盖自动驾驶汽车、无人驾驶汽车等,包括各类智能化改造而可实现自动驾驶的乘用车、客车、货车、牵引车,以及扫地车、环卫车、摆渡车等专业车。对于智能驾驶车辆,车辆定位是规划和控制的基础,因此高精度定位技术对于智能驾驶的实现至关重要。
4.相关技术中,基于激光雷达点云配准实现车辆定位。然而,目前的激光雷达点云配准方法通常采用单一的特征点云进行匹配,忽略了点云的局部环境信息,易出现误匹配,导致配准精度较低,继而影响车辆定位精度。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高配准精度的点云配准方法、装置、计算机设备和存储介质。
6.一种点云配准方法,所述方法包括:
7.获取第一点云和第二点云,所述第二点云被划分成包含相应数量点的第二点集,各所述第二点集作为目标点;
8.对所述第一点云进行划分,获得包含相应数量点的第一点集;
9.将各所述第一点集作为待匹配点,基于各所述第一点集内所有点的空间位置、反射强度以及点数量,确定相应的各待匹配点的特征;
10.根据各所述待匹配点以及各所述目标点的空间位置和特征,对所述第一点云和所述第二点云进行配准。
11.一种点云配准装置,所述装置包括:
12.获取模块,用于获取第一点云和第二点云,所述第二点云被划分成包含相应数量点的第二点集,各所述第二点集作为目标点;
13.划分模块,用于对所述第一点云进行划分,获得包含相应数量点的第一点集;
14.确定模块,用于将各所述第一点集作为待匹配点,基于各所述第一点集内所有点的空间位置、反射强度以及点数量,确定相应的各待匹配点的特征;
15.配准模块,用于根据各所述待匹配点以及各所述目标点的空间位置和特征,对所
述第一点云和所述第二点云进行配准。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
17.获取第一点云和第二点云,所述第二点云被划分成包含相应数量点的第二点集,各所述第二点集作为目标点;
18.对所述第一点云进行划分,获得包含相应数量点的第一点集;
19.将各所述第一点集作为待匹配点,基于各所述第一点集内所有点的空间位置、反射强度以及点数量,确定相应的各待匹配点的特征;
20.根据各所述待匹配点以及各所述目标点的空间位置和特征,对所述第一点云和所述第二点云进行配准。
21.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
22.获取第一点云和第二点云,所述第二点云被划分成包含相应数量点的第二点集,各所述第二点集作为目标点;
23.对所述第一点云进行划分,获得包含相应数量点的第一点集;
24.将各所述第一点集作为待匹配点,基于各所述第一点集内所有点的空间位置、反射强度以及点数量,确定相应的各待匹配点的特征;
25.根据各所述待匹配点以及各所述目标点的空间位置和特征,对所述第一点云和所述第二点云进行配准。
26.上述点云配准方法、装置、计算机设备和存储介质,通过对点云进行划分,获得包含相应数量点的点集,各点集可视为局部点云,利用局部点云的空间位置和特征进行匹配,由于局部点云的特征是根据点集内所有点的空间位置、反射强度以及点数量确定的,反映了点云的局部环境信息,能够更好的描述点云特性,从而有助于获得更准确的点云对应关系,提高点云配准精度。
附图说明
27.图1为一个实施例中点云配准方法的流程示意图;
28.图2为一个实施例中根据各待匹配点以及各目标点的空间位置和特征,对第一点云和第二点云进行配准步骤的流程示意图;
29.图3为一个实施例中点云配准方法的流程示意图;
30.图4为一个实施例中生成位姿特征地图的流程示意图;
31.图5为一个实施例中在线定位的流程示意图;
32.图6为一个实施例中点云配准装置的结构框图;
33.图7为一个实施例中计算机设备的内部结构图;
34.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
35.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不
用于限定本技术。
36.本技术提供的点云配准方法,可以应用于车辆智能驾驶系统中,车辆智能驾驶系统中包括车辆控制器和探测设备(例如激光雷达),探测设备可以安装于车辆上,随着车辆的行驶采集相应的点云,车辆控制器可以获取探测设备采集的点云,并对其进行处理生成相应的高精度地图,车辆控制器还可以获取探测设备采集的当前点云,并将当前点云与已存储的高精度地图中的点云进行配准,进一步地还可以根据配准结果,获得车辆在地图坐标系下的当前位姿,实现车辆定位。
37.在一个实施例中,如图1所示,提供了一种点云配准方法,以该方法应用于车辆控制器为例进行说明,包括以下步骤s102至步骤s108。
38.s102,获取第一点云和第二点云,第二点云被划分成包含相应数量点的第二点集,各第二点集作为目标点。
39.第一点云和第二点云表示待配准的点云,需要理解的是,第一点云和第二点云可以是针对同一场景的点云,例如道路点云,两者具有一定的重叠点云。具体地,第一点云和第二点云可以是同一激光雷达在不同时刻采集的点云,也可以是不同激光雷达在不同位置采集的点云。
40.举例来说,对于车辆定位的应用场景,第一点云可以是安装于车辆上的激光雷达采集的当前帧点云,第二点云可以是该当前帧点云的前n帧点云,n为正整数,具体取值可以结合实际需求进行设置。需要说明的是,在该应用场景下,第二点云为经过预处理的点云,预处理可以包括:对第二点云进行划分,获得包含相应数量点的第二点集,将各第二点集作为目标点,基于各第二点集内所有点的空间位置、反射强度以及点数量,确定相应的各目标点的特征。
41.s104,对第一点云进行划分,获得包含相应数量点的第一点集。
42.点云中通常包含大量的点,单个点所包含的特征信息有限,无法体现点与点之间的特征关联,基于此,可以对点云进行划分,使得多个点组成一个点集,每个点集内包含相应数量的点,这些相应数量点的特征以及特征关联可以通过一个点集的特征信息来表达。
43.对于每一个点集,可以采用一个点来进行表达,该点的空间位置可以是点集内所有点的三维坐标重心点的位置,具体可以是点集内所有点的三维坐标平均值对应的位置。
44.s106,将各第一点集作为待匹配点,基于各第一点集内所有点的空间位置、反射强度以及点数量,确定相应的各待匹配点的特征。
45.将各第一点集作为待匹配点,每个待匹配点可以视为一个局部点云,包含相应数量的点。每个目标点也可以视为一个局部点云,包含相应数量的点。具体地,可以采用目标点所在的坐标系为基准坐标系,将待匹配点转换到基准坐标系下,在目标点中寻找与待匹配点对应的点。
46.点云经划分,被划分为多个点集的集合,若将点云视为一个指纹,那每一个点集可以视为指纹的一个局部范围,点集的特征用于描述指纹局部特性,每一个点集的特征描述点集内所有点的特性,所有点集的特征的组合共同描述整个点云的特性。具体地,点集的特征可以包括但不限于以下特征:线性度、平面度、球度、各向异性、全向方差、曲率变化、垂直度和反射强度。
47.s108,根据各待匹配点以及各目标点的空间位置和特征,对第一点云和第二点云
进行配准。
48.具体地,可以根据各待匹配点以及各目标点的空间位置和特征,在目标点中寻找与各待匹配点对应的点,根据对应关系可以获得待匹配点到目标点所在坐标系的转换参数,从而对第一点云和第二点云进行配准。
49.上述点云配准方法中,通过对点云进行划分,获得包含相应数量点的点集,各点集可视为局部点云,利用局部点云的空间位置和特征进行匹配,由于局部点云的特征是根据点集内所有点的空间位置、反射强度以及点数量确定的,反映了点云的局部环境信息,能够更好的描述点云特性,从而有助于获得更准确的点云对应关系,提高点云配准精度。
50.在一个实施例中,对第一点云进行划分,获得包含相应数量点的第一点集的步骤,具体可以包括以下步骤:利用预设尺寸的体素单元对第一点云所在的三维空间进行划分,使第一点云中的各点被划分到相应的体素单元中,获得包含相应数量点云的第一体素;根据各第一点集内包含的点数量,从第一体素中确定第一有效体素,作为第一点集,第一有效体素内包含的点数量大于数量阈值。
51.预设尺寸表示第一体素的大小,体素单元具体可以是3d网格单元,利用一定大小的体素单元对三维空间进行规则划分,使得点云中的每一个点都被划分到相应的体素当中,从而可以根据每一个体素内所有点的特性来共同描述相应体素所在的局部区域。需要说明的是,第二点云也可以是采用上述实施例的体素化方式预先划分好的点云,具体地,利用预设尺寸的体素单元对第二点云所在的三维空间进行划分,使第二点云中的各点被划分到相应的体素单元中,获得包含相应数量点的第二体素,根据各第二体素内包含的点数量,从第二体素中确定第二有效体素,作为第二点集,第二有效体素内包含的点数量大于数量阈值。
52.体素大小对于后续配准可能产生影响。例如,若体素过大,可能使得体素数量过少,难以保证配准精度,同时可能导致信息丢失过多,难以通过体素特征准确地描述体素内的点云情况;若体素过小,可能使得单个体素包含的点数量过少,无法满足特征提取的需求。基于此,体素大小可以以满足以下条件为目标进行设置:有效体素的数量大于体素数量阈值(n
voxel
)且有效体素内所含点数量大于数量阈值(n
min
)。据此对点云进行体素化,可以获得足够数量的有效体素,基于有效体素提取特征,可以更准确地描述点云特性,有助于提高后续配准精度,此外,该过程中可以去除含点数量较少的体素,同时起到去噪的作用。
53.可以理解的是,点云划分方式不限于上述体素化方式,例如还可以按照半径邻域划分(球状),只要能够将点云划分成多个局部点云即可。
54.在一个实施例中,将各第一点集作为待匹配点,基于各第一点集内所有点的空间位置、反射强度以及点数量,确定相应的各待匹配点的特征的步骤,具体可以包括以下步骤:将各第一点集作为待匹配点,基于各第一点集内所有点的空间位置在各坐标维度的差异以及点数量,生成第一协方差矩阵,根据各第一协方差矩阵的特征值确定相应的各待匹配点的空间特征;基于各第一点集内所有点的反射强度以及点数量,确定相应的各待匹配点的强度特征;根据各待匹配点的空间特征和强度特征,确定各待匹配点的特征。
55.需要说明的是,各目标点的特征的确定方法也可以参考上述实施例,具体地,将各第二点集作为目标点,基于各第二点集内所有点的空间位置在各坐标维度的差异以及点数量,生成第二协方差矩阵,根据各第二协方差矩阵的特征值确定相应的各目标点的空间特
征;基于各第二点集内所有点的反射强度以及点数量,确定相应的各目标点的强度特征;根据各目标点的空间特征和强度特征,确定各目标点的特征。
56.上述实施例中,点集的特征包括空间特征和强度特征,空间特征可以包括但不限于以下特征:线性度(l
λ
)、平面度(p
λ
)、球度(s
λ
)、各向异性(a
λ
)、全向方差(o
λ
)、曲率变化(c
λ
)、垂直度(fv),强度特征可以包括但不限于归一化反射强度(i
norm
)。具体地,上述各特征的计算公式可以如下:
57.l
λ
=(λ
1-λ2)/λ158.p
λ
=α
·

2-λ3)/λ159.s
λ
=β
·
λ3/λ160.a
λ
=(λ
1-λ3)/λ1[0061][0062][0063][0064][0065][0066]
其中,λ1,λ2,λ3是由点集内所有点的三维坐标值生成的三维协方差矩阵m
cov
求解的特征值,λ1≥λ2≥λ3>0,是其中最小的特征值λ3对应的特征向量;n表示点集内的点数量;ik表示点pk(xk,yk,zk)的激光雷达反射强度值;α,β,γ,δ,μ均为归一化系数;表示点集内所有点的三维坐标重心点。
[0067]
点集的特征(l
λ
,p
λ
,s
λ
,a
λ
,o
λ
,c
λ
,fv,i
norm
)具有较强的局部特征表达能力,能够更好地描述点云的局部特性,从而有助于获得更准确的点云对应关系,提高后续配准精度。对于每一个点集,可以同时包含空间位置信息和局部特征信息,其中,空间位置信息由该点集内所有点的三维坐标重心点的位置近似表示,局部特征信息由该点集的特征(l
λ
,p
λ
,s
λ
,a
λ
,o
λ
,c
λ
,fv,i
norm
)来描述。
[0068]
在一个实施例中,如图2所示,根据各待匹配点以及各目标点的空间位置和特征,对第一点云和第二点云进行配准的步骤,具体可以包括以下步骤s202至步骤s206。
[0069]
s202,根据初始配准参数将各待匹配点的空间位置转换到各目标点所在的坐标系下,获得各待匹配点的转换空间位置。
[0070]
待匹配点所在的坐标系(即第一点云所在的坐标系)与目标点所在的坐标系(即第二点云所在的坐标系)可能并非同一坐标系,配准参数用于表征两个不同坐标系之间的转换关系,空间位置用三维坐标表示,经转换后,各待匹配点与各目标点的三维坐标处于同一
坐标系下,方便后续配准。举例来说,对于车辆定位的应用场景,第一点云所在的坐标系为车身坐标系,第二点云所在的坐标系为地图坐标系,配准参数可以理解为车辆在地图坐标系下的位姿,初始配准参数可以通过惯性测量单元(imu)等传感器利用航位推算获取。
[0071]
s204,根据各待匹配点的转换空间位置和特征、以及各目标点的空间位置和特征,在目标点中确定与各待匹配点对应的对应点。
[0072]
对于每一个待匹配点,根据该待匹配点的转换空间位置和特征、以及各目标点的空间位置和特征,在所有的目标点中确定与该待匹配点对应的对应点。可以理解,目标点的空间位置与待匹配点的转换空间位置越接近,且目标点的特征与待匹配点的特征也越接近,该目标点越有可能是与该待匹配点对应的对应点。
[0073]
s206,根据各待匹配点与对应的各对应点获得匹配点对,基于匹配点对获得第一点云与第二点云之间的最优配准参数。
[0074]
匹配点对包括一一对应的待匹配点和对应点,由于第一点云包含多个待匹配点,第二点云包含多个目标点,因此第一点云和第二点云之间可以形成多个匹配点对,根据多个匹配点对,计算使得各待匹配点与相应的各对应点之间的平均距离最小时的配准参数,作为最优配准参数。
[0075]
在一个实施例中,根据各待匹配点的转换空间位置和特征、以及各目标点的空间位置和特征,在目标点中确定与各待匹配点对应的对应点的步骤,具体可以包括以下步骤:对于任一待匹配点,通过以下处理确定与该待匹配点对应的对应点:根据该待匹配点的转换空间位置和各目标点的空间位置,获得该待匹配点与各目标点的欧氏距离以及在各坐标维度的坐标差值;根据该待匹配点的特征和各目标点的特征,获得该待匹配点与各目标点的马氏距离以及在各特征维度的特征差值;基于该待匹配点与各目标点的欧式距离、坐标差值以及特征差值,在目标点中确定与该待匹配点对应的候选点;根据该待匹配点与各候选点的欧氏距离和马氏距离,获得该待匹配点与各候选点的混合距离;将各混合距离中最小的混合距离对应的候选点,作为与该待匹配点对应的对应点。
[0076]
举例来说,若待匹配点的转换空间位置用q
xyz
表示,q
xyz
=(x0,y0,z0),目标点的空间位置用p
xyz
表示,p
xyz
=(xi,yi,zi),待匹配点的特征用q
fp
表示,q
fp
=(l
λ0
,p
λ0
,s
λ0
,a
λ0
,o
λ0
,c
λ0
,f
v0
,i
norm0
),目标点的特征用p
fp
表示,p
fp
=(l
λi
,p
λi
,s
λi
,a
λi
,o
λi
,c
λi
,f
vi
,i
normi
),则:该待匹配点与目标点的欧氏距离用d
euclidean
(q
xyz
,p
xyz
)表示,该待匹配点与目标点在x、y和z坐标维度的坐标差值分别用δx、δy和δz表示,δx=|x
0-xi∣,δy=|y
0-yi∣,δz=|z
0-zi∣;该待匹配点与目标点在线性度(l
λ
)、平面度(p
λ
)、球度(s
λ
)、各向异性(a
λ
)、全向方差(o
λ
)、曲率变化(c
λ
)、垂直度(fv)和归一化反射强度(i
norm
)的特征差值分别用δl、δp、δs、δa、δo、δc、δf和δi表示,δl=|l
λ0-l
λi
∣,δp=|p
λ0-p
λi
∣,δs=|s
λ0-s
λi
∣,δa=|a
λ0-a
λi
∣,δo=|o
λ0-o
λi
∣,δc=|c
λ0-c
λi
∣,δf=|f
λ0-f
λi
∣,δi=|i
λ0-i
λi
∣。
[0077]
基于该待匹配点与各目标点的欧式距离、坐标差值以及特征差值,在目标点中确定与该待匹配点对应的候选点的步骤,具体可以是:基于该待匹配点与各目标点的欧式距离、坐标差值以及特征差值,在目标点中选取满足预设条件的目标点,作为与该待匹配点对应的候选点;对于任一满足预设条件的目标点,满足的条件包括:该待匹配点与该目标点的欧式距离小于欧式距离阈值,该待匹配点与该目标点在各坐标维度的坐标差值小于坐标差
阈值,该待匹配点与该目标点在各特征维度的特征差值小于特征差阈值。
[0078]
预设条件用于对目标点进行初步筛选,从目标点中剔除与该待匹配点明显不匹配的点。当一目标点与该匹配点的欧式距离、或在各坐标维度的坐标差值,或在各特征维度的特征差值较大时,可以认为该目标点与该匹配点是明显不匹配的,因此在该匹配点的对应点查找过程中,可以将该目标点进行剔除。其中,欧式距离阈值、坐标差阈值和特征差阈值均可以结合实际情况进行设置。需要理解的是,坐标差阈值包括各坐标维度的坐标差阈值,各坐标维度的坐标差阈值可以相同也可以不同;特征差阈值包括各特征维度的特征差阈值,各特征维度的特征差阈值可以相同也可以不同。
[0079]
据此,在目标点中查找待匹配点的对应点时,通过预设条件先剔除掉一些与该待匹配点明显不匹配的点,可以减少后续运算量,提高配准速度。
[0080]
待匹配点与候选点的欧式距离表示待匹配点与候选点在三维坐标空间的欧式距离,待匹配点与候选点的马氏距离表示待匹配点与候选点在特征空间的马氏距离。混合距离可以是欧式距离和马氏距离的加权和。具体地,混合距离的计算公式可以如下:
[0081]dhybrid
(q,p)=ε
·deuclidean
(q
xyz
,p
xyz
)+(1-ε)
·dmahalanobis
(q
fp
,q
fp
)
[0082][0083][0084]
其中,q和p分别表示待匹配点和候选点,q
xyz
和p
xyz
分别表示待匹配点的转换空间位置和候选点的空间位置,q
fp
和p
fp
分别表示待匹配点的特征和候选点的特征,d
hybrid
(q
fp
,p
fp
)表示待匹配点与候选点的混合距离,d
euclidean
(q
xyz
,p
xyz
)表示待匹配点与候选点的欧式距离,d
mahalanobis
(q
fp
,p
fp
)表示待匹配点与候选点的马氏距离,ε表示欧式距离在混合距离中的所占权重,s表示特征的协方差矩阵。
[0085]
本实施例中,待匹配点和候选点之间的混合距离通过两点在三维坐标空间的欧氏距离以及在特征空间的马氏距离加权求和得到,反映了两点的相似程度,可以理解,两点之间的混合距离越小,两点的特征越接近,因此从待匹配点和各候选点之间的混合距离中,选取最小的混合距离对应的候选点作为与待匹配点对应的对应点,可以获得较准确的对应关系。此外,利用马氏距离计算两点在特征空间的距离,同时考虑了特征的重要性和特征之间的关系,能够更加准确快速地获取与待匹配点对应的对应点。
[0086]
在一个实施例中,根据各待匹配点与对应的各对应点获得匹配点对的步骤,具体可以包括以下步骤:若多于一个的待匹配点对应同一个对应点,从多于一个的待匹配点分别与对应点的马氏距离中,选取最小的马氏距离对应的待匹配点,与对应点组成一一对应的第一点对;根据各第一点对中待匹配点的转换空间位置,将各第一点对划分到相应区域;根据各区域内的第一点对数量、以及各第一点对中待匹配点与对应点的马氏距离,对第一点对进行过滤,获得匹配点对。
[0087]
根据混合距离获得的各待匹配点及其相应的各对应点,可能出现多个待匹配点对应同一个对应点的情况,例如,对于待匹配点a和b,目标点中与待匹配点a的混合距离最小的点为点c,与待匹配点b的混合距离最小的点也为点c,此时,存在a-c以及b-c两种对应关
系,在这种情况下,对该两种对应关系进行进一步筛选,具体地,可以获取点a与点c之间的马氏距离(用d
m1
表示),以及点b与点c之间的马氏距离(用d
m2
表示),若d
m1
大于d
m2
,则删除b-c这一对应关系,只保留a-c这一对应关系,从而点a与点c组成一一对应的点对。据此,能够一定程度的减少异常、错误或无效的对应关系,以进一步提高后续配准精度和速度。
[0088]
获得一一对应的第一点对之后,根据各第一点对中待匹配点的转换空间位置,将各第一点对划分到相应区域,每个区域内的第一点对数量可能差异较大,此时,可以过滤掉部分区域中的第一点对,过滤后得到的匹配点对可以理解为有效对应关系,用于后续配准。具体地,统计每个区域内的第一点对数量,根据第一点对数量最少的区域内的第一点对数量,在保证第一点对总数量大于预设阈值的情况下,适当减少其他区域的第一点对数量,具体可以过滤掉马氏距离较大的第一点对,使得每个区域内的第一点对数量尽量接近,确保对应关系分布均匀,以进一步提高后续配准精度。
[0089]
除此之外,还可以通过比率分割的方法剔除异常的对应关系,具体可以通过随机样本一致性(ransac)算法,剔除部分异常对应关系,只保留一定比率的对应关系,从而获得更为准确的对应关系。
[0090]
在一个实施例中,基于匹配点对获得第一点云与第二点云之间的最优配准参数的步骤,具体可以包括以下步骤:基于匹配点对的数量、以及各匹配点对中待匹配点与对应点的混合距离,构建待匹配点与对应点之间的匹配误差函数,计算得到匹配误差函数的值最小时对应的最优配准参数,配准参数包括旋转参数和平移参数;当不满足迭代结束条件时,采用最优配准参数更新初始配准参数,并返回根据初始配准参数将各待匹配点的空间位置转换到各目标点所在的坐标系下并获得匹配点对,以及基于匹配点对计算最优配准参数的步骤,直到满足迭代结束条件,将最后得到的最优配准参数作为第一点云与第二点云之间的最优配准参数。
[0091]
具体地,基于匹配点对的数量、以及各匹配点对中待匹配点与对应点的混合距离构建的待匹配点与对应点之间的匹配误差函数如下:
[0092][0093]
其中,e(r,t)表示匹配误差函数,r表示旋转矩阵,t表示平移向量,qi表示匹配点对中的待匹配点,pi表示匹配点对中的对应点,n表示匹配点对的数量,‖ ‖表示两点之间的混合距离。可以利用非线性优化法或奇异值分解法(svd)对上述函数进行求解,获得最优配准参数(r,t),使得匹配误差函数的值最小。
[0094]
由于此时的匹配点对是根据初始配准参数对待匹配点进行转换后,在目标点中寻找与待匹配点对应的对应点而获得的,可能无法准确反映实际的对应关系,据此构建匹配误差函数并计算得到的最优配准参数可以视为局部最优配准参数,可能并非全局最优配准参数,因此需要进行迭代来获得全局最优配准参数以及更准确的实际匹配点对。
[0095]
迭代过程中,每一次迭代后获得一个最优配准参数,当不满足迭代结束条件时,采用当前次迭代获得的最优配准参数更新上一次迭代获得的最优配准参数,并将更新后的最优配准参数作用于待匹配点,重新寻找匹配点对,再基于重新找到的匹配点对重新计算最优配准参数,直到满足迭代结束条件,将最后得到的最优配准参数作为第一点云与第二点
云之间的最优配准参数。
[0096]
在一个实施例中,当迭代次数达到次数阈值,或满足收敛条件时,判定满足迭代结束条件;其中,收敛条件包括下述各项中的至少一项:旋转参数的变化量小于第一阈值;平移参数的变化量小于第二阈值;匹配误差函数值的变化量小于第三阈值。
[0097]
每一次迭代后获得一个旋转参数、平移参数和匹配函数误差值,在当前次获得的旋转参数与前一次获得的旋转参数的变化量小于第一阈值,或当前次获得的平移参数与前一次获得的平移参数的变化量小于第二阈值,或当前次获得的匹配误差函数值与前一次获得匹配误差函数值的变化量小于第三阈值时,结束迭代过程,并将当前次获得的旋转参数和平移参数作为最优配准参数。其中,次数阈值、第一阈值、第二阈值和第三阈值均可以结合实际情况进行设置。
[0098]
在一个实施例中,获得最优配准参数之后,还包括以下步骤:获取根据最优配准参数确定的匹配点对,作为最优匹配点对;根据各最优匹配点对中待匹配点与对应点的欧氏距离,确定空间位置匹配误差;根据各最优匹配点对中待匹配点与对应点的马氏距离,确定特征匹配误差;根据空间位置匹配误差和特征匹配误差,确定配准状态。
[0099]
其中,配准状态用于评估最优配准参数的可信度。具体地,可以通过以下方式确定配准状态:若空间位置匹配误差小于第一误差阈值,且特征匹配误差小于第二误差阈值,确定配准状态为第一可信状态;若空间位置匹配误差小于第一误差阈值且特征匹配误差大于或等于第二误差阈值,或,空间位置匹配误差大于或等于第一误差阈值且特征匹配误差小于第二误差阈值,确定配准状态为第二可信状态;若空间位置匹配误差大于或等于第一误差阈值,且特征匹配误差大于或等于第二误差阈值,确定配准状态为第三可信状态;其中,第一可信状态、第二可信状态、第三可信状态的可信度依次降低。其中,第一误差阈值和第二误差阈值均可以结合实际情况进行设置。
[0100]
上述实施例中,寻找匹配点对以及计算欧式距离和马氏距离的具体方法可以参考前述实施例,此处不再赘述。空间位置匹配误差以及特征匹配误差的计算公式可以如下:
[0101][0102][0103]
其中,n表示匹配点对的数量,表示第i个待匹配点与对应点在三维坐标空间的欧式距离,表示第i个待匹配点与对应点在特征空间的马氏距离,e
euclidean
表示空间位置匹配误差,具体为所有待匹配点与对应点的欧氏距离的平均值,e
mahalanobis
表示特征匹配误差,具体为所有待匹配点与对应点的马氏距离的平均值。
[0104]
若e
euclidean
和e
mahalanobis
均小于其相应的误差阈值,则判定配准状态为高可信状态;若e
euclidean
和e
mahalanobis
中有且只有一项小于其相应的误差阈值,则判定配准状态为中可信状态;若e
euclidean
和e
mahalanobis
均大于或等于其相应的误差阈值,则判定配准状态为低可信状
态。
[0105]
在一个实施例中,如图3所示,提供了一种点云配准方法,包括以下步骤s301至步骤s313。
[0106]
s301,获取第一点云和第二点云,第二点云被划分成包含相应数量点的第二有效体素,各第二有效体素作为目标点。
[0107]
s302,对第一点云进行划分,获得包含相应数量点的第一有效体素;
[0108]
s303,将第一有效体素作为待匹配点,基于第一有效体素内所有点的空间位置、反射强度以及点数量,确定相应的待匹配点的特征;
[0109]
s304,根据初始配准参数将待匹配点的空间位置转换到目标点所在的坐标系下,获得待匹配点的转换空间位置;
[0110]
s305,根据待匹配点的转换空间位置和目标点的空间位置,获得待匹配点与目标点的欧氏距离以及在各坐标维度的坐标差值,根据待匹配点的特征和目标点的特征,获得待匹配点与目标点的马氏距离以及在各特征维度的特征差值;
[0111]
s306,基于待匹配点与目标点的欧式距离、坐标差值以及特征差值,在目标点中选取满足预设条件的目标点,作为与待匹配点对应的候选点;
[0112]
s307,根据待匹配点与候选点的欧氏距离和马氏距离,获得待匹配点与候选点的混合距离;
[0113]
s308,将各混合距离中最小的混合距离对应的候选点,作为与待匹配点对应的对应点;
[0114]
s309,根据各待匹配点与对应的各对应点获得匹配点对;
[0115]
s310,基于匹配点对的数量、以及各匹配点对中待匹配点与对应点的混合距离,构建待匹配点与对应点之间的匹配误差函数,计算得到匹配误差函数的值最小时对应的最优配准参数;
[0116]
s311,判断是否满足迭代结束条件,若否,进入步骤s312,若是,进入步骤s313。
[0117]
s312,采用计算得到的最优配准参数更新初始配准参数,并返回步骤s304至s311。
[0118]
s313,将计算得到的最优配准参数作为第一点云与第二点云之间的最优配准参数。
[0119]
对于上述步骤s301~s313的具体限定可以参考前述实施例,此处不再赘述。本实施例中,通过对点云进行划分获得包含相应数量点的有效体素,减少了点云数据量的同时有效去除了点云中的噪声点,通过提取体素特征,能够更好地描述点云局部特性,利用马氏距离计算两点在特征空间的距离,同时考虑了特征的重要性和特征之间的关系,能够更加准确快速地获取特征对应,从而获得更为准确的匹配点对,继而提高了配准精度,同时减少了查找、变换过程的迭代次数,提高了配准速度。
[0120]
本技术还提供一种应用场景,该应用场景应用上述点云配准方法实现车辆定位,车辆定位的应用具体包括位姿特征地图生成和基于特征地图的在线定位两个部分。
[0121]
车辆定位依赖于预先生成的地图,因此需要预先采集点云数据,建立位姿特征地图。如图4所示,提供了一个实施例中生成位姿特征地图的流程示意图。位姿特征地图的生成过程具体可以包括如何生成位姿点云以及如何对位姿点云进行组织两个部分。
[0122]
具体地,获得车辆搭载的激光雷达采集的点云后,对于每一帧点云进行运动补偿,
这是由于激光雷达传感器多是通过连续扫描采集,每一帧点云按照数据包数或扫描角度进行划分,其中的点并不是同一时刻获取的,因此,考虑到采集时间段内车辆的运动,尤其对于高速运动的车辆,需要对点云数据进行运动补偿,具体地可以利用里程计数据或惯性测量单元(imu)数据获取当前帧激光雷达时刻相对于上一帧激光雷达时刻的相对运动,根据每个点对应的时间进行插值获取相应的运动量,补偿到该点的位置中。对于运动补偿后的每一帧点云,可以采用前述实施例对点云进行体素化,并提取各体素的特征,然后结合该帧点云对应的utm坐标系下的位姿,将包含特征的点云变换到utm世界坐标系下,从而生成位姿点云。
[0123]
获得位姿点云后,根据位姿点云的水平空间位置,按照指定大小对网格进行划分,利用网格对位姿点云进行组织,每一个网格内所有的位姿点云信息均有一个单独的文件与之对应,该文件的名称可以根据网格位置进行命名编码,便于后续快速检索,提取信息。
[0124]
如图5所示,提供了一个实施例中基于位姿特征地图的在线定位的流程示意图。基于位姿特征地图的在线定位过程具体可以包括点云预处理、局部位姿特征地图获取以及在线定位三个部分。
[0125]
具体地,获得车辆搭载的激光雷达采集的当前帧点云(实时在线点云)后,对当前帧点云的预处理包括滤波和运动补偿。其中,滤波过程可以是根据指定的坐标维度和阈值对当前帧点云进行分割,保留限定范围内的点云,去除限定范围外的点云,其中,指定的坐标维度可以是一个也可以是多于一个,每个坐标维度设有相应的阈值。例如,通过限定点云到原点的水平距离范围,可以有效去除打在车身上的点云(距离较近)和距离过远的点云(精度偏低)。预处理后的当前帧点云可以作为前述实施例中的第一点云,采用前述实施例对该第一点云进行体素化,并提取各体素的特征,获得待匹配点的空间位置和特征,用于后续配准和定位。
[0126]
根据当前时刻推算的车辆位姿,获取当前水平空间位置所在的位姿特征地图网格及其8邻域网格,加载这些网格中包含的位姿点云,可利用坐标值(如z坐标值)和车辆姿态对这些位姿点云进行筛选,只保留与当前位姿差值小于阈值的位姿点云,根据实际需求可适当采取均匀采样、随机采样等方式对位姿点云进行进一步筛选,减小位姿点云数量,最后将筛选出来的位姿点云合并,生成当前位置的局部位姿特征地图。这部分工作相对比较耗时,可以在定位前完成,避免影响后续定位的时效性。局部位姿特征地图中的点云可以作为前述实施例中的第二点云,并且,该第二点云已经经过体素化和特征提取,获得目标点的空间位置和特征,用于后续配准和定位。
[0127]
获得待匹配点的空间位置和特征以及目标点的空间位置和特征后,根据当前时刻推算的车辆位姿,将待匹配点的空间位置转换到目标点所在的地图坐标系下,获得待匹配点的转换空间位置,采用前述实施例的点云配准方法获得最优配准参数以及配准状态,作为当前时刻车辆的定位位姿和定位状态。
[0128]
上述应用场景中,将前述实施例的点云配准方法应用于车辆定位,通过建立当前点云与地图点云之间的对应关系进行配准,进而获得车辆在地图坐标系下的位姿,具有速度快、精度高、稳定性好、不依赖全球导航卫星系统(gnss)等优势,能够满足智能驾驶车辆的定位需求。需要说明的是,前述实施例的应用场景不限于车辆定位,例如还可以应用于智能机器人定位、无人机定位等。
[0129]
应该理解的是,虽然图1-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0130]
在一个实施例中,如图6所示,提供了一种点云配准装置600,包括:获取模块610、划分模块620、确定模块630和配准模块640,其中:
[0131]
获取模块610,用于获取第一点云和第二点云,第二点云被划分成包含相应数量点的第二点集,各第二点集作为目标点。
[0132]
划分模块620,用于对第一点云进行划分,获得包含相应数量点的第一点集。
[0133]
确定模块630,用于将各第一点集作为待匹配点,基于各第一点集内所有点的空间位置、反射强度以及点数量,确定相应的各待匹配点的特征。
[0134]
配准模块640,用于根据各待匹配点以及各目标点的空间位置和特征,对第一点云和第二点云进行配准。
[0135]
在一个实施例中,划分模块620在对第一点云进行划分,获得包含相应数量点的第一点集时,具体用于:利用预设尺寸的体素单元对第一点云所在的三维空间进行划分,使第一点云中的各点被划分到相应的体素单元中,获得包含相应数量点的第一体素;根据各第一体素内包含的点数量,从第一体素中确定第一有效体素,作为第一点集,第一有效体素内包含的点数量大于数量阈值。
[0136]
在一个实施例中,确定模块630在将各第一有点集作为待匹配点,基于各第一点集内所有点的空间位置、反射强度以及点数量,确定相应的各待匹配点的特征时,具体用于:将各第一点集作为待匹配点,基于各第一点集内所有点的空间位置在各坐标维度的差异以及点数量,生成第一协方差矩阵,根据各第一协方差矩阵的特征值确定相应的各待匹配点的空间特征;基于各第一点集内所有点的反射强度以及点数量,确定相应的各待匹配点的强度特征;根据各待匹配点的空间特征和强度特征,确定各待匹配点的特征。
[0137]
在一个实施例中,配准模块640包括:转换单元、确定单元和配准单元。转换单元,用于根据初始配准参数将各待匹配点的空间位置转换到各目标点所在的坐标系下,获得各待匹配点的转换空间位置。确定单元,用于根据各待匹配点的转换空间位置和特征、以及各目标点的空间位置和特征,在目标点中确定与各待匹配点对应的对应点。配准单元,用于根据各待匹配点与对应的各对应点获得匹配点对,基于匹配点对获得第一点云与第二点云之间的最优配准参数。
[0138]
在一个实施例中,确定单元在根据各待匹配点的转换空间位置和特征、以及各目标点的空间位置和特征,在目标点中确定与各待匹配点对应的对应点时,具体用于:对于任一待匹配点,通过以下处理确定与该待匹配点对应的对应点:根据该待匹配点的转换空间位置和各目标点的空间位置,获得该待匹配点与各目标点的欧氏距离以及在各坐标维度的坐标差值;根据该待匹配点的特征和各目标点的特征,获得该待匹配点与各目标点的马氏距离以及在各特征维度的特征差值;基于该待匹配点与各目标点的欧式距离、坐标差值以及特征差值,在目标点中确定与该待匹配点对应的候选点;根据该待匹配点与各候选点的
欧氏距离和马氏距离,获得该待匹配点与各候选点的混合距离;将各混合距离中最小的混合距离对应的候选点,作为与该待匹配点对应的对应点。
[0139]
在一个实施例中,确定单元在基于该待匹配点与各目标点的欧式距离、坐标差值以及特征差值,在目标点中确定与该待匹配点对应的候选点时,具体用于:基于该待匹配点与各目标点的欧式距离、坐标差值以及特征差值,在目标点中选取满足预设条件的目标点,作为与该待匹配点对应的候选点;对于任一满足预设条件的目标点,满足的条件包括:该待匹配点与该目标点的欧式距离小于欧式距离阈值,该待匹配点与该目标点在各坐标维度的坐标差值小于坐标差阈值,该待匹配点与该目标点在各特征维度的特征差值小于特征差阈值。
[0140]
在一个实施例中,配准单元在根据各待匹配点与对应的各对应点获得匹配点对时,具体用于:若多于一个的待匹配点对应同一个对应点,从多于一个的待匹配点分别与对应点的马氏距离中,选取最小的马氏距离对应的待匹配点,与对应点组成一一对应的第一点对;根据各第一点对中待匹配点的转换空间位置,将各第一点对划分到相应区域;根据各区域内的第一点对数量、以及各第一点对中待匹配点与对应点的马氏距离,对第一点对进行过滤,获得匹配点对。
[0141]
在一个实施例中,配准单元在根据第一点对确定匹配点对时,具体用于:根据各第一点对中待匹配点的转换空间位置,将各第一点对划分到相应区域;根据各区域内的第一点对数量、以及各第一点对中待匹配点与对应点的马氏距离,对第一点对进行过滤,获得匹配点对。
[0142]
在一个实施例中,配准单元在基于匹配点对获得第一点云与第二点云之间的最优配准参数时,具体用于:基于匹配点对的数量、以及各匹配点对中待匹配点与对应点的混合距离,构建待匹配点与对应点之间的匹配误差函数,计算得到匹配误差函数的值最小时对应的最优配准参数,配准参数包括旋转参数和平移参数;当不满足迭代结束条件时,采用最优配准参数更新初始配准参数,并返回根据初始配准参数将各待匹配点的空间位置转换到各目标点所在的坐标系下并获得匹配点对,以及基于匹配点对计算最优配准参数的步骤,直到满足迭代结束条件,将最后得到的最优配准参数作为第一点云与第二点云之间的最优配准参数。
[0143]
在一个实施例中,配准单元还用于:当迭代次数达到次数阈值,或满足收敛条件时,判定满足迭代结束条件;其中,收敛条件包括下述各项中的至少一项:旋转参数的变化量小于第一阈值;平移参数的变化量小于第二阈值;匹配误差函数值的变化量小于第三阈值。
[0144]
在一个实施例中,该装置还包括配准状态确定模块,用于确定最优配准参数下的配准状态。配准状态确定模块包括:获取单元、第一误差确定单元、第二误差确定单元和配准状态确定单元。获取单元,用于获取根据最优配准参数确定的匹配点对,作为最优匹配点对。第一误差确定单元,用于根据各最优匹配点对中待匹配点与对应点的欧氏距离,确定空间位置匹配误差。第二误差确定单元,用于根据各最优匹配点对中待匹配点与对应点的马氏距离,确定特征匹配误差。配准状态确定单元,用于根据空间位置匹配误差和特征匹配误差,确定配准状态。
[0145]
在一个实施例中,配准状态确定单元在根据空间位置匹配误差和特征匹配误差,
确定配准状态时,具体用于:若空间位置匹配误差小于第一误差阈值,且特征匹配误差小于第二误差阈值,确定配准状态为第一可信状态;若空间位置匹配误差小于第一误差阈值且特征匹配误差大于或等于第二误差阈值,或,空间位置匹配误差大于或等于第一误差阈值且特征匹配误差小于第二误差阈值,确定配准状态为第二可信状态;若空间位置匹配误差大于或等于第一误差阈值,且特征匹配误差大于或等于第二误差阈值,确定配准状态为第三可信状态;其中,第一可信状态、第二可信状态、第三可信状态的可信度依次降低。
[0146]
关于点云配准装置的具体限定可以参见上文中对于点云配准方法的限定,在此不再赘述。上述点云配准装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0147]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种点云配准方法。
[0148]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种点云配准方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0149]
本领域技术人员可以理解,图7或图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0150]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各个方法实施例中的步骤。
[0151]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各个方法实施例中的步骤。
[0152]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个方法实施例中的步骤。
[0153]
需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
[0154]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0155]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0156]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1