最近,来自谷歌的研究员提出了一种用于描述多事件视频的预训练视觉语言模型——Vid2Seq,目前已被CVPR23接收。
在以前,理解视频内容是一项具有挑战性的任务,因为视频通常包含在不同时间尺度发生的多个事件。
比如,一个雪橇手将狗拴在雪橇上、然后狗开始跑的视频涉及一个长事件(狗拉雪橇)和一个短事件(狗被拴在雪橇上)。
而促进视频理解研究的一种方法是,通过密集视频标注任务,该任务包括在一分钟长的视频中对所有事件进行时间定位和描述。
论文地址:https://arxiv.org/abs/2302.14115
Vid2Seq架构用特殊的时间标记增强了语言模型,使其能够在同一输出序列中无缝预测事件边界和文本描述。
为了对这个统一的模型进行预训练,研究者通过将转录的语音的句子边界重新表述为伪事件边界,并将转录的语音句子作为伪事件的标注,来利用未标记的旁白视频。
Vid2Seq模型概述
由此产生的Vid2Seq模型在数以百万计的旁白视频上进行了预训练,提高了各种密集视频标注基准的技术水平,包括YouCook2、ViTT和ActivityNet Captions。
Vid2Seq还能很好地适用于few-shot的密集视频标注设置、视频段落标注任务和标准视频标注任务。
用于密集视频标注的视觉语言模型
多模态Transformer架构已经刷新了各种视频任务的SOTA,比如动作识别。然而,要使这样的架构适应在长达几分钟的视频中联合定位和标注事件的复杂任务,并不简单。
为了实现这一目标,研究者用特殊的时间标记(如文本标记)来增强视觉语言模型,这些时间标记代表视频中离散的时间戳,类似于空间领域的Pix2Seq。
对于给定的视觉输入,所产生的Vid2Seq模型既可以接受输入,也可以生成文本和时间标记的序列。
首先,这使Vid2Seq模型能够理解转录的语音输入的时间信息,它被投射为单一的标记序列。其次,这使Vid2Seq能够联合预测密集的事件标注,并在视频中以时间为基础,同时生成单一的标记序列。
Vid2Seq架构包括一个视觉编码器和一个文本编码器,它们分别对视频帧和转录的语音输入进行编码。产生的编码随后被转发到文本解码器,该解码器自动预测密集事件标注的输出序列,以及它们在视频中的时间定位。该架构初始化时有一个强大的视觉主干和一个强大的语言模型。
对视频进行大规模预训练
由于任务的密集性,为密集的视频标注手动收集注释的成本特别高。
因此,研究者使用了无标签的解说视频对Vid2Seq模型进行预训练,这些视频在规模上很容易获得。他们还使用了YT-Temporal-1B数据集,其中包括1800万个涵盖广泛领域的旁白视频。
研究者使用转录的语音句子及其相应的时间戳作为监督,这些句子被投射为单一的token序列。
然后用一个生成目标对Vid2Seq进行预训练,该目标教导解码器仅仅预测给定视觉输入的转录的语音序列,以及一个鼓励多模态学习的去噪目标,要求模型在有噪声的转录语音序列和视觉输入的情况下预测掩码。特别是,通过随机掩盖跨度的token,把噪声添加到语音序列中。
下游任务的基准测室结果
由此产生的预训练的Vid2Seq模型可以通过一个简单的最大似然目标在下游任务中进行微调,该目标使用教师强迫(即在给定先前的基础真实token的情况下预测下一个token)。
经过微调,Vid2Seq在三个标准的下游密集视频标注基准(ActivityNet Captions、YouCook2和ViTT)和两个视频剪辑标注基准(MSR-VTT、MSVD)上超越了SOTA。
在论文中,还有额外的消融研究、定性结果,以及在few-shot设置和视频段落标注任务中的结果。
定性测试
结果表明,Vid2Seq可以预测有意义的事件边界和标注,而且预测的标注和边界与转录的语音输入有很大的不同(这也表明输入中视觉标记的重要性)。
下一个例子有关于烹饪食谱中的一系列指令,是Vid2Seq对YouCook2验证集的密集事件标注预测的例子:
接下来是Vid2Seq对ActivityNet Captions验证集的密集事件标注预测的例子,在所有这些视频中,都没有转录的语音。
不过还是会有失败的案例,比如下面标红的这个画面,Vid2Seq说是一个人对着镜头脱帽致敬。
对标SOTA
表5将Vid2Seq与最先进的密集视频标注方法进行了比较:Vid2Seq在YouCook2、ViTT 和ActivityNet Captions这三个数据集上刷新了SOTA。
Vid2Seq在YouCook2和ActivityNet Captions上的SODA指标比PDVC和UEDVC分别提高了3.5和0.3分。且E2ESG在Wikihow上使用域内纯文本预训练,而Vid2Seq优于这一方法。这些结果表明,预训练的Vid2Seq模型具有很强的密集事件标注能力。
表6评估了密集视频标注模型的事件定位性能。与YouCook2和ViTT相比,Vid2Seq在处理密集视频标注作为单一序列生成任务时更胜一筹。
然而,与PDVC和UEDVC相比,Vid2Seq在ActivityNet Captions上表现不佳。与这两种方法相比,Vid2Seq整合了较少的关于时间定位的先验知识,而另两种方法包括特定的任务组件,如事件计数器或单独为定位子任务训练一个模型。
实现细节
- 架构
视觉时间transformer编码器、文本编码器和文本解码器都有12层,12个头,嵌入维度768,MLP隐藏维度2048。
文本编码器和解码器的序列在预训练时被截断或填充为L=S=1000个token,在微调期间,S=1000和L=256个token。在推理过程中,使用波束搜索解码,跟踪前4个序列并应用0.6的长度归一化。
- 训练
作者使用Adam优化器,β=(0.9, 0.999),没有权重衰减。
在预训练期间,使用1e^-4的学习率,在前1000次迭代中线性预热(从0开始),并在其余迭代中保持不变。
在微调期间,使用3e^-4的学习率,在前10%的迭代中线性预热(从0开始),其余90%的迭代中保持余弦衰减(降至0)。过程中,使用32个视频的批处理量,并在16个TPU v4芯片上分割。
作者对YouCook2进行了40次epoch调整,对ActivityNet Captions和ViTT进行了20次epoch调整,对MSR-VTT进行了5次epoch调整,对MSVD进行了10次epoch调整。
结论
谷歌提出的Vid2Seq,是一种用于密集视频标注的新型视觉语言模型,它可以有效地在无标签的旁白视频上进行大规模的预训练,并在各种下游密集视频标注的基准上取得了SOTA的结果。
作者介绍
论文一作:Antoine Yang
Antoine Yang是法国国立计算机及自动化研究院Inria和巴黎高等师范学校École Normale Supérieure的WILLOW团队的三年级博士生,导师为Antoine Miech, Josef Sivic, Ivan Laptev和Cordelia Schmid。
目前的研究重点是学习用于视频理解的视觉语言模型。他于2019年在华为诺亚方舟实验室实习,在2020年获得了巴黎综合理工学院的工程学位和巴黎萨克雷国立大学的数学、视觉和学习硕士学位,2022年在谷歌研究院实习。