摘 要: 提出了一种利用双阈值自适应变化逼近视频镜头分割最佳阈值的算法,在双阈值各区间漏检或误检的判别通过相似度差异来完成。实验结果表明,该算法能够得到较为理想的错检率,并能得到比固定阈值算法更低的漏检率。
关键词: 足球视频; OpenCV; 自适应双阈值; 镜头边界检测
镜头边界检测与分割是进行基于内容的足球视频查询、检索与精彩度分析的重要环节,其目的是将输入的视频流分割成基本视频单元的集合,最终提取出关键帧和运动信息。相比于模板匹配、边缘轮廓特征和聚类算法[1-2],基于直方图比较的算法[3]效率较高,应用普遍。但利用直方图进行视频分割的效果与直方图相似度算法的选取、门限值的设置有很大关系。
Bhattacharyya距离完全匹配是0,完全不匹配是1,为了进行比较,图1中的B相似度定义为1-Bhattacharyya距离。从图1可以看出:(1)随着阈值的提高,镜头检测的误检数增多;随着阈值的降低,镜头检测的漏检数增多。虽然选取一个适当的阈值能使镜头检测的误检数与漏检数之和达到最低点,但对于固定阈值的检测算法,很难得到误检数与漏检数都很低的结果;(2)在采用固定阈值检测时,不同的直方图相似度检测算法阈值选取的最佳点也不同。因此,为了同时获得较低的误检率与漏检率[4],在镜头检测与分割过程中自适应改变阈值具有非常重要的意义[5-7]。本文提出了利用双阈值自适应变化来动态跟踪最佳阈值的镜头检测与分割算法,对于降低漏检取得了较好的检测效果。
2 基于双阈值的视频分割算法
2.1 基于直方图镜头检测与分割的足球视频的特点
利用直方图进行足球视频镜头检测与分割,可能造成过高的误检率,这主要有以下几方面原因:(1)足球视频近景镜头中人物离镜头过近,人物的运动造成视频帧直方图突变而形成误检;(2)中远景中,为了跟踪比赛节奏,镜头运动速度过快,造成视频帧直方图突变而形成误检;(3)视频中大量回放镜头的开始与结束是以渐变而不是切变发生的,在渐变的过程中如果检测阈值较低,就会造成单帧镜头分割的现象。另外,由于足球视频一般是在某一个时间段内(比如下午)连续录制的,亮度和饱和度的影响可以忽略,直方图距离的计算应以色度直方图为主,但在球场局部区域形成大面积阴影时,要适当提高亮度直方图相似度的影响因子。
2.2 基于双阈值的分割算法
基于双阈值的分割算法的基本思想是:设置一个较大的阈值Tb和一个较小的阈值Ts,当直方图的相似度小于Ts时,分割镜头出现;当相似度大于Tb时,没有分割镜头出现;当相似度介于Tb与Ts之间时,表明阈值设置不合理,若是漏检,则应降低Tb,若是误检,则应加大Ts。算法的关键是判断漏检还是误检以及动态调整阈值的策略。为了消除上述原因形成的误检镜头,分割算法引入了镜头长度(shotlength,即镜头内帧数)sl,当检测到镜头变换时,首先判断sl是否小于某一临界值,如果小于则认为是误检,不进行镜头分割。具体的算法步骤如图2所示。
阈值常量TU与TD的设置应满足如下条件:当stt>TU时,不应发生误检;当stt<TD时,不应发生漏检。因此,应设置极大的TU与极小的TD。当stt>(Tb+Ts)/2 时,说明Ts不合理,应提高Ts,从图2可以看出,stt越大,Ts提高得越快;当stt<(Tb+Ts)/2时,说明Tb不合理,应降低Tb,从图2可以看出,stt越小,Tb下降得越快。当stt在[TU,Tb]、[Tb,Ts]和[Ts,TD]各区间时,算法通过前后两个相似度差值的绝对值来判断是否发生漏检或误检,当漏检发生时,适当提高Tb,当误检发生时,适当降低Ts;sl的最小值选取50,即当帧频为25帧/s时,忽略时长小于2 s的镜头。
3 实验结果与分析
本文在Visual C++开发平台上利用OpenCV视觉库实现了上述算法。选取2010南非世界杯足球比赛的两个视频片断进行分析,实验视频中包括近景、中景、远景以及切变与渐变等镜头变换。镜头中,人、球和摄像机自身运动较大。首先将视频从RGB空间转换到HSV空间,再对H通道的直方图单独进行分析,直方图相似度采用相交算法和B算法。阈值常量TU、TD分别取1和0。实验结果如表1、表2所示。
从表1和表2的检测结果可以看出,采用双阈值的检测方法对B算法和相交算法均适用,检测的误检数与漏检数之和均小于(视频片段1)或逼近(视频片段2)采用固定阈值的检测方案得出的最佳结果。比较可知,采用双阈值检测能够得到较少的漏检数。由于视频2片段在开始时并没有太大的相似度波动,阈值收敛速度降低,在开始时易造成误检和漏检,因此采用双阈值B算法得到的误检数与漏检数之和略高于固定阈值方案。采用固定阈值B检测算法在阈值为0.9时检测的漏检偏高,主要是因为镜头长度略大于50的误检太多,导致后续视频漏检的产生。该双阈值检测算法可用于在检测算法的最佳阈值未知的情况下,要求尽量降低漏检时的情况。各种算法所需的时间如表3所示。
表3的数据是在各算法运行在相同的系统环境下得到的,计算所需时间时不考虑分割后的单镜头视频的存储时间,只考虑分割算法的计算时间。从表3可看出,各个算法所需的计算时间大体相当。这主要是由于双阈值算法只是引入了一些简单的比较和算术运算,并没有增加算法的复杂度,算法计算简单。
本文提出了利用双阈值自适应变化动态跟踪视频分割中最佳阈值的方法。从实验结果可以看出,本算法能够得到较低的检测误差,同固定阈值相比,算法的漏检数少。但算法在判断漏检和误检时,根据相似度差值分别采用了固定的参数0.08、0.12和0.2,针对足球视频的特点自适应改变上述参数,对于算法结果有很大改善。因此,下一步的工作是对上述参数的设置展开研究。
参考文献
[1] Zhu Ce, Lin Xiao, Chau L P. Hexagon-based search pattern for fast block motion estimation[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2002, 12(5): 349-355.
[2] CHENG W G, XU D, JIANG Y W, et al. Information theoreticmetrics in shot boundary detection[C]. Proeedings of IIH-MSP, LNCS 3683, Melbourne, Australia, Sept. 2005. 388-394.
[3] RINSKA I K, CARRATO S. Temporal video segmentation: a survey[J]. Signal Processing: Image Communication, 2001, 16(5): 477-500.
[4] Jiang Xinghao, Sun Tanfeng, Fang Zhixin, et al. A video shot boundary detection method based on variable-size window [J]. Journal of Shanghai Jiaotong University, 2009, 43(11):1681-1684.
[5] QI Y, HAUPTMANN A, LIU T. Supervised classification for video shot segmentation[C]. Proceedings of the International Conference on Multimedia and EXPO, Washington: IEEE Computer Society, 2003.
[6] MATSUMOTO K, NAITO M, HOASHI K, et al. SVM-based boundary detection with a novel feature[C]. Proceedings of the International Conference on Multimedia and EXPO. Washington: IEEE Computer Society,2006.
[7] Cao Jiaorong, Cai Anni. Algorithm for shot boundary detection based on support vector machine in compressed domain [J]. Acta Electronica Sinica, 2008, 36(1):203-208.