Spatio-Temporal Fusion based Convolutional Sequence Learning for Lip Reading论文阅读
Abstract
现有唇读技术主要依赖于自然机器翻译与音频语音识别相结合的seq2seq模型结构。然而该方案未能充分挖掘嘴唇运动的独特性。两种缺陷主要体现在两个方面:一是时间依赖关系未能有效捕捉嘴唇图像到嘴型映射的信息;二是全局池化导致模型忽略了局部空间信息。
本文开发了一种时间注意力机制来详细刻画短期依赖关系的同时构建了一个时空整合模块以保留局部空间特征并减少计算复杂度。实验表明该方法显著减少了训练数据数量优化了卷积层计算开销并提升了训练效率。
Introduction
- 
唇读的应用:融合语音与面部特征以提升识别准确性;在复杂噪音环境下通过整合唇动与音频信号增强安全性。
 - 
唇读的难点:识别不同发音间的细微差异(例如p与b)在视觉上具有挑战性;从视频数据提取复杂的时空特征并将其映射至语言模型仍面临诸多难题; additionally, the intricate textures around the lips, such as胡须和牙齿的变化, further complicate the task.
 - 
唇读方法分类:基于RNN的方法主要应用于机器翻译领域; Transformer架构结合自注意力机制用于语音识别任务;此外, Transformer架构配合同类时序分类损失函数被设计用于语音识别任务。
 - 
唇读的步骤 :
 
- 首先是从输入视频中提取判别特征来描述唇动的过程,在当前的研究中主要采用的是将输入序列模型的低维特征直接通过卷积神经网络和全局平均池化的方式提取出来。然而这种方法存在不足之处:全局平均池化操作会丢失重要的局部信息,在一定程度上影响了结果精度。因此研究者们提出了一种改进方案:引入时空融合模块,在不损失空间信息的前提下降低了特征维度。
 - 接下来要完成的是将提取到的唇动特征映射到字符序列上这一过程。值得注意的是这种映射并非一对一的关系:一个嘴型或字符可能会对应多个输入图像;同样一个单词或句子也可能由多个字符组成。基于此问题提出的是一种时间聚焦块的设计:该模块通过增加相邻帧之间的短时依赖注意力关系增强了模型对动态变化信息的关注能力;基于这一新模块构建的序列到序列模型能够将提取出的特征准确地映射到目标句子中去;同时研究中还引入了局部自注意力机制来进一步提升模型性能。
 - 由于transformer架构在优化过程中耗时较长(计算复杂度较高),现有研究多采取以下措施:一方面分别训练视觉编码器网络和transformer解码器网络;另一方面还设计了一些复杂的训练策略以加快整体收敛速度(例如混合精度训练、学习率优化等)。然而这些方法往往导致训练速度较慢的问题:尤其是在大规模数据集上的迁移应用效果受限明显(例如训练周期可能长达数周甚至数月)。而文中提出的端到端联合优化方案显著提升了训练效率:其整体训练周期缩短至7天。
 
Approach
视频信号输入为XiX_i序列,并生成的目标句子为SiS_I序列。实际上,并非直接由XiX_I映射至SiS_I结果;而是经过以下处理:首先通过卷积特征提取器与时空融合模块对时空输入XiX_I进行处理编码得到隐藏的时间特征序列Zi_Z_I;随后采用基于卷积式序列到序列模型对这一隐藏时间特征进行映射生成目标句子 Si_S_I 。
Visual Feature Extractor
通过卷积神经网络从输入序列XiX_i中提取视觉特征以捕捉唇部运动的空间-时间特性, 并应用了两层核尺寸为5的空间卷积模块. 随后进行二维卷积操作时考虑了内存与计算成本, 使用的是ResNet-18而非更深的ResNet-50架构以提高训练效率. 在完成两层空间卷积后, 我们采用了最大池化操作来缩减空间维度, 同时去除了ResNet-18中的部分超参数设置(如步长为2的操作)以优化性能.
Spatio temporal fusion module
因为CNNs输出的数据维度较高难以直接供序列模型处理, 因此现有多数唇读方法依赖全局平均池化技术来降维特征空间。经实验验证, 该定位机制具有良好的效果, 然而该定位能力仅能反映类激活状态以及CNN特征图的空间分布, 并未能有效捕捉嘴唇外观细节中的微小变化。其原因在于, 在构建全局池时各空间位置对应的嘴型激活可能对最终特征表示产生相同程度的影响。
为了实现高维时空特征向低维时空特征的融合,并在其中保持关键的局部细节,开发出了一个时空融合模块。

通过空域聚合操作RC^{C*\ast}W^{W*\ast}H提取原始空间特征图RC^{C*\ast}n^{n*\ast}n^{n*\ast};随后通过转换操作将RT^{T*\ast}C^{C}转化为RT^{T*\ast}C';其处理结果随后被馈送给多个时空序列卷积模块以进一步增强时间步间信息交互并调节输出通道数量
Conv seq2seq model
开发出了一个时间聚焦块用于分析每个特征帧,并且同时重视局部之间的依存关系以提取连续的时空特征。此外进一步地通过建立单词在时空序列中的对应关系引入了一种基于空间时空中文相关性的自注意力模型以捕捉长时依存信息。
时间聚焦块

该时间聚焦模块其输出不仅注意到t时刻的输入特征同时也会考虑到前后相邻时间段的输入特征并对这些信息进行融合处理
此外,在时间聚焦块中还应具备学习语音速率鲁棒表示的能力,即无论语音速率如何变化都能准确提取出正确的语义信息。为此建议采用不同尺寸的滤波器来进行多尺度特征融合技术。
通过因果卷积(如图所示)对局部特征进行划分,并将其划分为正向和反向两个方向。这种设计使得所有未来的输入信息都无法影响当前的输出结果。

局部自注意力
由于大量语义信息被隐含地包含在整个序列中,在每个位置上对整个序列进行分析有助于学习其内部长期依赖关系所蕴含的语义信息
定义为原状态H_s\{T_{s_s}X C_{s_s}\}和目标状态H_t\{T_{t_t}XC_{t_t}\}。其中T与C分别代表时间长度和特征长度,在注意力机制中,H_{s_s}和H_{t_t}是相同的,并且它们是从时间聚焦块中学习得到的特征。

A是注意力权重,Ws_s和Wt_t都是学习到的参数。
基于原始自注意力机制采用了整个序列来计算权重这一特点导致模型计算复杂度随着输入序列长度的增长而显著提升然而在实验过程中发现无需将依赖关系的有效范围设定为与输入序列长度一致随后提出了改进型局部自注意力机制

Wm_m是一个掩模矩阵,这种方法可以在保持识别精度的同时加速训练。
此外, 为了使模型能够从不同子空间中提取具有位置特异性的信息, 并减少计算开销, 在注意层采用了多头注意力结构
encoder-decoder
该编码器采用卷积特征提取器获取输入特征,并将此作为基础信息传递至后续处理环节;相应的解码部分则接收来自编码器输出以及上一时刻预测标签的信息,并用于推导下一时刻的标签;其中每个编码模块都包含时间聚焦子组件与自注意力机制;而每个解码模块则整合了时间聚焦组件、局部自注意力机制以及vanilla(原始)注意力机制。
