本发明涉及点云数据处理,具体是一种可通行地面检测方法、终端设备及存储介质。
背景技术:
1、一般,移动机器人包含感知、定位、路径规划、导航、决策和控制系统,感知系统作为机器人数据流流通的第一个环节,为下游的系统提供数据输入。障碍物检测是移动机器人最重要的感知能力之一,障碍物检测的准确度和稳定性直接影响机器人的路径规划与决策,从而影响机器人的正常作业能力和总体性能。因此,提高障碍物检测算法的性能对提高移动机器人的总体性能,起决定性的作用。而为了检测障碍物,一般需要先检测可通行地面。
2、在非结构化场景中,向上的坡道、负障碍物(例如向下的阶梯、向下的坡道、坑洞等)是很常见的交通要素。现有的地面检测方法有基于相邻区域高度差的地面检测方法、基于视差图和条状像素的地面检测方法等,但这些方法很难检测有坡道和负障碍物的复杂场景中的地面,这就限制了这些方法的通用性。
技术实现思路
1、为了解决复杂的非结构化场景中的可通行地面检测的难题,本发明提供一种可通行地面检测方法、终端设备及存储介质,采用基于空间区域划分与三维点云分割的手段,在保证检测准确度和稳定性的前提下,能适应各种场景,具备较强的通用性。
2、为实现上述目的,本发明提供一种可通行地面检测方法,包括如下步骤:
3、步骤1,建立载体坐标系o-xyz,并将当前帧采集的三维点云变换到载体坐标系中,其中,z轴为重力方向或重力反方向;
4、步骤2,将三维点云划分为若干呈陈列分布的点云区域,且任意两相邻的点云区域之间存在部分重叠区域,其中,划分平面与z轴平行;
5、步骤3,对每个点云区域的三维平面参数进行估计,得到每个点云区域对应的平面方程;
6、步骤4,基于每个点云区域的平面方程,筛选出地面点云区域;
7、步骤5,基于地面点云区域对所有点云区域中的所有数据点进行分割,得到由地面数据点组成的地面点云并输出。
8、在其中一个实施例,步骤3中,所述对每个点云区域的三维平面参数进行估计,得到每个点云区域对应的平面方程,具体为:
9、对于第i个点云区域,基于均匀随机降采样在该点云区域中选取n个数据点;
10、基于选取的n个数据点,估算得到第i个点云区域的精确平面;
11、基于匹配策略,将精确平面与第i个点云区域上一次的区域平面进行匹配:
12、若匹配通过,则将精确平面作为新的区域平面,并输出精确平面的平面方程,作为第i个点云区域当前帧对应的平面方程;
13、若匹配不通过,则输出第i个点云区域上一次区域平面的平面方程,作为第i个点云区域当前帧对应的平面方程。
14、在其中一个实施例,所述精确平面的估算过程为:
15、基于选取的n个数据点,先采用ransac算法估算得到第i个点云区域的初始平面;
16、再基于初始平面的群内点,采用mle算法估算得到第i个点云区域的精确平面。
17、在其中一个实施例,所述匹配策略为:
18、夹角判断:计算精确平面与上一次区域平面之间法向量的夹角,若夹角大于第一阈值,则匹配不通过,否则进行距离判断;
19、距离判断:计算精确平面与上一次区域平面之间距离,若距离大于第二阈值,则匹配不通过,否则匹配通过。
20、在其中一个实施例,所述精确平面与上一次区域平面之间距离δd的计算过程为:
21、
22、其中,ai1、bi1、ci1、di1为第i个点云区域的精确平面的平面方程ai1x+bi1y+ci1z+di1=0的平面参数,ai2、bi2、ci2、di2为第i个点云区域的上一次区域平面的平面方程ai2x+bi2y+ci2z+di2=0的平面参数。
23、在其中一个实施例,步骤4具体包括:
24、步骤4.1,建立地面点云区域集,并按每个点云区域中心点距o点的距离由近到远进行排序,得到点云区域序列后进行步骤4.2;
25、步骤4.2,提取出点云区域序列中的第一个点云区域,定义其为1#点云区域,并将1#点云区域从点云区域序列中删除后进行步骤4.3;
26、步骤4.3,判断1#点云区域是否处于最靠近o点的一排点云区域中:
27、若是,进行步骤4.4;
28、否则,进行步骤4.6;
29、步骤4.4,计算1#点云区域的区域平面法向量与z轴之间的第一夹角,并判断该第一夹角是否大于第三阈值,若是则返回步骤4.2,否则进行步骤4.5;
30、步骤4.5,判断1#点云区域的区域平面与xoy平面之间是否存在第一交线,若是则进行步骤4.10,否则返回步骤4.2;
31、步骤4.6,判断地面点云区域集中是否存在位于1#点云区域前一排,且与1#点云区域相邻的点云区域:
32、若存在,则将地面点云区域集中位于1#点云区域前一排,且与1#点云区域相邻的,且距离o点最近的点云区域定义为2#点云区域后,进行步骤4.7;
33、若不存在,返回步骤4.2;
34、步骤4.7,计算1#点云区域的区域平面法向量与2#点云区域的区域平面法向量之间的第二夹角,并判断该第二夹角是否大于第三阈值,若是则返回步骤4.2,否则进行步骤4.8;
35、步骤4.8,判断1#点云区域的区域平面与2#点云区域的区域平面之间是否存在第二交线,若是则进行步骤4.9,否则返回步骤4.2;
36、步骤4.9,判断第二交线是否位于1#点云区域与2#点云区域的重叠区域内,若是则进行步骤4.10,否则返回步骤4.2;
37、步骤4.10,将1#点云区域作为地面点云区域并保持至地面点云区域集,并判断当前点云区域序列是否为空序列,若是则返回步骤4.2,否则输出地面点云区域集中的地面点云区域。
38、在其中一个实施例,步骤5具体包括:定义每个点云区域为3#点云区域,并对每个3#点云区域的法向量进行统一处理,使所有3#点云区域法向量的z分量均大于或等于0后,对每个3#点云区域进行如下操作:
39、步骤5.1,判断该3#点云区域是否为地面点云区域:
40、若是,进行步骤5.2;
41、否则,进行步骤5.5;
42、步骤5.2,对于3#点云区域中的任一数据点,判断该数据点是否处于重叠区域内:
43、若是,进行步骤5.4;
44、否则,进行步骤5.3;
45、步骤5.3,计算该数据点到对应3#点云区域区域平面的距离d:
46、若距离d大于第四阈值,则判定该数据点为正障碍数据点;
47、若距离d小于第五阈值,则判定该数据点为负障碍数据点;
48、若距离d大于或等于第五阈值且小于或等于第四阈值,则判定该数据点为地面数据点;
49、步骤5.4,计算该数据点到对应的两个3#点云区域区域平面的两个距离d:
50、若两个距离d均大于第四阈值,则判定该数据点为正障碍数据点;
51、若两个距离d均小于第五阈值,则判定该数据点为负障碍数据点;
52、若两个距离d中的任意一个大于或等于第五阈值且小于或等于第四阈值,则判定该数据点为地面数据点;
53、步骤5.5,判断该3#点云区域所有相邻的点云区域中,是否存在地面点云区域:
54、若是,则将该3#点云区域相邻的地面点云区域任意选择一个,将其定义为4#点云区域后,进行步骤5.6;
55、否则,判定该3#点云区域的所有数据点均为障碍数据点;
56、步骤5.6,对于该3#点云区域中的任一数据点,计算其与4#点云区域区域平面的距离d:
57、若距离d大于第四阈值,则判定该数据点为正障碍数据点;
58、若距离d小于第五阈值,则判定该数据点为负障碍数据点;
59、若距离d大于或等于第五阈值且小于或等于第四阈值,则判定该数据点为地面数据点;
60、对所有3#点云区域点云区域均进行步骤5.1至步骤5.6的处理后,即能得到由地面数据点组成的地面点云。
61、在其中一个实施例,所述距离d的计算过程为:
62、
63、其中,d为数据点(xn,yn,zn)与区域平面amx+bmy+cmz+dm=0之间的距离,am、bm、cm、dm为区域平面的平面参数。
64、为实现上述目的,本发明还提供一种终端设备,所述终端设备为无人车、无人机、无人驾驶设备或移动机器人,所述终端设备上设有:
65、存储器,用于存储程序;
66、处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上述的方法的部分或全部步骤。
67、为实现上述目的,本发明还一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令;所述计算机执行指令被处理器执行时用于实现如上述的方法的部分或全部步骤。
68、本发明提供的一种可通行地面检测方法、终端设备及存储介质,首先基于空间区域分割将三维点云划分为若干呈陈列分布的点云区域,再对每个点云区域的三维平面参数进行估计,以此判断各点云区域是否为地面点云区域,最后在已知地面点云区域的基础上对所有的点云区域进行点云分割,在保证检测准确度和稳定性的前提下,能够检测出包含陡峭的下坡、向下的阶梯、坑洞等负障碍物,以及移动障碍物、陡峭的上坡等正障碍物和不平整的地面等各种复杂场景中的地面,在多种复杂非结构化场景中都具有较强的适应性、泛化性与通用性。
1.一种可通行地面检测方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的可通行地面检测方法,其特征在于,步骤3中,所述对每个点云区域的三维平面参数进行估计,得到每个点云区域对应的平面方程,具体为:
3.根据权利要求2所述的可通行地面检测方法,其特征在于,所述精确平面的估算过程为:
4.根据权利要求2所述的可通行地面检测方法,其特征在于,所述匹配策略为:
5.根据权利要求4所述的可通行地面检测方法,其特征在于,所述精确平面与上一次区域平面之间距离δd的计算过程为:
6.根据权利要求1至5任一项所述的可通行地面检测方法,其特征在于,步骤4具体包括:
7.根据权利要求1至5任一项所述的可通行地面检测方法,其特征在于,步骤5具体包括:定义每个点云区域为3#点云区域,并对每个3#点云区域的法向量进行统一处理,使所有3#点云区域法向量的z分量均大于或等于0后,对每个3#点云区域进行如下操作:
8.根据权利要求7所述的可通行地面检测方法,其特征在于,所述距离d的计算过程为:
9.一种终端设备,其特征在于,所述终端设备为计算机、无人车、无人机、无人驾驶设备或移动机器人,所述终端设备上设有:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令;所述计算机执行指令被处理器执行时用于实现如权利要求1至8中任一项所述的方法的部分或全部步骤。
