Introduction
-
Grounded video description. CVPR, 2019.
- 这篇文章的主要贡献在于提出了新的密集事件描述ActivityNet Entities数据集,在Activity Captions的基础上,添加了captions中NP名词短语与视频中的物体的对齐。
- 由于源数据集中数据量过大,因此采用了稀疏标注的方法,对每个视频切割出segment,在每个segment中标注物体的class和bounding box,并且要求每个segment中该物体仅标注一帧。该文章使用这种方法,有效提高了caption的精度(由于bbx的召回率和准确率都不高,提升性能并不大)。
- 主要贡献:ActivityNet Entities数据集
- 解决问题:密集事件描述中实体定位grounded
Pipeline
- 框架由三部分组成:定位模块,区域注意力模块,语言生成模型。
-
定位模块:对每个区域预测概率分布,使用VG数据集对物体分类进行预训练。为K类物体寻找最近邻时是通过计算embedding空间距离(glove vector)。将特征、类别相似性矩阵、类别信息进行融合,作为region特征。
其中Wc是物体分类矩阵,B是可学习标量参数,softmax操作确保表示区域类别相似矩阵Ms的和为1。其中WcTR后面跟着ReLU和Dropout层。 -
区域注意力模块:对region特征进行atten得到视频表示,与以往的frame-level的特征不同,关注了更多的视频纹理细节,比如物体位置。
- 语言生成模块:使用两个LSTM实现,第一个LSTM编码了全部的视频特征和word embedding到隐含层状态(m-dimension)中,第二个LSTM通过视频和区域特征翻译单词。
损失函数
(1)语言生成常用的交叉熵损失函数
(2)区域注意力的交叉熵损失
(3)区域分类交叉熵损失
(4)物体定位交叉熵损失
其中权重系数由验证集确定。
实现细节
(1)每个segment为一个event,平均采样10帧,每帧使用基于ResNeXt-101的Faster R-CNN获取区域提案和特征提取。解码器使用VG模型进行了预训练。其中将ResNeXt-101的conv4的特征作为spatial feature map。然后使用average pooling获取全局信息。另外,每个segment的index、起始时间和终止时间也是很重要的信息。
(2)区域编码2048-d,RNN编码1024-d,word embedding为512-d。在attention模块中,采用2层,6-head的Transformer作为编码器。
(3)一个bbx可以对应多个NP,比如the man和his。但不会一个NP对应多个bbx。最常出现的objects 是 “man”, “he”, “people”, “they”, “she”, “woman”, “girl”, “person”, “it”, and “boy”.平均每个segment标注2.56个bounding box,每个bbx标注1.17个label。共标注了432种物体。
(4)localization的四个指标:attn, grd, F1all, F1loc。前两个使用GT句子计算定位attention和grounding的准确率,后两个在生成句子的基础上计算F1值,分别是全局信息和局部信息的准确率&召回率的综合评价指标。
(5)数据预处理(prepro/prepro_dic_anet.py):作者对数据集的caption和dictionary进行了预处理,结果为cap_anet_trainval.json和dic_anet.json文件。其中第一个文件是每个segment对应的caption,及bounding box的坐标和名词短语的对应类别clss。第二个文件有4个key,wtol是词根转换,ix_to_word是index与word的对应关系,wtod是word与index对应关系 ,videos部分是video id与segments与split分类之间的对应关系。还提供了anet_entities_captions,将video的密集描述文本分别对应到segment(由起止时间确定)。而region feature(fc6_feat_ 100rois)和detections/proposals(anet_detection_vg_fc6_feat_100rois.h5)文件3G,暂时未下载,路径对应到feature_root和proposal_h5两个变量。代码中seg_feature_root变量是_resnet.npy结尾的frame级特征和_bn.npy结尾的motion级特征的路径。另外,detectron的fc7层权重文件也可下载使用,包括了fc7_b.pkl, fc7_w.pkl, cls_score_b.pkl, cls_score_k.pkl这四个导出的权重文件。