概述
Shot边界检测(Shot boundary detection ,SBD)指在视频中自动检测镜头的边界,是视频分析,视频索引,视频摘要,视频搜索和其他基于内容的视频操作的基本的预处理步骤。自动SBD是2001至2007年TRECVID比赛中的一项重要内容,这七年中一共有57只不同的队伍提出了自己的SBD算法,使用的是相同的数据集和评价标准。
使用的主要方法
注:
MLrn:Machine Learning 机器学习的方法
ColHist:colour histograms(Superscript number denotes number of bins used),颜色直方图的方法,上标数字是使用的bin的数目。
Flash:针对闪光使用了特殊的方法。
LVals:在进行帧间比较的时候使用了亮度值。
Cmpr:operated only in the compressed (MPEG-1) domain (Cmpr).
AThr:使用了自适应的阈值法。
MCmp:使用了运动补偿。
Edgs:使用了边缘检测。
STmp:运用了时空特征。
Other:
1. 通过帧间比较确定shot的边界
有三种主流的方法:
1. 颜色直方图(15组)
2. 亮度值(8组)
3. 边缘(5组)
很多组会将这几种方法结合起来使用,比如2005年有4组使用了全部三种方法,取得了第三第五第六第十名。
其他通过帧间比较确定shot边界的方法还有:frame thumbnail based gray-levels,检测黑帧,检测单色帧,a non-linear state-based fusion of techniques(四种均来自IBM)……略。
1.1 使用颜色直方图
计算帧中每一个像素的颜色值,然后生成一个直方图(bin值固定但有所不同),比较邻近帧的颜色直方图,如果变化剧烈,就有可能是出现了渐变或者切变。
通常选择的还是一维的bin值较高的彩色直方图。
不同组选择的距离度量也有很多种,研究表明,较为简单的曼哈顿Manhattan距离和欧式距离就很有效了。
1.2 使用亮度值
比较不同帧之间的亮度值,并和1.1或1.3的方法或两者兼有结合使用。
1.3 使用边缘
虽然颜色直方图是确定两帧之间差别的最普遍的方法,寻找每一帧的边缘也是一种可用的方法,可以单独使用或者跟颜色直方图的方法结合起来使用。如果一组连续帧的边缘差别很大,就很有可能是出现了shot边界。
并没有一组单独使用了这种方法来做shot边界检测。
1.4其他方法
2. 寻找渐变(Gradual Transitions GTs)
切变的检测相对来说可以比较直接地判断出来,比较一下相邻帧即可。不过检测渐变时,考虑的帧数(窗口大小)是可选的。使用TRECVID所提供的数据集时,平均的渐变帧数在10帧左右。
不同组选择的窗口大小也有不同:5帧,14帧,10帧,>15帧,16帧,10-12帧都有。
IBM研究院在检测切变和渐变的时候使用了同样的方法,使用了基于图的多个帧对匹配的方法,每个帧作为图中的一个节点。帧对,最多13个,通过弧连接起来,镜头的变换在图中是一个cut?
LaBRI组使用的方法是,比较相邻的I帧来确定是否出现了shot的边界。
3. 机器学习
对样本数据使用机器学习的方法,以训练机器知晓切变和渐变的表现形式。不少组采用了支持向量机的方法来检测切变和渐变。
4.闪光检测
视频中可能会出现闪光摄影,尤其是电视新闻节目中,可能会造成shot边界的误判。有几组针对闪光摄影,灯的闪烁或者是场景中出现的光源采取了策略。对于视频做预处理,粗略地比较当前帧之前之后各两帧,如果这些帧并没有出现明显的差异,就认为是出现了flash。
5.自适应的阈值
对于不使用SVM来度量两帧之间差值的组别,必须设立一个阈值去判定这个帧是否是shot的边界帧。自适应的阈值会因视频类型不同而有所不同。
CLIPS和 RMIT使用了一个噪声因子来动态地调整阈值。IBM研究院等对Meanwhile IBM Research and U. Rey Juan Carlos considered frames either side of the frame in question to make an individual threshold for that frame.
6.运动补偿
7.时空切片
时空切片是从视频中提取出的2D图像,一个维度来自空间,一个维度来自时间,使用时空切片可以减少需要考虑的帧中区域,从而减低运算开销(香港城市大学)。
香港理工大学利用切片的连贯性进行切变和擦除的检测,将溶解和未溶解的情况进行分类。淡入和淡出被认为是溶解的特例。The Technical University of Delft 从时空的视频数据块中提取特征,作为观察时间间隔时判断镜头变换的依据。