基于对象的感知方法、装置、机器人及存储介质与流程

文档序号:21985732发布日期:2020-08-25 19:23阅读:175来源:国知局
基于对象的感知方法、装置、机器人及存储介质与流程

本发明实施例涉及机器人感知技术领域,尤其涉及一种基于对象的感知方法、装置、机器人及存储介质。



背景技术:

随着计算机技术的不断发展,机器人传感器设备的发展完善以及机器人操作系统的普及,机器换人的趋势正在到来。机器人移动中的感知技术是将一系列传感器数据进行分析计算,得出机器人对周围环境的理解。目前,感知技术已成功应用于无人驾驶、港口码头、家庭服务等各个领域。鲁棒、精确的感知能力是机器人的核心技术之一,是实现机器人自主导航的基本要求。当机器人在执行作业任务时,应根据传感器的信息对周围环境作出及时的反应,满足安全性的要求。

目前,机器人在移动过程中进行感知时,可以根据采集到的点云数据的特征属性进行聚类,根据聚类结果,确定是否存在影响机器人运行的对象。点云数据的特征属性可以包括纹理、法向量、颜色信息、欧氏距离等。具体过程可以如下所示:确定点云数据的特征属性,根据属性进行聚类,将不同属性的点云数据分割出来。

但是,上述过程中由于需要首先确定点云数据的特征属性,导致感知效率较低,机器人移动过程中的安全性较低。



技术实现要素:

本发明提供一种基于对象的感知方法、装置、机器人及存储介质,以解决目前的感知方法导致对象感知效率低的技术问题。

第一方面,本发明实施例提供一种基于对象的感知方法,包括:

根据采集到的至少一个点云数据建立图结构;

根据所述图结构中边的权重值,对所述点云数据进行聚类,获取聚类后的至少一个标记语义标签的类;

根据所述聚类后的至少一个标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量;

根据与所述机器人的距离小于预设第一距离阈值的对象的数量,控制所述机器人。

如上所示的方法中,所述根据与所述机器人的距离小于预设第一距离阈值的对象的数量,控制所述机器人之后,还包括:

根据所述点云数据,确定与所述机器人的距离小于预设第二距离阈值的点云数据的数量与一帧点云数据中的总数量的比值;

根据所述比值,控制所述机器人的运动。

该实现方式中,两种判断条件结合判断的方式,可以降低误判概率,提高对象感知的准确性,进而,可以实现准确控制机器人的运动。

如上所示的方法中,所述图结构中顶点集为所述点云数据的坐标值的集合,所述图结构中的边集为连接相邻点云数据的边的集合,相邻点云数据的边的权重根据所述相邻点云数据之间的距离确定;

所述根据所述图结构中边的权重值,对所述点云数据进行聚类,包括:

将所述边,按照权重从小到大的顺序排序,获取排序后的边集合;

若所述排序后的边集合中,不包含共同顶点的两边之间的不相似度小于预设不相似度阈值,则将所述两边连接的点云数据聚为一类,获取至少一个初次聚类后的各个类;

根据所述至少一个初次聚类后的各个类包括的点云数据之间的最远距离,对所述至少一个初次聚类后的各个类再次聚类,形成标记语义标签的类。

该实现方式中,基于图结构,先获取至少一个初次聚类后的各个类,再对初次聚类后的各个类再次聚类,最后获取到的类为标记语义标签的类。一方面,聚类过程简单、高效,提高了对象感知效率;另一方面,根据初次聚类后的每个类包括的点云数据之间的最远距离,对至少一个初次聚类后的各个类再次聚类,获取到的标记语义标签的类可以便于机器人进行对象感知,从而,提高了对象感知的准确性,更好地控制自身的运动,因此,提高了对象感知的准确性。

如上所示的方法中,所述根据所述至少一个初次聚类后的各个类包括的点云数据之间的最远距离,对所述至少一个初次聚类后的各个类再次聚类,形成标记语义标签的类,包括:

确定所述初次聚类后的每个类包括的点云数据之间的最远距离;

将所述最远距离位于预设的距离范围之间的初次聚类后的类,确定为有效类;

基于语义分割方式,对所述有效类再次聚类,形成标记语义标签的类。

该实现方式中,筛选出有效类,再进行聚类,形成标记语义标签的类,可以提高聚类出的标记语义标签的类的准确性,进而,可以提高机器人感知的准确性。

如上所示的方法中,所述基于语义分割方式,对所述有效类再次聚类,形成标记语义标签的类,包括:

将所述有效类中包括的点云数据的最小编号作为所述有效类的编号;其中,所述点云数据的编号为将采集到的至少一个点云数据按照从左到右顺序编号形成的编号;

按照所述有效类的编号从小到大的顺序,对所述有效类排序,获取排序后的有效类集合;

确定所述排序后的有效类集合中,相邻的有效类之间的距离;

若相邻的有效类之间的距离小于预设第三距离阈值,则将所述相邻的有效类聚为一个标记语义标签的类;

若相邻的有效类之间的距离大于或者等于所述预设第三距离阈值,则将所述相邻的有效类作为两个标记语义标签的类。

该实现方式中,对初次聚类后的各个类再次进行聚类,形成标记语义标签的类,一方面,聚类过程简单、高效,进一步提高了对象感知的效率,另一方面,获取到的标记语义标签的类可以便于机器人进行对象感知,从而,提高了对象感知的准确性。

如上所示的方法中,所述对象为人,所述标记语义标签的类为人的类,所述有效类为人腿类,所述预设的距离范围为预设的人腿的宽度范围,所述预设第三距离阈值为预设的两腿之间的宽度。

该实现方式可以实现机器人对人群围观的感知,在检测到被人群围观时,及时停止运动,从而,保护周围的人身安全以及自身安全。

如上所示的方法中,所述根据所述聚类后的至少一个标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量,包括:

将与所述机器人的距离小于预设第一距离阈值的标记语义标签的类的数量,确定为与所述机器人的距离小于预设第一距离阈值的对象的数量。

该实现方式可以实现根据与所述机器人的距离小于预设第一距离阈值的标记语义标签的类的数量,确定机器人的周围环境,实现过程简单、高效,提高了机器人的感知效率。

如上所示的方法中,所述根据与所述机器人的距离小于预设第一距离阈值的对象的数量,控制所述机器人的运动,包括:

若与所述机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则控制所述机器人停止运动。

该实现方式中,可以实现在与所述机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则控制所述机器人停止运动,从而,保护机器人的安全以及周围环境的安全。

如上所示的方法中,所述若与所述机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则控制所述机器人停止运动,包括:

若与所述机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则将所述至少一个点云数据对应的帧的对象标志位设置为有效值;

若对象标志位连续为有效值的帧的数量大于预设帧阈值时,控制所述机器人停止运动。

这种实现方式,可以结合多帧的感知结果,控制机器人的运动,提高了对象感知的精准性,从而,可以实现精准控制机器人的运动。

如上所示的方法中,所述根据机器人采集到的至少一个点云数据建立图结构之前,所述方法还包括:

获取采集到的至少一个原始点云数据;

将所述至少一个原始点云数据中,与所述机器人的距离不位于预设机器人探测距离范围中的原始点云数据删除,形成过滤后的所述至少一个点云数据。

这种实现方式,可以删除无效点云数据,从而,提高对象感知的准确性。

第二方面,本发明实施例提供一种基于对象的感知装置,包括:

建立模块,用于根据采集到的至少一个点云数据建立图结构;

聚类模块,用于根据所述图结构中边的权重值,对所述点云数据进行聚类,获取聚类后的至少一个标记语义标签的类;

确定模块,用于根据所述聚类后的至少一个标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量;

控制模块,用于根据与所述机器人的距离小于预设第一距离阈值的对象的数量,控制所述机器人的运动。

如上所示的装置中,所述装置还包括:

确定控制模块,用于根据所述点云数据,确定与所述机器人的距离小于预设第二距离阈值的点云数据的数量与一帧点云数据中的总数量的比值;根据所述比值,控制所述机器人的运动。

如上所示的装置中,所述图结构中顶点集为所述点云数据的坐标值的集合,所述图结构中的边集为连接相邻点云数据的边的集合,相邻点云数据的边的权重根据所述相邻点云数据之间的距离确定,所述聚类模块具体包括:

获取子模块,用于将所述边,按照权重从小到大的顺序排序,获取排序后的边集合;

第一聚类子模块,用于若所述排序后的边集合中,不包含共同顶点的两边之间的不相似度小于预设不相似度阈值,则将所述两边连接的点云数据聚为一类,获取至少一个初次聚类后的各个类;

第二聚类子模块,用于根据所述至少一个初次聚类后的各个类包括的点云数据之间的最远距离,对所述至少一个初次聚类后的各个类再次聚类,形成标记语义标签的类。

如上所示的装置中,所述第二聚类子模块具体用于:

确定所述初次聚类后的每个类包括的点云数据之间的最远距离;

将所述最远距离位于预设的距离范围之间的初次聚类后的类,确定为有效类;

基于语义分割方式,对所述有效类再次聚类,形成标记语义标签的类。

如上所示的装置中,在基于语义分割方式,对所述有效类再次聚类,形成标记语义标签的类的方面,第二聚类子模块具体用于:

将所述有效类中包括的点云数据的最小编号作为所述有效类的编号;其中,所述点云数据的编号为将采集到的至少一个点云数据按照从左到右顺序编号形成的编号;

按照所述有效类的编号从小到大的顺序,对所述有效类排序,获取排序后的有效类集合;

确定所述排序后的有效类集合中,相邻的有效类之间的距离;

若相邻的有效类之间的距离小于预设第三距离阈值,则将所述相邻的有效类聚为一个标记语义标签的类;

若相邻的有效类之间的距离大于或者等于所述预设第三距离阈值,则将所述相邻的有效类作为两个标记语义标签的类。

如上所示的装置中,所述标记语义标签的类为人的类,所述有效类为人腿类,所述预设的距离范围为预设的人腿的宽度范围,所述预设第三距离阈值为预设的两腿之间的宽度。

如上所示的装置中,确定模块具体用于将与所述机器人的距离小于预设第一距离阈值的标记语义标签的类的数量,确定为与所述机器人的距离小于预设第一距离阈值的对象的数量。

如上所示的装置中,所述控制模块包括:

控制子模块,用于若与所述机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则控制所述机器人停止运动。

如上所示的装置中,所述控制子模块具体用于:

若与所述机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则将所述至少一个点云数据对应的帧的对象标志位设置为有效值;

若对象标志位连续为有效值的帧的数量大于预设帧阈值时,控制所述机器人停止运动。

如上所示的装置中,所述根据机器人采集到的至少一个点云数据建立图结构之前,所述装置还包括:

获取模块,用于获取采集到的至少一个原始点云数据;

删除模块,用于将所述至少一个原始点云数据中,与所述机器人的距离不位于预设机器人探测距离范围中的原始点云数据删除,形成过滤后的所述至少一个点云数据。

第三方面,本发明实施例还提供了一种机器人,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面提供的基于对象的感知方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面提供的基于对象的感知方法。

本发明实施例提供一种基于对象的感知方法、装置、机器人及存储介质,该方法包括:根据采集到的至少一个点云数据建立图结构;根据图结构中边的权重值,对点云数据进行聚类,获取聚类后的至少一个标记语义标签的类;根据聚类后的至少一个标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量;根据与机器人的距离小于预设第一距离阈值的对象的数量,控制机器人的运动。该方法在进行对象感知时,可以根据点云数据建立的图结构,对采集到的点云数据进行聚类,实现语义分割,确定出与机器人的距离小于预设第一距离阈值的对象的数量,从而控制机器人的运动,一方面,聚类过程简单、高效,从而,提高了对象感知效率,另一方面,获取到的标记语义标签的类可以便于机器人进行对象感知,从而,提高了对象感知的准确性,更好地控制自身的运动,提高了对象感知的准确性。因此,本实施例提供的基于对象的感知方法保证了机器人移动过程中的安全性,同时,也保证了机器人移动过程中周围环境的安全性。

附图说明

图1为本发明一实施例提供的基于对象的感知方法应用场景的示意图;

图2为本发明一实施例提供的基于对象的感知方法的一种流程示意图;

图3为本发明一实施例提供的基于对象的感知方法中对点云数据初次聚类的流程示意图;

图4为本发明一实施例提供的基于对象的感知方法中对点云数据初次聚类的过程示意图;

图5为本发明一实施例提供的基于对象的感知方法中确定标记语义标签的类的流程示意图;

图6为本发明一实施例提供的基于对象的感知装置的结构示意图;

图7为本发明一实施例提供的机器人的结构示意图;

图8为本发明一实施例提供的计算机可读存储介质的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

图1为本发明一实施例提供的基于对象的感知方法应用场景的示意图。如图1所示,机器人11在移动过程中,例如,机器人11在已知地图中进行自主导航时,需要对周围环境中的影响机器人运动的对象进行感知,以根据感知结果,控制自身的运动。本实施例中的对象可以为环境中的静物,例如,桌子12,也可以为环境中的移动的物体,例如,人13,或者其他生物,例如,狗等。本实施例提供的基于对象的感知方法,通过对机器人采集到的点云数据进行聚类,实现语义分割,确定出与机器人的距离小于预设第一距离阈值的对象的数量,从而控制机器人的运动,聚类过程简单、高效,从而,提高了对象感知效率,保证机器人移动过程中的安全性,同时,也保证了机器人移动过程中周围环境的安全性。

图2为本发明一实施例提供的基于对象的感知方法的一种流程示意图。本实施例适用于机器人移动过程中,对周围环境中的对象进行感知的场景中。该基于对象的感知方法可以由基于对象的感知装置来执行,该基于对象的感知装置可以由软件和/或硬件的方式实现,该基于对象的感知装置可以集成于机器人中。如图2所示,本实施例提供的基于对象的感知方法包括如下步骤:

步骤201:根据采集到的至少一个点云数据建立图结构。

具体地,本实施例中,机器人可以通过设置于其上的激光传感器采集点云数据。本实施例中的点云数据可以为二维或者三维点云数据。

可选地,图结构中顶点集为点云数据的坐标值的集合,图结构中的边集为连接相邻点云数据的边的集合,相邻点云数据的边的权重根据相邻点云数据之间的距离确定。

点云数据的坐标值可以为采集的点在机器人坐标系中的坐标值。在二维点云数据的场景中,机器人坐标系指的是以机器人上的一点为原点、以机器人前进方向为x轴方向、以机器人左向为y轴方向构建的坐标系。在三维点云数据的场景中,机器人坐标系指的是以机器人上的一点为原点、以机器人前进方向为x轴方向、以机器人左向为y轴方向、以垂直于x-y平面的方向为z轴方向构建的坐标系。这里的机器人上的一点可以为机器人上的任一点,例如,驱动轮连线的中间点。

一种实现方式中,为了提高对象感知的准确性,在步骤201之前,可以先获取采集到的至少一个原始点云数据,将至少一个原始点云数据中,与机器人的距离不位于预设机器人探测距离范围中的原始点云数据删除,形成步骤201中所涉及的过滤后的至少一个点云数据。即,先将原始点云数据中,超出机器人探测距离范围的原始点云数据删除,这些被删除的元素点云数据为无效的点云数据。

这里涉及的机器人探测距离范围可以为(range_min,range_max),其中,range_min为机器人的最近探测距离,range_max为机器人的最远探测距离。range_min以及range_max可以根据机器人上设置的激光传感器的参数设置。示例性地,range_min可以为3厘米-5厘米之间的值。

与机器人的距离不位于预设机器人探测距离范围中的原始点云数据,指的是与机器人的距离小于range_min或者大于range_max的点云数据。

本实施例中,点云数据与机器人的距离指的是点云数据与机器人的欧式距离。假设点云数据1的坐标值为(x1,y1),则点云数据1与机器人的距离为

图结构中相邻点云数据之间的距离指的是相邻点云数据之间的欧式距离。假设相邻的点云数据分别为点云数据2和点云数据3,点云数据2的坐标值为(x2,y2),点云数据3的坐标值为(x3,y3),则点云数据2和点云数据3之间的距离为

在采集点云数据时,基于激光传感器的扫描顺序,多个点云数据之间具有相应的顺序。本实施例中,将至少一个点云数据中,相邻的点云数据连接起来,这些连线即为图结构中的边。假设机器人采集到的点云数据有n个,则图结构中,顶点集中有n个顶点,边集中有n-1个边。每个边具有权重,该权重为这个边连接的两个点云数据之间的距离。权重的意义为该边连接的两个点云数据之间的不相似度。

步骤202:根据图结构中边的权重值,对点云数据进行聚类,获取聚类后的至少一个标记语义标签的类。

具体地,在确定出图结构后,根据图结构中边的权重值,对点云数据进行聚类,实现语义分割,获取聚类后的至少一个标记语义标签的类。示例性地,标记语义标签的类可以为人的类。

一种实现方式中,可以基于边的权重值,将权重值位于同一个阈值范围内的边连接的点云数据聚为一类。

另一种实现方式中,可以基于图分割(graphseg)算法,基于边的权重值,对点云数据进行聚类。graphseg算法的重要特征是它能够保留低可变性图像区域中的区域,而忽略高可变性区域中的区域。

再一种实现方式中,可以基于graphseg算法进行两次聚类,具体过程可以如下所示:将图结构中的边,按照权重从小到大的顺序排序,获取排序后的边集合;若排序后的边集合中,不包含共同顶点的两边之间的不相似度小于预设不相似度阈值,则将两边连接的点云数据聚为一类,获取至少一个初次聚类后的各个类;根据至少一个初次聚类后的各个类包括的点云数据之间的最远距离,对至少一个初次聚类后的各个类再次聚类,形成标记语义标签的类。

更具体地,在进行再次聚类时,可以基于以下方式实现:确定初次聚类后的每个类包括的点云数据之间的最远距离;将最远距离位于预设的距离范围之间的初次聚类后的类,确定为有效类;基于语义分割方式,对有效类再次聚类,形成标记语义标签的类。筛选出有效类,再进行聚类,形成标记语义标签的类,可以提高聚类出的标记语义标签的类的准确性,进而,可以提高机器人感知的准确性。

可以以枚举的方式计算出初次聚类后的类中,每个点云数据与其他点云数据之间的距离,选取这些距离中最远的距离。在一种具体的场景中,当对象为人时,有效类可以为人腿类。预设的距离范围可以为预设的人腿的宽度范围。预设的距离范围可以为leg_width±thres,其中,leg_width可以为0.2米,thres可以为0.05米。

在该实现方式中,基于图结构,先获取至少一个初次聚类后的各个类,再对初次聚类后的各个类再次聚类,最后获取到的类为标记语义标签的类。一方面,聚类过程简单、高效,提高了对象感知效率;另一方面,根据初次聚类后的每个类包括的点云数据之间的最远距离,对至少一个初次聚类后的各个类再次聚类,获取到的标记语义标签的类可以便于机器人进行对象感知,从而,提高了对象感知的准确性,更好地控制自身的运动,因此,提高了对象感知的准确性。后文将对基于graphseg算法的聚类方法,形成标记语义标签的类的过程进行详细描述。

初次聚类后的各个类中可以包括至少一个点云数据,每个类包括的点云数据的数量可以相同,也可以不同。标记语义标签的各个类中,可以包括至少一个点云数据,每个类包括的点云数据的数量可以相同,也可以不同。

步骤203:根据聚类后的至少一个标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量。

具体地,在聚类后,可以基于标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量。更具体地,可以将与机器人的距离小于预设第一距离阈值的标记语义标签的类的数量,确定为与机器人的距离小于预设第一距离阈值的对象的数量。

标记语义标签的类与机器人的距离可以是标记语义标签的类中的任一个点云数据与机器人的距离,或者,标记语义标签的类中所有点云数据与机器人的距离中的最大值或者最小值等,本实施例对此不作限制。

步骤204:根据与机器人的距离小于预设第一距离阈值的对象的数量,控制机器人的运动。

一种实现方式中,若与机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则控制机器人停止运动。

另一种实现方式中,为了提高对象感知的精准性,避免误感知,可以在机器人中设置对象标志位。每一帧对应一个对象标志位。若与机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则将至少一个点云数据对应的帧的对象标志位设置为有效值;若对象标志位连续为有效值的帧的数量大于预设帧阈值时,控制机器人停止运动。示例性地,预设帧阈值可以为10,换句话说,如果连续10帧的对象标志位均为有效值,则控制机器人停止运动。

这种实现方式,可以结合多帧的感知结果,控制机器人的运动,提高了对象感知的精准性,从而,可以实现精准控制机器人的运动。

再一种实现方式中,在步骤204之后,本实施例提供的基于对象的感知方法还可以根据点云数据,确定与机器人的距离小于预设第二距离阈值的点云数据的数量与一帧点云数据中的总数量的比值,根据该比值,控制机器人的运动。需要说明的是,本实施例中的一帧点云数据中的总数量指的是一帧点云数据包括的点云数据的总数量。

在该实现方式中,更具体地,当与机器人的距离小于预设第二距离阈值的点云数据的数量与一帧点云数据的总数量的比值大于预设比值阈值时,控制机器人停止运动。

可选地,第二距离阈值可以小于第一距离阈值。

在该实现方式中,当与机器人的距离小于预设第二距离阈值的点云数据的数量与一帧点云数据的总数量的比值大于预设比值阈值,说明激光传感器被遮挡的程度较大。如果仅依赖激光传感器被遮挡的情况,或者,仅依赖与机器人的距离小于预设第一距离阈值的对象的数量,控制机器人的运动,出现误判的概率较大。例如,在仅依赖激光传感器被遮挡的情况下,激光传感器被遮挡的程度较轻,即,与机器人的距离小于预设第二距离阈值的点云数据的数量与一帧点云数据的总数量的比值小于或者等于预设比值阈值,但与机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值时,就会出现误判,导致机器人在有对象的情况下继续运动,降低了周围环境及自身的安全性。另一个示例中,在仅依赖与机器人的距离小于预设第一距离阈值的对象的数量控制机器人运动的情况下,如果与机器人的距离小于预设第一距离阈值的对象的数量小于预设对象数量阈值时,但与机器人的距离小于预设第二距离阈值的点云数据的数量与一帧点云数据的总数量的比值大于预设比值阈值时,就会出现误判,导致机器人在激光传感器被严重遮挡的情况下继续运动,降低了周围环境及自身的安全性。

因此,上述两种判断条件结合判断的方式,可以降低误判概率,提高对象感知的准确性,进而,可以实现准确控制机器人的运动。

在一种更具体的场景中,本实施例中的对象可以为人。该实施例可以实现机器人对人群围观的感知,在检测到被围观时,及时停止运动,从而,保护周围的人身安全以及自身安全。

本实施例提供的基于对象的感知方法,包括:根据采集到的至少一个点云数据建立图结构;根据图结构中边的权重值,对点云数据进行聚类,获取聚类后的至少一个标记语义标签的类;根据聚类后的至少一个标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量;根据与机器人的距离小于预设第一距离阈值的对象的数量,控制机器人的运动。该方法在进行对象感知时,可以根据点云数据建立的图结构,对采集到的点云数据进行聚类,实现语义分割,确定出与机器人的距离小于预设第一距离阈值的对象的数量,从而控制机器人的运动,一方面,聚类过程简单、高效,从而,提高了对象感知效率,另一方面,获取到的标记语义标签的类可以便于机器人进行对象感知,从而,提高了对象感知的准确性,更好地控制自身的运动,提高了对象感知的准确性。因此,本实施例提供的基于对象的感知方法保证了机器人移动过程中的安全性,同时,也保证了机器人移动过程中周围环境的安全性。

本实施例还提供另一种基于对象的感知方法。本实施例在图1所示实施例及各种可选方案的基础上,对点云数据初次聚类的过程进行详细描述。图3为本发明一实施例提供的基于对象的感知方法中对点云数据初次聚类的流程示意图。如图3所示,若排序后的边集合中,不包含共同顶点的两边之间的不相似度小于预设不相似度阈值,则将两边连接的点云数据聚为一类,获取至少一个初次聚类后的各个类,包括如下步骤:

步骤301:获取排序后的边集合中,连接的点云数据未聚类的排在第一位的第一边。

步骤302:获取排序后的边集合中,连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二位的第二边。

步骤303:确定第一边与第二边的不相似度。

步骤304:若第一边与第二边的不相似度小于预设不相似度阈值,则将第二边连接的点云数据与第一边连接的点云数据聚为一类。

步骤305:将排序后的边集合中,连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二边之后的边作为新的第二边,返回执行确定第一边与第二边的不相似度的步骤,直至排序后的边集合中,不存在连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的排在第二边之后的边,停止返回执行。

步骤306:将排序后的边集合中,连接的点云数据未聚类的排在第一边之后的边作为新的第一边,返回执行获取排序后的边集合中,连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二位的第二边的步骤,直至排序后的边集合中,不存在连接的点云数据未聚类的排在第一位的第一边,或者,排序后的边集合中,连接的点云数据未聚类的边的数量为1,或者,排序后的边集合中,不存在连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二位的第二边,停止返回执行,获取初次聚类后的各个类。

图4为本发明一实施例提供的基于对象的感知方法中对点云数据初次聚类的过程示意图。以下结合图4对步骤301-步骤306的具体实现过程进行详细描述。如图4所示,假设采集到7个点云数据,从左至右分别记为p1-p7。p1与p2之间的边记为e12,p2与p3之间的边记为e23,p3与p4之间的边记为e34,p4与p5之间的边记为e45,p5与p6之间的边记为e56,p6与p7之间的边记为e67。也即,根据点云数据建立的图结构中,顶点集为(p1,p2,p3,p4,p5,p6,p7),边集为(e12,e23,e34,e45,e56,e67)。

假设排序后的边集合为(e45,e34,e23,e12,e56,e67)。也可以对排序后的边集合进行重新编号,例如,重新编号为(e1,e2,e3,e4,e5,e6),则e45与e1对应,e34与e2对应,e23与e3对应,e12与e4对应,e56与e5对应,e67与e6对应。

执行步骤301。在聚类初始时,连接的点云数据未聚类的排在第一位的第一边为e1,即,e45。

再执行步骤302。在聚类初始时,连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二位的第二边为e3,即,e23(因为在排序后的边集合中排在e1之后的e2,即,e34,与e1具有相同的顶点p4)。

接下来执行步骤303。示例性地,第一边与第二边的不相似度,可以通过以下方式确定:分别确定第一边连接的两个点云数据与第二边连接的每个点云数据的距离;将距离中,最小的距离确定为第一边与第二边的不相似度。将第一边连接的两个点云数据与第二边连接的每个点云数据的距离中,最小的距离确定为第一边与第二边的不相似度,可以提高后续聚类的准确性及聚类效率。具体到这个例子中,第一边e45连接的两个点云数据为p4和p5,第二边e23连接的两个点云数据为p2和p3。分别确定p4与p2的距离,以及,p4与p3的距离,再分别确定p5与p2的距离,以及,p5与p3的距离。取这四个距离中的最小距离,将其作为第一边e45与第二边e23的不相似度。

接着执行步骤304。若第一边与第二边的不相似度小于预设不相似度阈值,则将第二边连接的点云数据与第一边连接的点云数据聚为一类。这里的预设不相似度阈值可以根据激光传感器的性能确定。激光传感器的性能越好,预设不相似度阈值就越小。假设第一边e45与第二边e23的不相似度小于预设不相似度阈值,则将第二边连接的点云数据与第一边连接的点云数据聚为一类,即,将p2、p3、p4和p5聚为一类。

在另一种情况中,若第一边与第二边的不相似度与大于或者等于预设不相似度阈值,则不将第二边连接的点云数据与第一边连接的点云数据聚为一类。

之后,执行步骤305。将排序后的边集合中,连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二边之后的边作为新的第二边。在执行完步骤304之后,p2、p3、p4和p5已经实现聚类,排序后的边集合中排在e23之后的e12连接的p2已经实现聚类,所以不能将e12作为新的第二边。e56与第一边e45具有相同的顶点,因此,将e67作为新的第二边。返回执行步骤303,即确定e45与e67的不相似度。之后执行步骤304。假设步骤第一边e45与第二边e67的不相似度与大于或者等于预设不相似度阈值,则e67与e45不会聚为一类。之后执行步骤305,由于此时已经不存在连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的排在第二边之后的边,停止返回执行。

接着执行步骤306。将排序后的边集合中,连接的点云数据未聚类的排在第一边之后的边作为新的第一边。排序后的边集合中,e34连接的点云数据p3与p4已经实现聚类,e12连接的p2已经实现聚类,e56连接的p5已经实现聚类。因此,将e67作为新的第一边。但是,连接的点云数据未聚类的边的数量为1。满足步骤306的返回停止条件,所以,停止返回执行,获取初次聚类后的各个类。初次聚类后的各个类为(p2,p3,p4,p5)、(p1)、(p6)以及(p7),即获取到4个类。

进一步地,在具体应用中,在执行步骤306时,若不满足步骤306的返回停止条件,则需要返回步骤302。

在步骤304中,如果第一边与第二边的不相似度小于预设不相似度阈值,则还可以将第二边的编号更新为第一边的编号,最终,在获取初次聚类后的各个类时,将具有相同编号的边连接的点云数据作为一类。

更具体地,还可以为每个点云数据设置一个表示是否已聚类的标志位。在实现聚类后,将该点云数据的标志位位置有效位。在获取第一边和第二边时,可以先查询各个点云数据的标志位,再根据标志位确定点云数据是否已聚类。

本实施例中,连接的点云数据未聚类的边,指的是连接的点云数据均未聚类的边。

本实施例提供的基于对象的感知方法,通过graphseg算法对点云数据进行初次聚类,基于graphseg算法的特性,本实施例中的聚类方法能够保留低可变性图像区域中的区域,从而,实现准确聚类,进而,提高对象感知的准确性。

本实施例还提供又一种基于对象的感知方法。本实施例在图1及图3所示实施例及各种可选方案的基础上,对如何形成标记语义标签的类的过程进行详细描述。图5为本发明一实施例提供的基于对象的感知方法中确定标记语义标签的类的流程示意图。如图5所示,基于语义分割方式,对有效类再次聚类,形成标记语义标签的类,包括如下步骤:

步骤501:将有效类中包括的点云数据的最小编号作为有效类的编号。

其中,点云数据的编号为将机器人采集到的至少一个点云数据按照从左到右顺序编号形成的编号。

步骤502:按照有效类的编号从小到大的顺序,对有效类排序,获取排序后的有效类集合。

步骤503:确定排序后的有效类集合中,相邻的有效类之间的距离。

步骤504:若相邻的有效类之间的距离小于预设第三距离阈值,则将相邻的有效类聚为一个标记语义标签的类。

步骤505:若相邻的有效类之间的距离大于或者等于预设第四距离阈值,则将相邻的有效类作为两个标记语义标签的类。

具体地,在步骤503中,可以将相邻的有效类的中间点云数据的距离,作为相邻的有效类之间的距离。这里的相邻的有效类的中间点云数据指的是有效类中,按照点云数据的编号对点云数据排序后,位于中间位置的点云数据。

当对象为人时,预设第三距离阈值可以为预设的两腿之间的宽度。

通过步骤501-步骤505对有效类实现了二次聚类,获取到了至少一个标记语义标签的类。

之后,确定每个标记语义标签的类与机器人的距离。将与机器人的距离小于预设第一距离阈值的标记语义标签的类的数量,确定为与机器人的距离小于预设第一距离阈值的对象的数量,根据与机器人的距离小于预设第一距离阈值的对象的数量,控制机器人的运动。

本实施例提供的基于对象的感知方法,对初次聚类后的各个类再次进行聚类,形成标记语义标签的类,一方面,聚类过程简单、高效,进一步提高了对象感知的效率,另一方面,获取到的标记语义标签的类可以便于机器人进行对象感知,从而,提高了对象感知的准确性。

图6为本发明一实施例提供的基于对象的感知装置的结构示意图。如图6所示,本实施例提供的基于对象的感知装置包括如下模块:建立模块61、聚类模块62、确定模块63以及控制模块64。

建立模块61,用于根据机器人采集到的至少一个点云数据建立图结构。

可选地,图结构中顶点集为点云数据的坐标值的集合,图结构中的边集为连接相邻点云数据的边的集合,相邻点云数据的边的权重根据相邻点云数据之间的距离确定。

聚类模块62,用于根据图结构中边的权重值,对点云数据进行聚类,获取聚类后的至少一个标记语义标签的类。

确定模块63,用于根据聚类后的至少一个标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量。

可选地,确定模块63具体用于:将与机器人的距离小于预设第一距离阈值的标记语义标签的类的数量,确定为与机器人的距离小于预设第一距离阈值的对象的数量。

控制模块64,用于根据与机器人的距离小于预设第一距离阈值的对象的数量,控制机器人的运动。

可选地,一种实现方式中,控制模块64包括:控制子模块,用于若与机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则控制机器人停止运动。

更具体地,控制子模块具体用于:若与机器人的距离小于预设第一距离阈值的对象的数量大于或者等于预设对象数量阈值,则将至少一个点云数据对应的帧的对象标志位设置为有效值;若对象标志位连续为有效值的帧的数量大于预设帧阈值时,控制机器人停止运动。

另一种实现方式中,该装置还包括:确定控制模块,用于根据点云数据,确定与机器人的距离小于预设第二距离阈值的点云数据的数量与一帧点云数据中的总数量的比值,根据该比值,控制机器人的运动。

可选地,该装置还可以包括:获取模块及删除模块。

获取模块,用于获取采集到的至少一个原始点云数据。

删除模块,用于将至少一个原始点云数据中,与机器人的距离不位于预设机器人探测距离范围中的原始点云数据删除,形成过滤后的至少一个点云数据。

本发明实施例所提供的基于对象的感知装置可执行本发明任意所示实施例及各种可选的方式所提供的基于对象的感知方法,具备执行方法相应的功能模块和有益效果。

本发明还提供另一种基于对象的感知装置。本实施例在图6所示实施例及各种可选的方案的基础上,对聚类模块62的具体结构作一详细说明。请继续参考图6,本实施例提供的基于对象的感知装置中,聚类模块62具体包括:获取子模块621、第一聚类子模块622以及第二聚类子模块623。

获取子模块621,用于将边,按照权重从小到大的顺序排序,获取排序后的边集合。

第一聚类子模块622,用于若排序后的边集合中,不包含共同顶点的两边之间的不相似度小于预设不相似度阈值,则将两边连接的点云数据聚为一类,获取至少一个初次聚类后的各个类。

可选地,第一聚类子模块622具体用于:

获取排序后的边集合中,连接的点云数据未聚类的排在第一位的第一边;

获取排序后的边集合中,连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二位的第二边;

确定第一边与第二边的不相似度;

若第一边与第二边的不相似度小于预设不相似度阈值,则将第二边连接的点云数据与第一边连接的点云数据聚为一类;

将排序后的边集合中,连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二边之后的边作为新的第二边,返回执行确定第一边与第二边的不相似度的步骤,直至排序后的边集合中,不存在连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的排在第二边之后的边,停止返回执行;

将排序后的边集合中,连接的点云数据未聚类的排在第一边之后的边作为新的第一边,返回执行获取排序后的边集合中,连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二位的第二边的步骤,直至排序后的边集合中,不存在连接的点云数据未聚类的排在第一位的第一边,或者,排序后的边集合中,连接的点云数据未聚类的边的数量为1,或者,排序后的边集合中,不存在连接的点云数据未聚类、且连接的点云数据与第一边连接的点云数据不相同的、排在第二位的第二边,停止返回执行,获取初次聚类后的各个类。

第二聚类子模块623,用于根据至少一个初次聚类后的各个类包括的点云数据之间的最远距离,对至少一个初次聚类后的各个类再次聚类,形成标记语义标签的类。

可选地,第二聚类子模块623具体用于:确定初次聚类后的每个类包括的点云数据之间的最远距离;将最远距离位于预设的距离范围之间的初次聚类后的类,确定为有效类;基于语义分割方式,对有效类再次聚类,形成标记语义标签的类。

更具体地,在基于语义分割方式,对有效类再次聚类,形成标记语义标签的类的方面,第二聚类子模块623具体用于:

将有效类中包括的点云数据的最小编号作为有效类的编号,其中,点云数据的编号为将采集到的至少一个点云数据按照从左到右顺序编号形成的编号;

按照有效类的编号从小到大的顺序,对有效类排序,获取排序后的有效类集合;

确定排序后的有效类集合中,相邻的有效类之间的距离;

若相邻的有效类之间的距离小于预设第三距离阈值,则将相邻的有效类聚为一个标记语义标签的类;

若相邻的有效类之间的距离大于或者等于预设第三距离阈值,则将相邻的有效类作为两个标记语义标签的类。

可选地,标记语义标签的类为人的类,有效类为人腿类,预设的距离范围为预设的人腿的宽度范围,预设第三距离阈值为预设的两腿之间的宽度。

本发明实施例所提供的基于对象的感知装置可执行本发明任意所示实施例及各种可选的方式所提供的基于对象的感知方法,具备执行方法相应的功能模块和有益效果。

图7为本发明一实施例提供的机器人的结构示意图。如图7所示,该机器人包括处理器70和存储器71。该机器人中处理器70的数量可以是一个或多个,图7中以一个处理器70为例;该机器人的处理器70和存储器71可以通过总线或其他方式连接,图7中以通过总线连接为例。

存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的基于对象的感知方法对应的程序指令以及模块(例如,基于对象的感知装置中的建立模块61、聚类模块62、确定模块63以及控制模块64)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行机器人的各种功能应用以及数据处理,即实现上述的基于对象的感知方法。

存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据机器人的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至机器人。上述网络的实施例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

可选地,该机器人还可以包括:电源组件72、音频组件73、通信组件74以及传感器组件75。电源组件72、音频组件73、通信组件74以及传感器组件75均可以通过总线与处理器70连接。

电源组件72为机器人的各种组件提供电力。电源组件72可以包括电源管理系统,一个或多个电源,及其他与为机器人生成、管理和分配电力相关联的组件。

音频组件73被配置为输出和/或输入音频信号。例如,音频组件73包括一个麦克风,当机器人处于操作模式,如记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器71或经由通信组件74发送。在一些实施例中,音频组件73还包括一个扬声器,用于输出音频信号。

通信组件74被配置为便于机器人和其他设备之间有线或无线方式的通信。机器人可以接入基于通信标准的无线网络。在一个示例性实施例中,通信组件74经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件74还包括近场通信(nearfieldcommunication,nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(radiofrequencyidentification,rfid)技术,红外数据协会技术,超宽带技术,蓝牙技术和其他技术来实现。

传感器组件75包括一个或多个传感器,用于为机器人提供各个方面的状态评估。传感器组件75可以包括激光传感器,用于采集点云数据。在一些实施例中,该传感器组件75还可以包括加速度传感器,磁传感器,压力传感器或温度传感器等。

图8为本发明一实施例提供的计算机可读存储介质的结构示意图。如图8所示,本发明还提供一种包含计算机可执行指令81的计算机可读存储介质82,所述计算机可执行指令81在由处理器83执行时用于执行一种基于对象的感知方法,该方法包括:

根据采集到的至少一个点云数据建立图结构;

根据所述图结构中边的权重值,对所述点云数据进行聚类,获取聚类后的至少一个标记语义标签的类;

根据所述聚类后的至少一个标记语义标签的类,确定与机器人的距离小于预设第一距离阈值的对象的数量;

根据与所述机器人的距离小于预设第一距离阈值的对象的数量,控制所述机器人。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的基于对象的感知方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台机器人(可以是个人计算机,车辆,或者网络设备等)执行本发明各个实施例所述的基于对象的感知方法。

值得注意的是,上述基于对象的感知装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1