基于图像熵和局部帧差分的关键帧提取方法

2022-04-24 03:14
现代计算机 2022年4期
关键词:视频流关键帧差分

陈 诚

(四川大学网络空间安全学院,成都 610207)

0 引言

随着互联网和社交媒体的快速发展,网络已经成为人们获取和分享信息的重要平台,并且随着各类短视频与直播平台的出现,人们可以很方便地在社交平台上发表分享自己的生活。据统计显示,抖音、快手等短视频平台的用户已经达到上亿人。在满足用户们个性化与分享自由需求的同时,据统计,抖音已经拥有50063万月活用户、用户月人均日运行时长24.5 min(2020 年3 月)。这说明了现在的互联网网民已经将更多的时间用在短视频以及直播上面,相较于文字与图片,视频内容拥有更加丰富的内容展示,并且短视频结合用户大数据、云计算相关技术向用户推荐其喜欢的内容,更加增强了用户的粘性。然而这也给人工审核带来了极大的工作量,也为视频内容版权的保护带来了巨大的挑战。因此,如何快速而充分地表示出视频的内容成为了目前亟待解决的难题。目前,对视频流进行关键帧抽取成为了相关问题的首要解决方法。

现有的关键帧抽取方法大致有基于前后帧差分的关键帧抽取方法、基于音频的关键帧抽取方法、基于运动光流的关键帧抽取方法。然而基于帧差分的关键帧抽取方法抽取出的冗余帧过多,对于抽取出关键帧后续的处理带来了更大的开销、而基于音频的关键帧抽取方法具有一定的误差,难以准确地囊括视频中的关键信息,基于运动光流的关键帧抽取方法时间开销太大,难以满足当前日益增长的海量视频场景。针对上述问题,本文提出了一种基于图像熵极值和局部帧差分的关键帧抽取方法,在保证不遗漏图像中关键信息的同时提升了检测速率、减少了冗余帧的数量。

1 关键帧抽取描述

目前对于海量增长的视频数据内容,对如此庞大的数据进行处理一直是一个十分耗时的过程,因此如何通过提取准确反映视频内容的关键帧序列,对于处理一个长段视频内容来说必不可少,视频流与视频帧的关系如图1 所示。视频关键帧的提取重点在于如何去掉重复帧以及提取出最能代表视频内容的关键帧序列。

图1 视频流组成结构

视频流是视觉图像连续运动的集合,即视频由多个连续视频帧组合而成,帧率越高,代表着该视频越连续,人类视觉中的视频越流程。一般来说,超过30 帧,人眼便无法察觉出视频中不连续的视频帧,而随着如今高清高帧率视频的出现,许多视频网站开始推出60 帧甚至更高帧数的视频来满足用户的需要,但这也给处理这些视频帧带来了更大的挑战。

关键帧的提取需要包含三个注意的点,总结如下:

(1)提取出的关键帧集合中应当包含该视频流中最准确、最合适且最能代表视频内容信息的关键帧,即在一段连续的帧中能够选取出最能代表该视频帧序列运动信息与空间信息的帧作为关键帧。

(2)提取出的关键帧应当避免冗余,即关键帧集合中应该尽可能地减少含有重合度较高的关键帧,以减小后续检测任务的时间与性能开销。

(3)为了应对如今大量且实时的视频流处理任务,提取关键帧的计算量应当尽可能小,从而加快检测效率,达到接近实时的检测效率,以满足实际视频处理检测任务的需求。

2 现有的关键帧抽取方法

2.1 基于帧差分的抽取方法

对于图像而言,图像的信息通常由图像的色彩信息代表,而图像的色彩信息在计算机中可以用颜色直方图来进行表示,如图2所示。基于帧差分的抽取方法用图像的颜色特征来代表该图像的整体信息,对于一个视频流中的视频帧集合,该方法通过计算所有视频帧的颜色直方图,并对前后相邻帧的颜色直方图进行差值计算求得颜色直方图差值矩阵的绝对值之和,判断该值是否超出设定阈值范围。如果超出了阈值,则视该图像为新的关键帧,并将其保存至关键帧集合,如果未超过,则视其与前帧变化不大,舍弃该帧。该方法的优点是原理通俗易懂、且计算简单,缺点是相邻视频帧的颜色直方图和其变化收到光照影响对几十帧视频内容之间的帧非常敏感;尽管相邻帧之间的变化很小,但相邻视频帧的颜色直方图特征将会发生显著变化。如前所述,为了快速有效地进行关键帧提取,该方法将会保留大量冗余帧,不能满足最初的需求。

图2 图像颜色直方图

2.2 基于音频的帧差分方法

除了基于视频信息对关键帧进行抽取,还有通过音频信号对关键帧进行抽取的方法,即基于音频信号的关键帧提取方法。该方法首先将音频信号分割成EE 序列,然后使用中值滤波平滑EE序列。中值滤波函数为

其中dE分别表示第帧的检测函数值和短时能量值。之后通过检测函数和阈值得到音频EE序列的分割位置,公式为

其中与分别是最低阈值和最高阈值。之后判断分割后的EE 序列值是否小于阈值max,如果小于阈值则将其视为分割完成的EE 序列,如果没有,重复上述过程将其分割为更小的EE 序列。得到分割后的音频EE 序列后,找到时间序列相对应的图像帧作为该段序列的关键帧。这种方法有效的利用了图像信息之外的音频信息对视频进行关键帧提取,且音频信息的加入可以定位色情内容帧出现的时间序列,从而避免色情关键帧的遗漏。但是音频信息存在着不确定性,基于音频的关键帧抽取方法过于依赖音频信号而未能有效利用图像信息,选取出不准确的关键帧或者出现冗余关键帧的概率将会大大增加,且利用音频信号进行关键帧抽取在处理时长上耗时较多,不利于实际场景中的实时检测。

2.3 基于运动光流的帧差分方法

光流是一个空间中物体运动轨迹形成的矢量。即通过检测前后帧之间对应像素的运动轨迹,从而计算出相邻帧之间的运动信息。基于动作的关键帧提取方法主要基于场景的时间动态变化以及视频中的运动信息。这种方法的实现过程一般基于图像的像素差异或光流计算。Wayne wolf 等提出计算视频流中的光流值并取得局部极值点作为关键帧,该方法用于识别视频中镜头瞬间停顿或者镜头中运动态较为突出的两种情况。具体方法是首先计算每一帧的光流值,并计算简单的运动矢量,如图3所示,然后将所有帧的矢量作为轴,时间为轴做成函数图进行分析,选择运动最小值处的关键帧。

图3 视频帧序列中的光流向量

Ling等认为相邻帧之间的运动矢量幅度之间的差异包含着较为显著的运动信息,因此可以利用帧与帧之间的运动直方图对视频中的关键帧进行提取。运动直方图中包含复杂运动且相较于相邻帧包含更为突出的运动信息的帧被抽取为关键帧。首先通过在每个视频帧的运动直方图上计算熵值曲线中的峰值,然后通过找到帧与帧之间具有显著凸出的峰值熵作为最终选取的关键帧。这种方法利用了视频流中复杂运动的熵值和连续帧之间运动的变化来提取关键帧。

基于动作的关键帧抽取方法对运动信息较多的视频流具有较好的效果,然而其计算量过大且时间开销过长,难以满足实际关键帧抽取场景的需要。

3 本文提出的关键帧抽取方法

当前对色情视频流抽帧的方法主要是基于单一方法,存在着抽取速度较慢、易遗漏关键信息帧等问题,并不能保证抽取到合适关键帧的同时不遗漏关键信息。为了解决上述问题,本文提出了一种适用于短视频和直播的抽帧方法,分为图像信息熵极值计算与帧差分计算两个步骤。

3.1 图像熵极值计算

图像信息熵极值计算图像信息熵可以很好的概括一张视频帧所包含信息的内容量,而将图像信息熵映射至视频帧编号坐标轴上,局部极值的视频帧表明在局部视频帧中该帧处于信息变化的转折点,因此可以将该帧视作为局部关键帧。对于视频中的视频帧,可以用式(3)来计算:

其中pf()表示第f个视频帧的概率密度函数,可以通过对其灰度强度直方图进行归一化计算得到,之后将计算得到的图像熵值( f)映射到以图像帧编号为X 轴的二维坐标轴中,最后通过取分段内图像熵为极值的图像编号作为该分段中的关键帧,如图4所示。虽然采用图像熵极值的方法可以找到连续视频帧中,图像信息变化的转折极值点作为关键帧,但是对于高帧率图像,采用这种方法选出的候选关键帧中仍然存在大量前后帧变化很小的候选关键帧,这大大增加了后续图像分类的时间开销与性能开销,因此本文还提出了一种针对短视频和直播视频流的关键帧二次提取方法,即局部帧差分方法。

图4 图像序号-图像熵映射

3.2 局部帧差分计算

由于视频帧抽取的应用场景(即短视频、视频直播等)大多数背景不变或者较小变化,因此为了避免整个场景变化过小导致长时间无法获取关键帧,本文提出了一种局部帧差分的方式,对前后帧局部进行差分绝对值计算,最后选出局部最大差分绝对值作为前后帧的差分值,之后通过判断局部最大差分值是否超过设定阈值来确定是否保留该帧作为关键帧。例如输入图像的大小为416 × 416,则先将前后两个帧分割为16 × 16=256 个等大小为26 × 26 的网格,之后按照前后对应网格位置进行帧差分计算,并将得到的帧差分网格取绝对值并相加一元化作为该网格的局部帧差分值,最后通过选取所有网格中最大的局部帧差分值作为该前后帧的差异值,并通过判断该差异值是否超过设定阈值。如果超过了阈值则视作前后两帧变化大将前一帧留作关键帧并将后一帧作为前一帧继续与下一帧进行局部帧差分计算;如果未超过阈值则视作前后两帧变化不大,舍弃前一帧并将后一帧与下一帧继续进行局部帧差分计算,直到计算至最后一帧得到最终关键帧集合。具体流程如图5所示。

图5 局部帧差分流程

综上,本文提出的关键帧抽取模块的流程如下:

图像帧抽取算法

输入:个视频帧的帧集合

输出:关键帧集合

1:对输入的视频流进行初始化,将其转化为包含个视频帧的集合O

2:=0

3: Set S

4:While<do:

5: Update Oby(1)

6: i+=1

7: j=0

8:end While

9:While<do:

10: calculate Max(O)in O

11: S add m

12: j+=25

13:end While

14:for Sin S:

15: if S-S>Thresholding

16: remove S

17: else:

18: continue

19:return S

4 实验和结果

为了验证本文提出的关键帧抽取方法的性能,选取了100个短视频流作为测试数据,并且为了保证测试的准确性,将这些短视频流剪辑为3 分钟每段,最后从关键帧与视频总帧数比(KS),关键帧抽取效率以及场景平均关键帧数量三个方面进行验证与评估。本文的实验环境为CPU:I5-9300h,显卡:GTX1660。

从表1可以看出,帧差分方法耗时较短但是冗余帧较多,而基于音频和基于运动光流的方法虽然冗余帧较少,但耗时远远高于帧差分方法,而本文提出的方法不仅耗时最少,并且冗余帧也最少,在保证了不丢失关键信息的同时,保留了最少的关键帧。

表1 不同方法的性能比较

5 结语

针对目前互联网中短视频和直播数量的增加,为了节省人力,帮助审核人员快速发现违规内容以及保护视频版权,本文提出了一种基于图像熵极值和局部帧差分的关键帧抽取方法,在保证不丢失关键信息的同时,提高了关键帧抽取速率,减小了冗余帧的数量,为后续视频内容处理提供了极大的便利。

猜你喜欢
视频流关键帧差分
一类分数阶q-差分方程正解的存在性与不存在性(英文)
一个求非线性差分方程所有多项式解的算法(英)
基于误差预测模型的半自动2D转3D关键帧提取算法
一类caputo分数阶差分方程依赖于参数的正解存在和不存在性
铁路货场智能大门集装箱全景图像采集方法研究
基于差分隐私的数据匿名化隐私保护方法
基于视频流的图像识别技术发展与应用
基于计算机三维动画建模技术的中国皮影艺术新传承
基于手机APP、GIS、OLAP的移动运营商网格集中管理中心系统的设计与实现
运动图像关键帧快速跟踪系统的改进