一种基于深度学习的工业机器人目标识别方法和系统与流程

专利2026-05-07  15


本发明涉及机器人目标识别的,尤其涉及一种基于深度学习的工业机器人目标识别方法和系统。


背景技术:

1、在现代制造业和工业应用中,工业机器人在自动化和智能化生产过程中扮演着重要的角色。其中,机器人的目标识别和感知能力对于安全、精确性和效率至关重要,将工件和工人头盔的误识别导致的后续操作轻则损坏工件,重则伤及工人,造成严重后果。深度学习技术的快速发展极大推进了工业机器人领域的发展,为机器人系统提供了更高级的目标识别能力,更灵活的目标识别方法。

2、然而,现有技术大都是基于图片和二维传统卷积操作的目标识别工作,缺乏现实世界中三维坐标的感知能力。已有的三维物体目标检测方法主要基于三维图像和三维卷积技术,但该技术对gpu要求过高,以256像素的三维图片和u-net为例,显存至少需要20g,单幅图片模型训练时间达2小时;也有少部分工作以点云为基础,这些工作主要是基于点对特征技术(ppf)和最近点迭代技术(icp)的改进,但这两项技术的对数据完整性要求高,易受到遮挡、工件纹理、光照等因素的影响。


技术实现思路

1、有鉴于此,本发明提供一种基于深度学习的工业机器人目标识别方法和系统,目的在于1)研发一种工业机器人目标识别系统,能够在这些复杂堆叠场景中,即使目标物体仅露出一部分,也能够准确地识别它们,这种功能对于提高生产效率和减少人工干预非常关键,例如,工业机器人可以在堆积如山的货物中精确地辨识和提取所需的零部件,而无需事先清除或重新排列物料;2)确保工业机器人具备高精度的目标识别能力,具体而言,系统需要识别目标物体的确切位置和姿态,以便机器人能够进行高精度的操作和控制,这对于任务如装配、焊接、切割、质检以及精密定位至关重要,通过实现此目的,可以提高制造流程的可重复性和质量控制,减少人工干预,提高产品质量;3)开发轻量级、高效的深度学习模型,专门用于点云数据的处理,这些模型不仅能够运行在相对较低的硬件配置上,还能够高效地处理点云数据,以减少机器人系统的成本和能耗,通过实现此目的,可以使更多的工业机器人受益于先进的目标识别技术,而无需进行昂贵的硬件升级,这对于小型制造企业或资源受限的环境尤为有益。

2、为实现上述目的,本发明提供的一种基于深度学习的工业机器人目标识别方法,包括以下步骤:

3、步骤s1:使用深度相机采集待识别目标物体的深度图像,并转化为物体三维点云数据,标注目标物体的种类,构建目标物体数据库d;

4、步骤s2:使用深度相机采集多个已知的多物体堆叠场景深度图像,并转化为场景三维点云数据,标注场景中待识别目标物体的位置与姿态,构建场景数据库dc;

5、步骤s3:构建基于场景三维点云数据的场景语义分割模型,构建基于物体三维点云数据的目标种类判别模型,构建基于场景三维点云数据的目标姿态识别模型;

6、步骤s4:使用s1及s2构建的目标物体数据库d和场景数据库dc对s3构建的场景语义分割模型、目标种类判别模型和目标姿态识别模型依次训练;

7、步骤s5:使用深度相机采集待识别的多物体堆叠场景的场景三维点云数据,使用s4训练完成的三个模型对需要目标识别的场景进行识别测试,满足测试要求则保存模型数据,不满足测试要求则返回s4重新训练;

8、所述的深度相机,用于采集目标物体或者场景的深度图像,同时具有将图像实时传输至数据处理服务器的能力。

9、作为本发明的进一步改进方法:

10、可选的,所述步骤s1中待识别目标物体深度图像转化为物体三维点云数据的过程,为将深度图每个像素点的二维坐标和深度值,转换为点云数据的三维坐标和颜色值,本发明使用世界坐标系下的三维点云数据;这个过程需要用到深度相机的内参和外参;相机的内参是一些固定的参数,它描述了相机的内部结构和成像特性,比如焦距、主点、畸变等;深度相机的内参用一个3x3的矩阵n来表示,它的形式如下:

11、

12、其中,jx为相机的水平焦距,jy为相机的垂直焦距,zx为相机的主点横坐标,zy为相机的主点纵坐标;深度相机的内参矩阵n将一个深度图像上二维点的图像坐标,转换为一个相机坐标系下的物体三维点云数据点的坐标,公式如下:

13、

14、其中,sx、sy、sz分别为在深度相机坐标系下的三维点云的具体坐标信息,eu、ev为二维深度图像的坐标信息,ez为二维深度图像的在eu、ev位置的深度信息,n-1为相机内参矩阵n的逆矩阵;深度相机的外参是一些变化的参数,它描述了相机在世界坐标系中的位置和姿态,比如平移和旋转,外参用一个4x4的矩阵w来表示:

15、

16、其中,x为一个3x3的旋转矩阵,q为一个3x1的平移向量;相机的外参矩阵w将一个相机坐标系下的三维点坐标,转换为一个世界坐标系下的三维点坐标,公式如下:

17、

18、其中,x-1为旋转矩阵x的逆矩阵,gx,gy,gz分别为世界坐标系下的三维点云的具体坐标信息。

19、所述步骤s1中标注物体种类,构建目标物体数据库是建立世界坐标系下的物体三维点云数据p与物体的实际类别c的对应关系,得到目标物体数据库d,目标数据库d包含n组数据,n为目标物体总的种类数;

20、d={[p1,c1],[p2,c2],...,[pn,cn]}

21、其中,所有下角标均为顺序指代,p1…pn为不同物体的三维点云数据,c1…cn为物体点云数据的实际类别c。

22、可选的,所述步骤s2中场景深度图转化为场景三维点云数据的过程与步骤s1中的相同,所述步骤s2中标注场景中待识别目标物体的位置与姿态,构建场景数据库是建立世界坐标系下的场景三维点云数据po,场景语义标签lb,与场景中所包含的所有目标物体的种类c、位置pos、姿态ges的对应关系,得到场景数据库dc,dc包含m组数据,m为所采集的场景数量;

23、

24、其中,po1…pom为不同的场景三维点云数据po,lb1…lbm分别为对应的场景语义标签lb,cm1…cmk为场景三维点云数据pom中各物体的实际类别c,posm1…posmk为场景三维点云数据pom中各物体的位置pos,gesm1…gesmk为场景三维点云数据pom中各物体的姿态ges。

25、可选的,所述步骤s3的构建基于点云数据的场景语义分割模型,具体结构为:

26、场景语义分割模型包含有点云特征提取模块neta、多尺度分组模块netb、特征融合模块netc及分割输出头模块netout;

27、所述点云特征提取模块neta包含有多个点云特征提取子模块,每个子模块包含一个点云采样层和两个串联的卷积层;卷积层采用mlp结构,第一个卷积层的mlp维度为64、64、128,第二个卷积层的mlp维度为128、128、256;所述neta输入为num x 3的场景点云数据po,输出为ke x 256的高维特征向量集合gt1,其中num为点云中的点数,ke为采样后的关键点数;

28、gt1=neta(po)

29、所述多尺度分组模块netb包含有多个并行的子模块,每个子模块对应一个尺度的邻域半径,一个尺度一般当作是一个随时初始化的量;每个子模块包含一个采样层,一个球形查询层,和两个串联的卷积层;卷积层采用mlp结构,第一个卷积层的mlp维度为128、128、256,第二个卷积层的mlp维度为256、256、512;所述netb输入为ke x 256的特征向量集合gt1,输出为ke x 512的多尺度特征向量集合gt2;

30、gt2=netb(gt1)

31、所述特征融合模块netc为一个逐点特征融合网络,包含串联的多层卷积层,每层卷积的mlp维度为256、256、512;所述netc输入为ke x 512的多尺度特征向量集合gt2,输出为ke x 512的融合特征向量集合gt3;

32、gt3=netc(gt2)

33、所述的分割输出头模块netout包含有多层卷积层,每层卷积的mlp维度为512、256、128,最后一层为一个1x1卷积层,用于将特征向量映射到每个点的类别;所述netout输入为ke x 512的融合特征向量集合,输出为num x cas的分类结果r_seg,其中num为点云中的点数,cas为场景语义分割类别数,具体计算方式为:

34、r_seg=netout(gt3)

35、cas=n+1

36、其中,n为目标物体总的种类数。

37、所述步骤s3的构建基于点云数据的目标种类判别模型,具体结构为:

38、目标种类判别模型包含有特征提取模块nete、低维特征融合模块netf、高维特征融合模块netg及分类输出头模块neth;目标判别模型运行的次数等于场景语义分割模型识别到的目标物体数量fn;

39、所述特征提取模块nete包含串联的六层网络,用于初步提取点云数据的特征;第1、3、5层为卷积层,卷积核数量分别为8、16、32,卷积核大小均为3,步长均为1,填充方式为"same",激活函数使用relu;第2、4、6层为池化层,使用最大池化,池化核大小为2x2,步长为2,填充方式为"same";nete的输入为场景语义分割模型输出的语义分割结果中的单个目标点云r_seg_part,为ns×3的点云数据,输出为ns×32的一次特征向量dt1,其中ns为r_seg_part中的点数;

40、r_seg_part∈r_seg

41、dt1=nete(r_seg_part)

42、所述低维特征融合模块netf将点云特征进一步融合与加工;netf包括两个并联的特征融合子网络netf1和netf2;每个子网络包含10层网络,结构如下:第1、3、5、7、9层为卷积层,卷积核数量分别为32、64、128、256、512,卷积核大小均为1,步长为1,填充方式为"same",激活函数使用relu;第2、4、6、8、10层为池化层,使用最大池化,池化核大小为2,步长为2,填充方式为"valid";nete的输入为netf的输出dt1,输出为n×512的二次特征向量dt2;

43、dt2=netf(dt1)=netf1(dt1)⊕netf2(dt2)

44、其中,⊕为特征向量按照元素顺序求和;

45、所述高维特征融合模块netg通过上采样和融合,提高特征的空间分辨率;netg包含三层反卷积层,卷积核数量分别为256、128、64,卷积核大小均为3,步长为2,填充方式为"same",激活函数使用relu;netg的输入为netf的输出dt2,输出为n×64的特征二次特征向量dt3;

46、dt3=netg(dt2)

47、所述分类输出头模块neth用于生成最终的分类结果;neth包含两层网络,第一层为卷积层,卷积核数量为64,卷积核大小为1,步长为1,填充方式为"same",激活函数使用relu;第二层为卷积层,卷积核数量为目标物体总的种类数n,卷积核大小为1,步长为1,填充方式为"same",使用softmax激活函数;neth的输入为netg的输出dt3,输出为r_cls,为单个目标点云r_seg_part在每个类别上的分类概率;

48、r_cls=neth(dt3)。

49、所述步骤s3的构建基于点云数据的目标姿态识别模型,具体结构为:

50、目标姿态识别模型包含有特征提取模块neti和姿态识别输出头模块netj;目标姿态识别模型运行的次数等于场景语义分割模型识别到的目标物体数量fn;

51、所述特征提取模块neti包含6层网络,专门设计用于从点云数据中提取关键特征;第1、3、5层为卷积层,卷积核数量分别为8、16、32,卷积核大小均为3,步长为1,填充方式为"same",激活函数使用relu;第2、4、6层为池化层,采用最大池化方式,池化核大小为2,步长为2,填充方式为"same";neti的输入为ns×3的点云数据,输出为ns×32的姿态特征向量zt1,其中ns为r_seg_part中的点数;

52、zt1=neti(r_seg_part)

53、所述姿态识别输出头模块netj用于生成最终的姿态识别结果;netj包含两层网络,第一层为卷积层,卷积核数量为64,卷积核大小为1,步长为1,填充方式为"same",激活函数使用relu;第二层为全连接层,输出为6维向量loc_ges,前三维表示位置,后三维表示姿态;

54、loc_ges=netj(zt1)。

55、可选的,所述步骤s4的场景语义分割模型、目标种类判别模型和目标姿态识别模型依次训练,具体包含以下3个步骤:

56、步骤s401,训练语义分割模型,使用步骤s2构建的场景数据库dc作为训练数据,对语义分割模型进行训练,训练过程的损失函数选用交叉熵损失,具体计算公式为:

57、

58、其中,num为点云的点数,cas为分类数,rij为所述场景数据库内语义标签lb展平为一行后的one-hot编码,表示第i个点属于第j个分类的情况,tij则为深度学习模型输出的预测结果,取值大小代表第i个点属于第j个分类的情况的概率,i、j含义与所述rij的含义相同;训练过程的优化器选用adam优化器,学习率α1范围为:

59、α1∈[0.0001,0.01]

60、步骤s402,训练目标种类判别模型,包括:

61、步骤b1,目标物体数据库d的数据增强,包括随机裁剪、旋转、缩放,随机裁剪、旋转、缩放操作均是针对点云数据p进行的,最终得到具有n2个点云数据p的增强后的目标物体数据库d2,n2>>n,n2的取值范围为[100,1000];将得到的目标物体数据库d2的90%作为训练数据kd_train,10%作为测试数据kd_test;

62、kd=data_aug(d2)

63、=data_aug({p,c})

64、={data_aug(p),data_aug(c)}

65、kd_train,kd_test=random_split(kd,0.9,0.1)

66、其中,data_aug()表示对点云的随机裁剪、翻转、旋转、缩放,random_split()表示对数据集按比例划分,比例由后两个元素表示;

67、步骤b2,使用kd_train对目标种类判别模型进行模型训练,训练过程的损失函数选用交叉熵损失,具体计算公式为:

68、

69、其中,n2为目标物体数据库d2的数据数量,n为目标物体种类数,rqw为目标物体数据库d2内标第q个元素属于第w个分类的情况,tqw则为目标种类判别模型输出的预测结果,tqw∈[0,1],取值大小代表存在划痕或不存在划痕的概率,q、w含义与所述rqw的含义相同;训练过程的优化器选用adam优化器,学习率α2范围为:

70、α2∈[0.0001,0.01]

71、步骤s403,训练目标姿态识别模型,使用步骤s2构建的场景数据库dc作为训练数据,对目标姿态识别模型进行训练,训练过程针对位置信息的训练使用l1损失函数,针对姿态信息的训练使用l2损失函数,具体计算公式为:

72、l1=|loc_ges[:3]-pos|

73、

74、其中,loc_ges目标姿态识别模型输出的6维向量,pos为场景数据库中r_seg_part对应的位置信息、ges为场景数据库中r_seg_part对应的姿态信息;训练过程的优化器选用sgd优化器,学习率α3范围为:

75、α3∈[0.0001,0.01]。

76、可选的,所述步骤s5中使用s4训练完成的三个模型对需要目标识别的场景进行识别测试,满足测试要求则保存模型数据,不满足测试要求则返回s4重新训练;对于场景语义分割模型采用miou评价指标,对于目标种类判别模型采用全局准确率acc评价指标,对于姿态识别模型采用姿态误差err评价指标:

77、err=l1+l2

78、其中,l1为针对位置信息的损失函数,l2为针对姿态信息的损失函数。

79、对于训练完成的深度学习模型,即可用于目标识别和位置姿态信息的估计。

80、本发明还提供了一种基于深度学习的机器人目标识别系统,包括:

81、深度相机:用于获取目标物体和场景的深度图像,需提前知内外参;

82、工控机:用于获取深度图像并将其转化为三维点云信息、训练基于深度学习方法的机器人目标识别方法提供的三个深度学习模型并存储模型数据、测试三个深度学习模型、驱动机器人执行操作;

83、机器人:用于搭载深度相机和工控机。

84、以实现上述基于深度学习的工业机器人目标识别方法。

85、本发明提供的技术方案带来的有益效果至少包括:

86、数据处理的优化:通过使用深度相机采集的深度图像和转化为三维点云数据,结合场景语义分割、目标种类判别及姿态识别,本系统在数据处理和模型训练方面具有较高的效率和准确性,优化了整个识别流程。

87、提高识别精度和效率:通过结合深度学习技术和三维点云数据处理,本系统能够在复杂的堆叠场景中准确识别目标物体。即使目标物体仅露出一部分,系统也能够准确地进行识别。这种高精度识别功能对于提高生产效率和减少人工干预极为关键。

88、增强操作的精确性和安全性:系统能够识别目标物体的确切位置和姿态,这对于执行精密的任务(如装配、焊接、切割和质量检查)至关重要。通过准确的识别和操作,可以显著减少因误识别导致的工件损坏和工人伤害的风险。

89、成本和能耗的降低:本发明中开发的轻量级深度学习模型,旨在降低对高性能硬件的依赖。这使得系统不仅能在较低的硬件配置上运行,而且还能高效处理点云数据,从而减少机器人系统的整体成本和能耗。这种系统特别适用于小型制造企业或资源受限的环境,使更多工业机器人能够受益于先进的目标识别技术,而无需进行昂贵的硬件升级。


技术特征:

1.一种基于深度学习的工业机器人目标识别方法,其特征在于,包括以下步骤:

2.如权利要求1所述的基于深度学习的工业机器人目标识别方法,其特征在于,所述步骤s1中待识别目标物体的深度图像转化为三维点云数据的过程,为将待识别目标物体的深度图像每个像素点的二维坐标和深度值转换为点云数据的三维坐标和颜色值,深度相机的内参用一个3x3的矩阵n来表示:

3.如权利要求2所述的基于深度学习的工业机器人目标识别方法,其特征在于,所述步骤s1中标注物体种类,构建目标物体数据库是建立世界坐标系下的物体三维点云数据p与物体的实际类别c的对应关系,得到目标物体数据库d,目标数据库d包含n组数据,n为目标物体总的种类数;

4.如权利要求2所述的基于深度学习的工业机器人目标识别方法,其特征在于,所述步骤s2中标注场景中待识别目标物体的位置与姿态,构建场景数据库是建立世界坐标系下的场景三维点云数据po,场景语义标签lb,与场景中所包含的所有目标物体的种类c、位置pos、姿态ges的对应关系,得到场景数据库dc,dc包含m组数据,m为所采集的场景数量;

5.如权利要求1所述的基于深度学习的工业机器人目标识别方法,其特征在于,所述步骤s3的构建基于点云数据的场景语义分割模型,具体结构为:

6.如权利要求1所述的基于深度学习的工业机器人目标识别方法,其特征在于,所述步骤s3的构建基于场景点云数据的目标姿态识别模型,具体结构为:

7.如权利要求1所述的基于深度学习的工业机器人目标识别方法,其特征在于,所述步骤s4的场景语义分割模型、目标种类判别模型和目标姿态识别模型依次训练,具体包含以下3个步骤:

8.一种基于深度学习的工业机器人目标识别系统,其特征在于,包括:


技术总结
本发明公开了一种基于深度学习的工业机器人目标识别方法和系统,包括:首先使用深度相机采集目标物体的深度图像,并将其转化为目标物体的三维点云数据,同时标注目标物体的种类,构建目标物体数据库D;接着使用深度相机采集多个已知的多物体堆叠场景的深度图像,并将其转化为场景三维点云数据,同时标注场景中待识别目标物体的位置和姿态,构建场景数据库Dc;构建场景语义分割模型,目标种类判别模型和目标姿态识别模型;使用先前构建的D和Dc,对三个深度学习模型进行依次训练;最后使用深度相机采集待识别的多物体堆叠场景的场景三维点云数据,并利用经过训练的模型对需要识别的场景进行识别工作。

技术研发人员:张正峰
受保护的技术使用者:九众九机器人有限公司
技术研发日:
技术公布日:2024/6/26
转载请注明原文地址:https://doc.8miu.com/read-1829181.html

最新回复(0)