一种地面点的分割方法、装置、设备及存储介质与流程

文档序号:33621633发布日期:2023-03-25 12:14阅读:39来源:国知局
一种地面点的分割方法、装置、设备及存储介质与流程

1.本发明涉及激光雷达的技术领域,尤其涉及一种地面点的分割方法、装置、设备及存储介质。


背景技术:

2.在支持自动驾驶的机器人、车辆等设备中通常配置有多线的激光雷达,该激光雷达可扫描设备周围环境的点云数据,对点云数据进行语义识别,为设备的移动决策提供基础。
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.若是,则确定投影至当前所述栅格内的所述点云数据的语义均为地面,作为地面点。
28.可选地,所述依据所述点云数据在一个或多个所述栅格内呈现的高度差与倾斜角,分割出语义为地面的所述点云数据,作为地面点,还包括:
29.若所述高度差大于预设的第一阈值和/或所述倾斜角度大于预设的第二阈值,则确定投影至当前所述栅格内的所述点云数据的语义均为非地面。
30.可选地,所述计算位于所述目标范围内的所述点云数据呈现的高度差与倾斜角,包括:
31.从位于所述目标范围内的所述点云数据中分别挑选第一极值点、第二极值点、第三极值点、第四极值点,所述第一极值点为垂直坐标最大的点云数据、所述第二极值点为垂直坐标最小的点云数据、所述第三极值点为与所有所述栅格的中心点之间的水平距离最大的点云数据、所述第四极值点为与所有所述栅格的中心点之间的水平距离最小的点云数据;
32.计算所述第一极值点与所述第二极值点在垂直方向上的差异,获得高度差;
33.计算所述第三极值点与所述第四极值点在水平方向上的差异,获得距离差;
34.对所述高度差与所述距离差之间的比值取反正切值,获得倾斜角。
35.可选地,所述将与当前所述栅格邻近的其他所述栅格添加至所述目标范围中,包括:
36.确定目标方向,所述目标方向为自当前所述栅格指向所有所述栅格的中心点;
37.沿所述目标方向将与当前所述栅格邻近的其他所述栅格添加至所述目标范围中。
38.根据本发明的另一方面,提供了一种地面点的分割装置,包括:
39.点云数据扫描模块,用于控制激光雷达采集点云数据;
40.栅格划分模块,用于在所述激光雷达扫描所述点云数据的空间内的一平面上划分多个栅格;
41.点云数据投影模块,用于将所述点云数据投影至各个所述栅格内;
42.地面点分割模块,用于依据所述点云数据在一个或多个所述栅格内呈现的高度差与倾斜角,分割出语义为地面的所述点云数据,作为地面点。
43.可选地,所述栅格划分模块包括:
44.参考点设置模块,用于在所述激光雷达扫描所述点云数据的空间内设置参考点;
45.扫描空间划分模块,用于以所述参考点为顶点、在垂直方向上将所述激光雷达扫描所述点云数据的空间划分多个圆锥形的空间,作为扫描空间;
46.平面相交模块,用于将一平面与多个所述扫描空间相交,以在所述平面上形成多个圆心相同的圆形区域,所述圆心为所述参考点在所述平面的投影;
47.射线相交模块,用于将多条射线分别与多个所述圆形区域相交,以在所述平面上形成多个栅格,多条所述射线均以所述圆心为端点。
48.可选地,所述参考点设置模块包括:
49.自身设置模块,用于将安装所述激光雷达的位置设置为参考点;
50.或者,
51.部件设置模块,用于若所述激光雷达安装在机器人上,则将所述机器人中指定的部件所处的位置设置为参考点。
52.可选地,所述点云数据投影模块包括:
53.栅格比较模块,用于将所述点云数据的横坐标、纵坐标与各个所述栅格进行比较;
54.栅格投影模块,用于若所述横坐标与所述纵坐标位于某个所述栅格中,则将所述点云数据投影至所述栅格中。
55.可选地,所述地面点分割模块包括:
56.当前栅格添加模块,用于将当前所述栅格添加至目标范围;
57.障碍信息计算模块,用于计算位于所述目标范围内的所述点云数据呈现的高度差与倾斜角;
58.邻域判断模块,用于若所述高度差小于或等于预设的第一阈值,且,所述倾斜角均小于或等于预设的第二阈值,则判断是否具有与当前所述栅格邻近的其他所述栅格;若否,则调用邻近栅格添加模块,若是,则调用地面点确定模块;
59.邻近栅格添加模块,用于将与当前所述栅格邻近的其他所述栅格添加至所述目标范围中,返回调用所述障碍信息计算模块;
60.地面点确定模块,用于确定投影至当前所述栅格内的所述点云数据的语义均为地面,作为地面点。
61.可选地,所述地面点分割模块还包括:
62.非地面点确定模块,用于若所述高度差大于预设的第一阈值和/或所述倾斜角度大于预设的第二阈值,则确定投影至当前所述栅格内的所述点云数据的语义均为非地面。
63.可选地,所述障碍信息计算模块包括:
64.极值点挑选模块,用于从位于所述目标范围内的所述点云数据中分别挑选第一极值点、第二极值点、第三极值点、第四极值点,所述第一极值点为垂直坐标最大的点云数据、所述第二极值点为垂直坐标最小的点云数据、所述第三极值点为与所有所述栅格的中心点之间的水平距离最大的点云数据、所述第四极值点为与所有所述栅格的中心点之间的水平距离最小的点云数据;
65.高度差计算模块,用于计算所述第一极值点与所述第二极值点在垂直方向上的差异,获得高度差;
66.距离差计算模块,用于计算所述第三极值点与所述第四极值点在水平方向上的差异,获得距离差;
67.倾斜角计算模块,用于对所述高度差与所述距离差之间的比值取反正切值,获得倾斜角。
68.可选地,所述邻近栅格添加模块包括:
69.目标方向确定模块,用于确定目标方向,所述目标方向为自当前所述栅格指向所有所述栅格的中心点;
70.目标方向添加模块,用于沿所述目标方向将与当前所述栅格邻近的其他所述栅格添加至所述目标范围中。
71.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
72.至少一个处理器;以及
73.与所述至少一个处理器通信连接的存储器;其中,
74.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的地面点的分割方法。
75.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现本发明任一实施例所述的地面点的分割方法。
76.在本实施例中,控制激光雷达采集点云数据;在激光雷达扫描所述点云数据的空间内的一平面上划分多个栅格;将点云数据投影至各个栅格内;依据点云数据在一个或多个栅格内呈现的高度差与倾斜角,分割出语义为地面的点云数据,作为地面点。本实施例按照栅格组织点云数据分割地面点,对点云数据进行细颗粒度的分割地面点,可以减少对点云数据的稠密度的依赖,且这种方式均适用于环形线、扫描线等类型的点云数据,适用性广,针对一个或多个栅格,使用高度差与倾斜角分割地面点,提高了分割点云数据时对平面路面、斜坡路面等多个场景的适应性,提高了分割地面点的准确性,提高了分割地面点的鲁棒性。
77.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
78.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
79.图1是根据本发明实施例一提供的一种地面点的分割方法的流程图;
80.图2是根据本发明实施例一提供的一种激光雷达扫描点云数据的示意图;
81.图3是根据本发明实施例一提供的一种圆形区域的示例图;
82.图4是根据本发明实施例一提供的一种栅格的示例图;
83.图5是根据本发明实施例一提供的一种分割地面点的示例图;
84.图6是根据本发明实施例二提供的一种地面点的分割装置的结构示意图;
85.图7是实现本发明实施例三提供的一种电子设备的结构示意图。
具体实施方式
86.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
87.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
88.实施例一
89.图1为本发明实施例一提供的一种地面点的分割方法的流程图,本实施例可适用于依据一个或多个格栅中点云数据的高度差、倾斜角分割地面点的情况,该方法可以由地面点的分割装置来执行,该地面点的分割装置可以采用硬件和/或软件的形式实现,该地面点的分割装置可配置于电子设备中。如图1所示,该方法包括:
90.步骤101、控制激光雷达采集点云数据。
91.在本实施例中,可以在机器人、车辆等电子设备中安装激光雷达,该激光雷达通常为多线激光雷达,多线激光雷达是指同时发射及接收多束激光的激光旋转测距雷达。
92.在实际应用中,多线激光雷达有4线、8线、16线、32线、64线和128线等,多线激光雷达可以识别物体的高度信息并获取周围环境的3d(三维)扫描图,对比上一帧点云数据及下一帧点云数据之间的变化,可检测出周围的车辆及行人等。
93.此外,多线激光雷达可同步建图(slam),通过实时得到的全局地图与高精度地图中的特征物进行比对,能加强电子设备的定位精度并实现自主导航。
94.如图2所示,在电子设备运行的过程中,可实时控制激光雷达200对周边的环境发射激光信号,采集到的物体信息呈现出一系列分散的、具有准确角度和距离信息的点,记为点云数据,点云数据中的每个点均包含三维空间的坐标(x,y,z)。
95.此外,点云数据的类型可以包括环形线、扫描线等等。
96.步骤102、在激光雷达扫描点云数据的空间内的一平面上划分多个栅格。
97.在本实施例中,在激光雷达可扫描到点云数据的空间内切割一平面,在该平面上划分多个栅格。
98.在具体实现中,可以根据业务的需求在激光雷达扫描点云数据的空间内设置参考点,该参考点为划分栅格的参考。
99.在一个示例中,将安装激光雷达的位置设置为参考点。
100.在另一个示例中,若激光雷达安装在机器人上,则将机器人中指定的部件(如摄像头等)所处的位置设置为参考点。
101.当然,上述参考点只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它参考点,本发明实施例对此不加以限制。另外,除了上述参考点外,本领域技术人员还可以根据实际需要采用其它参考点,本发明实施例对此也不加以限制。
102.以参考点为顶点、在垂直方向上按照一定的划分规则(如间隔固定的角度,即每相邻两个扫描空间之间形成的夹角相同)将激光雷达扫描点云数据的空间划分多个圆锥形的空间,作为扫描空间。
103.在三维空间中确定一平面,该平面一般与三维空间中的水平面平行,如图3所示,将该平面与多个扫描空间相交,以在平面上形成多个圆心相同的圆形区域201,其中,圆心为参考点在该平面的投影。
104.如图4所示,以圆心为端点,按照一定的划分规则(如间隔固定的角度,即每相邻两条射线之间形成的夹角相同)生成多条射线202,即多条射线202均以圆心为端点。
105.将多条射线202分别与多个圆形区域201相交,以在平面上形成多个栅格203,其中,并不包含圆心的栅格203由相邻两个圆形区域201的边缘及相邻两条射线202组成,包含圆心的栅格203由圆心、个圆形区域201的边缘及相邻两条射线202组成。
106.设圆形区域的数量为m(m为正整数),射线的数量为n(n为正整数),则可形成m
×
n个栅格。
107.在本示例中,单个格栅的形状呈扇形、整体的分布也呈扇形,可以贴合点云数据的分布情况,可提高点云数据与栅格之间的匹配程度。
108.当然,上述划分栅格的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它划分栅格的方式,例如,以参考点在一平面上的投影为中心生成等边多边形,将各个等边多边形的角点相连形成多个栅格,或者,等等,本发明实施例对此不加以限制。另外,除了上述划分栅格的方式外,本领域技术人员还可以根据实际需要采用其它划分栅格的方式,本发明实施例对此也不加以限制。
109.步骤103、将点云数据投影至各个栅格内。
110.在本实施例中,如图5所示,可以以格栅为参考,对点云数据进行切分,将各个点云数据投影到各个平面上,使其落入各个栅格中,从而得到多个点云数据的集合。
111.在具体实现中,可以将点云数据各个点的横坐标x、纵坐标y与各个栅格的范围进行比较。
112.若点云数据中某个点横坐标x与纵坐标y位于某个栅格的范围中,则将点云数据中该点投影至该栅格中。
113.步骤104、依据点云数据在一个或多个栅格内呈现的高度差与倾斜角,分割出语义为地面的点云数据,作为地面点。
114.在本实施例中,可以按照一定的顺序遍历各个栅格,针对投影到每个栅格中的点云数据,可计算在一个或多个栅格(含当前栅格)的范围所有点云数据内呈现的高度差与倾斜角。
115.如图5所示,如果遍历栅格的顺序为自内(即圆心)向外,则可以独立对各个扇区204进行遍历,在各个扇区204中自内(即圆心)向外遍历各个栅格,其中,扇区204包括由相
同的两条射线划分的所有栅格。
116.由于点云数据呈现的是一个不规则的图形,那么,高度差可以为这些点云数据中选择在高度上具有统计意义的差距,倾斜角可以为这些点云数据中选择在倾斜上具有统计意义的角度。
117.地面点与非地点点在高度差、倾斜角上具有关联的特性,参考该高度差及倾斜角分割出语义为地面的点云数据,记为地面点。
118.在本发明的一个实施例中,步骤104可以包括如下步骤:
119.步骤1041、将当前栅格添加至目标范围。
120.在按照一定顺序遍历各个格栅的过程中,可以依次选择当前格栅,对当前格栅设置一个变量,记为目标范围,在初始时,将当前格栅添加至目标范围中,后续可以继续添加其他格栅到目标范围,也可以不添加其他格栅到目标范围,本实施例对此不加以限制。
121.步骤1042、计算位于目标范围内的点云数据呈现的高度差与倾斜角。
122.在本实施例中,可以经过一轮或多轮迭代从所有点云数据中分割出语义为地面的点云数据(即地面点)。
123.在每轮迭代中,目标范围内的点云数据除了当前栅格内的点云数据之外,也可能包含其他格栅内的点云数据,此时,针对目标范围内的点云数据计算其在整体上呈现的高度差与倾斜角。
124.示例性地,可从位于目标范围内的点云数据中分别挑选第一极值点、第二极值点、第三极值点、第四极值点。
125.其中,第一极值点为垂直坐标z最大的点云数据、第二极值点为垂直坐标z最小的点云数据、第三极值点为与所有栅格的中心点(如圆心)之间的水平距离最大的点云数据、第四极值点为与所有栅格的中心点之间的水平距离最小的点云数据,水平距离可以点云数据的横坐标x、纵坐标y与所有栅格的中心点的横坐标x、纵坐标y之间的欧式距离等方式表示。
126.计算第一极值点与第二极值点在垂直方向上的差异,获得高度差,即高度差为目标范围内的点云数据在垂直方向上最大的幅值。
127.计算第三极值点与第四极值点在水平方向上的差异,获得距离差,即距离差为目标范围内的点云数据在水平方向(又称径向)上最大的幅值。
128.对高度差与距离差之间的比值取反正切值,获得倾斜角,即倾斜角为目标范围内的点云数据最大倾斜的角度。
129.在本示例,倾斜角的计算过程可以表示为theta=atan(diffh/diffr),其中,theta为倾斜角,atan为求反正切值的函数,diffh为高度差,diffr为距离差。
130.步骤1043、若高度差小于或等于预设的第一阈值,且,倾斜角均小于或等于预设的第二阈值,则判断是否具有与当前栅格邻近的其他栅格;若否,则执行步骤1044,若是,则执行步骤1045。
131.步骤1044、将与当前栅格邻近的其他栅格添加至目标范围中,返回执行步骤1042。
132.步骤1045、确定投影至当前所述栅格内的所述点云数据的语义均为地面,作为地面点。
133.在每轮迭代中,分别将高度差与预设的第一阈值(如5厘米)进行比较,将倾斜角与
预设的第二阈值(如20
°
)进行比较。
134.其中,第二阈值可以根据安装激光雷达的电子设备所提供的爬坡能力设置,如果该电子设备周边环境的倾斜角在该电子设备的爬坡能力内(倾斜角小于或等于第二阈值),则可认为是地面,如果该电子设备周边环境的倾斜角超越该电子设备的爬坡能力(倾斜角大于第二阈值),则可认为是障碍物。
135.进一步而言,障碍物是相对于该电子设备的爬坡能力而言的,即便电子设备面向的是真实的斜坡,但其超越该电子设备的爬坡能力,对于电子设备而言,电子设备无法通行该斜坡,该斜坡被认为是障碍物。
136.在任一轮迭代中,若高度差大于预设的第一阈值,和/或,倾斜角度大于预设的第二阈值,表示目标范围的点云数据整体高度较高和/或目标范围的点云数据整体倾斜较大,并不符合地面点的特性,则可以确定投影至当前栅格内的点云数据的语义均为非地面,停止对投影至当前栅格内的点云数据进行迭代。
137.若高度差小于或等于预设的第一阈值,且,倾斜角度小于或等于预设的第二阈值,表示目标范围的点云数据整体高度较低和/或目标范围的点云数据整体倾斜较小,符合地面点的特性,投影至当前栅格内的点云数据的语义均有可能为地面。
138.考虑到在一定较小的区域内,地面较少发生突变,那么,在当前栅格的邻域内,点云数据的特性也是较为稳定的。
139.因此,在本实施例中,可针对当前栅格设置与其邻近的其他栅格,组成当前栅格的邻域,使用当前栅格及其邻近的其他栅格内的点云数据分割地面点,在一定程度上要求投影至当前栅格内的点云数据在当前栅格及其邻近的其他栅格内的点云数据稳定,增加分割地面点的精确度,相应地,每增加一个邻近的其他栅格,迭代的次数增加一次,运算的耗时也会相应增加。
140.需要说明的是,当前栅格及其邻近的其他栅格的数量在增长到一定数量时,因涉及的区域过大,可能会降低分割地面点的精确度。
141.因此,本实施例中可以根据业务的需求预先进行设置与当前栅格邻近的其他栅格的数量及相对于当前格栅的位置,在某些情况下,与当前栅格邻近的其他栅格的数量为0,优选地,与当前栅格邻近的其他栅格的数量为1。
142.在每轮迭代中,如果高度差小于或等于预设的第一阈值,且,倾斜角度小于或等于预设的第二阈值,则可以寻找剩余未添加到目标范围、且与前栅格邻近的其他栅格,将该栅格添加至目标范围中,进行下一轮迭代。
143.在一种邻域的示例中,如果遍历各个栅格的方向为自内向外,即,自所有栅格的中心点向外,此时,可以确定目标方向,该目标方向为自当前栅格指向所有栅格的中心点,沿目标方向将与当前栅格邻近的其他栅格添加至目标范围中。
144.例如,如图5所示,针对当前栅格a1,栅格a2、栅格a3与当前栅格a1临近,在第一轮迭代中,计算栅格a1内的点云数据的高度差与倾斜角,若栅格a1内点云数据的高度差小于或等于预设的第一阈值,且,倾斜角度小于或等于预设的第二阈值,则进入第二轮迭代,在第二轮迭代中,计算栅格a1与栅格a2内点云数据的高度差与倾斜角,若栅格a1与栅格a2内的点云数据的高度差小于或等于预设的第一阈值,且,倾斜角度小于或等于预设的第二阈值,进入第三轮迭代,在第三轮迭代中,计算栅格a1、栅格a2与栅格a3内的点云数据的高度
差与倾斜角,若栅格a1、栅格a2与栅格a3内点云数据的高度差小于或等于预设的第一阈值,且,倾斜角度小于或等于预设的第二阈值,则可以确定栅格a1内的点云数据的语义为地面。
145.目前,在分割地面点时,水平面校准法、法向量法、径向射线法计算效率比较低,对点云数据的稠密度依赖较大。
146.栅格高度差法、栅格最低高度法、绝对高度法、平均高度法等依赖于点云数据的高度,容易导致误检或漏检。
147.另外,上述分割地面点的方法,都无法很好地适应斜坡路面的地面点。
148.其中,径向射线法通过手动设定超参来进行斜坡路面的地面点云分割,但是,其对场景的适应性较差,易导致误检或漏检,且无法适用于扫描线类型的点云数据。
149.在本实施例中,控制激光雷达采集点云数据;在激光雷达扫描所述点云数据的空间内的一平面上划分多个栅格;将点云数据投影至各个栅格内;依据点云数据在一个或多个栅格内呈现的高度差与倾斜角,分割出语义为地面的点云数据,作为地面点。本实施例按照栅格组织点云数据分割地面点,对点云数据进行细颗粒度的分割地面点,可以减少对点云数据的稠密度的依赖,且这种方式均适用于环形线、扫描线等类型的点云数据,适用性广,针对一个或多个栅格,使用高度差与倾斜角分割地面点,提高了分割点云数据时对平面路面、斜坡路面等多个场景的适应性,提高了分割地面点的准确性,提高分割地面点的鲁棒性。
150.实施例二
151.图6为本发明实施例二提供的一种地面点的分割装置的结构示意图。如图6所示,该装置包括:
152.点云数据扫描模块601,用于控制激光雷达采集点云数据;
153.栅格划分模块602,用于在所述激光雷达扫描所述点云数据的空间内的一平面上划分多个栅格;
154.点云数据投影模块603,用于将所述点云数据投影至各个所述栅格内;
155.地面点分割模块604,用于依据所述点云数据在一个或多个所述栅格内呈现的高度差与倾斜角,分割出语义为地面的所述点云数据,作为地面点。
156.在本发明的一个实施例中,所述栅格划分模块602包括:
157.参考点设置模块,用于在所述激光雷达扫描所述点云数据的空间内设置参考点;
158.扫描空间划分模块,用于以所述参考点为顶点、在垂直方向上将所述激光雷达扫描所述点云数据的空间划分多个圆锥形的空间,作为扫描空间;
159.平面相交模块,用于将一平面与多个所述扫描空间相交,以在所述平面上形成多个圆心相同的圆形区域,所述圆心为所述参考点在所述平面的投影;
160.射线相交模块,用于将多条射线分别与多个所述圆形区域相交,以在所述平面上形成多个栅格,多条所述射线均以所述圆心为端点。
161.在本发明的一个实施例中,所述参考点设置模块包括:
162.自身设置模块,用于将安装所述激光雷达的位置设置为参考点;
163.或者,
164.部件设置模块,用于若所述激光雷达安装在机器人上,则将所述机器人中指定的部件所处的位置设置为参考点。
165.在本发明的一个实施例中,所述点云数据投影模块603包括:
166.栅格比较模块,用于将所述点云数据的横坐标、纵坐标与各个所述栅格进行比较;
167.栅格投影模块,用于若所述横坐标与所述纵坐标位于某个所述栅格中,则将所述点云数据投影至所述栅格中。
168.在本发明的一个实施例中,所述地面点分割模块604包括:
169.当前栅格添加模块,用于将当前所述栅格添加至目标范围;
170.障碍信息计算模块,用于计算位于所述目标范围内的所述点云数据呈现的高度差与倾斜角;
171.邻域判断模块,用于若所述高度差小于或等于预设的第一阈值,且,所述倾斜角均小于或等于预设的第二阈值,则判断是否具有与当前所述栅格邻近的其他所述栅格;若否,则调用邻近栅格添加模块,若是,则调用地面点确定模块;
172.邻近栅格添加模块,用于将与当前所述栅格邻近的其他所述栅格添加至所述目标范围中,返回调用所述障碍信息计算模块;
173.地面点确定模块,用于确定投影至当前所述栅格内的所述点云数据的语义均为地面,作为地面点。
174.在本发明的一个实施例中,所述地面点分割模块604还包括:
175.非地面点确定模块,用于若所述高度差大于预设的第一阈值和/或所述倾斜角度大于预设的第二阈值,则确定投影至当前所述栅格内的所述点云数据的语义均为非地面。
176.在本发明的一个实施例中,所述障碍信息计算模块包括:
177.极值点挑选模块,用于从位于所述目标范围内的所述点云数据中分别挑选第一极值点、第二极值点、第三极值点、第四极值点,所述第一极值点为垂直坐标最大的点云数据、所述第二极值点为垂直坐标最小的点云数据、所述第三极值点为与所有所述栅格的中心点之间的水平距离最大的点云数据、所述第四极值点为与所有所述栅格的中心点之间的水平距离最小的点云数据;
178.高度差计算模块,用于计算所述第一极值点与所述第二极值点在垂直方向上的差异,获得高度差;
179.距离差计算模块,用于计算所述第三极值点与所述第四极值点在水平方向上的差异,获得距离差;
180.倾斜角计算模块,用于对所述高度差与所述距离差之间的比值取反正切值,获得倾斜角。
181.在本发明的一个实施例中,所述邻近栅格添加模块包括:
182.目标方向确定模块,用于确定目标方向,所述目标方向为自当前所述栅格指向所有所述栅格的中心点;
183.目标方向添加模块,用于沿所述目标方向将与当前所述栅格邻近的其他所述栅格添加至所述目标范围中。
184.本发明实施例所提供的地面点的分割装置可执行本发明任意实施例所提供的地面点的分割方法,具备执行地面点的分割方法相应的功能模块和有益效果。
185.实施例三
186.图7示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备
旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
187.如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom12以及ram13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
188.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
189.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,如地面点的分割方法。
190.在一些实施例中,地面点的分割方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram13并由处理器11执行时,可以执行上文描述的地面点的分割方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行地面点的分割方法。
191.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
192.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
193.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
194.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
195.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
196.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
197.实施例四
198.本发明实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序在被处理器执行时实现如本发明任一实施例所提供的地面点的分割方法。
199.计算机程序产品在实现的过程中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如java、smalltalk、c++,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
200.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例
如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
201.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1