基于全局注意力机制的汉语手语词翻译
2022-07-01朱连淼杨波郭佳君陈晓燚
朱连淼,杨波,郭佳君,陈晓燚
(中南民族大学 计算机科学学院,武汉 430074)
据统计,截止到2020 年我国听力残疾人数约2780 万人,占全国残疾人总数的30%以上.而聋哑人之间的相互交流以及其同非聋哑人的相互交流主要依靠手语进行.因此高精度的手语翻译算法对于解决聋哑人的交流问题有着重大意义.手语又可以细分为手指语和手势语,其中前者用手指的指示变化代表字母数字,通过字母拼写出词,常常作为聋哑人教育的交流工具;而后者则以手部动作结合上肢动作进行表达,平时所说的手语大多指手势语,手势语也是聋哑人沟通的主要方式.本文的研究重点主要放在手势语的孤立词翻译.
在手势语翻译的早期研究中,研究人员大多采用人工设置特征辅以分类器的传统方法,如ZHOU等[1]提出了一种基于全局模板的动态时间规整算法,该算法通过统计方法,将定义的手势样本离散化形成全局模板,并在180个手势识别上取得了95.6%的准确率.ZHANG 等[2]提出了一种自适应的隐马尔可夫模型,该模型从形状上下文的轨迹特征中获取时空特征,通过融合轨迹和手形概率的组合方法进行汉语手语识别,并在自建数据集上获得了86%的准确率.YE 等[3]将隐马尔科夫模型与支持向量机结合构建了一个多层体系结构的分类器,并根据结果动态更新易混淆集来优化,取得了89.4%的准确率.
虽然传统的手语翻译方法取得了一定成果,但其翻译的准确率依赖于人工设置特征的有效性.汉语手语词种类较多,且部分手语词手势动作较为复杂,给人工设置特征造成了一定困难,同时人工设置特征是一个非常耗时的工作,这也导致了传统的手语翻译方法很难拓展到更大的手语数据集上.
近年来随着计算机算力的提升和基于深度学习的计算机视觉的发展,在手语翻译领域越来越多的学者开始进行基于深度学习的手语翻译方法研究.KOLLER 等[4]提出的混合卷积神经网络和隐马尔可夫模型,结合了卷积神经网络的识别能力和隐马尔可夫模型的序列建模能力,在PHOENIX-2014数据集上取得了较好的结果.HUANG 等[5]提出了一种新的三维卷积神经网络,它可以自动从原始视频流中提取出具有鉴别性的时空特征,从而避免特征设计.作者通过使用多通道视频流作为输入,整合颜色、深度、轨迹信息,并在微软Kinect 收集的数据集上验证了该方法的有效性.YANG等[6]将卷积神经网络与长短时记忆网络结合,构建了一个可用于连续手语翻译的模型,其借助卷积神经网络将手语视频中抓取的图像信息转换为矢量,然后使用长短时记忆网络完成序列学习任务,并在自建数据集上取得了较高的准确率.2014 年注意力机制[7]在自然语言处理领域被提出之后便成为国内外学者的研究热点,也有部分学者将注意力机制应用到手语翻译的研究中.如ZHOU 等[8]使用自注意力网络作为全局特征提取器结合CTC(连接时序分类)进行手语翻译,并在RWTH-PHOENIX-Weather 2014 取得了31.3% 的词错率 .SLIMANE 等[9]提出了一种用于连续手语的注意力网络,该网络通过注意力机制将手部特征与时空上下文进行聚合以更好地识别,并在RWTH-PHOENIX-Weather 2014 数据集上验证了该方法的有效性.
为进一步提升手语词翻译的准确率,并克服上述方法由于手语动作视频较长导致模型不能有效地关注到复杂手语词动作的上下文信息的问题,本文在传统卷积神经网络结合长短时记忆网络的翻译模型中添加了一个全局注意力机制以解决上述问题,并与其他算法的翻译准确率进行了比较.
1 基于注意力机制的手语翻译方法
1.1 整体网络结构
以RGB 手语视频作为输入的手语翻译任务可以转换为一个视频多分类任务.在汉语手语词的翻译中需要关注时间特征与空间特征,将视频中手语动作的时空特征结合才能提取出手语动作的语义.故对于手语视频需先将其逐帧分割成图像,通过对图像的卷积操作来提取单帧图像的空间特征,按照视频中的时间顺序将所提取的单帧图像的空间特征组成特征序列之后,再提取特征序列的时间特征,由此通过时空特征信息对手语视频进行翻译,整体网络模型如图1所示.
图1 基于全局注意力的网络结构Fig.1 Network architecture based on global attention
手语翻译的模型由用于提取空间特征的卷积神经网络、用于提取时间特征的长短时记忆网络、用于帮助模型关注序列中关键部分的全局注意力机制组成,其中对于卷积神经网络本文选用ResNet34.数据经预处理之后输入到模型中,由ResNet34 对单帧手语图像特征进行提取,并以固定的帧数将所提取出的空间特征组成特征序列,经由一个线性层送入LSTM 中对空间特征序列的时间特征进行提取,然后将时空特征送入注意力层.注意力层中所使用的全局注意力机制可以通过一个可训练的参数来计算对齐向量,最终得出上下文向量(1.4节),由此可以使模型关注到手语视频中的关键帧.最后通过softmax层进行分类输出.
1.2 基于ResNet的空间特征提取
若要完成手语词的高精度翻译,则需对于单帧图像中手语动作的空间特征提取尽可能得充分,从而保证能够完整地获取到手势特征.为满足这点需求,用于提取空间特征的网络层数势必会增加,而传统的卷积神经网络如 VGG[10]和 GoogleNet[11]随着层数的增加有可能出现过拟合、梯度消失和梯度爆炸等问题;另一方面随着网络层数的加深,计算资源消耗也会大量增加.而HE 等[12]提出的深度残差网络可以有效地避免以上问题,ResNet 由残差块堆叠而成,核心思想就是通过跳转连接的方式来解决随着层数加深网络退化的问题,其中残差块结构如图2 所示.其中x 为输入,F(x)为映射函数,期望的最终映射输出H(x) = F(x) + x,其结果就是映射函数与输入之和.若F(x) = 0,则构成了一个恒等映射.该方法可以有效地解决深度网络的梯度消失或爆炸等问题.
图2 残差块Fig.2 Residual block
由于本文所使用的手语数据集均在室内环境下统一拍摄,背景单一且分割后的图像帧分辨率不高,因此不需要更多层的ResNet 来进行训练,另外更多层的ResNet 也会增加计算开销,故本文选用ResNet34,其结构如图3所示.
图3 ResNet34网络结构Fig.3 ResNet34 network structure
图3 中Block_1 中使用两个卷积核大小为3 × 3,通道数为 64 的卷积层,构成一个如图 2 所示的残差块,3个残差块堆叠成Block_1,同理Block_2、Block_3、Block_4也按照图3中所标注的方式进行堆叠.在同一个Block 中由于通道数一致,故采用H(x) = F(x) + x 的计算方式,不同Block 之间由于通道数不同,采用H(x) = F(x) + Wx 的计算方式,其中W为用于调整通道数的卷积操作.
1.3 基于LSTM的时序特征提取
对于ResNet34 所提取的空间特征序列,需要提取时序特征从而获取手语视频动作的时空特征,再进行翻译,而循环神经网络结构可以很好地处理时序信息,其中长短时记忆网络[13]在RNN 结构的网络中表现较为优秀[14],尤其是其能够学习长期的依赖关系,用于处理手语翻译这类在前后时序关系上存在依赖的问题尤为合适,LSTM 记忆单元结构图如图4所示.
图4 长短时记忆网络记忆单元结构Fig.4 LSTM memory cell structure
LSTM 核心思想为采用遗忘门、输入门、输出门对信息单元进行控制,这3 个门决定了什么信息将会被舍弃,什么信息将会被输出以及添加什么新信息.其中遗忘门决定上一个记忆单元中需要舍弃的信息,其通过输入上一个记忆单元的状态输出ht-1和当前状态输入信息xt到sigmoid 函数中产生一个0~1 之间的数并与Ct-1相乘之后决定保留多少信息,具体公式可表示为:
其中Wf表示输入层到遗忘门的向量,σ 表示sigmoid激活函数,bf表示遗忘门与记忆单元的偏移量.
输入门决定了哪些新信息将会被输入,其通过上一状态输出ht-1和当前状态输入信息xt通过sigmoid 函数决定要保留多少新信息,同时tanh 层也会通过ht-1和xt来得到一个将要加入到记忆单元中的新信息,公式可表示为:
其中Wi和WC分别表示输入层到输入门和记忆单元的权重向量,bi与bC则表示隐藏层到输入门和记忆单元的偏移量.
输出门则决定输出什么信息,其流程与前面类似,同样经过sigmoid 函数得到ot来确定需要有多少信息从记忆单元中被输出,公式如下:
而Wo与bo分别表示隐藏层到输出门上的权重向量和输出门与记忆单元的偏移量.将全部记忆单元的输出ht进行加权平均再通过softmax 层即可得到手语词类别.
1.4 基于全局注意力机制的计算网络
本文为解决ResNet-LSTM 模型在处理长手语视频时由于特征序列较长从而导致手语翻译的准确率下降的问题,在模型中嵌入了一种全局注意力机制[15],如图5中虚线所框,注意力模块帮助模型关注到特征序列中对于翻译结果更为有用的部分,提升模型的翻译准确率.
图5 全局注意力机制Fig.5 Global attention mechanism
全局注-意力机制在LSTM 顶层上增加一个注意力层,其中hS为源隐藏状态,ht为当前-目标的隐藏状态,at为对齐权重,ct为上下文向量,ht为注意力隐藏状态.注意力模型通过一个评分-函数在t 时刻根据当前目标状态ht和所有源状态hS计算出二者的相似度,评分函数如下:
使用一个简单的神经网络连接隐藏状态,通过这个网络获得可学习的二维参数矩阵Wa和一维参数向量vTa,从而计算出评分.本文使用两个全连接层实现评分函数中的这个网络,其中第一层输入和第二层的输出都对应着LSTM 隐藏层的维数.在得到评分之后可以通过softmax 函数计算出对齐权重at,计算公式如下:
上-下文向量ct可通过计算对齐权重at和源隐藏状态hS的加权平均值获得,通过一个简单的全连接层来组合给定的目标隐藏状态ht和上-下文向量ct两者的信息以求得注意力隐藏状态ht,其公式可表示为:
对于计算出的注意力隐藏状态-ht通过softmax层产生预测概率,见公式(7).从而完成手语词的翻译任务.
2 实验分析
2.1 数据集与数据预处理
本实验采用的数据集为中国科学技术大学所采集的 DEVISIGN_D 数据集[16].该数据集是 DEVISIGN数据集的子集,包含了500个汉语手语的常用词,其中每个词语由RGB 视频和深度骨架信息构成.数据集由8名不同的手语表演者演示.对于其中4名表演者每个手语词汇录制两遍,另外4 名表演者每个手语词汇录制一遍,总共6000组数据.
首先将手语视频数据逐帧分割成图像,通过观察分割成帧后的图像可知其中包含部分无关的背景信息,而数据集中手语表演者均处在中间位置,故对图片进行粗略裁剪,仅保留图像中间包含手语表演者的矩形部分,流程如图6所示.
图6 视频数据处理Fig.6 Video data processing
通过观察裁剪后的图像发现存在大量的无用帧,即手语表演者开始录制视频时的静止画面和抬手动作,如图7所示.此类无用帧对于整个手语序列无任何实际意义,而且大量的无用帧也会影响模型的训练速度.
图7 无用帧示例Fig.7 Examples of useless frames
对于此类无用帧的剔除,本实验选取每个手语视频分割后的第一帧图像作为基准图像,用其余图像与基准图像计算两张图像的余弦相似度,若大于某阈值则剔除.在确定阈值时根据经验选定阈值范围,并通过多组实验确定阈值设定为0.997 时效果最好.对于剔除无用帧之后的6000 组图像采用翻转、旋转的方法增强数据集,使数据集扩大到原来的4倍.
2.2 实验配置与训练
实验中使用Pytorch 1.8框架实现本文所提出的模型,并进行训练和测试.操作系统为Ubuntu18.04,GPU为NVIDIARTX 3090,处理器为Intel(R)Xeon(R)Glod 5218 R,内存为64 G.
由于本文研究的是汉语连续手语词的翻译,故使用连续视频帧作为输入,设置连续的16帧图像为一个输入序列.为减少训练时间,实验中加载了Pytorch提供的ResNet34预训练模型,参数见表1.
表1 训练参数Tab.1 Training parameters
图8为训练集和测试集损失值与准确率变化趋势,蓝色曲线代表训练集,橙色曲线代表测试集,左图为训练过程中损失值变化,右图为准确率变化.在训练过程中,使用了Pytorch内置的ResNet34预训练模型,训练时间大大缩短.随着迭代次数增加,损失值逐渐减小、准确率不断上升,并在迭代40 次之后趋于平稳,当迭代43次时得到模型翻译准确率的最高值86.24%.
图8 损失值与准确率变化Fig.8 Loss and accuracy change
2.3 实验结果分析
表2 为本文提出的在LSTM 中嵌入全局注意力机制的模型与其他手语翻译模型在DEVISIGN_D 数据集上准确率的对比.由表2可知,本文模型的准确率高于其他模型.对于HMM-DTW 这样使用传统方法的模型,由于缺乏深度学习方法的特征提取能力,受限于人工特征设置,导致该模型在使用了RGB 视频和深度骨架信息两种数据作为输入的情况下准确率虽优于DNN,但仍低于大多数深度学习模型.3DCNN 模型在传统2DCNN 基础上增加了一个维度,可以用于处理时间维度.但其对时间维度的处理依赖于连续图像的卷积计算,所以也没有取得较好的结果.CNN 与LSTM 相结合的模型使用CNN 提取图像特征、LSTM 提取时序特征达到手语视频翻译的目的.由于传统CNN 随着网络层数的加深会出现退化,导致CNN 对图像特征的提取有限.通过将CNN 换成ResNet34 可以解决网络退化的问题,并加深网络深度进一步提取图像特征.
表2 不同数据集上的准确率Tab.2 Accuracy on different dataset
本文所提出的基于全局注意力机制模型准确率较ResNet34+LSTM 提升1.91%达到86.24%.通过分析,本文模型在空间特征提取方面采用ResNet34加深网络层数,能更好地提取空间特征信息.在时序特征提取时加入了全局注意力机制,使模型可以关注到整个手语动作序列中对翻译出手语语义更为重要的部分,从而获得了更高的准确率.
2.4 注意力机制分析
为进一步研究在模型中嵌入的全局注意力机制对模型的影响,证明其对长手语视频翻译的有效性,本文从DEVISIGN_D 中划分出了两个子集:一个子集为视频长度较短的100 类手语视频,称其为DEVISIGN_DS;另一个为视频长度较长的100 类手语视频,称其为DEVISIGN_DL,见表3.
表3 划分后的数据集Tab.3 Partitioned data set
使用这两个100分类的数据集和DEVISIGN_D,分别在添加注意力机制和未添加注意力机制的情况下对模型进行训练,并且两者参数设置相同,实验结果如表4所示.
表4 注意力模块作用验证 %Tab.4 Effect validation of attention module %
结果表明:添加了注意力机制的模型在3 个数据集中的准确率均高于未添加注意力机制的模型.通过对比模型添加注意力机制前后在DEVISIGN_DS 和DEVISIGN_DL 上的准确率,可知模型对长序列手语视频翻译准确率的提升更大,证明了该注意力机制可以有效地关注到长手语视频序列中的关键帧,同时也证明了该注意力机制添加到模型中的有效性.
3 结论
为使手语翻译模型更好地关注到手语序列中的关键部分,本文在ResNet 和LSTM 组合的模型中嵌入全局注意力机制,对手语词进行翻译.该模型首先通过残差网络来提取单帧手语图像的空间特征;然后将多个连续帧的空间特征组成特征序列输入到长短时记忆网络提取时序特征;最后通过模型中所嵌入的全局注意力机制计算出序列中哪些部分对手语视频翻译的影响更大,进而达到使模型能自己关注手语视频中关键帧的目的.结果表明:加入注意力机制的模型对比未加入注意力机制的模型翻译准确率有所提升,加入注意力机制之后的模型优于其他模型.在下一步工作中将尝试将此方法由手语词的翻译扩展到手语句的翻译,并优化注意力机制带来的计算开销.