1.本技术涉及机器人及智能驾驶技术领域,尤其涉及一种激光雷达点云地面过滤方法、装置、设备及介质。
背景技术:
2.激光雷达点云数据不仅包含障碍物点云信息,还包含地面点云信息。
3.在实际应用中,地面点云信息作为背景信息,会影响机器人对障碍物的识别,比如行人、车辆等的识别,给机器人的智能驾驶带来不便,因此,需要将地面点云作为噪声从激光雷达点云数据中过滤出去。
技术实现要素:
4.本技术实施例提供了一种激光雷达点云地面过滤方法、装置、设备及介质,用以解决现有的激光雷达点云数据含有地面点噪声,影响机器人智能驾驶的技术问题。
5.第一方面,本技术实施例提供了一种激光雷达点云地面过滤方法,包括:通过第一预设算法,将激光雷达点云数据进行分区划分,以得到所述激光雷达点云数据对应的若干分区;通过第二预设算法,对任一分区进行分段划分,以得到所述任一分区对应的若干分段;确定所述若干分段分别对应的最小z值,并基于所述最小z值提取所述若干分段分别对应的最小z值点;其中,所述最小z值为任一分段中,激光雷达点云数据对应的最小z轴坐标;所述最小z值点为任一分段中,所述最小z值对应的激光雷达点云数据;基于所述若干分段分别对应的最小z值点,通过第三预设算法,得到所述任一分区对应的若干局部地面直线;遍历所述任一分区中的激光雷达点云数据,并计算所述激光雷达点云数据与所述任一分区的相邻分区,对应的若干局部地面直线之间的垂直距离;根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据。
6.在本说明书的一个或多个实施例中,所述通过第一预设算法,将激光雷达点云数据进行分区划分,具体包括:确定弧度参数a,并基于所述弧度参数a将x-y平面转化为圆面;其中,所述圆面包含2π/a个扇面分区;通过atan2(x,y)/a,确定所述激光雷达点云数据所属的扇面分区;其中,x为所述激光雷达点云数据对应的x轴坐标,y为所述激光雷达点云数据对应的y轴坐标。
7.在本说明书的一个或多个实施例中,所述通过第二预设算法,对任一分区进行分段划分,具体包括:确定任一扇面分区对应的分段参数;其中,所述分段参数至少包括以下任一项或者多项:分段个数、最小分段距离以及最大分段距离;其中,所述分段距离用于指示所述任一扇面分区中的激光雷达点云数据与所述任一扇面分区顶点之间的距离;根据所述分段参数,确定所述任一扇面分区对应的若干扇环分段。
8.在本说明书的一个或多个实施例中,在确定所述任一扇面分区对应的分段参数之后,所述方法还包括:根据所述分段参数以及预设最小z值,确定所述任一扇面分区对应的若干扇环分段。
9.在本说明书的一个或多个实施例中,所述通过第三预设算法,得到所述任一分区对应的若干局部地面直线,具体包括:获取所述任一分区中的任一分段对应的最小z值以及最小z值点;确定所述最小z值点对应的分段距离;基于所述最小z值以及所述分段距离,对所述最小z值点进行qr分解,以得到所述任一分段对应的局部地面直线;重复执行上述过程,直至遍历完所述任一分区包含的所有分段,得到所述任一分区对应的若干局部地面直线。
10.在本说明书的一个或多个实施例中,根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据,具体包括:确定所述任一分区中的激光雷达点云数据与其相邻分区对应的若干局部地面直线之间的最大垂直距离;计算所述最大垂直距离与预设垂直距离之间的大小关系,并根据所述大小关系,确定所述任一分区中的激光雷达点云数据中包含的地面数据。
11.在本说明书的一个或多个实施例中,所述方法还包括:在所述最大垂直距离小于预设垂直距离的情况下,确定所述最大垂直距离对应的激光雷达点云数据为地面数据,进而在所述任一分区中的激光雷达点云数据中进行剔除。
12.第二方面,本技术实施例还提供了一种激光雷达点云地面过滤装置,包括:划分模块,用于通过第一预设算法,将激光雷达点云数据进行分区划分,以得到所述激光雷达点云数据对应的若干分区;所述划分模块,还用于通过第二预设算法,对任一分区进行分段划分,以得到所述任一分区对应的若干分段;确定模块,用于确定所述若干分段分别对应的最小z值,并基于所述最小z值提取所述若干分段分别对应的最小z值点;其中,所述最小z值为任一分段中,激光雷达点云数据对应的最小z轴坐标;所述最小z值点为任一分段中,所述最小z值对应的激光雷达点云数据;所述确定模块,还用于基于所述若干分段分别对应的最小z值点,通过第三预设算法,得到所述任一分区对应的若干局部地面直线;计算模块,用于遍历所述任一分区中的激光雷达点云数据,并计算所述激光雷达点云数据与所述任一分区的相邻分区,对应的若干局部地面直线之间的垂直距离;过滤模块,用于根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据。
13.第三方面,本技术实施例还提供了一种激光雷达点云地面过滤设备,包括:处理器;及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如上述的一种激光雷达点云地面过滤方法。
14.第四方面,本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行如上述的一种激光雷达点云地面过滤方法。
15.本技术实施例提供的一种激光雷达点云地面过滤方法,通过分区、分段的方式对激光雷达点云数据进行划分,通过各个分段的最小z值点,在各个分段中拟合出局部地面直线,然后通过点到相邻分区对应的局部地面直线的垂直距离,筛选出激光雷达点云数据中包含的地面点,进而进行剔除过滤。通过上述地面过滤方法,能够将地面点云数据作为噪声从激光雷达点云数据中过滤出去,去除地面点对机器人智能驾驶的影响。另外,本技术实施例提供的上述激光雷达点云地面过滤方法,对16线以及更高线数的激光雷达也具有良好的适用性。
附图说明
16.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
17.图1为本技术实施例提供的一种激光雷达点云地面过滤方法流程图;
18.图2为本技术实施例提供的一种激光雷达点云地面过滤装置内部结构示意图;
19.图3为本技术实施例提供的一种激光雷达点云地面过滤设备结构示意图。
具体实施方式
20.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
21.本技术实施例提供了一种激光雷达点云地面过滤方法、装置、设备及介质,通过使用基于分区、分段的方式对激光雷达点云数据进行划分,再通过各个分段中的最小z值点,拟合出局部地面直线,然后利用激光雷达点云数据点到相关局部地面直线的垂直距离判断,筛选出地面点云数据。实现了激光雷达点云数据的地面过滤,去除了地面数据对机器人及智能驾驶的影响。
22.下面通过附图对本技术实施例提出的技术方案进行详细的说明。
23.图1为本技术实施例提供的一种激光雷达点云地面过滤方法流程图。如图1所示,本技术实施例提供的地面过滤方法,至少包括以下执行步骤:
24.步骤101、通过第一预设算法,将激光雷达点云数据进行分区划分,以得到激光雷达点云数据对应的若干分区。
25.本技术实施例提供的激光雷达点云地面过滤方法,在拿到需要进行过滤的激光雷达点云数据后,首先需要对其进行有序划分。
26.在本技术实施例的一种可能实现方式中,对激光雷达点云数据进行有序划分,主要包括两个过程,一个是进行分区划分,另一个是进行分段划分。需要说明的是,本技术实施例中的分段划分目的是将分区划分得到的分区进行进一步的划分,即本技术实施例中的分段划分是在分区划分完成之后进行的。
27.具体地,首先,对需要进行过滤的激光雷达点云数据进行分区划分。在本技术实施例的一种可能实现方式中,分区划分主要通过以下过程实现:首先设定一个弧度参数a,通过这个弧度参数a将激光雷达点云数据从x-y平面上转变为圆面,需要说明的是,此处的圆面是包含2π/a个扇面的圆面。也就是说,本技术实施例中的分区划分得到的分区,是扇面分区。
28.进一步地,在得到划分好的圆面之后,此时就可以将待过滤的激光雷达点云数据划分到扇面分区上,即将待过滤的激光雷达点云数据找到自己所属的分区。具体地,通过atan2(y,x)/a,得到某个激光雷达点云数据点所属的扇面分区。需要说明的是,x代表的是激光雷达点云数据在x-y平面上对应的x轴坐标,y代表的是激光雷达点云数据在x-y平面上对应的y轴坐标。
29.步骤102、通过第二预设算法,对任一分区进行分段划分,以得到任一分区对应的
若干分段。
30.在对激光雷达点云数据完成分区划分之后,得到若干个分区,即已经将需要过滤的激光雷达点云数据划分到不同中的扇面分区中。此时,还需要对各个分区进行进一步地划分,即分段划分。
31.具体地,本技术实施例中的分段划分,主要可以通过以下过程实现:首先设定分段划分需要考虑的分段参数,然后对各个扇面分区中的点,按照上述设定好的分段参数进行划分。在本技术实施例的一种或多种可能实现方式中,上述分段参数至少包括以下任一项或者多项:分段个数、最小分段距离以及最大分段距离。其中,上述分段距离用于指示被划分的扇面分区中的激光雷达点云数据与该扇面分区顶点之间的距离。
32.可以明确的是,在将扇面分区进行分段划分完成之后,得到若干个扇环分段,即本技术实施例中的分区是扇面的,分段是扇环的。也就是说,本技术实施例中的每个分段表示一段扇环,每个分区中包含多个分段。
33.至此,完成激光雷达点云数据的有序划分。通过分区划分和分段划分,将所有的激光雷达点云数据划分完成,即每个激光雷达点云数据点都属于某个分区中的某个分段。
34.步骤103、确定若干分段分别对应的最小z值,并基于最小z值提取若干分段分别对应的最小z值点。
35.在完成激光雷达点云数据的有序划分之后,就可以以各个分区或者各个分段为单位,对激光雷达点云数据进行地面过滤。
36.具体地,首先,确定出各个分段中的激光雷达点云数据对应的最小z值,需要说明的是,此处的z值,指的是各个分段中的激光雷达点云数据在x-y-z三维坐标系下对应的z轴坐标。
37.还需要说明的是,此处的最小z值,是根据分段参数将激光雷达点云数据分段划分完成之后,确定出来的,即先根据分段参数进行分段划分,再确定最小z值。
38.在本技术实施例中的一种或多种可能实现方式中,上述最小z值,还可以在对激光雷达点云数据进行分段划分时,进行考虑,即在进行分段划分时,不仅考虑分段参数的影响,也将最小z值考虑进去。也就是,可以根据上述分段参数与预设的最小z值,对任一分区进行分段划分。此时,再确定某一分段对应的最小z值时,就直接按照预设的最小z值即可。
39.进一步地,在确定出各个分段对应的额最小z值之后,根据该最小z值,在各个分段中提取最小z值点。在本技术实施例中的一种或多种可能实现方式中,上述过程可以通过以下方式实现,在各个分段中确定出最小z值对应的激光雷达点云数据,即最小z值点;然后将这些数据放入一个计算列表中,进行备用。需要说明的是,后续可以这些提取出来的激光雷达点云数据,进行地面过滤。
40.步骤104、基于若干分段分别对应的最小z值点,通过第三预设算法,得到任一分区对应的若干局部地面直线。
41.在得到各个分段对应的最小z值点之后,根据这些最小z值点,计算各个分段分别对应的局部地面直线。
42.具体地,首先确定任一分段的最小z值点分别对应的分段距离,即确定出这些最小z值点到该任一分段所属的扇面分区的顶点之间的距离。然后根据确定出的分段距离以及该任一分段对应的最小z值,对该任一分段中的激光雷达点云数据进行qr分解,即可得到拟
合后的地面直线,即该任一分段对应的局部地面直线。
43.需要说明的是,上述qr分解过程,可以通过现有的算法或者方法实现,本技术实施例在此不做赘述。
44.步骤105、遍历任一分区中的激光雷达点云数据,并计算激光雷达点云数据与任一分区的相邻分区对应的若干局部地面直线之间的垂直距离。
45.按照上述过程将各个分段分别对应的局部地面直线计算完成之后,即可进行地面点云数据的过滤。
46.具体地,将任一分区中的激光雷达点云数据与该任一分区的相邻分区对应的若干局部地面直线进行垂直距离计算。即,计算任一分区的任一分段中包含的激光雷达点云数据,与其相邻分区对应的若干局部地面直线之间的垂直距离
47.步骤106、根据垂直距离,过滤任一分区中的激光雷达点云数据中包含的地面数据。
48.在得到上述垂直距离之后,取各个激光雷达点云数据点对应的最大垂直距离,并计算该最大垂直距离与预设垂直距离之间的大小关系。然后,根据上述大小关系确定某一激光雷达点云数据点是否为地面点。
49.具体地,如果某一激光雷达点云数据点对应的最大垂直距离小于预设垂直距离,则认为该点属于地面点,反之则认为是非地面点。并且,如果某一激光雷达点云数据点被认为是地面点,则将该点在其所属分段或者所属分区包含的激光雷达点云数据中进行剔除,实现地面过滤。
50.本技术实施例提供的激光雷达点云数据地面过滤方法,适用于需要过滤激光雷达点云地面的场景,能够有效的实现地面过滤,去除地面点的影响,且对16线及更高线数的激光雷达有良好的适用性。
51.以上为本技术实施例中的方法实施例,基于同样的发明构思,本技术实施例还提供了一种激光雷达点云地面过滤装置及设备,其结构如图2、3所示。
52.图2为本技术实施例提供的一种激光雷达点云地面过滤装置内部结构示意图。如图2所示,装置包括:划分模块201、确定模块202、计算模块203以及过滤模块204;
53.其中,划分模块201,用于通过第一预设算法,将激光雷达点云数据进行分区划分,以得到所述激光雷达点云数据对应的若干分区;所述划分模块201,还用于通过第二预设算法,对任一分区进行分段划分,以得到所述任一分区对应的若干分段;确定模块202,用于确定所述若干分段分别对应的最小z值,并基于所述最小z值提取所述若干分段分别对应的最小z值点;其中,所述最小z值为任一分段中,激光雷达点云数据对应的最小z轴坐标;所述最小z值点为任一分段中,所述最小z值对应的激光雷达点云数据;所述确定模块202,还用于基于所述若干分段分别对应的最小z值点,通过第三预设算法,得到所述任一分区对应的若干局部地面直线;计算模块203,用于遍历所述任一分区中的激光雷达点云数据,并计算所述激光雷达点云数据与所述任一分区的相邻分区,对应的若干局部地面直线之间的垂直距离;过滤模块204,用于根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据。
54.图3为本技术实施例提供的一种激光雷达点云地面过滤设备结构示意图。如图3所示,设备包括:处理器;及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使
得所述处理器执行:
55.通过第一预设算法,将激光雷达点云数据进行分区划分,以得到所述激光雷达点云数据对应的若干分区;通过第二预设算法,对任一分区进行分段划分,以得到所述任一分区对应的若干分段;确定所述若干分段分别对应的最小z值,并基于所述最小z值提取所述若干分段分别对应的最小z值点;其中,所述最小z值为任一分段中,激光雷达点云数据对应的最小z轴坐标;所述最小z值点为任一分段中,所述最小z值对应的激光雷达点云数据;基于所述若干分段分别对应的最小z值点,通过第三预设算法,得到所述任一分区对应的若干局部地面直线;遍历所述任一分区中的激光雷达点云数据,并计算所述激光雷达点云数据与所述任一分区的相邻分区,对应的若干局部地面直线之间的垂直距离;根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据。
56.除此之外,本技术实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
57.通过第一预设算法,将激光雷达点云数据进行分区划分,以得到所述激光雷达点云数据对应的若干分区;通过第二预设算法,对任一分区进行分段划分,以得到所述任一分区对应的若干分段;确定所述若干分段分别对应的最小z值,并基于所述最小z值提取所述若干分段分别对应的最小z值点;其中,所述最小z值为任一分段中,激光雷达点云数据对应的最小z轴坐标;所述最小z值点为任一分段中,所述最小z值对应的激光雷达点云数据;基于所述若干分段分别对应的最小z值点,通过第三预设算法,得到所述任一分区对应的若干局部地面直线;遍历所述任一分区中的激光雷达点云数据,并计算所述激光雷达点云数据与所述任一分区的相邻分区,对应的若干局部地面直线之间的垂直距离;根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据。
58.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
59.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
60.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
技术特征:
1.一种激光雷达点云地面过滤方法,其特征在于,所述方法包括:通过第一预设算法,将激光雷达点云数据进行分区划分,以得到所述激光雷达点云数据对应的若干分区;通过第二预设算法,对任一分区进行分段划分,以得到所述任一分区对应的若干分段;确定所述若干分段分别对应的最小z值,并基于所述最小z值提取所述若干分段分别对应的最小z值点;其中,所述最小z值为任一分段中,激光雷达点云数据对应的最小z轴坐标;所述最小z值点为任一分段中,所述最小z值对应的激光雷达点云数据;基于所述若干分段分别对应的最小z值点,通过第三预设算法,得到所述任一分区对应的若干局部地面直线;遍历所述任一分区中的激光雷达点云数据,并计算所述激光雷达点云数据与所述任一分区的相邻分区,对应的若干局部地面直线之间的垂直距离;根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据。2.根据权利要求1所述的一种激光雷达点云地面过滤方法,其特征在于,所述通过第一预设算法,将激光雷达点云数据进行分区划分,具体包括:确定弧度参数a,并基于所述弧度参数a将x-y平面转化为圆面;其中,所述圆面包含2π/a个扇面分区;通过atan2(x,y)/a,确定所述激光雷达点云数据所属的扇面分区;其中,x为所述激光雷达点云数据对应的x轴坐标,y为所述激光雷达点云数据对应的y轴坐标。3.根据权利要求1所述的一种激光雷达点云地面过滤方法,其特征在于,所述通过第二预设算法,对任一分区进行分段划分,具体包括:确定任一扇面分区对应的分段参数;其中,所述分段参数至少包括以下任一项或者多项:分段个数、最小分段距离以及最大分段距离;其中,所述分段距离用于指示所述任一扇面分区中的激光雷达点云数据与所述任一扇面分区顶点之间的距离;根据所述分段参数,确定所述任一扇面分区对应的若干扇环分段。4.根据权利要求3所述的一种激光雷达点云地面过滤方法,其特征在于,在确定所述任一扇面分区对应的分段参数之后,所述方法还包括:根据所述分段参数以及预设最小z值,确定所述任一扇面分区对应的若干扇环分段。5.根据权利要求1所述的一种激光雷达点云地面过滤方法,其特征在于,所述通过第三预设算法,得到所述任一分区对应的若干局部地面直线,具体包括:获取所述任一分区中的任一分段对应的最小z值以及最小z值点;确定所述最小z值点对应的分段距离;基于所述最小z值以及所述分段距离,对所述最小z值点进行qr分解,以得到所述任一分段对应的局部地面直线;重复执行上述过程,直至遍历完所述任一分区包含的所有分段,得到所述任一分区对应的若干局部地面直线。6.根据权利要求1所述的一种激光雷达点云地面过滤方法,其特征在于,根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据,具体包括:确定所述任一分区中的激光雷达点云数据与其相邻分区对应的若干局部地面直线之间的最大垂直距离;
计算所述最大垂直距离与预设垂直距离之间的大小关系,并根据所述大小关系,确定所述任一分区中的激光雷达点云数据中包含的地面数据。7.根据权利要求6所述的一种激光雷达点云地面过滤方法,其特征在于,所述方法还包括:在所述最大垂直距离小于预设垂直距离的情况下,确定所述最大垂直距离对应的激光雷达点云数据为地面数据,进而在所述任一分区中的激光雷达点云数据中进行剔除。8.一种激光雷达点云地面过滤装置,其特征在于,所述装置包括:划分模块,用于通过第一预设算法,将激光雷达点云数据进行分区划分,以得到所述激光雷达点云数据对应的若干分区;所述划分模块,还用于通过第二预设算法,对任一分区进行分段划分,以得到所述任一分区对应的若干分段;确定模块,用于确定所述若干分段分别对应的最小z值,并基于所述最小z值提取所述若干分段分别对应的最小z值点;其中,所述最小z值为任一分段中,激光雷达点云数据对应的最小z轴坐标;所述最小z值点为任一分段中,所述最小z值对应的激光雷达点云数据;所述确定模块,还用于基于所述若干分段分别对应的最小z值点,通过第三预设算法,得到所述任一分区对应的若干局部地面直线;计算模块,用于遍历所述任一分区中的激光雷达点云数据,并计算所述激光雷达点云数据与所述任一分区的相邻分区,对应的若干局部地面直线之间的垂直距离;过滤模块,用于根据所述垂直距离,过滤所述任一分区中的激光雷达点云数据中包含的地面数据。9.一种激光雷达点云地面过滤设备,其特征在于,所述设备包括:处理器;及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1-7任一项所述的一种激光雷达点云地面过滤方法。10.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为执行如权利要求1-7任一项所述的一种激光雷达点云地面过滤方法。
技术总结
本申请公开了一种激光雷达点云地面过滤方法、装置、设备及介质,用以解决现有的激光雷达点云数据含有地面点噪声的技术问题。方法包括:通过第一预设算法及第二预设算法,对激光雷达点云数据进行分区划分及分段划分,得到激光雷达点云数据对应的若干分区及若干分段;确定若干分段对应的最小z值,并提取若干分段对应的最小z值点;基于最小z值点,通过第三预设算法,得到任一分区对应的若干局部地面直线;遍历任一分区中的激光雷达点云数据,并计算激光雷达点云数据与任一分区的相邻分区对应的若干局部地面直线之间的垂直距离,进而过滤任一分区中的激光雷达点云数据中包含的地面数据。本申请通过上述方法实现了地面过滤,去除了地面点的影响。了地面点的影响。了地面点的影响。
技术研发人员:谢超 王本强 王建华 高明
受保护的技术使用者:山东新一代信息产业技术研究院有限公司
技术研发日:2022.02.15
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-15139.html