数据处理方法及相关装置与流程

文档序号:19933197发布日期:2020-02-14 22:15阅读:158来源:国知局
数据处理方法及相关装置与流程

本申请涉及人工智能技术领域,尤其涉及一种数据处理方法及相关装置。



背景技术:

随着机器人研究的深入和各方面需求的巨大增长,机器人的应用领域在不断扩大,如:通过机器人抓取物料框中堆叠的物体。通过机器人抓取堆叠的物体首先需要识别待抓取物体在空间中的位置和姿态(下文将称为位姿),再根据识别到的位姿对待抓取物体进行抓取。传统方法通过从图像中提取特征点,随后将该图像与预先设定的参考图像进行特征匹配获得相匹配的特征点,并根据相匹配的特征点确定待抓取物体在相机坐标系下的位置,再根据相机的标定参数,可解算获得物体的位姿。但该种方法获得的待抓取物体的位置的精度较低。



技术实现要素:

本申请提供一种数据处理方法及相关装置,以获得待定位物体的参考点的三维位置。

第一方面,提供了一种数据处理方法,所述方法包括:

获取待处理点云,所述待处理点云包含至少一个待定位物体;

从所述待处理点云中确定至少两个目标区域,依据所述目标区域中的点的初始法向量将所述目标区域中所有点的法向量调整为显著法向量,所述至少两个目标区域中的任意两个目标区域均不同;

依据所述目标区域的显著法向量对所述待处理点云进行分割处理,获得至少一个分割区域;

依据所述至少一个分割区域中的点的三维位置获得所述待定位物体的参考点的三维位置。

在该方面中,通过依据目标区域的显著法向量对点云进行分割处理,以挺高分割准确率。进而在通过依据分割获得的分割区域中的点的三维位置确定待定位物体的参考点的三维位置时,可提高待定位物体的参考点的三维位置的精度。

在一种可能实现的方式中,所述至少两个目标区域包括第一目标区域和第二目标区域,所述初始法向量包括第一初始法向量和第二初始法向量,所述显著法向量包括第一显著法向量和第二显著法向量;

所述依据所述目标区域中的点的初始法向量将所述目标区域中所有点的法向量调整为显著法向量,包括:

依据所述第一目标区域中的点的所述第一初始法向量将所述第一目标区域中所有点的法向量调整为所述第一显著法向量,依据所述第二目标区域中的点的所述第二初始法向量将所述第二目标区域中所有点的法向量调整为所述第二显著法向量。

在该种可能实现的方式中,分别为上述至少两个目标区域中的每个目标区域去确定一个显著法向量,以便后续处理依据每个目标区域的法向量对待处理点云进行分割处理。

在另一种可能实现的方式中,所述依据所述目标区域的显著法向量对所述待处理点云进行分割处理,获得至少一个分割区域,包括:

依据所述第一显著法向量和所述第二显著法向量对所述待处理点云进行分割处理,获得所述至少一个分割区域。

在该种可能实现的方式中,依据不同目标区域的显著法向量对待处理点云,以提高分割精度,进而提升获得的待定位物体的参考点的三维位置的精度。

在又一种可能实现的方式中,所述依据所述第一目标区域中的点的第一初始法向量将所述第一目标区域中所有点的法向量调整为第一显著法向量,包括:

对所述第一目标区域中所有点的第一初始法向量进行聚类处理,获得至少一个聚类集合;

将所述至少一个聚类集合中包含的所述第一初始法向量的数量最多的聚类集合作为目标聚类集合,依据所述目标聚类集合中的所述第一初始法向量确定所述第一显著法向量;

将所述第一目标区域中所有点的法向量调整为所述第一显著法向量。

在该种可能实现的方式中,通过将第一目标区域中所有点的法向量调整为第一显著法向量,减小第一目标区域中的噪声对后续处理的影响,提升获得的待定位物体的位姿的精度。

在又一种可能实现的方式中,所述对所述第一初始法向量进行聚类处理,获得至少一个聚类集合,包括:

将所述第一目标区域中所有点的第一初始法向量映射至至少一个预设区间中的任意一个预设区间内,所述预设区间用于表征向量,所述至少一个预设区间中的任意两个预设区间所表征的向量不同;

将包含所述第一初始法向量的数量最多的所述预设区间作为目标预设区间;

依据所述目标预设区间包含的所述第一初始法向量确定所述第一显著法向量。

在又一种可能实现的方式中,所述依据所述目标预设区间包含的所述第一初始法向量确定所述第一显著法向量,包括:

确定所述目标预设区间内的所述第一初始法向量的均值,作为所述第一显著法向量;或,确定所述目标预设区间内的所述第一初始法向量的中值,作为所述第一显著法向量。

在又一种可能实现的方式中,所述依据所述第一显著法向量和所述第二显著法向量对所述待处理点云进行分割处理,获得至少一个分割区域,包括:

确定所述第一目标区域在垂直于所述第一显著法向量的平面上的投影,获得第一投影平面;

确定所述第二目标区域在垂直于所述第二显著法向量的平面上的投影,获得第二投影平面;

对所述第一投影平面和所述第二投影平面进行分割处理,获得所述至少一个分割区域。

由于第一投影平面与第二投影平面之间的距离大于第一目标区域与第二目标区域之间的距离,在该种可能实现的方式中,通过对第一目标区域和第二目标区域进行投影,以达到“增大”第一目标区域与第二目标区域之间的距离的效果,进而提升分割处理的准确率。

在又一种可能实现的方式中,所述对所述第一投影平面和所述第二投影平面进行分割处理,获得所述至少一个分割区域,包括:

以所述第一投影平面和所述第二投影平面中的任意一个点为起始点、第一预设值为半径构建第一邻域;

确定所述第一邻域中与所述起始点之间的相似度大于或等于第一阈值的点为目标点;

将包含所述目标点和所述起始点的区域作为分割区域,获得所述至少一个分割区域。

在又一种可能实现的方式中,所述依据所述至少一个分割区域中的点的三维位置获得所述待定位物体的参考点的三维位置,包括:

确定所述至少一个分割区域中的目标分割区域中的点的三维位置的第一均值;

依据所述第一均值确定所述待定位物体的参考点的三维位置。

在又一种可能实现的方式中,在所述确定所述至少一个分割区域中的点的三维位置的第一均值之后,所述方法还包括:

确定所述目标分割区域中的点的法向量的第二均值;

获取所述待定位物体的模型点云,所述模型点云的初始三维位置为所述第一均值,所述模型点云的俯仰角通过所述第二均值确定;

移动所述目标分割区域,使所述目标分割区域的坐标系与所述模型点云的坐标系重合,获得第一旋转矩阵和/或第一平移量;

依据所述第一旋转矩阵和/或所述第一平移量、所述目标分割区域的法向量,获得所述待定位物体的姿态角。

在该种可能实现的方式中,通过旋转和/或移动目标分割区域使目标分割区域的物体坐标系与模型点云的物体坐标系重合确定待定位物体的偏航角,可提升待定位物体的偏航角的精度,以及修正待定位物体的参考点的三维位置。并可依据待定位物体的偏航角确定待定位物体的姿态。

在又一种可能实现的方式中,所述方法还包括:

在所述目标分割区域的坐标系与所述模型点云的坐标系重合的情况下,移动所述目标分割区域使所述目标分割区域中的点与所述模型点云的参考点重合,获得所述目标分割区域的参考位置;

确定在所述参考位置下的所述目标分割区域与所述模型点云的重合度;

将重合度的最大值对应的参考位置作为目标参考位置;

确定所述目标参考位置下的所述目标分割区域中的点的三维位置的第三均值,作为所述待定位物体的参考点的第一调整后的三维位置。

在该种可能实现的方式中,依据目标分割区域与模型点云之间的重合度,获得待定位物体的参考点的第一调整后的三维位置,以实现修正待定位物体的参考点的三维位置。

在又一种可能实现的方式中,所述确定在所述参考位置下所述目标分割区域与所述模型点云的重合度,包括:

确定在所述参考位置下所述目标分割区域中的第一点与所述模型点云中的第二点之间的距离,所述第二点为所述模型点云中距离所述第一点最近的点;

在所述距离小于或等于第二阈值的情况下,将所述参考位置的重合度指标增加第二预设值;

依据所述重合度指标确定所述重合度,所述重合度指标与所述重合度呈正相关。

在又一种可能实现的方式中,所述方法还包括:

将所述模型点云的参考点的三维位置调整为所述第三均值;

通过旋转和/或平移所述目标参考位置下的所述目标分割区域,使所述第一点与所述模型点云中的第三点之间的距离小于或等于第三阈值,获得第二旋转矩阵和/或第二平移量,所述第三点为参考点的三维位置为所述第三均值时的模型点云中距离所述第一点最近的点;

依据所述第二旋转矩阵和/或所述第二平移量调整所述待定位物体的参考点的三维位置,获得所述待定位物体的参考点的第二调整后的三维位置,依据所述第二旋转矩阵和/或所述第二平移量调整所述待定位物体的姿态角,获得所述待定位物体的调整后的姿态角。

在该种可能实现的方式中,通过旋转和/或平移所述目标参考位置下的所述目标分割区域,修正目标分割区域的参考点的三维位置和目标分割区域的姿态角,获得待定位物体的参考点的第二调整后的三维位置和待定位物体的调整后的姿态角,实现修正待定位物体的位姿的效果。

在又一种可能实现的方式中,所述方法还包括:

将所述待定位物体的参考点的三维位置和所述待定位物体的姿态角转化为机器人坐标系下的待抓取三维位置和待抓取姿态角;

获取机械爪模型以及所述机械爪模型的初始位姿;

依据所述待抓取三维位置、所述待抓取姿态角、所述机械爪模型以及所述机械爪模型的初始位姿,获得在所述点云中所述机械爪抓取所述待定位物体的抓取路径;

在所述抓取路径中不属于所述待定位物体的点的数量大于或等于第四阈值的情况下,确定所述待定位物体为不可抓取物体。

在该种可能实现的方式中,通过确定抓取路径中不属于待定位物体的点的数量,可确定抓取路径上是否存在“障碍物”,进而可确定待定位物体是否为可抓取物体。这样,可提高机械爪抓取待定位物体的成功率,减小因抓取路径上存在“障碍物”导致在对待定位物体进行抓取时出现事故的情况发生的概率。

在又一种可能实现的方式中,所述从所述待处理点云中确定至少两个目标区域,包括:

确定所述点云中的至少两个目标点;

分别以所述至少两个目标点中的每一个目标点为球心、第三预设值为半径构建所述至少两个目标区域。

在又一种可能实现的方式中,所述获取待处理点云,包括:

获取第一点云和第二点云,其中,所述第一点云包括所述至少一个待定位物体所在的场景的点云,所述第二点云包括所述至少一个待定位物体和所述至少一个待定位物体所在的场景的点云;

确定所述第一点云和所述第二点云中相同的数据;

从所述第二点云中将所述相同的数据去除,得到所述待处理点云。

在该种可能实现的方式中,通过确定第一点云和第二点云中的相同数据,并从第二点云中将上述相同数据去除获得待处理点云,以减小后续处理的数据处理量,提升处理速度。

在又一种可能实现的方式中,所述参考点为:质心、重心、几何中心中的一个。

第二方面,提供了一种数据处理装置,所述装置包括:

获取单元,用于获取待处理点云,所述待处理点云包含至少一个待定位物体;

调整单元,用于从所述待处理点云中确定至少两个目标区域,依据所述目标区域中的点的初始法向量将所述目标区域中所有点的法向量调整为显著法向量,所述至少两个目标区域中的任意两个目标区域均不同;

分割处理单元,用于依据所述目标区域的显著法向量对所述待处理点云进行分割处理,获得至少一个分割区域;

第一处理单元,用于依据所述至少一个分割区域中的点的三维位置获得所述待定位物体的参考点的三维位置。

在一种可能实现的方式中,所述至少两个目标区域包括第一目标区域和第二目标区域,所述初始法向量包括第一初始法向量和第二初始法向量,所述显著法向量包括第一显著法向量和第二显著法向量;

所述调整单元用于:

依据所述第一目标区域中的点的所述第一初始法向量将所述第一目标区域中所有点的法向量调整为所述第一显著法向量,依据所述第二目标区域中的点的所述第二初始法向量将所述第二目标区域中所有点的法向量调整为所述第二显著法向量。

在另一种可能实现的方式中,所述分割处理单元用于:

依据所述第一显著法向量和所述第二显著法向量对所述待处理点云进行分割处理,获得所述至少一个分割区域。

在又一种可能实现的方式中,所述调整单元用于:

对所述第一目标区域中所有点的第一初始法向量进行聚类处理,获得至少一个聚类集合;

将所述至少一个聚类集合中包含的所述第一初始法向量的数量最多的聚类集合作为目标聚类集合,依据所述目标聚类集合中的所述第一初始法向量确定所述第一显著法向量;

将所述第一目标区域中所有点的法向量调整为所述第一显著法向量。

在又一种可能实现的方式中,所述调整单元具体用于:

将所述第一目标区域中所有点的第一初始法向量映射至至少一个预设区间中的任意一个预设区间内,所述预设区间用于表征向量,所述至少一个预设区间中的任意两个预设区间所表征的向量不同;

将包含所述第一初始法向量的数量最多的所述预设区间作为目标预设区间;

依据所述目标预设区间包含的所述第一初始法向量确定所述第一显著法向量。

在又一种可能实现的方式中,所述调整单元具体用于:

确定所述目标预设区间内的所述第一初始法向量的均值,作为所述第一显著法向量;或,确定所述目标预设区间内的所述第一初始法向量的中值,作为所述第一显著法向量。

在又一种可能实现的方式中,所述分割处理单元用于:

确定所述第一目标区域在垂直于所述第一显著法向量的平面上的投影,获得第一投影平面;

确定所述第二目标区域在垂直于所述第二显著法向量的平面上的投影,获得第二投影平面;

对所述第一投影平面和所述第二投影平面进行分割处理,获得所述至少一个分割区域。

在又一种可能实现的方式中,所述分割处理单元具体用于:

以所述第一投影平面和所述第二投影平面中的任意一个点为起始点、第一预设值为半径构建第一邻域;

确定所述第一邻域中与所述起始点之间的相似度大于或等于第一阈值的点为目标点;

将包含所述目标点和所述起始点的区域作为分割区域,获得所述至少一个分割区域。

在又一种可能实现的方式中,所述第一处理单元用于:

确定所述至少一个分割区域中的目标分割区域中的点的三维位置的第一均值;

依据所述第一均值确定所述待定位物体的参考点的三维位置。

在又一种可能实现的方式中,所述装置还包括:

确定单元,用于在所述确定所述至少一个分割区域中的点的三维位置的第一均值之后,确定所述目标分割区域中的点的法向量的第二均值;

所述获取单元,用于获取所述待定位物体的模型点云,所述模型点云的初始三维位置为所述第一均值,所述模型点云的俯仰角通过所述第二均值确定;

移动单元,用于移动所述目标分割区域,使所述目标分割区域的坐标系与所述模型点云的坐标系重合,获得第一旋转矩阵和/或第一平移量;

所述第一处理单元,用于依据所述第一旋转矩阵和/或所述第一平移量、所述目标分割区域的法向量,获得所述待定位物体的姿态角。

在又一种可能实现的方式中,所述移动单元,还用于在所述目标分割区域的坐标系与所述模型点云的坐标系重合的情况下,移动所述目标分割区域使所述目标分割区域中的点与所述模型点云的参考点重合,获得所述目标分割区域的参考位置;

所述确定单元,还用于确定在所述参考位置下的所述目标分割区域与所述模型点云的重合度;

所述确定单元,还用于将重合度的最大值对应的参考位置作为目标参考位置;

所述第一处理单元,用于确定所述目标参考位置下的所述目标分割区域中的点的三维位置的第三均值,作为所述待定位物体的参考点的第一调整后的三维位置。

在又一种可能实现的方式中,所述确定单元具体用于:

确定在所述参考位置下所述目标分割区域中的第一点与所述模型点云中的第二点之间的距离,所述第二点为所述模型点云中距离所述第一点最近的点;

在所述距离小于或等于第二阈值的情况下,将所述参考位置的重合度指标增加第二预设值;

依据所述重合度指标确定所述重合度,所述重合度指标与所述重合度呈正相关。

在又一种可能实现的方式中,所述调整单元,还用于将所述模型点云的参考点的三维位置调整为所述第三均值;

所述装置还包括:

第二处理单元,用于通过旋转和/或平移所述目标参考位置下的所述目标分割区域,使所述第一点与所述模型点云中的第三点之间的距离小于或等于第三阈值,获得第二旋转矩阵和/或第二平移量,所述第三点为参考点的三维位置为所述第三均值时的模型点云中距离所述第一点最近的点;

所述第一处理单元,还用于依据所述第二旋转矩阵和/或所述第二平移量调整所述待定位物体的参考点的三维位置,获得所述待定位物体的参考点的第二调整后的三维位置,依据所述第二旋转矩阵和/或所述第二平移量调整所述待定位物体的姿态角,获得所述待定位物体的调整后的姿态角。

在又一种可能实现的方式中,所述装置还包括:

转化单元,用于将所述待定位物体的参考点的三维位置和所述待定位物体的姿态角转化为机器人坐标系下的待抓取三维位置和待抓取姿态角;

所述获取单元,还用于获取机械爪模型以及所述机械爪模型的初始位姿;

所述第一处理单元,还用于依据所述待抓取三维位置、所述待抓取姿态角、所述机械爪模型以及所述机械爪模型的初始位姿,获得在所述点云中所述机械爪抓取所述待定位物体的抓取路径;

所述确定单元,还用于在所述抓取路径中不属于所述待定位物体的点的数量大于或等于第四阈值的情况下,确定所述待定位物体为不可抓取物体。

在又一种可能实现的方式中,所述调整单元用于:

确定所述点云中的至少两个目标点;

分别以所述至少两个目标点中的每一个目标点为球心、第三预设值为半径构建所述至少两个目标区域。

在又一种可能实现的方式中,所述获取单元用于:

获取第一点云和第二点云,其中,所述第一点云包括所述至少一个待定位物体所在的场景的点云,所述第二点云包括所述至少一个待定位物体和所述至少一个待定位物体所在的场景的点云;

确定所述第一点云和所述第二点云中相同的数据;

从所述第二点云中将所述相同的数据去除,得到所述待处理点云。

在又一种可能实现的方式中,所述参考点为:质心、重心、几何中心中的一个。

第三方面,提供了一种处理器,所述处理器用于执行如上述第一方面及其任意一种可能实现的方式的方法。

第四方面,提供了一种电子设备,包括:处理器、发送装置、输入装置、输出装置和存储器,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述处理器执行所述计算机指令时,所述电子设备执行如上述第一方面及其任意一种可能实现的方式的方法。

第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被电子设备的处理器执行时,使所述处理器执行如上述第一方面及其任意一种可能实现的方式的方法。

第六方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述第一方面及其任一种可能的实现方式的方法。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。

附图说明

为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。

图1为本申请实施例提供的一种数据处理方法的流程示意图;

图2为本申请实施例提供的另一种数据处理方法的流程示意图;

图3为本申请实施例提供的另一种数据处理方法的流程示意图;

图4为本申请实施例提供的另一种数据处理方法的流程示意图;

图5为本申请实施例提供的一种数据处理装置的结构示意图;

图6为本申请实施例提供的一种数据处理装置的硬件结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

在工业领域中,待装配零件一般都放置于物料框或物料盘里,将放置于物料框或物料盘里的零件进行装配是装配过程中重要的一环,由于待装配的零件数量巨大,人工装配的方式显得效率低下,且人工成本较高。

将包含待装配零件的点云与预先存储的参考点云进行特征匹配,可确定待装配零件在空间中的位姿,但在包含待装配零件的点云中存在噪声的情况下,将降低包含待装配零件的点云与预先存储的参考点云的特征匹配的精度,进而降低获得的待装配零件的位姿的精度。本申请实施例提供的技术方案可在包含待装配零件的点云中存在噪声的情况下,提高获得的待装配零件的位姿的精度。

下面结合本申请实施例中的附图对本申请实施例进行描述。

请参阅图1,图1是本申请实施例(一)提供的一种数据处理方法的流程示意图。

101、获取待处理点云,上述待处理点云包含至少一个待定位物体。

本申请实施例公开的技术方案的执行主体可以是终端,上述终端包括手机、计算机、平板电脑、服务器等。

本申请实施例中,待定位物体包括上述待装配零件。待处理点云中的每一个点均包括三维位置信息。

在一种获取待处理点云的可能的实现方式中,终端可以接收用户通过输入组件输入的待处理点云,其中,输入组件包括:键盘、鼠标、触控屏、触控板和音频输入器等。也可以是接收第二终端(除本申请实施例公开的技术方案的执行主体之外的终端)发送的待处理点云,其中,第二终端包括手机、计算机、平板电脑、服务器等。

本申请实施例公开的技术方案的执行主体还可以是装载有三维激光扫描仪的机器人。

在现实场景中,由于上述至少一个待定位物体放置于物料框或物料盘内,因此无法直接获得至少一个待定位物体在堆叠状态下的点云,而只能获得包括待定位物体和物料框(或物料盘)的点云。由于点云中包含的点的数量巨大,对点云进行处理时的计算量也非常大,因此,若只对包含上述至少一个待定位物体的点云进行处理,可减少计算量,提高处理速度。在一种可能实现的方式中,获取第一点云和第二点云,其中,第一点云包括至少一个待定位物体所在的场景的点云,第二点云包括至少一个待定位物体和至少一个待定位物体所在的场景的点云。确定第一点云和第二点云中相同的数据。从第二点云中将上述相同的数据去除,得到待处理点云。其中,在一种获取第一点云的可能实现的方式中,通过三维激光扫描仪对包含至少一个待定位物体以及至少一个待定位物体所在的场景进行扫描,获得第一点云。

需要理解的是,将至少两个待定位物体放置于物料框或物料盘内时,无特定放置顺序要求,可将所有待定位物体任意堆叠于物料框或物料盘内。此外,本申请对获取待定位物体所在场景的场景点云(即第一点云)和获取预先存储的背景点云(即第二点云)的顺序并不做具体限定。

102、从上述待处理点云中确定至少两个目标区域,依据上述目标区域中的点的初始法向量将上述目标区域中所有点的法向量调整为显著法向量,上述至少两个目标区域中的任意两个目标区域均不同。

上述至少两个目标区域中的每个目标区域均包含至少一个点,且上述至少两个目标区域的并集为待处理点云。例如,目标区域a包含a点、b点、c点,目标区域b包含b点、c点、d点,目标区域a和目标区域b的并集包含a点、b点、c点、d点。又例如,目标区域a包含a点、b点,目标区域b包含c点、d点,目标区域a和目标区域b的并集包含a点、b点、c点、d点。

由于待定位物体的表面通常为光滑的平面或曲面,因此,在不存在噪声的情况下,待处理点云也应该是光滑的平面或曲面。但若待处理点云中存在噪声,在待处理点云中噪声所在的区域为凸起或凹陷,即在整个光滑的平面或曲面上的凸起区域或凹陷区域为噪声区域。显然,在光滑的平面或曲面上,凸起区域的法向量或凹陷区域的法向量的方向与非凸起区域以及非凹陷区域的法向量的方向不同,即噪声区域中的点的法向量的方向与非噪声区域的法向量的方向不同。基于此,本申请实施例通过待处理点云中的点的法向量的方向判断待处理点云中是否包含噪声区域。

通过步骤101获得待处理点云后,可确定待处理点云中每个点的法向量,即为每个目标区域中的点的初始法向量,进而可依据目标区域中所有点的初始法向量的方向判断目标区域中是否包含噪声区域。

举例来说,目标区域a中包含6个点,分别为:a点、b点、c点、d点、e点、f点。其中,a点的法向量、b点的法向量、c点的法向量以及d点的法向量均与相机坐标系(坐标原点为o,坐标系的三个轴分别为x、y、z)的z轴平行,且a点的法向量、b点的法向量、c点的法向量以及d点的法向量均垂直于相机坐标系的xoy平面。e点的法向量与相机坐标系的z轴之间的夹角为45度,与相机坐标系的x轴的夹角为90度,与相机坐标系的y轴的夹角为60度,e点的法向量与相机坐标系的z轴之间的夹角为60度,与相机坐标系的x轴的夹角为80度,与相机坐标系的y轴的夹角为70度。显然,e点的法向量的方向和f点的法向量的方向与其余4个点的法向量的方向不同,因此可判断e点和f点为噪声区域内的点,a点、b点、c点和d点为非噪声区域内的点。

因待处理点云中存在噪声,使待处理点云中的噪声区域凸起或凹陷,也就是说,在没有噪声的情况下,待处理点云应该是一个光滑的平面或光滑的曲面,不应该存在凸起区域和/或凹陷区域。因此可通过将目标区域中所有点的法向量调整为显著法向量使目标区域“变为”光滑的平面。

在一种从待处理点云中确定至少两个目标区域的实现方式中,从待处理点云中确定至少两个目标点,分别以每个目标点为球心、第三预设值为半径构建至少两个邻域,即每个目标点对应一个邻域。将上述至少两个邻域作为上述至少两个目标区域,即一个邻域为一个目标区域。

为表述方便,接下来以两个目标区域为例进行阐述,即上述至少两个目标区域包含第一目标区域和第二目标区域。

在一种从待处理点云中确定第一目标区域和第二目标区域的实现方式中,上述第一目标区域可通过以上述点云中的第四点(即为上述目标点)为球心、第三预设值为半径构建第二邻域获得。上述第二目标区域可通过以上述点云中的第五点(即为上述目标点)为球心、第三预设值为半径构建第三邻域获得。上述第四点和第五点为待处理点云中的任意两个不同的点。上述第三预设值为正数,可选的,第三预设值的取值为5毫米。

在另一种从待处理点云中确定第一目标区域和第二目标区域的实现方式中,可通过对点云中的点的初始法向量进行聚类处理,获得第一目标区域和第二目标区域。

在获得第一目标区域和第二目标区域之后,可依据第一目标区域中的点的初始法向量(下文将称为第一初始法向量)确定第一目标区域的第一显著法向量,并依据第二目标区域中的点的初始法向量(下文将称为第一初始法向量)确定第二目标区域的第二显著法向量。即上述至少两个目标区域中的每个目标区域分别对应一个显著法向量。

在一种确定第一显著法向量的可能实现的方式中,对第一目标区域中所有点的第一初始法向量进行聚类处理,获得至少一个聚类集合。将上述至少一个聚类集合中包含的第一初始法向量的数量最多的聚类结合作为目标聚类集合,依据目标聚类集合中的第一初始法向量确定第一显著法向量。

在一种对第一目标区域中所有点的第一初始法向量进行聚类处理,获得至少一个聚类集合的实现方式中,通过将第一目标区域中的每个点的第一初始法向量映射至至少两个预设区间中的一个预设区间内,并依据包含第一初始法向量的数量最多的预设区间内的第一初始法向量确定第一显著法向量。

例如,待处理点云中每个点的法向量均包含3个方向(即x轴的正方向、y轴的正方向和z轴的正方向)的信息,将法向量与x轴之间的夹角的取值范围(-180度至180度)、法向量与x轴之间的夹角的取值范围(-180度至180度)和法向量与x轴之间的夹角的取值范围(-180度至180度)分别划分为2个区间(大于或等于0度,且小于180度为一个区间,大于或等于180度,且小于-180度为一个区间)。这样将获得8个区间。其中,落在上述8个区间中的第一个区间内的法向量与x轴之间的夹角大于或等于-180度且小于180度,且与y轴之间的夹角大于或等于-180度且小于180度,且与z轴之间的夹角大于或等于-180度且小于180度。落在上述8个区间中的第二个区间内的法向量与x轴之间的夹角大于或等于-180度且小于180度,且与y轴之间的夹角大于或等于0度且小于180度,且与z轴之间的夹角大于或等于-180度且小于180度。落在上述8个区间中的第三个区间内的法向量与x轴之间的夹角大于或等于-180度且小于180度,且与y轴之间的夹角大于或等于-180度且小于180度,且与z轴之间的夹角大于或等于0度且小于180度。落在上述8个区间中的第四个区间内的法向量与x轴之间的夹角大于或等于-180度且小于180度,且与y轴之间的夹角大于或等于0度且小于180度,且与z轴之间的夹角大于或等于0度且小于180度。落在上述8个区间中的第五个区间内的法向量与x轴之间的夹角大于或等于0度且小于180度,且与y轴之间的夹角大于或等于-180度且小于180度,且与z轴之间的夹角大于或等于-180度且小于180度。落在上述8个区间中的第六个区间内的法向量与x轴之间的夹角大于或等于0度且小于180度,且与y轴之间的夹角大于或等于0度且小于180度,且与z轴之间的夹角大于或等于-180度且小于180度。落在上述8个区间中的第七个区间内的法向量与x轴之间的夹角大于或等于0度且小于180度,且与y轴之间的夹角大于或等于-180度且小于180度,且与z轴之间的夹角大于或等于0度且小于180度。落在上述8个区间中的第八个区间内的法向量与x轴之间的夹角大于或等于0度且小于180度,且与y轴之间的夹角大于或等于0度且小于180度,且与z轴之间的夹角大于或等于0度且小于180度。依据第一目标区域中的点的第一初始法向量与x轴、y轴、z轴之间的夹角可将第一目标区域中所有点的第一初始法向量映射至上述8个区间中的一个区间内。如,第一目标区域中的a点的第一初始法向量与x轴之间的夹角为120度,与y轴之间的夹角为-32度,与z轴之间的夹角为45度,则a点的第一初始法向量将被映射至第七个区间。在将第一目标区域中所有点的第一初始法向量均映射至上述8个区间中的某一个区间中后,可统计上述8个区间中的每一个区间内的第一初始法向量的数量,并依据数量最多的区间内的第一初始法向量确定第一显著法向量。可选的,可将数量最多的区间内的第一初始法向量的均值作为第一显著法向量,也可将数量最多的区间内的第一初始法向量的中值作为第一显著法向量,本申请对此不作限定。

在另一种对第一目标区域中所有点的第一初始法向量进行聚类处理,获得至少一个聚类集合的实现方式中,可依据“少数服从多数”的原则确定第一显著法向量。例如,第一目标区域中包含5个点,其中3个点的第一初始法向量均为向量a,其中2个点的第一初始法向量均为向量b。则可确定第一显著法向量为向量a。

同理,可通过上述可能的实现方式确定上述至少两个目标区域中的任意一个目标区域的显著法向量,如,对所述第二目标区域中所有点的所述第二初始法向量进行聚类处理,获得至少一个第二聚类集合;将所述至少一个第二聚类集合中包含的所述第二初始法向量的数量最多的第二聚类集合作为第二目标聚类集合,依据所述第二目标聚类集合中的所述第二初始法向量确定所述第二显著法向量;将所述第二目标区域中所有点的法向量调整为所述第二显著法向量。

上述对所述第二初始法向量进行聚类处理,获得至少一个第二聚类集合的实现过程包括:将所述第二目标区域中所有点的第二初始法向量映射至至少一个预设区间中的任意一个预设区间内,所述预设区间为向量的取值区间;将包含所述第二初始法向量的数量最多的所述预设区间作为第二目标预设区间;依据所述第二目标预设区间包含的所述第二初始法向量确定所述第二显著法向量。

在确定第一显著法向量和第二显著法向量后,可将第一目标区域内的所有点的法向量由第一初始法向量调整为第一显著法向量,将第二目标区域内的所有点的法向量由第二初始法向量调整为第二显著法向量。这样,就相当于将第一目标区域和/或第二目标区域中的凸起区域和凹陷区域变为光滑区域。

需要理解的是,前文虽然以第一目标区域和第二区域进行阐述,但在实际应用中,目标区域的数量可以是3个或3个以上,本申请对目标区域的数量不做限定。

103、依据上述目标区域的显著法向量对上述待处理点云进行分割处理,获得至少一个分割区域。

在确定每个目标区域的显著法向量后,可依据每个目标区域的显著法向量对待处理点云进行分割处理。在一种可能实现的方式中,依据目标区域的显著法向量之间的距离可确定目标区域是否属于同一个待定位物体。例如,若第一显著法向量和第二显著法向量之间的距离小于第一距离阈值,可将第一目标区域和第二目标区域划分为同一个分割区域,即属于同一个待定位物体。若第一显著法向量和第二显著法向量之间的距离大于或等于第一距离阈值,可将第一目标区域和第二目标区域划分为两个不同的分割区域,即第一目标区域和第二目标区域属于不同的待定位物体。

本步骤基于步骤102获得的显著法向量对点云进行分割,可减小点云中的噪声对分割的精度的影响,进而提升分割精度。

可选的,上述分割处理可通过区域生长法(regiongrowing)、随机采样法(randomsampleconsensus,ransac)、基于凹凸性的分割方法、使用神经网络进行分割的方法中的任意一种方法实现,本申请对此不作限定。

104、依据上述至少一个分割区域中的点的三维位置获得上述待定位物体的参考点的三维位置。

本实施例中,每一个分割区域均对应一个待定位物体。上述参考点为:质心、重心、几何中心中的一个。

在一种可能实现的方式中,将每个分割区域中的点的三维位置的均值作为待定位物体的参考点的三维位置。例如,分割区域a中的点的三维位置的均值为(a,b,c),则可确定与分割区域a对应的待定位物体的参考点的三维位置为(a,b,c)。

在另一种可能实现的方式中,将每个分割区域中的点的三维位置的中值作为待定位物体的参考点的三维位置。例如,分割区域b中的点的三维位置的中值为(d,e,f),则可确定与分割区域b对应的待定位物体的参考点的三维位置为(d,e,f)。

本实施例通过依据目标区域的显著法向量对点云进行分割处理,以挺高分割准确率。进而在通过依据分割获得的分割区域中的点的三维位置确定待定位物体的参考点的三维位置时,可提高待定位物体的参考点的三维位置的精度。

为准确定位待定位物体在空间中的位置,除了需要确定待定位物体的参考点的三维位置之外,还需确定待定位物体在相机坐标系下的姿态。为此,本申请实施例还提供了一种基于实施例(一)提供的技术方案确定待定位物体的姿态的技术方案。

请参阅图2,图2是本申请实施例(二)提供的另一种数据处理方法的流程示意图。

201、获取上述待定位物体的模型点云。

依据分割区域中的点的法向量可确定与分割区域对应的待定位物体的法向量。在一种可能实现的方式中,将分割区域中点的法向量的均值作为与分割区域的对应的待定位物体的法向量。

在确定待定位物体的法向量后,即可确定待定位物体的一个姿态角。本申请实施例将待定位物体的法向量作为待定位物体的物体坐标系的z轴,依据待定位物体的法向量可确定待定位物体的偏航角。

在一种可能实现的方式中,可将目标分割区域中的点的法向量的均值(即第二均值)作为待定位物体的法向量,进而确定待定位物体的偏航角。上述目标分割区域为上述至少一个分割区域中的任意一个分割区域。

若待定位物体非关于z轴旋转对称的物体,后续需要利用待定位物体的位姿(包括待定位物体的参考点的位置和待定位物体的姿态)对待定位物体进行抓取(如控制机械手或机器人抓取待定位物体)时,需进一步待定位物体的俯仰角和滚转角,即确定待定位物体的物体坐标系的x轴和y轴的方向。但若待定位物体为关于z轴旋转对称的物体,则可在不确定待定位物体的俯仰角和滚转角的情况下,完成对待定位物体的抓取。因此,实施例(二)中的待定位物体为关于z轴旋转对称的物体。

由于实施例(一)获得的分割区域与实际的待定位物体之间可能存在误差,进而导致由分割区域确定的待定位物体的偏航角以及待定位物体的参考点的三维位置可能存在误差。因此,本步骤首先获取待定位物体的模型点云,该模型点云通过对待定位物体进行扫描获得。将模型点云的参考点的三维位置设为步骤104获得的目标分割区域中的点的三维位置的第一均值,将模型点云的法向量(即模型点云的物体坐标系的z轴)设为上述第二均值。以便后续基于模型点云确定分割区域的偏航角以及修正目标分割区域的参考点的三维位置。

202、移动上述目标分割区域,使上述目标分割区域的坐标系与上述模型点云的坐标系重合,获得第一旋转矩阵和/或第一平移量。

模型点云通过对待定位物体进行扫描获得,即模型点云的物体坐标系是确定的,且模型点云的物体坐标系是准确的。因此,可通过移动和/或旋转目标分割区域使目标分割区域的物体坐标系与模型点云的物体坐标系重合,以修正目标分割区域的偏航角,同时修正目标分割区域的参考点的三维位置。通过移动目标分割区域,使上述目标分割区域的坐标系与上述模型点云的坐标系重合,可获得第一旋转矩阵和/或第一平移量。

203、依据上述第一旋转矩阵和/或上述第一平移量、上述目标分割区域的法向量,获得上述待定位物体的姿态角。

将步骤104获得的第一均值与上述第一旋转矩阵相乘,获得第一旋转后的三维位置。将第一旋转后的三维位置与上述第一平移量相加,即可获得修正后的目标分割区域的参考点的三维位置。

将上述第二均值与上述第一旋转矩阵相乘,获得旋转后的法向量。将旋转后的法向量与上述第一平移量相加,即可获得修正后的目标分割区域的法向量,进而可确定待定位物体的偏航角。可选的,由于待定位物体为关于z轴旋转对称的物体,因此可将待定位物体的俯仰角和滚转角取为任意值,进而获得待定位物体的姿态角。

本实施例通过旋转和/或移动目标分割区域使目标分割区域的物体坐标系与模型点云的物体坐标系重合确定待定位物体的偏航角,可提升待定位物体的偏航角的精度,以及修正待定位物体的参考点的三维位置。并可依据待定位物体的偏航角确定待定位物体的姿态。

由于在实际场景中,多个待定位物体可能堆叠在一起,这样,在对待处理点云进行分割处理时,可能存在分割误差。为提高对点云的分割精度,本申请实施例提供了一种基于目标区域(包括第一目标区域和第二目标区域)的显著法向量对目标区域进行投影,并对投影获得的平面进行分割的方法。

请参阅图3,图3为本申请实施例(三)提供另一种数据处理方法的流程图。

301、确定上述第一目标区域在垂直于上述第一显著法向量的平面上的投影,获得第一投影平面,确定上述第二目标区域在垂直于上述第二显著法向量的平面上的投影,获得第二投影平面。

依据第一显著法向量对第一目标区域进行投影,可获得第一投影平面,依据第二显著法向量对第二目标区域进行投影,可获得第二投影平面。在第一显著法向量的方向与第二显著法向量的方向不同的情况下,第一投影平面与第二投影平面之间的距离大于第一目标区域与第二目标区域之间的距离。即本步骤通过对第一目标区域和第二目标区域进行投影,可增大第一目标区域与第二目标区域之间的距离。

302、对上述第一投影平面和上述第二投影平面进行分割处理,获得上述至少一个分割区域。

由于第一目标区域与第二目标区域之间的距离较小,若对第一目标区域和第二目标区域进行分割处理,可能会存在较大的分割误差。如:将不属于同一个待定位物体上的点划分至同一个分割区域。而第一投影平面与第二投影平面之间的距离大于第一目标区域与第二目标区域之间的距离,因此对第一投影平面和第二投影平面进行分割处理可提高分割准确率。

在一种对第一投影平面和第二投影平面进行分割处理的实现的方式中,以上述第一投影平面和上述第二投影平面中的任意一个点为起始点(下文将称为第一起始点)、第一预设值为半径构建第一邻域。确定上述第一邻域中与上述第一起始点之间的相似度大于或等于第一阈值的点为第一目标点。将包含上述第一目标点和上述第一起始点的区域作为待确认分割区域。在待确认分割区域中选取不同于第一起始点的第二起始点,以第二起始点为中心、第一预设值为半径构建第四邻域。确定上述第四邻域中与上述第二起始点之间的相似度大于或等于第一阈值的点为第二目标点。将第二目标点划分至待确认分割区域内。循环执行上述选取起始点、构建邻域、获得目标点的步骤,直到无法在投影平面中获得与邻域的起始点之间的相似度大于或等于第一阈值的点时,确定待确认分割区域为分割区域。上述第一预设值为正数,可选的,第一预设值为5毫米。上述第一阈值为正数,可选的,第一阈值为85%。

本实施例通过将第一目标区域与第二目标区域进行投影,以增大第一目标区域和第二目标区域之间的距离,达到提升分割准确率的效果,进而提升获得的待定位物体的位姿的精度。

本申请实施例还提供了一种提升待定位物体的位姿的精度的技术方案。

请参阅图4,图4为本申请实施例(四)提供另一种数据处理方法的流程图。

401、在上述目标分割区域的坐标系与上述模型点云的坐标系重合的情况下,移动上述目标分割区域使上述目标分割区域中的点与上述模型点云的参考点重合,获得上述目标分割区域的参考位置。

如步骤201所述,目标分割区域与实际的待定位物体之间可能存在误差,因此,目标分割区域的参考点与实际待定位物体的参考点之间也可能存在误差,进而导致依据目标分割区域的参考点的三维位置确定的待定位物体的参考点的三维位置的精度低。本步骤通过在目标分割区域的物体坐标系与模型点云的物体坐标系重合的情况下(即在执行步骤202后获得的目标分割区域的物体坐标系),移动目标分割区域使目标分割区域中的任意一点与模型点云的参考点重合,获得目标分割区域的参考位置,以便后续基于参考位置确定目标分割区域中的参考点的三维位置。

402、确定在上述参考位置下的上述目标分割区域与上述模型点云的重合度。

本实施例中的重合度包括目标分割区域中与模型点云中重合的点的数量与模型点云的点的数量之间的比值。其中,两点之间的距离与两点之间的重合度呈负相关。

通过移动目标分割区域使目标分割区域中所有的点依次与模型点云的参考点重合,在每一次重合时在模型点云中为目标分割区域中的每一个点确定一个距离最近的点,并确定目标分割区域中的每一个点与距离最近的点之间的距离。确定目标分割区域中与模型点云中重合的点的数量(相互重合的两个点之间的距离小于或等于第二距离阈值),进而可确定每一次重合时目标分割区域与模型点云的重合度。可选的,在模型点云中为目标分割区域中的每一个点确定一个距离最近的点可通过以下任意一种算法实现:树搜索法(k-dimensionaltree)、遍历搜索法。

在一种确定上述参考位置下的目标分割区域与模型点云之间的重合度的可能实现的方式中,确定在上述参考位置下目标分割区域中的第一点与上述模型点云中的第二点之间的距离,上述第二点为上述模型点云中距离上述第一点最近的点。在上述距离小于或等于第二阈值(即上述第二距离阈值)的情况下,将上述参考位置的重合度指标增加第二预设值。依据上述重合度指标确定上述重合度,上述重合度指标与上述重合度呈正相关。上述第二阈值为正数,可选的第二阈值的取值为0.3毫米。

上述第一点为在参考位置下的目标分割区域中的任意一点。上述第二预设值为正数,可选的,第二预设值的取值为1。举例来说(例1),假设参考位置下的目标分割区域包含a点、b点、c点,模型点云包含d点、e点、f点、g点。d点为模型点云中距离a点最近的点,且a点与d点之间的距离为d1。e点为模型点云中距离b点最近的点,且b点与e点之间的距离为d2。f点为模型点云中距离c点最近的点,且c点与f点之间的距离为d3。其中,d1大于第二阈值。d2小于第二阈值,相应的,重合度指标可加1。d3等于第二阈值,相应的,重合度指标加1。参考位置下目标分割区域与模型点云之间的重合度指标为2。

在确定每一次重合的重合度指标后,可确定重合度指标的最大值对应的目标分割区域与模型点云的重合度最大,进而可确定重合度最大时的目标分割区域中与模型点云的参考点重合的点的三维位置为目标分割区域的参考点的三维位置。

接着例1继续举例(例2),模型点云中的参考点为f点,当a点与f点重合时,目标分割区域与模型点云之间的重合度指标为1,当b点与f点重合时,目标分割区域与模型点云之间的重合度指标为1,当c点与f点重合时,目标分割区域与模型点云之间的重合度指标为2。此时,重合度指标的最大值对应的目标分割区域为c点与f点重合时的目标分割区域,即通过移动目标分割区域使c点与f点重合时,目标分割区域与模型点云的重合度最大。

403、将重合度的最大值对应的参考位置作为目标参考位置。

接着例2继续举例,假设通过移动目标分割区域使c点与f点重合时的参考位置为第一参考位置,此时第一参考位置即为目标参考位置。

404、确定上述目标参考位置下的上述目标分割区域中的点的三维位置的第三均值,作为上述待定位物体的参考点的第一调整后的三维位置。

目标参考位置下的目标分割区域与模型点云的重合度最大,表征目标参考位置下的目标分割区域中点的三维位置的精度最高。因此计算目标参考位置下的目标分割区域中的点的三维位置的第三均值,并将第三均值作为待定位物体的参考点的第一调整后的三维位置。

本实施例通过目标分割区域与模型点云之间的重合度,确定目标分割区域的目标参考位置,进而确定待定位物体的参考点的第一调整后的三维位置,以达到提升待定位物体的参考点的三维位置的精度的效果。

需要理解的是,实施例(三)和实施例(四)描述的是对目标分割区域执行的处理(下文将称为目标处理),在实际应用中,可对上述至少一个分割区域中的每个区域执行目标处理。例如,至少一个分割区域包括分割区域a,分割区域b,分割区域c,在实际应用中,可对分割区域a执行目标处理,而不对分割区域b和分割区域c执行目标处理。也可对分割区域a和分割区域b执行目标处理,而分割区域c执行目标处理。还可对分割区域a、分割区域b和分割区域c执行目标处理。

在实施例(四)的基础上,本申请还提供了另一种提升待定位物体的位姿的精度的技术方案。该技术方案包括:将上述模型点云的参考点的三维位置调整为上述第三均值。通过旋转和/或平移目标参考位置下的目标分割区域,使上述第一点与模型点云中的第三点之间的距离小于或等于第三阈值,获得第二旋转矩阵和/或第二平移量。依据上述第二旋转矩阵和/或上述第二平移量调整上述待定位物体的参考点的三维位置,获得待定位物体的参考点的第二调整后的三维位置。依据上述第二旋转矩阵和/或上述第二平移量调整上述待定位物体的姿态角,获得上述待定位物体的调整后的姿态角。

在该技术方案中,第一点为目标分割区域中的任意一点,第三点为将参考点的三维位置调整为上述第三均值后的模型点云中距离第一点最近的点。上述第三阈值为正数,可选的第三阈值的取值为0.3毫米。在第一点与第三点之间的距离小于或等于第三阈值时,表征目标分割区域与模型点云之间的重合度达到预期,即目标分割区域的位置的精度达到预期。通过旋转和/或移动目标分割区域使第一点与第三点之间的距离小于或等于第三阈值,可获得第二旋转矩阵和/或第二平移量。将实施例(四)获得的待定位物体的参考点的三维位置与第二旋转矩阵相乘,获得第二旋转后的三维位置。将第二旋转后的三维位置与第二平移量相加,获得待定位物体的参考点的第二调整后的三维位置。将实施例(四)获得的待定位物体的姿态角(由于实施例(四)只对目标分割区域进行的平移,未对目标分割区域进行旋转,因此,实施例(四)获得的待定位物体的姿态角即为实施例(二)获得的待定位物体的姿态角)与第二旋转矩阵相乘,获得旋转后的姿态角。将旋转后的姿态角与第二平移量相加,获得待定位物体的调整后的姿态角。

在通过实施例(一)至实施例(四)提供的技术方案获得待定位物体的位姿后,可依据待定位物体的位姿控制机械爪对待定位物体进行抓取。但在实际应用中,在机械爪抓取待定位物体的抓取路径上可能存在“障碍物”。若抓取路径上存在“障碍物”将影响机械爪的抓取成功率。为此,本申请实施例提供了一种基于对抓取路径上的“障碍物”的检测确定是否抓取待定位物体。

前文所提到的待定位物体的位姿以及待定位物体的调整后的位姿均为待定位物体在相机坐标系下的位姿,而机械爪的抓取路径为世界坐标系下的曲线。因此,在确定机械爪的抓取路径时,可将待定位物体的位姿(或待定位物体的调整后的位姿)与转化矩阵相乘获得待定位物体在世界坐标系下的位姿(包括待抓取三维位置以及待抓取姿态角)。其中,转化矩阵为相机坐标系与世界坐标系之间的坐标系转化矩阵。同时可获取机械爪模型以及机械爪模型的初始位姿。

依据待抓取三维位置、待抓取姿态角、机械爪模型以及机械爪模型的初始位姿,可获得在世界坐标系下机械爪抓取待定位物体的抓取路径。通过将在世界坐标系下机械爪抓取待定位物体的抓取路径转化为在相机坐标系下机械爪抓取待定位物体的抓取路径,可获得在点云中机械爪抓取待定位物体的抓取路径。

通过确定在点云中机械爪抓取待定位物体的抓取路径中不属于待定位物体的点的数量,确定机械爪抓取待定位物体的抓取路径上的“障碍物”。若抓取路径中不属于待定位物体的点的数量大于或等于第四阈值,表征抓取路径上存在“障碍物”,不能对待定位物体进行抓取,即待定位物体为不可抓取物体。若抓取路径中不属于待定位物体的点的数量小于第四阈值,表征抓取路径上不存在“障碍物”,可对待定位物体进行抓取,即待定位物体为可抓取物体。上述第四阈值为正整数,可选的第四阈值的取值为5。

通过确定抓取路径中不属于待定位物体的点的数量,可确定抓取路径上是否存在“障碍物”,进而可确定待定位物体是否为可抓取物体。这样,可提高机械爪抓取待定位物体的成功率,减小因抓取路径上存在“障碍物”导致在对待定位物体进行抓取时出现事故的情况发生的概率。

本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。

上述详细阐述了本申请实施例的方法,下面提供了本申请实施例的装置。

请参阅图5,图5为本申请实施例提供的一种数据处理装置的结构示意图,该装置1包括:获取单元11、调整单元12、分割处理单元13、第一处理单元14、确定单元15、移动单元16、第二处理单元17以及转化单元18,其中:

获取单元11,用于获取待处理点云,所述待处理点云包含至少一个待定位物体;

调整单元12,用于从所述待处理点云中确定至少两个目标区域,依据所述目标区域中的点的初始法向量将所述目标区域中所有点的法向量调整为显著法向量,所述至少两个目标区域中的任意两个目标区域均不同;

分割处理单元13,用于依据所述目标区域的显著法向量对所述待处理点云进行分割处理,获得至少一个分割区域;

第一处理单元14,用于依据所述至少一个分割区域中的点的三维位置获得所述待定位物体的参考点的三维位置。

在一种可能实现的方式中,所述至少两个目标区域包括第一目标区域和第二目标区域,所述初始法向量包括第一初始法向量和第二初始法向量,所述显著法向量包括第一显著法向量和第二显著法向量;

所述调整单元12用于:

依据所述第一目标区域中的点的所述第一初始法向量将所述第一目标区域中所有点的法向量调整为所述第一显著法向量,依据所述第二目标区域中的点的所述第二初始法向量将所述第二目标区域中所有点的法向量调整为所述第二显著法向量。

在另一种可能实现的方式中,所述分割处理单元13用于:

依据所述第一显著法向量和所述第二显著法向量对所述待处理点云进行分割处理,获得所述至少一个分割区域。

在又一种可能实现的方式中,所述调整单元12用于:

对所述第一目标区域中所有点的第一初始法向量进行聚类处理,获得至少一个聚类集合;

将所述至少一个聚类集合中包含的所述第一初始法向量的数量最多的聚类集合作为目标聚类集合,依据所述目标聚类集合中的所述第一初始法向量确定所述第一显著法向量;

将所述第一目标区域中所有点的法向量调整为所述第一显著法向量。

在又一种可能实现的方式中,所述调整单元12具体用于:

将所述第一目标区域中所有点的第一初始法向量映射至至少一个预设区间中的任意一个预设区间内,所述预设区间用于表征向量,所述至少一个预设区间中的任意两个预设区间所表征的向量不同;

将包含所述第一初始法向量的数量最多的所述预设区间作为目标预设区间;

依据所述目标预设区间包含的所述第一初始法向量确定所述第一显著法向量。

在又一种可能实现的方式中,所述调整单元12具体用于:

确定所述目标预设区间内的所述第一初始法向量的均值,作为所述第一显著法向量;或,

确定所述目标预设区间内的所述第一初始法向量的中值,作为所述第一显著法向量。

在又一种可能实现的方式中,所述分割处理单元13用于:

确定所述第一目标区域在垂直于所述第一显著法向量的平面上的投影,获得第一投影平面;

确定所述第二目标区域在垂直于所述第二显著法向量的平面上的投影,获得第二投影平面;

对所述第一投影平面和所述第二投影平面进行分割处理,获得所述至少一个分割区域。

在又一种可能实现的方式中,所述分割处理单元13具体用于:

以所述第一投影平面和所述第二投影平面中的任意一个点为起始点、第一预设值为半径构建第一邻域;

确定所述第一邻域中与所述起始点之间的相似度大于或等于第一阈值的点为目标点;

将包含所述目标点和所述起始点的区域作为分割区域,获得所述至少一个分割区域。

在又一种可能实现的方式中,所述第一处理单元14用于:

确定所述至少一个分割区域中的目标分割区域中的点的三维位置的第一均值;

依据所述第一均值确定所述待定位物体的参考点的三维位置。

在又一种可能实现的方式中,所述装置1还包括:

确定单元15,用于在所述确定所述至少一个分割区域中的点的三维位置的第一均值之后,确定所述目标分割区域中的点的法向量的第二均值;

所述获取单元11,用于获取所述待定位物体的模型点云,所述模型点云的初始三维位置为所述第一均值,所述模型点云的俯仰角通过所述第二均值确定;

移动单元16,用于移动所述目标分割区域,使所述目标分割区域的坐标系与所述模型点云的坐标系重合,获得第一旋转矩阵和/或第一平移量;

所述第一处理单元14,用于依据所述第一旋转矩阵和/或所述第一平移量、所述目标分割区域的法向量,获得所述待定位物体的姿态角。

在又一种可能实现的方式中,所述移动单元16,还用于在所述目标分割区域的坐标系与所述模型点云的坐标系重合的情况下,移动所述目标分割区域使所述目标分割区域中的点与所述模型点云的参考点重合,获得所述目标分割区域的参考位置;

所述确定单元15,还用于确定在所述参考位置下的所述目标分割区域与所述模型点云的重合度;

所述确定单元15,还用于将重合度的最大值对应的参考位置作为目标参考位置;

所述第一处理单元14,用于确定所述目标参考位置下的所述目标分割区域中的点的三维位置的第三均值,作为所述待定位物体的参考点的第一调整后的三维位置。

在又一种可能实现的方式中,所述确定单元15具体用于:

确定在所述参考位置下所述目标分割区域中的第一点与所述模型点云中的第二点之间的距离,所述第二点为所述模型点云中距离所述第一点最近的点;

在所述距离小于或等于第二阈值的情况下,将所述参考位置的重合度指标增加第二预设值;

依据所述重合度指标确定所述重合度,所述重合度指标与所述重合度呈正相关。

在又一种可能实现的方式中,所述调整单元12,还用于将所述模型点云的参考点的三维位置调整为所述第三均值;

所述装置1还包括:

第二处理单元17,用于通过旋转和/或平移所述目标参考位置下的所述目标分割区域,使所述第一点与所述模型点云中的第三点之间的距离小于或等于第三阈值,获得第二旋转矩阵和/或第二平移量,所述第三点为参考点的三维位置为所述第三均值时的模型点云中距离所述第一点最近的点;

所述第一处理单元14,还用于依据所述第二旋转矩阵和/或所述第二平移量调整所述待定位物体的参考点的三维位置,获得所述待定位物体的参考点的第二调整后的三维位置,依据所述第二旋转矩阵和/或所述第二平移量调整所述待定位物体的姿态角,获得所述待定位物体的调整后的姿态角。

在又一种可能实现的方式中,所述装置1还包括:

转化单元18,用于将所述待定位物体的参考点的三维位置和所述待定位物体的姿态角转化为机器人坐标系下的待抓取三维位置和待抓取姿态角;

所述获取单元11,还用于获取机械爪模型以及所述机械爪模型的初始位姿;

所述第一处理单元14,还用于依据所述待抓取三维位置、所述待抓取姿态角、所述机械爪模型以及所述机械爪模型的初始位姿,获得在所述点云中所述机械爪抓取所述待定位物体的抓取路径;

所述确定单元15,还用于在所述抓取路径中不属于所述待定位物体的点的数量大于或等于第四阈值的情况下,确定所述待定位物体为不可抓取物体。

在又一种可能实现的方式中,所述调整单元12用于:

确定所述点云中的至少两个目标点;

分别以所述至少两个目标点中的每一个目标点为球心、第三预设值为半径构建所述至少两个目标区域。

在又一种可能实现的方式中,所述获取单元11用于:

获取第一点云和第二点云,其中,所述第一点云包括所述至少一个待定位物体所在的场景的点云,所述第二点云包括所述至少一个待定位物体和所述至少一个待定位物体所在的场景的点云;

确定所述第一点云和所述第二点云中相同的数据;

从所述第二点云中将所述相同的数据去除,得到所述待处理点云。

在又一种可能实现的方式中,所述参考点为:质心、重心、几何中心中的一个。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

本实施例通过依据目标区域的显著法向量对点云进行分割处理,以挺高分割准确率。进而在通过依据分割获得的分割区域中的点的三维位置确定待定位物体的参考点的三维位置时,可提高待定位物体的参考点的三维位置的精度。

图6为本申请实施例提供的一种数据处理装置的硬件结构示意图。该数据处理装置2包括处理器21,存储器22,输入装置23,输出装置24。该处理器21、存储器22、输入装置23和输出装置24通过连接器相耦合,该连接器包括各类接口、传输线或总线等等,本申请实施例对此不作限定。应当理解,本申请的各个实施例中,耦合是指通过特定方式的相互联系,包括直接相连或者通过其他设备间接相连,例如可以通过各类接口、传输线、总线等相连。

处理器21可以是一个或多个图形处理器(graphicsprocessingunit,gpu),在处理器21是一个gpu的情况下,该gpu可以是单核gpu,也可以是多核gpu。可选的,处理器21可以是多个gpu构成的处理器组,多个处理器之间通过一个或多个总线彼此耦合。可选的,该处理器还可以为其他类型的处理器等等,本申请实施例不作限定。

存储器22可用于存储计算机程序指令,以及用于执行本申请方案的程序代码在内的各类计算机程序代码。可选地,存储器包括但不限于是随机存储记忆体(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、或便携式只读存储器(compactdiscread-onlymemory,cd-rom),该存储器用于相关指令及数据。

输入装置23用于输入数据和/或信号,以及输出装置24用于输出数据和/或信号。输出装置23和输入装置24可以是独立的器件,也可以是一个整体的器件。

可理解,本申请实施例中,存储器22不仅可用于存储相关指令,还可用于存储相关数据,如该存储器22可用于存储通过输入装置23获取的待处理点云,又或者该存储器22还可用于存储通过处理器21获得的待定位物体的位姿等等,本申请实施例对于该存储器中具体所存储的数据不作限定。

可以理解的是,图6仅仅示出了数据处理装置的简化设计。在实际应用中,数据处理装置还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出装置、处理器、存储器等,而所有可以实现本申请实施例的数据处理装置都在本申请的保护范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所属领域的技术人员还可以清楚地了解到,本申请各个实施例描述各有侧重,为描述的方便和简洁,相同或类似的部分在不同实施例中可能没有赘述,因此,在某一实施例未描述或未详细描述的部分可以参见其他实施例的记载。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个第一处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriberline,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digitalversatiledisc,dvd))、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:只读存储器(read-onlymemory,rom)或随机存储存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可存储程序代码的介质。

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