这篇文章提出了一种新的方法,即相关性网络(CorrNet),用于连续手语识别(CSLR)任务。手语识别是一个复杂的任务,因为它不仅依赖于单帧中的信息,还需要跨多帧捕捉身体(特别是手和面部)的运动轨迹来准确识别手语动作。传统的CSLR方法往往独立处理每一帧,忽略了帧之间的时间依赖性和运动轨迹,这限制了它们的识别性能。
理解CorrNet的核心思想
- 捕捉跨帧的身体轨迹:
- CorrNet的核心在于它能够显式地捕捉和利用跨帧的身体轨迹。这是通过计算当前帧与相邻帧之间的相关性映射(correlation maps)来实现的,这些映射能够识别出所有空间块(如身体部位)的轨迹。
- 动态计算相关性映射:
- CorrNet首先引入了一个相关性模块,该模块能够动态地计算当前帧与相邻帧之间的相关性映射。这些映射反映了不同空间位置在不同帧之间的相似性和变化,从而揭示了身体各部分的运动轨迹。
- 强调身体轨迹:
- 接下来,CorrNet通过一个识别模块来动态地强调这些相关性映射中的身体轨迹。这意味着网络能够自动地将注意力集中在对于识别手语动作最为关键的身体运动上。
- 生成具有时间概览的特征:
- 通过这种方式,CorrNet生成的特征不仅包含了单帧的空间信息,还融入了跨帧的时间运动信息,从而提供了一个更全面的视角来识别手语动作。
CorrNet的优势
- 提高识别准确率:由于CorrNet特别关注身体轨迹,它在多个大规模数据集上实现了新的最高准确率,证明了其有效性。
- 与现有方法的比较:文章还通过与之前的时空推理方法进行全面比较,进一步验证了CorrNet的优越性。
- 可视化效果:通过可视化,可以直观地看到CorrNet如何强调跨相邻帧的人体轨迹,这有助于理解其工作原理和优势。
1. Introduction
手语是聋人在日常生活中使用最广泛的交流工具之一。然而,对于听力正常的人来说,掌握这种语言是相当困难和耗时的,从而阻碍了两个群体之间的直接交流。为了解决这个问题,孤立的手语识别试图将视频片段分类为一个独立的gloss1(是注释手语的原子词汇单位)。连续手语识别(Continuous sign language recognition, CSLR)通过将图像依次翻译成一系列符号来表达句子,更有可能在现实生活中应用。
在以人为中心的视频理解中,人体轨迹是识别动作的重要线索[44]。在手语中,这种轨迹主要由手动成分(手/手臂手势)和非手动成分(面部表情、头部运动和身体姿势)传达[10,35]。特别是,双手在连续的画面中快速地水平和垂直移动,手指扭曲和面部表情来表达一个符号。跟踪和利用这些身体轨迹对于理解手语非常重要。
然而,目前的CSLR方法[5,6,16,33,34,36,54]通常单独处理每一帧,因此无法在早期利用这些关键线索。特别是,它们通常采用共享的2D CNN来独立捕获每帧的空间特征。从这个意义上说,帧是单独处理的,不与相邻的邻居相互作用,从而抑制了识别和利用跨帧轨迹来表达一个符号。因此,生成的特征不知道局部时间模式,也无法感知手/脸在表达手势时的运动。为了解决这一限制,众所周知的3D卷积[4]或其(2+1)D变体[42,49]是捕获短期时间信息以识别身体轨迹的潜在候选者。其他时间方法,如时间移位[30]或时间卷积[31]也可以关注短期时间运动。然而,由于他们的时空接受域有限,他们很难从遥远的信息空间区域收集有益的信息。
此外,由于它们在推理过程中对每个样本的结构都是固定的,因此可能无法动态处理不同的样本来识别信息区域。为了解决这些问题,我们建议显式计算相邻帧之间的相关映射以捕获身体轨迹,称为cornet。如图1所示,我们的方法动态地关注相邻左/右帧中的信息区域来捕捉身体轨迹,而不依赖于额外的监督。具体来说,我们的cornet首先使用一个相关模块来计算当前帧与其相邻帧之间的相关映射,以识别所有空间斑patch的轨迹。然后提出了一个识别模块来动态识别和强调这些相关图中包含的身体轨迹。这个过程不依赖于额外昂贵的监督,如身体关键点[53]或热图[54],它们可以以一种轻量级的方式进行端到端训练。由此产生的特征能够获得局部时间运动的概况,从而识别一个标志。值得注意的是,cornet在四个大规模数据集上达到了新的最先进的精度,即PHOENIX14 [26], PHOENIX14- t [2], CSL- daily[52]和CSL[23],这要归功于它对身体轨迹的特别关注。与其他时空推理方法的综合比较表明了该方法的优越性。可视化有望验证cornet在强调相邻帧之间的人体轨迹方面的效果。
现有方法的局限性
- 单帧处理:当前许多CSLR方法主要基于单帧处理,忽略了帧与帧之间的关键运动信息,这限制了它们捕捉连续手语运动轨迹的能力。
- 时空接受域有限:虽然3D卷积或(2+1)D变体等方法可以捕获短期时间信息,但其时空接受域有限,难以从更远的空间区域获取有用信息。
- 固定结构:传统方法在推理过程中对每个样本采用固定结构,无法动态处理不同样本以识别关键信息区域。
Cornet的创新点
- 动态关注相邻帧:Cornet通过计算当前帧与相邻帧之间的相关性映射,动态地关注相邻帧中的信息区域,从而捕捉身体轨迹。这种方法不依赖于额外的监督信息,如身体关键点或热图。
- 轻量级端到端训练:由于不需要额外的监督信息,Cornet能够以轻量级的方式进行端到端训练,提高了效率和实用性。
- 提高识别精度:通过关注身体轨迹,Cornet能够在多个大规模数据集上达到新的最先进的精度,验证了其优越性。
related work
手语识别方法大致可分为孤立式手语识别[18,19,43]和连续式手语识别[5,6,33,34,37](CSLR),本文重点研究后者。CSLR试图以一种弱监督的方式将图像帧翻译成相应的gloss:只提供句子级标签。CSLR的早期方法[12,13]通常采用手工特征或基于hmm的系统[15,26 - 28]来进行时态建模并逐步翻译句子。基于HMM的系统首先使用特征提取器捕获视觉特征,然后采用HMM进行长期时间建模。近年来卷积神经网络(cnn)和递归神经网络(rnn)的成功为CSLR研究带来了巨大的进步。在最近的CSLR方法中广泛使用的CTC损失[14][5,6,33,34,36,37]可以通过顺序对齐目标句子和输入帧来以端到端方式训练深度网络。这些基于ctc的方法首先依赖于特征提取器,即3D或2D&1D CNN混合体,提取逐帧特征,然后采用LSTM捕获长期时间特征,然而,一些方法[6,37]发现在这种情况下特征提取器没有得到很好的训练,然后提出迭代训练策略来缓解这一问题,但消耗了更多的计算量。最近的一些研究[5,16,33]尝试通过添加对齐损失[16,33]或采用轻量级的伪标签[5]来直接增强特征提取器,以减轻繁重的计算负担。最近的研究通过压缩更具代表性的时间特征[21]或动态强调信息空间区域[22]来增强CSLR。我们的方法旨在明确地结合身体轨迹来识别一个信号,特别是那些来自手和脸的信号。以前的一些方法也明确地利用手和脸的特征来更好地识别。例如,CNN-LSTM-HMM[25]采用多流HMM(包括手和脸)整合多个视觉输入来提高识别精度。STMC[53]首先利用姿态估计网络估计人体关键点,然后发送裁剪的外观区域(包括手和脸)进行信息整合。最近,C2SLR[54]利用预提取的姿态关键点作为监督,指导模型明确地关注手部和面部区域。我们的方法不依赖于额外的线索,如预提取的身体关键点[54]或多个流[25],这些线索消耗更多的计算来利用手和脸的信息。相反,我们的模型可以端到端训练,以一种自我驱动的方式动态地关注身体轨迹。
- CSLR的定义与挑战:
- CSLR是一种将连续的视频帧翻译成对应手语词汇(glosses)的任务,且这种翻译是在弱监督条件下进行的,即只提供句子级别的标签,而不是每帧的标签。
- 早期的方法主要依赖于手工特征或隐马尔可夫模型(HMM)系统,这些系统需要逐步进行时间建模和句子翻译。
- 现代CSLR方法的发展:
- 随着卷积神经网络(CNNs)和循环神经网络(RNNs)的成功,CSLR取得了显著进展。
- 特别是连接时序分类(CTC)损失函数的广泛使用,使得可以在端到端的方式下训练深度网络,通过顺序对齐目标句子和输入帧来实现翻译。
- CTC方法通常首先使用特征提取器(如3D或2D&1D CNN混合体)来提取逐帧特征,然后使用长短期记忆网络(LSTM)来捕获长期时间依赖性。
- 特征提取器的训练问题:
- 一些研究发现,在CTC方法中,特征提取器可能没有得到充分的训练。
- 为了缓解这个问题,一些方法采用了迭代训练策略,但这增加了计算成本。
- 其他方法则尝试通过添加对齐损失或使用伪标签来直接增强特征提取器,以减轻计算负担。
- 更高级的CSLR方法:
- 最新的工作通过提取更具代表性的时间特征或动态强调信息丰富的空间区域来进一步提升CSLR的性能。
- 作者方法的特点:
- 作者的方法旨在显式地结合身体轨迹,特别是手和脸部的轨迹,来进行手语识别。
- 与之前的一些方法相比,作者的方法不依赖于额外的线索(如预提取的身体关键点)或多流网络,这些方法在利用手和脸部信息时计算成本较高。
- 相反,作者的方法可以通过端到端的训练方式,以自我驱动的方式动态地关注身体轨迹
3. Method
在连续手语识别(Continuous Sign Language Recognition, CSLR)模型中,传统方法主要依赖于特征提取器(如2D CNN)、1D CNN、双向长短期记忆网络(BiLSTM)和全连接层来构建模型,实现从视频帧到连续手语符号(glosses)的转换。然而,这些方法在处理视频帧时往往是独立的,忽略了连续帧之间的相互作用。为了解决这个问题,文中提出了一个相关性模块(correlation module)和一个识别模块(identification module),以识别和强化连续帧之间的身体轨迹信息。
特征提取
输入的视频帧 x = {x_t}^T_{t=1} ∈ R^{T × 3 × H_0 × W_0}
通过特征提取器(如2D CNN)处理,转换成帧级特征 v = {v_t}^T_{t=1} ∈ R^{T × d}
。这里的 T
是帧数,d
是特征维度,H_0
和 W_0
分别是原始帧的高度和宽度。
短期和长期时间建模
- 1D CNN:对帧级特征进行短期时间建模,捕捉帧间的局部时间依赖性。
- BiLSTM:对1D CNN的输出进行长期时间建模,捕获更长范围的时间依赖性。
相关性模块(Correlation Module)
该模块计算连续帧之间的相关性图,以捕捉所有空间块(如手部、身体等)的轨迹。相关性图有助于模型理解帧与帧之间物体(尤其是手部和身体)的移动情况。
识别模块(Identification Module)
此模块动态地定位和强调相关性图中嵌入的身体轨迹。它有助于模型更准确地关注于关键的身体动作,这些动作对于手语识别至关重要。
模块集成
两个模块的输出通过元素级乘法相结合,并通过一个可学习的系数 α
加到原始特征上。α
控制着这两个模块对最终特征贡献的程度,并初始化为0,以保持模型原有的行为不变。随着训练的进行,α
会逐渐学习到适当的值,以优化模型的性能。
损失函数
使用广泛采用的CTC(Connectionist Temporal Classification)损失函数来预测目标gloss序列的概率 p(y|x)
。CTC损失能够处理输入和输出序列长度不一致的情况,非常适合于手语识别等序列到序列的任务。
图2解释
图2展示了一个包含多个阶段的常见特征提取器的例子。在每个阶段之后,都插入了提出的两个模块。这种设计允许模型在提取不同层次的特征时,都能利用帧间的相关性信息,从而更准确地识别手语动作。
综上所述,通过引入相关性模块和识别模块,该方法有效地提升了CSLR模型在连续帧间交互信息的利用能力,有助于提高手语识别的准确性和鲁棒性。