CN117576783A - 基于手部关键点与双层双向lstm网络的动态手势识别方法 - Google Patents

基于手部关键点与双层双向lstm网络的动态手势识别方法 Download PDF

Info

Publication number
CN117576783A
CN117576783A CN202311747891.2A CN202311747891A CN117576783A CN 117576783 A CN117576783 A CN 117576783A CN 202311747891 A CN202311747891 A CN 202311747891A CN 117576783 A CN117576783 A CN 117576783A
Authority
CN
China
Prior art keywords
layer
attention
input
output
sequence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311747891.2A
Other languages
English (en)
Inventor
刘正轩
纪明宇
张蘅
周有备
傅立诚
马泽宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeast Forestry University
Original Assignee
Northeast Forestry University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeast Forestry University filed Critical Northeast Forestry University
Priority to CN202311747891.2A priority Critical patent/CN117576783A/zh
Publication of CN117576783A publication Critical patent/CN117576783A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及基于手部关键点与双层双向LSTM网络的动态手势识别方法,包括以下步骤:S1、获取手部关键点数据集,得到输入序列;S2、将上一步获取的输入序列进行时间翻转数据增强处理生成翻转序列,将输入序列和翻转序列作为网络模型输入层;S3、构建双层双向LSTM网络模型进行手语动态识别;S4、使用注意力层对翻转反向输出序列进行处理,分别计算正向和反向的注意力加权输出,拼接正向和反向的注意力输出;S5、使用全连接层将注意力加权的输出映射到输出维度。本申请对手语视频数据集进行处理采集得到手部关键点,构建双层双向LSTM网络模型对关键点信息进行手语识别,充分挖掘和利用关键点信息,提高手语识别的速度和准确率。

Description

基于手部关键点与双层双向LSTM网络的动态手势识别方法
技术领域:
本发明涉及动态手势识别技术领域,具体涉及基于手部关键点与双层双向LSTM网络的动态手势识别方法。
背景技术:
手语是一种被广泛应用于世界各地听障人士和语言障碍者之间的交流媒介,有效地突破了其与社会之间的沟通壁垒。手语具备独立的语法、语义组织和特定的手势逻辑。它通过手的形态、方向和位置,以及体态、手臂姿势、目光接触、口形和面部表情等多种信息传递语义含义,而不依赖于任何口语交流方式,这使得非听障人士难以理解手语的含义。手语识别技术的发展有助于非听障人士与听障人士或语言障碍者之间进行有效沟通。
目前,手语识别可分为两类:孤立符号识别(即静态手势识别)和连续符号识别(即动态手势识别)。孤立符号识别是指对独立标识动作进行细粒度识别,而连续符号识别则是指将连贯的手语视频映射至同序注释序列中。由于静态手势识别代表着无上下文或零句型字符,在日常使用场景中存在一定的限制。动态手势具有记忆表达和上下文感知的能力,能够表述时序依赖关系,因此动态手势识别(从原始模态序列到离散标记流)更具发展前景。根据时序特征提取方式的差异,动态手势识别可以分为传统的机器学习模型和流行的深度学习模型。
在深度学习领域,研究者们取得一些成果:杨观赐等人提出了基于全局注意力机制的LSTM模型,该模型在推断上下文向量时考虑了编码器的全部隐藏状态,实现了对长序列手语的识别;Sharma和Kumar提出了一种整合3D-CNN和运动历史图像的时空信息追踪模型,该模型可以提取基于动态的空间关注和其相关属性,提升识别精度;Dwivedi提出了时间多通道视觉变换器模型(简称TMC-ViT),通过使用EMG信号对灵巧手动操作任务中的物体运动进行解码,实现了多通道手势追踪;王帅等人提出了连续手语识别的Transformer模型,通过线性高维映射来等比例增加注意力头数和嵌入维度,以实现对较长手语序列的整体内部帧挖掘。然而,手语识别仍然面临着一些挑战:手势伪影、手部运动模糊、低分辨率和复杂多变的背景会导致识别困难,限制模型的拟合能力。同时,主体结构的遮挡、光照过曝和欠曝等使得手语的注释在格式和语言粒度上缺乏多样性。这些因素使得手语识别变得更加困难。
需要说明的是,上述内容属于发明人的技术认知范畴,并不必然构成现有技术。
发明内容:
本发明的目的在于解决现有技术所存在的问题,提供基于手部关键点与双层双向LSTM网络的动态手势识别方法,对手语视频数据集进行采集得到关键点信息,用双层双向LSTM网络模型对关键点信息手语识别,充分挖掘和利用关键点信息,提高手语识别速度和准确率。
本发明通过采取以下技术方案实现上述目的:
基于手部关键点与双层双向LSTM网络的动态手势识别方法,包括以下步骤:
S1、获取手部关键点数据集
从手语视频数据集获取手语视频数据并依次进行初始化Mediapipe人体姿势模型、给定轴对矩阵进行采样、初始化Holistic模型、循环读取视频的每一帧、进行关键点检测并将检测到的关键点信息数据保存到列表中、绘制手部姿势关键点和连接线、将关键点列表转换为Numpy数组及对关键点列表进行采样处理,得到输入序列;
S2、生成网络模型输入层
将上一步获取的输入序列进行时间翻转数据增强处理生成翻转序列,将输入序列和翻转序列作为网络模型输入层;
S3、构建双层双向LSTM网络模型进行手语动态识别
双层双向LSTM网络模型包括依次设计的两层双向LSTM层,每层双向LSTM层包括一正向LSTM层和一反向LSTM层,输入序列经过正向LSTM层得到正向的隐藏状态和细胞状态,正向隐藏状态和细胞状态在正向LSTM层内部传递和更新,翻转序列经过反向LSTM层得到反向的隐藏状态和细胞状态,反向隐藏状态和细胞状态在反向LSTM层内部传递和更新,输入层经过双层双向LSTM网络模型处理提取数据时间特征,得到翻转反向输出序列;
S4、使用注意力层对翻转反向输出序列进行处理,分别计算正向和反向的注意力加权输出,拼接正向和反向的注意力输出;
S5、使用全连接层将注意力加权的输出映射到输出维度。
步骤S1中,在手部关键点数据的收集阶段,实例化捕获对象,以便接入和解码连续视频帧,利用MediaPipe的手部模型实施手势追踪,从视频帧中鉴别并定位手部的关键点,比对连续帧间关键点位置的变化,收集动态手势视频流的关键点坐标numpy集合,根据时序数据的稀疏程度进行优先经验回放采样,优先经验回放具体步骤如下:
S11、计算TD误差,对于每个经验计算其TD误差:
式中,TDerror(t)是在时间步t的TD误差,Rt+1是在时间步t+1获得的实际奖励,γ是折扣因子,用于计算未来奖励的当前估计值,π(a|St+1)是在状态t+1下选择动作a的策略的概率,π(a|St+1)和Q(St+1,a;θ)是状态-动作值函数,计算在给定状态和动作下预期的未来回报,θ表示网络的权重;
S12、赋予优先级,使用TD误差来赋予每个样本优先级,同时给TD误差添加正数ε,确保每个经验都有被采样的可能:p(t)=|TDerror(t)|+ε
式中,p(t)是时间步t的优先级,|TDerror(t)|表示时间步t的TD误差的绝对值,正数ε用以确保每个经验都有被采样的可能性;
S13、计算采样概率
根据经验的优先级和超参数α来计算每个经验被采样的概率:
式中,P(t)是在时间步t的经验被采样的概率,P是该经验的优先级,α是一个介于0和1之间的超参数,用来控制优先级的影响程度;
S14、权重更新
当采样并使用经验进行学习后,计算重要性采样权重来调整该经验在更新Q值时的影响:
式中,N是经验池的大小,P(t)是经验被采样的概率,β是一个介于0和1之间的超参数:
式中,ρ是衰退因子,θ是学习率,是过去梯度平方的移动平均值,/>是关于θ的损失函数梯度。
步骤S1中,在关键点检测过程中,引入像素级掩膜和形变波动变换,用于指导网络的注意力并追踪手势细粒变化;像素级掩膜的连续形式表达式为:
像素级掩膜的离散形式表达式为:
式中,E(u)为形变向量场u的能量;Ω为区域的定义,是一个二维或三维的空间;u1和u2为u的分量,在二维空间中,表示u在x和y方向上的变化;这四项表示u的梯度;dx为积分的微元,表示空间中的一个小区域;λ为正则化参数,该参数控制u的大小对能量的贡献;i和j为在图像或者一个离散的网格中的坐标;ui+1,j、ui-1,j、ui,j+1、ui,j-1这四项表示在离散网格中,u在各个方向上的差异;n和m为表示图像或离散网格的大小;
所述形变波动变换表达式为:
I(x,y)=wR·R(x,y)+wG·G(x,y)+wB·B(x,y)
式中,A(x,y)为像素(x,y)的注意力权重,I(x,y)为输入图像在(x,y)的像素值,分母的求和操作是对整个图像进行的;R(x,y)、G(x,y)和B(x,y)分别表示像素(x,y)的红色、绿色和蓝色通道的强度,而wR、wG和wB是对应通道的权重。
步骤S2中,针对在各个时间步长中包含高维特征的RGB通道时间序列,结合时间平移和时间噪声注入使用时间翻转增强,将每个RGB通道视为独立的序列,并对每个通道的序列进行翻转;所述时间平移是将整个时间序列向前或向后移动一定的时间单位,使模型对于事件发生的绝对时间的依赖性降低,而更注重事件发生的相对顺序或者模式,具体步骤:
设获取到的输入数据是一个t×m×n×3的张量X,X∈RT×H×W×C,其中t是时间步长的数量,m和n是每个时间步长中的图像高度和宽度,3表示RGB三个颜色通道,张量的每个元素xijkl表示在时间i,高度j,宽度k,颜色通道l的像素值;选择一个平移步数s,将张量X沿时间轴移动s步,得到新的张量X′,为新的张量X′分配相应的空间,可以表示为:
X′∈RT×H×W×C
定义新的张量X′的每个元素x′i,j,k,l,可以表示为:
x′i,j,k,l=x(i+s)modT,j,k,l
式中,(i+s)modT表示在时间轴上对i进行平移,modT保证索引在有效范围内,这个过程可以用以下方程进行表示:
对于每个j∈[0,H),k∈[0,W)和l∈[0,C),上述方程组都成立;
X′=x(i+s)modt,j,k,l式中,mod表示模运算,保证索引在有效范围内。
所述时间噪声注入是为时间序列添加随机噪声,以模拟在真实世界中可能出现的测量误差或其他形式的不确定性,使得模型更健壮,能够处理实际应用中的噪声数据,具体步骤:
设获取到的输入数据是一个t×m×n×3的张量X进行噪声注入,为张量X的每个元素添加噪声,得到新的张量X′:
X′=xi,j,k,l+noise(i,j,k,l)
式中,noise(i,j,k,l)为高斯噪声生成函数;
假设有一个四维张量X∈RT×H×W×C,其中T是时间步长的数量,H和W分别是图像的高度和宽度,C是颜色通道的数量,还需要定义一个噪声生成函数g,这个函数产生的噪声满足高斯分布,定义一个新的张量X′,其元素x′i,j,k,l为原张量的对应元素加上生成的噪声:
x′i,j,k,l=xi,j,k,l+g(0,σ)
式中,g(0,σ)表示均值为0,标准差为σ的高斯噪声,上述过程表示为方程组:
x′0,j,k,l=x0,j,k,l+g(0,σ)
x′1,j,k,l=x1,j,k,l+g(0,σ)
x′T-1,j,k,l=x(T-1),j,k,l+g(0,σ)
对于每个j∈[0,H),k∈[0,W)和l∈[0,C),上述方程组都成立。
步骤S3中的,所述正向LSTM层和反向LSTM层分别包括多个LSTM单元,所述LSTM单元包括输入门、遗忘门、输出门、细胞状态和隐藏状态,所述输入门用于控制输入数据的权重和信息流入细胞状态,所述遗忘门用于控制细胞状态中需要被遗忘的信息,所述输出门用于控制从细胞状态到隐藏状态的信息流出,所述细胞状态是LSTM单元的记忆部分,负责存储和传递信息,所述隐藏状态是LSTM单元的输出,是下一个时间步骤的输入。
步骤S3中,第一层双向LSTM层为接收并处理手语关键点序列输入x∈Rinput_size,同时考虑数据的正向和反向信息,LSTM通过刻画该关键点序列的动态变化,捕获手语的时间特性:
ht=f(W*[ht-1,xt]+b)
式中,ht是隐藏状态,xt是输入关键点,W和b是学习的权重和偏置,f是激活函数;
对于每个时间步t,第一层的正向LSTM执行以下计算:
i1,t=σ(Wi1*xt+Ui1*h1,t-1+bi1)
f1,t=σ(Wf1*xt+Uf1*h1,t-1+bf1)
o1,t=σ(Wo1*xt+Uo1*h1,t-1+bo1)
g1,t=tanh(Wg1*xt+Ug1*h1,t-1+bg1)
c1,t=f1,t*c1,t-1+i1,t*g1,t
h1,t=o1,t*tanh(c1,t)
式中,i,f,o,g分别表示输入门、遗忘门、输出门和记忆单元的候选状态;h和c分别表示隐藏状态和记忆状态;W表示输入与隐藏状态之间的权重,U表示输入与候选记忆单元之间的权重,b表示偏置向量;σ和tanh分别表示sigmoid函数和双曲正切函数;下标1表示第一层,t表示时间步;
LSTM在此基础上增加反向的信息流,反向LSTM计算同上,但是时间步是反向进行的设隐藏层的维度为hidden_size,则正向和反向信息的计算可以表示为:
式中,→和←分别表示正向和反向传播,为权重矩阵,为偏置项;
由于LSTM是双向的,故其输出维度为2*hidden_size,为了增强模型表达能力,引入残差块和跳跃连接,对于每一层的输出ht添加跳跃连接,使得它可以直接传播到后面的层,即:
式中,F(·)表示层l的函数映射,Wl为该层的权重,该连接可帮助网络在不增加模型参数和计算复杂度的情况下增大感受野,使得模型能够捕捉到输入数据中的长距离依赖关系;
在激活函数的选择上,使用参数化ReLU,即:
f(x)=max(0,x)+amin(0,x)
式中,α是一个可学习的参数,通过引入更多的非线性,使得模型能够学习更复杂的映射关系,PReLU相比于ReLU更具灵活性,因为它引入了可学习的参数,使得网络在训练过程中可以自适应地调整激活函数的形状;为提高模型的训练稳定性和速度,使用批量标准化:
式中,μ和σ2分别为x的均值和方差,∈是一个很小的数以防止除以0,批量标准化可以使每一层的输入都近似于零均值和单位方差,这样可以加速模型的收敛,同时还有助于防止过拟合,提高模型的泛化能力。
步骤S3中,第二层双向LSTM层接收第一层双向LSTM层的输出,并进行进一步的处理,以获取更丰富的动态特征,其计算过程:
i2,t=σ(Wi2*h1,t+Ui2*h2,t-1+bi2)
f2,t=σ(Wf2*h1,t+Uf2*h2,t-1+bf2)
o2,t=σ(Wo2*h1,t+Uo2*h2,t-1+bo2)
g2,t=tanh(Wg2*h1,t+Ug2*h2,t-1+bg2)
c2,t=f2,t*c2,t-1+i2,t*g2,t
h2,t=o2,t*tanh(c2,t)
式中,i,f,o,g分别表示输入门、遗忘门、输出门和记忆单元的候选状态;h和c分别表示隐藏状态和记忆状态;W表示输入与隐藏状态之间的权重,U表示输入与候选记忆单元之间的权重,b表示偏置向量;σ和tanh分别表示sigmoid函数和双曲正切函数;下标2表示第二层,t表示时间步;
其输出维度为2*hidden_size,因本层同样需要考虑前向和后向的信息,为进一步提高模型性能,引入注意力机制,注意力机制可以使模型在处理序列数据时,对不同的输入元素赋予不同的注意力权重,从而更好地捕捉序列中的重要信息,使用Scaled Dot-Product Attention:
式中,Q,K,V分别为查询、键和值,dk为键的维度;在计算过程中,首先计算查询和键的点积,然后除以进行缩放,接着通过softmax函数将结果转化为概率分布,最后用该分布对值进行加权求和;
此外,在第二层双向LSTM层的输出上应用了归一化操作,使得输出的每一维都有相同的尺度,提高模型的稳定性,加快训练速度:
式中,xi是输入,μB分别是批量的均值和方差,/>是归一化后的输入,γ和β是可学习的缩放因子和偏移项,∈是一个很小的数以防止除以0。
步骤S4中,所述注意力层为输入中的每个元素分配权重,所分配权重反映了该元素的重要程度,所述注意力层包括三个子注意力层中,注意力机制用于对第二层双向LSTM层的输出进行加权,从而让模型能够更加专注于关键的手势,注意力权重计算公式:
式中,eij是未归一化的注意力权重,αij是归一化的注意力权重,ci是上下文向量,hj是隐藏状态,W、U和V是三个子注意力层的学习权重,tanh和exp是激活函数;
三个子注意力层的计算过程分别由W、U和V三个线性层完成,其过程如下:
S41、计算注意力权重
将双向LSTM的输出通过W和U这两个线性层计算得到注意力权重,计算步骤为:
使用tanh激活函数处理W的输出:
使用σ激活函数处理U的输出:
将上述两个步骤的结果进行逐元素相乘,得到注意力权重:
S42、计算注意力分数
将上一步计算得到的注意力权重通过V层得到注意力分数,表达式为:
sij=VT·eij
S43、计算注意力概率
对注意力分数应用softmax函数,使得所有的分数归一化到0到1之间,且总和为1,从而得到每个位置的注意力概率,公式如下:
S44、引入注意力机制
将上一步骤得到的注意力概率应用到LSTM的输出上,计算注意力加权的输出,该过程可以看作是将每个位置的输出乘以其对应的注意力概率,然后将所有位置的结果求和,得到最终的注意力输出:
S45、合并前向和反向的注意力输出
将前向和反向的注意力输出进行拼接,得到最终的输出:
步骤S5中,所述全连接层整合前述各卷积层或池化层提取到的局部特征信息,融合成全局的特征描述,该全局信息不仅包含各单一特征细节,还嵌入特征间的关系,为后续的分类任务注入更丰富的信息;
在隐藏层引入多层感知前馈机制,神经元数量可根据任务的复杂度以及数据集的特性进行动态调整:
设输入为其中n(0)是输入层神经元的数量;
隐藏层l的权重矩阵和偏置向量分别为W(l)和b(l),则第l个隐藏层的输出h(l)为:
h(l)=f(W(l)Th(l-1)+b(l))
式中,当l=0时,h(0)即为初始输入x,f(·)是激活函数;
设输出层的权重矩阵为W(L+1),偏置矩阵为b(L+1),则输出层的输出y为:
y=g(W(L+1)Th(L)+b(L+1))
式中,g(·)是输出层的激活函数;
通过寻找理想的平衡点,使得模型能有效地揭示数据中的复杂模式,同时避免引入过多的参数,以防止过拟合现象的出现;
采用残差连接来优化模型输出:
z(l)=W(l)a(l-1)+b(l)
a(l)=φ(z(l))+a(l-1)
式中,z(l)是第l层的加权输入,a(l-1)是上一层的激活,W(l)和b(l)是权重和偏置参数,φ是激活函数;
对全连接层进行增强,引入批量标准化层,它通过对每批数据进行标准化处理,使输出的平均值接近0,方差接近1,从而在训练过程中增强网络的稳定性。该方法降低了网络对权重初始化选择的敏感度,并有助于防止梯度消失问题:
计算出每一批数据的均值和方差:
通过减去均值并除以标准差来标准化输入:
引入缩放因子γ和偏移因子β:
引入嵌入层(Embedding),对具有高维离散特征的数据进行处理。嵌入层可将每个离散特征映射到低维的实数向量空间,使得相似的输入被映射到接近的嵌入向量,从而有效地捕捉和利用输入特征之间的关系。
设每个手部关键点序列有M个关键点,每个关键点为k个可能位置中的任何一个。为每个可能的关键点位置初始化嵌入矩阵Ekeypoint,其大小为K×D,其中D是嵌入向量的维度。
对于每个手部关键点序列,查找各个关键点在嵌入矩阵中的对应行来得到其嵌入向量,并将所有关键点的嵌入向量进行拼接,得到表示整个关键点序列的嵌入向量:
ei,m=Ekeypoint[ki,nv:]
式中,ei,m是第i个手部关键点序列中第m个关键点的嵌入向量,ki,m是该关键点的位置索引,Ekeypoint是关键点嵌入矩阵,ei是整个第i个手部关键点序列的嵌入向量。
基于该方法,可以学习每个关键点位置的嵌入,同时得到表示整体关键点序列的嵌入向量,更好地捕捉手部关键点序列中关键点之间的相互关系。
添加循环层,用于处理序列数据,循环层保留了先前时刻的信息,从而使得模型能够捕捉到输入数据中的时间序列性质,隐藏状态ht是基于前一时刻的隐藏状态ht-1和当前的输入xt计算得出的:
ht=φ(Whhht-1+Wxhxt+bh)
式中,Whh和Wxh是权重矩阵,bh是偏置项,φ是非线性激活函数,该结构允许网络记住过去的信息,并在必要时使用该信息来影响当前的输出。
本发明采用上述方法,能够带来如下有益效果:
首先将手语视频数据集转为关键点,基于关键点进行手势识别,使得网络模型更加关注重要的手部关键点,有助于提高识别的准确性和效率。通过设计双层双向LSTM层能够更加充分挖掘保留关键信息,提高网络模型训练数据质量,提高网络模型识别效率。
附图说明:
图1为本发明双层双向LSTM网络模型的示意图;
图2为本发明获取输入序列的流程图;
具体实施方式:
为了更清楚的阐释本发明整体构思,下面结合说明书附图以示例的方式进行详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
如图1-2所示,基于手部关键点与双层双向LSTM网络的动态手势识别方法,包括以下步骤:
S1、获取手部关键点数据集
从手语视频数据集获取手语视频数据并依次进行初始化Mediapipe人体姿势模型、给定轴对矩阵进行采样、初始化Holistic模型、循环读取视频的每一帧、进行关键点检测并将检测到的关键点信息数据保存到列表中、绘制手部姿势关键点和连接线、将关键点列表转换为Numpy数组及对关键点列表进行采样处理,得到输入序列;
S2、生成网络模型输入层
将上一步获取的输入序列进行时间翻转数据增强处理生成翻转序列,将输入序列和翻转序列作为网络模型输入层;
S3、构建双层双向LSTM网络模型进行手语动态识别
所述双层双向LSTM网络模型包括依次设计的两层双向LSTM层,每层所述双向LSTM层包括一正向LSTM层和一反向LSTM层,输入序列经过正向LSTM层得到正向的隐藏状态和细胞状态,正向隐藏状态和细胞状态在正向LSTM层内部传递和更新,翻转序列经过反向LSTM层得到反向的隐藏状态和细胞状态,反向隐藏状态和细胞状态在反向LSTM层内部传递和更新,输入层经过双层双向LSTM网络模型处理提取数据时间特征,得到翻转反向输出序列;
S4、使用注意力层对翻转反向输出序列进行处理,分别计算正向和反向的注意力加权输出,拼接正向和反向的注意力输出;
S5、使用全连接层将注意力加权的输出映射到输出维度。首先将手语视频数据集转为关键点,基于关键点进行手势识别,使得网络模型更加关注重要的手部关键点,有助于提高识别的准确性和效率。通过设计双层双向LSTM层能够更加充分挖掘保留关键信息,提高网络模型训练数据质量,提高网络模型识别效率。
步骤S1中,手部关键点数据的获取,在手部关键点数据的收集阶段,实例化捕获对象,以便接入和解码连续视频帧,利用MediaPipe的手部模型实施手势追踪,从视频帧中鉴别并定位手部的关键点,比对连续帧间关键点位置的变化,收集动态手势视频流的关键点坐标numpy集合,根据时序数据的稀疏程度进行优先经验回放采样,优先经验回放具体步骤如下:
S11、计算TD误差
对于每个经验计算其TD误差:
式中,TDerror(t)是在时间步t的TD误差,Rt+1是在时间步t+1获得的实际奖励,γ是折扣因子,用于计算未来奖励的当前估计值,π(a|St+1)是在状态t+1下选择动作a的策略的概率,π(a|St+1)和Q(St+1,a;θ)是状态-动作值函数,计算在给定状态和动作下预期的未来回报,θ表示网络的权重;
S12、赋予优先级
使用TD误差来赋予每个样本优先级,同时给TD误差添加正数ε,确保每个经验都有被采样的可能:
p(t)=|TDerror(t)|+ε
式中,p(t)是时间步t的优先级,|TDerror(t)|表示时间步t的TD误差的绝对值,正数ε用以确保每个经验都有被采样的可能性;
S13、计算采样概率
根据经验的优先级和超参数α来计算每个经验被采样的概率:
式中,P(t)是在时间步t的经验被采样的概率,P是该经验的优先级,α是一个介于0和1之间的超参数,用来控制优先级的影响程度;
S14、权重更新
当采样并使用经验进行学习后,计算重要性采样权重来调整该经验在更新Q值时的影响:
式中,N是经验池的大小,P(t)是经验被采样的概率,β是一个介于0和1之间的超参数:
式中,ρ是衰退因子,θ是学习率,是过去梯度平方的移动平均值,/>是关于θ的损失函数梯度。
步骤S1中,在关键点检测过程中,针对手部非刚性物体变形,动态背景以及高内部和低间隔类别的变异性,引入像素级掩膜和形变波动变换,用于指导网络的注意力并追踪手势细粒变化;
所述像素级掩膜的连续形式表达式为:
所述像素级掩膜的离散形式表达式为:
式中,E(u)为形变向量场u的能量;Ω为区域的定义,是一个二维或三维的空间;u1和u2为u的分量,在二维空间中,表示u在x和y方向上的变化;这四项表示u的梯度;dx为积分的微元,表示空间中的一个小区域;λ为正则化参数,该参数控制u的大小对能量的贡献;i和j为在图像或者一个离散的网格中的坐标;ui+1,j、ui-1,j、ui,j+1、ui,j-1这四项表示在离散网格中,u在各个方向上的差异;n和m为表示图像或离散网格的大小;
所述形变波动变换表达式为:
I(x,y)=wR·R(x,y)+wG·G(x,y)+wB·B(x,y)
式中,A(x,y)为像素(x,y)的注意力权重,I(x,y)为输入图像在(x,y)的像素值,分母的求和操作是对整个图像进行的;R(x,y)、G(x,y)和B(x,y)分别表示像素(x,y)的红色、绿色和蓝色通道的强度,而WR、WG和wB是对应通道的权重。
步骤S2中,针对在各个时间步长中包含高维特征的RGB通道时间序列,结合时间平移和时间噪声注入使用时间翻转增强,将每个RGB通道视为独立的序列,并对每个通道的序列进行翻转;
所述时间平移是将整个时间序列向前或向后移动一定的时间单位,使模型对于事件发生的绝对时间的依赖性降低,而更注重事件发生的相对顺序或者模式,具体步骤:
设获取到的输入数据是一个t×m×n×3的张量X,X∈RT×H×W×C,其中t是时间步长的数量,m和n是每个时间步长中的图像高度和宽度,3表示RGB三个颜色通道,张量的每个元素xijkl表示在时间i,高度j,宽度k,颜色通道l的像素值;选择一个平移步数s,将张量X沿时间轴移动X步,得到新的张量X′,为新的张量X′分配相应的空间,可以表示为:
X′∈RT×H×W×C
定义新的张量X′的每个元素x′i,j,k,l,可以表示为:
x′i,j,k,l=x(i+s)modT,j,k,l
式中,(i+s)modT表示在时间轴上对i进行平移,modT保证索引在有效范围内,这个过程可以用以下方程进行表示:
对于每个j∈[0,H),k∈[0,W)和l∈[0,C),上述方程组都成立;
X′=x(i+s)modt,j,k,l
式中,mod表示模运算,保证索引在有效范围内;
所述时间噪声注入是为时间序列添加随机噪声,以模拟在真实世界中可能出现的测量误差或其他形式的不确定性,使得模型更健壮,能够处理实际应用中的噪声数据,具体步骤:
设获取到的输入数据是一个t×m×n×3的张量X进行噪声注入,为张量X的每个元素添加噪声,得到新的张量X′:
X′=xi,j,k,l+noise(i,j,k,l)
式中,noise(i,j,k,l)为高斯噪声生成函数;
假设有一个四维张量X∈RT×H×W×C,其中T是时间步长的数量,H和W分别是图像的高度和宽度,C是颜色通道的数量,还需要定义一个噪声生成函数g,这个函数产生的噪声满足高斯分布,可以定义一个新的张量X′,其元素x′i,j,k,l为原张量的对应元素加上生成的噪声:
x′i,j,k,l=xi,j,k,l+g(0,σ)
式中,g(0,σ)表示均值为0,标准差为σ的高斯噪声,这个过程可以表示为以下的方程组:
x′0,j,k,l=x0,j,k,l+g(0,σ)
x′1,j,k,l=x1,j,k,l+g(0,σ)
x′T-1,j,k,l=x(T-1),j,k,l+g(0,σ)
对于每个j∈[0,H),k∈[0,W)和l∈[0,C),上述方程组都成立。
步骤S3中的,所述正向LSTM层和反向LSTM层分别包括多个LSTM单元,所述LSTM单元包括输入门、遗忘门、输出门、细胞状态和隐藏状态,所述输入门用于控制输入数据的权重和信息流入细胞状态,所述遗忘门用于控制细胞状态中需要被遗忘的信息,所述输出门用于控制从细胞状态到隐藏状态的信息流出,所述细胞状态是LSTM单元的记忆部分,负责存储和传递信息,所述隐藏状态是LSTM单元的输出,是下一个时间步骤的输入。
步骤S3中,第一层双向LSTM层为接收并处理手语关键点序列输入x∈Rinput_size,同时考虑数据的正向和反向信息,LSTM通过刻画该关键点序列的动态变化,捕获手语的时间特性:
ht=f(W*[ht-1,xt]+b)
式中,ht是隐藏状态,xt是输入关键点,W和b是学习的权重和偏置,f是激活函数;
对于每个时间步t,第一层的正向LSTM执行以下计算:
i1,t=σ(Wi1*xt+Ui1*h1,t-1+bi1)
f1,t=σ(Wf1*xt+Uf1*h,t-1+bf1)
o1,t=σ(Wo1*xt+Uo1*h1,t-1+bo1)
g1,t=tanh(Wg1*xt+Ug1*h1,t-1+bg1)
c1,t=f1,t*c1,t-1+i1,t*g1,t
h1,t=o1,t*tanh(c1,t)
式中,i,f,o,g分别表示输入门、遗忘门、输出门和记忆单元的候选状态;h和c分别表示隐藏状态和记忆状态;W表示输入与隐藏状态之间的权重,U表示输入与候选记忆单元之间的权重,b表示偏置向量;σ和tanh分别表示sigmoid函数和双曲正切函数;下标1表示第一层,t表示时间步;
LSTM在此基础上增加反向的信息流,反向LSTM计算同上,但是时间步是反向进行的设隐藏层的维度为hidden_size,则正向和反向信息的计算可以表示为:
式中,→和←分别表示正向和反向传播,为权重矩阵,为偏置项;
由于LSTM是双向的,所以其输出维度为2*hidden_size,为了增强模型的表达能力,引入残差块和跳跃连接,对于每一层的输出ht添加跳跃连接,使得它可以直接传播到后面的层,即:
式中,F(·)表示层l的函数映射,Wl为该层的权重,该连接可帮助网络在不增加模型参数和计算复杂度的情况下增大感受野,使得模型能够捕捉到输入数据中的长距离依赖关系;
在激活函数的选择上,使用参数化ReLU,即:
f(x)=max(0,x)+amin(0,x)
式中,a是一个可学习的参数,通过引入更多的非线性,使得模型能够学习更复杂的映射关系,PReLU相比于ReLU更具灵活性,因为它引入了可学习的参数,使得网络在训练过程中可以自适应地调整激活函数的形状;
为提高模型的训练稳定性和速度,使用批量标准化:
式中,μ和σ2分别为x的均值和方差,∈是一个很小的数以防止除以0,批量标准化可以使每一层的输入都近似于零均值和单位方差,这样可以加速模型的收敛,同时还有助于防止过拟合,提高模型的泛化能力。
步骤S3中,第二层双向LSTM层接收第一层双向LSTM层的输出,并进行进一步的处理,以获取更丰富的动态特征,其计算过程:
i2,t=σ(Wi2*h1,t+Ui2*h2,t-1+bi2)
f2,t=σ(Wf2*h1,t+Uf2*h2,t-1+bf2)
o2,t=σ(Wo2*h1,t+Uo2*h2,t-1+bo2)
g2,t=tanh(Wg2*h1,t+Ug2*h2,t-1+bg2)
c2,t=f2,t*c2,t-1+i2,t*g2,t
h2,t=o2,t*tanh(c2,t)
式中,i,f,o,g分别表示输入门、遗忘门、输出门和记忆单元的候选状态;h和c分别表示隐藏状态和记忆状态;W表示输入与隐藏状态之间的权重,U表示输入与候选记忆单元之间的权重,b表示偏置向量;σ和tanh分别表示sigmoid函数和双曲正切函数;下标2表示第二层,t表示时间步;
其输出维度为2*hidden_size,因本层同样需要考虑前向和后向的信息,为进一步提高模型的性能引入注意力机制,注意力机制可以使模型在处理序列数据时,对不同的输入元素赋予不同的注意力权重,从而更好地捕捉序列中的重要信息,使用Scaled Dot-Product Attention:
式中,Q,K,V分别为查询、键和值,dk为键的维度;在计算过程中,首先计算查询和键的点积,然后除以进行缩放,接着通过softmax函数将结果转化为概率分布,最后用该分布对值进行加权求和;
此外,在第二层双向LSTM层的输出上应用了归一化操作,使得输出的每一维都有相同的尺度,提高模型的稳定性,加快训练速度:
式中,xi是输入,μB分别是批量的均值和方差,/>是归一化后的输入,γ和β是可学习的缩放因子和偏移项,∈是一个很小的数以防止除以0。
步骤S4中,所述注意力层为输入中的每个元素分配权重,所分配权重反映了该元素的重要程度,所述注意力层包括三个子注意力层中,注意力机制用于对第二层双向LSTM层的输出进行加权,从而让模型能够更加专注于关键的手势,注意力权重计算公式:
式中,eij是未归一化的注意力权重,αij是归一化的注意力权重,ci是上下文向量,hj是隐藏状态,W、U和V是S三个子注意力层的学习权重,tanh和exp是激活函数;
三个子注意力层的计算过程分别由W、U和V三个线性层完成,其计算过程如下:
S41、计算注意力权重
将双向LSTM的输出通过W和U这两个线性层计算得到注意力权重,计算过程:
使用tanh激活函数处理W的输出:
使用σ激活函数处理U的输出:
将上述两个步骤的结果进行逐元素相乘,得到注意力权重:
S42、计算注意力分数
将上一步计算得到的注意力权重通过V层得到注意力分数,表达式为:
sij=VT·eij
S43、计算注意力概率
对注意力分数应用softmax函数,使得所有的分数归一化到0到1之间,且总和为1,从而得到每个位置的注意力概率,公式如下:
S44、引入注意力机制
将上一步骤得到的注意力概率应用到LSTM输出上,计算注意力加权输出,得到最终的注意力输出:
S45、合并前向和反向的注意力输出
将前向和反向的注意力输出进行拼接,得到最终的输出:
步骤S5中,所述全连接层整合前述各卷积层或池化层提取到的局部特征信息,融合成全局的特征描述,该全局信息不仅包含各单一特征细节,还嵌入特征间的关系,为后续的分类任务注入更丰富的信息;
在隐藏层引入多层感知前馈机制,神经元数量可根据任务的复杂度以及数据集的特性进行动态调整:
设输入为其中n(0)是输入层神经元的数量;
隐藏层l的权重矩阵和偏置向量分别为W(l)和b(l),则第l个隐藏层的输出h(l)为:
h(l)=f(W(l)Th(l-1)+b(l))
式中,当l=0时,h(0)即为初始输入x,f(·)是激活函数;
设输出层的权重矩阵为W(L+1),偏置矩阵为b(L+1),则输出层的输出y为:
y=g(W(L+1)Th(L)+b(L+1))
式中,g(·)是输出层的激活函数;
通过寻找理想的平衡点,使得模型能有效地揭示数据中的复杂模式,同时避免引入过多的参数,以防止过拟合现象的出现;
采用残差连接来优化模型输出:
z(l)=W(l)α(l-1)+b(l)
a(l)=φ(z(l))+a(l-1)
式中,z(l)是第l层的加权输入,a(l-1)是上一层的激活,W(l)和b(l)是权重和偏置参数,φ是激活函数;
采用残差连接的优点在于它能有效地避免神经网络深化时常见的两个问题:梯度消失和表示瓶颈。梯度消失是指网络在反向传播时,梯度的大小逐层减小,导致浅层的神经网络难以更新。而表示瓶颈是指网络的某一层的复杂度限制了模型的整体学习能力。
在实施残差连接时,将神经网络的某一层的输入直接与其输出相加,然后将此作为下一层的输入,允许模型在必要时候更好地适应恒等映射,即使模型的某一部分没有学习到有用的转换,它也可以通过恒等路径继续传递信息。
对全连接层进行增强,引入批量标准化层,它通过对每批数据进行标准化处理,使输出的平均值接近0,方差接近1,从而在训练过程中增强网络稳定性。该方法降低了网络对权重初始化选择的敏感度,并有助于防止梯度消失问题:
计算出每一批数据的均值和方差:
通过减去均值并除以标准差来标准化输入:
引入缩放因子γ和偏移因子β:
引入嵌入层(Embedding),对具有高维离散特征的数据进行处理。嵌入层可将每个离散特征映射到低维的实数向量空间,使得相似的输入被映射到接近的嵌入向量,从而有效地捕捉和利用输入特征之间的关系。
设每个手部关键点序列有M个关键点,每个关键点为k个可能的位置中的任何一个,为每个可能的关键点位置初始化嵌入矩阵Ekeypoint,其大小为K×D,其中D是嵌入向量的维度。
对于每个手部关键点序列,查找各个关键点在嵌入矩阵中的对应行来得到其嵌入向量,并将所有关键点的嵌入向量进行拼接,得到表示整个关键点序列的嵌入向量:
ei,m=Ektypoint[ki,nv:]
/>
式中,ei,m是第i个手部关键点序列中第m个关键点的嵌入向量,ki,m是该关键点的位置索引,Ekeypoint是关键点嵌入矩阵,ei是整个第i个手部关键点序列的嵌入向量。
基于该方法,可以学习每个关键点位置的嵌入,同时得到表示整体关键点序列的嵌入向量,更好地捕捉手部关键点序列中关键点之间的相互关系。
添加循环层,用于处理序列数据,循环层保留了先前时刻的信息,从而使得模型能够捕捉到输入数据中的时间序列性质,隐藏状态ht是基于前一时刻的隐藏状态ht-1和当前的输入xt计算得出的:
ht=φ(Whhht-1+Wxhxt+bh)
式中,Whh和Wxh是权重矩阵,bh是偏置项,φ是非线性激活函数,该结构允许网络记住过去的信息,并在必要时使用该信息来影响当前的输出。
实验配置:
训练时从独立的手语视频样本(试验采用具有代表性的CSL数据集和PHOENIX14数据集进行分析)中每秒提取15帧,具体帧率可以动态调整,对每一帧进行降噪和归一化,规格化为224x224像素。选取21个手部关键点的2D坐标作为特征,捕捉手势的关键动态信息。设定Epochs的范围,其下限不低于数据量的五分之一,上限不高于数据量的二分之一。设定batch的大小为32,学习率为0.001,采用Adam优化器。实行权重衰减策略,其值设为0.0005,防止模型过拟合,提高模型的泛化能力。设置学习率衰减策略,初始学习率设为0.001,每个epoch后,学习率按照0.95的速率衰减。该策略可使模型在训练初期快速学习,在接近最优解时减缓学习速度,更精细地逼近最优解。
为避免梯度爆炸问题,设定梯度裁剪,其上限值为1.0。当梯度的值超过该上限时,会被裁剪为这个上限值。该策略可保证模型训练的稳定性。同时引入早停策略,设置验证集上的损失连续5个epoch不下降则停止训练。该策略可避免模型在训练过程中过度拟合训练数据,从而提高其在未见数据上的表现。
为增加模型的鲁棒性,对训练数据进行数据增强,包括随机翻转、旋转和缩放等操作,该策略增加模型对各种手势的识别能力,提高模型的泛化性能。
1、对比实验分析
上表中:CSL数据集:中国手语数据集;PHOENIX14数据集:RWTH-PHOENIX-Weather2014(连续手语识别数据集),WER为识别错误率(Word Error Rate),用于量化识别过程中输出结果与参考文本之间的差异程度。WER越低,表示模型的识别性能越好。通过详细的对比实验分析可知,本申请的双层双向LSTM网络模型展示出优越的准确性以及识别性能。
2、消融实验
网络模型变量 准确率
BiLSTM 68.70%
BiLSTM_Prior 70.62%
BiLSTM_Prior_Attention 74.61%
BiLSTM_Prior_Attention_TTA 76.44%
Double_BiLSTM_Prior_Attention_TTA 87.82%
根据消融实验结果,可以比较不同网络模型变量的有效性及其对准确率的影响:
BiLSTM是基础的双向长短期记忆网络;BiLSTM_Prior是通过引入优先回放采样;BiLSTM_Prior_Attention是在BiLSTM_Prior的基础上引入注意力机制(Attention);BiLSTM_Prior_Attention_TTA是在BiLSTM_Prior_Attention的基础上引入了测试时间增强;Double_BiLSTM_Prior_Attention_TTA是在BiLSTM_Prior_Attention_TTA的基础上采用了双层BiLSTM结构,第一层BiLSTM接受输入序列,并学习其隐藏状态表示,第二层BiLSTM以第一层BiLSTM的输出作为输入,并进一步学习更高级的特征表示,该层级结构允许模型在更高的抽象层次上进行特征提取,以更好地捕捉输入序列信息。实验表明,Double_BiLSTM_Prior_Attention_TTA比BiLSTM_Prior_Attention_TTA准确率提高至87.82%。
综上所述,通过消融实验的分析,可知优先回放采样、注意力机制、测试时间增强和双层BiLSTM结构都对模型性能有积极的影响。其中,优先回放采样(Prior)和注意力机制(Attention)对模型性能有一定的正向影响,可以进一步改善模型的性能。测试时间增强(TTA)可以增加模型的鲁棒性和泛化能力,从而进一步提高准确率。双层BiLSTM结构(Double_BiLSTM)在该任务中表现较好,显著地提高了模型的准确率。
3、交叉实验
上表中,准确率(Accuracy)为模型在预测中正确分类的样本比例,以评估模型整体分类准确性;精确率(Precision)为模型在所有预测为正类的样本中,实际为正类的比例,以衡量模型在正类预测中的准确性。召回率(Recall)为模型在所有实际为正类的样本中,成功预测为正类的比例,以衡量模型对于正类样本的查全率。F1值(F1 Score)为精确率和召回率的调和平均值,综合考虑模型的预测准确性和查全率,以综合评估模型性能。
通过交叉实验分析可知,模型在所有折中展示出相对一致的性能,准确率介于82.85%到85.50%之间,平均值约为83.88%;精确率介于82.28%到85.47%之间,平均值约为83.95%;召回率介于82.49%到84.96%之间,平均值约为83.65%;F1值介于0.8034到0.8364之间,平均值约为0.8246,表明模型具有良好的鲁棒性,并且对于训练集的随机变化相对不敏感。
上述具体实施方式不能作为对本发明保护范围的限制,对于本技术领域的技术人员来说,对本发明实施方式所做出的任何替代改进或变换均落在本发明的保护范围内。
本发明未详述之处,均为本技术领域技术人员的公知技术。

Claims (9)

1.基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,包括以下步骤:
S1、获取手部关键点数据集
从手语视频数据集获取手语视频数据并依次进行初始化Mediapipe人体姿势模型、给定轴对矩阵进行采样、初始化Holistic模型、循环读取视频的每一帧、进行关键点检测并将检测到的关键点信息数据保存到列表中、绘制手部姿势关键点和连接线、将关键点列表转换为Numpy数组及对关键点列表进行采样处理,得到输入序列;
S2、生成网络模型输入层
将上一步获取的输入序列进行时间翻转数据增强处理生成翻转序列,将输入序列和翻转序列作为网络模型输入层;
S3、构建双层双向LSTM网络模型进行手语动态识别
双层双向LSTM网络模型包括依次设计的两层双向LSTM层,每层双向LSTM层包括一正向LSTM层和一反向LSTM层,输入序列经过正向LSTM层得到正向的隐藏状态和细胞状态,正向隐藏状态和细胞状态在正向LSTM层内部传递和更新,翻转序列经过反向LSTM层得到反向的隐藏状态和细胞状态,反向隐藏状态和细胞状态在反向LSTM层内部传递和更新,输入层经过双层双向LSTM网络模型处理提取数据时间特征,得到翻转反向输出序列;
S4、使用注意力层对翻转反向输出序列进行处理,分别计算正向和反向的注意力加权输出,拼接正向和反向的注意力输出;
S5、使用全连接层将注意力加权的输出映射到输出维度。
2.根据权利要求1所述的基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,步骤S1中,在手部关键点数据的收集阶段,实例化捕获对象,以便接入和解码连续视频帧,利用MediaPipe的手部模型实施手势追踪,从视频帧中鉴别并定位手部的关键点,比对连续帧间关键点位置的变化,收集动态手势视频流的关键点坐标numpy集合,根据时序数据的稀疏程度进行优先经验回放采样,优先经验回放具体步骤如下:
S11、计算TD误差,对于每个经验计算其TD误差:
式中,TDerror(t)是在时间步t的TD误差,Rt+1是在时间步t+1获得的实际奖励,γ是折扣因子,用于计算未来奖励的当前估计值,π(a|St+1)是在状态t+1下选择动作a的策略的概率,π(a|St+1)和Q(St+1,a;θ)是状态-动作值函数,计算在给定状态和动作下预期的未来回报,θ表示网络的权重;
S12、赋予优先级,使用TD误差来赋予每个样本优先级,同时给TD误差添加正数ε,确保每个经验都有被采样的可能:
p(t)=|TDerror(t)|+ε
式中,p(t)是时间步t的优先级,|TDerror(t)|表示时间步t的TD误差的绝对值,正数ε用以确保每个经验都有被采样的可能性;
S13、计算采样概率
根据经验的优先级和超参数α来计算每个经验被采样的概率:
式中,P(t)是在时间步t的经验被采样的概率,P是该经验的优先级,α是一个介于0和1之间的超参数,用来控制优先级的影响程度;
S14、权重更新
当采样并使用经验进行学习后,计算重要性采样权重来调整该经验在更新Q值时的影响:
式中,N是经验池的大小,P(t)是经验被采样的概率,β是一个介于0和1之间的超参数:
式中,ρ是衰退因子,θ是学习率,是过去梯度平方的移动平均值,/>是关于θ的损失函数梯度。
3.根据权利要求2所述的基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,步骤S1中,在关键点检测过程中,引入像素级掩膜和形变波动变换,用于指导网络的注意力并追踪手势细粒变化;
所述像素级掩膜的连续形式表达式为:
所述像素级掩膜的离散形式表达式为:
式中,E(u)为形变向量场u的能量;Ω为区域的定义,是一个二维或三维的空间;u1和u2为u的分量,在二维空间中,表示u在x和y方向上的变化;这四项表示u的梯度;dx为积分的微元,表示空间中的一个小区域;λ为正则化参数,该参数控制u的大小对能量的贡献;i和j为在图像或者一个离散的网格中的坐标;ui+1,j、ui-1,j、ui,j+1、ui,j-1这四项表示在离散网格中,u在各个方向上的差异;n和m为表示图像或离散网格的大小;
所述形变波动变换表达式为:
I(x,y)=wR·R(x,y)+wG·G(x,y)+wB·B(x,y)
式中,A(x,y)为像素(x,y)的注意力权重,I(x,y)为输入图像在(x,y)的像素值,分母的求和操作是对整个图像进行的;R(x,y)、G(x,y)和B(x,y)分别表示像素(x,y)的红色、绿色和蓝色通道的强度,而wR、wG和wB是对应通道的权重。
4.根据权利要求1或3所述的基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,步骤S2中,针对在各个时间步长中包含高维特征的RGB通道时间序列,结合时间平移和时间噪声注入使用时间翻转增强,将每个RGB通道视为独立的序列,并对每个通道的序列进行翻转;
所述时间平移是将整个时间序列向前或向后移动一定的时间单位,使模型对于事件发生的绝对时间的依赖性降低,而更注重事件发生的相对顺序或者模式,具体步骤:
设获取到的输入数据是一个t×m×n×3的张量x,x∈RT×H×W×C,其中t是时间步长的数量,m和n是每个时间步长中的图像高度和宽度,3表示RGB三个颜色通道,张量的每个元素xijkl表示在时间i,高度j,宽度k,颜色通道l的像素值;选择一个平移步数s,将张量X沿时间轴移动s步,得到新的张量X′,为新的张量X′分配相应的空间,可以表示为:
X′∈RT×H×W×C
定义新的张量X′的每个元素x′i,j,k,l,可以表示为:
x′i,j,k,l=x(i+s)modT,j,k,l
式中,(i+s)modT表示在时间轴上对i进行平移,modT保证索引在有效范围内,这个过程可以用以下方程进行表示:
对于每个j∈[0,H),k∈[0,W)和l∈[0,C),上述方程组都成立;
X′=x(i+s)modt,jk,l
式中,mod表示模运算,保证索引在有效范围内;
所述时间噪声注入是为时间序列添加随机噪声,以模拟在真实世界中可能出现的测量误差或其他形式的不确定性,使得模型更健壮,能够处理实际应用中的噪声数据,具体步骤:
设获取到的输入数据是一个t×m×n×3的张量X进行噪声注入,为张量X的每个元素添加噪声,得到新的张量X′:
X′=xi,jk,l+noise(i,j,k,l)
式中,noise(i,j,k,l)为高斯噪声生成函数;
假设有一个四维张量X∈RT×H×W×C,其中T是时间步长的数量,H和W分别是图像的高度和宽度,C是颜色通道的数量,还需要定义一个噪声生成函数g,这个函数产生的噪声满足高斯分布,可以定义一个新的张量X′,其元素x′i,j,k,l为原张量的对应元素加上生成的噪声:
x′i,j,k,l=xi,j,k,l+g(0,σ)
式中,g(0,σ)表示均值为0,标准差为σ的高斯噪声,这个过程可以表示为以下的方程组:
x′0,j,k,l=x0,j,k,l+g(0,σ)
x′1,j,k,l=x1,j,k,l+g(0,σ)
x′T-1,j,k,l=x(T-1),j,k,l+g(0,σ)
对于每个j∈[0,H),k∈[0,W)和l∈[0,C),上述方程组都成立。
5.根据权利要求4所述的基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,步骤S3中的,所述正向LSTM层和反向LSTM层分别包括多个LSTM单元,所述LSTM单元包括输入门、遗忘门、输出门、细胞状态和隐藏状态,所述输入门用于控制输入数据的权重和信息流入细胞状态,所述遗忘门用于控制细胞状态中需要被遗忘的信息,所述输出门用于控制从细胞状态到隐藏状态的信息流出,所述细胞状态是LSTM单元的记忆部分,负责存储和传递信息,所述隐藏状态是LSTM单元的输出,是下一个时间步骤的输入。
6.根据权利要求5所述的基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,步骤S3中,第一层双向LSTM层为接收并处理手语关键点序列输入x∈Rinput _size,同时考虑数据的正向和反向信息,LSTM通过刻画该关键点序列的动态变化,捕获手语的时间特性:
ht=f(W*[ht-1,xt]+b)
式中,ht是隐藏状态,xt是输入关键点,W和b是学习的权重和偏置,f是激活函数;
对于每个时间步t,第一层的正向LSTM执行以下计算:
i1,t=σ(Wi1*xt+Ui1*h1,t-1+bi1)
f1,t=σ(Wf1*xt+Uf1*h1,t-1+bf1)
o1,t=σ(Wo1*xt+Uo1*h1,t-1+bo1)
g1,t=tanh(Wg1*xt+Ug1*h1,t-1+bg1)
c1,t=f1,t*c1,t-1+i1,t*g1,t
h1,t=o1,t*tanh(c1,t)
式中,i,f,o,g分别表示输入门、遗忘门、输出门和记忆单元的候选状态;h和c分别表示隐藏状态和记忆状态;W表示输入与隐藏状态之间的权重,U表示输入与候选记忆单元之间的权重,b表示偏置向量;σ和tanh分别表示sigmoid函数和双曲正切函数;下标1表示第一层,t表示时间步;
LSTM在此基础上增加反向的信息流,反向LSTM计算同上,但是时间步是反向进行的设隐藏层的维度为hidden_size,则正向和反向信息的计算可以表示为:
式中,→和←分别表示正向和反向传播,为权重矩阵,/>为偏置项;
由于LSTM是双向的,所以其输出维度为2*hidden_size,为了增强模型的表达能力,引入残差块和跳跃连接,对于每一层的输出ht添加跳跃连接,使得它可以直接传播到后面的层,即:
式中,F(·)表示层l的函数映射,Wl为该层的权重,该连接可帮助网络在不增加模型参数和计算复杂度的情况下增大感受野,使得模型能够捕捉到输入数据中的长距离依赖关系;
在激活函数的选择上,使用参数化ReLU,即:
f(x)=max(0,x)+amin(0,x)
式中,α是一个可学习的参数,通过引入更多的非线性,使得模型能够学习更复杂的映射关系,PReLU相比于ReLU更具灵活性,因为它引入了可学习的参数,使得网络在训练过程中可以自适应地调整激活函数的形状;
为提高模型的训练稳定性和速度,使用批量标准化:
式中,μ和σ2分别为x的均值和方差,∈是一个很小的数以防止除以0,批量标准化可以使每一层的输入都近似于零均值和单位方差,这样可以加速模型的收敛,同时还有助于防止过拟合,提高模型的泛化能力。
7.根据权利要求6所述的基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,步骤S3中,第二层双向LSTM层接收第一层双向LSTM层的输出,并进行进一步的处理,以获取更丰富的动态特征,其计算过程:
i2,t=σ(Wi2*h1,t+Ui2*h2,t-1+bi2)
f2,t=σ(Wf2*h1,t+Uf2*h2,t-1+bf2)
o2,t=σ(Wo2*h1,t+Uo2*h2,t-1+bo2)
g2,t=tanh(Ug2*h1,t+Ug2*h2,t-1+bg2)
c2,t=f2,t*c2,t-1+i2,t*g2,t
h2,t=o2,t*tanh(c2,t)
式中,i,f,o,g分别表示输入门、遗忘门、输出门和记忆单元的候选状态;h和c分别表示隐藏状态和记忆状态;W表示输入与隐藏状态之间的权重,U表示输入与候选记忆单元之间的权重,b表示偏置向量;σ和tanh分别表示sigmoid函数和双曲正切函数;下标2表示第二层,t表示时间步;
其输出维度为2*hidden_size,因为本层同样需要考虑前向和后向的信息,为了进一步提高模型的性能,引入注意力机制,注意力机制可以使模型在处理序列数据时,对不同的输入元素赋予不同的注意力权重,从而更好地捕捉序列中的重要信息,使用Scaled Dot-Product Attention:
式中,Q,K,V分别为查询、键和值,dk为键的维度;在计算过程中,首先计算查询和键的点积,然后除以进行缩放,接着通过softmax函数将结果转化为概率分布,最后用该分布对值进行加权求和;
此外,在第二层双向LSTM层的输出上应用了归一化操作,使得输出的每一维都有相同的尺度,提高模型的稳定性,加快训练速度:
式中,xi是输入,μB分别是批量的均值和方差,/>是归一化后的输入,γ和β是可学习的缩放因子和偏移项,∈是一个很小的数以防止除以0。
8.根据权利要求7所述的基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,步骤S4中,所述注意力层为输入中的每个元素分配权重,所分配权重反映了该元素的重要程度,所述注意力层包括三个子注意力层中,注意力机制用于对第二层双向LSTM层的输出进行加权,从而让模型能够更加专注于关键的手势,注意力权重计算公式:
式中,eij是未归一化的注意力权重,αij是归一化的注意力权重,ci是上下文向量,hj是隐藏状态,W、U和V是三个子注意力层的学习权重,tanh和exp是激活函数;
三个子注意力层的计算过程分别由W、U和V三个线性层完成,其计算公式和数据传递过程如下:
S41、计算注意力权重
将双向LSTM的输出通过W和U这两个线性层计算得到注意力权重,计算过程包括以下步骤:
使用tanh激活函数处理W的输出:
使用σ激活函数处理U的输出:
将上述两个步骤的结果进行逐元素相乘,得到注意力权重:
S42、计算注意力分数
将上一步计算得到的注意力权重通过V层得到注意力分数,表达式为:
sij=VT·eij
S43、计算注意力概率
对注意力分数应用softmax函数,使得所有的分数归一化到0到1之间,且总和为1,从而得到每个位置的注意力概率,公式如下:
S44、引入注意力机制
将上一步骤得到的注意力概率应用到LSTM的输出上,计算注意力加权的输出,该过程可以看作是将每个位置的输出乘以其对应的注意力概率,然后将所有位置的结果求和,得到最终的注意力输出:
S45、合并前向和反向的注意力输出
将前向和反向的注意力输出进行拼接,得到最终的输出:
9.根据权利要求8所述的基于手部关键点与双层双向LSTM网络的动态手势识别方法,其特征在于,步骤S5中,所述全连接层整合前述各卷积层或池化层提取到的局部特征信息,融合成全局的特征描述,该全局信息不仅包含各单一特征细节,还嵌入特征间的关系,为后续的分类任务注入更丰富的信息;
在隐藏层引入多层感知前馈机制,神经元数量可根据任务的复杂度以及数据集的特性进行动态调整:
设输入为x=[x1,x2,...,xn(0)]T,其中n(0)是输入层神经元的数量;
隐藏层l的权重矩阵和偏置向量分别为W(l)和b(l),则第l个隐藏层的输出h(l)为:
h(l)=f(W(l)Th(l-1)+b(l))
式中,当l=0时,h(0)即为初始输入x,f(·)是激活函数;
设输出层的权重矩阵为W(L+1),偏置矩阵为b(L+1),则输出层的输出y为:
y=g(W(L+1)Th(L)+b(L+1))
式中,g(·)是输出层的激活函数;
通过寻找理想的平衡点,使得模型能有效地揭示数据中的复杂模式,同时避免引入过多的参数,以防止过拟合现象的出现;
采用残差连接来优化模型输出:
z(l)=W(l)a(l-1)+b(l)
a(l)=φ(z(l))+a(l-1)
式中,z(l)是第l层的加权输入,a(l-1)是上一层的激活,W(l)和b(l)是权重和偏置参数,φ是激活函数;
对全连接层进行增强,引入批量标准化层,它通过对每批数据进行标准化处理,使输出的平均值接近0,方差接近1,从而在训练过程中增强网络的稳定性。该方法降低了网络对权重初始化选择的敏感度,并有助于防止梯度消失问题;
计算出每一批数据的均值和方差:
通过减去均值并除以标准差来标准化输入:
引入缩放因子γ和偏移因子β:
引入嵌入层(Embedding),对具有高维离散特征的数据进行处理,嵌入层可将每个离散特征映射到低维的实数向量空间,使得相似的输入被映射到接近的嵌入向量,从而有效地捕捉和利用输入特征之间的关系;
设每个手部关键点序列有M个关键点,每个关键点为k个可能的位置中的任何一个,为每个可能的关键点位置初始化嵌入矩阵Ekeypoint,其大小为K×D,其中D是嵌入向量的维度;
对于每个手部关键点序列,查找各个关键点在嵌入矩阵中的对应行来得到其嵌入向量,并将所有关键点的嵌入向量进行拼接,得到表示整个关键点序列的嵌入向量:
ei,m=Ekeypoint[ki,m,:]
式中,ei,m是第i个手部关键点序列中第m个关键点的嵌入向量,ki,m是该关键点的位置索引,Ekeypoint是关键点嵌入矩阵,ei是整个第i个手部关键点序列的嵌入向量;
添加循环层,用于处理序列数据,循环层保留了先前时刻的信息,从而使得模型能够捕捉到输入数据中的时间序列性质,隐藏状态ht是基于前一时刻的隐藏状态ht-1和当前的输入xt计算得出的:
ht=φ(Whhht-1+Wxhxt+bh)
式中,Whh和Wxh是权重矩阵,bh是偏置项,φ是非线性激活函数,该结构允许网络记住过去的信息,并在必要时使用该信息来影响当前的输出。
CN202311747891.2A 2023-12-18 2023-12-18 基于手部关键点与双层双向lstm网络的动态手势识别方法 Pending CN117576783A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311747891.2A CN117576783A (zh) 2023-12-18 2023-12-18 基于手部关键点与双层双向lstm网络的动态手势识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311747891.2A CN117576783A (zh) 2023-12-18 2023-12-18 基于手部关键点与双层双向lstm网络的动态手势识别方法

Publications (1)

Publication Number Publication Date
CN117576783A true CN117576783A (zh) 2024-02-20

Family

ID=89894002

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311747891.2A Pending CN117576783A (zh) 2023-12-18 2023-12-18 基于手部关键点与双层双向lstm网络的动态手势识别方法

Country Status (1)

Country Link
CN (1) CN117576783A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117746078A (zh) * 2024-02-21 2024-03-22 杭州觅睿科技股份有限公司 一种基于用户自定义类别的物体检测方法及系统
CN117975466A (zh) * 2024-04-01 2024-05-03 山东浪潮科学研究院有限公司 一种基于版面分析的通用场景卡证识别系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117746078A (zh) * 2024-02-21 2024-03-22 杭州觅睿科技股份有限公司 一种基于用户自定义类别的物体检测方法及系统
CN117746078B (zh) * 2024-02-21 2024-06-11 杭州觅睿科技股份有限公司 一种基于用户自定义类别的物体检测方法及系统
CN117975466A (zh) * 2024-04-01 2024-05-03 山东浪潮科学研究院有限公司 一种基于版面分析的通用场景卡证识别系统

Similar Documents

Publication Publication Date Title
CN109558832B (zh) 一种人体姿态检测方法、装置、设备及存储介质
CN111783705B (zh) 一种基于注意力机制的文字识别方法及系统
CN112329760B (zh) 基于空间变换网络端到端印刷体蒙古文识别翻译的方法
CN112766172B (zh) 一种基于时序注意力机制的人脸连续表情识别方法
CN117576783A (zh) 基于手部关键点与双层双向lstm网络的动态手势识别方法
CN113158862B (zh) 一种基于多任务的轻量级实时人脸检测方法
Yang et al. An improving faster-RCNN with multi-attention ResNet for small target detection in intelligent autonomous transport with 6G
CN111553350B (zh) 一种基于深度学习的注意力机制文本识别方法
CN111046771A (zh) 用于恢复书写轨迹的网络模型的训练方法
CN111931630B (zh) 一种基于人脸特征点数据增强的动态表情识别方法
CN114266897A (zh) 痘痘类别的预测方法、装置、电子设备及存储介质
CN116524593A (zh) 一种动态手势识别方法、系统、设备及介质
CN114638408A (zh) 一种基于时空信息的行人轨迹预测方法
CN109918538B (zh) 视频信息处理方法及装置、存储介质及计算设备
Tong et al. Adaptive weight based on overlapping blocks network for facial expression recognition
Rabhi et al. Multi-lingual handwriting recovery framework based on convolutional denoising autoencoder with attention model
CN115909336A (zh) 文本识别方法、装置、计算机设备和计算机可读存储介质
CN113762261A (zh) 一种对图像的字符识别方法、装置、设备及介质
Shah Deepsign: A deep-learning architecture for sign language
CN113313127B (zh) 文本图像识别方法、装置、计算机设备和存储介质
Wang et al. Video emotion recognition using local enhanced motion history image and CNN-RNN networks
CN112257566B (zh) 一种基于大数据的人工智能目标识别测距方法
CN116758461B (zh) 基于神经网络的排球比赛智能判罚方法、设备及存储介质
CN117935029B (zh) 图像处理方法、装置、设备及存储介质
Peng et al. Lip Reading Using Deformable 3D Convolution and Channel-Temporal Attention

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination