论文阅读笔记(二):Bridging Video-text Retrieval with Multiple Choice Questions
文章目录
- 前言
- 一、Introduction
- 二、Method
- 1.双编码器结构
- 2.Multiple Choice Questions(MCQ)
- 3.目标函数
- 4.模型结构
- 4.1视频编码器
- 4.2文本编码器
- 4.3BridgeFormer
- 三、实验
- 1.数据集
- 2.实现细节
- 3.主要结果
- 3.1视频文本检索
- 3.2行为识别
前言
来源:CVPR 2022
相关设置
行为识别{linear:视频编码器参数冻结,只有线性分类器被优化fine−tune:视频编码器用线性分类器进行微调zero−shot:通过使用类别名称作为文本描述进行视频文本的检索(训练时的类别与测试时不相同)行为识别 \begin{cases} linear:视频编码器参数冻结,只有线性分类器被优化\\ fine-tune:视频编码器用线性分类器进行微调\\ zero-shot:通过使用类别名称作为文本描述进行视频文本的检索(训练时的类别与测试时不相同) \end{cases} 行为识别⎩⎪⎨⎪⎧linear:视频编码器参数冻结,只有线性分类器被优化fine−tune:视频编码器用线性分类器进行微调zero−shot:通过使用类别名称作为文本描述进行视频文本的检索(训练时的类别与测试时不相同)
视频文本检索{fine−tune:利用预训练好的模型进行微调zero−shot:将预训练好的模型直接应用于另一个数据集视频文本检索 \begin{cases} fine-tune:利用预训练好的模型进行微调\\ zero-shot:将预训练好的模型直接应用于另一个数据集 \end{cases} 视频文本检索{fine−tune:利用预训练好的模型进行微调zero−shot:将预训练好的模型直接应用于另一个数据集
一、Introduction
本文在保持高效率的情况下进行视频文本检索,训练一个模型BridgeFormer来使用视频特征回答文本特征构造的问题。具体来说,文中显式的利用文本特征(如动词,名词)来构建问题,使用一个视频编码器捕捉区域和时间特征。通过问题构建和回答的形式,视频文本间的语义关系能被建立。BridgeFormer在测试时能够移除,作为一个高效的模型(只有两个编码器)进行视频检索。
目前的视频文本检索分为两类,如下图所示,一类是双编码器(Dual encoder)方法,使用两个独立的编码器分别提取视频文本特征,但是这丢失了两种模态的关系信息以及模态内的细节信息。另一种是联合编码器(Joint-encoder)方式,将文本和视频拼接作为输入,这样可以学到更细粒度的特征但是牺牲了检索效率(推理时每个视频文本对都需要放入网络中)。
本文提出了MCQ(Multiple Choice Questions)方法来保证高效检索的同时能够进行视频与文本信息的交互。这里使用一个BridgeFormer网络来实现MCQ方法。BridgeFormer利用视频特征回答文本特征构建的问题,保证了两个模态间的交互。该网络在推理时能够被移除来保证高效性。
BridgeFromer在全部的特征层次(低、中、高)上连接视频和文本特征。正则化(而非拼接)直接加在视频和文本特征上,因此该网络在推理时能够直接移除。文章贡献如下:
介绍了MCQ,它结合了双编码器和两个编码器的优点。
提出了BridgeFormer模型来实现MCQ,保证视频和文本特征之间进行交互
在5个视频文本检索的数据集上取得了好的结果。
二、Method
1.双编码器结构
如下图所示,本文使用双编码器结构为基础,双编码器包括一个视频编码器和一个文本编码器。他们分别得到视频和文本的特征fvf_vfv ,ftf_tft 。通过计算fvf_vfv和ftf_tft 的点积来得到相似度。使用对比损失来最大化正样本对间的相似度,最小化负样本对间的相似度。双编码器只要求视频和文本间的点积运算,保证了高效运行。
2.Multiple Choice Questions(MCQ)
MCQ通过一个BridgeFormer实现,它将来自视频和文本编码器的多层级tokens联系起来回答一个多选问题。随机删除文本中一个名词或动词短语,BridgeFormer应能够在视频特征的帮助下从多个选项中(一个batch中删除的多个短语)选出被删除的内容。
以名词短语为例,给一个视频和相应的文本,随机选择一个名词短语删除。如上图所示,名词问题(删除一个名词短语后的文本)放入文本编码器得到文本表示{z}noun_q\{z\}_{noun\_q}{z}noun_q,视频表示由视频编码器提取得到{z}v\{z\}_v{z}v,将前者作为q,后者作为k,v放入BridgeFormer。
之后通过一个跨模态注意力得到名词的回答表示,删除的短语放入文本编码器后得到短语表示,然后这两个特征被映射到一个公共空间得到fnoun_af_{noun\_a}fnoun_a,fnounf_{noun}fnoun。使用点积计算它们的相似度。训练时,利用对比损失最大化正样本fnoun_af_{noun\_a}fnoun_a,fnounf_{noun}fnoun的相似度,最小化负样本fnoun_af_{noun\_a}fnoun_a,fnounf_{noun}fnoun相似度。训练BridgeFormer使用视频表示选择出正确的被删除短语,让视频与文本进行内容上的对齐。动词短语的过程和名词短语类似。
3.目标函数
使用对比损失Noise-Contrastive Estimation (NCE)作为目标函数,整体目标函数如下:
L=Lvanila+Lnoun+LverbL=L_{vanila}+L_{noun}+L_{verb} L=Lvanila+Lnoun+Lverb
L_{vanila}是视频表示和文本表示fvf_vfv ,ftf_tft间的NCE损失。L_{noun}是名词回答表示fnoun_af_{noun\_a}fnoun_a和名词表示fnounf_{noun}fnoun间的NCE损失,L_{verb}是动词回答表示fverb_af_{verb\_a}fverb_a和名词表示fverbf_{verb}fverb间的NCE损失。
NCE损失表示如下:
NCE(xi,yi)=−logexp(xiTyi/τ)∑j=1Bexp(xiTyj/τ)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)=−log∑j=1Bexp(xiTyj/τ)exp(xiTyi/τ)
B是batchsize的大小,τ\tauτ 被设置为0.05
4.模型结构
网络模型如下图
4.1视频编码器
输入:使用一个M帧的视频V∈RM×3×H×WV\in R^{M\times 3\times H\times W}V∈RM×3×H×W作为输入,首先被分为M×NM\times NM×N个patches,之后使用线性映射得到一系列的tokens {z}v∈RM×N×D\{z\}_v\in R^{M\times N\times D}{z}v∈RM×N×D,D是嵌入维度。另外,在序列前面,一个[CLS]token也被加入。最终输入为 {z}v0∈R(1+M×N)×D\{z\}_v^0\in R^{(1+M\times N)\times D}{z}v0∈R(1+M×N)×D。
VideoBlock:视频输入放入一个包含多个VideoBlock的编码器中,在ViT的基础上进行了修改,能够进行变化长度的输入。
4.2文本编码器
输入:文本编码器有三种输入形式:完整的文本,删除某个短语的文本,被删除的短语。[CLS]token也被添加。
TextBlock:使用多层双向transformer编码器作为TextBlock。
4.3BridgeFormer
输入:将来自文本编码器的问题(删除某个短语后的文本)作为q,来自视频编码器的的视频tokens作为k,v,通过跨模态注意力获得答案表示。
BridgeBlock:给定一个问题文本 {z}ql−1∈RL×D\{z\}_q^{l-1}\in R^{L\times D}{z}ql−1∈RL×D(不包含[CLS])作为q,视频tokens为 {z}vl−1∈RM×(N×D)\{z\}_v^{l-1}\in R^{M\times (N\times D)}{z}vl−1∈RM×(N×D)(不包含[CLS])作为k和v,通过多头注意力机制得到两个模态交互的tokens为{z}qvl\{z\}_{qv}^l{z}qvl ,它表示问题文本与每帧图像的patch间的注意力。{z}qvl\{z\}_{qv}^l{z}qvl 和上一层的输出{z}al−1\{z\}_{a}^{l-1}{z}al−1 相加得到本层输出{z}al\{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×224224\times 224224×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×10−41\times 10^{-4}1×10−4。然后在WebVid-2M上预训练(每个视频取4帧,训练4个epoch,batch-size为800,学习率3×10−53\times 10^{-5}3×10−5。下游任务中,视频文本检索每个视频取4帧,行为识别每个视频取16帧。
3.主要结果
3.1视频文本检索
下表为在MST-VTT上的表现,上半部分为zero-shot,下半部分是fine-tuning。从表中可以看出,该模型明显优于之前的工作(无论是zero-shot还是fine-tuning)。它可以在较小数据集上预训练并产生较好的结果。
在MSVD,DiDeMo,LSMDC上的结果如下表所示,也取得了最优结果。
在大规模数据集HowTo100M上也优于目前最好的方法Frozen
3.2行为识别
在HMDB51和UCF101上进行zero-shot的行为识别,这可以看作一个视频文本检索任务。如下表所示,最终结果优于其他方法。
为了评估模型的视频特征表达能力,这里在linear和fine-tuning设置下进行了实验,如下表所示,文中的方法优于大部分的行为识别方法,尽管MMV在使用语音信息和更长的视频帧序列后要优于本文方法,但是它需要的计算量明显更大。
论文阅读笔记(二):Bridging Video-text Retrieval with Multiple Choice Questions相关推荐
- 【视频目标检测论文阅读笔记】Optimizing Video Object Detection via a Scale-Time Lattice
1.1 论文信息 标题 Optimizing Video Object Detection via a Scale-Time Lattice 会议 CVPR 2018 原文链接 Optimizing ...
- 论文阅读笔记:Deep Video Quality Assessor
论文PDF: Deep Video Quality Assessor: From Spatio-Temporal Visual Sensitivity to a Convolutional Neura ...
- 论文阅读笔记二十八:You Only Look Once: Unified,Real-Time Object Detection(YOLO v1 CVPR2015)...
论文源址:https://arxiv.org/abs/1506.02640 tensorflow代码:https://github.com/nilboy/tensorflow-yolo 摘要 该文提出 ...
- 【论文阅读笔记】Real-Time Video Super-Resolution on Smartphones with Deep Learning, Mobile AI 2021 Challenge
论文地址:https://arxiv.org/abs/2105.08826 论文小结 这比赛的目标是在移动手机上得到实时运行的视频超分算法,目标在480p(实际上是180∗30180*30180∗ ...
- Kaiming He论文阅读笔记二——Plain Vision Transformer Backbones for Object Detection
Kaiming在2022年发表了一篇Exploring Plain Vision Transformer Backbones for Object Detection. 文章的主要目的是追求一种包含较 ...
- 《Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spotting》论文阅读笔记
论文阅读笔记 去年在ECCV上发表的<Mask TextSpotter v3: Segmentation Proposal Network for Robust Scene Text Spott ...
- CVPR2019|Depth-Aware Video Frame Interpolation【论文阅读笔记】
CVPR2019|Depth-Aware Video Frame Interpolation[论文阅读笔记] 作者 相关链接 1.前言 2.介绍 3.算法 4.实验 作者 Wenbo Bao, Wei ...
- 论文阅读笔记(二)——牛的人脸识别,能做到吗?
论文阅读笔记(二)--牛的人脸识别,能做到吗? 论文简介 论文中文翻译:<牛的人脸识别,能做到吗?> 论文名称:<Face Recognition of Cattle: Can it ...
- Learning Multiview 3D point Cloud Registration论文阅读笔记
Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...
最新文章
- Python开发编码规范(转)
- 一文搞懂 Prometheus 的直方图
- ssh tunnel 上网
- 使用Raphael实现html中绘图
- [APEC中小企业峰会2009上]成功企业 = 理想主义 + 现实主义
- python算法实验是什么_PCA 算法实验代码(python)
- eureka 客户端服务启动了又失败了_Spring cloud Eureka服务注册与发现详解
- jpa删除数据后数据库无修改_jpa删除数据库
- android studio 创建项目失败原因Failed to create
- LCD1602的学习与理解
- Ubuntu16.04 安装 卸载 pip
- C++计算某天是该年的第几天
- 检查压缩包是否损坏_工业安全吊带的检查PPE(个人防护装备)检查程序与表格...
- 我在豆瓣“请假借口研究所”,看见了社畜的人间真实
- 搭建zabbix监控及邮件报警
- 使用微信企业机器人发送信息
- 二叉树广度和深度遍历的全部算法
- 英语软件那些好玩的功能你知道吗
- 和睦小镇保卫战服务器位置,植物大战僵尸和睦小镇保卫战隐藏黄金地精及机关位置汇总[多图]...
- 简单字符驱动笔记(朱有鹏)