一种基于手部关键点和transformer的动态手势识别方法和系统与流程

文档序号:31132519发布日期:2022-08-13 06:54阅读:353来源:国知局
一种基于手部关键点和transformer的动态手势识别方法和系统与流程

1.本发明涉及手势识别领域,特别是指一种基于手部关键点和transformer的动态手势识别方法和系统。


背景技术:

2.目前在人机交互领域,基于手势识别的交互应用被逐渐重视。用户可以通过做出不同的连贯手势向计算机发出不同的控制指令。
3.目前对于动态手势识别的方法主要有两大类:一类是基于传统图像处理方法与人工设定的特征和规则来进行动态手势识别。另一类是基于深度学习的方法来进行动态手势识别。
4.第一类方法的图像处理方式繁琐,人工设定的特征鲁棒性不强,手势识别准确率很低。
5.第二类基于深度学习进行动态手势识别的主要方案有直接使用3d卷积网络对视频序列进行动态手势识别和基于手部关键点序列使用图卷积进行动态手势识别。基于深度学习的方法的效果极大的优于传统方法,但直接使用3d卷积网络对视频序列进行手势识别会造成巨大的计算量和复杂的网络结构设计,导致运行速度非常慢,无法满足实时动态手势识别的要求;而基于手部关键点使用图卷积进行动态手势识别的方法涉及了大量图构造操作和矩阵乘法,同样有较大的计算量,且计算方式复杂繁琐,存在神经网络专用芯片对此类操作支持度低,算法落地困难,无法在前端设备上实时运行等弊端。


技术实现要素:

6.本发明为解决上述问题,提出一种基于手部关键点和transformer的动态手势识别方法,动态手势识别网络使用2d卷积和transformer模块,使网络在预测手势时能够聚焦特征性更强的关键点运动信息,使模型的预测结果更加准确,且拥有较少的网络参数和更快的运行速度,从而达到实时动态手势识别的效果。
7.本发明采用如下技术方案:
8.一种基于手部关键点和transformer的动态手势识别方法,包括如下步骤:
9.获取t时间段内的手部图像序列,并获取各手部图像中的手部关键点,手部关键点的坐标使用(xi,yi,di|i∈[1,k])表示,k为手部关键点的个数,xi表示手部图像中第i关键点的横坐标,yi表示手部图像中第i个关键点的纵坐标,di表示手部图像中第i个关键点到相机平面的距离;
[0010]
将t时间段内手部图像序列各手部图像中的手部关键点坐标拼接为三维矩阵,第一维度为关键点的坐标,第二维度t为时间维度,第三维度为关键点序号维度,拼接后的关键点输入矩阵维度为3*t*k;
[0011]
将拼接得到的三维矩阵输入预训练好的神经网络模型,依次进行近距关节局部运
动特征提取、特征转置、远距关节全局运动特征提取、transformer注意力分配、softmax函数激活;
[0012]
经神经网络模型预测后,输出t时间段上的动态手势的识别结果。
[0013]
具体地,所述动态手势预训练模型具体为:
[0014]
基于手部关键点的动态手势预训练模型中的卷积层均为2d卷积,输入数据输入到模型后,经m层二维卷积进行特征提取,m为整数,得到邻近关节点之间的局部特征,然后将特征层的第一维度和第三维度进行转置得到,再经过n层二维卷积组成的全局特征模块进行特征提取,n为整数,得到远距离关节点之间的全局特征,将全局特征展开为一维向量,经过transformer模块进行注意力权重再分配,最后,经过全连接层和softmax激活函数之后得到手势类别预测的概率。
[0015]
具体地,所述神经网络模型训练过程具体为:
[0016]
数据预处理:训练数据中,每个训练样本为时间段上的手部关键点坐标,首先对所有训练样本进行时间维度上的插值,将其缩放到同样长的时间段t;将手部关键点的横纵坐标以图像宽高进行归一化,将距离坐标相对识别的最大距离范围进行归一化;最后每个训练样本t时间段上的k个手部关键点坐标拼接为三维矩阵;
[0017]
训练数据增强:数据增强的方式包括但不限于:随机截取不同时间长度的数据并缩放到统一的时间长度、随机旋转关键点坐标、随机平移关键点坐标、随机选取一段帧的关键点坐标与另一段等长帧进行替换;
[0018]
模型训练:模型前向传播,将处理好的训练样本以batch的方式传入神经网络模型,经模型前向传播后,得到手势类别的预测结果,根据预测结果和真实标注计算模型预测损失;若模型预测损失满足停止条件,则停止训练,否则,进行反向传播,根据模型预测损失计算每层参数的梯度,并更新模型参数,进行下一次前向传播。
[0019]
具体地,所述方法同时支持单手与双手手势识别,具体为:
[0020]
若输入的关键点为单手关键点,则只需将关键点第一输入矩阵置为该手的关键点三维矩阵,关键点第二输入矩阵全部置为0;
[0021]
若输入的关键点为双手关键点,则将关键点第一输入矩阵置为第一只手的关键点三维矩阵,将关键点第二输入矩阵置为第二只手的关键点三维矩阵;
[0022]
将第一输入矩阵与第二输入矩阵按照三维矩阵的第一维度进行拼接;拼接后的矩阵采用组数为2的二维卷积核组成的局部特征提取模块进行特征提取,得到邻近关节点之间的局部特征,输入特征分离模块将局部特征进行分离,分离后再输入特征转置模块将特征层的第一维度和第三维度进行转置,再将转置后的特征按照第一维度进行拼接。
[0023]
具体地,获取各手部图像中的手部关键点,包括但不限于:采用神经网络模型获取手部关键点、采用检测相机获取手部关键点。
[0024]
具体地,手部关键点的个数为21。
[0025]
本发明实施例另一方面提供一种基于手部关键点和transformer的动态手势识别系统,包括:
[0026]
手部关键点获取单元:获取t时间段内的手部图像序列,并获取各手部图像中的手部关键点,手部关键点的坐标使用(xi,yi,di|i∈[1,k])表示,k为手部关键点的个数,xi表示手部图像中第i关键点的横坐标,yi表示手部图像中第i个关键点的纵坐标,di表示手部图
像中第i个关键点到相机平面的距离;
[0027]
关键点拼接单元:将t时间段内手部图像序列各手部图像中的手部关键点坐标拼接为三维矩阵,第一维度为关键点的坐标,第二维度t为时间维度,第三维度为关键点序号维度,拼接后的关键点输入矩阵维度为3*t*k;
[0028]
模型预测单元:将拼接得到的三维矩阵输入预训练好的神经网络模型,依次进行近距关节局部运动特征提取、特征转置、远距关节全局运动特征提取、transformer注意力分配、softmax函数激活;
[0029]
结果输出单元:经神经网络模型预测后,输出t时间段上的动态手势的识别结果。
[0030]
本发明实施例再一方面提供一种电子设备,包括:存储器,处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时可以实现上述一种基于手部关键点和transformer的动态手势识别方法步骤。
[0031]
本发明实施例又一方面提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述可以实现上述一种基于手部关键点和transformer的动态手势识别方法步骤。
[0032]
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
[0033]
(1)本发明公开了一种基于手部关键点和transformer的动态手势识别方法,获取t时间段内的手部图像序列,并获取各手部图像中的手部关键点,手部关键点的坐标使用(xi,yi,di|i∈[1,k])表示,k为手部关键点的个数,xi表示手部图像中第i关键点的横坐标,yi表示手部图像中第i个关键点的纵坐标,di表示手部图像中第i个关键点到相机平面的距离;将t时间段内手部图像序列各手部图像中的手部关键点坐标拼接为三维矩阵,第一维度为关键点的坐标,第二维度t为时间维度,第三维度为关键点序号维度,拼接后的关键点输入矩阵维度为3*t*k;将拼接得到的三维矩阵输入预训练好的神经网络模型,依次进行近距关节局部运动特征提取、特征转置、远距关节全局运动特征提取、transformer注意力分配、softmax函数激活;经神经网络模型预测后,输出t时间段上的动态手势的识别结果;本发明提供的方法,网络中嵌入transformer模块,使网络在预测手势时能够聚焦特征性更强的关键点运动信息,使模型的预测结果更加准确,且网络中只用到2d卷积,比3d卷积的计算量和参数量都大幅减少,拥有较少的网络参数和更快的运行速度,从而达到实时动态手势识别的效果。
[0034]
(2)本发明提出的一种基于手部关键点和transformer的动态手势识别方法,将时序上不同帧中手部的k个关键点位置构造为图像形式作为模型输入,网络可同时提取手部动作的时序特征、相近关键点的局部特征和远距离关键点的全局运动特征,使模型拥有更强的鲁棒性。
[0035]
(3)本发明方法为基于手部关键点进行动态手势识别,可降低背景对于手势识别的影响。本发明中的动态手势识别算法可以适配可见光、双目、结构光、tof等常见的成像设备和对应的手部关键点提取方法。
[0036]
(4)本发明提出的动态手势神经网络模型同时支持单手与双手手势的识别,对于双手手势可以直接提取双手交互的动作特征,拥有更高的手势识别精度,且可直接进行端到端的训练。
[0037]
(5)本发明使用的神经网络模型不涉及任何图构造和矩阵乘法等操作,可快速部
署于前端设备,网络通用性高。
附图说明
[0038]
图1为本发明实施例提供的一种基于手部关键点和transformer的动态手势识别方法流程图;
[0039]
图2为本发明实施例提供的预训练模型结构图;
[0040]
图3为本发明实施例提供的模型训练流程图;
[0041]
图4为本发明实施例提供的双手动态手势识别模型结构图;
[0042]
图5为本发明实施例提供的一种基于手部关键点和transformer的动态手势识别系统架构图;
[0043]
图6为本发明实施例提供的一种电子设备示意图;
[0044]
图7为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
[0045]
以下结合附图和具体实施例对本发明作进一步详述。
具体实施方式
[0046]
本发明提出一种基于手部关键点和transformer的动态手势识别方法,动态手势识别网络使用transformer模块,使网络在预测手势时能够聚焦特征性更强的关键点运动信息,使模型的预测结果更加准确,且拥有较少的网络参数和更快的运行速度,从而达到实时动态手势识别的效果。
[0047]
如图1为本发明提供的一种基于手部关键点和transformer的动态手势识别方法,包括如下步骤:
[0048]
s101:获取t时间段内的手部图像序列,并获取各手部图像中的手部关键点,手部关键点的坐标使用(xi,yi,di|i∈[1,k])表示,k为手部关键点的个数,xi表示手部图像中第i关键点的横坐标,yi表示手部图像中第i个关键点的纵坐标,di表示手部图像中第i个关键点到相机平面的距离;
[0049]
使用神经网络模型或手部关键点检测相机等设备获得手部关键点(对于手部关键点的获取方法,本发明不作限制,即本发明适配于各种手部关键点获取方法),本发明以21个手部关键点作为示例来进行说明。21点手部关键点的坐标使用(xi,yi,di|i∈[1,21])表示,xi表示手部图像中第i关键点的横坐标,yi表示手部图像中第i个关键点的纵坐标,di表示手部图像中第i个关键点到相机平面的距离。
[0050]
s102:将t时间段内手部图像序列各手部图像中的手部关键点坐标拼接为三维矩阵,第一维度为关键点的坐标,第二维度t为时间维度,第三维度为关键点序号维度,拼接后的关键点输入矩阵维度为3*t*k;
[0051]
将t时间段上的21个手部关键点横纵坐标以图像宽高进行归一化,将距离坐标相对可识别的最大距离范围进行归一化。
[0052]
将t时间段上的21个手部关键点坐标拼接为三维矩阵形式,拼接方法如下:第一维度为3,表示关键点的坐标为三维,第二维度为t,表示时间维度,第三维度为21,表示关键点序号维度。拼接后的关键点输入矩阵维度为3*t*21。
[0053]
s103:将拼接得到的三维矩阵输入预训练好的神经网络模型,依次进行近距关节
局部运动特征提取、特征转置、远距关节全局运动特征提取、transformer注意力分配、softmax函数激活;
[0054]
s104:经神经网络模型预测后,输出t时间段上的动态手势的识别结果。
[0055]
如图2,为本发明实施例提供的预训练模型结构图;
[0056]
基于手部关键点的动态手势预训练模型中的卷积层均为2d卷积,数据输入模型后,经m层二维卷积进行特征提取,得到邻近关节点之间的局部特征f(c,t,k),然后将特征层的第一维度和第三维度进行转置得到f(k,t,c),再经过n层二维卷积进行特征提取,得到远距离关节点之间的全局特征f(global),将全局特征f(global)展开为一维向量,经过transformer模块进行注意力权重再分配,最后,经过全连接层和softmax激活函数之后得到手势类别预测的概率。
[0057]
如图3,为本发明实施例提供的模型训练流程图;
[0058]
a.数据预处理。训练数据中,每个训练样本为一小段时间上的手部关键点坐标信息,由于不同训练样本的时间长度可能不同,所以首先对所有训练样本进行时间维度上的插值,将其缩放到同样长的时间段t。然后将手部关键点的横纵坐标以图像宽高进行归一化,将距离坐标相对可识别的最大距离范围进行归一化。最后每个训练样本t时间段上的21个手部关键点坐标拼接为三维矩阵形式。
[0059]
b.训练数据增强。可选的数据增强的方式包括但不限于:随机截取不同时间长度的数据并缩放到统一的时间长度、随机旋转关键点坐标、随机平移关键点坐标、随机选取一小段帧的关键点坐标对另一段等长帧进行替换等。
[0060]
c.模型前向传播,将处理好的训练样本以batch的方式传入神经网络模型,经模型前向传播后,得到手势类别的预测结果,根据预测结果和真实标注计算模型预测损失。
[0061]
d.若模型预测损失满足停止条件,则停止训练,否则,进行反向传播,根据模型预测损失计算每层参数的梯度,并更新模型参数,进行下一次前向传播。
[0062]
本发明中的手势识别网络可扩展为同时支持单手动态手势识别和双手动态手势识别。具体网络结构如图4所示;同时支持单手与双手手势时,模型结构说明如下:
[0063]
若输入的关键点为单手关键点,则只需将关键点输入矩阵1置为该手的关键点矩阵,关键点输入矩阵2全部置为0;若输入的关键点为双手关键点,则将关键点输入矩阵1置为第一只手的关键点矩阵,将关键点输入矩阵2置为第二只手的关键点矩阵。然后将输入矩阵1与输入矩阵2按照第一维度进行拼接,拼接后的矩阵维度为2c*t*k。拼接后的矩阵使用group为2的二维卷积组成的局部特征提取模块进行特征提取,得到邻近关节点之间的局部特征f(2c,t,k),特征分离模块将局部特征分为f1(c,t,k)和f2(c,t,k),特征转置模块将特征层的第一维度和第三维度进行转置得到f1(k,t,c)和f2(k,t,c),将f1(k,t,c)和f2(k,t,c)按照第一维度进行拼接,拼接后的特征使用二维卷积组成的全局特征提取模块进行特征提取,得到远距离关节点之间的全局特征f(global),将全局特征f(global)展开为一维向量,经过transformer模块进行权重再分配,最后,经过全连接层和softmax激活函数之后得到手势类别预测的概率。
[0064]
如图5,本发明实施例另一方面提供一种基于手部关键点和transformer的动态手势识别系统,具体为:
[0065]
手部关键点获取单元501:获取t时间段内的手部图像序列,并获取各手部图像中
的手部关键点,手部关键点的坐标使用(xi,yi,di|i∈[1,k])表示,k为手部关键点的个数,xi表示手部图像中第i关键点的横坐标,yi表示手部图像中第i个关键点的纵坐标,di表示手部图像中第i个关键点到相机平面的距离;
[0066]
使用神经网络模型或手部关键点检测相机等设备获得手部关键点(对于手部关键点的获取方法,本发明不作限制,即本发明适配于各种手部关键点获取方法),本发明以21个手部关键点作为示例来进行说明。21点手部关键点的坐标使用(xi,yi,di|i∈[1,21])表示,xi表示手部图像中第i关键点的横坐标,yi表示手部图像中第i个关键点的纵坐标,di表示手部图像中第i个关键点到相机平面的距离。
[0067]
关键点拼接单元502:将t时间段内手部图像序列各手部图像中的手部关键点坐标拼接为三维矩阵,第一维度为关键点的坐标,第二维度t为时间维度,第三维度为关键点序号维度,拼接后的关键点输入矩阵维度为3*t*k;
[0068]
将t时间段上的21个手部关键点横纵坐标以图像宽高进行归一化,将距离坐标相对可识别的最大距离范围进行归一化。
[0069]
将t时间段上的21个手部关键点坐标拼接为三维矩阵形式,拼接方法如下:第一维度为3,表示关键点的坐标为三维,第二维度为t,表示时间维度,第三维度为21,表示关键点序号维度。拼接后的关键点输入矩阵维度为3*t*21。
[0070]
模型预测单元503:将拼接得到的三维矩阵输入预训练好的神经网络模型,依次进行近距关节局部运动特征提取、特征转置、远距关节全局运动特征提取、transformer注意力分配、softmax函数激活;
[0071]
结果输出单元504:经神经网络模型预测后,输出t时间段上的动态手势的识别结果。
[0072]
图6所示,本发明实施例提供了一种电子设备600,包括存储器610、处理器620及存储在存储器620上并可在处理器620上运行的计算机程序611,处理器620执行计算机程序611时实现本发明实施例提供的一种基于手部关键点和transformer的动态手势识别方法。
[0073]
由于本实施例所介绍的电子设备为实施本发明实施例中所采用的设备,故而基于本发明实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本发明实施例中的方法不再详细介绍,只要本领域所属技术人员实施本发明实施例中的方法所采用的设备,都属于本发明所欲保护的范围。
[0074]
请参阅图7,图7为本发明实施例提供的一种计算机可读存储介质的实施例示意图。
[0075]
如图7所示,本实施例提供了一种计算机可读存储介质700,其上存储有计算机程序711,该计算机程序711被处理器执行时实现本发明实施例提供的一种基于手部关键点和transformer的动态手势识别方法;
[0076]
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
[0077]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0078]
本发明提供的方法,相比于使用传统图像处理和人为设定的规则进行手势识别,本发明中基于深度学习的动态手势识别方法在精度上具有显著优势。
[0079]
本发明提供的方法,相比于使用3d卷积模型直接对对原始视频进行动态手势识别,本发明解决的主要问题是:
[0080]
1)基于手部关键点进行手势识别,通过使用深度传感器或手部关键点提取算法首先将手的关键点坐标提取出来,在手势识别时可以排除背景对识别效果的影响,从而极大的有利于提升手势识别的速度和精度。
[0081]
2)本发明仅使用了2d卷积的神经网络模型,可达到与3d神经网络模型不相上下的手势识别效果,同时网络参数量远少于3d神经网络模型,运行速度大大优于3d神经网络。
[0082]
本发明提供的方法,相比于基于手部关键点使用图卷积进行动态手势识别的方法,本发明所解决的主要问题是:
[0083]
1)本发明使用的神经网络模型不涉及任何图构造和矩阵乘法等操作,可快速部署于前端设备,网络通用性高。
[0084]
2)本发明将时序上不同帧中手部的k个关键点位置构造为图像形式,将其作为动态手势识别神经网络模型的输入,通过2d卷积对时序关键点图像进行特征提取,同时提取动态手势的局部特征和远距离关键点的全局运动特征,可得到表征关节间相互作用和时序上动态信息的featuremaps,使模型拥有更强的鲁棒性。
[0085]
3)引入transformer模块,使网络在预测手势时能够聚焦特征性更强的关键点运动信息,最终输出预测的动态手势结果。
[0086]
4)当前图卷积网络方法在进行双手手势识别时,由于网络参数维度的固化,需要在对每只手单独进行特征提取之后直接将双手的特征进行比较合并为同单手特征相同维度的伪双手特征,而本发明直接对双手的交互动作进行特征提取,能够真正提取到双手手势的动作特征,提升双手手势识别的精度。
[0087]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
[0088]
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1