CN104837031B - 一种高速自适应提取视频关键帧的方法 - Google Patents
一种高速自适应提取视频关键帧的方法 Download PDFInfo
- Publication number
- CN104837031B CN104837031B CN201510163392.8A CN201510163392A CN104837031B CN 104837031 B CN104837031 B CN 104837031B CN 201510163392 A CN201510163392 A CN 201510163392A CN 104837031 B CN104837031 B CN 104837031B
- Authority
- CN
- China
- Prior art keywords
- frame
- key
- video
- data
- video file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种高速自适应提取视频关键帧的方法。本方法为:1)对于每一待处理的视频文件,解析该视频文件提取出类型为KEY_FRAME数据帧;2)根据实际需求,选取一所提取的类型为KEY_FRAME数据帧作为该视频文件的第一个关键帧存储到关键帧数据库中;然后计算后续提取的类型为KEY_FRAME的数据帧与该关键帧数据库中该视频文件的前一关键帧的相似度,如果相似度小于或等于设定阈值,则将该类型为KEY_FRAME的数据帧作为该视频文件的关键帧存储到该关键帧数据库中;否则,丢弃所提取的类型为KEY_FRAME的数据帧。本发明大大提高了关键帧的提取速度。
Description
技术领域
本发明属于智能视频分析领域,特别是涉及一种高速自适应视频的关键帧提取方法。
背景技术
随着多媒体数据技术的发展,多媒体数据中的视频数据逐渐成为多媒体数据中最重要的组成元素之一,它可以从时间、空间等维度上更逼真地记录更多细节内容。但是,网络中的多媒体数据信息给人们带来方便的同时,也带来了很多负面的影响。一些包含不良信息(如暴力恐怖、低俗等)的视频在互联网中的广泛传播严重威胁了网络安全,危害了互联网用户的用网安全。为了保障网络环境的健康,需要能够快速、准确地在海量视频数据中分析出不良视频并予以处理。因此,智能视频分析中不良视频检测成为备受关注的热点。
视频数据具备数据量大以及数据非结构化的特点,直接对视频进行分析复杂度高,难度较大,不能保证网络实时性的要求。因此,如何高效、快速地从视频数据中获取有效信息是决定敏感视频检测速度的重要环节。比较常用且有效的做法是利用不同方法提取视频数据中的关键帧,然后对提取出的关键帧进行分析,通过特定的检测技术过滤掉不良视频。提取视频关键帧的技术降低了视频数据流在内容上以及时间上的冗余度,既能有效反映视频内容,又能有效缩短检测时间,大大提高了检索效率。
关键帧提取技术是视频内容检测的关键技术及重要步骤之一,目前已有的提取方法主要分为以下几种:
(1)基于抽样的方法
基于抽样的方法是一种比较简单快速的关键帧提取方法,一般通过随机抽取几帧或者按照规定的间隔抽取关键帧,或者规定每个镜头提取的帧数,从而实现等间隔提取。该方法简单快速,但是不能够有效地表达视频内容,当镜头很短时可能只能抽取到极少甚至一个关键帧,可能导致一些重要信息丢失,而对于一些比较长的视频镜头片段,可能又会有很多相似的关键帧被提取出来,产生冗余,从而失去了关键帧提取的意义。
(2)基于镜头边界的方法
基于镜头边界法认为在一组镜头中相邻图像之间的特征变化很小,所以整个镜头中图像帧的特征变化应该不会太大,因此该方法将切分得到的镜头中的第一帧和最后一帧作为镜头的关键帧。这种方法实现也比较简单,但没有考虑视觉内容的复杂性,仅适用于一些场景单一、内容变化不大的视频。而且该方案依赖于镜头切割技术,该技术本身就是视频处理技术中的一个重点和难点问题,局限性较大。
(3)基于运动分析的方法
基于运动分析法也利用了对输入视频进行镜头切割的方法。首先,通过光流分析来计算每个镜头中的运动量,将运动量取极小值时对应的视频帧作为关键帧,该方法认为视频中摄像机在某一位置停留时表明该视频内容比较重要,但是该方法对于镜头内容变化较快的情况容易发生漏检,且同样由于依赖于视频镜头切割,导致复杂度高局限性大。
(4)基于聚类的方法
聚类方法在人工智能、模式识别和语音识别等领域有着广泛的应用,基于聚类的关键帧提取算法通常在聚类前便指定了关键帧的数目,这往往和实际情况不太相符,对于包含较多突变镜头的视频容易产生过多错误聚类。
以上关键帧提取方案均不能同时满足提取速度快、对视频的代表性高和关键帧数量自适应高等要求,因此,研究一种高速自适应关键帧提取方法对视频内容检测等领域具有重要的研究价值和应用前景。
发明内容
本发明针对现有关键帧提取算法中存在的问题,提出一种高速自适应关键帧提取方法。该方法基于视频解码开源程序,能够处理视频解码开源程序可解析的所有视频格式。针对现有关键帧方法速度慢的问题,本发明在视频压缩数据流中精确定位KEY_FRAME数据帧(该变量在视频解码开源程序中定义,这种类型的视频帧不需参考其他视频帧就可进行解码),而非解码全部视频序列后再进行关键帧提取操作,由此大大提高了关键帧的提取速度。此外,针对以往算法提取出的关键帧代表性差和关键帧数量固定而导致适应性差等问题,本发明首先通过人工标注的实验数据确定相邻关键帧之间的归一化阈值,然后将该阈值应用到提取算法中实现自适应地调整关键帧的数量,得到视频序列中具有代表性的关键帧。
本发明提出的高速自适应关键帧提取算法流程图如图1所示,其主要步骤如下:
(1)从海量网络数据文件中获取视频文件,并利用视频解码开源程序解析该视频文件,精确判断视频文件流中的视频数据帧和非视频数据帧(如音频数据帧、字幕数据帧等),当为视频数据帧时则进行步骤(2),当为非视频数据帧(如音频数据帧、字幕数据帧等)时则丢弃。
(2)确定当前数据帧为视频数据帧后,根据其帧类型字段判断当前数据帧中的数据是否为KEY_FRAME视频数据帧。如果是,则对其进行解码。否则丢弃该视频数据帧,不对其进行操作,继续解析下一视频数据帧。
(3)当利用视频解码开源程序判断当前数据帧的类型为KEY_FRAME时,判断其是否为该视频序列的第一个KEY_FRAME(也可以是后续某个KEY_FRAME数据帧),如果是,则将当前KEY_FRAME视为一个关键帧存入关键帧数据库。如果否,则进行步骤(4)。
(4)当利用视频解码开源程序判断出当前帧为KEY_FRAME但不为当前视频序列中的第一个KEY_FRAME时,计算并判断该帧与关键帧数据库中前一个关键帧的相似度是否符合预设条件。如果符合,则将此KEY_FRAME作为新的关键帧存入数据库中。如果不符合,则将其舍弃,继续解析下一视频帧。
(5)按照上述流程,重复步骤(2)、(3)、(4)处理视频序列中的所有视频帧,直至视频文件结尾,即得到该视频中具有代表性的关键帧。
进一步的,在步骤(1)中,本发明利用视频解码开源程序解析视频,据调研,现有的视频编码标准中最为重要的编码标准包括国际电联的H.261、H.263、H.264,运动静止图像专家组的M-JPEG和国际标准化组织运动图像专家组成的MPEG系列标准。此外,在互联网上被广泛应用的还有Real-Networks的RealVideo、微软公司的WMV以及苹果公司的QuickTime。而现有的视频解码开源程序针对不同的编码标准均设计了不同的解码器,可以完成各种格式视频的解码。
进一步的,在步骤(1)、(2)、(3)中,每次解析均为一独立的视频数据帧或者音频数据帧,从视频文件流中精确定位并提取每个数据帧的具体方法是:如图2所示,一般视频文件都由已经编码压缩好的视频轨和音频轨等按照一定的格式和规则封装到到一个容器中。通过在一完整的视频帧编码后的数据前加入特定格式的信息,使之成为和某特定格式容器兼容的视频数据帧,从而写入到视频文件,继而完成整个封装过程。利用视频解码开源程序对视频文件进行解封装时,可利用这些特定格式信息将视频文件流划分为相互独立的数据帧。
进一步的,在步骤(2)中,判断当前视频帧类型是否为KEY_FRAME的具体方法是:通过识别当前视频数据帧中表示帧类型的字段来判断其是否为KEY_FRAME。以MPEG系列编码标准为例,图像群组(Group ofpictures,GOP)是一组以MPEG编码的影片或视频流内部的连续图像,MPEG编码将画面(即视频帧)分为I、P、B三种,I是内部编码帧,不需要借助任何其他视频帧便可完全解码,P是前向预测帧,B是双向内插帧,这两种类型的视频帧则必须依赖其参考帧才能完成重建并完成解码过程。在编码过程中编码器将I帧设置为KEY_FRAME,且该信息可通过解析其首部信息字段获取。
进一步的,在步骤(4)中,判断当前处理的视频帧与关键帧数据库中前一个关键帧的相似度是否符合预设条件,一种具体方法是:首先,收集一定数量且不同种类的视频数据,提取其所有KEY_FRAME;然后,通过人工标注出这些KEY_FRAME中的代表性关键帧,称作KEY_FRAME_CHOOSE,并计算所有相邻KEY_FRAME_CHOOSE的平均相似度,作为该算法的阈值。最终,通过此阈值自适应地提取代表性关键帧。
进一步的,在工程应用时,为提升整体处理性能,可多线程同时处理多个视频,提高系统工作效率。
综上所述,本发明借助视频解码开源程序处理设计了一种高速自适应关键帧提取算法,该算法由图1可知由两个主要模块组成:视频解码开源程序解析视频文件和自适应提取关键帧。其中,在解析视频文件部分,利用视频解码开源程序可精确定位视频文件中的KEY_FRAME数据帧并解析,从而丢弃其他非KEY_FRMAE数据帧,该操作对于提高关键帧的提取速度具有重大意义。在自适应提取关键帧部分,通过预设条件判断是否更新关键帧数据库的做法对于根据镜头的变化自适应的调整关键帧的数量起到关键作用。
与现有技术相比,本发明的优点在于:
本发明基于视频解码开源程序精确定位视频数据流中的KEY_FRAME数据帧,进而利用训练阈值自适应地完成代表性关键帧的提取。该方案不同于以往将视频数据流全部解码后再利用聚类等方法提取关键帧的思路,减少了处理非KEY_FRAME的时间,且利用多线程同时处理多个不同的视频流,进一步提高了提取关键帧的速度,该方案提取出的关键帧保证了视频内容的完整性和代表性,为视频内容的结构化管理以及视频内容中特定内容的检测做了充分的准备。
附图说明
图1:高速自适应关键帧提取算法流程图;
图2:视频封装原理图。
具体实施方式
这里选取四个视频video1、video2、video3、video4作为四线程待处理视频,下面结合这四个视频说明本发明的技术方案:
如图1所示,本发明提出的高速自适应关键帧提取算法主要由两个模块构成:视频文件解封装模块、精确定位KEY_FRAME并利用阈值自适应提取代表性关键帧模块。下面结合实例分别说明每个模块的功能。在集体介绍这两个模块之前,给出如何确定相邻关键帧相似度的阈值。
(1)确定相邻关键帧相似度的阈值
该模块作为自适应提取关键帧的准备工作模块,需要确定相邻关键帧的相似度算法,本方案利用相邻关键帧的相似度来衡量两者之间的相似度,具体算法如下:
①设两个待比较的关键帧分别为KEY_F1和KEY_F2,视频帧的大小为:
(KEY_F1)size=(KEY_F2)size=M×N。
其中M,N分别为关键帧的长和宽的大小。
②两个相邻关键帧的相似度计算公式为:
其中,KEY_F1mn为关键帧KEY_F1的第m行第n列的像素,KEY_F2mn为关键帧KEY_F2的第m行第n列的像素,SUM(KEY_Fk)为第k个数据帧中所有像素值的和。
利用上述公式计算得出的两个KEY_FRAME的相似度corr∈(-1,1)当corr的值为0时,说明KEY_F1和KEY_F2完全不相关,当corr的值为1和-1时,说明KEY_F1和KEY_F2完全相关。
③首先,通过收集n个(不同种类)视频文件m1,m2...,mn,提取每个视频文件所有的
KEY_FRAME;然后,通过人工标注从这些KEY_FRAME中选择代表性关键帧,每个视频文件提取出的关键帧数量为N1,N2,...,Nn;最终,计算通过人工标注出来的相邻代表性关键帧的相似度,求其平均值作为自适应提取关键帧的阈值:
其中corr_sum(Ni),i=1,2,...,n为第i个视频中提出来的所有相邻代表性关键帧的相似度的和。
(2)视频文件解封装
由图2可知,视频文件由已经编码压缩后的视频轨和音频轨等按照一定的格式和规则封装到到一个容器中得到。首先,将视频video1、video2、video3、video4作为该方案的输入时,可分别得到其解封后的数据帧,包括视频数据帧、音频数据帧、字幕数据帧以及视频基本信息数据帧等,其中video3和video4中不包含字幕数据帧。然后,当当前数据帧为非视频数据帧和视频基本信息数据帧时,将该包丢弃,当为视频及视频信息数据帧时将其送入下一模块进行处理。
(3)自适应提取关键帧
以video1为例,当由(2)中传递进来视频数据帧时,首先,判断其是否为KEY_FRAME数据帧,如果是,则判断其是否为当前视频序列的第一个KEY_FRAME;如果不是则丢弃该数据帧。然后,如果该帧为当前视频序列中的第一个KEY_FRAME,则把该帧作为一个关键帧写入关键帧数据库中;如果不是,则判断当前KEY_FRAME与关键帧数据库中前一个关键帧的相似度是否小于或者等于所设阈值。如果其相似度小于或者等于所设阈值,将当前处理的KEY_FRAME作为新的一个代表性关键帧写入关键帧数据库,反之,舍弃当前视频帧,继续处理下一个数据帧,直至处理完video1的所有数据帧,程序结束。其他线程的处理过程与此过程同理。最终,得到video1、video2、video3、video4四个视频的代表性关键帧。
本发明提出的高速自适应关键帧提取算法,其测试环境及实验数据为:
(1)测试环境:
系统环境:ubuntu12.04LTS
处理器:CoreTM 2Quad CPU Q9550@2.83GHz x 4
测试使用视频解码开源程序:FFMPEG开源程序
(2)实验数据
300个视频分四个线程分别运行,视频的基本参数信息为:视频分辨率均为1280*720,帧率为20fps~30fps之间,KEY_FRAME与非KEY_FRAME的比例为1:20~1:100之间,统计后取其平均结果得到提取关键帧的速度为350Hz~550Hz。
当实验环境、视频解码开源程序、线程数目、视频的分辨率、帧率以及KEY_FRAME与非KEY_FRAME的比例等参数信息产生变化时,提取关键帧的频率结果也会产生相应变化。此外,发明中提到的相邻关键帧阈值的确定也可根据实际需求配置不同的门限信息。
Claims (3)
1.一种高速自适应提取视频关键帧的方法,其步骤为:
1)对于每一待处理的视频文件,解析该视频文件提取出类型为KEY_FRAME的数据帧;
2)选取一所提取的类型为KEY_FRAME的数据帧作为该视频文件的第一个关键帧存储到关键帧数据库中;然后计算后续提取的类型为KEY_FRAME的数据帧与该关键帧数据库中该视频文件的前一关键帧的相似度,如果相似度小于或等于设定阈值,则将该类型为KEY_FRAME的数据帧作为该视频文件的关键帧存储到该关键帧数据库中;
否则,丢弃所提取的类型为KEY_FRAME的数据帧;
其中,确定所述阈值的公式为:
其中,D为阈值,n为收集的不同种类视频文件m1,m2...,mn的数量,每个视频文件提取出的关键帧数量为N1,N2,...,Nn;corr_sum(Ni)为第i个视频文件mi中提取的所有相邻关键帧的相似度的和,i=1,2,...,n。
2.如权利要求1所述的方法,其特征在于,计算所述相似度的方法为:相似度其中,KEY_F1与KEY_F2为大小相等的两关键帧,KEY_F1mn为关键帧KEY_F1的第m行第n列的像素,KEY_F2mn为关键帧KEY_F2的第m行第n列的像素,M为关键帧的长,N为关键帧的宽,SUM(KEY_Fk)为第k个数据帧中所有像素值的和。
3.如权利要求1或2所述的方法,其特征在于,所述第一个关键帧为该视频文件中提取出的第一个类型为KEY_FRAME的数据帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510163392.8A CN104837031B (zh) | 2015-04-08 | 2015-04-08 | 一种高速自适应提取视频关键帧的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510163392.8A CN104837031B (zh) | 2015-04-08 | 2015-04-08 | 一种高速自适应提取视频关键帧的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104837031A CN104837031A (zh) | 2015-08-12 |
CN104837031B true CN104837031B (zh) | 2018-01-30 |
Family
ID=53814628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510163392.8A Expired - Fee Related CN104837031B (zh) | 2015-04-08 | 2015-04-08 | 一种高速自适应提取视频关键帧的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104837031B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105306961B (zh) * | 2015-10-23 | 2018-11-20 | 无锡天脉聚源传媒科技有限公司 | 一种抽帧的方法及装置 |
CN109286601B (zh) * | 2017-07-20 | 2022-03-11 | 腾讯科技(深圳)有限公司 | 一种媒体流信息的处理方法及终端、计算机存储介质 |
CN108171189A (zh) * | 2018-01-05 | 2018-06-15 | 广东小天才科技有限公司 | 一种视频编码方法、视频编码装置及电子设备 |
CN111629261B (zh) * | 2019-02-28 | 2022-04-22 | 阿里巴巴集团控股有限公司 | 信息处理方法、装置、电子设备及计算机可读存储介质 |
CN110119757B (zh) * | 2019-03-28 | 2021-05-25 | 北京奇艺世纪科技有限公司 | 模型训练方法、视频类别检测方法、装置、电子设备和计算机可读介质 |
CN111163332A (zh) * | 2020-01-08 | 2020-05-15 | 深圳市英威诺科技有限公司 | 视频色情度检测方法、终端及介质 |
CN112218119B (zh) * | 2020-09-30 | 2022-09-09 | 深圳创维-Rgb电子有限公司 | 视频流帧率转换方法、装置、终端设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101374234A (zh) * | 2008-09-25 | 2009-02-25 | 清华大学 | 一种基于内容的视频拷贝监测方法及装置 |
CN101383966A (zh) * | 2007-09-05 | 2009-03-11 | 索尼株式会社 | 用于图像处理的装置和方法、以及计算机程序 |
CN102006425A (zh) * | 2010-12-13 | 2011-04-06 | 交通运输部公路科学研究所 | 一种基于多摄像机的视频实时拼接方法 |
CN103810711A (zh) * | 2014-03-03 | 2014-05-21 | 郑州日兴电子科技有限公司 | 一种用于监控系统视频的关键帧提取方法及其系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7460730B2 (en) * | 2005-08-04 | 2008-12-02 | Microsoft Corporation | Video registration and image sequence stitching |
-
2015
- 2015-04-08 CN CN201510163392.8A patent/CN104837031B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383966A (zh) * | 2007-09-05 | 2009-03-11 | 索尼株式会社 | 用于图像处理的装置和方法、以及计算机程序 |
CN101374234A (zh) * | 2008-09-25 | 2009-02-25 | 清华大学 | 一种基于内容的视频拷贝监测方法及装置 |
CN102006425A (zh) * | 2010-12-13 | 2011-04-06 | 交通运输部公路科学研究所 | 一种基于多摄像机的视频实时拼接方法 |
CN103810711A (zh) * | 2014-03-03 | 2014-05-21 | 郑州日兴电子科技有限公司 | 一种用于监控系统视频的关键帧提取方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104837031A (zh) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104837031B (zh) | 一种高速自适应提取视频关键帧的方法 | |
CN101374234B (zh) | 一种基于内容的视频拷贝监测方法及装置 | |
KR101967086B1 (ko) | 비디오 스트림들의 엔티티 기반 시간적 세그먼트화 | |
Kobla et al. | Identifying sports videos using replay, text, and camera motion features | |
Chen et al. | Violence detection in movies | |
US20120057640A1 (en) | Video Analytics for Security Systems and Methods | |
CN101389029B (zh) | 一种视频图像编码和检索的方法及装置 | |
US9756283B1 (en) | Systems and methods for identifying a black/non-black frame attribute | |
CN102254006B (zh) | 基于内容的互联网视频检索方法 | |
CN1337828A (zh) | 从多媒体内容的低级特征中抽取高级特征 | |
US20070074097A1 (en) | System and method for dynamic transrating based on content | |
CN103475935A (zh) | 一种视频片段的检索方法及装置 | |
US9123133B1 (en) | Method and apparatus for moving object detection based on cerebellar model articulation controller network | |
Dou et al. | Edge computing-enabled deep learning for real-time video optimization in IIoT | |
CN109033476B (zh) | 一种基于事件线索网络的智能时空数据事件分析方法 | |
US20030095602A1 (en) | Unusual event detection using motion activity descriptors | |
Lin et al. | Key-point sequence lossless compression for intelligent video analysis | |
CN105357570A (zh) | 一种基于帧分析的视频流分析方法及系统 | |
CN103020138A (zh) | 一种视频检索的方法和装置 | |
CN101479729A (zh) | 提取关键帧的系统和方法 | |
WO2012027891A1 (en) | Video analytics for security systems and methods | |
Chen et al. | Violent scene detection in movies | |
CN107301245A (zh) | 一种电力信息视频搜索系统 | |
CN111083481A (zh) | 图像编码方法及装置 | |
CN105989063B (zh) | 视频检索方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180130 |
|
CF01 | Termination of patent right due to non-payment of annual fee |