一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于注意力的连续手语语句识别方法与流程

2021-11-05 21:16:00 来源:中国专利 TAG:


1.本发明属于手语识别技术领域,尤其涉及一种基于注意力的连续手语语句识别方法。


背景技术:

2.手语识别使用计算机技术对人类所使用的手语进行语义分析,使计算机可以理解手语,将手语这一肢体语言转换为易于理解的文本、语音等表现形式。
3.随着人工智能的快速普及,人机交互技术让人类感受到了前所未有的便捷,在手语识别中应用人机交互也成为当前的研究热点。手语识别的应用不仅可以给聋哑人群体带来便利,还可以让他们无障碍的表达自己内心的诉求与想法,在促进人类社会和谐发展方面有着重要的意义.。首次提出基于注意力的连续手语语句识别方法,将连续手语语句视频中包含的单词按照语法关系转换为一个口语化的句子,其中涉及到时间分割问题与标签对齐的问题,需要构建一个较为复杂的语义对齐网络,并使用了彩色视频和其对应的光流视频关键帧序列作为输入,增强数据表征能力。
4.基于可穿戴设备的手语识别一般使用数据手套、传感器或一些运动捕捉设备收集手部运动的数据,将这些数据中的有效信息提取出来后,对手部姿态进行建模分类,基于可穿戴设备的手语识别方法确实可以精确定位手部,准确度都较高,然而数据手套造价昂贵,手语者在演示时必须佩戴笨重的手套,常常让手语演示者感到束缚;基于传统机器学习的手语识别通常分为三个步骤,数据预处理、特征提取和建模识别,通常采用尺度不变特征变换和梯度方向直方图等算法人工设计特征,然后使用传统机器学习分类器进行建模与识别,例如svm、hmm等传统分类器,基于传统机器学习的手语识别需要人工设计特征提取方法,无法自动获取图像特征,依赖于人工经验,耗时耗力。


技术实现要素:

5.本发明的目的在于提供一种基于注意力的连续手语语句识别方法,解决了时间分割问题与标签对齐的问题,改进连续手语语句识别的效果。
6.实现本发明目的的技术解决方案为:一种基于注意力的连续手语语句识别方法,包括以下步骤:
7.步骤1、采集m个彩色视频模态的手语视频,100<m<10000,使用tv

l1算法对彩色视频模态的手语视频的光流信息进行提取,并形成帧数相同的光流图像序列,提供光流视频模态的手语视频;采用cnn对上述两种模态的每个手语视频的关键帧分别进行提取,对应得到像素大小为h
×
b、关键帧均匀采样至n帧的两种模态的关键帧手语视频,10<n<100,在得到的两种模态的关键帧手语视频中各选取m个相对应的视频构成训练集,100<m<m,两种模态的关键帧手语视频中剩余的视频构成测试集。
8.步骤2、使用两个相同结构的i3d网络分别提取两种模态的关键帧手语视频中的关键帧序列的时空特征,对应得到测试集对应的关键帧序列的时空特征和训练集对应的关键
帧序列的时空特征。
9.步骤3、构建基于注意力的连续手语语句识别模型:
10.基于注意力的连续手语语句识别模型包括基于注意力的双模态编码网络和基于ctc的解码网络;基于注意力的双模态编码网络分为两路且结构相同,每路均包括blstm与注意力网络相结合的模型;基于ctc的解码网络包括lstm、内在映射层和ctc损失层。
11.步骤4、将训练集对应的关键帧序列的时空特征送入基于注意力的双模态编码网络,通过blstm提取高层时空特征,并利用注意力网络为其分配注意力,得到分配过注意力权重的融合特征序列;基于ctc的解码网络使用lstm对基于注意力的双模态解码网络输出的融合特征序列进行时序建模,再通过内在映射层生成每个视频关键帧的概率分布,最后使用ctc损失层根据概率分布计算得到实际语义的后验概率,得到最终的语义序列,即获得训练好的连续手语语句识别模型。
12.步骤5、将测试集对应的关键帧序列的时空特征序列,输入在训练好的基于注意力的连续手语语句识别模型,输出识别出的连续手语语句,测试模型准确率。
13.本发明与现有技术相比,其显著优点在于:
14.(1)首次将序列到序列模型网络框架用于手语识别,将手语识别中的特征提取与建模步骤合二为一,通过网络自学习的方法获取图像特征,还可以直接对手语进行时序建模,得到最终的语义序列,使手语识别摆脱了对人工经验的依赖。
15.(2)采用了基于连接时序分类(connectionist temporal classification,ctc)的网络将视频与标签对齐,有效地提取了彩色视频和光流图像序列两种模态数据的关键时空信息,并且避免了传统时序分割问题,实现手语视频与语义的对齐。
16.(3)将blstm与注意力网络相结合,利用注意力机制具有的强大的泛化能力,将注意力放在blstm提取高层视频特征的重要区域,有效提取关键信息,丢弃冗余信息,大大提高模型的数据利用率。
17.(4)用双模态数据作为互补输入,可以充分对手语视频的空间表征和时间关系进行提取和建模,大大提高模型的准确率,改进识别效果。
附图说明
18.图1为基于注意力的连续手语语句识别模型图。
19.图2为注意力网络结构图。
具体实施方式
20.下面结合附图对本发明作进一步详细描述。
21.本发明主要采用序列到序列(sequence to sequence,seq2seq)模型和注意力模型。首先,分别提取彩色视频和光流视频模态的关键帧手语视频的关键帧序列的时空特征,将提取到的时空特征输入构建的基于注意力的连续手语语句识别模型,该模型本质上是一个序列到序列模型:通过基于注意力的双模态编码网络得到两个模态的融合特征序列,并输入基于连接时序分类(connectionist temporal classification,ctc)的解码网络,得到最终的语义序列。本发明公开的基于注意力的连续手语语句识别方法,通过利用序列到序列模型将手语序列转换到另一个语言序列,解决输出长度不确定的问题,改善输入与输
出序列的不规则对齐问题。同时,在完成具有冗余信息的复杂任务时,使用注意力模型将注意力聚焦于视频特征的重要区域,对连续手语语句识别效果有显著的提升。
22.结合图1,本发明所述的一种基于注意力的连续手语语句识别方法,步骤如下:
23.步骤1、采集m个彩色视频模态的手语视频,100<m<10000,使用tv

l1算法对彩色视频模态的手语视频的光流信息进行提取,并形成帧数相同的光流图像序列,提供光流视频模态的手语视频;采用cnn对上述两种模态的每个手语视频的关键帧分别进行提取,对应得到像素大小为h
×
b、关键帧均匀采样至n帧的两种模态的关键帧手语视频,10<n<100,在得到的两种模态的关键帧手语视频中各选取m个相对应的视频构成训练集,100<m<m,两种模态的关键帧手语视频中剩余的视频构成测试集。
24.步骤2、使用两个相同结构的i3d网络分别提取两种模态的关键帧手语视频中的关键帧序列的时空特征,整个i3d网络共22层三维卷积层、4个最大池化层、1个全局平均池化层和一个softmax层,网络的每一个三维卷积层后都引入了一个批量化归一层(bn)层和relu激活函数层。i3d网络的输入连续手语语句彩色视频模态的关键帧手语视频序列和对应光流视频模态的关键帧手语视频序列t为每个关键帧手语视频序列的帧数。在利用i3d对视频中的每一个关键帧提取时空特征时,选取具有全局感受野的全局平均池化层的输出特征作为每一帧对应的时空特征,通过两路i3d网络分别提取到的连续手语语句彩色视频模态的关键帧手语视频中的关键帧序列的时空特征与光流视频模态的关键帧手语视频中的关键帧序列的时空特征
25.步骤3、构建基于注意力的连续手语语句识别模型:基于注意力的连续手语语句识别模型包括基于注意力的双模态编码网络和基于ctc的解码网络。
26.在基于注意力的连续手语语句识别模型中,基于注意力的双模态编码网络由两路结构相同的blstm与注意力网络构成,blstm由一组双向的lstm神经单元组成,分为前向网络和后向网络,同时传递t时刻之前时刻与之后时刻的信息。
27.在t时刻,基于注意力的双模态编码网络中前向lstm和后向lstm的隐藏层状态分别为和它们的隐含层单元传递信息的方向是相反的,对应的传递函数为:
[0028][0029]
对应的传递函数为:
[0030][0031]
其中,h
t
‑1为前一时刻特征向量,h
t 1
为后一时刻特征向量,f
t
为训练集对应的关键帧序列的时空特征,u1和w1为前向网络的共享权重,u2和w2为后向网络的共享权重,b1和b2为偏置;前向lstm和后向lstm都通过各自的传递函数进行隐藏单元之间的特征传递,通过拼接前向lstm层和后向lstm层的隐藏状态,得到经过lstm网络后在t时刻关键帧序列的高层特征:
[0032][0033]
彩色视频模态和光流模态的关键帧手语视频对应的输出高层特征序列,分别用
和表示;
[0034]
在使用注意力机制时,对于每个时刻,特征为h
i
,其中i∈[t

1,t 1],则根据输入特征与上一时刻输出加权向量计算h
i
对t时刻输出的相似度分数计算方式如下:
[0035][0036]
其中,w
a
、w
b
、w为权重矩阵,σ为tanh函数,b
a
为偏置向量,h
t
为t时刻输入特征,a
t
‑1为t

1时刻多层感知机输出特征。
[0037]
对三个特征向量h
t
,h
t
‑1,h
t 1
的相似度进行指数归一化,归一化后的序列位置t处的注意力系数为:
[0038][0039]
其中,α
t
为注意力系数,0≤α
t
≤1,且将注意力系数α
t
作为权重,通过加权求和的方式计算a
t
,表示为:
[0040][0041]
通过双模态编码网络分别得到彩色视频模态和光流模态的关键帧手语视频的加权特征序列,分别表示为将其进行特征拼接后得到分配过注意力权重的融合特征序列a=(a1,a2,

,a
t
)。
[0042]
在基于注意力的连续手语语句识别模型中,使用lstm和ctc损失层组成基于ctc的解码网络;将融合特征序列a作为lstm的输入,对两个模态的特征序列进一步整合,并与时间关系建模,通过lstm得到新的特征序列g
t
表示为:
[0043]
g
t
=lstm(a
t
‑1,a
t
)
[0044]
其中,a
t
为t时刻多层感知机输出特征。
[0045]
采用ctc损失层进行训练:首先使用一个由softmax函数组成的内在映射层,将解码器的lstm层每个时刻的输出特征g
t
映射为分布概率其中,k为手语词典元素表所含元素个数;再通过ctc损失层,根据每个视频关键帧的分布概率计算得到实际语义的后验概率。
[0046]
采用通用损失函数训练l个标签的目标词典时,将产生|l|个输出;在基于ctc的解码网络中引入空白标签<blank>并创建拓展词典序列l

=l∪{<blank>},并定义一个拓展词典序列π和目标标签序列1之间的映射函数,映射函数b表示为:
[0047]
b:l

t

l
u
,(u≤t)
[0048]
其中,π∈l
t
,l∈l
u
;l

t
为包含空白标签<blank>的拓展词典序列,其长度为t,l
u
为将l

t
中去除重复标签与空白标签后的语义标签序列,u为折叠后语句中语义标签数量。
[0049]
当ctc损失层的输入序列为解码器中lstm输出的特征序列g=(g1,g2,...,g
t
),定义一个逆映射函数b
‑1,它生成所有可能与目标标签序列l相对应的拓展词典序列π,那么给定输入特征序列a对应于标签序列l的概率为:
[0050]
[0051]
根据输出序列的概率分布p(l|k),调整模型参数使得p(l|k)最大;根据前后向算法计算得到ctc损失函数:
[0052]
l
ctc


ln(p(l|a))
[0053]
使用梯度下降法对网络进行训练,并计算ctc损失函数的梯度;获得ctc的损失函数与梯度之后,然后对其解码,用公式表示为:
[0054]
y(a)=argmaxp(l|a)
[0055]
找到输出序列的概率分布中概率最大的路径后,输出对应序列找到最佳输出序列w=(w1,w2,...,w
u
),其中u为每个连续手语语句视频包含的词语数量。
[0056]
步骤4、将训练集对应的关键帧序列的时空特征送入基于注意力的双模态编码网络,通过blstm提取高层时空特征,并利用注意力网络为其分配注意力,得到分配过注意力权重的融合特征序列;基于ctc的解码网络使用lstm对基于注意力的双模态解码网络输出的融合特征序列进行时序建模,再通过内在映射层生成每个视频关键帧的概率分布,最后使用ctc损失层根据概率分布计算得到实际语义的后验概率,得到最终的语义序列,即获得训练好的连续手语语句识别模型。
[0057]
步骤5、将测试集对应的关键帧序列的时空特征序列,输入在训练好的基于注意力的连续手语语句识别模型,输出识别出的连续手语语句,测试模型准确率。
[0058]
实施例1
[0059]
本发明所述的基于注意力的连续手语语句识别方法,步骤如下:
[0060]
步骤1、采集1000个彩色视频模态的手语视频,使用tv

l1算法对彩色视频模态的手语视频的光流信息进行提取,并形成帧数相同的光流图像序列,提供光流视频模态的手语视频;采用cnn对两种模态的手语视频的关键帧进行提取,得到像素大小为224
×
224、关键帧均匀采样至8帧的手语视频,在得到的两种模态的手语视频中各选取800个相对应的视频作为训练集。
[0061]
步骤2、使用两个相同结构的i3d网络分别提取两种模态的关键帧手语视频中的关键帧序列的时空特征,直接采用预训练过的双流i3d作为手语语句特征提取网络,并在手语视频上对其微调。i3d网络学习率初始值设置为0.01。
[0062]
步骤3、构建基于注意力的连续手语语句识别模型:
[0063]
基于注意力的连续手语语句识别模型包括基于注意力的双模态编码网络和基于ctc的解码网络;基于注意力的双模态编码网络分为两路且结构相同,每路均包括blstm与注意力网络相结合的模型;基于ctc的解码网络包括lstm、内在映射层和ctc损失层。
[0064]
基于注意力的双模态编码网络中的注意力自网络以及解码器中的ctc损失层则需要重新计算。参数设置如表1所示:
[0065]
表1基于注意力的连续手语语句识别模型训练参数
[0066]
[0067][0068]
在编解码网络中,编码网络与解码网络的lstm隐藏层状态单元数为512,注意力网络中多层感知机的网络通道数设为10,基于ctc的解码器采用sgd算法对目标函数和梯度进行训练。在编码器最后的分类层中,softmax层的单元数量根据手语词典数量设为61。
[0069]
步骤4、将训练集对应的关键帧序列的时空特征送入基于注意力的双模态编码网络,通过blstm提取高层时空特征,并利用注意力网络为其分配注意力,注意力网格结构如图2所示,得到分配过注意力权重的融合特征序列;基于ctc的解码网络使用lstm对基于注意力的双模态解码网络输出的融合特征序列进行时序建模,再通过内在映射层生成每个视频关键帧的概率分布,最后使用ctc损失层根据概率分布计算得到实际语义的后验概率,得到最终的语义序列,即获得训练好的连续手语语句识别模型;
[0070]
步骤5、将测试集对应的关键帧序列的时空特征序列,输入在训练好的基于注意力的连续手语语句识别模型,输出识别出的连续手语语句,测试模型准确率。
[0071]
根据识别正确的视频数量与视频总数的比可以评判出一个模型的好坏。在连续手语语句识别中,输入与输出的句子长度可能与句子真实语义长度不一致,输出句子中可能存在删除错误,插入错误和替换错误。为使连续手语语句识别的准确率考虑到各种误差,采用下式所述衡量标准。
[0072][0073]
其中,#del、#ins和#sub分别表示句子中的删除、插入和替换错误,#n表示真实语句含义中的手语词数量。
[0074]
采用了不同模态数据作为输入对模型进行实验,还通过去除编码网络中的注意力网络后对网络模型进行评估。所提出的算法由ts en_decoder(two stream encoder_decoder)表示,结果如表2所示。
[0075]
表2不同模态识别结果对比
[0076][0077][0078]
表2中,ss en_decoder表示使用单层基于注意力的编码网络分别对彩色视频、深度视频和光流图像数列进行编码,然后使用基于ctc的解码网络进行解码。可以看出彩色数据仍然具备较高的准确率,然而在连续手语语句识别任务中,光流信息比深度数据的表现更为优秀,因此,光流信息强大的运动信息表征能力,在连续手语语句识别这种依赖长期时间关系的任务中可以取得较好的识别效果。除此之外,将编码网络中的注意力机制移除,仅使用两层结构相同的blstm网络对彩色和光流两种模态的浅层时空特征进行编码,将其输出的高层时空特征作为解码网络的输入进行解码。由此看出,无论是在训练集还是测试集
上都取得了较高的准确率,可以表明注意力机制对时序建模的长期依赖问题有明显的改善,有效地提高了模型准确率。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献