Spatio-Temporal Fusion based Convolutional Sequence Learning for Lip Reading论文阅读

Abstract


目前最先进的唇读方法是基于自然机器翻译和音频语音识别的seq2seq架构。但是这种方案没有充分利用唇动的特征,有两种缺陷:首先是短期的时间依赖关系是嘴唇图像到发音嘴型映射的关键但是没有接收足够的注意力;二是在现有的序列模型中由于使用了全局池化导致局部空间信息的丢失。

本文提出了一个时间聚焦块来充分描述短期依赖关系,同时提出一个时空融合模块来保持局部空间信息并降低特征维度。实验结果表明该方法训练数据更少,卷积特征提取器更加轻量,训练时间大大缩短。

Introduction


  • 唇读的应用:身份验证系统防止重放攻击;在嘈杂环境中整合唇读和音频信息来提高识别性等。
  • 唇读的难点:不同唇动在视觉上是相似的(eg: p and b);从视频中提取时空特征并将这些高维特征映射到语言中也很艰难;嘴唇周围复杂的纹理如胡子、牙齿等巨大变化也给唇读带来很多困难。
  • 唇读方法分类:RNN-based approaches;Transformer self-attention architecture
    with sequence-to-sequence loss;Transformer with Connectionist Temporal
    Classification loss;(前两种主要用于机器翻译,后一种是为音频语音识别而设计的。尽管上述方法在各领域取得了成功,但直接将这些模型应用于唇读并不能获得最佳的效果)。
  • 唇读的步骤
    1. 首先是从输入视频中提取判别特征来描述唇动,目前方法主要是将输入序列模型的低维特征直接通过卷积神经网络和全局平均池化来提取。但是全局平均池化损失了局部信息,给精度带来不利影响,因此文章改进为时空融合模块,它能够在不丢失空间信息的情况下减少特征维数。
    2. 接着要将提取到的唇动特征映射到字符序列上。图像到句子的映射不是一对一的,一个嘴型或字符可能对应多个输入图像,一个单词或句子可能对应多个字符。因此提出了一个时间聚焦块增加相邻帧的短时依赖注意。基于这个模块的序列到序列模型用来将提取的特征映射到句子中。这个地方还应用了局部自注意力机制。
    3. 因为transformer模型架构优化非常耗时,人们分别训练了视觉特征提取网络和transformer网络,此外人们还设计了复杂的训练策略。这类方案由于训练速度缓慢极大限制了更大数据集上的迁移能力。而文中方案由于是端到端的,训练速度可以缩短到7天。

Approach


视频输入为 X i X_i Xi,生成的句子是 S i S_i Si。并不是直接将 X i X_i Xi映射到 S i S_i Si,而是将时空输入 X i X_i Xi使用卷积特征提取器和时空融合模块编码为隐藏时间特征 Z i Z_i Zi。然后用conv-seq2seq模型将 Z i Z_i Zi映射到 S i S_i Si

Convolutional Feature Extractor
使用卷积特征提取器来从输入序列 X i X_i Xi中提取视觉特征,为了捕捉唇动的时空特性,在输入序列上采用了两层核尺寸为5的3D convolutions。在接下来的2D convolutions考虑到内存与计算成本,使用的是ResNet-18而不是ResNet-50。为了进一步加速训练,我们在3D convolutions之后采用最大池化来减少空间维度,并在ResNet-18中去除一些2-stride操作。

Spatio temporal fusion module
由于CNNs的输出是高维的不能被序列模型使用,因此目前大多数唇读方法都采用全局平均池化来降低特征维数。全局平均池化在定位中被证明是有效的,但是这种定位能力仅仅表明类激活和CNNs的特征图,并不能捕捉嘴唇外观的连续微妙的变化。这是因为不同空间位置的激活(对应于不同的嘴型)可能对全局池生成的最终特征有相同的贡献。

为了将高维时空特征融合到低维时空特征中,同时保留重要的局部信息,提出了时空融合模块。
Spatio-Temporal Fusion based Convolutional Sequence Learning for Lip Reading论文阅读_第1张图片
空间池化从R C ^C C ∗ ^* W ^W W ∗ ^* H ^H H提取小特征图R C ^C C ∗ ^* n ^n n ∗ ^* n ^n n,接着将R T ^T T ∗ ^* C ^C C ∗ ^* n ^n n ∗ ^* n ^n n整形为R T ^T T ∗ ^* C ^C C’,并将其输入到一系列时序卷积中,来增强时间步长之间的通信和控制输出通道的数量。

Conv seq2seq model

提出了时间聚焦块来观察每个特征帧,并关注局部依赖关系来学习连续特征。此外为了进一步将单词映射到句子中,使用了一种局部自注意机制来捕捉时间序列中的长依赖性。

时间聚焦块
Spatio-Temporal Fusion based Convolutional Sequence Learning for Lip Reading论文阅读_第2张图片
通过时间聚焦块,输出不仅关注t时间的输入特征,还关注相邻的输入特征并将它们融合在一起。

此外时间聚焦块还应能够学习语音速率鲁棒的表示,即无论语音速率如何都能够提取正确的语义信息。因此使用不同大小的滤波器来融合多个尺度的特征。

此外采用因果卷积(公式如下图)将局部特征融合分为正向和反向两个方向。它使所有未来的信息都被因果卷积阻断。
在这里插入图片描述
局部自注意力

因为很多语义信息隐藏在整个序列中,因此考虑在每个位置的整个序列可以帮助学习长期依赖关系中包含的语义。

定义原状态 H s H_s Hs{T s _s sXC s _s s}和目标状态 H t H_t Ht{T t _t tXC t _t t}。T与C分别代表时间长度和特征长度。在注意力机制中,H s _s s和H t _t t是相同的,它们就是从时间聚焦块中学到的特征。
在这里插入图片描述
A是注意力权重,W s _s s和W t _t t都是学习到的参数。

由于原始的自注意力是用整个序列来计算权重的,因此模型的复杂度随着序列长度增加而增加。但是实验中发现没有必要将依赖关系的范围设为序列长度。于是又提出了局部自注意力机制。
在这里插入图片描述
W m _m m是一个掩模矩阵,这种方法可以在保持识别精度的同时加速训练。

此外,为了使模型能够在不同位置上关注来自不同子空间的信息,降低计算复杂度,对注意层采用了多头注意力

encoder-decoder

编码器以卷积特征提取器提取的特征作为输入,解码器接收编码器输出和前一时刻预测的标签来预测下一时刻的标签。该编码器由一个时间聚焦块和一个自注意层组成的N个编码器模块组成。解码器由N个解码器模块组成,由一个时间聚焦块、一个局部自注意层和一个vanula注意层组成。

你可能感兴趣的:(#,CV论文阅读)