一种工业机器人姿态识别方法、装置及存储介质与流程

文档序号:31998769发布日期:2022-11-02 10:08阅读:109来源:国知局
一种工业机器人姿态识别方法、装置及存储介质与流程

1.本发明主要涉及机器人姿态识别技术领域,具体涉及一种工业机器人姿态识别方法、装置及存储介质。


背景技术:

2.由于机器人运动灵活性高、运动范围大、且部分机型在特定工况下运动速度快、负载大、刚度强,当突发异常情况时,机器人极可能造成严重的安全事故,比如工业机器人的异常行为,可能导致发生机器人损坏、挤压等情况,从而一定程度上威胁到工作区域内人员的人身安全,因此,工业机器人的安全行为至关重要。
3.基于深度学习的工业机器人安全研究主要来自单个图像的姿态估计,其中大多数旨在估计人机交互中的人体姿态。在工业机器人的姿态估计领域中,拾取和放置任务中目标物体的6d姿态估计是主要研究焦点。传统方法使用视觉方法来检测工业机器人与障碍物之间的碰撞,通过假设机器人姿态是已知的。因为有机器人的信息可以从控制器获得,并且进行手眼校准,因此,这些研究专注于障碍物的轨迹预测。在最近的研究中,许多研究者开始使用深度学习方法对工业机器人本身的姿态进行估计,但与人体姿态估计任务不同,基于深度学习的工业机器人姿态估计需要使用合成数据或创建与其任务相对应的自己的数据,局限于数据集不足且没有标准,这一方面的成果还比较少。2019年第12届智能机器人与应用国际会议(icira)中f.zhou等人提出了一种基于深度学习的实时方法,利用彩色图像直接估计机械臂的三维姿态。该方法旨在当系统需要重新配置时去除手眼校准,并通过消除摄像机相对于机器人固定的要求来增加系统的灵活性,最终取得了良好的识别精度。2018年ieee第14届自动化科学与工程国际会议(case)中thomas等人提出了一种基于卷积网络的工业机器人姿态识别方法ropose,该方法的核心贡献是实现了一个基于机器人系统,借助moveit!运动规划框架和gazebo集成模拟套件的自动生成仿真模拟数据集的ropose注释管道。这一方法虽然打开了工业机器人目前缺乏开源标准数据集的窘境,但是其仿真的环境以及特定的动作规划使得其在实际运用过程中并不顺利。并且这两种方法为了更好的提升识别精度,使用的框架模型套件过多,使得整个网络过大,从而在识别姿态效率方面比较欠缺。


技术实现要素:

4.本发明所要解决的技术问题是针对现有技术的不足,提供一种工业机器人姿态识别方法、装置及存储介质。
5.本发明解决上述技术问题的技术方案如下:一种工业机器人姿态识别方法,包括如下步骤:
6.导入工业机器人视频,从所述工业机器人视频中提取出多个工业机器人2d图像,并对多个工业机器人2d图像进行整理,通过整理后的多个工业机器人2d图像得到工业机器人2d图像集;
7.基于人体姿态估计模型densepose构建教师模型,通过工业机器人2d图像集对所述教师模型进行训练,通过训练后的教师模型输出工业机器人2d姿态信息;
8.基于均方误差函数mse构建总体fdpd蒸馏损失函数;
9.基于训练后的教师模型构建学生模型,通过总体fdpd蒸馏损失函数和所述工业机器人2d姿态信息训练所述学生模型,通过训练后的学生模型识别工业机器人2d图像集中各个工业机器人2d图像的工业机器人姿态。
10.本发明的有益效果是:通过训练后的教师模型,并基于总体fdpd蒸馏损失函数来构建学生模型,即在现有的人体姿态估计模型densepose基础上结合姿态蒸馏的策略建立了一个识别工业机器人姿态的模型,实现了精确高效的工业机器人姿态识别,为工业机器人的安全监测奠定了基础,适用于工业机器人的异常检测,无需过大的网络,提高了工业机器人识别姿态的效率。
11.在上述技术方案的基础上,本发明还可以做如下改进。
12.进一步,所述从所述工业机器人视频中提取出多个工业机器人2d图像,并对多个工业机器人2d图像进行整理,具体为:
13.通过视频分割关键帧方法从所述工业机器人视频中提取出多个工业机器人2d图像,并从多个工业机器人2d图像中剔除不符合要求的工业机器人2d图像。
14.进一步,所述通过调整后的工业机器人2d图像对所述教师模型进行训练,具体为:
15.定位所述工业机器人2d图像中工业机器人的多个关节点,根据多个关节点确定每个关节点对应的各个区域,根据各个区域中定位后的关节点得到各个区域的密集点及密集点的坐标,计算各个区域中密集点的坐标的中值点,并将各个中值点进行连线并输出,从而得到训练后的教师模型。
16.进一步,所述定位所述工业机器人2d图像中工业机器人的多个关节点,根据多个关节点确定每个关节点对应的各个区域,根据各个区域中定位后的关节点得到各个区域的密集点及密集点的坐标,具体为:
17.根据工业机器人的关节点的数量n将所述工业机器人2d图像划分为与每个关节点对应的n个区域,建立二维坐标系对各个区域进行参数化,得到工业机器人的各个关节点在各个区域内任意位置的坐标;
18.基于区域的密集回归方法从所有区域定位后的关节点中得到感兴趣区域roi,对感兴趣区域roi进行级联,通过roi池对级联后感兴趣区域roi进行特征生成,得到所述感兴趣区域roi的密集点及密集点的坐标。
19.进一步,所述计算各个区域中密集点的坐标的中值点,并将各个中值点进行连线输出,具体为:
20.遍历各个感兴趣区域roi内密集点的坐标,对遍历到的感兴趣区域roi内的最左x坐标与最右x坐标进行中值计算,得到中值点的x坐标,对遍历到的感兴趣区域roi内的最上y坐标与最下y坐标进行中值计算,得到中值点的y坐标,从而得到所有感兴趣区域roi对应的n个中值点,将各个中值点进行连线并输出,从而完成对教师模型的训练。
21.进一步,所述基于均方误差函数mse构建总体fdpd蒸馏损失函数,具体为:
22.对每个关节点设置关节标签,第k个关节标签对应的高斯置信度mk为:
[0023][0024]
其中,(x,y)表示关节点像素位置,σ表示预先固定的空间方差,xk和yk分别表示中值点的坐标;
[0025]
通过高斯置信度mk和第k个关节点的预测置信图构建均方误差函数mse,所述均方误差函数mse为:
[0026][0027]
其中,表示第k个关节的预测置信图;
[0028]
基于均方误差函数mse,并通过反向传播学习方法构建蒸馏损失函数,所述蒸馏损失函数为:
[0029][0030]
其中,和分别表示由所述教师模型和正在训练的学生模型预测的第k个关节的置信度图;
[0031]
通过所述均方误差函数mse和所述蒸馏损失函数构建均方误差函数mse,所述总体fdpd损失函数为:
[0032]
l
fdpd
=αl
pd
+(1-α)l
mse

[0033]
其中,α表示交叉验证估计的两项损失之间的平衡度量,l
fdpd
表示总体fdpd损失函数,l
mse
表示均方误差函数mse。
[0034]
进一步,所述通过总体fdpd蒸馏损失函数和所述工业机器人2d姿态信息训练所述学生模型,具体为:
[0035]
在所述训练后的教师模型和所述学生模型之间建立主干网络;
[0036]
通过所述主干网络将总体fdpd损失函数和所述工业机器人2d姿态信息输入所述学生模型中;
[0037]
通过总体fdpd损失函数和工业机器人2d姿态信息对所述学生模型进行迭代训练,从而完成对学生模型的训练。
[0038]
本发明解决上述技术问题的另一技术方案如下:一种工业机器人姿态识别装置,包括:
[0039]
图像预处理模块,用于导入工业机器人视频,从所述工业机器人视频中提取并调整工业机器人2d图像;
[0040]
教师模型训练模块,用于基于人体姿态估计模型densepose构建教师模型,通过调整后的工业机器人2d图像对所述教师模型进行训练,通过训练后的教师模型输出工业机器人2d姿态信息;
[0041]
学生模型训练模块,用于基于均方误差函数mse构建总体fdpd蒸馏损失函数;
[0042]
基于教师模型构建学生模型,通过总体fdpd蒸馏损失函数和所述工业机器人2d姿态信息训练所述学生模型,通过训练后的学生模型识别工业机器人2d图像中的工业机器人姿态。
[0043]
本发明解决上述技术问题的另一技术方案如下:一种工业机器人姿态识别装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,当所述处理器执行所述计算机程序时,实现如上所述的工业机器人姿态识别方法。
[0044]
本发明解决上述技术问题的另一技术方案如下:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,实现如上所述的工业机器人姿态识别方法。
附图说明
[0045]
图1为本发明实施例提供的工业机器人姿态识别方法的流程示意图;
[0046]
图2为本发明实施例提供的工业机器人姿态识别装置的功能模块框图;
[0047]
图3为本发明实施例提供的densepose模型结构示意图。
具体实施方式
[0048]
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0049]
实施例1:
[0050]
如图1-2所示,一种工业机器人姿态识别方法,包括如下步骤:
[0051]
导入工业机器人视频,从所述工业机器人视频中提取出多个工业机器人2d图像,并对多个工业机器人2d图像进行整理,通过整理后的多个工业机器人2d图像得到工业机器人2d图像集;
[0052]
基于人体姿态估计模型densepose构建教师模型,通过工业机器人2d图像集对所述教师模型进行训练,通过训练后的教师模型输出工业机器人2d姿态信息;
[0053]
基于均方误差函数mse构建总体fdpd蒸馏损失函数;
[0054]
基于训练后的教师模型构建学生模型,通过总体fdpd蒸馏损失函数和所述工业机器人2d姿态信息训练所述学生模型,通过训练后的学生模型识别工业机器人2d图像集中各个工业机器人2d图像的工业机器人姿态。
[0055]
结合图3,densepose模型在基于caffe2框架的基础上采用了金字塔网络特征的rcnn结构,其主要是使用了基于区域特征聚集的方式获得每个特定区域内的密集坐标,通过多级联的结构和基于区域的方法将复杂的任务分解为可控制的模块。
[0056]
上述实施例中,通过训练后的教师模型,并基于总体fdpd蒸馏损失函数来构建学生模型,即在现有的人体姿态估计模型densepose基础上结合姿态蒸馏的策略建立了一个识别工业机器人姿态的模型,实现了精确高效的工业机器人姿态识别,为工业机器人的安全监测奠定了基础,适用于工业机器人的异常检测,无需过大的网络,提高了工业机器人识别姿态的效率。
[0057]
基于实施例1,所述从所述工业机器人视频中提取出多个工业机器人2d图像,并对多个工业机器人2d图像进行整理,具体为:
[0058]
通过视频分割关键帧方法从所述工业机器人视频中提取出多个工业机器人2d图像,并从多个工业机器人2d图像中剔除不符合要求的工业机器人2d图像。
[0059]
应理解地,不符合要求的工业机器人2d图像是指工业机器人显示不清晰的或遮挡
严重的图片,可预先设置标准的分辨率,根据预先设置标准的分辨率来判断工业机器人2d图像是否清晰。另外,可通过现有的图片遮挡检测方法来检测工业机器人2d图像中遮挡严重的图片。
[0060]
上述实施例中,可筛选出不合格的工业机器人2d图像,使工业机器人2d图像规范化,提高后续数据处理的准确性。
[0061]
基于实施例1,所述通过调整后的工业机器人2d图像对所述教师模型进行训练,具体为:
[0062]
定位所述工业机器人2d图像中工业机器人的多个关节点,根据多个关节点确定每个关节点对应的各个区域,根据各个区域中定位后的关节点得到各个区域的密集点及密集点的坐标,计算各个区域中密集点的坐标的中值点,并将各个中值点进行连线并输出,从而得到训练后的教师模型。
[0063]
例如,使用的是六轴工业机器人,因此我们将其分解为六个独立的区域,并使用一个局部二维坐标系对每个部分进行参数化,该坐标系可用于表示工业机器人关节点周围区域内任意位置。
[0064]
基于实施例1,所述定位所述工业机器人2d图像中工业机器人的多个关节点,根据多个关节点确定每个关节点对应的各个区域,根据各个区域中定位后的关节点得到各个区域的密集点及密集点的坐标,具体为:
[0065]
根据工业机器人的关节点的数量n将所述工业机器人2d图像划分为与每个关节点对应的n个区域,建立二维坐标系对各个区域进行参数化,得到工业机器人的各个关节点在各个区域内任意位置的坐标;
[0066]
基于区域的密集回归方法从所有区域定位后的关节点中得到感兴趣区域roi,对感兴趣区域roi进行级联,通过roi池对级联后感兴趣区域roi进行特征生成,得到所述感兴趣区域roi的密集点及密集点的坐标。
[0067]
基于实施例1,所述计算各个区域中密集点的坐标的中值点,并将各个中值点进行连线输出,具体为:
[0068]
遍历各个感兴趣区域roi内密集点的坐标,对遍历到的感兴趣区域roi内的最左x坐标与最右x坐标进行中值计算,得到中值点的x坐标,对遍历到的感兴趣区域roi内的最上y坐标与最下y坐标进行中值计算,得到中值点的y坐标,从而得到所有感兴趣区域roi对应的n个中值点,将各个中值点进行连线并输出,从而完成对教师模型的训练。
[0069]
虽然使用fcn可以使训练更加容易,但在同一个深度网络中进行部位分割和像素定位多个任务,并保持尺度不变性,这对数据集来说是一个挑战,所以可参考mask-rcnn模型采用了基于区域的方法,提出感兴趣区域roi的级联,通过roi池将生成的特征输入到特定的区域的分支中。这种体系结构将任务的复杂性分解为可控制的模块,并通过roi池实现区域选择机制。
[0070]
为了以有监督的方式训练模型,在训练过程中遍历了数据集中个图像,每个图像都标有6个关节,在图像空间中定义为:
[0071]
其中,n表示数据集中的总数据,k表示6。
[0072]
在得到区域内密集点坐标之后,首先将其uv坐标转为为二维表示的xy坐标,然后
通过遍历不规则区域内的密集点的坐标,计算其最左与最右x坐标的中值作为中值点的x坐标,再取最上与最下y坐标的中值作为中值点的y坐标,从而取得六个区域中值的六个中值点,然后将其连线输出。
[0073]
基于实施例1,将教师模型的输出结果作为学生模型的监督信息来训练学生模型,主要通过改良的损失函数进行监督指导,其中从教室模型到目标模型的知识蒸馏是在整个训练过程中的每个小批次迭代中进行的。
[0074]
知识蒸馏的关键是如何设计一个合适的模拟损失函数,该函数需要能够有效地提取教师知识并将其转移到学生模型的训练中。姿态蒸馏中的蒸馏函数是基于对象分类的softmax交叉熵损失而设计的,并不适合再2d图像空间中传递结构化姿态知识。
[0075]
为了解决上述问题,使用基于均方误差(mse)的损失函数作为目标损失函数,因为其更具有兼容性。为了表示地面真值联合标签,通过将高斯核围绕标记位置zk=(xk,yk)居中,从而为每个单独联合标签k(k∈1,...,6)生成一个置信度图。
[0076]
基于实施例1,所述基于均方误差函数mse构建总体fdpd蒸馏损失函数,具体为:
[0077]
对每个关节点设置关节标签,第k个关节标签对应的高斯置信度mk为:
[0078][0079]
其中,(x,y)表示关节点像素位置,σ表示预先固定的空间方差,xk和yk分别表示中值点的坐标;
[0080]
通过高斯置信度mk和第k个关节点的预测置信图构建均方误差函数mse,所述均方误差函数mse为:
[0081][0082]
其中,表示第k个关节的预测置信图;
[0083]
基于均方误差函数mse,并通过反向传播学习方法构建蒸馏损失函数,所述蒸馏损失函数为:
[0084][0085]
其中,和分别表示由所述教师模型和正在训练的学生模型预测的第k个关节的置信度图。
[0086]
例如,k为6,6个感兴趣区域内有密集的点坐标,为了计算误差,需要对其中的点进行高斯置信度计算,每一个点与其中值点的高斯核函数计算得到各个点的高斯置信度。
[0087]
选择mse函数作为蒸馏损失函数来测量学生和教师模型之间的差异,以最大限度的提高模型与监督式学习损失的可比性。
[0088]
通过所述均方误差函数mse和所述蒸馏损失函数构建均方误差函数mse,所述总体fdpd损失函数为:
[0089]
l
fdpd
=αl
pd
+(1-α)l
mse

[0090]
其中,α表示交叉验证估计的两项损失之间的平衡度量,l
fdpd
表示总体fdpd损失函
数,l
mse
表示均方误差函数mse。
[0091]
因此,目标网络学习既能预测训练样本的标记地面真实值注释,又能匹配更强教师模型的预测结构,从而增强该方法的可适用性。
[0092]
基于实施例1,所述通过总体fdpd蒸馏损失函数和所述工业机器人2d姿态信息训练所述学生模型,具体为:
[0093]
在所述训练后的教师模型和所述学生模型之间建立主干网络;
[0094]
通过所述主干网络将总体fdpd损失函数和所述工业机器人2d姿态信息输入所述学生模型中;
[0095]
通过总体fdpd损失函数和工业机器人2d姿态信息对所述学生模型进行迭代训练,从而完成对学生模型的训练。
[0096]
将单个工业机器人2d姿态信息输入高精度的姿态估计网络模型即学生模型,并通过采用拟合损失函数的蒸馏方法压缩模型,实现了精确高效的工业机器人姿态识别,为工业机器人的安全监测奠定了基础。
[0097]
实施例2:
[0098]
如图2所示,一种工业机器人姿态识别装置,包括:
[0099]
图像预处理模块,用于导入工业机器人视频,从所述工业机器人视频中提取出多个工业机器人2d图像,并对多个工业机器人2d图像进行整理,通过整理后的多个工业机器人2d图像得到工业机器人2d图像集;
[0100]
教师模型训练模块,用于基于人体姿态估计模型densepose构建教师模型,通过工业机器人2d图像集对所述教师模型进行训练,通过训练后的教师模型输出工业机器人2d姿态信息;
[0101]
学生模型训练模块,用于基于均方误差函数mse构建总体fdpd蒸馏损失函数;
[0102]
基于训练后的教师模型构建学生模型,通过总体fdpd蒸馏损失函数和所述工业机器人2d姿态信息训练所述学生模型,通过训练后的学生模型识别工业机器人2d图像集中各个工业机器人2d图像的工业机器人姿态。
[0103]
实施例3:
[0104]
一种工业机器人姿态识别装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,当所述处理器执行所述计算机程序时,实现如上所述的工业机器人姿态识别方法。
[0105]
实施例4:
[0106]
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,当所述计算机程序被处理器执行时,实现如上的工业机器人姿态识别方法。
[0107]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0108]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和
原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1