【论文笔记】Convolutional Hierarchical Attention Network for Query-Focused Video Summmarization

文章目录
  1. 1. 主要任务
  2. 2. 近期研究
  3. 3. 研究方法
  4. 4. 方法和模型细节
    1. 4.1. 问题形式化
    2. 4.2. 特征编码网络
      1. 4.2.1. 完全卷积块
      2. 4.2.2. 信息融合层
      3. 4.2.3. 反卷积层
    3. 4.3. 查询相关性计算模块
  5. 5. 实验
    1. 5.1. 数据集和实验设置
      1. 5.1.1. 数据集
      2. 5.1.2. 数据处理
      3. 5.1.3. 评估协议
    2. 5.2. 对比模型
    3. 5.3. 实验结果

我就是死,死外边,从这里跳下去,绝不碰你一下cv!
VQA真香!(真香滑铲杀

基于查询的视频摘要不仅仅只是移除视频中多余的部分,而是找到视频中的主要镜头并挑选出用户查询相关的部分。

主要任务

文章的主要任务是基于查询的视频摘要(query-focused video summarization),使用用户查询和一个长视频作为输入,目标是生成一个基于查询的视频摘要。
这个任务主要作为计算视频镜头和查询的相似度,使用的模型是:卷积层次注意力网络(Convolutional Hierarchical Attention Network,CHAN)。

基于查询的视频摘要和通用视频摘要的三点区别:
(1) 基于查询的视频摘要需要考虑用户的主观性.
(2) 经过训练的视频摘要不能满足所有用户的偏好,性能评价往往是为了测量时间重叠,使得语义相似性难以捕捉摘要和原始视频之间的关系.
(3) 文本查询会给带人带来附加的语义信息.

近期研究

近期基于查询的视频摘要研究主要将任务作为序列标签问题,将模型置于类似于LSTM的序列结构。
在每一个时间步骤上,模型输出一个二分类分数来预测这个镜头对于给定的查询是否相关或重要。
然而,序列化模型通常是step by step的计算,当视频长度增加,计算时间也会变得更长。 此外,由于梯度消失的问题,序列模型不能很容易地处理视频之间的长距离关系。

研究方法

作者在文章中将基于查询的视频摘要问题作为一个排名问题(ranking problem),首先将视频中重要的视觉内容挑选出来,然后计算视觉内容和给定查询的相关性。

方法和模型细节

作者使用了一个带有自注意力机制的卷积网络和查询感知全局注意机制的卷积网络来学习每个镜头的视觉信息。
模型主要由两个部分组成:特征编码网络 和 查询相关性计算模块。
模型结构图如下:

问题形式化

给定一个长视频v和一个查询q,基于查询的视频摘要的目标是找出查询相关帧或视频镜头的多样化和代表性子集。
方法:将任务表示为计算镜头查询相似度的问题。
步骤:
(1) 将视频表示为一个由视频镜头组成的序列:s1,s2,…,sn,其中n是视频镜头数。每一个镜头都是原视频的一个小切片。
(2) 将查询(query)表示为hq,此外,在基线数据集中,每个query由两个概念(c1,c2)组成,计算每个镜头的概念相关分数,然后合并两种分数作为查询相关的分数。
(3) 基于分数,生成一个不同的视频片段子集,它不仅可以表示原始视频,而且与查询相关。

Input:一个长视频v和一个查询q
Output:保留了原始视频最原始信息的分布式镜头子集,并且子集中的每个镜头都与给定的query相关。

特征编码网络

从本地视角和全局视角并行地从每个视频中学习特征。
在特征编码网络中,利用完全卷积结构来减少时间序列上的维数和视觉特征的维数,以减少模型中参数的数量。 为了更好地理解视频,首先将视频分割成片段,并在编码网络中使用一个信息融合层,该信息融合层将学习一个片段内部以及多个片段之间的视觉表示。
编码后的特征发送到查询相似度计算模块上生成基于查询的视频摘要。
信息融合层结合了局部的自注意和查询感知的全局注意机制,产生了具有不同层次信息的特征。

作者方法的主要思想就是建立一个编码模型,其不仅能捕获每两个镜头之间在局部和全局的关系来并行地找出重要的镜头,同时也查询和query相关的镜头。
考虑到视频的层次结构,长视频由几个故事组成,一个故事包含多个片段,每个片段由许多帧组成。 为了更好地理解长视频,我们需要从不同级别学习视频的表示形式,这意味着我们需要将视频分成小段。
该论文建立视频切片使用的是Kernel Temporal Segmentation,其在每个视觉片段中保持一致性。

完全卷积块

在分割过程之后,使用预先训练的ResNet来提取每个镜头的视觉特征。将所有视频镜头级特征作为一个特别的镜头切分:v1,v2,…,vsk.其中,sk是这个视频切分中的镜头数目。作者提出了一种卷积结构,以进一步编码视觉特征。

为了构建具有局部区域和并行计算过程中更好的视频镜头视觉效果的模型,使用一维全卷积网络体系结构对镜头级别的视觉特征进行编码。 此外,为了处理视频段之间的长距离,利用扩展卷积来获得更大的接收范围。 作者首次提出了不同过滤器的卷积网络然后连接它们的输出,使模型能够接收更多的信息。扩展卷积操作在一个视频切分中第i个镜头可以表示为:


其中,2k+1是滤波器大小,f是滤波器,d是扩展因素。在不同大小的滤波器和大扩展情况下,可以得到从输入中表示得更多的信息。
然后在视频的时间轴上使用一个池化层,这可以减少计算时间,也可以减少模型的运行内存。 连接不同的全卷积块,并构造一个多层块以提取代表特征。

信息融合层

将完全卷积块的输出特征表示为(v1_hat,v2_hat,…,vt_hat),其中t是输出特征序列的长度,输出特征是信息融合层的输入。
信息融合层的输出是来自先前块,局部注意表示和感知查询的全局注意表示的输出的串联向量序列。
局部自注意力机制的作用:捕获一个视频切分中所有镜头的镜头。
给定一系列全卷积块的特征输出(v1_hat,v2_hat,…,vt_hat),可以计算对齐矩阵。第i个元素和第j个元素的对齐分数向量计算:


其中,P,W1,W2 属于 R[dc x dc],是可寻路I安的参数,b属于R[dc]是一个偏置向量,dc是特征向量vi_hat的维度。
分数向量 f(vi_hat,vj_hat)属于R[dc], 输出对齐分数矩阵的形状是 t x t x dc,这意味着模块可以从时间的角度以及从每个维度的角度来关注代表性特征。

我们提出这个模块来学习同一段中不同帧的相对语义关系,对于不同的段,关系结构应该相似。 因此,对于不同的视频段,我们的本地自我注意模块共享所有可训练的参数,这也减少了我们模型中的参数数量。 第i个元素的本地关注视频特征由下式计算:


然后,引入查询感知的全球注意力模块,该模块可以对视频之间不同视频段的关系进行建模,并生成以查询为重点的视频表示.首先,给定一个由全卷积模块生成的视觉表示(v1_hat,v2_hat,…,vt_hat)和一个query q,q有两部分组成(c1,c2),为视频计算块级感知查询的特征:


其中,vT,W1,W2是可训练的参数,b是偏置向量,hq是概念表示的均值。感知查询的块级功能将视频段的汇总表示形式发送到特定查询。然后,计算每一帧的感知查询全局注意力表示。
给定视觉特征 vi_hat和所有的块级视觉表示(v1_s,v2_s,…,vm_s),其中m是视频分块的数量,第i帧全局注意力表示可以这样计算:


最后,将三种特征串联起来作为信息融合层的输出,更具体一些,第i帧融合特征的特征是vi_f_hat=[vi,vi_l,vi_g].

反卷积层

使用全卷积块来减少视频特征的时间轴上的数目,并提出了几个一维反卷积层来恢复原始的视频拍摄次数。

查询相关性计算模块

使用卷积神经网络和注意力机制来并行地计算镜头特征和query的关系并且捕获多距离的视觉信息。
处理视频和文本查询之间的方式并计算每个镜头的相似度分数,然后选择与给定查询相关的视频内容。

由于query由两个部分组成,文章的目标是学习一个模块,可以选择最与概念相关的镜头,返回一个与概念相关的分数。这个模块使用编码网络生成的镜头级特征(v1_f_hat,v2_f_hat,…,vn_f_hat)和概念作为输入。
此外,每个块都与一个或多个概念有关。给定一个特殊的概念c,首先要使用预训练的语言模型来获取它的嵌入特征fc。给定一个特征fc和第i帧 帧级别的特征 vi_f_hat,首先计算它们基于距离的相关性:


其中 Wf 和 Wc 是将视觉特征和文本特征投影到相同向量空间中的参数矩阵。 然后,让输出通过一个MLP,并得到第i块和概念c之间的概念相关分数。两个概念相关分数的平均值作为查询相关分数={s1,s2,…,sn}。

给出基本事实标注 s_hat={s1_hat,s2_hat,…,sn_hat}属于[0,1],表示的是一帧视频是否和一个概念相关,损失函数定义如下:


通过使损失最小化,查询相关性计算模块可以专注于与概念最相关的视频镜头。

实验

数据集和实验设置

数据集

[Sharghi, Laurel, and Gong 2017] Sharghi, A.; Laurel, J. S.;and Gong, B. 2017. Query-focused video summarization:Dataset, evaluation, and a memory network based approach.In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2127–2136.

数据处理

为了获得拍摄特征,我们将视频采样到1fps,然后将所有帧的大小重塑为224×224。 接下来,我们用预先训练的ResNet提取每个帧的视觉表示(Szegedy等人)。 这是在图像网络上预先训练的(邓等人)。 并为每个帧取2048维向量。 类似于(Sharghi,Laurel和Gong2017)的设置,我们以5秒为单位。并计算每个帧从一个镜头的平均值作为它的射击水平特征.. 利用KTS算法(Potapov等人)。 我们可以把视频分割成小片段,条件是 视频中的片段数不超过20,片段中的镜头数不超过200。 对于每个查询中的概念词,我们使用公共资源提取其词表示 布莱手套矢量(彭宁顿、索彻和曼宁,2014年)

评估协议

为了进行公平的比较,我们遵循(Sharghi、Laurel和Gong2017)中的协议设置。 考虑到视频摘要应该是一个相对主观的结果,而不是一个独特的结果, 作者提供了一个具有密集每次镜头注释的数据集.. 他们通过计算不同镜头之间的语义相似性来衡量模型的性能,而不仅仅是测量时间 或依赖于低级视觉特征。 在(Sharghi,Laurel和Gong2017)中,他们首先根据交集-重叠(IOU)计算每两个视频镜头之间的概念相似性。 他们的相关概念。 然后利用概念相似性作为两个摘要之间的二部图中的边缘权重,求出图的最大权重匹配。 最后, 可以根据匹配对的precision、recall和F1。

对比模型

SeqDPP

SH-DPP

QC-DPP

实验结果