论文阅读笔记(二):Bridging Video-text Retrieval with Multiple Choice Questions


前言

来源:CVPR 2022
相关设置

行 为 识 别 { l i n e a r : 视 频 编 码 器 参 数 冻 结 , 只 有 线 性 分 类 器 被 优 化 f i n e − t u n e : 视 频 编 码 器 用 线 性 分 类 器 进 行 微 调 z e r o − s h o t : 通 过 使 用 类 别 名 称 作 为 文 本 描 述 进 行 视 频 文 本 的 检 索 ( 训 练 时 的 类 别 与 测 试 时 不 相 同 ) 行为识别 \begin{cases} linear:视频编码器参数冻结,只有线性分类器被优化\\ fine-tune:视频编码器用线性分类器进行微调\\ zero-shot:通过使用类别名称作为文本描述进行视频文本的检索(训练时的类别与测试时不相同) \end{cases} linear:线finetune线zeroshot使(
视 频 文 本 检 索 { f i n e − t u n e : 利 用 预 训 练 好 的 模 型 进 行 微 调 z e r o − s h o t : 将 预 训 练 好 的 模 型 直 接 应 用 于 另 一 个 数 据 集 视频文本检索 \begin{cases} fine-tune:利用预训练好的模型进行微调\\ zero-shot:将预训练好的模型直接应用于另一个数据集 \end{cases} {finetunezeroshot

一、Introduction

本文在保持高效率的情况下进行视频文本检索,训练一个模型BridgeFormer来使用视频特征回答文本特征构造的问题。具体来说,文中显式的利用文本特征(如动词,名词)来构建问题,使用一个视频编码器捕捉区域和时间特征。通过问题构建和回答的形式,视频文本间的语义关系能被建立。BridgeFormer在测试时能够移除,作为一个高效的模型(只有两个编码器)进行视频检索。

目前的视频文本检索分为两类,如下图所示,一类是双编码器(Dual encoder)方法,使用两个独立的编码器分别提取视频文本特征,但是这丢失了两种模态的关系信息以及模态内的细节信息。另一种是联合编码器(Joint-encoder)方式,将文本和视频拼接作为输入,这样可以学到更细粒度的特征但是牺牲了检索效率(推理时每个视频文本对都需要放入网络中)。

本文提出了MCQ(Multiple Choice Questions)方法来保证高效检索的同时能够进行视频与文本信息的交互。这里使用一个BridgeFormer网络来实现MCQ方法。BridgeFormer利用视频特征回答文本特征构建的问题,保证了两个模态间的交互。该网络在推理时能够被移除来保证高效性。
视频文本检索方法
BridgeFromer在全部的特征层次(低、中、高)上连接视频和文本特征。正则化(而非拼接)直接加在视频和文本特征上,因此该网络在推理时能够直接移除。文章贡献如下:

介绍了MCQ,它结合了双编码器和两个编码器的优点。

提出了BridgeFormer模型来实现MCQ,保证视频和文本特征之间进行交互

在5个视频文本检索的数据集上取得了好的结果。

二、Method

1.双编码器结构

如下图所示,本文使用双编码器结构为基础,双编码器包括一个视频编码器和一个文本编码器。他们分别得到视频和文本的特征 f v f_v fv f t f_t ft 。通过计算 f v f_v fv f t f_t ft 的点积来得到相似度。使用对比损失来最大化正样本对间的相似度,最小化负样本对间的相似度。双编码器只要求视频和文本间的点积运算,保证了高效运行。
网络结构

2.Multiple Choice Questions(MCQ)

MCQ通过一个BridgeFormer实现,它将来自视频和文本编码器的多层级tokens联系起来回答一个多选问题。随机删除文本中一个名词或动词短语,BridgeFormer应能够在视频特征的帮助下从多个选项中(一个batch中删除的多个短语)选出被删除的内容。

以名词短语为例,给一个视频和相应的文本,随机选择一个名词短语删除。如上图所示,名词问题(删除一个名词短语后的文本)放入文本编码器得到文本表示 { z } n o u n _ q \{z\}_{noun\_q} {z}noun_q,视频表示由视频编码器提取得到 { z } v \{z\}_v {z}v,将前者作为q,后者作为k,v放入BridgeFormer。

之后通过一个跨模态注意力得到名词的回答表示,删除的短语放入文本编码器后得到短语表示,然后这两个特征被映射到一个公共空间得到 f n o u n _ a f_{noun\_a} fnoun_a f n o u n f_{noun} fnoun。使用点积计算它们的相似度。训练时,利用对比损失最大化正样本 f n o u n _ a f_{noun\_a} fnoun_a f n o u n f_{noun} fnoun的相似度,最小化负样本 f n o u n _ a f_{noun\_a} fnoun_a f n o u n f_{noun} fnoun相似度。训练BridgeFormer使用视频表示选择出正确的被删除短语,让视频与文本进行内容上的对齐。动词短语的过程和名词短语类似。

3.目标函数

使用对比损失Noise-Contrastive Estimation (NCE)作为目标函数,整体目标函数如下:
L = L v a n i l a + L n o u n + L v e r b L=L_{vanila}+L_{noun}+L_{verb} L=Lvanila+Lnoun+Lverb
L_{vanila}是视频表示和文本表示 f v f_v fv f t f_t ft间的NCE损失。L_{noun}是名词回答表示 f n o u n _ a f_{noun\_a} fnoun_a和名词表示 f n o u n f_{noun} fnoun间的NCE损失,L_{verb}是动词回答表示 f v e r b _ a f_{verb\_a} fverb_a和名词表示 f v e r b f_{verb} fverb间的NCE损失。

NCE损失表示如下:
N C E ( x i , y i ) = − l o g e x p ( x i T y i / τ ) ∑ j = 1 B e x p ( x i T y j / τ ) NCE(x_i,y_i)=-log\frac{exp(x_{i}^{T}y_i/\tau)}{\sum_{j=1}^{B}exp(x_{i}^{T}y_j/\tau)} NCE(xi,yi)=logj=1Bexp(xiTyj/τ)exp(xiTyi/τ)
B是batchsize的大小, τ \tau τ 被设置为0.05

4.模型结构

网络模型如下图
模型结构

4.1视频编码器

输入:使用一个M帧的视频 V ∈ R M × 3 × H × W V\in R^{M\times 3\times H\times W} VRM×3×H×W作为输入,首先被分为 M × N M\times N M×N个patches,之后使用线性映射得到一系列的tokens { z } v ∈ R M × N × D \{z\}_v\in R^{M\times N\times D} {z}vRM×N×D,D是嵌入维度。另外,在序列前面,一个[CLS]token也被加入。最终输入为 { z } v 0 ∈ R ( 1 + M × N ) × D \{z\}_v^0\in R^{(1+M\times N)\times D} {z}v0R(1+M×N)×D

VideoBlock:视频输入放入一个包含多个VideoBlock的编码器中,在ViT的基础上进行了修改,能够进行变化长度的输入。

4.2文本编码器

输入:文本编码器有三种输入形式:完整的文本,删除某个短语的文本,被删除的短语。[CLS]token也被添加。

TextBlock:使用多层双向transformer编码器作为TextBlock。

4.3BridgeFormer

输入:将来自文本编码器的问题(删除某个短语后的文本)作为q,来自视频编码器的的视频tokens作为k,v,通过跨模态注意力获得答案表示。

BridgeBlock:给定一个问题文本 { z } q l − 1 ∈ R L × D \{z\}_q^{l-1}\in R^{L\times D} {z}ql1RL×D(不包含[CLS])作为q,视频tokens为 { z } v l − 1 ∈ R M × ( N × D ) \{z\}_v^{l-1}\in R^{M\times (N\times D)} {z}vl1RM×(N×D)(不包含[CLS])作为k和v,通过多头注意力机制得到两个模态交互的tokens为 { z } q v l \{z\}_{qv}^l {z}qvl ,它表示问题文本与每帧图像的patch间的注意力。 { z } q v l \{z\}_{qv}^l {z}qvl 和上一层的输出 { z } a l − 1 \{z\}_{a}^{l-1} {z}al1 相加得到本层输出 { z } a l \{z\}_{a}^{l} {z}al 。最终的结果由最后一层的[CLS]token表示。

三、实验

1.数据集

预训练:模型在CC3M图像文本数据集上和WebVid-2M视频文本数据集上预训练。

视频文本检索:在MSR-VTT(10k个视频,200k个描述),MSVD(1970个视频,80k个描述),LSMDC(118081个视频),DiDeMo(10k个视频,40k个描述),HowTo100M(1.22M个视频和136M个描述)五个数据集上进行测试。一个视频的所有描述被拼接在一起作为单个描述。这是首次在HowTo100M上进行视频文本的检索,两种设置(zero-shot 和fine-tune)被用来进行评估。

行为识别:在HMDB51(包含6766个视频,51个类)和UCF101(包含13320个视频,101个类)进行评估。三种设置用于评估,包括linear:视频编码器参数冻结,只有线性分类器被优化;fine-tune:视频编码器用线性分类器进行微调;zero-shot:通过使用类别名称作为文本描述进行视频文本的检索(训练和测试用的类别不同)。

2.实现细节

视频缩放为 224 × 224 224\times 224 224×224,将一个视频分为M段,训练时每段随机取一帧,测试时每段统一取一帧。视频编码器包含12个block,patch size设为16,序列维度为768,使用ImageNet-21k上预训练的ViT权重初始化。文本编码器使用在English Wikipedia和Toronto Book Corpus上预训练的DistilBERT框架,特征维度设为256.对比损失的超参数为0.05。BridgeFormer包含12个block,首先在CC3M和WebVid-2M上预训练(每个视频取一帧,训练10个epoch,batch-size为2048,学习率为 1 × 1 0 − 4 1\times 10^{-4} 1×104。然后在WebVid-2M上预训练(每个视频取4帧,训练4个epoch,batch-size为800,学习率 3 × 1 0 − 5 3\times 10^{-5} 3×105。下游任务中,视频文本检索每个视频取4帧,行为识别每个视频取16帧。

3.主要结果

3.1视频文本检索

下表为在MST-VTT上的表现,上半部分为zero-shot,下半部分是fine-tuning。从表中可以看出,该模型明显优于之前的工作(无论是zero-shot还是fine-tuning)。它可以在较小数据集上预训练并产生较好的结果。
MST-VTT实验结果
在MSVD,DiDeMo,LSMDC上的结果如下表所示,也取得了最优结果。
MSVD,LSMDC,DiDeMo实验结果
在大规模数据集HowTo100M上也优于目前最好的方法Frozen
HowTo100M实验结果

3.2行为识别

在HMDB51和UCF101上进行zero-shot的行为识别,这可以看作一个视频文本检索任务。如下表所示,最终结果优于其他方法。
zero-shot实验结果
为了评估模型的视频特征表达能力,这里在linear和fine-tuning设置下进行了实验,如下表所示,文中的方法优于大部分的行为识别方法,尽管MMV在使用语音信息和更长的视频帧序列后要优于本文方法,但是它需要的计算量明显更大。
Linear和fine-tuning方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值