机械手遥操作方法以及相关设备与流程

文档序号:33385798发布日期:2023-03-08 08:08阅读:102来源:国知局

1.本技术实施例涉及机械手领域,尤其涉及机械手遥操作方法以及相关设备。


背景技术:

2.机器人遥操作技术是指,通过人类手部运动的视觉数据或者触觉数据,将人类手部运动映射到机械手,以实现对机械手的远程操作的技术的进行远程操作可以通过使用视觉数据或触觉数据来实现
3.现有的机器手遥操作方式通常是,获取人手图像,将基于人手图像生成的初始热图信息输入全局估计网络,得到机械手各关键点的估计三维坐标。最后,根据机械手各关键点的估计三维坐标操作机械手。
4.但现有技术方案中仅考虑到从人手映射到机械手的全局生物特征,导致使用得到的机械手各关键点的估计三维坐标对机械手进行操作后,机械手的手部姿态与人手图像中人手的手部姿态只能在大体走势有较好的一致性,而对于每个手指以及手掌等更为细节的手部姿态无法实现良好的映射,进而导致对机械手遥操作的准确性降低。


技术实现要素:

5.本技术实施例提供了机械手遥操作方法以及相关设备,用于提升机械手遥操作准确性。
6.本技术实施例第一方面提供一种机械手遥操作方法,包括:
7.根据人手图像建立初始热图信息;
8.将所述初始热图信息输入预先训练好的全局估计网络,由所述全局估计网络输出全局热图信息以及所述人手图像中人手的各关键区域中各关键点的二维坐标;
9.拆分所述全局热图信息以及所述各关键点的二维坐标,得到与预先训练好的局部估计网络中各分支网络对应的局部热图信息以及局部关键点的二维坐标,其中所述各分支网络用于估计所述人手各关键区域中各关键点的三维坐标;
10.将所述局部热图信息以及所述局部关键点的二维坐标输入所述局部估计网络中对应的分支网络,得到每个所述分支网络输出的所述人手对应的关键区域中各关键点的三维坐标;
11.根据所述人手每个关键区域中各关键点的三维坐标操作所述机械手。
12.在一种具体实现方式中,所述方法还包括:
13.从训练数据库中选择人手图像作为训练人手图像,对待训练全局估计网络以及待训练局部估计网络进行迭代训练,得到所述训练人手图像中训练人手对应的各关键区域中各关键点的训练三维坐标;
14.根据所述训练三维坐标和/或所述训练数据库中与所述人手图像对应的实际三维坐标,计算所述训练人手处于实际手势姿态与所述训练人手处于训练手势姿态之间的,至少一个全局生物特征以及至少一个局部生物特征;
15.确定每个所述全局生物特征为全局损失函数,并确定每个所述局部生物特征为局部损失函数;
16.根据各目标损失函数对应的预设权重计算加权损失函数,并根据所述加权损失函数修正所述待训练全局估计网络的网络参数,并根据所述加权损失函数修正所述待训练局部估计网络中各分支网络的网络参数;
17.若所述加权损失函数满足预设收敛条件,则结束训练并确定所述待训练全局估计网络为所述全局估计网络,以及所述待训练局部估计网络为所述局部估计网络。
18.在一种具体实现方式中,所述全局生物特征包括全局骨长损失和/或全局骨夹角损失,所述局部生物特征包括:局部骨长损失、局部骨夹角损失、大拇指的横向移动以及手掌方向角中的至少一个。
19.在一种具体实现方式中,所述全局生物特征包括全局骨长损失,所述计算所述训练人手处于实际手势姿态与处于训练手势姿态的至少一个全局生物特征,包括:
20.计算所述训练人手每个相邻关键点之间的实际骨长,并计算所述训练人手每个相邻关键点之间的估计骨长;
21.根据以下公式计算所述训练人手处于实际手势姿态与处于训练手势姿态的全局骨长损失:
[0022][0023]
其中,l
lb
为所述训练人手的全局骨长损失,b
i,j
为所述训练人手第i个关键点和第j个关键点之间的实际骨长,所述训练人手第i个关键点和第j个关键点之间的估计骨长,i,j∈c表示第i个关键点和第j个关键点为所述训练人手的任一相邻关键点。
[0024]
在一种具体实现方式中,所述局部生物特征包括局部骨夹角损失,所述计算所述训练人手处于实际手势姿态与处于训练手势姿态的至少一个局部生物特征,包括:
[0025]
根据以下公式计算所述训练人手每节骨长的实际夹角:
[0026][0027]
其中,α
i,j
为所述训练人手第i个关键点和第j个关键点对应的骨长的实际夹角,b
i,j
为所述训练人手第i个关键点和第j个关键点之间的实际骨长,b
j,j+1
为所述训练人手第j个关键点和第j+1个关键点之间的实际骨长;
[0028]
根据以下公式计算所述训练人手每节骨长的估计夹角:
[0029][0030]
其中,为所述训练人手第i个关键点和第j个关键点对应的骨长的估计夹角,为所述训练人手第i个关键点和第j个关键点之间的估计骨长,为所述训练人手
第j个关键点和第j+1个关键点之间的估计骨长;
[0031]
根据以下公式计算所述训练人手处于实际手势姿态与处于训练手势姿态的局部骨夹角损失:
[0032][0033]
其中,l
lba
为所述训练人手的局部骨夹角损失,h指所述训练人手的第h个手指,i,j∈ch表示第i个关键点和第j个关键点为所述训练人手的第h个手指对应的任一相邻关键点。
[0034]
在一种具体实现方式中,所述局部生物特征包括大拇指的横向移动,所述计算所述训练人手处于实际手势姿态与处于训练手势姿态的至少一个局部生物特征,包括:
[0035]
根据以下公式计算所述训练人手的大拇指的横向移动:
[0036][0037]
其中,α
1,5
为所述训练人手的大拇指的横向移动,b
0,1
为所述训练人手的手腕关键点与所述训练人手的大拇指对应的最近关键点对应的实际骨长,b
0,5
为所述训练人手的手腕关键点与所述训练人手的大拇指对应的最远关键点对应的实际骨长。
[0038]
在一种具体实现方式中,所述局部生物特征包括手掌方向角,所述计算所述训练人手处于实际手势姿态与处于训练手势姿态的至少一个局部生物特征,包括:
[0039]
根据以下公式计算所述训练人手的手掌方向角:
[0040][0041]
其中,l
pa
为所述训练人手的手掌方向角,b
p1
表示所述训练人手中第p1个关键点的实际三维坐标,b
p2
表示所述训练人手中第p2个关键点的实际三维坐标。
[0042]
在一种具体实现方式中,所述全局生物特征包括全局骨夹角损失,所述计算所述训练人手处于实际手势姿态与处于训练手势姿态的至少一个全局生物特征,包括:
[0043]
根据以下公式计算所述训练人手每个手指的实际全局骨夹角:
[0044][0045]
其中,k为所述训练人手的任一手指对应的最近关键点,l为所述任一手指对应的最远关键点,αk为所述任一手指的实际全局骨夹角,b
0,k
为所述任一手指对应的最近关键点和手腕关键点之间的实际骨长,b
k,l
为所述任一手指对应的最近关键点和所述任一手指对应的最远关键点之间的实际骨长;
[0046]
根据以下公式计算所述训练人手的每个手指的估计全局骨夹角:
[0047][0048]
其中,k为所述训练人手的任一手指对应的最近关键点,l为所述任一手指对应的最远关键点,为所述任一手指的估计全局骨夹角,为所述任一手指对应的最近关键点和手腕关键点之间的估计骨长,为所述任一手指对应的最近关键点和所述任一手指对应的最远关键点之间的估计骨长;
[0049]
根据以下公式计算所述训练人手处于实际手势姿态与处于训练手势姿态的全局骨夹角损失:
[0050][0051]
其中,l
gba
为所述训练人手的全局骨夹角损失,h指所述训练人手的第h个手指,k为所述训练人手的任一手指对应的最近关键点,αk为所述任一手指的实际全局骨夹角,为所述任一手指的估计全局骨夹角。
[0052]
本技术实施例第二方面提供一种机械手遥操作设备,包括:
[0053]
建立单元,用于根据人手图像建立初始热图信息;
[0054]
输出单元,将所述初始热图信息输入预先训练好的全局估计网络,由所述全局估计网络输出全局热图信息以及所述人手图像中人手的各关键区域中各关键点的二维坐标;
[0055]
拆分单元,用于拆分所述全局热图信息以及所述各关键点的二维坐标,得到与预先训练好的局部估计网络中各分支网络对应的局部热图信息以及局部关键点的二维坐标,其中所述各分支网络用于估计所述人手各关键区域中各关键点的三维坐标;
[0056]
所述输出单元,还用于将所述局部热图信息以及所述局部关键点的二维坐标输入所述局部估计网络中对应的分支网络,得到每个所述分支网络输出的所述人手对应的关键区域中各关键点的三维坐标;
[0057]
操作单元,用于根据所述人手每个关键区域中各关键点的三维坐标操作所述机械手。
[0058]
在一种具体实现方式中,所述机械手遥操作设备还包括:训练单元、计算单元、确定单元以及修正单元;
[0059]
所述训练单元,用于从训练数据库中选择人手图像作为训练人手图像,对待训练全局估计网络以及待训练局部估计网络进行迭代训练,得到所述训练人手图像中训练人手对应的各关键区域中各关键点的训练三维坐标;
[0060]
所述计算单元,用于根据所述训练三维坐标和/或所述训练数据库中与所述人手图像对应的实际三维坐标,计算所述训练人手处于实际手势姿态与所述训练人手处于训练手势姿态之间的,至少一个全局生物特征以及至少一个局部生物特征;
[0061]
所述确定单元,还用于确定每个所述全局生物特征为全局损失函数,并确定每个所述局部生物特征为局部损失函数;
[0062]
所述修正单元,用于根据各目标损失函数对应的预设权重计算加权损失函数,并
根据所述加权损失函数修正所述待训练全局估计网络的网络参数,并根据所述加权损失函数修正所述待训练局部估计网络中各分支网络的网络参数;
[0063]
所述确定单元,还用于若所述加权损失函数满足预设收敛条件,则结束训练并确定所述待训练全局估计网络为所述全局估计网络,以及所述待训练局部估计网络为所述局部估计网络。
[0064]
在一种具体实现方式中,所述全局生物特征包括全局骨长损失和/或全局骨夹角损失,所述局部生物特征包括:局部骨长损失、局部骨夹角损失、大拇指的横向移动以及手掌方向角中的至少一个。
[0065]
在一种具体实现方式中,所述全局生物特征包括全局骨长损失,所述计算单元,具体用于计算所述训练人手每个相邻关键点之间的实际骨长,并计算所述训练人手每个相邻关键点之间的估计骨长;
[0066]
根据以下公式计算所述训练人手处于实际手势姿态与处于训练手势姿态的全局骨长损失:
[0067][0068]
其中,l
lb
为所述训练人手的全局骨长损失,b
i,j
为所述训练人手第i个关键点和第j个关键点之间的实际骨长,所述训练人手第i个关键点和第j个关键点之间的估计骨长,i,j∈c表示第i个关键点和第j个关键点为所述训练人手的任一相邻关键点。
[0069]
在一种具体实现方式中,所述局部生物特征包括局部骨夹角损失,所述计算单元,具体用于根据以下公式计算所述训练人手每节骨长的实际夹角:
[0070][0071]
其中,α
i,j
为所述训练人手第i个关键点和第j个关键点对应的骨长的实际夹角,b
i,j
为所述训练人手第i个关键点和第j个关键点之间的实际骨长,b
j,j+1
为所述训练人手第j个关键点和第j+1个关键点之间的实际骨长;
[0072]
根据以下公式计算所述训练人手每节骨长的估计夹角:
[0073][0074]
其中,为所述训练人手第i个关键点和第j个关键点对应的骨长的估计夹角,为所述训练人手第i个关键点和第j个关键点之间的估计骨长,为所述训练人手第j个关键点和第j+1个关键点之间的估计骨长;
[0075]
根据以下公式计算所述训练人手处于实际手势姿态与处于训练手势姿态的局部骨夹角损失:
[0076][0077]
其中,l
lba
为所述训练人手的局部骨夹角损失,h指所述训练人手的第h个手指,i,j∈ch表示第i个关键点和第j个关键点为所述训练人手的第h个手指对应的任一相邻关键点。
[0078]
在一种具体实现方式中,所述局部生物特征包括大拇指的横向移动,所述计算单元,具体用于根据以下公式计算所述训练人手的大拇指的横向移动:
[0079][0080]
其中,α
1,5
为所述训练人手的大拇指的横向移动,b
0,1
为所述训练人手的手腕关键点与所述训练人手的大拇指对应的最近关键点对应的实际骨长,b
0,5
为所述训练人手的手腕关键点与所述训练人手的大拇指对应的最远关键点对应的实际骨长。
[0081]
在一种具体实现方式中,所述局部生物特征包括手掌方向角,所述计算单元,具体用于根据以下公式计算所述训练人手的手掌方向角:
[0082][0083]
其中,l
pa
为所述训练人手的手掌方向角,b
p1
表示所述训练人手中第p1个关键点的实际三维坐标,b
p2
表示所述训练人手中第p2个关键点的实际三维坐标。
[0084]
在一种具体实现方式中,所述全局生物特征包括全局骨夹角损失,所述计算单元,具体用于根据以下公式计算所述训练人手每个手指的实际全局骨夹角:
[0085][0086]
其中,k为所述训练人手的任一手指对应的最近关键点,l为所述任一手指对应的最远关键点,αk为所述任一手指的实际全局骨夹角,b
0,k
为所述任一手指对应的最近关键点和手腕关键点之间的实际骨长,b
k,l
为所述任一手指对应的最近关键点和所述任一手指对应的最远关键点之间的实际骨长;
[0087]
根据以下公式计算所述训练人手的每个手指的估计全局骨夹角:
[0088][0089]
其中,k为所述训练人手的任一手指对应的最近关键点,l为所述任一手指对应的最远关键点,为所述任一手指的估计全局骨夹角,为所述任一手指对应的最近关键点和手腕关键点之间的估计骨长,为所述任一手指对应的最近关键点和所述任一手指对应的最远关键点之间的估计骨长;
[0090]
根据以下公式计算所述训练人手处于实际手势姿态与处于训练手势姿态的全局骨夹角损失:
[0091][0092]
其中,l
gba
为所述训练人手的全局骨夹角损失,h指所述训练人手的第h个手指,k为所述训练人手的任一手指对应的最近关键点,αk为所述任一手指的实际全局骨夹角,为所述任一手指的估计全局骨夹角。
[0093]
本技术实施例第三方面提供一种机械手遥操作设备,包括:
[0094]
中央处理器,存储器以及输入输出接口;
[0095]
所述存储器为短暂存储存储器或持久存储存储器;
[0096]
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行第一方面所述的方法。
[0097]
本技术实施例第四方面提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面所述的方法。
[0098]
本技术实施例第五方面提供一种计算机存储介质,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如第一方面所述的方法。
[0099]
从以上技术方案可以看出,本技术实施例具有以下优点:生成的人手各关键区域中各关键点的三维坐标是通过了全局估计网络以及局部估计网络的估计,同时考虑到了人手的实际手部姿态与人手图像中的手部姿态在全局上以及各关键区域局部上的不一致性,弥补了现有技术方案中未考虑人手的实际手部姿态与人手图像中手部姿态的局部一致性的不足,进而提升了机械手遥操作的准确性。
附图说明
[0100]
图1a为本技术实施例公开的人手关键点的一种示例图;
[0101]
图1b为本技术实施例公开的机械手关键点的一种示例图;
[0102]
图2为本技术实施例公开的机械手遥操作方法的一种流程示意图;
[0103]
图3为本技术实施例公开的机械手遥操作方法的另一流程示意图;
[0104]
图4为本技术实施例公开的机械手遥操作设备一个结构示意图;
[0105]
图5为本技术实施例公开的机械手遥操作设备另一结构示意图。
具体实施方式
[0106]
下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0107]
本技术实施例提供了机械手遥操作方法以及相关设备,用于提升机械手遥操作准确性。
[0108]
为了更好的说明本技术实施例的技术方案,下面介绍本技术实施例中人手关键点
与机械手关键点之间的映射关系。在对机械手进行遥操作之前预先设置有人手关键点、机械手关键点以及每个人手关键点与至少一个机械手关键点之间的映射关系。具体的,为了更好的实现人手姿态与机械手姿态之间全局和局部的良好映射,每个人手关键点与对应的机械手关键点之间的映射关系都是唯一的,即每个人手关键点只存在于一个机械手关键点之间的映射关系。
[0109]
在一些具体实现方式中,本技术实施例中人手关键点设置、机械手关键点设置以及人手关键点与机械手关键点之间的映射关系可如图1a以及图1b所示。其中,图1a中人手预设有21个关键点,具体的,人手的每根手指各包括四个人手关键点(1-4、5-8、9-12、13-16以及17-19)以及人手的手腕对应一个人手关键点0,对应的机械手也有21个关键点,图1b中机械手相应位置的机械手关键点与人手相应位置的人手关键点对应(图1a与图1b中标号一致的关键点为对应的两个关键点)。
[0110]
在前文介绍了本技术实施例中人手关键点与机械手关键点之间的映射方式的基础上,下面请参阅图2,本技术提供一种机械手遥操作方法,包括以下步骤:
[0111]
201、根据人手图像建立初始热图信息。
[0112]
通过图像采集设备采集人手图像,然后获取采集的人手图像中人手的热图信息作为初始热图信息。其中,图像采集设备包括但不限于是单目采集设备或者是多目采集设备,此处不作限定。
[0113]
在一些具体实现方式中,可以通过单目摄像头采集人手的rgb图像,然后,将人手的rgb图像输入堆叠沙漏网络,最终得到人手的rgb图像的人图信息作为初始热图信息。
[0114]
202、将初始热图信息输入预先训练好的全局估计网络,由全局估计网络输出全局热图信息以及人手图像中人手的各关键区域中各关键点的二维坐标。
[0115]
在获取到初始热图信息后,可以将初始热图信息输入预先训练好的全局估计网络中,全局估计网络便可以输出全局热图信息以及人手的各关键区域中各关键点的二维坐标。其中,全局估计网络可以是残差网络或者卷积神经网络。
[0116]
203、拆分全局热图信息以及各关键点的二维坐标,得到与预先训练好的局部估计网络中各分支网络对应的局部热图信息以及局部关键点的二维坐标,其中各分支网络用于估计机械手各关键区域中各关键点的三维坐标。
[0117]
因为,局部估计网络中包含多个分支网络,其中各分支网络都是用于估计机械手各关键区域中各关键点的三维坐标,即每个分支网络用于估计机械手的一个关键区域中个关键点的三维坐标,且每个分支网络估计的关键区域不同。所以,需要将全局热图信息以及各关键点的二维坐标按照人手的各关键区域进行划分,即从全局热图信息以及各关键点的二维坐标中找出人手每个关键区域对应的局部热图信息以及对应的各局部关键点(指各关区域对应的关键点)的二维坐标,以供各分支网络进行对应关键区域的估计三维坐标的确定。可以理解的是,各关键区域对应的局部关键点的二维坐标为:步骤202中全局估计网络输出的人手各关键区域中各关键点的二维坐标中,该关键区域对应的各关键点的二维坐标。
[0118]
具体的,人手各关键区域包括但不限于:大拇指、食指、中指、无名指、小拇指和/或手掌等关键区域,但人手各关键区域组合应当可以得到完整的人手。
[0119]
204、将局部热图信息以及部分关键点的二维坐标输入局部估计网络中对应的分
支网络,得到每个分支网络输出的人手对应的关键区域中各关键点的三维坐标。
[0120]
在步骤203完成各关键区域的局部热图信息以及局部关键点的二维坐标的划分后,本步骤中将各关键区域对应的局部热图信息以及局部关键点的二维坐标输入相应的估计各关键区域中关键点三维坐标的分支网络,并得到各分支网络输出的人手的各关键区域中各关键点的三维坐标。
[0121]
205、根据人手每个关键区域中各关键点的三维坐标操作机械手。
[0122]
在实际应用中,机械手的各关键区域的各关键点的移动可以通过寄存器控制,基于机械手各关键点与人手各关键区域中各关键点的映射关系以及人手各关键区域中各关键点的三维坐标,可以算出机械手各关键区域与各关键点的弯曲角度的信息,基于各关键点的弯曲角度便可以控制各关键点的寄存器运动,以实现对机械手的遥操作,保证机械手的手部姿态与步骤201中获取的人手图像的手部姿态从局部和全局上都保持较高的一致性。
[0123]
前面只描述了基于一张人手图像控制机械手的手部姿态移动至与该张人手图像中手部姿态一样的状态。在实际应用中,若需要将人手的多个连续手部姿态,即人手的动作(比如举手这个动作包含多个手部姿态),可以采集人手在执行动作时连续的多帧人手图像,并针对每帧人手图像输出机械手各关键点的三维坐标,操作机械手连续执行每帧人手图像对应的机械手各关键点的三维坐标,便可以实现人手动作至机械手动作的映射,实现机械手的遥操作。
[0124]
本技术实施例中,生成的人手各关键区域中各关键点的三维坐标是通过了全局估计网络以及局部估计网络的估计,同时考虑到了人手的手部姿态与人手图像中的手部姿态在全局上以及各关键区域局部上的一致性,弥补了现有技术方案中未考虑机械手的手部姿态与人手图像中手部姿态的局部一致性的不足,进而提升了机械手遥操作的准确性。
[0125]
可以知道的是,在使用全局估计网络以及局部估计网络基于人手图像估计人手图像中各关键区域各关键点的三维坐标之前,还需要对待训练全局估计网络以及待训练局部估计网络进行训练。请参阅图3,在一些具体实现方式中,待训练全局估计网络以及待训练局部估计网络的训练可以包括以下步骤:
[0126]
301、从训练数据库中选择人手图像作为训练人手图像,对待训练全局估计网络以及待训练局部估计网络进行迭代训练,得到训练人手图像中训练人手对应的各关键区域中各关键点的训练三维坐标。
[0127]
在训练前预设有训练数据库,训练数据库中的每张人手图像都有对应的实际三维坐标。具体的,每次可以从训练数据库中选择一张人手图像作为训练人手图像对待训练网络(包括待训练全局估计网络以及待训练局部估计网络)进行训练。每次将训练人手图像输入待训练网络后都可以得到待训练网络输出的训练人手各关键区域中各关键点的训练三维坐标。其中,输入训练人手图像得到训练三维坐标的过程,与前述以及后述实施例中输入人手图像得到三维坐标的过程类似,此处不再赘述。
[0128]
302、根据训练数据库中与人手图像对应的实际三维坐标以及训练三维坐标,计算训练人手处于实际手势姿态与处于训练手势姿态的至少一个全局生物特征以及至少一个局部生物特征。
[0129]
在步骤302之前,本技术实施例预设有每个全局生物特征的计算公式以及每个局
部生物特征的计算公式,根据对应的生物特征计算公式可以计算训练人手处于实际手势姿态和处于训练人手姿态两种姿态之间的全局生物特征区别(即全局生物特征)或局部生物特征区别(即局部生物特征)。需要说明的是,训练人手处于实际手势姿态是指训练人手各关键点的三维坐标就是训练人手图像中各关键点对应的实际三维坐标;同理。训练人手处于训练手势姿态是指训练人手各关键点的三维坐标就是步骤301中算得的训练人手图像中各关键点的训练三维坐标。
[0130]
其中,全局生物特征包括但不限于:全局骨长损失和/或全局骨夹角损失;局部生物特征包括但不限于局部骨长损失(即训练人手各关键区域的局部骨长损失)、局部骨夹角损失(即训练人手各关键区域的局部骨夹角损失)、大拇指的横向移动和/或手掌方向角。
[0131]
303、确定每个全局生物特征为全局损失函数,并确定每个局部生物特征为局部损失函数。
[0132]
将每个全局生物特征都确定为全局损失函数,并将每个局部生物特征确定为估计与该局部生物特征对应的关键区域的分支网络的局部损失函数。即大拇指的横向移动作为局部损失函数应当用于修正估计训练人手大拇指(一个关键区域)的三维坐标的分支网络的网络参数。
[0133]
304、根据各目标损失函数对应的预设权重计算加权损失函数,并根据加权损失函数修正待训练全局估计网络的网络参数,并根据加权损失函数修正待训练局部估计网络中各分支网络的网络参数。
[0134]
若加权损失函数不满足预设收敛条件(预设的加权损失函数收敛阈值),则进行网络参数修正。具体的,基于加权损失函数修正待训练全局估计网络的网络参数以及局部估计网络中各分支网络的网络参数。其中,局部生物特征描述的是实际手势姿态与训练手势姿态在某个关键区域的差别,因此,每个局部生物特征对应描述人手的某个关键区域,也就应该将局部生物特征作为修正,用于估计该局部生物特征对应某个关键区域的分支网络的网络参数,即,每个局部生物特征对应的局部损失函数用于修正估计该局部生物特征对应的关键区域的分支网络。
[0135]
305、若加权损失函数满足预设收敛条件,则结束训练并确定待训练全局估计网络为全局估计网络,以及待训练局部估计网络为局部估计网络。
[0136]
本步骤的预设收敛条件与步骤304中所述收敛条件类似,此处不再赘述。此处加权损失函数满足预设收敛条件可以是指加权损失函数的值小于等于其对应的预设的加权损失函数收敛阈值,此处不作具体限定。
[0137]
若满足预设收敛条件,则将满足收敛条件时的待训练全局估计网络(的网络参数)确定为可以使用(即完成训练)的全局估计网络(的网络参数),并将满足收敛条件时的待训练局部估计网络(的网络参数)确定为可以使用(即完成训练)的局部估计网络(的网络参数)。
[0138]
本技术实施例中,提供了训练得到全局估计网络以及局部估计网络的具体实现方式,提升了方案的可实现性。
[0139]
进一步的,各全局生物特征以及各局部生物特征可参照如下公式进行计算。
[0140]
1、全局骨长损失l
gb
[0141][0142]
其中,l
gb
为训练人手的全局骨长损失,b
i,j
为训练人手第i个关键点和第j个关键点之间的实际骨长,训练人手第i个关键点和第j个关键点之间的估计骨长,i,j∈c表示第i个关键点和第j个关键点为训练人手的任一相邻关键点。参照图1相关实施例的21个人手关键点,通过图1a中已有的任一线段即可相互连接的两个关键点为相邻关键点,图1a中每个手指有四对相邻关键点,以大拇指为例,大拇指对应的四对相邻关键点分别为关键点0以及关键点1、关键点1以及关键点2、关键点2以及关键点3、、关键点3以及关键点4。
[0143]
2、局部骨长损失l
lb
[0144][0145]
前述以及后述公式中训练人手第i个关键点和第j个关键点之间的实际骨长的计算公式为:b
i,j
=φ
i-φj,其中φi为训练人手第i个关键点的实际三维坐标,φj为训练为训练人手第j个关键点的实际三维坐标;前述以及后述公式中训练人手第i个关键点和第j个关键点之间的估计骨长的计算公式为:其中为训练人手第i个关键点的训练三维坐标,为训练人手第j个关键点的训练三维坐标。
[0146]
3、全局骨夹角l
gba
[0147][0148]
其中,为训练人手的第k个关键点对应的手指的实际全局骨夹角,训练人手的第k个关键点对应的手指的估计全局骨夹角。
[0149]
其中k可以取值为训练人手任一手指对应的最近关键点、l可以取值为训练人手的任一手指对应的最远关键点,k与l对应于训练人手的同一个手指。具体的,最近关键点是指每个手指对应的四个关键点中通过最少的关键点可以沿着每个手指的骨头走向可以到达手腕关键点的一个关键点,在图1a中大拇指、食指、中指、无名指以及小拇指对应的最近关键点依次为1、5、9、13以及17;最近关键点是指每个手指对应的四个关键点中通过最多的关键点可以沿着每个手指的骨头走向(在图1a中即为已画出的各个手指的线段)可以到达手腕关键点的一个关键点,在图1a中大拇指、食指、中指、无名指以及小拇指对应的最近关键点依次为4、8、12、16以及20。
[0150]
4、局部骨夹角损失l
lba
[0151][0152]
其中,为训练人手第i个关键点和第j个关键点连接而成的骨长的实际夹角,为训练人手第i个关键点和第j个关键点连接而成的骨长的估计夹角。h表示一只手的五根手指。具体的可以是,大拇指为1,食指为2,中指为3,无名指为4,小拇指为5。
[0153]
5、大拇指的横向移动α
1,5
[0154][0155]
与4中局部骨夹角相结合,具体地,图1a中训练人手的大拇指的横向移动可以用α
1,5
表示。可以知道的是,大拇指的横向移动是α
1,5
是因为图1a中大拇指对应的最远关键点为5、最近关键点为1、手腕关键点为0,公式中标号仅为更好的说明大拇指的横向移动的计算方式,只要与各物理量的物理意义一致,则大拇指的横向移动的物理量的下角标取决于大拇指对应的最远关键点以及最近关键点。
[0156]
6、手掌方向角l
pa
[0157][0158]
考虑手势姿态自遮挡的问题,加入手掌方向角作为损失函数的一部分,来避免丢失手部关键点。在手掌的6个关键点中,选择四组三角形作为手掌结构k={(0,1,5),(0,1,9),(0,5,13),(0,9,17)},即对手掌进行任意遮挡且至少保留0点和其他一个手掌关键点,都可以通过该4种三角形的相关路径得到其他关键点的位置。使用向量外积限制手掌的方向。
[0159]
可以知道的是,本技术实施例中各公式中相同的字母表示的物理意义相同,此处不再赘述。
[0160]
在一些具体实现方式中,灵巧机械手有6个自由度,通过取值范围为0-1000的寄存器分别控制小拇指弯曲角度,无名指弯曲角度,中指弯曲角度,食指弯曲角度,大拇指弯曲角度以及大拇指旋转角度。根据全局骨夹角损失的相关实施例可知,为五根手指的弯曲角度。当k=1时,取值范围为0-90度,其余情况为0-180度。因此,机械手的无名指、中指、食指和小拇指的弯曲角度映射为
[0161][0162]
考虑说明8中关于大拇指的横向移动角度其范围为0-90度,对应机械手为大拇指的旋转角度。因此机械手大拇指的弯曲角度和旋转角度映射表示如
下,
[0163][0164]
请参阅图4,本技术实施例还提供一种机械手遥操作装置,包括:
[0165]
建立单元401,用于根据人手图像建立初始热图信息;
[0166]
输出单元402,将初始热图信息输入预先训练好的全局估计网络,由全局估计网络输出全局热图信息以及人手图像中人手的各关键区域中各关键点的二维坐标;
[0167]
拆分单元403,用于拆分全局热图信息以及各关键点的二维坐标,得到与预先训练好的局部估计网络中各分支网络对应的局部热图信息以及局部关键点的二维坐标,其中各分支网络用于估计人手各关键区域中各关键点的三维坐标;
[0168]
输出单元402,还用于将局部热图信息以及局部关键点的二维坐标输入局部估计网络中对应的分支网络,得到每个分支网络输出的人手对应的关键区域中各关键点的三维坐标;
[0169]
操作单元404,用于根据人手每个关键区域中各关键点的三维坐标操作机械手。
[0170]
在一种具体实现方式中,机械手遥操作设备还包括:训练单元、计算单元、确定单元以及修正单元;
[0171]
训练单元,用于从训练数据库中选择人手图像作为训练人手图像,对待训练全局估计网络以及待训练局部估计网络进行迭代训练,得到训练人手图像中训练人手对应的各关键区域中各关键点的训练三维坐标;
[0172]
计算单元,用于根据训练三维坐标和/或训练数据库中与人手图像对应的实际三维坐标,计算训练人手处于实际手势姿态与训练人手处于训练手势姿态之间的,至少一个全局生物特征以及至少一个局部生物特征;
[0173]
确定单元,还用于确定每个全局生物特征为全局损失函数,并确定每个局部生物特征为局部损失函数;
[0174]
修正单元,用于根据各目标损失函数对应的预设权重计算加权损失函数,并根据加权损失函数修正待训练全局估计网络的网络参数,并根据加权损失函数修正待训练局部估计网络中各分支网络的网络参数;
[0175]
确定单元,还用于若加权损失函数满足预设收敛条件,则结束训练并确定待训练全局估计网络为全局估计网络,以及待训练局部估计网络为局部估计网络。
[0176]
在一种具体实现方式中,全局生物特征包括全局骨长损失和/或全局骨夹角损失,局部生物特征包括:局部骨长损失、局部骨夹角损失、大拇指的横向移动以及手掌方向角中的至少一个。
[0177]
在一种具体实现方式中,全局生物特征包括全局骨长损失,计算单元,具体用于计算训练人手每个相邻关键点之间的实际骨长,并计算训练人手每个相邻关键点之间的估计骨长;
[0178]
根据以下公式计算训练人手处于实际手势姿态与处于训练手势姿态的全局骨长损失:
[0179][0180]
其中,l
lb
为训练人手的全局骨长损失,b
i,j
为训练人手第i个关键点和第j个关键点之间的实际骨长,训练人手第i个关键点和第j个关键点之间的估计骨长,i,j∈c表示第i个关键点和第j个关键点为训练人手的任一相邻关键点。
[0181]
在一种具体实现方式中,局部生物特征包括局部骨夹角损失,计算单元,具体用于根据以下公式计算训练人手每节骨长的实际夹角:
[0182][0183]
其中,α
i,j
为训练人手第i个关键点和第j个关键点对应的骨长的实际夹角,b
i,j
为训练人手第i个关键点和第j个关键点之间的实际骨长,b
j,j+1
为训练人手第j个关键点和第j+1个关键点之间的实际骨长;
[0184]
根据以下公式计算训练人手每节骨长的估计夹角:
[0185][0186]
其中,为训练人手第i个关键点和第j个关键点对应的骨长的估计夹角,为训练人手第i个关键点和第j个关键点之间的估计骨长,为训练人手第j个关键点和第j+1个关键点之间的估计骨长;
[0187]
根据以下公式计算训练人手处于实际手势姿态与处于训练手势姿态的局部骨夹角损失:
[0188][0189]
其中,l
lba
为训练人手的局部骨夹角损失,h指训练人手的第h个手指,i,j∈ch表示第i个关键点和第j个关键点为训练人手的第h个手指对应的任一相邻关键点。
[0190]
在一种具体实现方式中,局部生物特征包括大拇指的横向移动,计算单元,具体用于根据以下公式计算训练人手的大拇指的横向移动:
[0191][0192]
其中,α
1,5
为训练人手的大拇指的横向移动,b
0,1
为训练人手的手腕关键点与训练人手的大拇指对应的最近关键点对应的实际骨长,b
0,5
为训练人手的手腕关键点与训练人手的大拇指对应的最远关键点对应的实际骨长。
[0193]
在一种具体实现方式中,局部生物特征包括手掌方向角,计算单元,具体用于根据
以下公式计算训练人手的手掌方向角:
[0194][0195]
其中,l
pa
为训练人手的手掌方向角,b
p1
表示训练人手中第p1个关键点的实际三维坐标,b
p2
表示训练人手中第p2个关键点的实际三维坐标。
[0196]
在一种具体实现方式中,全局生物特征包括全局骨夹角损失,计算单元,具体用于根据以下公式计算训练人手每个手指的实际全局骨夹角:
[0197][0198]
其中,k为训练人手的任一手指对应的最近关键点,l为任一手指对应的最远关键点,αk为任一手指的实际全局骨夹角,b
0,k
为任一手指对应的最近关键点和手腕关键点之间的实际骨长,b
k,l
为任一手指对应的最近关键点和任一手指对应的最远关键点之间的实际骨长;
[0199]
根据以下公式计算训练人手的每个手指的估计全局骨夹角:
[0200][0201]
其中,k为训练人手的任一手指对应的最近关键点,l为任一手指对应的最远关键点,为任一手指的估计全局骨夹角,为任一手指对应的最近关键点和手腕关键点之间的估计骨长,为任一手指对应的最近关键点和任一手指对应的最远关键点之间的估计骨长;
[0202]
根据以下公式计算训练人手处于实际手势姿态与处于训练手势姿态的全局骨夹角损失:
[0203][0204]
其中,l
gba
为训练人手的全局骨夹角损失,h指训练人手的第h个手指,k为训练人手的任一手指对应的最近关键点,αk为任一手指的实际全局骨夹角,为任一手指的估计全局骨夹角。
[0205]
图5是本技术实施例提供的一种机械手遥操作设备结构示意图,该机械手遥操作设备500可以包括一个或一个以上中央处理器(central processing units,cpu)501和存储器505,该存储器505中存储有一个或一个以上的应用程序或数据。
[0206]
其中,存储器505可以是易失性存储或持久存储。存储在存储器505的程序可以包括一个或一个以上模块,每个模块可以包括对机械手遥操作设备中的一系列指令操作。更进一步地,中央处理器501可以设置为与存储器505通信,在机械手遥操作设备500上执行存储器505中的一系列指令操作。
[0207]
机械手遥操作设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等。
[0208]
该中央处理器501可以执行前述图1至图4所示实施例中机械手遥操作设备所执行的操作,具体此处不再赘述。
[0209]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0210]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0211]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0212]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0213]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0214]
本技术实施例还提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述的机械手遥操作方法。
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!