Two-Stream Network for Sign Language Recognitionand Translation,2022
论文最重要的还是Abstract,Introduction,related work,method这四部分翻来倒去说这个模型的双视觉编码器,双向侧向连接 、带辅助监督的手语金字塔网络和帧级自蒸馏的四个特色。
[Two-Stream Network for Sign Language Recognition.pdf](assets/Two-Stream Network for Sign Language Recognition-20231115162007-ejfp5qz.pdf)
Abstract
对于手语识别和翻译,大部分现有方法直接将RGB视频编码为隐藏表示。然而,RGB视频是具有大量视觉冗余的原始信号,导致编码器忽视手语理解所需的关键信息。为了解决这个问题并更好地融入领域知识,如手形和身体动作,我们引入了一个双视觉编码器 ,其中包含两个独立的流来模拟原始视频和由现成的关键点估计器生成的关键点序列。为了使这两个流之间相互作用,我们尝试了各种技术,包括双向侧向连接 、带辅助监督的手语金字塔网络和帧级自蒸馏。最终的模型被称为TwoStream-SLR,适用于手语识别(SLR)。通过简单地附加一个额外的翻译网络,TwoStream-SLR扩展为手语翻译(SLT)模型,称为TwoStream-SLT。在一系列数据集(包括Phoenix-2014、Phoenix-2014T和CSL-Daily)上进行实验,我们的TwoStream-SLR和TwoStream-SLT在SLR和SLT任务上达到了最先进的性能。
手语到文本的平行数据有限,视觉模态与语言模态之间的差距对于开发性能良好的手语翻译(SLT)系统构成了另一个挑战。为了解决这个问题,SLT通常需要在输入视觉信号和输出文本之间使用中间表示,即一系列词汇的表示,以实现令人满意的翻译结果。从给定的手语视频生成词汇序列的过程称为手语识别(SLR),在SLT中不存在词序问题。本文中,我们同时处理这两个任务。
从视频转换为自然语言称为手语翻译,但为了翻译效果更好,往往会先从视频转为一系列词汇表示,然后把词汇序列转换为自然语言,而视频生成词汇序列的过程称为手语识别。
Introduction
解决SLR和SLT的关键是构建一个视觉编码器,将视觉信号嵌入隐藏表示中。受到行为识别领域的启发,大部分工作探索直接建模RGB视频以理解手语。然而,这种模型的一个主要问题是它们的鲁棒性,当训练和测试之间的背景或使用者不匹配时,模型的性能会大幅下降。为了缓解这个问题,我们考虑将适当的领域知识(手语的特征)注入到学习中。手语使用两种类型的视觉信号来传达信息:手部元素,包括手形、手掌方向等,以及非手势标记,如面部表情和身体、头部、嘴巴、眼睛和眉毛的动作。在本文中,我们倡导将面部、手部和上半身的关键点引入到学习中,并引入了一种名为TwoStream-SLR的新型双流网络,以模拟RGB视频和手势点序列来进行手语识别(SLR)。通过附加一个额外的翻译网络,TwoStream-SLR可以用于手语翻译(SLT),称为TwoStream-SLT。我们使用在COCO-WholeBody 数据集上训练的HRNet 提取面部、手部和上半身的关键点。关键点通过热图表示。
这个可能也算跨域的一个模型?
我们引入了一个双视觉编码器 ,其中包含两个独立的流来模拟原始视频和由现成的关键点估计器生成的关键点序列。为了使这两个流之间相互作用,我们尝试了各种技术,包括双向侧向连接 、带辅助监督的手语金字塔网络和帧级自蒸馏。
TwoStream-SLR的设计原则和关键组件如下:
-
双视觉编码器。Dual Visual Encoder.
我们使用两个分别用轻量级头网络编码RGB视频和关键点序列(由一组热图表示)的S3D骨干网络。由于大多数手语数据集没有提供关键点注释,我们使用现成的关键点估计器HRNet为每帧生成面部、手部和上半身的伪关键点。两个流都使用著名的连接主义时间分类 (CTC)损失进行监督。与现有方法不同,现有方法要么利用关键点在特征图 /原始视频上裁剪相关区域,要么为多任务学习提供监督,我们直接应用卷积神经网络对关键点序列进行建模,避免了临时设计。我们的双编码器架构与用于动作识别的双流网络不同,后者编码图像(视频)/光流或两个不同帧率的视频。在将不同流在后期融合之前,我们通过平均它们的预测逐帧手势概率 ,然后将其馈送到CTC解码器以生成最终的手势序列。
Dual Visual Encoder
S3D backbones
head networks
heatmaps
keypoint estimator
connectionist temporal classification (CTC)
convolutional neural network(CNN)
predicted frame-wise gloss probabilities
-
双向侧向连接的信息交互。Information Interaction via Bidirectional Lateral Connection.
受摄影设备的限制,手语视频中存在很多运动模糊,导致关键点估计不准确。这促使我们利用视频流提取的信息来减轻建模关键点序列时由于较差的关键点而带来的负面影响。另一方面,手语视频中存在大量冗余和不相关信息(例如背景和签名者的外貌),这可能导致模型忽视关键信息。因此,我们提出将关键点流提取的特征作为补充信息整合到视频流中。由于双编码器的设计,可以通过双向侧向连接模块轻松地集成视频和关键点序列流的中间表示,以进行信息交换。
Bidirectional Lateral Connection
motion blur
redundancy
keypoint stream
-
通过手语金字塔网络和辅助损失缓解数据稀缺问题。Alleviate Data Scarcity via Sign Pyramid Network and Auxiliary Loss.
SLR和SLT都严重受到数据稀缺的影响。例如,广泛使用的Phoenix-2014T [6]数据集中只有约7K个并行训练样本。相比之下,训练有效的神经机器翻译模型通常需要100万个并行数据的语料库[45]。此外,类似于动作识别领域中具有不同视觉节奏的动作[54],手势也具有不同的时间跨度[44]。因此,我们在双编码器之上提出了一个手语金字塔网络(SPN) ,受到目标检测中的特征金字塔网络[34]和动作识别中的时间金字塔网络[54]的启发,以更好地捕捉低数据情况下各种时间跨度的手势。通过SPN产生的融合特征进一步通过辅助CTC损失进行监督,使浅层能够学习有意义的特征。
Data Scarcity
Sign Pyramid Network (SPN)
Auxiliary Loss
parallel training samples
visual tempos
temporal spans
feature pyramid network
temporal pyramid network
fused features
-
帧级自蒸馏。Frame-Level Self-Distillation.
我们将平均集成预测视为伪目标,并提出了额外的帧级自蒸馏损失 ,该损失通过计算每个流的预测与伪目标之间的KL散度在帧级别上进行。自蒸馏将后期集成预测中的丰富知识反馈到每个流的学习中。此外,与仅提供句级监督而没有时间边界信息的CTC损失相比,自蒸馏损失在每帧计算,以便通过额外的伪帧级监督进行训练。
Frame-Level Self-Distillation
averaged ensemble predictions
pseudo-targets
self-distillation loss
the KL-divergence
sentence-level supervision
temporal boundary information
pseudo frame-level supervision
Related Work
手语识别和翻译。Sign Language Recognition and Translation.
SLR模型通常由两个组件组成,一个视频编码器从输入视频中提取帧级特征,一个解码器(或头网络) 从提取的特征中输出手语词汇序列。
视频编码器通常基于包括3D-CNNs,2D-CNNs和2D+1D CNNs在内的CNNs,并且已经采用了单流和多流体系结构。在这项工作中,我们使用两个单独的S3D主干来建模RGB视频和关键点序列。
在手语词汇解码器的设计中,所有最近的工作都使用HMM或CTC,以跟随它们在自动语音识别中的成功。由于CTC损失只提供弱句级监督,[14, 56]提出通过CTC输出迭代生成细粒度的伪标签,以引入更强的帧级监督,而[38]则实现了整个模型和视觉编码器之间的帧级知识蒸馏。在这项工作中,作为双流体系结构的副产品,我们的帧级蒸馏将最终的集成知识传递给每个单独的流,并增强了两个流之间的交互和一致性。
SLT大多数现有方法通过使用视觉编码器作为标记器来将此任务制定为神经机器翻译(NMT) 问题,提取视觉特征并将其传递给翻译网络进行口语文本生成。我们使用mBART作为我们的翻译网络,因为它在SLT性能方面表现出色。为了达到令人满意的结果,在SLT中通常利用手语词汇监督(通过在SLR上预训练视觉编码器和联合训练SLR和SLT)。
video encoder
decoder (or head network)
single-stream
multi-stream architectures
S3D backbones
sentence-level supervision
fine-grained pseudo labels
frame-level knowledge distillation
byproduct
neural machine translation (NMT) problem
tokenizer
spoken text generation
将关键点引入SLR和SLT。Introduce Keypoints into SLR and SLT.
如何利用关键点来提高SLR和SLT的性能仍然是一个开放的问题。[58]和[40]利用估计的关键点坐标对特征图和RGB视频进行裁剪,以独立处理每个线索(手部,面部和身体)。其他一些工作[26, 7, 49]从坐标中对关键点进行建模。例如,[26]中的SLT系统将关键点坐标输入到一个MLP中,然后是递归神经网络。[49]将关键点表示为骨架图,进一步由图卷积网络(GCNs)建模。然而,所有现有的工作都将关键点视为一组坐标,对噪声非常敏感,小的扰动可能导致错误的预测。此外,需要额外的努力来设计专用模块,例如GCN。在这项工作中,我们将关键点表示为热图 ,对噪声具有鲁棒性,并且可以与视频流共享相同的架构。
keypoint coordinates
crop feature maps
recurrent neural networks
skeleton graphs
graph convolutional networks (GCNs).
small perturbation
heatmaps
多流网络。Multi-Stream Networks.
多流网络在动作识别领域得到了广泛的探索。例如,I3D构建了一个双流3D-CNN架构,将RGB视频和光流作为输入。SlowFast对具有不同帧率的视频进行编码。对于SLR和SLT,DNF遵循了I3D的思想,融合了RGB视频和光流的信息,而STMC则使用多流体系结构对手语的多线索属性进行建模,将裁剪的特征图作为输入。在这项工作中,我们的方法通过双编码器直接对RGB视频和关键点热图进行建模。此外,为了缓解数据稀缺问题并更好地捕捉不同时间跨度的词汇,我们提出了一个配备辅助监督的手语金字塔网络,以驱动浅层学习有意义的表示。如何建模不同流之间的交互是一个非平凡的问题。I3D使用后期融合策略,简单地对两个流的预测结果进行平均。另一种方法是通过侧连接、串联或加法在早期阶段融合每个流的中间特征。在这项工作中,我们将[17]中的侧连接扩展为双向连接,使两个流相互补充。此外,我们的自蒸馏将两个流的知识整合起来生成伪目标,这也可以看作是一种交互方式。
Multi-Stream Networks
optical flow
frame rates
multi-cue property
dual encoder
data scarcity issue
temporal spans
sign pyramid network
auxiliary supervision
shallow layers
late fusion strategy
lateral connections
concatenation
self-distillation
Method
在本节中,我们介绍了用于SLR和SLT任务的TwoStream-SLR和TwoStream-SLT。给定一个手语视频V =(v1,...,vT),其中T帧,我们的目标是优化TwoStream-SLR,以预测带有U个手语词汇(即SLR)的词汇序列G =(g1,...,gU)。在TwoStream-SLR上附加一个翻译网络,得到TwoStream-SLT,这个模型能够从手语视频中预测出与之相关的口语句子S =(s1,...,sW),其中W个单词(即SLT)。一般来说,U ≠ W。
TwoStream-SLR
图2显示了我们的TwoStream-SLR的概述,它由五个部分组成:1)视频编码器;2)关键点序列编码器;3)联合头部;4)双向侧连接模块;5)两个带有辅助监督的手语金字塔网络,用于建模RGB视频和关键点序列。整个网络通过CTC损失和帧级自蒸馏损失进行联合监督。关键点序列由热图表示。
视频编码器。Video Encoder.
我们使用带有轻量级头网络的S3D作为我们的视频编码器。由于我们的目标是沿着时间维度提取密集表示,因此只使用了S3D的前四个块。我们将每个大小为T×H×W×3的视频输入编码器,提取其特征,其中T表示帧数,H和W表示手语视频的高度和宽度。我们将H和W默认设置为224。最后一个S3D块的输出特征在输入头部网络之前被空间池化为T/4×832的大小。头部网络的目标是进一步捕捉时间上下文。它由一个时间线性层、一个批归一化层、一个ReLU层以及一个时间卷积块组成,该块包含两个时间卷积层,时间核大小为3,步长为1,一个线性翻译层和一个ReLU层。输出特征被命名为gloss表示,大小为T/4×512。然后,应用线性分类器和Softmax函数提取帧级别的gloss概率。最后,我们使用联结时序分类(CTC) 损失 L C T C V L^V_{CT C} LCTCV来优化视频编码器**。
Video Encoder
lightweight head network
dense representations
temporal dimension
spatially pooled
temporal context
temporal linear layer
batch normalization layer
ReLU layer
temporal convolutional block
emporal kernel
stride
linear translation layer
linear classifier
Softmax function
connectionist temporal classification (CTC)
关键点编码器。Keypoint Encoder.
为了对关键点序列进行建模,我们首先利用在COCO-WholeBody上训练的HRNet生成每帧42个手部关键点,覆盖嘴巴、眼睛和脸部轮廓的68个面部关键点,以及覆盖肩膀、肘部和手腕的11个上身关键点。我们经验性地发现,只使用26个面部关键点的子集(10个嘴部关键点和16个其他部位)既表现良好又节省计算资源。总共使用了79个关键点。
我们使用热图来表示关键点。具体而言,用大小为T×H'×W'×K的热图序列G表示关键点热图,其中H'和W'表示每个热图的空间分辨率,K是关键点的总数,G的元素由高斯函数生成: G ( t , i , j , k ) = e x p ( − [ i − x t k ] 2 + [ j − y t k ] 2 / 2 σ 2 ) G_{(t,i,j,k)} = exp(-[i-x^k_t]^2+[j-y^k_t]^2/2σ^2) G(t,i,j,k)=exp(−[i−xtk]2+[j−ytk]2/2σ2)其中, ( x t k , y t k ) (x^k_t, y^k_t) (xtk,ytk)表示第t帧中第k个关键点的坐标,σ控制关键点的尺度。我们默认将σ设为4,并将H'= W' = 112以降低计算成本。
关键点编码器的网络架构与视频编码器相同,只是第一个卷积层被替换来适应关键点输入。请注意,视频编码器和关键点编码器的权重不共享。类似地,使用CTC损失训练关键点编码器,表示为 L C T C K L^K_{CT C} LCTCK** 。
spatial resolution
scale of keypoints
双向横向连接。Bidirectional Lateral Connection.
为了融合两个流的信息,我们提出了横向连接,这在动作识别和目标检测中已经被研究。横向连接通过对相同分辨率的两个特征图进行逐元素相加操作来实现。我们将横向连接应用于两个S3D骨干网的前三个块(B1、B2和B3)生成的特征(C1、C2和C3)。由于两个流提取的中间特征的空间分辨率不同,我们使用空间步进卷积和转置卷积来对齐它们的空间分辨率。在实现上,横向连接是双向的,我们还研究了单向横向连接等其他变体。
lateral connection
element-wise add operation
same resolution
spatial resolutions
intermediate features
spatially strided convolution
transposed convolution
nidirectional lateral connection
联合头部和后期集成。Joint Head and Late Ensemble.
视频编码器和关键点编码器都有自己的头网络。为了充分发挥双编码器架构的潜力,我们提出了一个额外的头网络,称为联合头部,它以两个S3D网络的输出串联拼接作为输入。联合头部的架构与视频头部和关键点头部相同。联合头部也由CTC损失进行监督,表示为 L C T C J L^J_{CT C} LCTCJ。我们将视频头部、关键点头部和联合头部预测的逐帧手语概率平均,并将其输入到CTC解码器中生成手语序列G。这种后期集成策略融合了多流的结果,并在实验中改善了单流预测的性能。
concatenation
frame-wise gloss probabilities
late ensemble
手语金字塔网络。Sign Pyramid Network.
为了更好地捕捉不同时间跨度的手语并有效地监督浅层网络学习有意义的表示,我们在双视觉编码器上构建了一个手语金字塔网络(SPN) ,并在其上提供辅助监督 。 SPN的架构如图3a所示。具体而言,我们将S3D骨干网的最后三个块的输出分别表示为C2、C3和C4。类似于[54],手语金字塔的构建包括自顶向下的路径和横向连接。我们使用逐元素相加操作来融合相邻S3D块提取的特征,融合后的特征称为P2和P3(参见图3a)。我们使用转置卷积来匹配两个特征图的时间和空间维度 ,然后在P2和P3上应用两个独立的与双编码器中使用的头网络相同架构的头网络来提取逐帧手语概率 。同样地,采用CTC损失提供辅助监督。为了方便起见,我们为视频流和关键点流使用了两个独立的SPN。两个流的辅助CTC损失分别表示为 L A C T C V L^V_{ACTC} LACTCV和 L A C T C K L^K_{ACTC} LACTCK。在推理阶段,不使用SPN。
temporal spans
shallow layers
sign pyramid network (SPN)
auxiliary supervision
element-wise add operation
transposed convolution
temporal and spatial dimensions
frame-level gloss probabilities
auxiliary supervision
逐帧自蒸馏。Frame-Level Self-Distillation.
现有的数据集只提供句子级别的手语注释,手语的时间边界没有标注。因此,广泛采用CTC损失来利用这种弱监督。然而,一旦经过良好优化,视觉编码器能够从中生成逐帧手语概率,从中可以估计手语的大致时间边界。这启发我们使用预测的逐帧手语概率作为伪目标,除了粗粒度的CTC损失外,还提供额外的细粒度监督。根据我们的双流设计,我们使用三个头网络的平均手语概率作为伪目标来指导每个流的学习。形式上,我们最小化伪目标和三个头网络的预测之间的KL散度。我们将其称为逐帧自蒸馏损失 L D i s t L_{Dist} LDist** L D i s t L_{Dist} LDist,因为它不仅提供了逐帧级别的监督,还将后期集成中的知识蒸馏回每个单独的流中。
sentence-level gloss annotations
temporal boundaries
weak supervision
frame-wise gloss probabilities
fine-grained supervision
coarse-grained
KL-divergence
frame-level self-distillation loss
late ensemble
损失函数。Loss Function.
TwoStream-SLR的总损失由三部分组成:
1)应用于视频编码器输出的CTC损失 ( L C T C V ) (L^V_{CT C}) (LCTCV)、关键点编码器输出的CTC损失 ( L C T C K ) (L^K_{CT C}) (LCTCK)和联合头部输出的CTC损失 ( L C T C J ) (L^J_{CT C}) (LCTCJ);
2)应用于两个手语金字塔网络输出的辅助CTC损失( L A C T C V L^V_{ACTC} LACTCV和 L A C T C K L^K_{ACTC} LACTCK);
3)蒸馏损失 ( L D i s t ) (L_{Dist}) (LDist)。
我们将识别损失表示如下:
L
S
L
R
=
L
C
T
C
V
+
L
C
T
C
K
+
L
C
T
C
J
+
λ
V
L
A
C
T
C
V
+
λ
K
L
A
C
T
C
K
+
L
D
i
s
t
(
1
)
L_{SLR} = L^V_{CT C}+L^K_{CT C}+ L^J_{CT C} + λ_V L^V_{ACTC} + λ_KL^K_{ACTC}+ L_{Dist} (1)
LSLR=LCTCV+LCTCK+LCTCJ+λVLACTCV+λKLACTCK+LDist(1)
其中λV和λK表示视频流和关键点流的辅助CTC损失的权重。
TwoStream-SLT
先前的方法将SLT任务表述为神经机器翻译(NMT)问题,其中翻译网络的输入是视觉编码器的输出。我们遵循这个范例,并附加一个带有两个隐藏层和后续翻译的MLP网络连接到TwoStream-SLR以便SLT。由此产生的网络称为TwoStream-SLT,如图所示。我们采用mBART作为我们的翻译网络,因为它具有出色的翻译能力
性能。为了利用我们的TwoStream设计,我们附加了一个MLP和一个翻译网络连接到我们的TwoStream-SLR的三个头。每个MLP的输入是由相应的头部网络编码的特征(即3.1节中定义的gloss表示)。翻译损失是一个标准的序列间交叉熵损失。整体翻译损失
L
T
L_T
LT是三个翻译损失的总和。TwoStream-SLT由公式1定义的损失
L
S
L
R
L_{SLR}
LSLR和翻译损失
L
T
L_T
LT共同监督,可表示为:
L
S
L
T
=
L
S
L
R
+
L
T
(
2
)
L_{SLT} =L_{SLR} + L_T(2)
LSLT=LSLR+LT(2)
在推理过程中,我们采用多源翻译集合的融合策略进行组合三个翻译网络的预测。
neural machine translation (NMT)
gloss representations
cross-entropy loss
multi-source translation ensemble
到此为止,论文重要的部分结束。
我对TwoStream-SLR和TwoStream-SLT模型的理解:
TwoStream-SLR:
使用两个S3D骨干网络backbones(双视觉编码器)来建模RGB视频和关键点序列 。用带有轻量级头网络head networks的S3D作为视频编码器,且只使用了S3D的前四个块,最后一个S3D块的输出特征在输入头部网络之前被空间池化,头部网络进一步捕捉时间上下文,输出的特征称为gloss(序列)表示。
使用在COCO-WholeBody上训练的关键点估计器HRNet为每帧生成面部、手部和上半身的伪关键点,共使用了79个关键点。将关键点表示为热图heatmaps,对噪声具有鲁棒性,并且可以与视频流共享相同的架构。关键点编码器的网络架构与视频编码器相同,只是第一个卷积层被替换来适应关键点输入。
视频编码器和关键点编码器的权重不共享。两个流都使用连接主义时间分类(CTC)损失进行监督。
通过双向侧向连接模块集成视频和关键点序列流的中间表示,以进行不同流之间的交互。横向连接通过对相同分辨率的两个特征图进行逐元素相加操作来实现。将横向连接应用于两个S3D骨干网的前三个块(B1、B2和B3)生成的特征(C1、C2和C3)。由于两个流提取的中间特征的空间分辨率不同,我们使用空间步进卷积和转置卷积来对齐它们的空间分辨率。
视频编码器和关键点编码器都有自己的头网络。提出了一个额外的头网络,称为联合头部,它以两个S3D网络的输出串联拼接作为输入。将视频头部、关键点头部和联合头部预测的逐帧手语概率平均,并将其输入到CTC解码器中生成手语gloss序列G。
为了缓解数据稀缺问题、更好地捕捉不同时间跨度的手语词汇并有效地监督浅层网络学习有意义的表示,在双视觉编码器上构建了一个手语金字塔网络(SPN),并在其上提供辅助监督。SPN的架构具体是将S3D骨干网的最后三个块的输出分别表示为C2、C3和C4。使用逐元素相加操作来融合相邻S3D块提取的特征,融合后的特征称为P2和P3。使用转置卷积来匹配两个特征图的时间和空间维度,然后在P2和P3上应用两个独立的头网络来提取逐帧手语概率,采用CTC损失提供辅助监督。
提出了额外的帧级自蒸馏损失,该损失通过计算每个流的预测与伪目标(三个头网络的平均手语概率)之间的KL散度在帧级别上进行。自蒸馏将后期集成预测中的丰富知识反馈到每个流的学习中。
L S L R = L C T C V + L C T C K + L C T C J + λ V L A C T C V + λ K L A C T C K + L D i s t L_{SLR} = L^V_{CT C}+L^K_{CT C}+ L^J_{CT C} + λ_V L^V_{ACTC} + λ_KL^K_{ACTC}+ L_{Dist} LSLR=LCTCV+LCTCK+LCTCJ+λVLACTCV+λKLACTCK+LDist
TwoStream-SLT:
附加一个带有两个隐藏层和后续翻译的MLP网络连接到TwoStream-SLR以便SLT。使用mBART作为翻译网络进行口语文本生成(从gloss序列到自然语言)。
L S L T = L S L R + L T L_{SLT} =L_{SLR} + L_T LSLT=LSLR+LT
Experiment
比github代码readme更具体的实验细节。
Implementation Details.
首先,在Kinetics-400数据集上对S3D骨干网络进行预训练。然后,在没有手语金字塔网络的情况下,我们分别对视频和关键点编码器进行预训练,使用单个CTC损失进行监督。最后,TwoStream-SLR加载两个编码器的预训练权重,使用公式1中定义的损失进行SLR训练。根据[10]的方法,我们使用在CC 2 5 3 25^3 253上预训练的mBART-large-cc 2 5 2 25^2 252初始化我们的翻译网络,并在SLT训练期间冻结S3D主干,以防止过拟合。除非另有说明,否则在推理期间,我们将公式1中的 λ V λ_V λV设置为0.2, λ K λ_K λK设置为0.5,CTC解码器和SLT解码器的波束宽度设置为5。我们使用余弦退火调度40个时期,并使用Adam优化器进行训练,权重衰减为1e-3,TwoStream-SLR的初始学习率为1e-3,MLP和翻译网络的初始学习率为1e-5。我们在8个Nvidia V100 GPU上训练我们的模型。
overfitting
beam width
cosine annealing
optimizer
initial learning rate
Datasets.
我们在Phoenix-2014、Phoenix-2014T和CSL-Daily数据集上评估我们的方法,同时后两个数据集还用于SLT评估, 因为它们提供了文本注释。所有消融研究都是在Phoenix-2014T的SLR任务上进行的。
- Phoenix-2014是一个德语手语识别数据集,词汇表大小为1081。它包含5672个训练样本、540个开发样本和629个测试样本。
- Phoenix-2014T是Phoenix-2014的扩展版本,手语词汇表大小为1066,德语文本词汇表大小为2887。它包含7096个训练样本、519个开发样本和642个测试样本。
- CSL-Daily是一个新发布的大规模中文手语数据集,手语词汇表大小为2000,中文文本词汇表大小为2343。它包含18401个训练样本、1077个开发样本和1176个测试样本。
Evaluation Metrics.评估指标。
根据先前的工作,我们采用词错误率(word error rate,WER)评估SLR的性能,采用BLEU(bilingual evaluation understudy,直译为双语评估理解)和ROUGE-L(recall-oriented understanding for gisting evaluation,直译为召回率导向要点评估理解)评估SLT的性能。较低的WER值表示更好的识别性能,而对于BLEU和ROUGE-L,数值越高表示性能越好。
误字率(word error rate,WER)作为手语识别研究中衡量两句之间相似度的指标。其是指将已识别句子转换为相应参考句子所进行的替换、插入和删除 操作的最小总和。 W E R = S + I + D N WER = \frac{S + I + D}{N} WER=NS+I+D 其中,S、I 和 D 表示将假设句转换为标注序列所需的替换、插入和删除操作的最小数量。 N 是标注序列的单词数。
BLEU 得分是手语翻译常用的评估指标。假设一个文本由机器和人工各翻译一次,BLEU 的值为 n 个连续的单词序 列(n-gram)同时出现在机器翻译和人工翻译中的比例。根据n-gram可以划分成多种评价指标,如BLEU-1、BLEU-2、BLEU-3、BLEU-4。
召回率(Recall)又叫查全率,表示的是样本中的正例有多少被预测正确。
ROUGE 是通过统计系统生成的机器翻译与人工生成的标准翻译之间重叠的基本单元(n 元语法、词序列和词对)的数目,来评价翻译的质量。
SLR和SLT上与最先进方法的比较Comparison with State-of-the-art Methods on SLR and SLT
对于SLR,
我们在Phoenix-2014、Phoenix-2014T和CSL-Daily数据集上将我们的TwoStream-SLR与最先进的方法进行比较,如表1所示。我们的识别网络在所有数据集上都取得了最新的最优结果,分别比之前最优方法在Phoenix-2014上提高了1.6%,在Phoenix-2014T上提高了1.1%,在CSL-Daily上提高了6.7%。
表1:与手语识别(SLR)上的先前工作进行比较。采用词错误率(WER)作为评估指标。先前的最佳结果已用下划线标出。∗表示除RGB视频外采用其他模态的方法,例如姿势关键点[58]、光流[14]或手/嘴部形状[31]。[5, 21, 14, 11, 8]在CSL-Daily上的结果由SignBT [57]复现。
对于SLT,
我们在Phoenix-2014T和CSL-Daily数据集上将我们的TwoStream-SLT与最先进的方法进行比较,如表2所示。按照通常的做法,我们在两种设置下评估我们的方法:1) Sign2Text,直接从手语视频中生成文本;2) Sign2Gloss2Text,我们首先使用识别模型从手语视频中预测出手语序列,然后使用在手语序列和文本对上训练的翻译模型将预测的手语序列翻译为文本。我们的TwoStream-SLT在两种设置下都超过了之前的所有方法。我们认为我们更好的SLT性能主要归因于TwoStream-SLR编码的优秀视觉表示。
表2:与手语翻译(SLT)上的先前工作进行比较。Sign2Gloss2Text表示两阶段的流程,Sign2Text表示端到端的手语到文本翻译表。先前的最佳结果已用下划线标出。†表示不使用手语标注的方法。 (R:ROUGE,B:BLEU) 。[6, 8]在CSL-Daily上的结果由SignBT [57]复现。
消融研究Ablation Study
消融研究就是控制变量,研究各组件的效果,来说明自己提出的模型优越。
各组件的效果。Effects of Each Component.
我们首先在表3中展示了TwoStream-SLR中每个提出的组件的效果。
没有双重架构的情况下,两个单独的流(一个模型处理RGB视频,另一个模型处理关键点序列)在Phoenix-2014T开发集上的词错误率(WER)分别为21.08%和27.14%。通过对两个流的最终预测结果进行平均,WER降低到20.47%。
引入双向侧连接带来了两个流之间的信息交互,显著提高了1.44%。
引入带有辅助CTC损失的手语金字塔网络(SPN)有助于中间层学习更有意义的特征,进一步提升性能,将WER降低到18.52%。
除了各自的头网络,我们还提出了一个联合头来进一步集成两个流的编码特征。我们的方法配备联合头实现了18.36%的WER。
最后,通过添加辅助的逐帧自蒸馏损失,我们的框架取得了最佳结果,WER为17.72%。
表3:研究TwoStream-SLR每个组件在Phoenix-2014T SLR任务上的影响。(V:视频,K:关键点,Bilateral:双向侧连接,SPN:手语金字塔网络)。
对侧连接的研究。Study on Lateral Connection.
侧连接的目标是提供信息交互,使视频流和关键点流能够相互补充。在这里,我们比较了默认配置和其他变体,包括单向侧向连接和不同的连接策略,其中默认配置在C1、C2和C3的两个流上进行了双向侧向连接(见表4a)。没有侧连接时,基线模型在Phoenix-2014T开发集上的词错误率(WER)为18.57。通过信息交互,无论是单向(视频→关键点和关键点→视频)还是双向侧连接策略都优于基线模型。由于具有最佳性能,我们采用在C1、C2和C3上进行的双向侧连接。
对手语金字塔网络(SPN)和辅助监督的研究。Study on Sign Pyramid Network and Auxiliary Supervisions.
手语理解受到数据稀缺性的影响。为了捕捉不同时间跨度的手语和驱动中间层学习更有意义的特征,我们提出了一个带有辅助CTC损失的手语金字塔网络(SPN)。
在这里,我们研究了三个关键因素:1)将SPN应用于单个流还是两个流;2)SPN的级别;3)两个流的辅助CTC损失的损失权重。前两个因素在表4b中进行了研究,而最后一个因素在表4c中进行了研究。我们观察到,在视频流和关键点流上都应用SPN可以获得更好的结果。我们还发现,在非常浅的层(即P1)上施加额外的CTC监督会损害性能,因此我们建议为每个流生成两个金字塔级别(P2和P3)。我们将等式1中的 λ V λ_V λV和 λ K λ_K λK设置为0.2和0.5,因为它们可以获得更好的性能。
自蒸馏策略的研究。Study on Self-Distillation Strategies.
提出的自蒸馏损失提供了帧级别的监督。在伪细粒度监督(自蒸馏损失)和粗粒度监督(CTC损失)之间存在权衡。在这里,我们改变了自蒸馏损失 L D i s t L_{Dist} LDist的权重,并在表4d中展示了结果。当权重设置为1.0时,获得了最佳性能。
frame-level supervision
trade-off
pseudo fine-grained supervision
coarse-grained
此外,我们还研究了:1)应该将哪个预测作为伪目标(教师);2)我们的双重视觉编码器中的哪些头部(学生)应该受到伪目标的教导;3)伪目标的概率是否应进行二值化(软目标或硬目标)。表4e显示了结果。我们在双重视觉编码器中提供了三个头网络,即视频头、关键点头和联合头。
我们观察到,将三个头(集合)的平均手语概率作为伪目标要优于使用联合头的预测。我们还发现,在所有三个头上应用自蒸馏损失可以获得更好的结果,而使用软预测作为伪目标要优于使用硬伪目标。
binarize
soft target
hard target
关于关键点输入的研究。Study on Keypoint Inputs.
手语利用包括手型、面部表情、身体、头部、嘴巴和眼睛的移动等多个视觉信号来传达信息。为了研究在SLR中各种关键点的重要性,我们使用不同组合的关键点作为输入训练了几个单流关键点编码器,并在Phoenix-2014T SLR任务上评估它们的性能。我们使用在COCO-WholeBody上训练的HRNet生成了总共79个关键点。这些关键点可以分为4组:1)11个上半身关键点;2)42个手关键点;3)10个嘴巴关键点;4)16个面部关键点(不包括嘴巴)。我们逐步将每组关键点加入模型训练,并在表5a中展示结果。可以看到,所有部分都对手语理解有贡献。
我们使用具有超参数σ的高斯函数(表示关键点尺度)生成一组热图,每个热图的大小为H'×W',用于表示关键点序列。在表5b中,我们研究了σ的值和热图的分辨率。我们发现,σ=4和H'=W'=112可以获得最佳性能。
keypoint scale
resolution
Conclusion
和Abstract差不多。