抓取点检测方法及装置、电子设备和存储介质转让专利

申请号 : CN202110213290.8

文献号 : CN112873212B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴华栋周韬成慧

申请人 : 深圳市商汤科技有限公司

摘要 :

本公开涉及一种抓取点检测方法及装置、电子设备和存储介质,所述方法包括:获取待抓取的目标的采集数据,采集数据包括二维的图像数据或三维的点云数据;对采集数据进行抓取点预测,确定目标的第一抓取点预测结果,第一抓取点预测结果包括目标上的数据点所指示的预测点,以及数据点针对预测点的置信度;根据目标上各个数据点针对预测点的置信度,从预测点中确定出目标的抓取点,以使抓取设备根据抓取点抓取目标。本公开实施例可实现得到可靠性和准确度更高的抓取点。

权利要求 :

1.一种抓取点检测方法,其特征在于,包括:获取待抓取的目标的采集数据,所述采集数据包括二维的图像数据或三维的点云数据;

对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,所述第一抓取点预测结果包括所述目标上的数据点所指示的预测点,以及所述数据点针对所述预测点的置信度;

根据所述目标上各个数据点针对所述预测点的置信度,从所述预测点中确定出所述目标的抓取点,以使抓取设备根据所述抓取点抓取所述目标;

其中,所述方法通过抓取点检测网络,对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,所述抓取点检测网络是根据样本数据的标签数据与所述样本数据的第二抓取点预测结果之间的第一损失项与第二损失项训练得到的;

其中,所述第一损失项根据所述标签数据中抓取点的第一位置信息、所述第二抓取点预测结果中的预测点的第二位置信息以及所述第二抓取点预测结果中的置信度确定,所述第二损失项根据所述第二抓取点预测结果中的置信度确定。

2.根据权利要求1所述的方法,其特征在于,根据所述目标上各个数据点针对所述预测点的置信度,从多个预测点中确定出所述目标的抓取点,包括:根据所述目标上的各个数据点针对所述预测点的置信度,确定所述预测点的响应值;

根据多个预测点的响应值,从所述多个预测点中确定出所述目标的抓取点。

3.根据权利要求2所述的方法,其特征在于,所述根据所述目标上的各个数据点针对所述预测点的置信度,确定所述预测点的响应值,包括:将指示所述预测点的各个数据点的置信度进行累加,得到所述预测点的响应值。

4.根据权利要求2所述的方法,其特征在于,所述根据多个预测点的响应值,从所述多个预测点中确定出所述目标的抓取点,包括:将响应值超过预设阈值对应的预测点,确定为所述目标的抓取点。

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述采集数据包括二维的图像数据的情况下,获取与所述图像数据对应的深度图;

根据所述抓取点在所述深度图中对应的深度值,以及所述抓取点在所述图像数据中的二维位置,确定所述抓取点对应的法向量,所述法向量用于确定所述抓取设备的位姿,以使所述抓取设备基于所述位姿以及所述抓取点抓取所述目标。

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述采集数据包括三维的点云数据的情况下,根据所述抓取点在所述点云数据中的三维位置,确定所述抓取点对应的法向量,所述法向量用于确定所述抓取设备的位姿,以使所述抓取设备基于所述位姿以及所述抓取点抓取所述目标。

7.根据权利要求1所述的方法,其特征在于,所述目标上的数据点所指示的预测点,用所述数据点所指示的预测点的位置信息表征,所述位置信息包括所述数据点所指示的预测点与所述数据点之间的距离信息,

所述方法还包括:根据所述数据点指示的距离信息,以及所述数据点的位置信息,确定所述数据点所指示的预测点。

8.根据权利要求1所述的方法,其特征在于,所述第一抓取点预测结果还包括所述采集数据中各个数据点的分类信息,所述分类信息用于指示所述采集数据中各个数据点是否为所述目标上的数据点。

9.根据权利要求1‑8任一项所述的方法,其特征在于,所述方法还包括:获取包含样本目标的样本数据,以及与所述样本数据对应的标签数据,所述标签数据包括所述样本目标上的数据点所指示的抓取点,所述样本数据包括二维的图像数据或三维的点云数据;

将所述样本数据输入至待训练的抓取点检测网络中,输出所述样本目标的第二抓取点预测结果,所述第二抓取点预测结果包括所述样本目标上的数据点所指示的预测点,以及所述样本目标上的数据点针对所述预测点的置信度;

根据所述标签数据与所述第二抓取点预测结果,训练所述抓取点检测网络。

10.根据权利要求9所述的方法,其特征在于,所述根据所述标签数据与所述第二抓取点预测结果,训练所述抓取点检测网络,包括:根据所述标签数据与所述第二抓取点预测结果之间的第一损失项及第二损失项,确定所述抓取点检测网络的损失;

根据所述损失,更新所述抓取点检测网络的网络参数。

11.根据权利要求10所述的方法,其特征在于,根据所述标签数据与所述第二抓取点预测结果之间的第一损失项及第二损失项,确定所述抓取点检测网络的损失,包括:将所述第一损失项与所述第二损失项之间差值的平均值,确定为所述抓取点检测网络的损失;

其中,所述第一损失项包括第一位置信息与第二位置信息之间差值的平方值,与置信度的乘积;所述第二损失项包括对置信度取对数的值与加权系数的乘积。

12.根据权利要求10或11所述的方法,其特征在于,所述第一位置信息包括所述样本目标上的数据点与所述样本目标上的抓取点之间的距离信息;

所述第二位置信息包括所述样本目标上的数据点与所述样本目标上的数据点所指示的预测点之间的距离信息。

13.一种抓取点检测装置,其特征在于,包括:获取模块,用于获取待抓取的目标的采集数据,所述采集数据包括二维的图像数据或三维的点云数据;

预测模块,用于对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,所述第一抓取点预测结果包括所述目标上的数据点所指示的预测点,以及所述数据点针对所述预测点的置信度;

抓取点确定模块,用于根据所述目标上各个数据点针对所述预测点的置信度,从所述预测点中确定出所述目标的抓取点,以使抓取设备根据所述抓取点抓取所述目标;

其中,所述预测模块还用于通过抓取点检测网络,对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,所述抓取点检测网络是根据样本数据的标签数据与所述样本数据的第二抓取点预测结果之间的第一损失项与第二损失项训练得到的;

其中,所述第一损失项根据所述标签数据中抓取点的第一位置信息、所述第二抓取点预测结果中的预测点的第二位置信息以及所述第二抓取点预测结果中的置信度确定,所述第二损失项根据所述第二抓取点预测结果中的置信度确定。

14.一种电子设备,其特征在于,包括:处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至12中任意一项所述的方法。

15.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至12中任意一项所述的方法。

说明书 :

抓取点检测方法及装置、电子设备和存储介质

技术领域

[0001] 本公开涉及计算机技术领域,尤其涉及一种抓取点检测方法及装置、电子设备和存储介质。

背景技术

[0002] 随着计算机软硬件的快速发展,人工智能技术日益成熟,作为人工智能走向落地的重要应用,机器人受到了广泛的关注。例如在物流领域,机器人被大量应用于自动分拣、
搬运、码垛等,并逐渐替代人力成为物流链的重要组成。
[0003] 将人工智能在应用于物流领域,主要是实现对物品的抓取。目前在实现物品抓取时,通常先检测物体上的抓取点,进而控制机器人的抓取部件(例如,机械臂)按照检测的抓
取点进行抓取。但相关技术中的抓取点检测方法存在准确度低、可靠性差的问题。

发明内容

[0004] 本公开提出了一种抓取点检测的技术方案。
[0005] 根据本公开的一方面,提供了一种抓取点检测方法,包括:获取待抓取的目标的采集数据,所述采集数据包括二维的图像数据或三维的点云数据;对所述采集数据进行抓取
点预测,确定所述目标的第一抓取点预测结果,所述第一抓取点预测结果包括所述目标上
的数据点所指示的预测点,以及所述数据点针对所述预测点的置信度;根据所述目标上各
个数据点针对所述预测点的置信度,从所述预测点中确定出所述目标的抓取点,以使抓取
设备根据所述抓取点抓取所述目标。根据本公开实施例,能够得到可靠性和准确度更高的
抓取点。
[0006] 在一种可能的实现方式中,根据所述目标上各个数据点针对所述预测点的置信度,从多个预测点中确定出所述目标的抓取点,包括:根据所述目标上的各个数据点针对所
述预测点的置信度,确定所述预测点的响应值;根据多个预测点的响应值,从所述多个预测
点中确定出所述目标的抓取点。通过该方式,能够实现基于置信度对预测点的加权投票,也
即确定出响应值,从而使得根据置信度所确定出的抓取点的可靠性和准确度更高。
[0007] 在一种可能的实现方式中,所述根据所述目标上的各个数据点针对所述预测点的置信度,确定所述预测点的响应值,包括:将指示所述预测点的各个数据点的置信度进行累
加,得到所述预测点的响应值。通过该方式可以有效便捷地确定出各预测点的响应值,实现
基于置信度的加权投票,进而便于确定出准确度高及可靠性高的抓取点。
[0008] 在一种可能的实现方式中,所述根据多个预测点的响应值,从所述多个预测点中确定出所述目标的抓取点,包括:将响应值超过预设阈值对应的预测点,确定为所述目标的
抓取点。通过该方式,可以有效便捷地确定出多个抓取点。
[0009] 在一种可能的实现方式中,所述方法还包括:在所述采集数据包括二维的图像数据的情况下,获取与所述图像数据对应的深度图;根据所述抓取点在所述深度图中对应的
深度值,以及所述抓取点在所述图像数据中的二维位置,确定所述抓取点对应的法向量,所
述法向量用于确定所述抓取设备的位姿,以使所述抓取设备基于所述位姿以及所述抓取点
抓取所述目标。通过该方式,能够结合深度图确定抓取设备的位姿,使得基于确定的位姿进
行目标抓取时,机器人或者机械臂等抓取设备能够实现六自由度的拾取。
[0010] 在一种可能的实现方式中,所述方法还包括:在所述采集数据包括三维的点云数据的情况下,根据所述抓取点在所述点云数据中的三维位置,确定所述抓取点对应的法向
量,所述法向量用于确定所述抓取设备的位姿,以使所述抓取设备基于所述位姿以及所述
抓取点抓取所述目标。通过该方式,能够直接根据点云数据中的三维位置确定抓取设备的
位姿,使得基于位姿进行目标抓取时,机器人或者机械臂等抓取设备能够实现六自由度的
拾取。
[0011] 在一种可能的实现方式中,所述目标上的数据点所指示的预测点,用所述数据点所指示的预测点的位置信息表征,所述位置信息包括所述数据点所指示的预测点与所述数
据点之间的距离信息,所述方法还包括:根据所述数据点指示的距离信息,以及所述数据点
的位置信息,确定所述数据点所指示的预测点。通过该方式,能够根据数据点与预测点之间
的距离信息,以及数据点的位置信息,有效地确定出预测点位置,也即实现确定出目标上的
预测点,进而便于之后对各确定出的预测点进行投票。
[0012] 在一种可能的实现方式中,所述第一抓取点预测结果还包括所述采集数据中各个数据点的分类信息,所述分类信息用于指示所述采集数据中各个数据点是否为所述目标上
的数据点。通过该方式,通过该方式,可以实现针对物体上数据点所指示的预测点进行投
票,进而快速有效的确定出抓取点。
[0013] 在一种可能的实现方式中,所述方法通过抓取点检测网络,对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,包括:通过所述抓取点检测网络的编码
网络,对所述采集数据进行编码处理,得到多尺度的特征图;通过所述抓取点检测网络的解
码网络,对所述多尺度的特征图进行解码处理,得到所述目标的第一抓取点预测结果。通过
该方式,能够通过抓取点预测网络,准确地输出目标的第一抓取点预测结果,以提高预测抓
取点的准确性,进而提高抓取目标的成功率。
[0014] 在一种可能的实现方式中,所述方法还包括:获取包含样本目标的样本数据,以及与所述样本数据对应的标签数据,所述标签数据包括所述样本目标上的数据点所指示的抓
取点,所述样本数据包括二维的图像数据或三维的点云数据;将所述样本数据输入至待训
练的抓取点检测网络中,输出所述样本目标的第二抓取点预测结果,所述第二抓取点预测
结果包括所述样本目标上的数据点所指示的预测点,以及所述样本目标上的数据点针对所
述预测点的置信度;根据所述标签数据与所述第二抓取点预测结果,训练所述抓取点检测
网络。通过该方式,能够通过训练得到的抓取点检测网络,实现高效地确定出抓取点预测结
果,以便于准确可靠地确定出抓取点。
[0015] 在一种可能的实现方式中,所述根据所述标签数据与所述第二抓取点预测结果,训练所述抓取点检测网络,包括:根据所述标签数据与所述第二抓取点预测结果之间的第
一损失项及第二损失项,确定所述抓取点检测网络的损失;根据所述损失,更新所述抓取点
检测网络的网络参数;其中,所述第一损失项根据所述标签数据中抓取点的第一位置信息、
所述第二抓取点预测结果中的预测点的第二位置信息以及所述第二抓取点预测结果中的
置信度确定,所述第二损失项根据所述第二抓取点预测结果中的置信度确定。通过该方式,
可以实现对置信度的自监督学习,对于抓取点位置的监督学习。
[0016] 在一种可能的实现方式中,根据所述标签数据与所述第二抓取点预测结果之间的第一损失项及第二损失项,确定所述抓取点检测网络的损失,包括:将所述第一损失项与所
述第二损失项之间差值的平均值,确定为所述抓取点检测网络的损失;其中,所述第一损失
项包括第一位置信息与第二位置信息之间差值的平方值,与置信度的乘积;所述第二损失
项包括对置信度取对数的值与加权系数的乘积。通过该方式,能够根据抓取点与预测点之
间的差异,结合置信度,实现抓取点检测网络的高效训练;以及,能够实现对置信度的自监
督学习,对于抓取点位置的监督学习。
[0017] 在一种可能的实现方式中,所述第一位置信息包括所述样本目标上的数据点与所述样本目标上的抓取点之间的距离信息;所述第二位置信息包括所述样本目标上的数据点
与所述样本目标上的数据点所指示的预测点之间的距离信息。
[0018] 根据本公开的一方面,提供了一种抓取点检测装置,包括:获取模块,用于获取待抓取的目标的采集数据,所述采集数据包括二维的图像数据或三维的点云数据;预测模块,
用于对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,所述第一抓
取点预测结果包括所述目标上的数据点所指示的预测点,以及所述数据点针对所述预测点
的置信度;抓取点确定模块,用于根据所述目标上各个数据点针对所述预测点的置信度,从
所述预测点中确定出所述目标的抓取点,以使抓取设备根据所述抓取点抓取所述目标。
[0019] 在一种可能的实现方式中,所述抓取点确定模块,包括:响应值确定子模块,用于根据所述目标上的各个数据点针对所述预测点的置信度,确定所述预测点的响应值;抓取
点确定子模块,用于根据多个预测点的响应值,从所述多个预测点中确定出所述目标的抓
取点。
[0020] 在一种可能的实现方式中,所述响应值确定子模块,具体用于:将指示所述预测点的各个数据点的置信度进行累加,得到所述预测点的响应值。
[0021] 在一种可能的实现方式中,所述抓取点确定子模块,具体用于:将响应值超过预设阈值对应的预测点,确定为所述目标的抓取点。
[0022] 在一种可能的实现方式中,所述装置还包括:深度获取模块,用于在所述采集数据包括二维的图像数据的情况下,获取与所述图像数据对应的深度图;第一法向量确定模块,
用于根据所述抓取点在所述深度图中对应的深度值,以及所述抓取点在所述图像数据中的
二维位置,确定所述抓取点对应的法向量,所述法向量用于确定所述抓取设备的位姿,以使
所述抓取设备基于所述位姿以及所述抓取点抓取所述目标。
[0023] 在一种可能的实现方式中,所述装置还包括:第二法向量确定模块,用于在所述采集数据包括三维的点云数据的情况下,根据所述抓取点在所述点云数据中的三维位置,确
定所述抓取点对应的法向量,所述法向量用于确定所述抓取设备的位姿,以使所述抓取设
备基于所述位姿以及所述抓取点抓取所述目标。
[0024] 在一种可能的实现方式中,所述目标上的数据点所指示的预测点,用所述数据点所指示的预测点的位置信息表征,所述位置信息包括所述数据点所指示的预测点与所述数
据点之间的距离信息,所述装置还包括:预测点确定模块,用于根据所述数据点指示的距离
信息,以及所述数据点的位置信息,确定所述数据点所指示的预测点。
[0025] 在一种可能的实现方式中,所述第一抓取点预测结果还包括所述采集数据中各个数据点的分类信息,所述分类信息用于指示所述采集数据中各个数据点是否为所述目标上
的数据点。
[0026] 在一种可能的实现方式中,所述预测模块,具体用于通过抓取点检测网络,对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,包括:通过所述抓取点检
测网络的编码网络,对所述采集数据进行编码处理,得到多尺度的特征图;通过所述抓取点
检测网络的解码网络,对所述多尺度的特征图进行解码处理,得到所述目标的第一抓取点
预测结果。
[0027] 在一种可能的实现方式中,所述装置还包括:样本数据获取模块,用于获取包含样本目标的样本数据,以及与所述样本数据对应的标签数据,所述标签数据包括所述样本目
标上的数据点所指示的抓取点,所述样本数据包括二维的图像数据或三维的点云数据;输
出模块,用于将所述样本数据输入至待训练的抓取点检测网络中,输出所述样本目标的第
二抓取点预测结果,所述第二抓取点预测结果包括所述样本目标上的数据点所指示的预测
点,以及所述样本目标上的数据点针对所述预测点的置信度;训练模块,用于根据所述标签
数据与所述第二抓取点预测结果,训练所述抓取点检测网络。
[0028] 在一种可能的实现方式中,所述训练模块,包括:损失确定子模块,用于根据所述标签数据与所述第二抓取点预测结果之间的第一损失项及第二损失项,确定所述抓取点检
测网络的损失;参数更新子模块,用于根据所述损失,更新所述抓取点检测网络的网络参
数;其中,所述第一损失项根据所述标签数据中抓取点的第一位置信息、所述第二抓取点预
测结果中的预测点的第二位置信息以及所述第二抓取点预测结果中的置信度确定,所述第
二损失项根据所述第二抓取点预测结果中的置信度确定。
[0029] 在一种可能的实现方式中,损失确定子模块,具体用于:将所述第一损失项与所述第二损失项之间差值的平均值,确定为所述抓取点检测网络的损失;其中,所述第一损失项
包括第一位置信息与第二位置信息之间差值的平方值,与置信度的乘积;所述第二损失项
包括对置信度取对数的值与加权系数的乘积。
[0030] 在一种可能的实现方式中,所述第一位置信息包括所述样本目标上的数据点与所述样本目标上的抓取点之间的距离信息;所述第二位置信息包括所述样本目标上的数据点
与所述样本目标上的数据点所指示的预测点之间的距离信息。
[0031] 根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方
法。
[0032] 根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
[0033] 在本公开实施例中,数据点所指示的预测点,可以认为是该数据点所预测的抓取点,数据点针对预测点的置信度,可以反映该数据点所预测的抓取点的可靠程度,进而根据
置信度从多个预测点中确定出的抓取点的可靠性和准确度更高。
[0034] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将
变得清楚。

附图说明

[0035] 此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
[0036] 图1示出根据本公开实施例的抓取点检测方法的流程图。
[0037] 图2示出根据本公开实施例的一种抓取点检测网络的结构示意图。
[0038] 图3示出根据本公开实施例的抓取点检测装置的框图。
[0039] 图4示出根据本公开实施例的一种电子设备的框图。
[0040] 图5示出根据本公开实施例的一种电子设备的框图。

具体实施方式

[0041] 以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除
非特别指出,不必按比例绘制附图。
[0042] 在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0043] 本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文
中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、
B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
[0044] 另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于
本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
[0045] 图1示出根据本公开实施例的抓取点检测方法的流程图,如图1所示,所述抓取点检测方法包括:
[0046] 在步骤S11中,获取待抓取的目标的采集数据,采集数据包括二维的图像数据或三维的点云数据;
[0047] 在步骤S12中,对采集数据进行抓取点预测,确定目标的第一抓取点预测结果,第一抓取点预测结果包括目标上的数据点所指示的预测点,以及数据点针对预测点的置信
度;
[0048] 在步骤S13中,根据目标上各个数据点针对预测点的置信度,从预测点中确定出目标的抓取点,以使抓取设备根据抓取点抓取目标。
[0049] 在一种可能的实现方式中,所述抓取点检测方法可以由终端设备或服务器等电子设备执行。其中,终端设备可以包括抓取设备,抓取设备可以包括机器人、机械臂及与机械
臂连接的控制设备等,其中,所述控制设备可以包括用户设备(User Equipment,UE)、移动
设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,
PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过终端设备的处理器
调用存储器中存储的计算机可读指令的方式来实现。
[0050] 在一种可能的实现方式中,在所述方法由服务器执行的情况下,可以将在服务器中确定出的抓取点发送至抓取设备,以使抓取设备根据接收到的抓取点抓取目标。
[0051] 在一种可能的实现方式中,目标可以是指抓取设备所要抓取的物品,例如,货架上的物品、生产线上的物品等。可以理解的是,采集数据中的目标可以包括一个或多个。本公
开实施例可以对采集数据中全部或部分的目标进行抓取点检测,对此本公开实施例不做限
制。
[0052] 在一种可能的实现方式中,在步骤S11中,目标的采集数据可以由数据采集设备采集得到。所述数据采集设备可以与抓取设备连接,或安装在抓取设备上,对此本公开实施例
不做限制。
[0053] 在一种可能的实现方式中,数据采集设备根据采集数据的维度选用。其中,针对二维的图像数据,数据采集设备例如可以包括但不限于:普通摄像头、飞行时间摄像头(Time‑
Of‑Flight camera,TOF camera)等,其中,针对TOF摄像头,二维的图像数据可以是TOF摄像
头采集的RGB‑D(红绿蓝‑深度)图像中的RGB图像。
[0054] 在一种可能的实现方式中,针对三维的点云数据,数据采集设备例如可以包括但不限于三维扫描设备、立体摄像头(stereo camera)等。三维的点云数据,还可以是利用采
集的图像数据,结合三维重建技术所重建出的三维点云数据。对于点云数据的来源,本公开
实施例不做限制。
[0055] 在一种可能的实现方式中,在步骤S12中,可以通过抓取点检测网络,实现对采集数据进行抓取点预测,确定目标的第一抓取点预测结果。其中,抓取点检测网络可例如为卷
积神经网络,本公开对抓取点检测网络的网络结构及训练方式不做限制。
[0056] 在一种可能的实现方式中,目标上的数据点可以是图像中的二维像素点,或点云中的三维点。目标上的数据点所指示的预测点,可以认为是该数据点所预测的抓取点。可以
理解的是,目标上所有数据点均有所指示的预测点,部分数据点可以指示到同一个预测点;
针对某一预测点,若指示该预测点的数据点的数量较多,该预测点为抓取点的概率(或者说
可能性)较高;基于此,可以通过对预测点进行投票的方式,确定出抓取点。
[0057] 在一种可能的实现方式中,数据点针对预测点的置信度,可以反映该数据点所预测的抓取点的可靠程度。例如,可以理解的是,针对相互堆叠的物品,识别物品重叠的边缘
上的点,比识别非边缘上的点的难度要高,或者说,相对于非边缘上的点,识别重叠的边缘
上的点,是否为对应物品上的点的难度要高;因此,重叠的边缘上的点的可靠性,要比非边
缘上的点的可靠性要低,那么边缘上的点所预测的抓取点的可靠程度,相对于非边缘上的
点来说也要低。
[0058] 在一种可能的实现方式中,可以认为置信度越高,代表该数据点的可靠程度越高;反之,置信度越低,则该数据点的可靠程度越低,也即置信度与可靠程度成正相关;当然也
可以设定为成负相关,对此本公开实施例不做限制。通过该方式,在基于置信度对预测点进
行投票时,可以实现基于置信度的高低,对数据点所预测的抓取点进行加权投票,从而提高
抓取点检测的准确度和可靠性。
[0059] 在一种可能的实现方式中,在第一抓取点预测结果中,可以用预测点的位置信息表征该数据点所指示的预测点。其中,预测点的位置信息可以是预测点的坐标信息(如二维
坐标或三维坐标);也可以数据点与预测点之间的距离信息。对于预测点的位置信息的具体
形式,可以依据实际需求确定,对此本公开实施例不做限制。
[0060] 其中,距离信息可以包括二维坐标下的横坐标(x轴)距离及纵坐标(y轴)距离;或三维坐标下的横坐标(x轴)距离、纵坐标(y轴)距离及竖坐标(z轴)距离,对此本公开实施例
不做限制。
[0061] 在一种可能的实现方式中,第一抓取点预测结果还可以包括:采集数据中各个数据点的分类信息,分类信息用于指示采集数据中各个数据点是否为目标上的数据点。例如,
对于目标上的点可以用1表征,非目标上的点可以用0表征。通过该方式,可以实现针对物体
上数据点所指示的预测点进行投票,进而快速有效的确定出抓取点。
[0062] 在一种可能的实现方式中,第一抓取点预测结果可以用抓取点检测网络输出的输出图表示,输出图中的点与采样数据中的点对应。输出图可以是多通道的,例如,针对二维
的图像数据,输出图可以是4通道的,可以分别对应数据点与预测点的横坐标距离、数据点
与预测点的纵坐标距离、数据点的分类信息和数据点针对预测点的置信度。当然也可以采
用其它表示方式,具体可依据实际需求确定,对此本公开实施例不做限制。
[0063] 在一种可能的实现方式中,在步骤S13中,目标上各个数据点针对预测点的置信度,可以理解为,针对任一预测点,预测该预测点为抓取点的各个数据点的置信度;这样针
对每个预测点,可以得到基于各个数据点的置信度对预测点进行投票的投票结果,进而可
以基于每个预测点的投票结果,从多个预测点中确定出目标的抓取点。
[0064] 在一种可能的实现方式中,基于置信度对每个预测点进行投票,可以理解为,在有数据点指示某个预测点时,用该数据点对应的置信度,对该预测点进行投票。本公开实施例
对于投票方式不做限定,只要是基于本公开中的置信度对预测点进行投票所确定出的抓取
点,均属于本公开所保护的范围。
[0065] 在本公开实施例中,数据点所指示的预测点,可以理解为该数据点所预测的抓取点,数据点针对预测点的置信度,可以反映该数据点所预测的抓取点的可靠程度,进而根据
置信度从多个预测点中确定出抓取点的可靠性和准确度更高。
[0066] 在一种可能的实现方式中,如上文所述,目标上的数据点所指示的预测点,可以用数据点所指示的预测点的位置信息表征,预测点的位置信息可以包括数据点所指示的预测
点与数据点之间的距离信息,所述方法还包括:根据数据点指示的距离信息,以及数据点的
位置信息,确定数据点所指示的预测点。
[0067] 如上所述,距离信息可以包括横坐标距离及纵坐标距离;或横坐标距离、纵坐标距离及竖坐标距离。可以理解的是,对于任一数据点,该数据点在图像数据或点云数据中的位
置信息可以是已知的。根据数据点的位置信息和数据点指示的距离信息,可以得到数据点
所指示的预测点的位置,也即得到数据点所述指示的预测点。
[0068] 以采集数据为二维的图像数据为例说明,如公式(1)所示,针对数据点(i,j),该数据点指示的预测点(x,y)的横坐标x,为横坐标距离 与数据点(i,j)中横坐标i的和;
预测点(x,y)的纵坐标y,为纵坐标距离 与数据点(i,j)中纵坐标j的和;其中,
代表第一抓取点预测结果中数据点(i,j)所指示的预测点(x,y)与数据点(i,j)之间
的横坐标距离; 代表第一抓取点预测结果中数据点(i,j)所指示的预测点(x,y)与数
据点(i,j)之间的纵坐标距离。
[0069]
[0070] 其中,预测点的位置可以是(x,y),也即实现确定出数据点所述指示的预测点。
[0071] 在一种可能的实现方式中,可以理解的是,对于直接用坐标信息表征预测点的方式,可以直接根据坐标信息,确定出数据点指示的预测点。
[0072] 在本公开实施例中,能够根据数据点与预测点之间的距离信息,以及数据点的位置信息,有效地确定出预测点位置,也即实现确定出目标上的预测点,进而便于之后对各确
定出的预测点进行投票。
[0073] 在一种可能的实现方式中,步骤S13中,根据目标上各个数据点针对预测点的置信度,从多个预测点中确定出目标的抓取点,包括:
[0074] 根据目标上的各个数据点针对预测点的置信度,确定预测点的响应值;
[0075] 根据多个预测点的响应值,从多个预测点中确定出目标的抓取点,以使抓取设备根据抓取点抓取目标。
[0076] 如上文所述,目标上各个数据点针对预测点的置信度,可以理解为,针对任一预测点,指示该预测点为抓取点的各个数据点的置信度;这样针对每个预测点,可以得到基于各
个数据点的置信度对预测点进行投票的投票结果,进而可以基于多个预测点的投票结果,
从多个预测点中确定出目标的抓取点。
[0077] 在一种可能的实现方式,预测点的响应值可以用于反映该预测点为抓取点的概率,或者说可能性等。预测点的响应值,也可以称为预测点的投票结果、评分、状态值等,对
此本公开实施例不做限制。
[0078] 如上所述,可以通过对预测点进行投票的方式实现确定出抓取点。在一种可能的实现方式中,根据目标上的各个数据点针对预测点的置信度,确定预测点的响应值,包括:
将指示预测点的各个数据点的置信度进行累加,得到预测点的响应值。通过该方式可以有
效便捷地确定出各预测点的响应值,实现基于置信度的加权投票,进而便于确定出准确度
高及可靠性高的抓取点。
[0079] 在一种可能的实现方式中,如公式(2)所示,预测点(x,y)的响应值M[x,y],通过指示该预测点(x,y)的数据点(i,j)的置信度Ci,j进行累加得到。
[0080] M[x,y]=∑Ci,j  (2)
[0081] 如上文所述,可以认为置信度越高,代表该数据点的可靠程度越高,也即,置信度与响应值成正相关。相应的,可以认为响应值越高,代表该预测点为抓取点的概率越高。可
以理解的是,在置信度与可靠程度负相关时,可以认为响应值越低,代表该预测点为抓取点
的概率越高。
[0082] 在一种可能的实现方式中,可以设置预设阈值以从多个预测点中确定出抓取点。所述根据多个预测点的响应值,从多个预测点中确定出目标的抓取点,可以包括:将响应值
超过预设阈值对应的预测点,确定为目标的抓取点。通过该方式,可以有效便捷地确定出多
个抓取点。
[0083] 在一种可能的实现方式中,预设阈值的具体数值可以根据实际需求设定,对此本公开实施例不做限制。可以理解的是,确定出的抓取点可以包括多个,可以包括同一个目标
上的多个抓取点;和/或,多个目标上每个目标对应的一个或多个抓取点。
[0084] 在一种可能的实现方式中,也可按照响应值的高低排序,按序从多个预测点中选取一定数量的抓取点。对于选取抓取点的方式,具体可依据实际需求设定,对此本公开实施
例不做限制。
[0085] 在本公开实施例中,能够实现基于置信度对预测点的加权投票,也即确定出响应值,从而使得根据置信度所确定出的抓取点的可靠性和准确度更高。
[0086] 可以知晓的是,在控制抓取设备抓取物品时,不仅要知晓物品的抓取点,还要知晓抓取设备(例如机械臂末端执行器)进行抓取时的位姿。如上文所述,采集数据可以包括二
维的图像数据或三维的点云数据。针对不同类型的采集数据,抓取设备的位姿确定方式可
以不同。
[0087] 在一种可能的实现方式中,所述方法还可以包括:
[0088] 在采集数据包括二维的图像数据的情况下,获取与图像数据对应的深度图;
[0089] 根据抓取点在深度图中对应的深度值,以及抓取点在图像数据中的二维位置,确定抓取点对应的法向量,法向量用于确定抓取设备的位姿,以使抓取设备基于位姿以及抓
取点抓取目标。
[0090] 在一种可能的实现方式中,如上文所述,二维的图像数据,可以是TOF摄像头采集的RGB‑D(红绿蓝‑深度)图像中的RGB图像,与图像数据对应的深度图,可以是TOF摄像头采
集的RGB‑D(红绿蓝‑深度)图像中对应的深度(Depth)图像;也可以是基于二维图像进行特
征提取所得到的深度图,对此本公开实施例不做限制。
[0091] 在一种可能的实现方式中,抓取设备,可以具体指抓取设备的机械臂末端执行器,其中执行器可以是夹持器,或吸盘等,对此本公开实施例不做限制。
[0092] 在一种可能的实现方式中,抓取设备的位姿可以用(x1,y1,z1,rx1,ry1,rz1)表征。其中,(x1,y1)代表抓取点的二维坐标(即二维位置),z1代表抓取点的深度值,(rx1,
ry1,rz1)代表抓取点对应的法向量。
[0093] 在一种可能的实现方式中,抓取点对应的法向量可以根据抓取点的切平面确定。抓取点的切平面可以根据抓取点的三维坐标和抓取点周围的物体表面点的三维坐标确定。
其中,抓取点的三维坐标可以是(x1,y1,z1)。
[0094] 如上文所述,确定出的抓取点可以包括多个,对于具体选用哪个抓取点进行目标抓取,可以基于预设的选取策略、实际应用场景等确定,本公开实施例不做限制,例如,可以
考虑哪个抓取点对应的位姿适合抓取;哪个目标在实际场景中位置适合抓取等,为凸显本
公开的主旨,在此不做详细介绍。
[0095] 根据本公开实施例,可以结合深度图确定抓取设备的位姿,使得基于确定的位姿进行目标抓取时,机器人或者机械臂等抓取设备能够实现六自由度的拾取。
[0096] 在一种可能的实现方式中,所述方法还可以包括:
[0097] 在采集数据包括三维的点云数据的情况下,根据抓取点在点云数据中的三维位置,确定抓取点对应的法向量,法向量用于确定抓取设备的位姿,以使抓取设备基于位姿以
及抓取点抓取所述目标。
[0098] 如上文所述,抓取设备的位姿可以用(x2,y2,z2,rx2,ry2,rz2)表征。在一种可能的实现方式中,其中,(x2,y2,z2)代表抓取点在点云数据中的三维坐标(即三维位置),
(rx2,ry2,rz2)代表抓取点对应的法向量。
[0099] 在一种可能的实现方式中,抓取点对应的法向量可以根据抓取点的切平面确定。抓取点的切平面可以根据抓取点的三维坐标和抓取点周围的物体表面点的三维坐标确定。
其中,抓取点的三维坐标可以是(x2,y2,z2)。
[0100] 根据本公开实施例,可以直接根据点云数据中的三维位置确定抓取设备的位姿,使得基于位姿进行目标抓取时,机器人或者机械臂等抓取设备能够实现六自由度的拾取。
[0101] 如上所述,在步骤S12中,所述方法可以通过抓取点检测网络,对采集数据进行抓取点预测,确定目标的第一抓取点预测结果。在一种可能的实现方式中,通过抓取点检测网
络,对采集数据进行抓取点预测,确定目标的第一抓取点预测结果,可以包括:
[0102] 通过抓取点检测网络的编码网络,对采集数据进行编码处理,得到多尺度的特征图;
[0103] 通过抓取点检测网络的解码网络,对多尺度的特征图进行解码处理,得到目标的第一抓取点预测结果。
[0104] 在一种可能的实现方式中,抓取点检测网络可以是全卷积的神经网络。编码网络可以包括至少一层卷积层,解码网络可以包括至少一层卷积层。对于编码网络及解码网络
中的卷积层的数量,以及卷积层中卷积核的数量及尺寸,可根据实际需求设定,对此本公开
实施例不作限制。
[0105] 图2示出根据本公开实施例的一种抓取点检测网络的结构示意图,如图2所示,Conv代表卷积层,该抓取点检测网络的网络结构可以类似于U‑net神经网络,其中,相同尺
度的卷积层(如Conv1,2与Conv7,1、Conv2,2与Conv6,1、Conv3,2与Conv5,1)之间存在跳跃
连接,也即,编码网络与解码网络中相同尺度的卷积层之间存在连接;左半部分网络(即
Conv1,1至Conv4,1),可以为编码网络,能够对输入的数据进行编码处理(如下采样),得到
不同尺度的特征图;右半部分网络(即Conv4,2至Conv7,2),可以为解码网络,能够对不同尺
度的特征图进行解码处理(如上采样),逐级生成像素级别的第一抓取点预测结果,以清楚
准确地表示目标上预测点的信息,该第一抓取点预测结果可以用抓取点检测网络输出的输
出图表示。
[0106] 需要说明的是,以上抓取点检测网络的网络结构,是本公开实施例提供的一种具体实现方式,本领域技术人员应理解,本公开应不限于此。事实上,本领域技术人员可以根
据实际需求,选用不同类型的神经网络,只要可实现输出抓取点预测结果即可。
[0107] 在本公开实施例中,能够通过抓取点预测网络,准确地输出目标的第一抓取点预测结果,以提高预测抓取点的准确性,进而提高抓取目标的成功率。
[0108] 如上文所述,可以通过抓取点检测网络,对采集数据进行抓取点预测,确定目标的第一抓取点预测结果,在部署该抓取点检测网络前,可以对该抓取点检测网络进行训练,在
一种可能的实现方式中,所述方法还包括:
[0109] 获取包含样本目标的样本数据,以及与样本数据对应的标签数据,标签数据包括样本目标上的数据点所指示的抓取点,样本数据包括二维的图像数据或三维的点云数据;
[0110] 将样本数据输入至待训练的抓取点检测网络中,输出样本目标的第二抓取点预测结果,第二抓取点预测结果包括样本目标上的数据点所指示的预测点,以及样本目标上的
数据点针对预测点的置信度;
[0111] 根据标签数据与第二抓取点预测结果,训练抓取点检测网络。
[0112] 在一种可能的实现方式中,样本数据可以根据应用场景确定。例如,对于小型物品的物流运输,与对于大型物品的物流运输,采用的样本数据可以不同;当然也可以同时采用
包括小型物品及大型物品的样本数据,对此本公开实施例不做限制。
[0113] 在一种可能的实现方式中,可以通过仿真系统实现对样本数据(如采集的RGB图像或点云数据)的标注,也即得到标签数据。样本数据还可以是该仿真系统生成的仿真数据。
样本数据中可以包括一个或多个样本目标。本公开实施例对于样本数据的来源及样本数据
的标注方式不做限制。
[0114] 可以理解的是,样本目标上的数据点所指示的抓取点可以是已确定的,例如,可以将样本目标的表面上的中心点确定为抓取点。可以理解的是,物品不止一个,物品也不止一
面,抓取点可以不止一个,对于每个物体的每面上的抓取点,可以用每个物体的每面上的数
据点指示。
[0115] 在一种可能的实现方式中,可以对样本目标上的每个数据点标注标签,得到标签数据。其中,标签数据可以包括抓取点的位置信息,及数据点的分类信息。数据点的分类信
息可以用于指示该数据点是否为样本目标上的点。
[0116] 在一种可能的实现方式中,位置信息可以包括抓取点与数据点之间的距离信息;或抓取点的坐标信息,对此本公开实施例不做限制。
[0117] 在一种可能的实现方式中,标签数据可以用标签图的形式表示,标签图中的点与样本数据中的点对应。标签图可以是多通道的,例如,针对二维的图像数据,标签图可以是3
通道的,可以分别对应横坐标距离(Y[x`,y`,0]=x`‑x0)、纵坐标距离(Y[x`y`,1]=y`‑y0)
及分类信息(Y[x`,y`,2]=1或0),其中,(x`,y`)代表数据点坐标,(x0,y0)代表抓取点(如
表面中心点)坐标;相应的,对于三维的点云数据,标签图可以是4通道的,可以分别对应横
坐标距离、纵坐标距离、竖坐标距离及分类信息。
[0118] 在一种可能的实现方式中,样本目标上的数据点所指示的预测点,可以理解为该数据点所预测的抓取点,数据点针对预测点的置信度,可以反映该数据点所预测的抓取点
的可靠程度;可以用预测点的位置信息表征数据点指示的预测点,其中,位置信息可以是预
测点的坐标信息,或数据点与预测点之间的位置信息。
[0119] 如上所述,对于二维的图像数据,抓取点预测网络输出的输出图可以是4通道的,对于三维的点云数据,抓取点预测网络输出的输出图可以是5通道的。标签数据可以用标签
图表示,对于二维的图像数据,标签图可以是3通道的,对于三维的点云数据,标签图可以是
4通道的。可以理解的是,第一抓取点预测结果中除置信度以外的其他信息可以是与标签数
据对应的,也即,除输出图中的置信度通道,标签图的通道与输出图的通道是对应的,这样
可以便于根据标签数据与第二抓取点预测结果,训练抓取点检测网络。
[0120] 在一种可能的实现方式中,可以根据标签数据与第二抓取点预测结果之间的损失,通过反向传播、梯度下降等方式,训练抓取点检测网络。
[0121] 可以理解的是,抓取点检测网络的训练迭代次数可以不止一次,可以在标签数据与第一抓取点预测结果之间的损失达到预设条件下,得到训练后的抓取点检测网络。其中,
预设条件可以是损失收敛、损失置0或损失低于某阈值,对此本公开实施例不做限制。
[0122] 在一种可能的实现方式中,可以使用训练后的抓取点预测网络,对采集数据进行抓取点预测,确定目标的第一抓取点预测结果。
[0123] 在本公开实施例中,能够通过训练得到的抓取点检测网络,实现高效地确定出抓取点预测结果,以便于准确可靠地确定出抓取点。
[0124] 在一种可能的实现方式中,所述根据标签数据与第二抓取点预测结果,训练抓取点检测网络,包括:
[0125] 根据标签数据与第二抓取点预测结果之间的第一损失项及第二损失项,确定抓取点检测网络的损失;根据损失,更新抓取点检测网络的网络参数;其中,第一损失项根据标
签数据中的抓取点的第一位置信息、第二抓取点预测结果中预测点的第二位置信息以及第
二抓取点预测结果中的置信度确定,第二损失项根据第二抓取点预测结果中的置信度确
定。通过该方式,可以实现对置信度的自监督学习,对于抓取点位置的监督学习。
[0126] 在一种可能的实现方式中,第一位置信息包括样本目标上的数据点与样本目标上的抓取点之间的距离信息;第二位置信息包括样本目标上的数据点与样本目标上的数据点
所指示的预测点之间的距离信息。
[0127] 如上所述,位置信息还可以包括坐标信息,在一种可能的实现方式中,第一位置信息还可以包括样本目标上的抓取点的坐标信息;第二位置信息可以包括样本目标上的预测
点的坐标信息。对于采用何种位置信息,可依据实际需求设定,对此本公开实施例不做限
制。
[0128] 其中,相对于直接使用坐标信息,采用距离信息表征的方式,可以相对减少标签数据的体积以及减小抓取点预测网络的训练过程中的数据处理压力,提高抓取点检测网络的
训练速度。例如,对于抓点(100,100),数据点(120,120),标注坐标“100和100”,相对于标注
距离“20,20”来说,标签数据的体积要大,也即存储标签数据所需的空间要多;而对于抓取
点检测网络,在进行数据处理输出预测点的坐标信息时,所需的计算资源也要多。
[0129] 在一种可能的实现方式中,根据标签数据与第二抓取点预测结果之间的第一损失项及第二损失项,确定抓取点检测网络的损失,包括:
[0130] 将第一损失项与第二损失项之间差值的平均值,确定为抓取点检测网络的损失;其中,第一损失项包括第一位置信息与第二位置信息之间差值的平方值,与置信度的乘积;
第二损失项包括对置信度取对数的值与加权系数的乘积。
[0131] 在一种可能的实现方式,可以通过如公式(3)所示的损失函数L,确定标签数据与第二抓取点预测结果之间的损失。
[0132]
[0133] 其中, 代表第一损失项,ωlogCm代表第二损失项,Y代表标签数据中的抓取点,代表第二抓取点预测结果中数据点指示的预测点,Cm代表样本目标上的数据点m
的置信度,ω代表加权系数,N代表样本目标上数据点的数量。
[0134] 在一种可能的实现方式,第一损失项可以反映抓取点与预测点之间的差异,通过迭代训练以达到差异最小的目的,以得到训练后的抓取点检测网络。
[0135] 考虑到,神经网络在学习过程中为达到第一损失项的损失最小的目的,有可能会让置信度为0。但数据点的置信度为0的训练结果无意义,所以通过增加第二损失项,以约束
抓取点检测网络向正确的方向学习,也即,约束抓取点检测网络让抓取点与预测点之间的
差异最小,而非让置信度为0。其中,加权系数ω可根据实际需求设定,对此本公开实施例不
做限制。
[0136] 在一种可能的实现方式中,可以基于上述损失函数得到的损失,通过反向传播、梯度下降等方式,更新神经网络的网络参数,对此本公开实施例不做限制。
[0137] 在本公开实施例中,能够根据抓取点与预测点之间的差异,结合置信度,实现抓取点检测网络的高效训练;以及,能够实现对置信度的自监督学习,对于抓取点位置的监督学
习。
[0138] 根据本公开的实施例,能够在仿真数据采集系统中进行数据采集和标注。然后使用仿真数据训练深度神经网络,通过监督学习获得预测物体位姿的能力,通过自监督学习
提高预测抓取点的准确性,进而提高抓取目标的成功率。
[0139] 根据本公开实施例,在仿真环境中采集训练数据时,记录当前场景的RGB图(样本数据)以及对应的投票标签图(标签数据)。在训练时,使用这些训练数据训练投票网络(抓
取点检测网络)。在测试时,网络能够以真实场景的RGB图像作为输入,预测输出投票响应图
(抓取点预测结果),并据此计算出物体可抓取点的位置。最后,使用对应的深度图计算抓取
点处物体的法向量,从而确定机械臂末端执行器的抓取位姿。
[0140] 根据本公开实施例,能够通过自监督学习获得置信度,通过加权投票提高物体抓取点预测的能力。通过对每个像素位置进行加权投票,实现更准确的抓取点预测。而且,通
过仿真环境中采集训练数据,可以方便模拟各种环境,便于获取多种类型的训练数据,减少
训练数据采集成本,提高训练效率的同时,还可以提高训练后的抓取点检测网络的准确性。
[0141] 相关技术中是直接根据每个像素点对应的预测值(预测点)投票得到物体抓取点的位置,未考虑每个像素点由于其所处位置所带来的不同的学习难度,其投票的可靠性不
同。根据本公开实施例,能够为每个像素点赋予自学习的不等价的权重(置信度),根据这个
权重进行加权投票,取得了更好的抓取点预测效果。
[0142] 可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理
解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻
辑确定。
[0143] 此外,本公开还提供了抓取点检测装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种抓取点检测方法,相应技术方案和描述和参见方法部
分的相应记载,不再赘述。
[0144] 图3示出根据本公开实施例的抓取点检测装置的框图,如图3所示,所述装置包括:
[0145] 获取模块101,用于获取待抓取的目标的采集数据,所述采集数据包括二维的图像数据或三维的点云数据;
[0146] 预测模块102,用于对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,所述第一抓取点预测结果包括所述目标上的数据点所指示的预测点,以及所述
数据点针对所述预测点的置信度;
[0147] 抓取点确定模块103,用于根据所述目标上各个数据点针对所述预测点的置信度,从所述预测点中确定出所述目标的抓取点,以使抓取设备根据所述抓取点抓取所述目标。
[0148] 在一种可能的实现方式中,所述抓取点确定模块103,包括:响应值确定子模块,用于根据所述目标上的各个数据点针对所述预测点的置信度,确定所述预测点的响应值;抓
取点确定子模块,用于根据多个预测点的响应值,从所述多个预测点中确定出所述目标的
抓取点。
[0149] 在一种可能的实现方式中,所述响应值确定子模块,具体用于:将指示所述预测点的各个数据点的置信度进行累加,得到所述预测点的响应值。
[0150] 在一种可能的实现方式中,所述抓取点确定子模块,具体用于:将响应值超过预设阈值对应的预测点,确定为所述目标的抓取点。
[0151] 在一种可能的实现方式中,所述装置还包括:深度获取模块,用于在所述采集数据包括二维的图像数据的情况下,获取与所述图像数据对应的深度图;第一法向量确定模块,
用于根据所述抓取点在所述深度图中对应的深度值,以及所述抓取点在所述图像数据中的
二维位置,确定所述抓取点对应的法向量,所述法向量用于确定所述抓取设备的位姿,以使
所述抓取设备基于所述位姿以及所述抓取点抓取所述目标。
[0152] 在一种可能的实现方式中,所述装置还包括:第二法向量确定模块,用于在所述采集数据包括三维的点云数据的情况下,根据所述抓取点在所述点云数据中的三维位置,确
定所述抓取点对应的法向量,所述法向量用于确定所述抓取设备的位姿,以使所述抓取设
备基于所述位姿以及所述抓取点抓取所述目标。
[0153] 在一种可能的实现方式中,所述目标上的数据点所指示的预测点,用所述数据点所指示的预测点的位置信息表征,所述位置信息包括所述数据点所指示的预测点与所述数
据点之间的距离信息,所述装置还包括:预测点确定模块,用于根据所述数据点指示的距离
信息,以及所述数据点的位置信息,确定所述数据点所指示的预测点。
[0154] 在一种可能的实现方式中,所述第一抓取点预测结果还包括所述采集数据中各个数据点的分类信息,所述分类信息用于指示所述采集数据中各个数据点是否为所述目标上
的数据点。
[0155] 在一种可能的实现方式中,所述预测模块102,具体用于:通过抓取点检测网络,对所述采集数据进行抓取点预测,确定所述目标的第一抓取点预测结果,包括:通过所述抓取
点检测网络的编码网络,对所述采集数据进行编码处理,得到多尺度的特征图;通过所述抓
取点检测网络的解码网络,对所述多尺度的特征图进行解码处理,得到所述目标的第一抓
取点预测结果。
[0156] 在一种可能的实现方式中,所述装置还包括:样本数据获取模块,用于获取包含样本目标的样本数据,以及与所述样本数据对应的标签数据,所述标签数据包括所述样本目
标上的数据点所指示的抓取点,所述样本数据包括二维的图像数据或三维的点云数据;输
出模块,用于将所述样本数据输入至待训练的抓取点检测网络中,输出所述样本目标的第
二抓取点预测结果,所述第二抓取点预测结果包括所述样本目标上的数据点所指示的预测
点,以及所述样本目标上的数据点针对所述预测点的置信度;训练模块,用于根据所述标签
数据与所述第二抓取点预测结果,训练所述抓取点检测网络。
[0157] 在一种可能的实现方式中,所述训练模块,包括:损失确定子模块,用于根据所述标签数据与所述第二抓取点预测结果之间的第一损失项及第二损失项,确定所述抓取点检
测网络的损失;参数更新子模块,用于根据所述损失,更新所述抓取点检测网络的网络参
数;其中,所述第一损失项根据所述标签数据中抓取点的第一位置信息、所述第二抓取点预
测结果中的预测点的第二位置信息以及所述第二抓取点预测结果中的置信度确定,所述第
二损失项根据所述第二抓取点预测结果中的置信度确定。
[0158] 在一种可能的实现方式中,损失确定子模块,具体用于:将所述第一损失项与所述第二损失项之间差值的平均值,确定为所述抓取点检测网络的损失;其中,所述第一损失项
包括第一位置信息与第二位置信息之间差值的平方值,与置信度的乘积;所述第二损失项
包括对置信度取对数的值与加权系数的乘积。
[0159] 在一种可能的实现方式中,所述第一位置信息包括所述样本目标上的数据点与所述样本目标上的抓取点之间的距离信息;所述第二位置信息包括所述样本目标上的数据点
与所述样本目标上的数据点所指示的预测点之间的距离信息。
[0160] 在本公开实施例中,数据点所指示的预测点,可以认为是该数据点所预测的抓取点,数据点针对预测点的置信度,可以反映该数据点所预测的抓取点的可靠程度,进而根据
置信度从多个预测点中确定出的抓取点的可靠性和准确度更高。
[0161] 在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这
里不再赘述。
[0162] 本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非
易失性计算机可读存储介质。
[0163] 本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
[0164] 本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,当计算机可读代码在设备上运行时,设备中的处理器执行用于实现如上任一实施例提供的抓取点检测
方法的指令。
[0165] 本公开实施例还提供了另一种计算机程序产品,用于存储计算机可读指令,指令被执行时使得计算机执行上述任一实施例提供的抓取点检测方法的操作。
[0166] 电子设备可以被提供为终端、服务器或其它形态的设备。
[0167] 图4示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设
备,个人数字助理等终端设备。
[0168] 参照图4,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,
以及通信组件816。
[0169] 处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执
行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模
块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以
方便多媒体组件808和处理组件802之间的交互。
[0170] 存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿
数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它
们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦
除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快
闪存储器,磁盘或光盘。
[0171] 电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
[0172] 多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面
板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸
传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动
动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,
多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍
摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置
摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0173] 音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风
被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通
信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
[0174] I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁
定按钮。
[0175] 传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例
如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或
电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800
方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置
用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,
如互补金属氧化物半导体(CMOS)或电荷耦合装置(CCD)图像传感器,用于在成像应用中使
用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感
器,压力传感器或温度传感器。
[0176] 通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如无线网络(WiFi),第二代移动通信技术
(2G)或第三代移动通信技术(3G),或它们的组合。在一个示例性实施例中,通信组件816经
由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例
中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于
射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他
技术来实现。
[0177] 在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列
(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0178] 在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成
上述方法。
[0179] 图5示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图5,电子设备1900包括处理组件1922,其进一步包括一个或多个
处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指
令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应
于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
[0180] 电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输
出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服
TM
务器操作系统(Windows Server ),苹果公司推出的基于图形用户界面操作系统(Mac OS 
TM TM
X ),多用户多进程的计算机操作系统(Unix ),自由和开放原代码的类Unix操作系统
TM TM
(Linux ),开放原代码的类Unix操作系统(FreeBSD )或类似。
[0181] 在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以
完成上述方法。
[0182] 本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
[0183] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、
电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具
体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器
(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩
盘只读存储器(CD‑ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储
有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可
读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波
导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电
信号。
[0184] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外
部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关
计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计
算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计
算机可读存储介质中。
[0185] 用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的
任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如
Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机
可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独
立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机
或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包
括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利
用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令
的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可
编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方
面。
[0186] 这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/
或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0187] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据
处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功
能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指
令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的
计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中
规定的功能/动作的各个方面的指令。
[0188] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产
生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的
指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0189] 附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也
可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执
行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或
流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动
作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0190] 该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机
程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
[0191] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技
术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨
在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的
其它普通技术人员能理解本文披露的各实施例。