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

机器人、障碍物探测方法、装置、计算机设备及存储介质与流程

2022-04-16 12:10:12 来源:中国专利 TAG:


1.本公开涉及机器视觉技术领域,具体而言,涉及一种机器人、障碍物探测方法、装置、计算机设备及存储介质。


背景技术:

2.随着计算机软硬件的快速发展,人工智能技术日益成熟,作为人工智能走向落地的重要应用,机器人受到了广泛的关注。例如在智能仓储领域,智能搬运机器人被大量应用于物品的搬运、堆垛等,并逐渐替代人力成为智能仓储链的重要组成。
3.为了保障智能仓储机器人的自身和周围环境的安全,通常会在机器人上安装激光雷达传感器、彩色相机、飞行时间(time of flight,tof)深度相机等设备来对机器人周围环境进行感知。在利用tof深度相机对立体空间中的障碍物进行检测时,存在误检测问题,影响机器人运行效率。


技术实现要素:

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.一种可选的实施方式中,所述点云组的法向量变换频度采用下述方式获得:
80.确定所述点云组的多个第一点云点中每个第一点云点的法向量,并确定所述每个第一点云点的法向量与预设方向的第二夹角;
81.基于每个第一点云点对应的第二夹角,从多个预设夹角区间中,确定所述第一点云点对应的目标夹角区间;
82.基于多个第一点云点对应的目标夹角区间的数量,确定所述点云组的法向量变换频度。
83.一种可选的实施方式中,在确定所述每个点云组的分类后,还包括:在所述至少一个点云组中的第一点云组的分类结果指示该第一点云组表征的表面存在弯曲度突变的情况下,
84.将所述第一点云组作为新的点云数据,并基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类,形成至少一个新的点云组。
85.一种可选的实施方式中,所述基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类之前,还包括:
86.对所述第一点云组中各个点云点的法向量进行更新。
87.一种可选的实施方式中,基于所述每个点云组的分类结果,确定所述每个点云组
对应的障碍物检测结果,包括:
88.在所述至少一个点云组中的第二点云组的分类结果指示该第二点云组表征的表面存在弯曲度稳定变化的情况下,将所述第二点云组表征的物体确定为障碍物;
89.在所述至少一个点云组中的第三点云组的分类结果指示该第三点云组表征的表面存在弯曲度平缓的情况下,针对所述第三点云组中的每两个第三点云组,对所述每两个第三点云组进行凸连接检测;在所述每两个第三点云组具有凸连接关系的情况下,将所述每两个第三点云组确定为障碍物。
90.第三方面,本公开实施例还提供一种障碍物探测装置,包括:
91.获取模块,用于获取目标空间的点云数据。
92.聚类模块,用于基于所述点云数据中点云点的第一属性信息,对所述点云数据中的点云点进行聚类,形成至少一个点云组。
93.分类模块,用于利用所述至少一个点云组中每个点云组的第二属性信息,从多个预设分类中,确定所述每个点云组的分类。
94.确定模块,用于基于所述每个点云组的分类结果,确定所述每个点云组对应的障碍物检测结果。
95.一种可能的实施方式中,所述获取模块在获取目标空间的点云数据时用于:
96.利用深度相机采集第一原始点云数据;
97.基于所述目标空间的空间范围信息,从所述第一原始点云数据中,确定所述目标空间的点云数据。
98.一种可能的实施方式中,所述获取模块在获取目标空间的点云数据时,用于:
99.获取目标空间的第二原始点云数据;
100.对所述第二原始点云数据进行滤波处理,得到所述目标空间的点云数据。
101.一种可能的实施方式中,第一属性信息,包括下述至少一种:
102.不同点云点之间的空间距离、不同点云点之间的颜色距离、不同点云点之间的法向量距离、不同点云点之间的密度距离、不同点云点之间的梯度距离。
103.在一种可能的实施方式中,所述不同点云点之间的空间距离,包括下述至少一种:
104.欧式距离、马氏距离、汉明距离、以及曼哈顿距离。
105.一种可能的实施方式中,所述聚类模块,用于采用下述方式获取不同点云点之间的颜色距离:
106.基于所述目标空间的二维图像,以及所述二维图像中各个像素点与所述点云数据中各个点云点之间的映射关系,确定每个所述点云点的像素值;
107.基于不同点云点分别对应的像素值,确定所述不同点云点之间的颜色距离。
108.一种可能的实施方式中,所述聚类模块,用于采用下述方式获取不同点云点之间的法向量距离:
109.确定所述点云数据中每个点云点分别对应的法向量;
110.将所述不同点云点分别对应的法向量之间的第一夹角,确定为所述不同点云点之间的法向量距离。
111.一种可能的实施方式中,所述聚类模块,用于采用下述方式获取不同点云点之间的密度距离:
112.基于所述点云数据,建立八叉树;
113.基于所述八叉树,确定所述每个点云点在所述八叉树中所处目标叶子节点的密度数值;其中,所述点云点在八叉树中所处目标叶子节点的密度数值,为所述目标叶子节点的父节点所拥有的叶子节点的数量;
114.基于所述不同点云点分别对应的密度数值,确定所述不同点云点之间的密度距离。
115.一种可能的实施方式中,所述聚类模块,用于采用下述方式获取不同点云点之间的梯度距离:
116.基于所述不同点云点分别在所述目标空间内的位置信息,确定所述不同点云点分别对应的深度值;
117.基于所述不同点云点分别对应的深度值,确定所述不同点云点之间的梯度距离。
118.一种可能的实施方式中,所述分类模块,在利用所述至少一个点云组中每个点云组的第二属性信息,从多个预设分类中,确定所述每个点云组的分类时,用于:
119.针对所述每个点云组,根据所述每个点云组中点云点的第二属性信息,确定用于表征所述点云组的特征数据;
120.利用预先训练的分类器,对所述特征数据进行分类处理,得到所述每个点云组对应的分类。
121.一种可能的实施方式中,所述第二属性信息包括:
122.所述点云组的法向量变换频度、所述点云组的密度信息、以及所述点云组的纹理信息中至少一种。
123.一种可能的实施方式中,所述分类模块,用于采用下述方式获取点云组的法向量变换频度:
124.确定所述点云组的多个第一点云点中每个第一点云点的法向量,并确定所述每个第一点云点的法向量与预设方向的第二夹角;
125.基于每个第一点云点对应的第二夹角,从多个预设夹角区间中,确定所述第一点云点对应的目标夹角区间;
126.基于多个第一点云点对应的目标夹角区间的数量,确定所述点云组的法向量变换频度。
127.一种可能的实施方式中,所述聚类模块,在确定所述每个点云组的分类后,还用于:在所述至少一个点云组中的第一点云组的分类结果指示该第一点云组表征的表面存在弯曲度突变的情况下,
128.将所述第一点云组作为新的点云数据,并基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类,形成至少一个新的点云组。
129.一种可能的实施方式中,所述聚类模块,在基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类之前,还用于:对所述第一点云组中各个点云点的法向量进行更新。
130.一种可能的实施方式中,所述确定模块,在基于所述每个点云组的分类结果,确定所述每个点云组对应的障碍物检测结果,包括:
131.在所述至少一个点云组中的第二点云组的分类结果指示该第二点云组表征的表
面存在弯曲度稳定变化的情况下,将所述第二点云组表征的物体确定为障碍物;
132.在所述至少一个点云组中的第三点云组的分类结果指示该第三点云组表征的表面存在弯曲度平缓的情况下,针对所述第三点云组中的每两个第三点云组,进行凸连接检测;在所述每两个第三点云组具有凸连接关系的情况下,将所述每两个第三点云组确定为障碍物。
133.第四方面,本公开可选实现方式还提供一种计算机设备,处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述处理器用于执行所述存储器中存储的机器可读指令,所述机器可读指令被所述处理器执行时,所述机器可读指令被所述处理器执行时执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
134.第五方面,本公开可选实现方式还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被运行时执行上述第二方面,或第二方面中任一种可能的实施方式中的步骤。
135.关于上述障碍物探测装置、计算机设备、及计算机可读存储介质的效果描述参见上述障碍物探测方法的说明,这里不再赘述。
136.本公开实施例提供的机器人、障碍物检测方法、装置、计算机设备及存储介质,利用属于同一物体的点云的特性接近且无法向量突变的原理,将目标空间的点云进行聚类,形成表征不同物体,或者表征同一物体不同部位的点云组,然后通过对点云组进行分类的结果,并利用不同点云组之间的凹凸性,确定与每个点云组对应的障碍物检测结果,进而无需考虑环境变化,如地面形状变化、深度相机的安装位姿变化等对检测结果造成的干扰,适应机器人运行过程中对环境的精确感应,提升机器人的运行效率。
137.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
138.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
139.图1示出了本公开实施例所提供的一种机器人的示意图;
140.图2示出了本公开实施例所提供的一种障碍物探测方法的流程图;
141.图3示出了本公开实施例所提供的一种障碍物探测装置的示意图;
142.图4示出了本公开实施例所提供的一种计算机设备的示意图。
具体实施方式
143.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非
旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
144.经研究发现,在利用tof深度相机对立体空间中的障碍物进行检测时,首先利用tof深度相机获得待检测的立体空间内的点云数据,然后对立体空间中的点云数据进行地面拟合,去除地面点云后,即可得到地面上障碍物的点云数据,后根据地面上障碍物的点云数据确定障碍物的与机器人的相对位置,并控制机器人根据该相对位置进行避障。这种方法中,为了去除地面点云需要提前标定地面,但在实际使用过程中,仓库中地面条件不一,有部分仓库存地面角度的起伏变化,导致地面无法准确标定;另外,随着运行时间增长,机器人上各个部件之间的连接结构会由于机器人运动时的震动发生一定的形变,这导致tof深度相机在机器人上的安装俯仰角会发生变化,机器人的安装俯仰角发生变化后,需要对标定地面的参数进行适应调整,在此之前的标定地面无法再和真实地面准确匹配,造成在基于之前的标定地面对立体空间中的地面数据进行地面拟合时,无法完全将地面点云数据去除,进而机器人会将属于地面的点云识别为障碍物,造成误避障,影响机器人运行效率。
145.基于上述研究,本公开提供了一种障碍物检测方法、装置、计算机设备及存储介质,利用属于同一物体的点云的特性接近且点云点的向量突变较少的原理,将目标空间的点云进行聚类,形成表征不同物体,或者表征同一物体不同部位的点云组,然后通过对点云组进行分类的结果,并利用不同点云组之间的凹凸性,确定与每个点云组对应的障碍物检测结果,进而无需考虑环境变化,如地面形状变化、深度相机的安装位姿变化等对检测结果造成的干扰,适应机器人运行过程中对环境的精确感应,提升机器人的运行效率。
146.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
147.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
148.为便于对本实施例进行理解,首先对本公开实施例所公开的一种障碍物探测方法进行详细介绍,本公开实施例所提供的障碍物探测方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等;其他设备例如为机器人、智能行驶车辆等。在一些可能的实现方式中,该障碍物探测方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
149.下面首先对本公开实施例提供的机器人加以说明。
150.参见图1所示,为本公开实施例提供的机器人的示意图,包括:深度相机10、行走机构20以及处理器30;
151.所述深度相机10用于获取目标空间的点云数据,并将所述点云数据发送至处理器;
152.所述处理器30用于基于所述点云数据中点云点的第一属性信息,对所述点云数据中的点云点进行聚类,形成至少一个点云组;利用所述至少一个点云组中每个点云组的第
二属性信息,从多个预设分类中,确定所述每个点云组的分类;基于所述每个点云组的分类结果,确定所述每个点云组对应的障碍物检测结果,并基于所述障碍物检测结果,控制所述行走机构20行走。
153.下面对上述机器人加以详细说明。
154.深度相机10,安装在机器人的预设位置上,可以采用例如双目、结构光、飞行时间法(time of flight,tof)对目标空间进行数据的采集。
155.行走机构20,例如包括车架、前桥、后桥、悬挂系统和车轮或履带等结构,一方面用于支撑机器人的机身等部分,另一方面用于根据实际行走任务的需求,实现机器人在目标空间内运动。行走机构能够受控于控制器的控制行走。
156.处理器30,在基于点云数据进行障碍物检测时,例如可以为单片机、数字信号处理技术(digital signal processing,dsp)芯片、现场可编程逻辑门阵列(field programmable gate array,fpga)芯片。处理器可以对深度相机获取的点云数据进行运算和处理,得到障碍物检测结果。
157.目标空间例如为机器人移动方向上,相对于机器人而言的一设定大小和设定位置的空间,目标空间的空间范围信息是机器人的感应设备在移动方向上的幅向感应深度和径向感应范围所决定的;具体的空间大小,和空间相对于机器人的位置可以根据实际的感应范围和探测需要进行具体的设定。
158.深度相机10在获取了目标空间的点云数据后,将点云数据发送给处理器30。
159.示例性的,本公开实施例在利用深度相机10获取目标空间的点云数据时:
160.(1):在一种可能的实施方式中,可以利用深度相机10采集第一原始点云数据。在第一原始点云数据中,包括了目标空间的点云数据。此时,深度相机10的探测范围大于或者等于目标空间的范围。然后基于目标空间的位置信息,从第一原始点云数据中,确定目标空间的点云数据。
161.在该种情况下,目标空间的位置信息,例如包括目标空间的至少一个参考点,在基于深度相机10建立的相机三维坐标系中的三维坐标值。然后基于目标空间的参考点在相机三维坐标系中的三维坐标值,从第一原始点云数据中,确定位于目标空间内的点云点,然后基于位于目标空间内的点云点,确定中间点云数据,并基于该中间点云数据得到目标空间的点云数据。
162.其中,目标空间的参考点根据目标空间的形状不同,会有所区别。示例性的,在目标空间为立方体的情况下,参考点例如包括:目标空间的中心点;此时,目标空间的位置信息还包括:立方体的边长。又例如,参考点例如为立方体的任一顶点;此时,目标空间的位置信息还包括:与该顶点相邻的其他顶点,相对于顶点的坐标偏移量。在目标空间的横截面为扇形的情况下,目标空间的参考点例如为扇形的顶点以及半径。
163.(2):在一种可能的实施方式中,可以将深度相机10能够探测到的空间作为目标空间。在该种情况下,可以直接将深度相机10采集的第一原始点云数据确定为目标空间的点云数据。
164.另外,深度相机10对空间进行探测得到的第一原始点云数据中,还可能包括噪声引起的离群点。
165.因此,还可以获取目标空间的第二原始点云数据,并对所述第二原始点云数据进
行滤波处理,得到所述目标空间的点云数据。
166.此时,目标空间的第二点云数据,例如为上述(1)中得到的中间点云数据,还可以为上述(2)中的第一原始点云数据。
167.在对第二原始点云数据进行滤波后,能够去除第二原始点云数据中由于噪声引起的离群点,避免离群点对点云点进行聚类时的结果造成的干扰。
168.点云点的第一属性信息例如包括但不限于下述a1~a5中一种或者多种:
169.a1:不同点云点之间的空间距离。
170.此处,不同点云点之间的空间距离,例如包括下述至少一种:欧式距离、马氏距离、汉明距离、以及曼哈顿距离。一般地,不同点云点之间的空间距离越小,表征该两个点云点属于同一物体的概率就越大。
171.处理器30在确定不同点云点之间的空间距离时,例如能够获知各个点云点在相机三维坐标系中的坐标值;然后基于不同的点云点分别在相机三维坐标系中坐标值,计算不同点云点之间的空间距离。
172.a2:不同点云点之间的颜色距离。
173.此处,不同点云点之间的颜色距离,例如为不同点云点表征的不同物体在对应空间点上的颜色的差异;一般地,点云点之间的颜色差异越小,属于同一物体的概率越大。
174.具体地,处理器30例如可以采用下述方式获取不同点云点之间的颜色距离:
175.基于所述目标空间的二维图像,以及所述二维图像中各个像素点与所述点云数据中各个点云点之间的映射关系,确定每个所述点云点的像素值;基于不同点云点分别对应的像素值,确定所述不同点云点之间的颜色距离。
176.此处,处理器30在获取目标空间的点云数据时,还可以同步获取目标空间的二维图像;在深度相机10和获取二维图像的色彩相机位置相对固定的情况下,目标空间中各个空间点与二维图像中的各个像素点具有固定的映射关系。因此,处理器30在确定了目标空间的点云数据后,能够确定点云数据中各个点云点与二维图像中各个像素点的映射关系。基于该映射关系,以及二维图像中各个像素点的像素值,即能够确定各个点云点的像素值,然后,处理器30基于不同点云点的像素值,确定不同点云点之间的颜色距离。
177.目标空间的二维图像,例如是通过色彩相机获得的图像。该二维图像例如为灰度图像、rgb图像、hsb图像等。
178.示例性的,针对二维图像为灰度图像的情况下,二维图像中的各个像素点的像素值,为该像素点的灰度值;则确定的不同点云点的像素值,也为不同点云点分别对应的灰度值;将不同点云点分别对应的灰度值的差值,确定为不同点云点之间的颜色距离。
179.针对二维图像为rgb图像的情况下,二维图像中任一像素点的像素值包括红色(red,r)通道下的颜色值、绿色(green,g)通道下的颜色值,以及蓝色(blue,b)通道下的颜色值;则对应点云点的像素值,可以表示为(r,g,b);r、g和b分别表示在r通道、g通道和b通道下的颜色值。
180.两个点云点的像素值,分别表示为:(r1,g1,b1)和(r2,g2,b2),则该两个点云点之间的颜色距离l例如为:
181.针对二维图像为hsb图像的情况下,二维图像中任一像素点的像素值包括色调
(hues,h)值、饱和度(saturation,s)值、以及亮度(brightness,b)值;也即与像素点对应的点云点的颜色也可以表示为:色调值、饱和度值、以及亮度值。然后处理器30基于不同点云点分别对应的色调值、饱和度值、以及亮度值,得到不同点云点的颜色距离。
182.a3:不同点云点之间的法向量距离。
183.不同点云点之间的法向量距离,例如可以为不同点云点分别对应的法向量之间的夹角来表征。一般地,不同点云点之间的法向量的夹角越小,表征该两个点云点属于同一物体的概率就越大。
184.在具体实施中,例如可以首先确定点云数据中每个点云点分别对应的法向量,然后将所述不同点云点分别对应的法向量之间的第一夹角,确定为所述不同点云点之间的法向量距离。
185.此处,处理器30例如采用下述方式获取点云数据中任一点云点的法向量:
186.基于所述目标空间的点云数据,将目标空间中任一点云点作为第一顶点,将目标空间与该第一顶点之间的距离小于预设的第一距离阈值的其他点云点作为第二顶点,并基于第一顶点和至少两个第二顶点构成至少一个多边形面片;并确定构成的至少一个多边形面片中每个多边形面片的法向量。
187.将至少一个多边形面片对应的法向量的均值,确定该第一顶点对应的点云点的法向量。
188.在确定了不同点云点分别对应的法向量后,由于法向量能够表征法向量在空间中的角度,进而根据不同点云点分别对应的法向量,确定不同点云点分别对应的法向量之间的第一夹角,也即不同点云点的法向量距离。
189.a4:不同点云点之间的密度距离。
190.一般地,不同点云点之间的密度距离越接近,表征该不同点云点属于同一物体的概率就越大。
191.处理器30例如可以采用下述方式两种方式中任一种获取不同点云点之间的密度距离:
192.其一:针对点云数据中的任一点云点,以该点云点为中心,确定一尺寸一定的子空间,并基于点云数据,确定位于该子空间内的点云点的数量;将子空间的点云点的数量,确定为与该点云点对应的密度。针对不同点云点,计算不同点云点分别对应的密度的差值,得到不同点云点之间的密度距离。
193.其二:基于所述点云数据,建立八叉树;基于所述八叉树,确定所述每个点云点在所述八叉树中所处目标叶子节点的密度数值;其中,所述点云点在八叉树中所处目标叶子节点的密度数值,为所述目标叶子节点的父节点所拥有的叶子节点的数量;基于所述不同点云点分别对应的密度数值,确定所述不同点云点之间的密度距离。
194.此时,可以将不同点云点分别对应的密度数值的差值,确定为不同点云点之间的密度距离。
195.a5:不同点云点之间的梯度距离。
196.点云点的梯度,例如包括:点云点在相机三维坐标系中的深度值。一般地,不同点云点之间的梯度距离越接近,表征该不同点云点属于同一物体的概率就越大。
197.在具体实施中,处理器30例如可以采用下述方式获取不同点云点之间的梯度距
离:
198.基于所述不同点云点分别在所述目标空间内的位置信息,确定各个点云点的梯度值,进而基于不同点云点分别对应的梯度值,计算不同点云点之间的梯度距离。
199.在具体实施中,各个点云点的梯度值,例如为针对每个点云点,按照其对应的领域点云点,计算x方向和y方向的梯度s1和s2;然后计算s1和s2的平方和开方,得到该点云点的梯度值。
200.在确定了点云数据中各个点云点的第一属性信息后,处理器30即能够基于各个点云点的第一属性信息,对点云数据中的点云点进行聚类。
201.聚类方法例如可以采用下述至少一种:划分方法(如k-means算法、k-medoids算法、或clarans算法)、层次方法(birch算法、cure算法、或chameleon算法)、基于密度的方法(dbscan算法、optics算法、denclue算法)、基于网格的方法(sting算法、clique算法、wave-cluster算法)、基于模型的方法等,具体可以根据实际的需要进行选择。
202.示例性的,在基于点云点的第一属性信息进行聚类时,处理器30例如可以基于不同点云点分别对对应的第一属性信息,确定不同第一点云点之间的差异度,然后基于该差异度,对点云点进行聚类。
203.该差异度diff例如满足下述公式(1):
204.diff=w
dis
*d
dis
wc*dc wn*dn wg*dg w
grad
*d
grad
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
205.其中,wi,i∈[dis,c,n,g,grad]表示权重。
[0206]ddis
表示不同点云点之间的空间距离;dc表示不同点云点之间的颜色距离;dn表示不同点云点之间的法向量距离;dg表示不同点云点之间的密度距离;d
grad
表示不同点云点之间的梯度距离。
[0207]
通过上述过程,形成至少一个点云组。
[0208]
处理器30在针对每个点云组的第二属性信息对点云组进行分类的时候,例如可以采用下述方式:
[0209]
针对所述每个点云组,根据所述每个点云组中点云点的第二属性信息,确定用于表征所述点云组的特征数据;利用预先训练的分类器,对所述特征数据进行分类处理,得到所述每个点云组对应的分类。
[0210]
此处,预先训练的分类器例如为:逻辑回归分类器、支持向量机分类器、利用softmax、sigmoid等激活函数的分类器、随机森林等中任一种,具体可以根据实际的需要进行设定。
[0211]
分类器例如可以利用经过预先标注的样本训练得到。分类器能够对点云组进行分类,确定点云组在多个预设分类中归属的分类。
[0212]
点云组的第二属性信息例如包括但不限于下述b1~b3中至少一种:
[0213]
b1:所述点云组的法向量变换频度。
[0214]
在具体实施中,点云组的法向量变换频度越小,则该点云组表征的表面的弯曲度变化越小,表征点云组属于地面的概率越高。
[0215]
具体地,处理器30例如可以采用下述方式确定点云组的法向量变换频度:
[0216]
确定所述点云组的多个第一点云点中每个第一点云点的法向量,并确定所述每个第一点云点的法向量与预设方向的第二夹角;基于每个第一点云点对应的第二夹角,从多
个预设夹角区间中,确定所述第一点云点对应的目标夹角区间;基于多个第一点云点对应的目标夹角区间的数量,确定所述点云组的法向量变换频度。
[0217]
在具体实施中,第一点云点的法向量,能够表征在相机三维坐标系中的方向;也即,该法向量与相机三维坐标系中各个轴的夹角。预设方向例如为相机三维坐标系中至少一个轴所指向的方向。在确定了预设方向后,既能够确定法向量与该预设方向的第二夹角。
[0218]
然后,确定点云组的多个第一点云点,每个点云点对应的第二夹角所归属的目标夹角区间。统计多个第一点云点对应的目标夹角区间的数量,并将该数量确定为该点云组的法向量变换频度。
[0219]
多个第一点云点对应的目标夹角区间的数量越多,则表征对应点云组的法向量变换频度越高,对应表面的弯曲度变化越大,属于地面的概率越小,则响应的,属于地面上障碍物的概率也就越大。
[0220]
b2:所述点云组的密度信息。
[0221]
此处,点云组的密度信息,例如包括该点云组中多个第一点云点分别对应的密度值。
[0222]
第一点云点对应的密度值,处理器30例如可以采用上述a4中确定点云点的密度的方式获得,在此不再赘述。
[0223]
b3:所述点云组的纹理信息。
[0224]
点云组的纹理信息,例如包括点云组中多各第一点云点分别对应的像素值。
[0225]
第一点云点的像素值,处理器30例如可以采用上述a2中确定点云点的像素值的方式获得,在此不再赘述。
[0226]
处理器30在确定了点云组的第二属性信息后,基于第二属性信息,构成点云组的特征数据。
[0227]
示例性的,针对某个点云组,该点云组中的第一点云点数量为n,该点云组对应的法向量变换频度为a1,点云组的密度信息为:(b1,b2,

,bn),点云组中第一点云点的像素值为灰度值,对应的纹理信息为:(c1,c2,

,cn);则构成的特征数据例如可以为:(a1,b1,b2,

,bn,c1,c2,

,cn)。
[0228]
将该特征数据输入至分类器中,得到该点云组对应的分类。
[0229]
本公开实施例中,还提供一种多种分类类别的具体示例,包括:
[0230]
分类1:平缓的表面,例表征地面,课本,墙面等的点云组。
[0231]
分类2:弯曲度变换稳定的表面,例如表征杯体,鼠标体、摆放的货架、其他机器人的点云组。
[0232]
分类3:弯曲度存在突变的表面,例如表征包含地面的杯子底座点云组。
[0233]
在某个点云组对应的类别为分类3的情况下,并未完全将地面和障碍物的分别对应的点云区别开。因此,在该种情况下,也即点云组中的第一点云组的分类结果指示该对弈点云组表征的表面存在弯曲度突变的情况下,还可以将第一点云组作为新的点云数据,并基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类,形成至少一个新的点云组。
[0234]
这里,需要注意的是,处理器30在基于新的点云组中的点云点的第一属性信息,对新的点云数据中的点云点进行聚类之前,还会对第一点云组中各个点云点的法向量进行更
新。
[0235]
处理器30在对点第一点云组中各个点云点的法向量进行更新时,针对第一点云组中的各个点云点,设置一较之上述第一距离阈值更小的第二距离阈值,并基于第二距离阈值,为第一点云组中的各个点云点重新确定法向量。这样,能够以精细的粒度,实现对第一点云组中各个点云点更细粒度的聚类,更容易将表征不同物体的点云点划分至不同的新的点云组中。
[0236]
然后,针对新的点云组,处理器30利用新的点云组的第二属性信息,再次对新的点云组进行分类处理,直至所得到的点云组中,不存在类别为分类3的点云组为止,或者分类结果不再发生变化为止。
[0237]
处理器30在基于每个点云组的分类结果,确定每个点云组所对应障碍物检测结果时,
[0238]
在所述至少一个点云组中的第二点云组的分类结果指示该第二点云组表征的表面存在弯曲度稳定变化的情况下,针对分类结果为分类2的第二点云组,将该第二点云组表征的物体确定为障碍物。
[0239]
在所述至少一个点云组中的第三点云组的分类结果指示该第三点云组表征的表面存在弯曲度平缓的情况下,也即针对分类结果为分类1的第三点云组,针对所述第三点云组中的每两个第三点云组进行凸连接检测;在所述每两个第三点云组具有凸连接关系的情况下,将所述每两个第三点云组确定为障碍物。
[0240]
此处,例如可以基于健全标准(sanity criterion,sc)算法,对每两个第三点云组进行凸连接检测。
[0241]
通过该过程,能够将分类为1的第三点云组中,表征墙面等平缓表面的点云组,和表征地面的平缓表面的点云组区别开。
[0242]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0243]
基于同一发明构思,本公开实施例中还提供了与机器人对应的障碍物探测方法,由于本公开实施例中的方法解决问题的原理与本公开实施例上述机器人相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0244]
参见图2所示,为本公开实施例提供的障碍物探测方法的流程图,所述方法包括步骤s201~s204,其中:
[0245]
s201:获取目标空间的点云数据;
[0246]
s202:基于所述点云数据中点云点的第一属性信息,对所述点云数据中的点云点进行聚类,形成至少一个点云组;
[0247]
s203:利用所述至少一个点云组中每个点云组的第二属性信息,从多个预设分类中,确定所述每个点云组的分类;
[0248]
s204:基于所述每个点云组的分类结果,确定所述每个点云组对应的障碍物检测结果。
[0249]
本公开实施例利用目标空间的点云数据中点云点的第一属性信息,对点云数据中的点云点进行聚类,形成至少一个点云组,并利用至少一个点云组中每个点云组的第二属
性信息,从多个预设的分类中,确定每个点云组的分类,基于每个点云组的分类结果,确定所述每个点云组对应的障碍物的检测结果,该实施例利用了点云点之间的相似性来实现对表征不同物体、或相同物体上不同部件的点云进行分类,无需考虑环境变化,如地面形状变化、深度相机的安装位姿变化等对障碍物检测结果造成的干扰,适应机器人运行过程中对环境的精确感应,提升机器人的运行效率。
[0250]
其中,所述本公开实施例提供的障碍物探测方法在上述机器人的说明中已作出详细说明,在此不再赘述。
[0251]
一种可选的实施方式中,所述获取目标空间的点云数据,包括:
[0252]
利用深度相机采集第一原始点云数据;
[0253]
基于所述目标空间的空间范围信息,从所述第一原始点云数据中,确定所述目标空间的点云数据。
[0254]
一种可选的实施方式中,所述获取目标空间的点云数据,包括:
[0255]
获取目标空间的第二原始点云数据;
[0256]
对所述第二原始点云数据进行滤波处理,得到所述目标空间的点云数据。
[0257]
一种可选的实施方式中,所述第一属性信息,包括下述至少一种:
[0258]
不同点云点之间的空间距离、不同点云点之间的颜色距离、不同点云点之间的法向量距离、不同点云点之间的密度距离、不同点云点之间的梯度距离。
[0259]
一种可选的实施方式中,所述不同点云点之间的空间距离,包括下述至少一种:
[0260]
欧式距离、马氏距离、汉明距离、以及曼哈顿距离。
[0261]
一种可选的实施方式中,所述不同点云点之间的颜色距离采用下述方式获得:
[0262]
基于所述目标空间的二维图像,以及所述二维图像中各个像素点与所述点云数据中各个点云点之间的映射关系,确定每个所述点云点的像素值;
[0263]
基于不同点云点分别对应的像素值,确定所述不同点云点之间的颜色距离。
[0264]
一种可选的实施方式中,不同点云点之间的法向量距离采用下述方式获得:
[0265]
确定所述点云数据中每个点云点分别对应的法向量;
[0266]
将所述不同点云点分别对应的法向量之间的第一夹角,确定为所述不同点云点之间的法向量距离。
[0267]
一种可选的实施方式中,不同点云点之间的密度距离采用下述方式获得:
[0268]
基于所述点云数据,建立八叉树;
[0269]
基于所述八叉树,确定所述每个点云点在所述八叉树中所处目标叶子节点的密度数值;其中,所述点云点在八叉树中所处目标叶子节点的密度数值,为所述目标叶子节点的父节点所拥有的叶子节点的数量;
[0270]
基于所述不同点云点分别对应的密度数值,确定所述不同点云点之间的密度距离。
[0271]
一种可选的实施方式中,不同点云点之间的梯度距离采用下述方式获得:
[0272]
基于所述不同点云点分别在所述目标空间内的位置信息,确定所述不同点云点之间的梯度距离。
[0273]
一种可选的实施方式中,利用所述至少一个点云组中每个点云组的第二属性信息,从多个预设分类中,确定所述每个点云组的分类,包括:
[0274]
针对所述每个点云组,根据所述每个点云组中点云点的第二属性信息,确定用于表征所述点云组的特征数据;
[0275]
利用预先训练的分类器,对所述特征数据进行分类处理,得到所述每个点云组对应的分类。
[0276]
一种可选的实施方式中,所述第二属性信息包括:
[0277]
所述点云组的法向量变换频度、所述点云组的密度信息、以及所述点云组的纹理信息中至少一种。
[0278]
一种可选的实施方式中,所述点云组的法向量变换频度采用下述方式获得:
[0279]
确定所述点云组的多个第一点云点中每个第一点云点的法向量,并确定所述每个第一点云点的法向量与预设方向的第二夹角;
[0280]
基于每个第一点云点对应的第二夹角,从多个预设夹角区间中,确定所述第一点云点对应的目标夹角区间;
[0281]
基于多个第一点云点对应的目标夹角区间的数量,确定所述点云组的法向量变换频度。
[0282]
一种可选的实施方式中,在确定所述每个点云组的分类后,还包括:在所述至少一个点云组中的第一点云组的分类结果指示该第一点云组表征的表面存在弯曲度突变的情况下,
[0283]
将所述第一点云组作为新的点云数据,并基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类,形成至少一个新的点云组。
[0284]
一种可选的实施方式中,所述基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类之前,还包括:
[0285]
对所述第一点云组中各个点云点的法向量进行更新。
[0286]
一种可选的实施方式中,基于所述每个点云组的分类结果,确定所述每个点云组对应的障碍物检测结果,包括:
[0287]
在所述至少一个点云组中的第二点云组的分类结果指示该第二点云组表征的表面存在弯曲度稳定变化的情况下,将所述第二点云组表征的物体确定为障碍物;
[0288]
在所述至少一个点云组中的第三点云组的分类结果指示该第三点云组表征的表面存在弯曲度平缓的情况下,针对所述第三点云组中的每两个第三点云组,对所述每两个第三点云组进行凸连接检测;在所述每两个第三点云组具有凸连接关系的情况下,将所述每两个第三点云组确定为障碍物。
[0289]
参照图3所示,为本公开实施例提供的一种障碍物探测装置的示意图,所述装置包括:获取模块、聚类模块、分类模块、确定模块;其中,
[0290]
获取模块31,用于获取目标空间的点云数据。
[0291]
聚类模块32,用于基于所述点云数据中点云点的第一属性信息,对所述点云数据中的点云点进行聚类,形成至少一个点云组。
[0292]
分类模块33,用于利用所述至少一个点云组中每个点云组的第二属性信息,从多个预设分类中,确定所述每个点云组的分类。
[0293]
确定模块34,用于基于所述每个点云组的分类结果,确定所述每个点云组对应的障碍物检测结果。
[0294]
一种可能的实施方式中,所述获取模块31在获取目标空间的点云数据时用于:
[0295]
利用深度相机采集第一原始点云数据;
[0296]
基于所述目标空间的空间范围信息,从所述第一原始点云数据中,确定所述目标空间的点云数据。
[0297]
一种可能的实施方式中,所述获取模块31在获取目标空间的点云数据时,用于:
[0298]
获取目标空间的第二原始点云数据;
[0299]
对所述第二原始点云数据进行滤波处理,得到所述目标空间的点云数据。
[0300]
一种可能的实施方式中,第一属性信息,包括下述至少一种:
[0301]
不同点云点之间的空间距离、不同点云点之间的颜色距离、不同点云点之间的法向量距离、不同点云点之间的密度距离、不同点云点之间的梯度距离。
[0302]
在一种可能的实施方式中,所述不同点云点之间的空间距离,包括下述至少一种:
[0303]
欧式距离、马氏距离、汉明距离、以及曼哈顿距离。
[0304]
一种可能的实施方式中,所述聚类模块32,用于采用下述方式获取不同点云点之间的颜色距离:
[0305]
基于所述目标空间的二维图像,以及所述二维图像中各个像素点与所述点云数据中各个点云点之间的映射关系,确定每个所述点云点的像素值;
[0306]
基于不同点云点分别对应的像素值,确定所述不同点云点之间的颜色距离。
[0307]
一种可能的实施方式中,所述聚类模块32,用于采用下述方式获取不同点云点之间的法向量距离:
[0308]
确定所述点云数据中每个点云点分别对应的法向量;
[0309]
将所述不同点云点分别对应的法向量之间的第一夹角,确定为所述不同点云点之间的法向量距离。
[0310]
一种可能的实施方式中,所述聚类模块32,用于采用下述方式获取不同点云点之间的密度距离:
[0311]
基于所述点云数据,建立八叉树;
[0312]
基于所述八叉树,确定所述每个点云点在所述八叉树中所处目标叶子节点的密度数值;其中,所述点云点在八叉树中所处目标叶子节点的密度数值,为所述目标叶子节点的父节点所拥有的叶子节点的数量;
[0313]
基于所述不同点云点分别对应的密度数值,确定所述不同点云点之间的密度距离。
[0314]
一种可能的实施方式中,所述聚类模块32,用于采用下述方式获取不同点云点之间的梯度距离:
[0315]
基于所述不同点云点分别在所述目标空间内的位置信息,确定所述不同点云点之间的梯度距离。
[0316]
一种可能的实施方式中,所述分类模块33,在利用所述至少一个点云组中每个点云组的第二属性信息,从多个预设分类中,确定所述每个点云组的分类时,用于:
[0317]
针对所述每个点云组,根据所述每个点云组中点云点的第二属性信息,确定用于表征所述点云组的特征数据;
[0318]
利用预先训练的分类器,对所述特征数据进行分类处理,得到所述每个点云组对
应的分类。
[0319]
一种可能的实施方式中,所述第二属性信息包括:
[0320]
所述点云组的法向量变换频度、所述点云组的密度信息、以及所述点云组的纹理信息中至少一种。
[0321]
一种可能的实施方式中,所述分类模块33,用于采用下述方式获取点云组的法向量变换频度:
[0322]
确定所述点云组的多个第一点云点中每个第一点云点的法向量,并确定所述每个第一点云点的法向量与预设方向的第二夹角;
[0323]
基于每个第一点云点对应的第二夹角,从多个预设夹角区间中,确定所述第一点云点对应的目标夹角区间;
[0324]
基于多个第一点云点对应的目标夹角区间的数量,确定所述点云组的法向量变换频度。
[0325]
一种可能的实施方式中,所述聚类模块32,在确定所述每个点云组的分类后,还用于:在所述至少一个点云组中的第一点云组的分类结果指示该第一点云组表征的表面存在弯曲度突变的情况下,
[0326]
将所述第一点云组作为新的点云数据,并基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类,形成至少一个新的点云组。
[0327]
一种可能的实施方式中,所述聚类模块32,在基于新的所述点云组中点云点的第一属性信息,对所述新的点云数据中的点云点进行聚类之前,还用于:对所述第一点云组中各个点云点的法向量进行更新。
[0328]
一种可能的实施方式中,所述确定模块34,在基于所述每个点云组的分类结果,确定所述每个点云组对应的障碍物检测结果,包括:
[0329]
在所述至少一个点云组中的第二点云组的分类结果指示该第二点云组表征的表面存在弯曲度稳定变化的情况下,将所述第二点云组表征的物体确定为障碍物;
[0330]
在所述至少一个点云组中的第三点云组的分类结果指示该第三点云组表征的表面存在弯曲度平缓的情况下,针对所述第三点云组中的每两个第三点云组进行凸连接检测;在所述每两个第三点云组具有凸连接关系的情况下,将所述每两个第三点云组确定为障碍物。
[0331]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0332]
本公开实施例还提供了一种计算机设备,如图4所示,为本公开实施例提供的计算机设备结构示意图,包括:
[0333]
处理器41和存储器42;所述存储器42存储有处理器41可执行的机器可读指令,处理器41用于执行存储器42中存储的机器可读指令,所述机器可读指令被处理器41执行时,处理器41执行下述步骤:
[0334]
获取目标空间的点云数据;
[0335]
基于所述点云数据中点云点的第一属性信息,对所述点云数据中的点云点进行聚类,形成至少一个点云组;
[0336]
利用所述至少一个点云组中每个点云组的第二属性信息,从多个预设分类中,确
定所述每个点云组的分类;
[0337]
基于所述每个点云组的分类结果,确定所述每个点云组对应的障碍物检测结果。
[0338]
上述存储器42包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换。
[0339]
上述指令的具体执行过程可以参考本公开实施例中所述的障碍物探测方法的步骤,此处不再赘述。
[0340]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的障碍物探测方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0341]
本公开实施例所提供的障碍物探测方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的障碍物探测方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0342]
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0343]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0344]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0345]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0346]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存
储程序代码的介质。
[0347]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献