人大提出新模型,将Two Stage的Video Paragraph Captioning变成One Stage,性能却没下降

0

写在前面

视频段落字幕(Video paragraph captioning)的目的是在未修剪的视频中描述多个事件。现有的方法主要通过事件检测和事件字幕两个步骤来解决问题。这种二阶段的方式使生成的段落的质量高度依赖于事件建议(event proposal)检测的准确性,然而事件建议检测也是一项具有挑战性的任务。

在本文中,作者提出了一个一阶段的段落字幕模型,避免了事件检测阶段,直接为未修剪的视频生成段落描述。为了描述连贯和多样化的事件,作者提出使用动态视频记忆来增强时间维度的Attention。通过逐步暴露新的视频特征,抑制过度访问的视频内容,来控制模型的视觉焦点。
此外,作者还提出了多样性驱动的训练策略,以提高语言角度的多样性。考虑到未修剪的视频通常包含大量冗余的帧,作者进一步用视频编码器提取关键帧,以提高效率。在ActivityNet和Charades数据集上的实验结果表明,作者提出的模型在不使用任何事件边界注释的情况下,在准确性和多样性度量上都显著优于目前SOTA模型的性能。
01

论文和代码地址

Towards Diverse Paragraph Captioning for Untrimmed Videos
论文地址:https://arxiv.org/abs/2105.14477

代码地址:https://github.com/syuqings/video-paragraph

02

Motivation

视频字幕( video captioning)任务通常是生成一个句子来描述一个精心修剪的视频,这些视频主要在短时间内包含一个主要事件,如10-20秒。然而,现实工业界中视频大多是未修剪的, 每个视频通常包含多个事件。

在这种未修剪的视频中,一个句子就不足以传达细粒度的信息。因此,视频段落字幕(video paragraph captioning)任务就是为了生成一个包含多个句子的段落来全面描述视频内容。
现有的工作主要采用二阶段框架进行视频段落字幕:首先检测视频中的事件段,然后为每个段生成事件描述。尽管这个框架是合理的,但该框架仍需要时间段坐标来训练模型,而视频片段边界时间标注的成本很高。
此外,由于事件类别在开放域未修剪的视频中非常多样化,因此与动作检测任务相比,检测精确的事件片段是相当具有挑战性的。而检测任务的上限极大地影响了现有框架中段落字幕的性能。
然而,事件检测是否真的是必要的视频段落字幕? 我们回顾一下图像段落字幕任务。SOTA方法可以直接从图像中生成句子,而不预测图像坐标序列。受这些工作的其他,作者希望避免事件段检测过程,并在单个阶段有效地生成视频段描述。
当事件片段不可用时,视频段落字幕主要有三个挑战:
1)首先,一个未修剪的视频通常由数百或数千帧组成,而一个图像包含的候选区域要少得多。因此,它在描述生成过程中消耗了更多的计算资源

2)其次,大量的候选帧也使得字幕模型很难学习一个有效的注意机制来形成一个连贯的描述逻辑 ,来描述视频中的不同事件

3)第三,字幕模型通常倾向于在数据集中产生高频率的冗余单词和短语 ,特别是对于长段的生成

在这项工作中,作者提出了一个单阶段的框架,以解决多样化和高效视频段落生成的挑战。考虑到未裁剪的视频中有许多冗余帧,作者提出通过额外的视频语义摘要损失(summary loss)和稀疏性损失(sparsity loss) ,在视频编码过程中自动选择关键帧。
这样,在推理过程中,只使用关键帧来生成段落,从而提高了计算效率。为了使得模型对不同连贯事件进行有效描述逻辑的学习,作者提出通过动态视频记忆来改进传统的时间维度注意力 ,以跟踪和控制视频中的视觉注意力。
它包括一个“添加”操作,逐步公开新的视频帧给模型;以及一个“擦除”操作,抑制过度访问重复的视频内容。为了从语言的角度进一步提高生成的段落的多样性,作者通过token级和序列级高频惩罚辅助函数 ,来生成更独特的表达。
03

方法

本文提出的模型结构如上图所示

3.1. Keyframe-aware Video Encoder

考虑到未修剪的视频中有大量的clip,给解码器带来了巨大的注意力计算负担。因此,作者提出了在视频编码过程中显式地选择关键帧。用一个关键帧选择层来增强普通编码器,它根据其上下文表示来预测每个片段的信息量。在第i个编码层中,所编码的视频特征计算如下:

其中就Sigmoid函数,是预测的第i个编码层第j个clip的信息量。
然而,仅段落生成损失不能为关键帧选择提供足够的监督,选择不好的视频特征会阻碍解码器的有效注意力学习。因为关键帧可以很好地表示整个视频的语义内容,如果能够将他们在语义空间中重建原始视频就好了。因此,作者提出在视觉-语义联合embedding空间中重建视频的高级语义embedding。
具体来说,利用视频文本检索任务作为代理任务来预训练这种语义embedding空间。首先将视频特征序列和ground-truth段分别提供给GRU,得到每个序列的全局编码向量。
然后将其映射到联合embedding空间,用hard negative triplet loss优化,以确保具有相似语义的视频/文本被embedding得更近。经过预训练后,固定GRU的参数,计算视频重建损失如下:
其中。为了惩罚大量被选择的关键帧,作者进一步引入了一个稀疏性损失,如下:
其中,L为视频clip的总数,δ为表示关键帧的选择比例的超参数。请注意,在训练阶段,使用关键帧的soft选择来进行梯度反向传播;而在推理时,使用来选择Top-δL个关键帧,以降低解码效率的计算成本。

3.2. Attention with Dynamic Video Memories

利用编码的视频特征序列,解码器采用时间注意机制进行段落生成。然而,视频段落通常包含丰富的时间逻辑结构,传统的注意力很难从有限的训练样本中学习。因此,作者利用动态视频记忆增强了解码器中的时间注意机制。

本文的模型不是在每个解码步骤采用相同的,而是在每个步骤t采用视频记忆,,。这些步骤动态更新,使视觉注意在不同事件上移动。假设α是第t步在视频记忆上的注意权重。
我们利用历史注意α,,α和历史窗口W将更新到,以便在下一步进行注意。我们使用注意力历史而不是α,是因为希望生成一个完整的短语或句子时更新视频记忆。作者将注意力历史汇总到α中,以使最近步骤的注意更加重要:
其中,是历史衰减的权重,α用于更新视频记忆。主要通过两个操作,progressive memory exposure的“add”操作,以逐步向记忆添加更多的视频clip特征;over-access memory decay的“erase”操作用于删除已经描述过的clip。

Progressive Memory Exposure

为了保持事件描述遵循时间顺序,作者提出逐步将视频特征序列暴露给参与的视频记忆M。首先初始化如下:

其中S为初始化的窗口大小。它可以使解码器首先关注视频的开始,而不是随机开始段落生成。
首先提出adding gate,以确定是否应该在步骤t时向记忆“添加”新特征。因为当生成非视觉单词或被访问的视频帧尚未被完全描述时,视频记忆的更新应该比较少。计算如下:
其中σ为Sigmoid函数,为第t步的输出隐藏状态,为由θ参数组成的全连接网络。然后,根据clip feature与之前上下文的视觉相关性,来判断是否要将他们加入到视频记忆中。该上下文可以使模型保持事件和描述的一致性。上下文是根据聚合的Attention历史来计算的:

因此,将每个clip特征添加到视频记忆中的概率计算方式为:

基于每个clip特征的adding gate和概率,可以逐渐向记忆中添加视频特征,即:
其中,,是中间记忆特征,后面可能通过“erase”操作进行进一步处理。

Over-accessed Memory Decay

除了描述的一致性外,描述视频的不同内容对视频段落的生成也很重要。为了防止解码器只关注几个突出的帧,作者提出削弱已经访问的视频特性,以鼓励模型描述更多看不见的视频帧。与渐进式记忆暴露机制类似,作者使用作为erase gate,以确定是否在第t步去除视频的记忆,如下:

考虑到注意权重可以表示每个clip特征的访问强度,作者基于注意权重来更新视频记忆。除了注意权重之外,为了确保被删除的高关注特征已经被描述,作者又进一步计算它们与生成的单词的语义相关性,如下:
最后,可以将视频记忆更新为,如下:

3.3. Diversity-driven Training

动态视频记忆机制可以帮助模型描述不同的视频内容,而不同的语言表达也对段落的生成至关重要。字幕模型的MLE和RL训练目标都迫使模型拟合ground-truth的分布,这使得解码器倾向于生成高频出现的token和短语。

它不仅导致重复的表达,而且使模型产生错误的描述,忽略视频内容。因此,作者通过token级和短语级的高频惩罚来进行训练。

Token-level Training

在token级的训练中,作者用高频单词惩罚来增强MLE目标函数。考虑到以前的模型倾向于重复以前生成的单词,作者将之前的上下文单词定义为当前训练对,的高频token。因此,新的MLE损失函数为:

其中为需要被惩罚的候选单词。

Sequence-level Training

在序列级训练中,作者将短语级惩罚引入到了RL损失函数中。逆文档频率(IDF)分数可以表示n-gram的唯一性,作为强化学习中的多样性奖励。

为了避免模型在注释中产生当然具有低频率的无意义的短语,作者将多样性奖励与CIDEr计算的相关性奖励结合起来。损失函数如下:
04

实验

4.1. Comparison with the State-of-the-arts

从表中可以看出,使用ground-truth事件段(第1-4行)和使用自动生成事件段(第五行)的两阶段方法存在较大的性能差距,表明事件检测的性能差严重阻碍了段落描述生成的质量。
由于单阶段框架的优点,本文的模型都优于这些Baseline,并且不需要任何事件段注释。
在Charades Captions数据集上,本文的方法也达到了SOTA的性能。

4.2. Trade-off of Efficiency and Performance

上图显示了使用不同的关键帧选择比率,本文的模型的推理速度和caption性能。

4.3. Ablation Studies

上表展示了不同模块的消融实验。
上表展示了基础模型(左)和本文模型(右)的Attention Map。在基础模型中学习到的Attention,只关注整个段落的几个突出的片段,这导致了重复或遗漏的事件描述。
然而,本文模型的Attention可以集中在不同的帧上,并大致形成一条类似于人类描述的对角线。
上表显示了在关键帧选择中的两个辅助损失的有效性。

4.4. Qualitative Analysis

上图展示了本文方法和其他方法模型的段落生成结果。
05

总结

在本文中,作者提出了一个一阶段视频段落生成框架。由于长视频形式的输入和段落形式的输出,有效地生成不同的段落是具有挑战性的。因此,作者采用了一种关键帧感知视频编码器来提高训练效率;

此外,作者还提出了具有动态视频记忆的注意机制,以学习更多样化和连贯的视觉注意。同时,作者还提出了一种具有高频token和短语惩罚的多样性驱动训练目标来提高语言多样性。在ActivityNet和 Charades数据集上的实验结果表明,本文提出的模型在准确性和多样性指标上都优于最先进的性能。

作者介绍

研究领域:FightingCV公众号运营者,研究方向为多模态内容理解,专注于解决视觉模态和语言模态相结合的任务,促进Vision-Language模型的实地应用。

知乎/公众号:FightingCV

END,入群👇备注:CV

(0)

相关推荐