基于关键帧的视频结构化系统研究与实现

2019-11-17 04:05吴靖李少康王家宝
电脑知识与技术 2019年26期
关键词:软件系统

吴靖 李少康 王家宝

摘要:随着移动多媒体快速发展,视频的生成速度呈指数增长,视频浏览的工作量和存储的数据量日益庞大。为了实现快速浏览和高效存储,视频结构化方法越来越引人关注。文章围绕快速浏览和高效存储视频内容,研究了基于关键帧的视频结构化方法,采取HSV空间颜色特征直方图提取关键帧的方式,利用OPENCV计算机视觉库设计实现软件系统,并对系统做出测试和评价。

关键词:视频结构化;关键帧提取;视频分析;软件系统

中图分类号:TP311        文献标识码:A

文章编号:1009-3044(2019)26-0212-03

开放科学(资源服务)标识码(OSID):

Abstract: With the rapid development of mobile multimedia, the speed of video generation is exponentially increasing. The workload of video browsing and the amount of data stored are increasing. In order to achieve fast browsing and efficient storage, video structuring methods are attracting more and more attention. Focusing on fast browsing and efficient storage of video content, this paper researches on the method of video structuring based on key frames, adopts HSV spatial color feature histogram to extract key frames, uses OPENCV computer vision library to design and implement the software system, tests and evaluates the system.

Key words: video structuring; key frame extraction; video analysis;software system

视频数据在形式上没有结构,但内容上有较强的逻辑结构,按照内容粒度可被结构化成帧(Frame)、鏡头(Shot)、场景(Scene)、视频(Video)四个层次,如图1所示。为了提高视频浏览和存储的效率,需要从没有结构的视频数据提取具有代表性的结构单元。视频结构化技术便是从视频中提取其结构单元的技术。

视频帧是视频结构化技术处理分析的基本单元,关键帧是表述镜头的关键性图像帧,又叫代表帧,其可以减少视频索引的工作量和数据量。因此,关键帧提取对视频结构化具有重要的意义,其方法主要有4类[1]:

(1)基于镜头边界提取。将一段视频分割成数个镜头后,提取每个镜头第一帧或最后一帧作为该镜头关键帧。

(2)基于图像信息提取。基于帧的色彩、纹理等视觉信息的转变方法来提取关键帧,将镜头第一帧作为关键帧,再通过帧之间的特征数值变化(阈值控制)来提取多个关键帧。

(3)基于运动分析提取。通过光流分析计算镜头里的运动力,在运动量为最小值处选择关键帧。

(4)基于视频无监督聚类提取。确定一个初始类心,根据当前帧与类心的距离来判断本帧图像类心归属,再将各类中离类心最近的帧作为关键帧。

以上4类方法各有优缺点,主要是提取的关键帧对于视频内容的反映程度没有统一评价标准。本文主要研究基于图像信息,采取直方图差值的算法来提取关键帧,并通过系统进行实现。

1 系统设计

软件系统框架设计如图所示:

1.1 视频帧特征抽取设计

颜色是描述视频帧的重要特征之一,准确描述颜色特征需要使用合适的颜色空间和颜色描述子。常用颜色空间主要区分RGB、HSV两类,其中RGB空间利于计算机合成,HSV空间则更能反映人眼视觉所能看到的颜色[2][3]。因此,本文基于颜色特征,选用HSV颜色空间进行视频帧特征抽取,通过对H色调和S饱和度来进行颜色判定。

1.1.1 颜色空间变换

一般的视频图像主要基于RGB颜色空间,所以需转化至HSV空间[4],转换算法为:

其中,色调(H)是指颜色在光谱中所处的位置(常见的三原色红绿蓝对应色调分别为0、120、240);饱和度(S)是一个颜色接近光谱色的程度,常用纯度与饱和纯度比值来表示,取值为[0,1](0表示只有灰度,1表示颜色饱和度最高);亮度(V)是指颜色的明亮程度,常用颜色的亮度与饱和亮度比值来表示,取值为[0,1](0为黑色,1为白色)。

1.1.2 颜色特征描述

常用的颜色特征表述有颜色直方图、颜色集、颜色矩、颜色聚合量、颜色相关图等方式[5]。颜色直方图一般是用来表示图像中像素点颜色的比例分布情况,在图像的比对、检索方面有广泛的应用[6]。本文采用颜色直方图进行描述,并利用直方图相似性来比较两幅图像的相似度。

直方图相似性计算有以下4种方法[7]:

(1)相关系数(Correlation)

N指直方图中bin的数量。相似度范围是(0,1],取值为1时直方图相同。

(2)卡方系数(Chi-Square)

(3)直方图相交(Intersection)

(4)Bhattacharyya距离

相似度范围是[0,+∞),取值为0时表示两直方图相同。

具体地,本文直方图相似性计算采用的是相关系数方法。

1.2 视频关键帧提取设计

视频帧序列中目标、内容的改变,会伴随着颜色直方图的改变,因此,可以通过颜色直方图的變化来判断场景片段的改变,提取每个场景片段的关键帧。

读入连续的图像帧f1、f2,提取出颜色直方图h1,h2,然后比较两帧直方图的差值,计算出两帧直方图的相似度d(h1,h2)。当相似度小于一定阈值时,则判定视频内容发生了变化或切换,记录当前帧为关键帧。

在关键帧的标准不明确时,选择留下冗余的帧。当选取的关键帧过多时,进一步解算关键帧之间的相似度,来选择出最具有代表性的帧。上例中,记录图像帧f1,f2以及上一对不相似的两帧f1',f2',选出f2与f1'帧之间的相似度最小的两帧的前一帧作为当前片段的关键帧,因此在提取时应遵循相似度最小原则,从而保证关键帧代表的信息量最大化。

2 系统实现

使用C#语言进行编程设计,利用开源计算机视觉图像处理库OpenCV进行图像处理。系统支持对不同语言路径、不同编码、不同分辨率的视频进行批量读取、播放功能,获得关键帧后,以图像形式在关键帧显示区显示,供用户浏览与查看,界面如图所示:

测试时,选取100段视频文件进行功能、性能和数据规模测试,文件涵盖640×480、800×480、1024×768、1920×1080等多种分辨率和不同时长。软件系统提取关键帧的时耗、速度如下表所示。

通过测试,对总时长430分钟的100段视频,基于图像信息,采取直方图差值的算法提取关键帧,平均速度达到了413帧/秒。

3 结束语

随着视频结构化的发展和更多海量视频信息的处理需求,本文所提出的结构化方法中还有很多不足需要改进。一是对视频语义场景的理解涉及认知科学理论在视频分析中的应用,目前,基于认知理论的视频分析与理解还缺乏深入的研究;二是对于不同场景有不同的标准,有待找到更多适用于不同场景的特定关键帧提取算法;三是应更多考虑用户需求,建立基于用户的主动视频摘要系统。

参考文献:

[1] 袁祉赟. 基于内容的视频结构化方法研究[D]. 成都: 电子科技大学, 2016.

[2] 李晓梦. 基于视频模型的镜头分割及关键帧提取算法研究[D]. 长春: 吉林大学, 2007:30-36.

[3] Barletta, B. Moser, M. Mayer. Redundancy elimination in a content-adaptive video preview system, US, US8090200[P]. 2012.

[4] Snoek,M.Woring. Multimedia event-based video indexing using time intervals[J]. IEEE Transactions on Multimedia, 2005, 7(4): 638-647

[5] 明巍. 基于内容的频检索中关键帧提取算法研究[D]. 武汉: 武汉工业学院, 2010:40-50.

[6] 王垚, 叶光明. 视频摘要系统的研究与实现[J]. 电子设计工程, 2016, 24(10): 184-186.

[7] 岳周龙. 基于多目标跟踪的监控视频摘要系统[D]. 合肥: 合肥工业大学, 2016.

【通联编辑:代影】

猜你喜欢
软件系统
软件系统的复杂网络之研究
基于改进蚁群算法的嵌入式系统软硬件划分
电动汽车智能充电桩的设计与实现
单片机控制的八路抢答器的设计与制作