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

多层时序注意力融合机制的弱监督神经网络手语识别方法与流程

2021-10-24 06:20:00 来源:中国专利 TAG:自然语言 神经网络 时序 手语 人工智能


1.本发明涉及到计算机视觉,人工智能,数据挖掘,自然语言处理,深度学习等技术领域。具体涉及一种多层时序注意力融合机制的弱监督神经网络手语识别方法。


背景技术:

2.计算机视觉是一种让计算机或者机器模仿人类用眼睛去感知的技术,被广泛的应用于图形图像,三维重建,目标跟踪,人脸检测,视频理解领域。而自然语言处理是一种让计算机或者机器能够像人类一样去认知思考的技术,被广泛应用于机器翻译,阅读理解,语言生成,多轮对话等任务中。在深度学习技术兴起之前,传统的计算机视觉技术和自然语言处理领域大量依靠人手工提取的特征和人手工定义语法规则的方法。而随着数据量的增多和gpu算力的成本降低,以深度神经网络为代表的深度学习技术逐渐兴起。基于深度学习的计算机视觉技术和自然语言技术开始流行起来。因为深度学习具有强大的表示学习能力,只需要通过通过端到端的数据和标签的联合训练而不需要原本人手工进行复杂的特征和规则的提取制定,就能让神经网络学习并理解到某种知识。所以,结合基于深度学习技术的计算机视觉的感知和自然语言处理的认知技术,设计一种用于连续手语视频识别和翻译的多层时序注意力融合机制的弱监督神经网络算法能够有效的让计算机去理解手语视频中手语者所表达的内容。


技术实现要素:

3.为了克服现有技术的不足,本发明的目的是设计一种用于连续手语视频识别和翻译的多层时序注意力融合机制的弱监督神经网络算法,用来解决连续手语视频的识别和翻译困难的问题,从而让计算机能够学会理解手语者表达的意思,可促进健听人和手语者的交流与沟通。
4.本发明的技术方案:
5.一种多层时序注意力融合机制的弱监督神经网络手语识别方法,包括以下步骤:
6.1)一个手语视频v,含有(f1,...f
u
)的视频帧,对于连续手语识别任务,神经网络学习条件概率p(g/v)用来生成手语识别序列g(g1,...g
n
),对于连续手语翻译任务网络学习条件概率p(l/g)用来生成自然语言序列l(l1,....l
u
);
7.利用opencv库将每一个手语视频数据进行均匀随机的帧采样,从而保证每个手语视频的帧数一致,对手语视频的语料标签句子进行分词并利用python编程语言为每一个手语视频自动打上标注;
8.2)将按规定大小的批次数量的手语视频按帧传入神经网络的编码器部分,首先经过预训练的卷积神经网络模块,对每一个手语视频帧进行特征提取,再经过两层残差全连接层,从而能得到有效的姿态信息,作为网络的空间嵌入:
9.s
u
=spatialembedding(f
u
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
10.其中f
u
代表手语视频帧,s
u
是经过卷积网咯特征提取后的空间嵌入向量;
11.手语视频的空间嵌入向量包含丰富的特征信息,将空间嵌入向量输入下一个模块双向门控循环网络当中,门控循环网络能够对时间维度的手语视频帧序列数据进行有效的特征建模,通过前向和后向的双向建模方式获得手语动作上下文信息b
u
,将b
u
经过三层残差堆叠单向门控循环网络得到更高维的抽象信息e
u

12.经过上述操作,神经网络编码器部分将手语视频经过时空编码得到隐藏向量h
u
,并将h
u
传递到神经网络的解码器部分当中,解码器网络结合h
u
向量和通过多层时序注意力机制融合得到的c
mix
向量,在多层残差门控循环网络的每一个时间步得到手语识别的单词,并最终结合成一个完整的手语句子;
13.其中多层时序注意力机制融合向量包含如下步骤:首先计算一个分数,将解码器每个时间步前一步的隐藏向量h
n
‑1作为查询项,用查询项h
n
‑1分别和e
u
和b
u
进行运算得到两个分数向量score1和score2如下:
14.score1(h
n
‑1,e
u
)=e
u
wh
n

1t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
15.score2(h
n
‑1,b
u
)=b
u
wh
n

1t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
16.使用上面分值函数来得到的两个score,其中w和d都是可训练的神经网络权重参数,接着利用score得到手语视频时序注意力权重r和p,用来对齐手语视频帧和单词,其运算如下:
[0017][0018][0019]
其中k代表编码器网络时序维度上的第k个时间步,n代表解码器网络时序维度上第n个时间步,然后将得到的手语视频时序注意力权重r和p分别和e
u
和b
u
和进行运算,得到两个手语注意力背景向量c
t
和c
b
,运算如下:
[0020][0021][0022]
然后将c
t
和c
b
这两个背景向量进行融合,得到c
mix
,运算如下:
[0023][0024]
这个注意力背景向量称之为手语序列上下文融合向量c
mix

[0025]
3)在解码阶段,首先从输入<bos>符号开始,<bos>符号作为每次网络训练的开始符号,输入解码器网络的第一个时间步,同时将c
mix
和手语嵌入词汇进行拼接,输入当前时间步的解码器中,经过解码器四层堆叠残差结构的门控循环网络的非线性运算后得到输出,再经过一层全连接层生成当前时间步的最大概率的单词,一直循环解码直到遇到<end>符号结束,一个完整的手语识别句子生成完毕。
[0026]
进一步,语言模型生成符合口语表述的自然语言文本,使用tranformer作为语言模型来进行语言学习,从而进一步得到连续手语翻译的结果,在transformer结构中,将原本静态的位置编码更改为了动态的可训练的位置编码。
[0027]
再进一步,语言模型使用pytorch深度学习框架搭建,配置网络参数设置如下:在编码器网络的空间嵌入模块中,使用在imagenet上进行预训练的卷积神经网络,冻结卷积神经网络上的全部参数;使用了resnet152预训练卷积网络,并使用其倒数第二层的输出或最后一层的输出,在预训练的卷积神经网络后面,添加了两层2600维度的可训练的残差全连接层,并且为了能够和后面的双向门控循环单元模块的输出进行残差连接;编码器的双向门控循环单元的隐藏单元设置为了1300维度,因为拼接了过去和未来的信息,所以输出是2600维度,之后的每一层门控循环网络隐藏单元维度也都设置为2600,从而可以进行残差连接;在解码器阶段,将手语单词的词嵌入维度设置为256,解码器中的每个门控循环网络隐藏单元维度设置为800。
[0028]
训练过程中采用pytorch默认的adam优化器和交叉熵损失函数,每个batch设置为10,学习率的设置分为两个阶段,第一个阶段使用0.00004进行,在第8个epoch后,将学习率调整为0.000004继续进行训练6个epoch,完成神经网络参数的收敛。
[0029]
本发明的技术构思为:通过深度学习强大的表示学习能力以及大规模的手语视频数据集,运用卷积神经网络强大的特征抽取能力和门控循环网络的长序列建模能力对手语视频进行特征的建模,结合多层时序注意力机制融合技术和transformer语言模型强大的翻译能力,从而从连续手语视频中得到符合自然语言口语顺序的连续手语翻译句子。所提出的算法旨在学习序列到序列的映射关系。即一个手语视频v,含有(f1,...f
u
)的视频帧,对于连续手语识别任务,神经网络学习条件概率p(g/v)用来生成手语识别序列g(g1,...g
n
),对于连续手语翻译任务网络学习条件概率p(l/g)用来生成自然语言序列l(l1,....l
u
)。
[0030]
本发明的有益效果主要表现在:在本方法中,不管是连续手语识别还是翻译任务,都是视频到文本的弱监督任务,只包含句子级别的标注,而不需要通过对视频时间分割来单独标注每个单词,利用端到端的深度神经网络训练,能够让网络从手语视频中识别并理解手语者所要表达的意思。
附图说明
[0031]
图1是多层时序注意力融合机制的弱监督神经网络手语识别方法的结构图。
具体实施方式
[0032]
下面结合附图对本发明作进一步描述。
[0033]
如图1所示,一种多层时序注意力融合机制的弱监督神经网络手语识别方法,包括以下步骤:
[0034]
1)在学习序列到序列的映射关系。即一个手语视频v,含有(f1,...f
u
)的视频帧,对于连续手语识别任务,神经网络学习条件概率p(g/v)用来生成手语识别序列g(g1,...g
n
),对于连续手语翻译任务网络学习条件概率p(l/g)用来生成自然语言序列l(l1,....l
u
);
[0035]
利用opencv库将每一个手语视频数据进行均匀随机的帧采样,从而保证每个手语视频的帧数一致,对手语视频的语料标签句子进行分词并利用python编程语言为每一个手语视频自动打上标注;
[0036]
2)将按规定大小的批次数量的手语视频按帧传入神经网络的编码器部分,首先经过预训练的卷积神经网络模块,对每一个手语视频帧进行特征提取,再经过两层残差全连
接层,从而能得到有效的姿态信息,作为网络的空间嵌入:
[0037]
s
u
=spatialembedding(f
u
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0038]
其中f
u
代表手语视频帧,s
u
是经过卷积网咯特征提取后的空间嵌入向量;
[0039]
手语视频的空间嵌入向量包含丰富的特征信息,将空间嵌入向量输入下一个模块双向门控循环网络当中,门控循环网络能够对时间维度的手语视频帧序列数据进行有效的特征建模,通过前向和后向的双向建模方式获得手语动作上下文信息b
u
,将b
u
经过三层残差堆叠单向门控循环网络得到更高维的抽象信息e
u

[0040]
经过上述操作,神经网络编码器部分将手语视频经过时空编码得到隐藏向量h
u
,并将h
u
传递到神经网络的解码器部分当中,解码器网络结合h
u
向量和通过多层时序注意力机制融合得到的c
mix
向量,在多层残差门控循环网络的每一个时间步得到手语识别的单词,并最终结合成一个完整的手语句子;
[0041]
其中,多层时序注意力机制融合向量包含如下步骤:首先计算一个分数,将解码器每个时间步前一步的隐藏向量h
n
‑1作为查询项,用查询项h
n
‑1分别和e
u
和b
u
进行运算得到两个分数向量score1和score2如下:
[0042]
score1(h
n
‑1,e
u
)=e
u
wh
n

1t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0043]
score2(h
n
‑1,b
u
)=b
u
wh
n

1t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0044]
使用上面分值函数得到的两个score,其中w和d都是可训练的神经网络权重参数,接着利用score来得到手语视频时序注意力权重r和p,用来对齐手语视频帧和单词,其数学运算如下:
[0045][0046][0047]
其中k代表编码器网络时序维度上的第k个时间步,n代表解码器网络时序维度上第n个时间步,然后将得到的手语视频时序注意力权重r和p分别和e
u
和b
u
和进行运算,得到两个手语注意力背景向量c
t
和c
b
,运算如下:
[0048][0049][0050]
然后将c
t
和c
b
这两个背景向量进行融合,得到c
mix
,运算如下:
[0051][0052]
这个注意力背景向量称之为手语序列上下文融合向量c
mix

[0053]
3)在解码阶段,首先从输入<bos>符号开始,<bos>符号作为每次网络训练的开始符号,输入解码器网络的第一个时间步,同时将c
mix
和手语嵌入词汇进行拼接,输入当前时间步的解码器中,经过解码器四层堆叠残差结构的门控循环网络的非线性运算后得到输出,再经过一层全连接层生成当前时间步的最大概率的单词,一直循环解码直到遇到<end>符号结束,一个完整的手语识别句子生成完毕。
[0054]
进一步,语言模型旨在生成符合口语表述的自然语言文本。因为连续手语识别生成的句子可能不符合口语化描述,因此使用tranformer作为语言模型来进行语言学习,从而进一步得到连续手语翻译的结果,使用了非常小型的模型参数用来训练transformer网络,从而将手语识别句子和翻译的自然语言进行一对一的映射,在transformer结构中,将原本静态的位置编码更改为了动态的可训练的位置编码,这样能够更加容易的学习到序列中单词之间的位置关系。
[0055]
语言模型使用pytorch深度学习框架搭建,配置网络参数设置如下:在编码器网络的空间嵌入模块中,使用在imagenet上进行预训练的卷积神经网络,为了便于训练,冻结了卷积神经网络上的全部参数;使用了resnet152预训练卷积网络,并使用其倒数第二层的输出或最后一层的输出,在预训练的卷积神经网络后面,添加了两层2600维度的可训练的残差全连接层,并且为了能够和后面的双向门控循环单元模块的输出进行残差连接;编码器的双向门控循环单元的隐藏单元设置为了1300维度,因为拼接了过去和未来的信息,所以输出是2600维度,之后的每一层门控循环网络隐藏单元维度也都设置为2600,从而可以进行残差连接,在解码器阶段,将手语单词的词嵌入维度设置为256,解码器中的每个门控循环网络隐藏单元维度设置为800。
[0056]
训练过程中,采用pytorch默认的adam优化器和交叉熵损失函数,每个batch设置为10。学习率的设置分为两个阶段,第一个阶段使用0.00004进行,在第8个epoch后,将学习率调整为0.000004继续进行训练6个epoch,即可完成神经网络参数的收敛。
[0057]
至此,通过本发明提出的连续手语视频识别和翻译的多层时序注意力融合机制的弱监督神经网络方法能够让网络从手语视频中识别并理解手语者所要表达的意思。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜