Introduction
这篇论文讲的是输入文本和未处理的视频,定位到文本所描述的视频片段(开始结束时间)。
Model
这里主要分为四大部分:
1.Visual Encoder:
处理过程
以固定帧(64、128)窗口去框视频作为一个clip,并将周围前后2n个clip作为context信息参与编码,每次从一个clip中采样nf帧,通过clip-level extractor输出一个视频编码。周围context还要进过一个pooling层计算平均值,最后线性映射为一个ds维的fv。
Clip-level extractor
这里用的片段级别级别的编码器用的C3D 卷积神经网络,不同于二维卷积神经网络对图像处理,只能获得空间信息,三维还保存了时间序列的信息,便于进行视频动作分类等。
这里通过输入一个7帧的连续视频片段,先经过handwired处理之后得到五个通道的clip,分别是灰度、x、y方向上的梯度,x、y方向上optical flow(这个表示图像上的像素在连续两帧的位移矢量,便于判断物体运动情况)的梯度。之后在c2卷积层为了增加feature map信息,用了两个不同的kernel,不断进行卷积降采样最后极大程度压缩了时间信息,得到一个128维向量用来表示这个7帧的clip。
video clips with a size of c × l × h × w (c:通道数,l维帧数)
kernel size by d×k ×k(d:时序深度)
Sententce Encoder:
1.word2vec+LSTM
word2vec是一种将单词表示成向量的编码器。不同于独立热编码用所有单词数长度的向量来表示单词,它根据一种分布相似性概念来训练这个模型,就是单词可以近似用出现这个单词的上下文文本来表示。
用一种深层向量表示词汇,使得语义相似的向量来自于语义信息相似的上下文信息。
他用一种固定滑窗的方式去训练语料库中每个单词,每个单词作为中心词汇去预测周围2w个单词出现的概率,最后将这些概率分布求似然估计,找打最大theta。
Multi-modal Processing Module
对两个模态的向量进行向量点积和加,以及直接连接(2ds维)后全连接变为ds维后的三种向量拼接之后再全连接输入fsv。
4.Temporal Localization Regression Networks:这个回归网络用语对不与语句匹配的视频时间点进行回归更接近ground truth(这个ground truth就是满足正训练样本的clip-sententce对)。它输出的是:clip中点以及长度的偏移。
??
Training
Loss
N为batch-size大小,csi,i为匹配对值为正,csi,j为不匹配对值为负
t*是和groundtruth的偏差,x表示中点,y为长度。
R为smooth L1(x)损失函数。
Sample
train:以滑动窗口(64、128、256、512帧的滑窗)的形式采集训练样本,满足一定条件才作为train样本。一个匹配的groud truth片段被割成多个匹配对,新的匹配对计算与ground truth的偏差进入回归训练和匹配得分训练网络。
test:输入句子和视频,以固定的滑窗(128、256帧采样),计算每个句子窗口对的匹配分数。最终得到n个匹配分数最高的clip,取最高的作为输出预测起始时间,如果与ground truth Iou>m视作匹配成功。
Baseline
评价指标:
R@n,IoU=m :输出与一个句子最匹配的前n个时间片段,经过回归之后至少有一个片段与句子匹配IoU>m的概率