一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

地面点云的分割方法、装置及计算机可读存储介质与流程

2022-11-23 12:40:52 来源:中国专利 TAG:


1.本技术属于点云分割技术领域,特别是涉及一种地面点云的分割方法、装置及计算机可读存储介质。


背景技术:

2.移动机器人平台如无人驾驶汽车、物流机器人、服务机器人以及家庭扫拖机器人等,主要通过多维传感系统(例如激光雷达、深度相机、摄像头等)来获取周边的环境数据。然后障碍物感知算法对这些环境数据进行综合分析计算后,经决策控制模块发出指令使移动机器人平台实现全自主运行。由此可见,障碍物感知是实现移动机器人平台智能化的前提条件之一。
3.但是目前在利用激光雷达、深度相机等传感设备采集的点云检测障碍物时,很容易将地面误检为障碍物,所以点云地面分割算法对障碍物感知系统来说至关重要。


技术实现要素:

4.本技术提供一种地面点云的分割方法、装置及计算机可读存储介质,能够提高地面点云的分割精度。
5.本技术实施例第一方面提供一种地面点云的分割方法,所述方法包括:获取当前帧的目标点云;对所述目标点云所处的空间区域进行切割,得到多个第一子空间区域;获取前一历史帧对应的多个第二子空间区域以及每个所述第二子空间区域对应的历史地面;在多个所述第二子空间区域中,分别确定每个所述第一子空间区域匹配的所述第二子空间区域;分别根据每个所述第一子空间区域匹配的所述第二子空间区域对应的所述历史地面,对每个所述第一子空间区域包括的子点云进行筛选,得到每个所述第一子空间区域对应的候选点云;分别根据每个所述第一子空间区域对应的所述候选点云,确定每个所述第一子空间区域对应的预估地面;分别根据每个所述第一子空间区域相邻的至少一个所述第一子空间区域对应的所述预估地面,对每个所述第一子空间区域对应的所述预估地面进行调整,得到每个所述第一子空间区域对应的目标地面;分别根据每个所述第一子空间区域对应的所述目标地面,从每个所述第一子空间区域包括的所述子点云中分割出地面点云。
6.本技术实施例第二方面提供一种分割装置,所述分割装置包括处理器、存储器以及通信电路,所述处理器分别耦接所述存储器、所述通信电路,所述存储器中存储有程序数据,所述处理器通过执行所述存储器内的所述程序数据以实现上述方法中的步骤。
7.本技术实施例第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序能够被处理器执行以实现上述方法中的步骤。
8.有益效果是:本技术的分割方法首先将目标点云所处的空间区域进行分割,得到多个第一子空间区域,然后根据各个第一子空间区域所包括的子点云,初步得到每个第一子空间区域的预估地面,然后考虑到各个第一子空间区域之间的相邻特性,利用每个第一子空间区域相邻的至少一个第一子空间区域对应的预估地面,对每个第一子空间区域对应
的预估地面进行调整,得到每个第一子空间区域对应的目标地面,使得每个第一子空间区域对应的目标地面更加贴近真实地面平滑光顺的特性,而后将每个第一子空间区域对应的目标地面分别作为每个第一子空间区域各自的真实地面,根据每个第一子空间区域各自的真实地面,从每个第一子空间区域所包括的子点云中分割出地面点云。其中由于是根据第一子空间区域对应的目标地面,从第一子空间区域所包括的子点云中分割出地面点云,而目标地面更加贴近真实地面平滑光顺的特性,因此可以提高最终分割出的地面点云的精度。同时本技术在确定每个第一子空间区域对应的预估地面时,还利用第一子空间区域匹配的第二子空间区域的历史地面作为先验地面,可以大大减少计算量,提高算法速度。
附图说明
9.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:图1是本技术地面点云的分割方法一实施方式的流程示意图;图2是本技术地面点云的分割方法另一实施方式的部分流程示意图;图3是本技术地面点云的分割方法一实施方式中步骤s160的流程示意图;图4是本技术多个第一子空间区域在真实地面上的投影示意图;图5是本技术地面点云的分割方法一实施方式中步骤s130的流程示意图;图6是本技术地面点云的分割方法一实施方式中步骤s140的流程示意图;图7是本技术地面点云的分割方法一实施方式中步骤s150的流程示意图;图8是本技术分割系统一实施方式的结构示意图;图9是本技术分割装置一实施方式的结构示意图;图10是本技术分割装置另一实施方式的结构示意图;图11是本技术计算机可读存储介质一实施方式的结构示意图。
具体实施方式
10.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
11.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
12.首先需要说明的是,本技术障碍点云的分割方法由分割装置执行,该分割装置可以是手机、电脑或者机器人等任一项具有算法处理能力的装置,在此不做限制。
13.参阅图1,在本技术一实施方式中,地面点云的分割方法包括:s110:获取当前帧的目标点云。
14.目标传感器对所处周围环境进行数据采集,得到连续的多帧点云数据,其中,当前帧的目标点云为当前时刻待处理帧对应的点云数据。
15.其中,目标传感器包括但不限于深度相机、单/多线激光雷达、tof相机(飞行时间相机)以及单/双目结构光设备。
16.其中,当前帧的目标点云包括多个点,每个点对应有一个三维坐标值。
17.s120:对目标点云所处的空间区域进行切割,得到多个第一子空间区域。
18.s130:分别根据每个第一子空间区域包括的子点云,确定每个第一子空间区域对应的预估地面。
19.具体地,分别对每个第一子空间区域包括的子点云进行处理,确定每个第一子空间区域中的预估地面,该预估地面是对第一子空间区域所包括真实地面的一个预估平面。
20.s140:分别根据每个第一子空间区域相邻的至少一个第一子空间区域对应的预估地面,对每个第一子空间区域对应的预估地面进行调整,得到每个第一子空间区域对应的目标地面。
21.具体地,为了使各个第一子空间区域对应的预估地面更加贴近真实地面平滑光顺的特性,本实施方式考虑到各个第一子空间区域之间的相邻特性,对于任意第一子空间区域a而言,根据其周围相邻的至少一个第一子空间区域b对应的预估地面,对第一子空间区域a对应的预估平面进行调整,最终得到第一子空间区域a的目标地面。
22.需要说明的是,不管是预估地面,还是目标地面,其都是用平面方程进行表示。
23.其中,对于任意第一子空间区域a而言,可以是根据其相邻的部分第一子空间区域b对应的预估平面对第一子空间区域a的预估地面进行调整,也可以是根据其相邻的全部第一子空间区域b对应的预估平面对第一子空间区域a的预估地面进行调整。
24.s150:分别根据每个第一子空间区域对应的目标地面,从每个第一子空间区域包括的子点云中分割出地面点云。
25.具体地,在得到每个第一子空间区域对应的目标地面后,分别将每个第一子空间区域对应的目标地面,确定为每个第一子空间区域各自所包含的真实地面,进而根据每个第一子空间区域各自的真实地面,从每个第一子空间区域所包括的子点云中分割出地面点云。
26.可以理解的是,所有第一子空间区域对应的地面点云构成了目标点云中的所有地面点云。
27.同时在分割出各个第一子空间区域中的地面点云后,可以进一步分割出各个第一子空间区域中的障碍物点云,例如,分别将各个子点云中不在地面点云的点所构成的点云确定为障碍物点云,从而可以用于后续的障碍物提取。
28.从上述内容可以看出,上述方法获得的目标地面更加贴近真实地面平滑光顺的特性,因此根据第一子空间区域对应的目标地面,从第一子空间区域所包括的子点云中分割出地面点云,可以提高最终分割出的出地面点云的精度。
29.其中,目标传感器直接输出的点云数据是传感器坐标系的点云数据,即目标传感器输出的每个点对应的坐标是该点在传感器坐标系下的坐标,在本实施方式中,在步骤s110中,当目标点云中的点对应的坐标是该点在传感器坐标系下的坐标时,将点的坐标从传感器坐标系转换到世界坐标系。具体可以通过传感器坐标系到世界坐标系的转换矩阵将点的坐标从传感器坐标系转换到世界坐标系。
30.需要说明的是,本技术并非限定步骤s110一定要将点的坐标从传感器坐标系转换
到世界坐标系,在其他实施方式中,步骤s110中目标点云中点的坐标也可以是点在传感器坐标系下的坐标,具体可参见下文。
31.可以理解的是,在世界坐标系的z轴与地面垂直,即在理想状态下,真实地面对应的平面方程为z=0。
32.在本实施方式中,为了减少数据处理量,参阅图2,在步骤s120对目标点云所处的空间区域进行分割之前,还包括:s160:分别判断目标点云中的各个点是否处于感兴趣空间区域。
33.具体地,感兴趣空间区域也称为roi(region of interest)空间区域,在后续处理过程中,只需要对感兴趣空间区域中的点云进行处理。
34.s170:响应于点不处于感兴趣空间区域,将点从目标点云中去除。
35.在经过步骤s160后,目标点云中的点均处于感兴趣空间区域。
36.s180:对目标点云中的点进行滤波处理。
37.具体地,为了进一步减少计算量,在只保留感兴趣空间区域中的点后,还会对剩余的点进行滤波处理,从而以滤波处理后剩余的点进行后续步骤。
38.其中,滤波处理可以是任何一种类型的滤波处理,例如滤波处理为体素下采样。
39.需要说明的是,在其他实施方式中,在步骤s170将不处于感兴趣空间区域中的点从目标点云中去除后,可以不执行步骤s180。
40.或者在其他实施方式中,可以不执行步骤s160和步骤s170,而直接对目标点云进行滤波处理。
41.在一应用场景中,如图3所示,分别对目标点云中的每个点都执行如下步骤,以判断其是否处于感兴趣空间区域:s161:判断点对应的坐标中的第一分量、第二分量、第三分量是否分别处于点对应的第一范围、第二范围、第三范围。
42.若判断结果为是,则执行步骤s162,否则执行步骤s163。
43.s162:确定点处于感兴趣空间区域。
44.s163:确定点不处于感兴趣空间区域。
45.具体地,第三分量与真实地面垂直的方向一致,也就是说,当点的坐标是该点在世界坐标系下的坐标时,第三分量是点坐标中的z坐标值,相应地,第一分量是点坐标中的x坐标值,第二分量是点坐标中的y坐标值。
46.其中考虑理想状态下,地面对应的平面方程为z=0,因此为了不遗漏第一子空间区域中的地面点云,第三范围的最小值小于零,最大值大于零。
47.同时在该应用场景中,考虑到目标传感器的标定误差、测距特性(随着点与目标传感器的距离增大,点在z轴上的噪声增大),设置点与采集目标点云的目标传感器的距离越大,点对应的第三范围越宽。
48.例如,如果点满足以下条件,则确定该点处于感兴趣区域:xi∈[x
min
,x
max
],yi∈[y
min
,y
max
],zi∈[z
min
×
max(1.0,r
α
),z
max
×
max(1.0,r
α
)],其中,xi表示点的x坐标值,yi表示点的y坐标值,zi表示点的z坐标值,[x
min
,x
max
]为上述的第一范围,[y
min
,y
max
]为上述的第二范围,[z
min
×
max(1.0,r
α
),z
max
×
max(1.0,r
α
)],为上述的第三范围,其中,x
min
、x
max
、y
min
、y
max
、z
min
以及z
max
均为预设阈值,可以根据实际需求设置,其中,zmin
小于零,z
max
大于零,同时r为点到目标传感器中心的距离值,α与目标传感器的采集精度相关,当目标传感器为深度相机时,α通常取为1.08,通常而言,α的取值在1与2之间,且目标传感器的采集精度越高,α越接近1。
[0049]
也就是说,不同点对应的第一范围相同,对应的第二范围相同,但是对应的第三范围不同。
[0050]
可以理解的是,当步骤s110中点的坐标是该点在传感器坐标系下的坐标,且传感器坐标系的y轴垂直于真实地面时,第三分量是点坐标中的y坐标值,相应地,第一分量是点坐标中的x坐标值,第二分量是点坐标中的z坐标值,相应地,此时如果点满足以下条件,则确定该点处于感兴趣区域:xi∈[x
min
,x
max
],yi∈[y
min
×
max(1.0,r
α
),y
max
×
max(1.0,r
α
)],zi∈[z
min
,z
max
]。
[0051]
在经过上述步骤后,完成了对目标点云的数据预处理,接下来介绍步骤s120对目标点云所处的空间区域进行切割的过程:在经过上述步骤后,目标点云所处的空间区域为感兴趣空间区域,且感兴趣空间区域在真实地面上的投影为矩形。
[0052]
本实施方式在切割时,先沿着世界坐标系的y轴方向将目标点云所处的空间区域平均划分为m份,然后再沿着x轴方向将目标点云所处的空间区域平均划分为n份,从而得到m
×
n个第一子空间区域,此时m
×
n个第一子空间区域(图4中用标号101表示)在真实地面上的正投影如图4所示。在一应用场景中,m≤n。也就是说,此时目标点云所处的空间区域在真实地面上的垂直投影为第一矩形,多个第一子空间区域在真实地面上的垂直投影均为第二矩形,多个第二矩形呈阵列排布且多个第二矩形构成第一矩形。
[0053]
需要说明的是,在其他实施方式中,也可以采用其他的切割方式对目标点云所处的空间区域进行切割,例如,先沿着与真实地面垂直但与世界坐标系的y轴方向相交的第一切割方向将目标点云所处的空间区域划分若干份,然后再沿着与真实地面垂直但与世界坐标系的x轴方向相交的第二切割方向将目标点云所处的空间区域划分若干份。此时多个第一子空间区域在真实地面上的正投影中,有的是平行四边形,有的可能是三角形,有的还可能是其他异形,需要说明的是,具有这些形状正投影的多个第一子空间区域所能实现的功能与具有矩形正投影的多个第一子空间区域所能实现的功能等同。
[0054]
总而言之,本技术对具体的切割方式不做限制。
[0055]
参阅图5,在本实施方式中,步骤s130分别对每个第一子空间区域都执行如下步骤,以确定第一子空间区域对应的预估地面的过程:s131:判断当前帧是否是初始帧。
[0056]
若判断结果为是,则进入步骤s132,若判断结果为否,则进入步骤s133。
[0057]
具体地,初始帧指的是目标传感器输出的连续多帧点云数据中的第一帧。
[0058]
s132:分别对每个第一子空间区域包括的子点云进行平面拟合,得到每个第一子空间区域对应的预估地面。
[0059]
具体地,可以采用任意的平面拟合算法包括但不限于随机采样一致性(random sample consensus,ransac)、奇异值分解(singular value decomposition,svd)以及布面模拟地面滤波(cloth simulation filtering,csf)等算法分别对每个第一子空间区域包括的子点云进行平面拟合,从而得到每个第一子空间区域对应的预估地面。
[0060]
s133:将每个第一子空间区域及各自对应的预估地面分别保存为对于下一帧而言的第二子空间区域以及第二子空间区域对应的历史地面。
[0061]
具体地,在得到每个第一子空间区域对应的预估地面后,将第一子空间区域、第一子空间区域对应的预估地面对应保存为对于下一帧而言的第二子空间区域以及第二子空间区域对应的历史地面。
[0062]
s134:获取保存的前一历史帧对应的多个第二子空间区域以及多个历史地面。
[0063]
具体地,如果当前帧不是初始帧,则获取上一帧得到的各个子空间区域以及各个子空间区域对应的预估地面,也就是,保存的前一历史帧对应的多个第二子空间区域以及多个历史地面。
[0064]
s135:在多个第二子空间区域中,分别确定各个第一子空间区域匹配的第二子空间区域。
[0065]
具体地,对于当前帧的每个第一子空间区域而言,在前一历史帧的多个子空间区域中,查找最匹配的子空间区域,也就是,在多个第二子空间区域中,确定每个第一子空间区域匹配的第二子空间区域。
[0066]
其中,多个第二子空间区域中与第一子空间区域匹配的第二子空间区域指的是,与第一子空间区域是同一空间区域的可能性最大的第二子空间区域。
[0067]
在一应用场景中,在多个第二子空间区域中,确定第一子空间区域匹配的第二子空间区域的步骤,包括:分别确定第一子空间区域与每个第二子空间区域的重叠度;将最大重叠度对应的第二子空间区域,确定为与第一子空间区域匹配。
[0068]
具体地,第一子空间区域与第二子空间区域的重叠度越大,表明第一子空间区域与第二子空间区域是同一子空间区域的可能性越大。
[0069]
其中,可以将第一子空间区域与第二子空间区域的交并比确定为两者的重叠度,也可以将第一子空间区域与第二子空间区域重叠部分的体积作为两者的重叠度。具体确定第一子空间区域与第二子空间区域的重叠度的过程不做具体限制。
[0070]
同时确定第一子空间区域与第二子空间区域的交并比的过程可以是,确定第二子空间区域在真实地面上的正投影与第一子空间区域在真实地面上的正投影的交并比。
[0071]
其中,考虑到存在最大重叠度有可能为零的情况,本应用场景在最大重叠度不为零时,将最大重叠度对应的第二子空间区域,确定为与第一子空间区域匹配,但是当最大重叠度为零时,将距离第一子空间区域最近的第二子空间区域,确定为第一子空间区域对应的第二子空间区域。
[0072]
其中,可以将第一子空间区域中心到第二子空间区域中心的距离,确定为第一子空间区域与第二子空间区域的距离,也可以是将第一子空间区域、第二子空间区域相对设置的两表面的垂直距离,确定为第一子空间区域与第二子空间区域的距离。
[0073]
s136:分别根据每个第一子空间区域包括的子点云、每个第一子空间区域对应的第二子空间区域对应的历史地面,确定每个第一子空间区域对应的预估地面。
[0074]
具体地,在找到每个第一子空间区域对应的第二子空间后,分别对每个第一子空间区域执行如下步骤:s1361:根据第一子空间区域包括的子点云、该第一子空间区域对应的第二子空间区域对应的历史地面,确定该第一子空间区域的预估地面。
[0075]
在一应用场景中,s1361具体包括:分别从第一子空间区域包括的子点云中,筛选出到第一子空间区域对应的历史地面的距离不超过第二阈值的点,得到第一子空间区域对应的候选点云;对候选点云进行平面拟合,得到第一子空间区域对应的预估地面。
[0076]
具体地,利用第一子空间区域对应的第二子空间区域对应的历史地面,对第一子空间区域所包括的子点云进行筛选,得到候选点云,然后对候选点云进行平面拟合,得到第一子空间区域对应的预估地面。
[0077]
其中,筛选的标准是:如果点到历史地面的距离小于第二阈值,则保留,否则删除。其中,第二阈值可以根据实际需求设置,在此不做限制。例如,根据对地面点云分割精度的要求,设置第二阈值,该过程可以是:对地面点云分割精度的要求越高,设置第二阈值越小,对地面点云分割精度的要求越低,设置第二阈值越大。
[0078]
此时以第二子空间区域对应的历史地面作为第一子空间区域的先验地面,对第一子空间区域所包括的子点云进行筛选,可以大大减少计算量,提高算法速度。
[0079]
s137:将多个第一子空间区域、多个第一子空间区域各自对应的预估地面分别作为第二子空间区域、历史地面(相对于下一帧)进行保存。
[0080]
具体地,在得到当前帧对应的多个第一子空间区域、多个第一子空间区域各自对应的预估地面后进行保存,以供下一帧进行使用。
[0081]
参阅图6,在本实施方式中,步骤s140包括:s141:分别根据每个第一子空间区域对应的预估地面,确定每个第一子空间区域对应的第一法向量,其中,第一子空间区域对应的第一法向量与第一子空间区域对应的预估地面垂直。
[0082]
具体地,在得到第一子空间区域对应的预估平面后,根据预估平面的平面方程可以确定与预估平面垂直的第一法向量,从而每个第一子空间区域都有一个第一法向量。
[0083]
s142:分别根据每个第一子空间区域相邻的至少一个第一子空间区域对应的第一法向量,对每个第一子空间区域对应的第一法向量进行调整,得到每个第一子空间区域对应的第二法向量。
[0084]
具体地,对于第一子空间区域a而言,根据其相邻的至少一个第一子空间区域b对应的第一法向量,对第一子空间区域a的第一法向量进行调整,从而得到每个第一子空间区域a对应的第二法向量。
[0085]
在一应用场景中,步骤s142具体包括:分别将每个第一子空间区域对应的第一法向量与第一子空间区域各自相邻的至少一个第一子空间区域对应的第一法向量按照第一法向量各自对应的权重进行加权平均计算,得到第一子空间区域对应的第二法向量;其中,第一法向量对应的第一子空间区域与采集目标点云的目标传感器的距离越大,第一法向量对应的权重越小。
[0086]
具体地,假设第一子空间区域a对应的第一法向量为(xa,ya,za),且该第一法向量对应的权重为λa,与第一子空间区域a相邻的至少一个第一子空间区域b对应的第一法向量分别为(x
b1
,y
b1
,z
b1
)、(x
b2
,y
b2
,z
b2

……
以及(x
bn
,y
bn
,z
bn
),这些第一法向量对应的权重分别为λ
b1
、λ
b2
……
λ
bn
,其中,n为至少一个第一子空间区域b的数量,其中在对(xa,ya,za)进行调整后,第一子空间区域a对应的第二法向量为(x’,y’,z’),其中,x’、y’、z’的计算公式如下:x’=(λa×
xa λ
b1
×
x
b1
λ
b2
×
x
b2

……
λ
bn
×
x
bn
)/(n 1);
y’=(λa×
ya λ
b1
×yb1
λ
b2
×yb2

……
λ
bn
×ybn
)/(n 1);z’=(λa×
za λ
b1
×zb1
λ
b2
×zb2

……
λ
bn
×zbn
)/(n 1)。
[0087]
其中,考虑到目标传感器在采集点云数据时,点与目标传感器的距离越大,目标传感器采集到的点的信息的准确率越低,因此为了提高算法的准确率,设置第一子空间区域与采集目标点云的目标传感器的距离越大,第一子空间区域对应的第一法向量对应的权重越小。
[0088]
例如可以按照如下公式确定第一法向量对应的权重:β=kr
center-α
,其中,β为第一法向量对应的权重,k为预设的比例系数,可根据实际需求设定,r
center
为第一法向量对应的第一子空间区域的中心到目标传感器中心的距离值,α与目标传感器的采集精度相关,其中关于α已经在上文进行了具体介绍,在此不做赘述。
[0089]
需要说明的是,本技术对确定第一法向量对应的权重的具体过程不做限制,具体可以根据实际需求进行设定,只要保证第一子空间区域与采集目标点云的目标传感器的距离越大,第一子空间区域对应的第一法向量对应的权重越小即可。
[0090]
在另一应用场景中,也可以按照如下公式确定第一子空间区域a对应的第二法向量为(x’,y’,z’),其中,x’、y’、z’的计算公式如下:x’=(xa x
b1
x
b2

……
x
bn
)/(n 1);y’=(ya y
b1
y
b2

……
y
bn
)/(n 1);z’=(za z
b1
z
b2

……
z
bn
)/(n 1)。
[0091]
在本实施方式中,上述步骤中与第一子空间区域a相邻的至少一个第一子空间区域b为第一子空间区域a的八邻域内所有的第一子空间区域。
[0092]
例如在图4中,对于第一子空间区域a而言,其相邻的至少一个第一子空间区域包括:第一子空间区域b1、第一子空间区域b2、第一子空间区域b3、第一子空间区域b4、第一子空间区域b5、第一子空间区域b26、第一子空间区域b7以及第一子空间区域b8。
[0093]
需要说明的是,在其他实施方式中,与第一子空间区域a相邻的至少一个第一子空间区域b可以是第一子空间区域a的四邻域或者对角邻域内所有的第一子空间区域。
[0094]
s143:分别根据每个第一子空间区域对应的第二法向量,确定每个第一子空间区域对应的目标地面,其中,每个第一子空间区域对应的目标地面与第一子空间区域对应的第二法向量垂直。
[0095]
具体地,对于任意第一子空间区域而言,在得到其对应的第二法向量后,将与第二法向量垂直的平面作为第一子空间区域对应的目标地面。
[0096]
在上述实施方式中,通过分别对每个第一子空间区域对应的第一法向量进行调整,进而实现直接对第一子空间区域对应的预估地面进行调整,但是本技术并不限制于此,在其他实施方式中,也可以分别根据每个第一子空间区域相邻的至少一个第一子空间区域对应的预估地面,直接对每个第一子空间区域对应的预估地面进行调整,例如,对于任意第一子空间区域a而言,在其相邻的至少第一个第一子空间区域b对应的预估地面c和该第一子空间区域a对应的预估地面c中,确定任意两个预估地面c之间的垂直距离,然后分别将每个预估地面c对应的垂直距离进行相加,而得到每个预估地面c对应的和值,然后将最小和值对应的预估地面c作为第一子空间区域a对应的目标地面。
[0097]
参阅图7,在本实施方式中,步骤s150包括:
s151:分别确定每个第一子空间区域包括的子点云中的每个点到第一子空间区域各自对应的目标地面的距离。
[0098]
s152:响应于点对应的距离小于或者等于点所在的第一子空间区域对应的第一阈值,确定点是第一子空间区域中的地面点。
[0099]
具体地,对于任意第一子空间区域a而言,分别确定其所包括的子点云中的各个点到第一子空间区域a对应的目标地面的距离,如果点对应的距离小于或者等于该第一子空间区域a对应的第一阈值,则确定该点是第一子空间区域a中的地面点。
[0100]
在一应用场景中,第一子空间区域不同,对应的第一阈值相同,也就是说,第一阈值始终是一个固定值。
[0101]
在另一应用场景中,考虑到目标传感器的特性,即点距离目标传感器的距离越大,目标传感器输出的该点的信息的精度越低,因此设置第一子空间区域与采集目标点云的目标传感器的距离越大,第一子空间区域对应的第一阈值越大。
[0102]
例如,按照如下公式确定第一子空间区域对应的第一阈值;h=kh×
max(1.0,r
centerα
),其中,h为第一子空间区域对应的第一阈值,kh为预设的分割阈值参数,可以根据实际需求设定,r
center
为第一子空间区域的中心到目标传感器中心的距离值,α与目标传感器的采集精度相关。
[0103]
需要说明的是,本技术对确定第一子空间区域对应的第一阈值的具体过程不做限制,只要保证第一子空间区域与采集目标点云的目标传感器的距离越大,第一子空间区域对应的第一阈值越大即可。
[0104]
下面结合图8,对本实施方式一具体实施例中地面点云的分割方法进行详细的说明:目标传感器10用于对周围环境进行采集,输出多帧连续的点云数据,而分割装置20在接收到目标传感器10输出的多帧连续的点云数据后,对每帧点云数据进行处理,其中将分割装置20当前时刻需要处理的点云数据定义为当前帧的目标点云,分割装置20对目标点云的处理过程包括:s1:将目标点云中每个点的坐标由传感器坐标系转换到世界坐标系,具体可以采用传感器坐标系与世界坐标系之间的转换矩阵进行转换。
[0105]
s2:设置感兴趣(roi)空间区域,并分别判断目标点云中的每个点是否处于感兴趣空间区域,如果点处于感兴趣空间区域,则在目标点云中保留该点,否则去除该点,该具体过程包括:如果点的坐标满足以下条件,则确定该点处于感兴趣空间区域,否则确定该点不处于感兴趣空间区域:xi∈[x
min
,x
max
],yi∈[y
min
,y
max
],zi∈[z
min
×
max(1.0,r
α
),z
max
×
max(1.0,r
α
)],其中,x
min
、x
max
、y
min
、y
max
、z
min
以及z
max
均为预设阈值,可以根据实际需求设置,同时z
min
小于零,z
max
大于零,同时r为点到目标传感器中心的距离值,α与目标传感器的采集精度相关,当目标传感器为深度相机时,α通常取为1.08。
[0106]
s3:考虑到后续算法的执行效率与硬件计算资源,将目标点云进行滤波处理,其中滤波处理的方式可以是体素下采样处理等方式,本技术对滤波处理的具体过程不做限制。
[0107]
s4:将目标点云所处的空间区域进行切割,得到m
×
n个第一子空间区域,其中,m
×
n个第一子空间区域在真实地面上的投影均为第二矩形,且多个第二矩形呈阵列排布,同时
多个第二矩形构成目标点云所处的空间区域在真实地面上为第一矩形的正投影。
[0108]
s5:判断获取的当前点帧是否为第一帧,若是,执行步骤s6;反之,则执行步骤s7。
[0109]
s6:分别对每个第一子空间区域包括的子点云进行平面拟合,得到每个第一子空间区域对应的预估地面。其中,此处可选用任意的平面拟合算法,包括但不限于随机采样一致性(random sampleconsensus,ransac)、奇异值分解(singular value decomposition,svd)以及布面模拟地面滤波(cloth simulation filtering,csf)等。之后,执行步骤s8。
[0110]
s7:利用当前帧的上一帧所得到的第二子空间区域对应的预估地面作为当前帧各个第一子空间区域的地面先验信息,利用该先验信息加速当前帧各个第一子空间区域的平面拟合,最后获取当前帧各个第一子空间区域对应的预估地面,该具体过程包括:s701:将上一帧的各个第二子空间区域与当前帧各个第一子空间区域进行匹配,分别计算上一帧各个第二子空间区域与当前帧各个第一子空间区域的重叠度,该重叠度具体可以是交并比(intersection over union,iou)。
[0111]
s702:对于当前帧的任意第一子空间区域a而言,在上一帧的各个第二子空间区域中查找与其交并比最大的第二子空间区域c,并将第二子空间区域c对应的预估地面作为第一子空间区域a的先验地面,但是如果与第一子空间区域a对应的最大交并比为0,则将上一帧中与第一子空间区域a最相邻的第二子空间区域(中心与第一子空间区域a的距离最近)对应的预估地面作为第一子空间区域a的先验地面。
[0112]
s703:对于当前帧的任意第一子空间区域a而言,计算其所包括的子点云中的每个点到第一子空间区域a的先验地面的距离,并将距离满足要求的点作为第一子空间区域a的候选点。
[0113]
s704:分别对当前帧中每个第一子空间区域对应的候选点云进行平面拟合,最终得到每个第一子空间区域对应的预估地面。然后执行步骤s8。
[0114]
s8:为了使各个第一子空间区域对应的最终地面更贴近真实的地面特性(平滑光顺),此处考虑各个第一子空间区域之间的相邻特性,同时考虑到目标传感器10的特性,对各个第一子空间区域分配距离权重参数β,β的计算公式为β=kr
center-α
,其中,k为预设的比例系数,可根据实际需求设定,r
center
为第一子空间区域的中心到目标传感器中心的距离值,α与目标传感器的采集精度相关。
[0115]
接着,对于任意第一子空间区域a而言,将与其预估地面垂直的第一法向量和其八邻域内所有第一子空间区域b对应的预估地面所对应的第一法向量按照各个第一子空间区域对应的权重进行加权求平均值,得到第一子空间区域a对应的第二法向量。然后根据第一子空间区域a对应的第二法向量,确定第一子空间区域对应的目标地面,其中,目标地面与第二法向量垂直。
[0116]
s9:分别根据每个第一子空间区域对应的目标地面,从每个第一子空间区域包括的子点云中分割出地面点云,分割的标准是:如果第一子空间区域对应的子点云中的点到第一子空间区域对应的目标地面的距离小于或者等于第一子空间区域对应的第一阈值,则确定该点是第一子空间区域中的地面点。其中,第一子空间区域对应的第一阈值的计算公式为:h=kh×
max(1.0,r
centerα
),其中,h为第一子空间区域对应的第一阈值,kh为预设的分割阈值参数,可以根据实际需求设定,r
center
为第一子空间区域的中心到目标传感器中心的距离值,α与目标传感器的采集精度相关。
[0117]
参阅图9,图9是本技术分割装置一实施方式的结构示意图。该分割装置200包括处理器210、存储器220以及通信电路230,处理器210分别耦接存储器220、通信电路230,存储器220中存储有程序数据,处理器210通过执行存储器220内的程序数据以实现上述任一项实施方式方法中的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。
[0118]
其中,分割装置200可以是电脑、手机、机器人等任一项具有算法处理能力的装置,在此不做限制。
[0119]
参阅图10,图10是本技术分割装置另一实施方式的结构示意图。该分割装置300包括获取模块310、第一分割模块320、预估模块330、调整模块340以及第二分割模块350。
[0120]
获取模块310用于获取当前帧的目标点云。
[0121]
第一分割模块320与获取模块310连接,用于对目标点云所处的空间区域进行切割,得到多个第一子空间区域。
[0122]
预估模块330与第一分割模块320连接,用于获取前一历史帧对应的多个第二子空间区域以及每个第二子空间区域对应的历史地面;在多个第二子空间区域中,分别确定每个第一子空间区域匹配的第二子空间区域;分别根据每个第一子空间区域匹配的第二子空间区域对应的历史地面,对每个第一子空间区域包括的子点云进行筛选,得到每个第一子空间区域对应的候选点云;分别根据每个第一子空间区域对应的候选点云,确定每个第一子空间区域对应的预估地面。
[0123]
调整模块340与预估模块330连接,用于分别根据每个第一子空间区域相邻的至少一个第一子空间区域对应的预估地面,对每个第一子空间区域对应的预估地面进行调整,得到每个第一子空间区域对应的目标地面。
[0124]
第二分割模块350与调整模块340连接,用于分别根据每个第一子空间区域对应的目标地面,从每个第一子空间区域包括的子点云中分割出地面点云。
[0125]
其中,分割装置300可以是电脑、手机、机器人等任一项具有算法处理能力的装置,在此不做限制。且该分割装置300在工作时执行上述任一项实施方式中地面点云的分割方法中的步骤,其中详细的步骤可参见上述实施方式,在此不再赘述。
[0126]
参阅图11,图11是本技术计算机可读存储介质一实施方式的结构示意图。该计算机可读存储介质400存储有计算机程序410,计算机程序410能够被处理器执行以实现上述任一项方法中的步骤。
[0127]
其中,计算机可读存储介质400具体可以为u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等可以存储计算机程序410的装置,或者也可以为存储有该计算机程序410的服务器,该服务器可将存储的计算机程序410发送给其他设备运行,或者也可以自运行该存储的计算机程序410。
[0128]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献