文章目录
任务
text-to-video temporal grounding:
以视频片段和查询语句(也就是文本)作为输入,返回与查询语句相关的视频片段的起止时间。
文中带言,传统方法一般是生成proposal然后去match,通过最大化真值match指标来训练网络。而本文在双模态交互中充分利用全局和局部的上下文信息。
(个人感觉:就是分别用全部文本信息,局部文本信息,去融合视频信息,最后回归得到目标起止时间。至于如何提取局部上下文信息,以及如何去融合两个模态信息就是文章要考虑的,也是可以持续思考的内容。)
方法
主图镇楼:
整个方法分为4个部分:
1、 Encoders
- Query encoding Glove + 双层双向LSTM
- Video encoding 3D-CNN + position feature
原文的表示如下:
f
v
f_v
fv表示3D-CNN
embedding matrix
W
p
o
s
W_{pos}
Wpos和时间戳{1,2,…,T}定义了一个对照表
f
p
o
s
f_{pos}
fpos,作为绝对位置特征。
2、 Sequential Query Attention Network (SQAN)
模块上一轮输出值
e
(
n
−
1
)
e^{(n-1)}
e(n−1)和句子级别的特征
q
q
q通过融合得到一个先导向量
g
(
n
)
g^{(n)}
g(n)
然后用先导向量
g
(
n
)
g^{(n)}
g(n)与词级特征得到权重
a
(
n
)
a^{(n)}
a(n)最终得到当前的输出,也就是融合前文,当前单词,和全局信息之后得到的“单词分布”
3.Local-Global Video-Text RegressionInteractions
有了操作过的查询语句信息,下面就是进行两个模态的融合
首先得到n-th词与第i部分视频(一共T部分)融合的双模态信息
m
i
m_i
mi,再用resblock得到n-th词与全部视频片段融合的双模态信息。
本来到这里就挺好的了,但是有一种情况,就好像开头我们举的那个例子,“it”指代上文的“all ingredients”那么这个时候全局上下文信息变得重要起来,所以这里用了一个non-local块。non-local: 传送门
4.Temporal Attention based Regression
上一步做完, the semantics-aware segment features are obtained,再用一个时间注意,最终回归预测得到时间间隔。
最后: 三个损失,两个数据集
-
location regression loss :衡量与真值的差距
-
temporal attention guidance loss:使得模型高度关注跟query相关的片段
-
distinct query attention loss:驱使注意力在不同步骤关注不同内容
防止注意力在关注句子中某一内容时损失函数很小,就不再对其他内容进行注意,导致注意力机制失效,对损失函数添加正则项,也就是Distinct query attention loss。期待可以促使A趋向对角矩阵,注意力趋向上图右图所示,每一步关注query不同的部分,从而达到“注意”的效果。
实验部分
在Charades-STA 和 ActivityNet Captions两个数据集上进行试验,数据集就是配查询语句的短视频,有兴趣的胖友可以自行了解。贴上结果:
看下第三个图倒数第二行的结果跟第一张图的SOTA已经可比,说明即使没有phrase模块, the proposed local-global video-text interactions已经可以显著提高模型效果。还有一些对超参数的比较,还是有兴趣的胖友自行了解。
就这样吧,下回看到有意思的文章再写~~