《VideoBERT: A Joint Model for Video and Language Representation Learning》

论文地址: https://arxiv.org/pdf/1904.01766.pdf
这是一篇将BERT结合video来学习跨模态表示的经典之作。该工作将video中提取出的特征向量通过聚类的方法离散化,继而在文本token的基础上增加视觉token,一起学习视觉和文本信息。

1 方法

1.1 视频文本数据处理(video and language processing)

针对video的处理,首先从input video每秒中抽取20帧画面(20 fps),每30帧组成一个片段。对每个clip用pretrained的ConvNet提取特征向量(1024维)。但是由于特征向量属于整个实数空间,是不可数的。为了和文本token相对应,作者对所有提取出的特征向量使用hierarchical k-means做聚类,一共得到20736个类中心。把类中心作为visual token,每一个视觉特征向量都由它属于的类中心来表征。

1.2 输入格式(input format)

经过前面的处理,video中的语言和视觉信息都变成了离散的token,VideoBERT的输入格式延续了原始BERT的设计,只是增加了[>]这个特殊的token用来分开text token和visual token。
《VideoBERT: A Joint Model for Video and Language Representation Learning》

1.3 自监督任务(pretrain)原始BERT有两个自监督任务:

(1)cloze(完形填空)/MLM(mask language model):预测被mask的text token;
(2)NSP(next sentence prediction):预测两个句对是否是连续的上下句。
第一个任务可以很自然的扩展到VideoBERT中。是一个多分类问题。
第二个任务NSP在VideoBERT中变成预测text sequence和visual sequence是否一致,即两者是否提取自同一个视频。类似的原始BERT,我们从其他视频数据中抽取visual sequence作为负例,来自该视频数据的visual sequence作为正例。是一个二分类问题。

1.4 下游任务

VideoBERT通过上述两个自监督任务实际上学习了visual-liinguistic的联合表示(分布)p(x,y),其中x表示visual sequence,y表示text sequence。这个联合分布可以用在下列三种任务上:
(1)text-to-video: 根据文本预测视频,根据文本自动插图。
《VideoBERT: A Joint Model for Video and Language Representation Learning》

(2)video-to-text: 根据视频预测文本,对视频自动生成摘要。
(3)unimodal fashion(单一模态下使用):利用文本或者视频的边缘分布,根据上文预测下文。对文本来说就是我们非常熟悉的语言模型,对于视频来说我们可以根据前面的视频内容预测后面可能发生的事情。
《VideoBERT: A Joint Model for Video and Language Representation Learning》

2.1 下游任务实验

2.1.1 video caption

作者利用该任务验证VideoBERT作为特征抽取的有效性。使用同样的transformer encoder-decoder模型生成视频摘要,不同的是输入该模型的feature。

(1)使用S3D提取的feature(baseline)
(2)使用VideoBERT提取feature
(3)VideoBERT feature拼接S3D feature(最强厂牌)

根据实验结果来看, VideoBERT + S3D 取得了最好的效果。
VideoBERT 学出来的feature对下游任务video caption有很大的提升。