南京大学提出CPD:通过视频-文本对匹配的视频预训练模型

点击上方“CVer”,选择加"星标"置顶

重磅干货,第一时间送达

本文作者:王利民 |  来源:知乎(已授权)

https://zhuanlan.zhihu.com/p/348365099

今天介绍一下我们组在2020年初公开到arxiv上的一篇文章CPD (Learning Spatiotemporal Features via Video and Text Pair Discrimination)。

论文研究的动机是现在大部分视频特征的获取依赖于大规模的人工标注数据集,而视频的标注相比于图片更加昂贵,难以扩展到更大的规模,同时,我们观察到互联网上的视频常常伴有非常丰富的多模态信息,如文本、声音等,与标注信息相比,这些数据存在广泛且易于获得,能够比较容易地扩大到更大的规模。我们主要利用网络上视频以及视频本身的描述信息(Instagram中的视频描述、Youtube中的视频标题),借助contrastive learning的思想预测视频和文本的匹配关系(Cross-modal Pair Discrimination),对视频网络进行预训练。通过预训练得到的视频特征在较小的动作识别数据集UCF101和HMDB51数据集上进行微调/训练线性分类器,效果均优于当前的自监督、多模态监督的视频预训练方法。同时,由于硬件资源的限制,与其他预训练的文章相比,我们使用的数据规模也相对较小(300k个视频文本对,单机8卡训练),也希望能为对这方面感兴趣但计算资源有限的同学提供一些参考。

值得一提的是,OpenAI的最新工作CLIP利用与本文非常相似的对比学习的思路,将数据规模扩大至400m个图片和文本对,获得非常令人惊艳的效果,在ImageNet上zero shot的效果可以有监督结果相媲美,也可以作为判别器帮助图像生成模型生成真实高清的图像,展示了这一类方法的巨大潜力。

论文链接:https://arxiv.org/abs/2001.05691

代码地址:https://github.com/MCG-NJU/CPD-Video

下面具体介绍一下我们的方法和实验结果。

方法介绍

基础框架

对于一个视频及其对应的文本,我们首先对视频进行采样并对文本进行预处理,通过一个双流网络(视频特征提取网络和文本特征提取网络),分别提取视频他们的特征,并利用MLP将他们编码到同一特征空间中并进行l2归一化,得到第i个视频特征和文本特征。我们的目标为提高相匹配的视频和文本在特征空间的相似度,推远不匹配视频文本,形式化描述为最大化视频和文本相匹配的条件概率

其中表示由第个文本定义的文本类别,表示用于控制logits尺度的温度,N表示文本数量,实践中我们维护了一个memory bank,每次对其中的特征进行采样作为负样本,以扩大负样本的数量。类似的,我们可以定义文本与视频相匹配的条件概率,最终的目标函数即为最大化这两个概率的似然。在实现上我们采用Noise-contrastive estimation对目标函数进行优化,也可以采用目前对比学习中比较流行的Info-NCE的形式,具体细节可以参考我们的论文和代码。

我们采用SlowOnly的3D ResNet50作为视频特征提取网络,综合考虑性能和计算代价,采用DistilBERT作为文本特征提取网络。

训练策略

对于视频所对应的文本,由于没有经过人工的筛选和标准,质量参差不齐,存在大量与视频内容无关的噪声信息,我们采用鲁棒性较好的Transformer结构的DistilBERT模型作为文本特征提取网络,并利用无监督预训练的参数对其进行初始化。为了更好得利用无监督预训练的语言模型,避免其被噪声以及随机初始化的视频网络所破坏,我们设计了课程学习的策略进行训练。训练分为两个阶段,第一个阶段固定文本网络的参数,只更新视频网络以及mlp的参数,直至训练loss不再下降,再进入第二阶段,同时优化视频和文本网络的参数,但文本网络仍使用比较小的学习率。

训练数据

之前的视频自监督、多模态预训练方法大多直接使用Kinetics数据集中的视频进行训练,虽然没有使用Kinetics数据集中的标签,但是由于数据集中视频均经过了人工筛选,视频质量比较高,且视频是经过剪辑的,只包含具有预先定义的语义的视频片段,且较为均匀得分布在400个类别中,所以与真实的网络数据还是有比较大的偏差,与自监督、无监督本身的任务设定背道而驰。为了消除人工干预带来的影响,我们采用了论文OmniSource中从Instagram上爬取的视频以及视频的描述作为数据进行训练,这些视频利用Kinetics-400中的类别进行检索,得到的视频完全没有经过人工的筛选,所以不论是视频还是文本都存在比较大的噪音,我们从中随机采样出300k个视频,并将数据集命名为Instagram-300k。

下面我们给出一些例子,帮助大家更直观地理解视频和文本的情况,也欢迎做视频自监督、多模态的同学使用这一更接近真实场景的数据。

可以看到,文本中包含许多与视频内容直接相关的信息,也包含许多无关信息,甚至错误信息(b、c),视频本身的质量也比较差,如e包含多个镜头转换且拍摄质量较差。

为了与其他方法公平对比,我们也在Kinetics-400数据集进行了试验,我们对数据集中的视频标题进行爬取,除去链接消失或标题为非英语的视频,最终得到210k个视频,为了区别于Kinetics原本数据集,我们称之为Kinetics-210k。

实验结果

我们将预训练得到的网络在较小的动作识别数据集UCF101和HMBD51数据集上进行微调/训练线性分类器,与其他自监督、多模态视频预训练方法进行对比。

可以看到,我们的结果在UCF101上获得最优的结果,且HMDB51也非常有竞争力,值得注意的是,我们使用的数据量远远小于其他方法所使用的数据(1到100 million个视频不等),显示出我们视频文本匹配的目标函数以及课程学习的策略的有效性。

我们也给出Kinetics-400数据集上训练knn分类器和线性分类器(LC)的结果。

更多消融实验以及模型的泛化能力实验可以参考论文。

感谢大家的观看!

CV资源下载

后台回复:CVPR2020,即可下载代码开源的论文合集

后台回复:ECCV2020,即可下载代码开源的论文合集

后台回复:YOLO,即可下载YOLOv4论文和代码

后台回复:Transformer综述,即可下载两个最新的视觉Transformer综述PDF,肝起来!

重磅!CVer-细分垂直交流群成立

扫码添加CVer助手,可申请加入CVer-细分垂直方向 微信交流群,可申请加入CVer大群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、Transformer、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,才能通过且邀请进群

▲长按加微信群

▲长按关注CVer公众号

整理不易,请给CVer点赞和在看

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值