基于深浅层特征融合的无监督视频摘要算法研究

2023-09-18 02:04曾凡锋王春真
计算机工程与科学 2023年9期
关键词:关键帧监督特征

曾凡锋,王春真,李 琛

(北方工业大学信息学院,北京 100144)

1 引言

近年来,随着手机、平板等电子设备的普及与视频共享平台的发展,视频用户规模不断扩大,视频已经成为互联网上信息传播的主导形式。视频可以动态展示出更丰富的视觉内容,而互联网上大量视频的出现,给人们的搜索、浏览和筛选带来了压力。快速对视频进行处理和分析已经成为当下的迫切需求。

视频摘要,指从原始视频中提取出关键帧或关键镜头,组成一个简要的视频概览,使用户能够在短时间内了解视频内容。根据在生成摘要的过程中是否使用标签数据对模型进行指导,视频摘要方法可以分为有监督方法和无监督方法。随着深度学习的发展,有监督视频摘要方法得到了广泛应用。Zhang等[1]首次提出基于长短期记忆BiLSTM(Bi-directional Long Short-Term Memory)网络的有监督视频摘要模型来预测帧的重要性得分,并增加了DPP(Determinantal Point Process)结构增强所选帧的多样性。Ji等[2]实现了一种序列到序列的预测过程,使用 BiLSTM对输入序列进行编码,注意力层作为解码器输出预测分数,最后选择关键镜头生成摘要。有监督的网络模型能够学习人类判断的标准,使输出的结果更加准确。但是,现有视频摘要数据集的人工标注数据不够充足,有监督方法的性能难以得到较大提升。同时,随着模型复杂度的增加,更容易出现过拟合问题。

无监督方法能够在没有标签数据的前提下,对视频内容进行处理。传统的无监督视频摘要方法如聚类[3],根据颜色直方图信息将相似度高的帧聚为一类,然后从每个类中选择距离中心点近的帧组合成摘要。但是,该方法所需的时间成本较高[4],且忽略了视频帧之间的时序性。

基于深度学习的无监督视频摘要方法受到更多的关注。文献[5]提出了一种基于生成对抗网络的摘要模型SUM-GAN(SUMmarizer-Generative Adversarial Network),使用长短期记忆LSTM(Long Short-Term Memory)网络对时序信息建模,并通过最小化原始视频与摘要之间的距离来训练网络。与基于对抗网络的方法不同,Zhou等[6]使用强化学习对模型进行无监督训练,设计奖励函数提高摘要的多样性和代表性。文献[7]在同等实验条件下,分别实现了基于强化学习和生成对抗网络的2种无监督视频摘要模型[6,8],并进行比较;文中指出由于缺乏对真实数据的学习,2种模型输出的帧重要性得分与人工标注值之间仍存在偏差,在评估模型有效性时应更加关注模型的直接输出。

现有无监督视频摘要模型大多使用深层卷积神经网络CNN(Convolutional Neural Network)作为特征提取器[5,6,8]。深层CNN特征能够捕捉图像的全局信息,在人脸识别和行为分析等任务中都取得了优异的效果。但是,CNN特征随着多层的卷积和池化操作,逐渐抽象为高级语义,而忽视了图像底层和局部的细节信息[9]。文献[10]指出,与尺度不变特征变换SIFT(Scale Invariant Feature Transform)[11]特征相比,深层CNN特征在通用性与几何不变性上有所欠缺。Yan等[12]提出一种CCS(Complementary CNN and SIFT)描述符,融合CNN与SIFT特征用于图像检索,在多个数据集上准确率有所提升。

在目前可用的各种深度神经网络模型中,GoogLeNet[13]在对象的特征上比LeNet[14]更具表现力[15]。GoogLeNet在2014年的ILSVRC(Image net Large Scale Visual Recognition Challenge)竞赛中获得冠军,与VGG(Visual Geometry Group)[16]和AlexNet[17]相比,它在网络中添加了多个Inception结构,减少了参数量,但识别目标的准确率得到了大幅提升[18]。

浅层特征中,局部特征对于各种图像变换以及光照、遮挡等情况都具有良好的不变性,广泛应用于图像检索[19]、图像配准[20]和目标检测[21]等任务。SIFT[11]是一种典型的局部特征描述符。Bay等[22]改进了SIFT的特征提取方式,提出了加速稳健特征SURF(Speed Up Robust Feature)算法。文献[23]对SIFT与SURF进行比较,两者都是稳健的特征检测与匹配算法,SIFT在尺度区域更优,而SURF在旋转、模糊、扭曲、RGB噪声和耗时等方面具有更好的效果。不同图像提取的局部特征是非等长的,需要对特征进行编码归一化。词袋BOW(Bag Of Word)模型[24]是检索、分类等任务常用编码方法之一,将图像特征展示为视觉词的直方图。Gidaris等[25]提出了一种使用BOW模型进行自监督学习图像表示的方法,提高了检测性能与分类精度。

为了提升无监督模型输出结果的准确性,本文提出了一种基于深浅层特征融合的无监督视频摘要算法。在构建模型时,融合了深层的CNN特征与BOW编码后的浅层SURF特征,提高了特征描述符对图像的表述能力,降低了训练时真实数据缺失造成的影响。使用BiLSTM来读取视频的上下文信息,采用奖励机制提升网络的性能。最后,根据模型输出结果生成视频摘要。使用动态规划算法来提取关键镜头;根据镜头内重要性分数的极大值来选择关键帧并去除冗余。

2 相关技术

2.1 GoogLeNet

在提升神经网络的性能时,常见方法是增加网络深度与宽度,同时引入稀疏性概念。稀疏连接能避免过拟合与计算能力不足的问题,但会导致计算的效率低下。GoogLeNet设计人员提出一种Inception结构,将稀疏矩阵分解为多个密集子矩阵,提高了计算性能。Inception的具体构成如图1所示。

Figure 1 Structure of Inception

Inception通过组合密集成分来构建最优局部稀疏结构,设置有1×1,3×3,5×5的卷积核与3×3的最大池化层,获取不同尺度的特征并进行通道融合。为了减少计算时的参数量,在3×3和5×5卷积之前以及最大池化之后,使用1×1卷积核对特征进行降维。

2.2 SURF

SURF是一种图像局部特征描述算法,相比于SIFT算子,特征提取速度更快,并且在视角与光照变化等条件下对兴趣点的检测性能更加优越。

在构建高斯金字塔尺度空间时,SURF使用了Hessian矩阵来计算关键点的位置。在图像像素点(x,y)与尺度σ下,Hessian矩阵及其行列式的计算如式(1)和式(2)所示:

(1)

det(H)=DxxDyy-(0.9Dxy)2

(2)

其中,Lxx(x,σ)、Lxy(x,σ)和Lyy(x,σ)为高斯二阶导数的卷积,对尺度空间中潜在的兴趣点进行检测。在计算行列式时,分别使用盒式滤波器Dxx、Dxy和Dyy来近似替代高斯滤波,提升了计算速度。0.9为加权系数,对使用盒式滤波器带来的误差进行均衡。

在生成特征描述符时,以特征点为中心,沿主方向划分4×4的方形区域块。在每一块子区域内计算haar小波特征,生成一个4维的向量。最后,每个特征点处生成一个64维的SURF特征描述子。

2.3 双向长短期记忆网络

循环神经网络RNN(Recurrent Neural Network)是一种处理时间序列信息的网络。RNN实现了对信息的记忆功能,在自然语言处理、机器翻译和语音识别等领域中具有优势。但是,在长时间序列建模时,RNN无法学习到长期的依赖信息,会导致梯度消失与梯度爆炸问题。

LSTM网络对RNN的结构进行了改进,加入了细胞状态和3个门结构,实现了对信息的长期记忆。细胞状态在整个网络上运行,保证信息的流传。门结构包含一个sigmoid神经网络层和一个点乘运算操作,遗忘门决定细胞状态中需要丢弃的信息,更新门决定要在细胞状态中进行更新的信息,输出门决定细胞状态中要输出的信息。RNN网络结构如图2所示,输入上一时刻的细胞状态Ct-1、隐藏状态ht-1与当前时刻信息xt,网络更新细胞状态为Ct,并输出当前时刻隐藏状态ht。

Figure 2 Structure of RNN

RNN与LSTM均从前向后传递单向信息,在许多任务中具有局限性。BiLSTM则能够基于上下文信息对当前时刻进行判断。BiLSTM由2个方向相反的LSTM层组成,接入同一个输入序列,分别捕获前向和后向的信息,再连接2层网络的隐藏层,共同接入到输出层进行预测。

2.4 KTS

核时态分割KTS(Kernel Temporal Segmentation)算法[26]是一种基于核变化点检测的镜头分割算法。输入视频帧的特征序列,算法通过正定核的帧间相似性矩阵,计算并输出一组与时间段边界相对应的最佳“变化点”。设视频帧数为n,视频分割段数为m,约束函数通过最小化方差来划分边界,如式(3)所示:

(3)

其中,Lm,n为整体方差的度量,该变量计算了m个分段的方差并求和;惩罚项g(m,n)用于限制分段数量不能过多,参数C用于平衡Lm,n与g(m,n)产生的分割情况。具体计算公式如式(4)~式(7)所示:

(4)

(5)

(6)

(7)

2.5 全连接层

全连接FC(Fully Connected)层一般位于神经网络的末端,该层中每一个神经元都与前一层的所有神经元相连。FC层能够对卷积和池化等层计算得到的特征进行线性组合,将高维特征映射到样本标记空间,在网络模型中起到分类器的作用。

3 本文算法

基于深浅层特征融合的视频摘要算法结构如图3所示,主要包括特征提取、重要性预测和摘要生成3个部分。特征提取模块用于提取视频帧的融合特征,重要性预测模块用于训练模型对视频帧进行重要性判断,摘要生成模块根据重要性分数生成关键镜头与关键帧序列。由于原始视频中相邻帧的内容高度相似,需要先进行下采样操作。在原始视频帧序列中每15帧取1帧,组成视频帧序列,记为V={f1,f2,…,fn},其中n为总帧数。

Figure 3 Structure of unsupervised video summarization algorithm based on deep and shallow feature fusion

3.1 特征提取

特征提取模块的整体步骤如图4所示,主要作用是提取视频帧的深层特征与浅层特征,并进行融合。

Figure 4 Feature extraction module

使用在ImageNet数据集上预训练的GoogLeNet模型来提取图像帧的深层CNN特征。GoogLeNet是一个22层的深度网络,取pool5层的输出作为本文的深层特征。

提取视频帧的SURF特征作为浅层特征。SURF描述子数目众多,且不同图像得到的描述子数目不尽相同,会影响后续计算。采用词袋BOW模型对SURF特征进行统一编码。首先,对视频中所有帧的SURF特征进行k-means聚类,生成k个视觉特征词典。然后,将单个图像帧的特征点聚类到k个词典中,统计落入每个词典中的特征点个数,得到一个k维的BOW特征向量。最后,使用线性函数归一化方法,将BOW特征中的数据转换到[0,1]内,保证特征融合的有效性。线性函数归一化的计算公式如式(8)所示:

(8)

其中,Xmax与Xmin分别为特征向量中的最大值与最小值,Xnorm为归一化后的X。

将上述提取的CNN特征与BOW特征进行拼接融合,生成一个新特征x。拼接融合是早期的一种融合方法,将2种特征直接进行连接,表现为特征维度增加。为了降低模型计算的复杂度,本文使用FC层对特征x进行压缩。与自编码器AE(Auto- Encoder)结构中的编码器部分类似,特征压缩操作将输入数据中的噪声进行去除。具体操作为FC层对输入数据应用线性变换:

y=Wx+b

(9)

其中,x为全连接层的输入,维度为d1;y为全连接层的输出,维度为d2(d2

3.2 重要性预测

(10)

其中,W′为权重矩阵。

在网络模型训练期间,根据Zhou等[6]的建议,本文使用强化学习对网络进行指导,模型会选择一组帧来代表视频内容。奖赏信号R评估所选帧的多样性与代表性,使得网络对视频帧重要性产生更准确的判断。R计算公式如式(11)和式(12)所示:

R=αRdiv+βRrep

(11)

α+β=1

(12)

其中,Rdiv为多样性约束函数,衡量所选帧的特征差异程度;Rrep为代表性约束函数,计算视频帧与其最近中心点的的均方误差;α和β分别为2个函数的权重,约束函数计算公式如式(13)~式(15)所示:

(13)

(14)

(15)

其中,d(yt,yt′)是计算2帧之间差异的函数,yt为第t帧视频帧特征,γ为所选帧的索引集合,T为所选帧的数量。在训练过程中,对2种约束函数赋予相同权重,计算并达成奖励最大化。

3.3 摘要生成

视频摘要包括静态摘要和动态摘要。静态视频摘要,是在视频帧中选择部分最能代表视频内容的帧,组成一个关键帧集合来呈现视频中的故事情节。动态视频摘要,是在视频中抽取关键镜头片段并重新组合成一个短视频,动态呈现视频的关键内容。视频摘要生成步骤如图5所示。

Figure 5 Steps of summary generation

在视频的层次结构中,一个视频往往由一个或多个镜头组成,而一个镜头又由多个帧组成。在生成视频摘要之前,需要先进行镜头分割。本文使用KTS算法对视频进行变点检测,得到多个不相交的视频镜头片段。

3.3.1 动态摘要生成

本文基于动态规划的方法来生成动态视频摘要。首先,计算每个镜头内视频帧重要性分数的均值,作为镜头重要性分数。镜头的分数越高,表示当前镜头越能体现视频的关键内容。再根据文献[27]限制摘要的长度不超过原视频的15%。最后,使用0/1背包算法在约束条件下根据镜头分数选择镜头生成摘要。

3.3.2 静态摘要生成

在生成静态视频摘要时,基于概率分布的方法能够在视频中根据帧重要性得分选择帧来概括故事情节[5,7],但忽略了视频的层次结构,并存在冗余现象。本文在生成静态摘要时,先基于镜头层次计算帧分数的局部极大值,对关键帧进行初步筛选;再计算特征相似度去除冗余。具体步骤见算法1。

算法1基于局部极大值的关键帧筛选算法

输入:帧得分序列P,镜头序列H,特征序列Y。

输出:关键帧序列K。

1.初始化关键帧序列K,初步关键帧序列K′,相似度阈值δ;

2.for(shotinH)do

3. 根据P计算shot的局部极大值,帧序号加入K′;

4.ifshot中无局部极大值then

5. 计算shot中的最大值,帧序号加入K′;

6.endif

7.endfor

8.计算序列K′中帧数num;

9.for(idx,curframein enumerate(K′))do

10.flag←1;

11.for(frameinK′[idx+1:num])<δthen

12.ifsim(Y[curframe],Y[frame])<δthen

13.flag←0;

14.endif

15.endfor

16.ifflag==1then

17.curframe加入K;

18.endif

19.endfor

在算法1中,第2~7行计算了每个镜头内的重要性分数极大值,对视频帧进行筛选,得到初步关键帧序列K′。第8~19行在初步关键帧序列中计算当前帧与其他帧之间的特征相似度,使用阈值δ决定是否选择当前帧。第12行的sim(Y[curframe],Y[frame])为计算curframe与frame之间特征的欧氏距离。最后得到按时序生成的关键帧序列K。

4 实验与结果分析

4.1 实验设计

本文在视频摘要数据集SumMe[28]和TVSum[29]上对所提算法进行评估。SumMe数据集包含25个以假期和体育等为主题的视频,每个视频长度为1~6 min不等,由15~18个用户进行标注。TVSum数据集由50个视频组成,包含新闻、vlog和纪录片等内容。TVSum中每个视频长度为2~11 min,由20名用户进行帧级重要性得分的注释。

4.1.1 模型(动态摘要)评估

根据Zhang等[1]提出的规范实验设置,使用5倍交叉验证,即对数据集随机划分5次,每次划分后都有80%用于训练和20%用于测试。

使用F-score对生成的动态摘要结果进行评估,取5次实验的F-score均值为最终结果。F-score是衡量网络模型生成的摘要M与数据集中标注的摘要U之间相似度的一个度量,记O为M与U之间的重叠部分。精度Precision、召回率Recall以及F-score计算公式如式(16)~式(18)所示:

Precision=O/M

(16)

Recall=O/U

(17)

(18)

4.1.2 静态摘要评估

由于数据集中没有提供静态摘要的衡量标准,本文采用人工标注的方式在每个镜头中指定关键帧,并以此为标准进行后续评估。使用查准率pre、查全率rec以及F1来评估本文算法提取关键帧的效果。计算公式如式(19)~式(21)所示:

(19)

(20)

(21)

其中,TP为算法正确提取的关键帧数量,FP为算法错误提取的关键帧数量,FN为漏检帧数量。

4.2 对比实验

4.2.1 BOW维度确定实验

本文实验设置有深层的CNN特征和浅层的BOW特征。其中,CNN特征的维度设置为1 024,BOW特征的维度根据实验结果来确定。在SumMe和TVSum 2个数据集中,设置几种不同维度的BOW特征,分别与CNN特征融合并输入模型,评估模型的F-score结果。不同BOW维度下的实验结果如表1所示。从表1可以看出,BOW特征取256维时,与CNN特征融合,使模型在2个数据集上产生了最佳的效果。本文选取该维度进行后续的实验。

Table 1 F-scores of BOW features under different dimensions

4.2.2 与无监督算法对比实验

本节选择了几种无监督视频摘要算法与本文算法进行对比,所选算法的数据均来自原始论文。(1)SUM-GAN[5]:使用生成对抗网络来训练摘要网络。(2)DR-DSN[6]:使用强化学习训练深度摘要网络,提高了摘要帧的多样性与代表性。(3)PCDL(Property-Constrained Dual Learning)[30]:设计人员提出的一个结合摘要生成与视频重建的双学习框架,并增加了属性奖励提高所选帧的多样性与代表性。(4)ACGAN(Attentive Conditional Generative Adversarial Network)[31]实现了一种注意条件生成对抗网络,加入多头自注意力学习长时间依赖。表 2展示了规范实验设置下与上述几种算法的F-score对比结果。从表2可以看出,本文算法在SumMe数据集上的F-score提高了2.6%,在TVSum数据集上的F-score提高了0.9%。分析可知,所提算法将深浅层特征融合与BiLSTM后,不同层次的信息互为补充,使特征的区分力更强,促进模型产生更准确的判断。

Table 2 F-score comparison results of the proposed algorithm with unsupervised video summarization algorithms

4.2.3 与有监督算法对比实验

表3展示了本文算法与现有的几种有监督视频摘要算法的对比结果。vsLSTM与dppLSTM都是由Zhang等[1]提出的有监督学习算法,vsLSTM将BiLSTM与多层感知机MLP(Multi-Layer Perceptron)结合预测每一帧得分,dppLSTM在vsLSTM基础上加入DPP结构,增强摘要的多样性。SUM-GANsup[5]、DR-DSNsup[6]、PCDLsup[30]和ACGANsup[31]分别是SUM-GAN、DR-DSN、PCDL和ACGAN的有监督变体,能够在训练时学习真实的帧标注值。

Table 3 F-score comparison results of the proposed algorithm with supervised video summarization algorithm

由表3可以看出,本文的无监督算法性能不差于甚至超过现有的有监督算法的。将深浅层特征融合用于特征表示,能够更加全面地刻画图像内容,一定程度上弥补了训练时缺乏真实数据指导的不足。

4.3 结果分析

图6绘制了TVSum中视频43的人工标注值与模型输出的重要性得分分布。该视频内容为户外骑行运动,在关键帧中采样了4帧来展示视频内容。可以看出,所提算法预测结果与人工标注值的变化趋势有较强相关性,证明了本文算法的可行性。

Figure 6 Comparison between the proposed algorithm’s output and ground_truth

图7展示了对TVSum中视频26使用不同算法产生的静态摘要,灰色柱体为标注的帧重要性分数,黑色柱体为所选的关键帧。该视频主题为节日集会,在静态摘要中采样了4帧作展示。从图7可知,本文提出的基于局部极大值的算法能够捕捉到人工标注的重要帧,同时可见有效去除冗余。

Figure 7 Static video summaries generated by probability distribution algorithm and the proposed algorithm

表4展示了本文算法提取关键帧的结果。从2个数据集中选取4种不同类型的视频,对提取的关键帧进行评估。其中,视频总帧数如第3节所说,记为原视频帧下采样后的数量。可以看出,对于不同类型的视频,使用F1值综合评估,本文算法能够较为准确地表达视频关键内容。查全率较高,表示本文算法能够较为全面地捕捉到真实关键帧;但对于场景变化较快的视频video_12和video_26,提取关键帧的准确率仍有待提升,后续算法可以进一步改进。

Table 4 Results of key frame extraction

5 结束语

本文提出一种基于深浅层特征融合的无监督视频摘要算法。算法将CNN特征与编码后的SURF特征进行融合,由BiLSTM网络读取视频帧的时空信息,使用无监督奖励函数提升模型的性能,根据输出的帧重要性得分生成摘要。在最终筛选关键帧时,使用基于局部极大值的方法生成更为简洁的摘要。实验结果表明,本文算法要优于其他无监督视频摘要算法。

猜你喜欢
关键帧监督特征
突出“四个注重” 预算监督显实效
如何表达“特征”
不忠诚的四个特征
抓住特征巧观察
基于改进关键帧选择的RGB-D SLAM算法
监督见成效 旧貌换新颜
夯实监督之基
基于相关系数的道路监控视频关键帧提取算法
基于聚散熵及运动目标检测的监控视频关键帧提取
监督宜“补”不宜“比”