Weakly-Supervised Video Moment Retrieval via Semantic Completion Network 论文阅读
- Abstract
- Introduction
- Related Work
- Approach
- Problem Formulation
- Proposal Generation Module
- Semantic Completion Module
- Training of Semantic Completion Network
- Network Design
- Experiments
- Conclusion
文章信息:
发表于:2020AAAI
原文链接:https://arxiv.org/abs/1911.08199
源码:https://github.com/ikuinen/semantic_completion_network
Abstract
视频片段检索旨在根据给定的自然语言查询搜索与之最相关的片段。现有方法大多在全监督设置下进行训练,这需要为每个查询手动标注其对应的时间边界。然而,手动标注这些时间边界实际上既费时又昂贵。在本文中,我们提出了一种新颖的弱监督片段检索框架,仅需要粗略的、视频级别的标注用于训练。具体而言,我们设计了一个提案生成模块,该模块聚合上下文信息,一次性生成并评分所有候选提案。然后,我们设计了一种结合利用与探索的算法,选择前K个提案。接下来,我们构建了一个语义补全模块,用于测量所选提案与查询的语义相似度,计算奖励,并为提案生成模块提供反馈,以优化评分。我们在ActivityCaptions和Charades-STA数据集上的实验结果证明了我们提出方法的有效性。
Introduction
图 1:视频片段检索示例:根据给定的自然语言查询搜索视频中最相关片段的时间边界。
视频片段检索是信息检索和计算机视觉领域中的一个重要课题,近年来吸引了越来越多的关注(Gao et al. 2017; Hendricks et al. 2017)。如图1中的两个示例所示,片段检索根据给定的自然语言查询,旨在定位视频中最相关片段的时间边界,这有助于我们快速筛选掉视频中无用的内容。更准确的片段检索需要对视频和查询有足够的理解,这使得该任务具有挑战性。虽然最近的工作(Chen et al. 2018; Zhang et al. 2019b; 2019a)取得了不错的结果,但它们大多在全监督设置下进行训练,这需要对每个视频的时间边界进行完整的标注。然而,手动标注这些真实的时间边界既耗时又昂贵,且需要大量的人力。此外,考虑到未经剪辑的视频包含多个连续的时间活动,准确标记边界是困难的,这在训练数据中产生了歧义和噪声。相比之下,获取视频的粗略描述要容易得多,而不需要标记时间边界,例如YouTube视频的字幕。这促使我们开发一种弱监督的片段检索方法,只需要粗略的视频级别标注进行训练。现有的弱监督方法(Mithun, Paul, and Roy-Chowdhury 2019)提出了学习联合的视觉-文本嵌入,并利用由中间文本引导注意力(TGA)产生的潜在对齐来定位目标片段。然而,缺乏额外监督的潜在注意力权重通常集中在最具区分度但较小的区域(Singh and Lee 2017),而不是覆盖完整区域。为了解决这些问题,本文提出了一种新颖的弱监督语义补全网络(SCN),包括提案生成与选择、语义补全用于语义相似度估计以及评分优化。
首先,我们并不依赖于模糊的注意力权重来定位最相关的片段,而是通过提案生成模块提取语义上重要的提案。相比于(Gao et al. 2017)中将每个候选提案独立处理的方法,我们利用视频和查询的跨模态融合表示,在一次处理过程中对不同尺度采样的所有候选提案进行评分,这充分利用了上下文信息来为其他提案进行评分。
在大量密集采样的提案集下,我们设计了一种结合利用与探索的算法来选择前K个提案。具体来说,我们首先根据相应的置信分数对所有候选提案进行排序。不同于仅基于非极大值抑制(NMS)选择高置信分数的提案,为了鼓励充分探索,我们以衰减的概率随机选择下一个提案,这有助于发现潜在的优质提案,并为提案提供更准确的置信分数。在训练初期,我们倾向于随机选择下一个提案以进行探索。随着模型逐渐收敛,置信分数高的提案会更频繁地被选择用于利用。
为了显式建模提案生成模块的评分,而不是依赖于没有额外监督的注意力权重(Mithun, Paul, and Roy-Chowdhury 2019),我们进一步测量所选提案与查询之间的语义相似度以优化评分。受最近关于掩码语言模型(Devlin et al. 2019; Song et al. 2019; Wang, Li, and Smola 2019)成功的启发,我们设计了一个新颖的语义补全模块,用于根据给定的视觉上下文预测被掩盖的重要词汇(如名词、动词)。具体来说,通过在解码器端掩盖重要词汇,SCN强制解码器依赖视觉上下文来重建查询,最语义匹配的提案可以提供足够的信息来预测关键词。然后,结合语义补全模块给出的评估结果,我们根据重建损失为每个提案计算奖励,并设计一个排序损失,鼓励提案生成模块为那些奖励较高的提案赋予更高的置信分数。
总的来说,我们工作的主要贡献如下:
-
我们提出了一种新颖的弱监督片段检索框架,仅需要粗略的标注进行训练,并在两个数据集上进行了实验:ActivityCaptions(Caba Heilbron et al. 2015)和Charades-STA(Gao et al. 2017),实验结果证明了我们方法的有效性。
-
我们构建了一个提案生成模块,用于一次性对所有候选提案进行评分,并设计了一个排序损失来优化评分。
-
我们设计了一种选择前K个提案的算法,该算法兼顾了利用和探索。
-
我们设计了一个新颖的语义补全模块,该模块根据给定的视觉上下文预测被掩盖的重要词汇,用于语义相似度估计。
Related Work
在这一节中,我们简要回顾了一些相关的工作,图像/视频检索,时间动作检测和视频时刻检索。
Image/Video Retrieval:图像/视频检索旨在从一组候选图像/视频中选择与查询最相关的图像/视频。(Karpathy and Fei-Fei 2015; Escorcia et al. 2016; Xu et al. 2015; Otani et al. 2016) 等方法提出了学习一个联合的视觉-语义空间,用于跨模态表示。在该空间中,跨模态表示的相似性反映了其原始输入之间的紧密程度。然而,在片段检索中,我们专注于根据给定的查询在视频中检索目标片段,而不仅仅是从预定义的候选集中选择目标图像/视频。
Temporal Action Detection: 时间动作检测旨在识别未经剪辑视频中每个动作实例的时间边界及其类别。动作检测方法可以分为监督和弱监督两种设置。(Shou, Wang, and Chang 2016; Escorcia et al. 2016; Buch et al. 2017; Shou et al. 2017; Zhao et al. 2017) 这些方法采用两阶段的监督学习方式进行训练,首先通过提案网络生成时间动作提案,然后通过分类网络预测每个提案的动作类别。然而,在弱监督设置下,仅提供粗略的视频级别标签,而没有精确的时间边界。(Wang et al. 2017) 中的UntrimmedNet利用多实例学习的原理和生成的注意力权重,选择最有可能包含动作实例的提案。(Nguyen et al. 2018) 提出的方法结合了时间类激活图和类别无关的注意力,用于定位动作实例的边界。相比于仅限于预定义类别集的动作检测,根据自然语言查询进行的片段检索要更具挑战性且更通用。
Video Moment Retrieval:视频片段检索旨在根据给定的自然语言查询,找到语义上匹配的目标片段。先前的工作(Gao et al. 2017; Hendricks et al. 2017; 2018; Liu et al. 2018; Chen et al. 2018; Xu et al. 2019; Zhang et al. 2019b; 2019a; Wang, Huang, and Wang 2019)主要集中在全监督设置下定位最相关的片段。其中,(Gao et al. 2017; Hendricks et al. 2017; 2018) 提出的方法通过滑动窗口采样不同长度的候选片段,并进行粗略融合以估计查询与片段在多模态空间中的相关性。进一步地,Temporal GroundNet (TGN) (Chen et al. 2018) 提出了一个交互模块,以利用逐帧和逐词的细粒度交互,并在一次处理过程中同时对一组候选片段进行评分。Cross-Modal Interaction Network (CMIN) (Zhang et al. 2019b) 提出了一个多头自注意力机制,以捕捉视频中的长距离依赖关系,并通过句法GCN获取细粒度的查询表示。Semantic Matching Reinforcement Learning (SM-RL) (Wang, Huang, and Wang 2019) 提出了一个基于循环神经网络的强化学习模型,并引入中层语义概念以弥合视觉信息与语义信息之间的语义差距。
尽管这些方法取得了较好的性能,但仍然需要收集大量人工标注的时间注释。一些工作(Bojanowski et al. 2015; Duan et al. 2018; Mithun, Paul, and Roy-Chowdhury 2019)也在弱监督设置下研究了这一任务。(Bojanowski et al. 2015) 提出的方法考虑将视频与一组时间有序的句子对齐,这种时间顺序可以被视为额外的约束和监督。(Duan et al. 2018) 提出的方法将视频中的弱监督密集事件描述(WS-DEC)问题分解为一个双重问题循环:描述生成和片段检索,并探索时间段和事件描述之间的一对一对应关系,同时有一个复杂的训练流程,如预训练和交替训练。Text-Guided Attention (TGA) (Mithun, Paul, and Roy-Chowdhury 2019) 提出学习联合的视觉-语义表示,并利用注意力分数作为视频帧与查询之间的对齐。
Approach
图 2:我们的视频片段检索语义补全网络的框架。 (a) 提案生成模块利用视频和查询的跨模态融合表示,在每个时间步对所有候选提案进行评分,然后考虑利用和探索选择前K个提案。 (b) 语义补全模块重建查询,其中重要的词汇根据提案的视觉表示被掩盖,计算基于重建损失的奖励,并向提案生成模块提供反馈以优化评分。
Problem Formulation
在本文中,我们考虑了在弱监督设置下进行视频片段检索的任务。给定一个未经剪辑的视频 { v i } i = 1 n v \{\mathbf{v}_i\}_{i=1}^{n_v} {vi}i=1nv,其中 n v n_v nv 是帧数, v i \mathbf{v}_i vi 是第 i i i 个特征向量,以及对应的查询 { q i } i = 1 n q \{\mathbf{q}_i\}_{i=1}^{n_q} {qi}i=1nq,其中 n q n_q nq 是查询中的词数, q i \mathbf{q}_i qi 是第 i i i 个特征向量,目标是在推理过程中定位最相关的片段 τ ^ = ( s ^ , e ^ ) \hat{\tau} = (\hat{s}, \hat{e}) τ^=(s^,e^),其中 s ^ \hat{s} s^ 和 e ^ \hat{e} e^ 分别是起始帧和结束帧的索引。
Proposal Generation Module
在这一节中,我们介绍了提案生成模块。如前所述,注意力权重通常集中在最具辨别性的但较小的区域,因此无法覆盖目标片段的整个时间范围。如图 2(a) 所示,相比之下,本模块根据视频和查询的跨模态表示对候选提案进行评分。此外,与(Gao et al. 2017; Hendricks et al. 2018) 中以滑动窗口方式分别处理不同提案的方法不同,我们的方法在一次处理过程中对所有候选片段进行评分,这充分利用了上下文信息。
具体而言,每个词的特征向量 q i \mathbf{q}_i qi 可以通过预训练的 word2vec 嵌入提取。然后,我们开发一个文本编码器 Enc q \text{Enc}_q Encq 来获取查询 q q q 的文本表示。接着,我们将文本表示和视频特征 v i v^i vi 输入到视觉解码器 Dec v \textbf{Dec}_v Decv 中,以获得视频和查询的最终跨模态表示 c = { c i } i = 1 n v \mathbf{c}=\{\mathbf{c}_i\}_{i=1}^{n_v} c={ci}i=1nv。
为了在一次处理过程中生成置信分数,我们首先在每个时间步预定义一组候选提案,表示为 C t = { ( t − r k ∗ n v , t ) } k = 1 n k C_t = \{ ( t - r_k * n_v, t) \} _{k=1}^{n_k} Ct={(t−rk∗nv,t)}k=1nk,其中 ( t − r k ∗ n v , t ) (t - r_k * n_v, t) (t−rk∗nv,t) 是第 t t t 个时间步中第 k k k 个候选提案的起始和结束边界, r k ∈ ( 0 , 1 ) r_k \in (0,1) rk∈(0,1) 是第 k k k 个比例, n k n_k nk 是候选提案的数量。注意, r k r_k rk 是每个时间步的固定比例。然后,基于跨模态表示 c \mathbf{c} c,我们可以通过一个带有 sigmoid \textbf{sigmoid} sigmoid 非线性的全连接层,同时为所有时间步的这些提案提供置信分数,表示为
其中 S C t ∈ R n k SC_t \in \mathcal{R}^{n_k} SCt∈Rnk 表示在第 t t t 个时间步中 n k n_k nk 个候选提案的置信分数向量。
给定候选提案 { C t } t = 1 n v \left \{ C_t\right \} _{t= 1}^{n_v} {Ct}t=1nv,我们应用一个同时考虑开发和探索的选择算法,选出前 K K K 个提案 G = { G k } k = 1 K G=\{G^k\}_{k=1}^K G={Gk}k=1K,并给出相应的置信分数 S = { S k } k = 1 K S= \{ S^k\} _{k= 1}^K S={Sk}k=1K,其中 G k = ( s k , e k ) G^k = (s_k, e_k) Gk=(sk,ek) 表示前 K K K 个提案中的第 k k k 个提案, S k S^k Sk 是其置信分数。具体而言,我们根据提案的对应置信分数对它们进行排序。在每一步中,我们以概率 p p p 随机选择一个提案,或者以概率 1 − p 1-p 1−p 选择置信分数最高的提案,并使用非极大值抑制(NMS)来移除那些与所选提案高度重叠的提案。我们通过一个与参数更新次数 n u p d a t e n_{update} nupdate 相关的衰减函数定义采样概率 p p p,给出如下公式:
其中 λ 1 , λ 2 \lambda_1,\lambda_2 λ1,λ2 是控制衰减率的超参数。随着训练的进行,随机选择下一个提案的概率逐渐减少。
Semantic Completion Module
在本节中,我们介绍语义补全模块,以衡量提案和查询之间的语义相似性,计算奖励并为前一模块提供反馈以优化评分。如图 2(b) 所示,重要词汇(例如名词、动词)根据给定的视觉上下文被遮掩并进行预测。与查询语义最匹配的提案能够提供足够的有用信息来预测关键词汇,同时包含更少的噪声。
首先,我们为第 k k k 个提案 G k = ( s k , e k ) G^k = (s_k, e_k) Gk=(sk,ek) 提取视频特征,表示为 v ^ k = { v i } i = s k e k \hat{\mathbf{v}}^k = \{\mathbf{v}_i\}_{i=s_k}^{e_k} v^k={vi}i=skek,并通过视觉编码器 Enc c v \text{Enc}_{\mathbf{c}_v} Enccv 获取视觉表示。我们将原始词序列表示为 w = { w i } i = 1 n q \mathbf{w} = \left\{\mathbf{w}_i\right\}_{i=1}^{n_q} w={wi}i=1nq,其中 w i \mathbf{w}_i wi 是查询的第 i i i 个词。然后,给定词序列 w \mathbf{w} w 和一组被遮掩的位置 X \mathcal{X} X,我们将那些被遮掩的词 w i , i ∈ X \mathbf{w}_i, i \in \mathcal{X} wi,i∈X 用特殊符号替换后的修改版本记为 w ^ \hat{\mathbf{w}} w^。我们可以提取 w ^ \hat{\mathbf{w}} w^ 的词特征,表示为 q ^ = { q ^ i } i = 1 n q \hat{\mathbf{q}} = \left\{\hat{\mathbf{q}}_i\right\}_{i=1}^{n_q} q^={q^i}i=1nq。接下来,通过一个双向文本解码器 Dec q \textbf{Dec}_q Decq,我们可以得到提案 G k G^k Gk 的最终跨模态语义表示 f k = { f i k } i = 1 n q \mathbf{f}^k = \left\{\mathbf{f}_i^k\right\}_{i=1}^{n_q} fk={fik}i=1nq,其表达式为
为了预测被遮掩的词汇,我们可以通过一个全连接层计算词汇表上的能量分布 e k = { e i k } i = 1 n q e^k = \left\{\mathbf{e}_i^k\right\}_{i=1}^{n_q} ek={eik}i=1nq,表示为
Training of Semantic Completion Network
在本节中,我们将描述我们优化的损失函数,以训练语义完成网络。
Reconstruction Loss.对于候选区域 G k G^k Gk 的能量分布 e k \mathbf{e}^k ek,我们首先采用重构损失来训练语义补全模块,使其能够从视觉上下文中提取关键信息以预测被遮蔽的单词。正式地,我们计算每个被遮蔽单词的负对数似然并将其相加,表示为
其中, L r e c k \mathcal{L}_{rec}^k Lreck 表示基于提案 G k G^k Gk 的视觉上下文的重构损失。
Rank Loss.为了修正提案生成模块给出的置信度评分,我们进一步应用排名损失来训练该模块。需要注意的是,我们基于奖励而非独热标签来修正置信度评分。具体地,我们为提案 G k G^k Gk 定义一个奖励函数 R k R^k Rk,以鼓励重构损失较低的提案。奖励从 1 1 1 逐步减少到 0 0 0,减少步长为 1 / ( K − 1 ) 1/(K-1) 1/(K−1)。
然后使用策略梯度方法来修正评分。需要注意的是,置信度评分通过 softmax 层进行归一化,这是一个非常重要的操作,旨在突出语义匹配的提案并削弱不匹配的提案。提案 G k G^k Gk 的排名损失 L r a n k \mathcal{L}_{ran}^k Lrank 计算方式为
Multi-Task Loss.对于每个提案的重构损失和排名损失,我们对所有提案的损失取平均,并计算多任务损失以端到端地训练语义补全网络,表示为
其中β是控制两个损失的平衡的超参数。
Network Design
在本节中,我们将介绍语义完成网络的细节,包括视觉/文本编码器和视觉/文本解码器的组件。
Encoder and Decoder.在 (Tang et al. 2018) 中指出,Transformer (Vaswani et al. 2017) 是一个强大的特征提取器。在本文中,我们基于双向 Transformer 构建了视觉/文本编码器和视觉/文本解码器,如图 2( c)(d) 所示。编码器/解码器由多层堆叠组成,每层包含多头注意力子层和全连接前馈网络。
Parameter Sharing.我们在视觉/文本编码器和视觉/文本解码器之间共享参数。如图 2( c)(d) 所示,编码器也可以被视为解码器,只是不计算来自另一种不同模态输入的注意力。参数共享极大地减少了参数数量并节省了内存。这也是一种模型级别的双向学习 (Xia et al. 2018),通过在任务之间共享参数,促进知识共享。
Experiments
Conclusion
本文研究了在弱监督学习的背景下进行视频时刻检索的任务,该任务不依赖手动标注的起止时间边界,使得任务更加现实但也更具挑战性。我们提出了一种新颖的语义补全网络(SCN),包括用于一次处理所有候选提案评分的提案生成模块、一个同时考虑开发与探索的高效提案选择算法、用于语义相似性估计的语义补全模块以及用于训练的多任务损失函数。在ActivityCaptions和Charades-STA数据集上的实验结果也表明了我们方法在利用视频与查询之间的对齐关系方面的有效性,以及提案选择算法和排序损失函数的高效性。