关键帧的提取对于视频的自动切分至关重要,提取的好坏直接影响最终的结果,本文通过对项目视频的分析研究,提出了模板匹配,直方图比较,关键帧检测与关键帧识别的算法,并比较了模板匹配与直方图对比的识别准确率和识别速率,其中在关键帧识别中,采用了新的字符分割的算法。最后,总结了本文方法的优越性,并且取得了很好的效果。 The key frame extraction is vital for automatic segmentation of video; the standard of extracted key frame directly affects the final result. Based on the analysis and research about project video, the paper proposes template matching, histogram comparison, the key frame detection and key frame recognition algorithm, and for the recognition accuracy and recognition rate of template matching and histogram comparison, the paper also does the comparison. In the recognition, the key frames adopted a new character segmentation algorithm. Finally, the paper summarizes the advantages of this method and good results have been achieved.
刘倩,罗桂娥,刘献如*
中南大学,湖南 长沙
收稿日期:2016年3月17日;录用日期:2016年4月2日;发布日期:2016年4月5日
关键帧的提取对于视频的自动切分至关重要,提取的好坏直接影响最终的结果,本文通过对项目视频的分析研究,提出了模板匹配,直方图比较,关键帧检测与关键帧识别的算法,并比较了模板匹配与直方图对比的识别准确率和识别速率,其中在关键帧识别中,采用了新的字符分割的算法。最后,总结了本文方法的优越性,并且取得了很好的效果。
关键词 :关键帧,模板匹配,字符分割
随着计算机技术、多媒体技术 [
通过反复观察此项目视频之后,发现在视频中,如果出现时间表的文字时,一定在视频帧的右上角,这些视频帧最大限度地反映了报告人作报告所用的时间,具有极强的代表性,正是我们要提取的关键帧. 因此,在对项目视频进行分析和对项目视频的关键帧进行提取时,考虑到了时间表信息的利用。为了对关键帧进行识别,主要分为两个步骤,分别是关键帧检测和关键帧识别,本文分别对这两个内容进行了描述。
关键帧提取 [
本文采用模板匹配和直方图比较两种方法,通过对项目视频进行大量的分析发现,不包含时间表帧和包含时间表帧的区别的最为行之有效的方法就是提取时间表本身的特征,包含时间表的帧和不包含时间表的帧空间结构模型是固定的,如图1所示为视频帧的空间结构模型。
由于本项目需要实现大量视频的自动切分,各类视频数据量非常多,实现视频的自动切分不仅识
图1. 视频帧的空间结构模型
别的准确率要高,而且识别的时间也必须提高。因此本文采用了改进的模板匹配 [
根据图1所示空间结构可知,时间表出现的位置是一定的,因此要设定一个局部区域来进行检测,为了提高检测的准确性,局部区域的选择要满足两个条件:
1) 位置要准,所选的区域一定是时间表可能出现的区域;
2) 范围不能大,否则直接导致检测的时间会延长,而且准确率也会下降。
基于上述条件,选择了图1空间结构图所示的“局部A”区域。图中所示的“局部A”区域相对帧于整帧图像的尺寸如式(2-1)所示:
其中,H——整帧图像的高度;W——整帧图像的宽度;h——局部区域的高度;w——局部区域的宽度;a,b——尺寸系数。
对于不同项目视频,尺寸系数略有差异,可以根据具体情况来调整尺寸系数的大小。对于本文中所采用的项目视频,本文用a = 0.25,b = 1/3。
得到了视频中的区域,算法开始用模板匹配的方法进行检测,多次分析视频数据,提取时间表本身作为固定的模板对项目视频进行检测。具体实现过程为:首先,读取视频,在视频帧序列中选取一幅有时间帧的图像,根据上述区域分割的方法提取出时间表,作为模板匹配方法的模板,然后连续读入视频序列,对视频序列中所有帧进行固定区域检测,将提取出的模板与视频序列中所有的帧进行模板匹配,检测视频帧中是否包含时间表帧,最后,将检测的结果进行输出并将包含时间表的帧提取出来。时间表的具体提取流程图如图2所示。
直方图 [
a) 相关(CV_COMP_CORREL),如式(2-2)所示。
图2. 时间表的提取步骤
其中,
b) 卡方(CV_COMP_CHISQR),如式(2-3)所示。
c) 相交(CV_COMP_INTERSECT),如式(2-4)所示。
d) Bhattacharyya距离(CV_COMP_BHATTACHARYYA),如式(2-5)所示。
通过大量的实验可以验证,使用Bhattacharyya方法的效果最好。对Bhattacharyya方法的直方图匹配,低分数表示好匹配,而高分数表示坏的匹配。完全匹配是0,完全不匹配是1。本文所采用的直方图具体步骤如下。
1) 计算视频中提取到的模板图片的直方图hist1。
2) 读取视频帧,截取帧上与模板图片相同大小的位置,并计算其直方图。
3) 采用Bhattacharyya直方图比较的方法比较每一帧图片与模板图片的直方图相似性。
4) 统计结果设定出阈值T,通过对所有项目视频做大量的实验分析,可以将本项目视频的阈值T设定为0.6,将直方图比较结果与阈值T进行对比,若小于T,则包含时间表,否则,此视频帧不包含时间表。
通过上述两种方法,为了验证算法的准确性与高效性,本文选取了多个项目中的视频作为实验对象,其中包括多人做ppt时的报告视频。采用识别的准确率与识别效率作为评判标准,模板匹配具体结果如表1所示,直方图比较具体结果如表2所示。
由表可以看出,模板匹配的方法匹配的准确率较直方图匹配的方法要高一些,且平均识别时间也较少,可以看出本文提出的模板匹配方法的优越性和高效性。
当提取到时间表后,对时间表进行分析观察可知,时间表具有以下几个特征:
1) 所有的时间表都具有规则的形状,通常出现在帧右上角1/12的位置;
2) 时间表中字符的大小通常为高占16个像素,宽占30个像素,字符间有一定的间隙。
项目视频 | 总帧数 | 检测出时间表数 | 实际时间表数 | 查全率 | 查准率 | 识别时间 |
---|---|---|---|---|---|---|
视频1 | 263 | 157 | 157 | 100% | 100% | 42.19 |
视频2 | 1020 | 883 | 884 | 98% | 99% | 43.04 |
视频3 | 1283 | 785 | 783 | 100% | 98% | 43.88 |
表1. 模板匹配方法性能指标
项目视频 | 总帧数 | 检测出时间表数 | 实际时间表数 | 查全率 | 查准率 | 识别时间(ms) |
---|---|---|---|---|---|---|
视频1 | 263 | 106 | 106 | 100% | 100% | 59.38 |
视频2 | 1020 | 873 | 884 | 96% | 96% | 62.57 |
视频3 | 1283 | 768 | 783 | 98% | 97% | 64.09 |
表2. 直方图比较方法性能指标
为了对视频实现准确的切分,必须找到视频开始与结束的关键帧,本文中即找到开始时间与结束时间,所以为了对时间表进行识别,必须把时间表中的字符一个一个的分割出来,然后在对字符识别。本文采用的方法为先对时间表图像进行灰度化,然后再用特定的方法分割字符,最后把分割好的字符提取出来。本文采用重置像素的方法,对时间表图像直接分割。
字符分割是一种将一行包含文字的图像分割为单个字符图像的技术。由于本文处理的时间表结构完整间隔明显,因此,可以依靠先验知识,对字符进行分割,字符的固定模式为:N1N2:N3N4其中N1,N2,N3,N4分别为0到9的数字,“:”为固定模式不需要识别。如图3为在视频中提取出的时间表。
字符分割的算法有很多种,本文采用对图片重置像素的方法,如图3所示,时间表中的字符为固定的模式,因此对时间表中的每一个数字所在的位置进行就能够把每一个字符都分割出来。设width为图3中时间表的宽度,则每一个字符分割的结果如图4所示。
其中,当宽度大于width/4+10时,将其像素值设为255,分割出第一个字符(a)。
当宽度小于width/4且大于width/2-6时,将其像素值设为255,分割出第二个字符(b)。
当宽度小于width/2 + 10且大于(width/4)*3 + 6时,将其像素值设为255,分割出第三个字符(c)。
当宽度小于(width/4)*3+6时,将其像素值设为255,分割出第四个字符(d)。
本文运用了模板匹配的方法对字符进行识别,模板匹配方法的基本原理:模板匹配方法是实现离散输入模式分类的有效途径之一,其实质是度量输入模式与样本之间的某种相似性,取相似性最大者为输入模式所属类别。它根据字符的直观形象抽取特征,采用归一化相关匹配法进行识别,即是将输入字符与标准字符在一个分类器中进行匹配,若I表示图像,T——模板,R——结果,Z——归一化结果,x、y表示图像中的某个点,相关匹配法是采用模板和图像之间的乘法操作,所以匹配结果中较大的数表示匹配程度较高,0表示最坏的匹配效果。如式(3-1),式(3-2),式(3-3)所示。
图3. 视频中提取出的时间表
图4. 分割出的字符
对于一种匹配方法有其归一化的形式,根据Rodgers[Rodgers88]的描述,归一化最早由Galton[Galton]提出,此方法可以减少模板和图像上光线变化所产生的影响,归一化系数如式(3-4)所示:
其中,则
其中,
本文采用的字符识别的算法具体步骤如图5所示。
根据上述所介绍的本文所采用的模板匹配的字符识别方法,为使得模板与待识别的字符具有最大的相似性,本文所建造了10个模板。为使它们与待识别的字符不管在字体还是笔画的粗细上都具有极大的相似性,本文使用windows自带的软件画图中通过反复的实验并调用opencv库得到数字模板,且所有模板的尺寸大小同样为62 × 85像素。
为了验证算法的准确性,我们选取了多个项目中的视频作为实验对象,其中包括多人做ppt时的报告视频。对于关键帧检测的结果如图6所示。
检测出包含时间表的帧之后,再对时间表帧进行识别,根据上述方法之后,识别结果如图7所示。
由图可知每一帧中所显示时间是多少,如此确定了起始时间和终止时间就能在视频中找到符合要求的帧并提取出来,完成了预先想要的关键帧提取目的。
图5. 字符识别的算法步骤
图6. 检测到的包含时间表的帧
图7. 识别出的时间
本文提出了一种对项目视频的时间表识别并提取的方法,该方法是基于模板匹配的方法来进行关键帧检测与识别,并且通过提取局部区域来进行优化加速,极大地减少了关键帧提取的时间,提高了效率。
刘 倩,罗桂娥,刘献如. 基于内容的项目视频关键帧识别技术研究Video Key Frame Recognition Technology Research Based on the Content[J]. 软件工程与应用, 2016, 05(02): 114-121. http://dx.doi.org/10.12677/SEA.2016.52013
http://dx.doi.org/10.1109/TSMCC.2011.2109710
http://dx.doi.org/10.1109/TCSVT.2003.816521