视频镜头检测

2024-07-13

视频镜头检测(精选7篇)

视频镜头检测 篇1

摘要:由于视频信息量大,内容丰富,使得对其进行有效的管理和检索成为一个困难而又必须解决的课题。在对视频分割算法进行研究的同时,提出一种基于语义的视频镜头检测方法。主要是通过相邻帧之间的差异来判断是否存在镜头切换。实验结果部分对于算法性能进行了测试,实验验证该方法是可行的。

关键词:镜头检测,关键帧,镜头聚类,语义分析

随着网络技术的发展,信息量得到了迅猛增长。视频的信息量远大于其它数据形式,但它需要占用很大的存储空间和传输带宽。在这种背景下,为了克服传统方法所产生的弊端,提出了基于内容的视频检索(Content Based Video Retrieval)技术。基于内容就是根据视频的内容和上下文关系,对视频数据库中的视频信息进行检索。充分利用视频中的各种信息(包括颜色、纹理、形状、运动矢量、灰度等),实现自动或半自动的视频检索。视频数据结构化的目的是将视频序列分解为视频的基本组成单元镜头。

首先,某些视觉信息和感知特性很难用文字来获得描述。例如,对视频的主要截屏图片的纹理的感知、形体的外轮廓以及视频的视觉效果等等几乎都不能用文字准确而全面地描述。其次,文字也不适合模型化感知相似性。最后,文字描述反映注解者自己的观点,但通常他并不是与系统打交道的最终用户。因此,从20世纪90年代开始,基于内容的视频检索技术成为研究的热点问题。对视觉信息的访问不仅在概念层利用关键字进行,而且也在感知层利用对视觉内容的客观测量和合适的相似模型进行。对图象内容的语义表达可以建立不同的模型,如模糊布尔表达模型、概率布尔表达模型、形式语言表达模型、模糊逻辑语言表达模型和符号语言表达模型等。表达的典型方法主要有基于语义基元的方法和基于符号学(semiotic)的方法,另外,基于图象内容的语义表达还可建立语义索引帮助进行语义检索。

视频内容结构化的过程就是对视频流中的连续帧进行切分,在一个视频流中按内容的不同,将它分为若干语义段落单元。视频内容结构化能够从一部很长的视频中抽象出视频内部隐含的情节发展结构,为大量视频数据的导航和浏览提供了一种有效的手段。在视频内容结构化过程中,我们将把整个视频数据划分成若干等级的层次结构,然后分别对不同层次的视频信息建立索引。

1 镜头分割

在视频内容结构化过程中,可以把连续视频流分割成包括镜头、组和场景等视频单元。

如图1,视频可分为节目、场景、镜头和关键帧。节目是时间上有序的场景组合。场景是指语义上相关,时间上相邻的一组镜头。镜头组是时间上相邻且在内容上相似的一组镜头。镜头是摄像机从打开到关闭这一过程记录下来的连续图象帧,它是视频中的最小物理单元。在镜头内部,相邻和相近的视频帧特征相近,变化很小,但在镜头切换处,视频帧的特征往往会发生明显的改变。在不同的应用中,视频内容结构化并不一定严格要求采用以上的层次结构,例如,有的视频结构中没有“组”这个概念。对视频进行有效的组织,需要将视频分解为基本单元。一般认为视频的基本单元是镜头,一个镜头由一个摄像机连续拍摄得到的时间上连续的图象组成。视频的一个特点是数据量很大,但同时其视觉内容常有较大的冗余。为访问视频内容,需要对视频进行浏览和对视频信息定位,这需要将视频分解。

镜头分割是视频结构层次化的基础,要求能够正确检测出各种复杂编辑的镜头边界,并能够有效地分辨镜头内的运动变化,排除它们对镜头边界识别的干扰。镜头的表示方法可分为两类:静止的和运动的。静止的表示方法是用于镜头内容相当的某一幅图象来代表镜头内容,这幅图象被称作关键帧(key-frame)。运动的表示方法利用了视频的运动特征,主要包括摄像机操作和目标运动等。关键帧是从原始的视频文档中抽取的一些静止图象,它们可以概括表示各个镜头的内容。一方面关键帧可以支持对整个视频文档内容的快速浏览,另一方面通过提取每个关键帧的视频特征并建立索引,可以实现对视频内容的检索。关键帧的提取是视频内容结构分析的一项重要内容,通常关键帧的提取是建立在镜头分割的结果上的。关键帧的选取方法很多,选取关键帧时不仅要注意反映视频内容,同时要考虑计算的复杂性。镜头边界检测的基础是两个相继镜头的内容有较大的不同性,因此可以用定量的方法来确定帧序列之间的差别;如果这种差别超出了给定的阈值,就可以提取出镜头的边界。因此,关键是通过利用合适的内容转换检测方法、合理的设置阈值,发现帧序列的内容变换点。由于突变的转换方式较为简单,现有算法的检测效果较为理想。但是,镜头渐变的检测却是非常的困难。两个镜头间的突变是将两个镜头直接连接在一起得到的,在镜头之间没有使用任何的视频边界特效。突变一般对应在两帧图象间某种模式(由于场景亮度或颜色的改变,目标或背景的运动,边缘轮廓的变化等产生)的突变。图2给出了一个镜头突变的例子。

2 实验结果与分析

对镜头突变的检测目前都采用类似图象分割中基于边界的方法,即利用镜头间的不连续性。这类方法有两个要点:(1)对每个可能的位置检测是否有变化;(2)根据镜头突变的变化特点确定是否突变。对镜头突变的检测目前一般都是采用类似图象分割中基于边缘的方法,利用镜头间的不连续性,也就是用一种特征来表征视频中帧图象的视觉内容,用这一特征量的变化来衡量视觉内容的变化,从而将视觉上的镜头突变转化为量的变化。基本步骤就是提取特征,计算相邻两帧特征值的差值,然后将该差值与某个特定的阈值进行比较,若大于该阈值,则认为此相邻两帧分别属于不同的镜头,即检测到了镜头边界;否则认为此相邻两帧属于同一个镜头。阈值的选取主要有全局固定阈值和自适应阈值。在实际情况中,找到一个能够适用于所有视频的全局阈值几乎是不可能的。针对这种情况,本文采用了启发式的全局阈值设定方法。启发式的全局阈值设定方法首先计算同一镜头内的帧间特征差的统计分布,然后对得到的统计分布进行建模。阈值计算公式如下:

其中s用于控制误检测率,例如当s=5时,错误检测的概率为0.2%。虽然参数s可以显式地控制错误检测率,但是由于建模时没有考虑发生镜头突变时的帧间差,因此无法控制漏检测率。当指定的全局阈值太低时,错误检测率将会非常高。当指定的全局阈值太高时,漏检率又会迅速升高。因此全局阈值的局限性非常大。

针对上述算法中存在的问题,更好的办法是使用统计建模,在建模的同时就加入了一些额外的信息以及先验知识。一种基于统计模型的方法考虑了镜头长度信息:在检测中比较在两种假设(镜头突变,非镜头突变)情况下所求得的错误检测概率,以此作为判别是否存在镜头突变。

设镜头S由如下帧序列f1,f2,…,fn构成,算法如下:

(1)选择f L为关键帧输出;

(4)若sd>a,则选择fl为关键帧输出,并令i=L;

使用寿命就会提高。这两个问题与涂层的金相组织和性能和基体的成分、组织和性能紧密相关,所以改进涂层工艺和完善基体的成分与金相组织,一直是近年来研究的重点。

1涂层材料的性能

涂层刀具的性能决定于涂层材料、基体材料、涂层方式及涂层的厚度。

涂层材料应尽量满足下列要求:高的室温和高温硬度;良好的化学稳定性与基体材料结合牢固;应有渗透性和无气孔;良好的工艺性和低的成本;常用的涂层材料有碳化物、氮化物、氧化物、硼化物、碳氮化物等,近年来还发展了聚晶金刚石、立方氮化

(6)若L>n,则结束退出;否则转(3)。

a是一个阈值,用来控制关键帧的选取数目,sd用于度量基于某特征的两帧之间的相似性,值越小则两帧越相似。先定义两幅图象fi和fj间的差异距离为:

提取镜头关键帧时,先计算两两候选关键帧之间的距离,即D(f1,fN/2),D(f1,fN),D(fN/2,fN),并将它们与一个预定的阈值T比较,按下列准则确定关键帧:

(1)如果它们都比T小,说明它们之间比较接近,此时取fN/2作为关键帧;(2)如果它们都比T大,说明它们之间差距较大,需要将它们都取为关键帧;(3)在其它情况下,取距离最大的两帧图象作为关键帧。

3 结论

本文提出了一种基于语义的视频镜头检测的方法。视频是由不同的镜头组成的,通过检测视频的关键帧可以去确定不同的镜头,把具有相同内容的镜头组合在一起就构成了不同的场景。通过实验验证本文的方法是可行的。

参考文献

[1]蔡波.一种基于参考帧的实时图像处理系统设计[J].电视技术,2007,31(8).

[2]孙红辉等.图像的微分处理与相关识别[J].光学技术,2007(11):33.

[3]Mehtre B M,Kankanhal liMS,Lee W F.Shape measures for content based image retrieval:a comparison.Information Processing,Management,33(3):319-337.

[4]何清华等.工程装备远程监控管理系统的设计与实现[J].郑州大学学报(工学版),2009,30(2).

视频镜头检测 篇2

关键词:镜头边界检测,自适应模糊神经推理系统,阈值

1. 引言

视频/图像分析一直是计算机视觉领域的热门课题,其理论与应用研究受到广泛关注。人们对视频数据的认识归纳是有层次性的[1],帧是视频的最小组成单元,是一幅静止的图象。镜头是视频的基本单元。所以,视频镜头边界检测是进行视频内容分析的首要步骤,是基于内容的视频检索中更高一级的语义、内容分析的基础。

目前压缩域镜头转换检测算法主要为基于帧间差和模型的阈值法[2,3],阈值法的关键在于选取合适的阈值[4]。依靠经验人工选择阈值的方法,实质上是将视频边界特征与非边界特征线性化。不同的视频数据阈值不相同,所以难以找到适合所有视频数据通用的阈值,不利于实现镜头边界的自动检测。本文提出一种新的镜头边界检测方法。该方法首先提取合适的视频图像特征量,在传统的灰度帧差、直方图的基础上,加入二值信息特征分析;然后通过多次对视频数据进行自适应的模糊推理训练;最后找到合适的模糊规则,从而能更准确地实现边界的检测。

2. 基于ANFI S建模模型

自适应模糊神经推理系统(adaptive neuro—fuzzy inference system,ANFIS),是模糊逻辑和神经网络的结合物,既有模糊逻辑适于表示人的定性或模糊的经验和知识的特点,又有神经网络自适应、自学习机制。根据Roger Jang提出的一阶Sugeno型模糊推理系统,可以用MATLAB软件的工具箱函数ANFIS构建一个模糊推理系(FIS)。

ANFIS用若干线形函数进行适当组合来逼近这个非线性过程。通过Stone-Weierstrass定理,可以证明,Sugeno模型能以任意精度匹配紧集上的任意非线性函数(具体证明可以见参考文献[6]和[7])。ANF1S作为一种很有特色的神经网络,同样具有以任意精度逼近任意线性和非线性函数的功能,并且收敛速度快,样本需要量少。

ANFIS的实质是使用神经网络中比较成熟的参数学习算法———反向传播算法或者是混和最小二乘估计的反向传播算法,对给定的一组输入/输出数据集进行学习来调整FIS中变量的隶属度函数的形状参数,所以ANFIS是一种基于已有数据的建模方法。而建立的模糊系统模型能否很好地模拟这些数据并能用于预报,就是检验算法和模型的标准[6,7]。

3. 基于模糊推理的视频镜头边界检测

由于模糊推理分析具有描述样本类属中介性的优点,能客观地反映现实世界,所以,本文提出用模糊逻辑综合使用各种特征对镜头边界检测系统输出和镜头变化类型(如对渐变,突变)进行中介性描述。突变和渐变是一个模糊概念,在这里认为前后帧变化很明显就是突变,而渐变变化较比较平滑。而这种所谓的“明显”,“平滑”的概念就是语言中模糊量。本算法提出用隶属度函数定义帧间差较大、中等和较小等概念,并根据帧间差的统计分布自适应地确定隶属度,以适应不同类型的视频片断。

通过对多组不同类型视频进行ANFIS训练,获得性能较好的FIS结构,提取模糊规则,用于视频边界检测。

4. 视频特征提取

视频特征的提取是作为模糊推理的输入,而在采用MATLAB进行ANFIS训练[8,9,10]时,要考虑系统训练数据输入项的选择。

输入变量的选择也就是意味着随着输入变量的个数增加,规则产生的个数呈指数增加,即所谓的维数爆炸,势必使系统训练和推理时间大幅度延长,不利于实际应用。在视频镜头边界检测中,为了考虑算法执行的效率,采用了3个变量作为输入。

因此,要选用合适的三个特征量来检测镜头边界,而镜头变化由灰度特征,纹理特征,直方图特征来决定。因此,以平均灰度的一次帧差C1,加权灰度直方图差D-histb,分块加权二值图像信息。

(1)平均灰度的一次帧差C1:

其中,Ik(x,y)是第k帧图像的(x,y)像素点的灰度值,G(k)为该帧图像的平均灰度。Ik+1(x,y)是第k+1帧图像的(x,y)像素点的灰度值,G(k+1)为第k+1帧图像的平均灰度。

(2)分块加权灰度直方图差D-histb:

以前没有考虑分块时,每帧图像的灰度直方图差为:

Hki为第k帧图象的第i级灰度的橡素点直方图,H(k+1)i为第k+1帧图象的第i级灰度的像素点直方图。由于直方图特征值不能记录像素点位置信息,难以反映视频图像的空间信息,提出了一种灰度直方图的改进的分区直方图的概念。将整个视频帧不均匀分割为M×N大小的子块,首先可以考虑将视频分为3行3列大小不等的9个子块,然后分别求出各块直方图帧间差,再对这9块帧间差按大小进行排序,根据排序大小定义加权值。

5. 系统的训练与检测

(1)系统训练数据输入项选择

以前面的3个特征值作为ANFIS的输入。

(2)确定输入变量的隶属度函数及数量

隶属函数是模糊系统中的一个重要概念,模糊系统中常用的隶属度函数很多,Matlab模糊工具箱中包含11种。经过多次实验,本算法采用Gauss型隶属函数。

(3)输出数据选择

在选择输出数据方面,由于输出变量只有一个,根据镜头变化程度,定义:镜头内部,输出为0;Cut(突变),输出为1;FADE IN/OUT(淡入/淡出),输出为0.4;Dissolve(溶解),输出为0.3;Wipe(扫换),输出为0.2。

(4)ANFIS训练参数获得

最后当训练误差小于5%时,训练生成的自适应模糊推理神经模糊推理系统能逼近视频镜头检测非线性系统,说明获得了性能不错的FIS结构。此时,可以得到该模糊结构的前提参数和结论参数,则可以采用这个模糊推理结构来进行预报。

6. 结果与分析

实验数据来自于从电视上截取的电视片断、从网络上下载电视节目和TRECVID2005、TRECVID2006测试集等。内容包括电影、精彩镜头集锦、宣传片、广告等视频片断,实验环境是P4-114GHz CPU+512MB内存的PC机和WindowsXP操作系统。视频分割的结果位置与人工标记的精确位置进行对比以检验结果的准确性。

用查准率(准确率)和查全率(招回率)两个指标来评价,即:

准确率(查准率)=正确检出数/(正确检出数+误检数)

招回率(查全率)=正确检出数/(正确检出数+漏检数)

在该实验中,先用本文提出的模糊推理方法进行检测,表1为用本文提出的基于模糊逻辑的方法进行镜头边界检测的结果。然后再用传统方法法进行镜头边界检测,其结果如表2所示。

由此可见,试验中所采用的算法取得了令人满意的检测效果,个别的误检来自于视频中镜头的大幅度晃动、镜头快速水平扫过不同的场景等情况,而漏检来自于渐变前后两个镜头的颜色差别及其微小的情况。这些误差与在建立模糊推理时选择的训练数据的合理性有关,模糊推理模型的建立毕竟是以本文中所选择的数据为基础,训练数据选择的合理性、正确性、多样性能获得较好的前提和结论参数,所以在选择训练数据要尽可能地考虑到比较特殊的变化边界。

7. 结论

镜头边界检测不仅是实现基于内容的视频检索的一个重要步骤,而且一直是视频检索领域的研究热点,本文提出了一种基于模糊神经推理的镜头边界检测的策略,是因为考虑到镜头检测是一个复杂的非线性的过程,所以很难选择合适的阈值来正确区分镜头内部和边界。采用模糊神经推理较好地描述镜头边界检测的非线形性过程。ANF1S作为一种很有特色的神经网络,以任意精度逼近任意非线性函数的功能,并且收敛速度快,样本需要量少。模型运算速度快,结果可靠,效果好。同时在视频特征提取中,还加入二值信息特征分析。在NIST提供的测试数据集上,本方法取得了不错的试验结果。

参考文献

[1]Rui Y,Huang T S and M eh ro tra S.Constructing Table Of Contents For Videos[J].ACM Journal of Multimedia Systems,1999,7(5):359~368.

[2]Jinhui Yuan,Huiyi Wang,Lan Xiao“A Formal Study of Shot Boundary Detection”[J].IEEE Transactions on Circuits and Systems for Video Technology,vol.17,no.2,Feb.2007:168-186.

[3]U.Gargi,R.Kasturi,and S.H.Strayer,“Performance characterization of video-shot-change detection methods”[J],IEEE Trans.Circuits Syst.Video Technol.,vol.10,no.1,pp.1-13,Feb.2000.

[4]原野,宋擒豹,沈钧毅,倪冰等.一个自动阈值选择的镜头检测算法[J].小型微型计算机系统,2004,7(25):1337~1340.

[5]NAphade MR,Mehrotra R,Ferman A M,et al.A high-performance shot boundary detection algorithm using multiple cues[C].Proceedings of International Conference on Image Processing,1998:884-887.

[6]J.Wesley Hines.Fuzzy and Neural Approaches in Engineering-MATLAB Supplement[M].John Wiley and Sons,New York,1997:35~45.

[7]李士勇等.模糊控制.神经控制和智能控制论[M].哈尔滨:哈尔滨工大学出版社,1998:21~26.

[8]闻新,周露,李东江等.MATLAB模糊逻辑工具箱的分析与应用[M].北京:科学出版社,2002:244~246.

[9]吴晓莉,林哲辉等.MATLAB辅助模糊系统设计[M].西安:西安电子科技大学出版社,2002:14~99.

视频镜头检测 篇3

关键词:视频镜头检测,VC++ Matlab混合编程,颜色直方图

0引言

随着网络与计算机技术的迅速发展, 单调的文本信息已不再满足人们的需要, 多媒体内容日益进入人们的生活, 数字视频得到了越来越多的应用。于是, 相关的视频处理的研究也越来越多。镜头分割是视频处理的第一步, 是随后的高层内容分析、分类、索引和查询的基础。镜头分割的准确性将直接影响到后续处理的效果。因此, 视频镜头的分割算法, 从一开始就得到广泛的重视, 它在基于内容的视频分析和检索中也有着最长的研究历史和最丰富的研究成果。所以对视频镜头检测技术的研究有着很强的现实意义。

1基于Matlab引擎的VC++与Matlab混合编程方法

Matlab Engine是指一组Matlab提供的接口函数, 支持C语言, Matlab Engine采用C/S (客户机/服务器) 模式, Matlab作为后台服务器, 而C程序作为前台客户机, 通过Windows的动态控件与服务器通信, 向Matlab Engine传递命令和数据信息, 从Matlab Engine接受数

据信息。用户可以在前台应用程序中调用这些接口函数, 实现对Matlab Engine的控制。采用这种方法几乎能利用Matlab全部功能。

基于VC和Matlab混合编程是很多熟悉VC++编程而又需要进行科学计算、数据仿真的科研人员常用的一种方式, 其中最简单也最直接的方法就是调用Matlab引擎。下面将对本设计中用到的调用Matlab引擎的方式及调用语句做出介绍。

所谓Matlab引擎 (engine) , 是指一组Matlab提供的接口函数, 支持C/C++、Fortran等语言, 通过这些接口函数, 用户可以在其它编程环境中实现对Matlab的控制。可以主要功能有:①打开/关闭一个Matlab对话;② 向Matlab环境发送命令字符串;③ 从Matlab环境中读取数据;④ 向Matlab环境中写入数据。

与其它各种接口相比, 引擎所提供的Matlab功能支持是最全面的。通过引擎方式, 应用程序会打开一个新的Matlab进程, 可以控制它完成任何计算和绘图操作。对所有的数据结构提供100%的支持。同时, 引擎方式打开的Matlab进程会在任务栏显示自己的图标, 打开该窗口, 可以观察主程序通过engine方式控制Matlab运行的流程, 并可在其中输入任何Matlab命令。

实际上, 通过引擎方式建立的对话, 是将Matlab以ActiveX控件方式启动的。在Matlab初次安装时, 会自动执行一次:matlab /regserver将自己在系统的控件库中注册。如果因为特殊原因, 无法打开Matlab引擎, 可以在Dos命令提示符后执行上述命令, 重新注册。 要在VC中成功编译Matlab引擎程序, 必须包含引擎头文件engine.h并引入Matlab对应的库文件libmx.lib、libmat.lib、libeng.lib。具体的说, 打开一个工程后, 做如下设置 (以VC6为例) :① 通过菜单工程/选项, 打开设置属性页, 进入Directories页面, 在目录下拉列表框中选择Include files, 添加路径:"C:matlabexterninclude" (假定matlab安装在C:matlab目录) ;②选择Library files, 添加路径:C:matlabexternlibwin32microsoftmsvc60;③通过菜单工程/设置, 打开工程设置属性页, 进入Link页面, 在Object/library modules编辑框中, 添加文件名libmx.lib libmat.lib libeng.lib。 以上步骤①、②只需设置一次, 而步骤③对每个工程都要单独设定下面将对引擎相关函数做出介绍。 在调用Matlab引擎之前, 首先应在相关文件中加入一行:#include "enging.h", 本次设计中用到的相关函数及介绍如下

引擎的打开和关闭engOpen-打开Matlab engine

函数声明:Engine *engOpen (const char *startcmd) ; 参数startcmd是用来启动Matlab引擎的字符串参数, 在Windows操作系统中只能为NULL。函数返回值是一个Engine类型的指针, 它是在engine.h中定义的engine数据结构。EngClose-关闭Matlab 引擎函数声明:int engClose (Engine *ep) ; 参数ep代表要被关闭的引擎指针。函数返回值为0表示关闭成功, 返回1表示发生错误。 例如, 通常用来打开/关闭Matlab引擎的代码如下:Engine *ep; //定义Matlab引擎指针。if (! (ep=engOpen (NULL) ) ) //测试是否启动Matlab引擎成功。{MessageBox ("Can't start Matlab engine!" ) ;exit (1) ;}. ………… engClose (ep) ; //关闭Matlab引擎。创建一个字符串类型并初始化为字符串。

mxArray *mxCreateString (const char *str) ;

向Matlab发送命令字符串engEvalString-发送命令让Matlab执行。函数声明:int engEvalString (Engine *ep, Const char *string) ; 参数ep为函数engOpen返回的引擎指针, 字符串string为要matlab执行的命令。函数返回值为0表示成功执行, 返回1说明执行失败 (如命令不能被Matlab正确解释或Matlab引擎已经关闭了) 。

2基于直方图的转场检测算法

基于直方图的算法是最普遍的场景分割方法, 它处理起来简单方便, 而且对于大多数视频, 能达到比较好的效果。现对几种有代表性的算法作一比较。

基于直方图的算法是在基于像素的比较上发展来的。基于像素的算法计算两帧中每个对应像素的亮度平均绝对变化值, 第k帧和第k+l帧的帧差异值定义为:

undefined (1)

式中M和N分别是帧水平方向和垂直方向的像素数, Ik (x, y) 和 Ik+l (x, y) 分别是第k帧和第k+l帧在 (x, y) 处的亮度值。该算法对帧内各像素的变化很敏感, 在镜头转换时会引起帧差值z 的跳变, 但是对镜头内的对象和摄像机的运动也过分敏感, 视频内对象和摄像机镜头的运动都会引起很多像素亮度的改变, 从而使z 值变大, 导致视频镜头边界的误判。

解决这个问题的方法是利用帧直方图, 基于直方图的算法通常是将相邻帧的各个像素的灰度、亮度或颜色等分成N个等级, 再针对每个等级统计像素数做成直方图比较, 对每一帧计算直方图差值的公式如下:

undefined (2)

其中N是灰度级数或颜色数等, M是一帧的像素数。该方法统计了总体的灰度或颜色分布数量, 它对镜头内的运动和摄像机的慢速运动有着良好的容忍能力, 只是在镜头内容快速变化和镜头渐变时可能会引起误检或漏检。

上述方法是计算整体的灰度或颜色的变化, 而没有考虑镜头内局部的运动。若局部运动引起灰度或颜色产生较大的变化就会导致误检。为了减少运动、干扰等引起的帧差值的变化, 可以将各帧分块处理, 将每个帧分成4*4 个大小相同的块, 分别比较每个块的颜色直方图, 差值最大的块被剔除, 余下块的直方图差值再做帧差值的计算。该方法对检验包含摄像机镜头的推移和缩放是有改进效果的, 但是对检测诸如淡入淡出等特殊效果就会失败。同时在某些光线变化比较剧烈的情况下, 帧差值z也会受到较大干扰。

在上述算法中, 定义好z后, 通常再确定一域值T, 若z>T, 则镜头边界存在。而视频镜头的转换有切变与渐变之分, 它们的特征是不同的。通常渐变过程的帧差异值幅度要比切变小, 但是渐变有一个持续过程。用单一的域值来判断难以适应各种情况。为此, 产生了双域值的算法来分别检测镜头切变和渐变。若帧差异值大于Th, 则认为发生了镜头切变, 若帧差异值小于Th大于Tl, 则认为开始发生镜头渐变, 此时累加此后的帧差异值, 直到累加值达到Th, 认为镜头渐变结束。若在累加途中帧差异值回落到Tl以下, 则认为无镜头转换, 累加器清零, 重新开始判断。该方法考虑到了镜头切变和镜头渐变的差异, 针对它们的特点分别检测, 能满足一般的镜头分割要求。并且要累计帧差异值到Th才认为有镜头渐变, 因此对突发的噪声有一定的抗干扰能力。但对于那些变化不很明显的渐变过程, 很可能在累加到Tl前就停止了, 而如果一个渐变过程中的某两个相邻帧变化很小 (小于Tl) , 就会使累加过程停止, 可能造成漏检。以上算法在同一段视频中都采用相同的阈值, 这样, 对内容变化较大的视频可能会产生误检, 而对内容变化较小的视频则可能产生漏检。

总的来说, 基于直方图的方法比较方便简单, 易于实现, 计算复杂度较低, 而且在一般的镜头切变的判断上可以得到较好的结果, 除了使用图像的颜色值或亮度来统计直方图, 还可采用RGB、YUV等三基色来进行直方图统计, 其思想和方法都是类似的, 并且被证明是简单有效的镜头切变检测方法。对于一般的切变和渐变镜头, 如果域值设置得当, 直方图算法可以达到较好的结果。

3检测实验与结果分析

实验的视频镜头库是采用20Gbytes的消费类电子企业提供的高清测试码流, 对图像进行灰度及YCbCr颜色空间变换, 以相邻图像间的灰度直方图的欧氏距离作为判定视频转场的依据。实验分别选取4组镜头突变转场和4组镜头渐变转场, 以验证系统的查证率和查全率, 验证系统的可行性。

通过表1可以看出, 本检测系统对镜头突变和渐变过程较短的渐变有着较好的查正率和查全率, 但是对渐变过程较长的渐变检测效果稍差。值得注意的是, 查全率与查全率与检测算法中的与之选取有关系。不同检测算法计算复杂度不同, 采用颜色直方图的方法虽然检测效果稍差, 但时间复杂度最小, 而且对于一般的突变、渐变镜头都有比较理想的检测效果。

4结束语

通过实验结果可以看出, 本系统能用给定算法对图片库中图片自动检测, 并能直观地显示转换部分的信息, 同时具有较高的查正率和查全率, 由于采用VC与Matlab混合编程大大缩短了软件开发流程, 提高了检测效率。下一步的工作将进一步完善系统的图形化界面, 并对系统的算法进行改进和优化, 以进一步提高其检测效果。

参考文献

[1]章毓晋.基于内容的视觉信息检索[M].北京:科学出版社, 2004.

[2]张洪德.基于内容的视频检索技术研究[D].长沙:国防科学技术大学, 2002.

[3]葛宝.视频镜头边界检测研究[D].西安:西北大学, 2004.

[4]孙鑫, 余安萍.VC++6.0深入详解[M].北京:电子工业出版社2006.

[5]周艺华, 曹元大, 张洪欣.一种通用的渐变镜头检测方法[J].计算机应用研究, 2006 (2) .

[6]VC++6.0与Matlab混合编程及应用[J].信息技术, 2006 (6) .

[7]何斌, 马天予, 王运坚, 等.Visual C++数字图象处理[M].北京:人民邮电出版社2001.

[8]杨帆.数字图象处理与分析[M].北京:北京航空航天大学出版社, 2007.

基于镜头检索的视频检索算法研究 篇4

由于将一段视频的每一帧都转描述成数学特征向量是非常耗时并且难于计算的, 目前常用视频检索做法是以镜头为最小检索单位, 镜头是视频内的一部分连续场景, 一般以摄像机的一次开关为界限, 一个镜头内的视频帧具有较高的相似度。镜头检索并不是提取一个镜头的特征向量, 而是提取镜头的关键帧的特征向量, 用关键帧代表镜头, 进而计算关键帧的相似度, 从视频数据库中检索得到和待检索关键帧语义相似的关键帧, 这样就找到了相似度较高的关键帧和该关键帧代表的镜头, 视频检索就转换成了关键帧检索。

目前基于内容的视频检索主要包括以下几个研究方向:一、镜头检测, 镜头是视频的基本构成单元, 将一段视频根据拍摄的场景的不同分割成多个镜头是研究的一个重点。二、关键帧提取, 从镜头内检测出当前镜头的关键帧, 从语义上表示该镜头, 并提取关键帧的特征向量从数学上描述该镜头。三、基于内容的图像检索, 在提取完视频的关键帧之后, 视频相似度对比就转变成了关键帧相似度对比, 视频检索就转换成了关键帧检索, 关键帧本质上是一幅图像, 基于内容的图像检索也是研究的一个重要方向。

基于内容的视频检索算法从检索范围上来分有两种, 一种是视频全局检索, 一种是关键帧检索, 全局检索是对视频的所有帧进行检索匹配, 关键帧检索是用一个视频的关键帧代表这个视频, 全局检索的准确率更高, 但是由于视频的数据量很大, 一个30分钟的视频, 在每秒30帧时, 其视频帧数就达到了54000帧, 对如此数量的视频帧进行特征提取, 相似度计算无疑是一个浩大的工程, 所以目前一般采用的是基于关键帧的检索。

视频检索过程中的关键技术中包括镜头检测、关键帧提取和关键帧对比, 应用这些关键技术实现一次完整的视频检索。但是由于每个视频有多个镜头, 每个镜头又存在多个关键帧, 检索过程中计算量很大, 所以本文希望做预处理, 对镜头预先进行分类, 这样在用户检索的过程中, 只要根据自己待检索镜头所属的分类, 只检索对应的分类即可, 可以节省了大量的检索时间。

2. 镜头聚类

视频检索应该以镜头为单位, 将镜头作为视频检索的最小单元, 由于视频检索的计算量很大, 所以在检索之前最好对所有已经分析完毕的镜头进行聚类, 这里本文采用基于网格的聚类方法, 根据镜头的首个关键帧对镜头进行聚类基于网格的聚类方法, 如下图2所示, 将一个二维空间平均分成多个聚类, 根据拿到的对象, 通过算法直接确定物体所属的类, 对于图中属于区域11、12的两个点, 虽然距离很近, 但是根据聚类算法, 两个物体仍然分属两类, 属于边界限制的一种。对于本文的镜头聚类来说, 是将HSV空间向量的距离值分成多个块, 当拿到一个镜头的HSV特征向量时, 可以直接计算出该镜头所属的分类, 基于网格的聚类方法特点是快速, 只有一个特征向量也可以直到其所属的类。

由于空间向量的值的不确定性, 所以空间网格的划分造成一定的难度, 首先利用公式4.2对HSV颜色空间的各个分量进行归一化操作, 保证各个向量的值在0-1之间, 之后利用公式4.4计算, 图2基于网格的聚类这样, 所有视频帧的距离就可以保证在0-1之间, 就完成了视频帧特征向量的归一化, 并进行下一步的网格聚类。本文根据向量到 (0, 0, 0….0) 的距离直接计算向量所属网格, 本文简单的将网格设为100, 即距离 (0, 0, 0, 0, ) 乘以1000后, 距离值在0-10之间的属于类1, 聚类在10-20的属于类2, 依次类推, 确定视频帧所属网格类。

3. 镜头检索算法

在本文中, 将镜头作为检索的最小单元, 用户选择一个镜头, 并检索出相关镜头, 镜头作为检索结果反馈给用户, 用户可以根据检索出的镜头查找出包含镜头的视频。首先用户提交待检索视频, 经过前面的镜头检测算法, 将视频分解成镜头之后, 提供给用户两种检索模式, 单帧检索模式和多帧检索模式。单帧检索是用户由用户选择其中一个镜头, 并选择其中的一个或者多个关键帧进行检索, 当用户选择一个关键帧时, 首先对选择的关键帧进行网格聚类, 计算出待检索关键帧所属的聚类, 然后连接数据库, 从数据库的关键帧表中, 根据聚类结果, 检索出相似度较高的关键帧。例如对关键帧进行网格分析后, 发现该关键帧属于A类, 则从数据库中只对A类的关键帧进行相似度对比计算, 这样就节省了大量的时间, 在计算完毕后, 将这些相似度较高的关键帧列出来, 供用户选择, 用户选择出自己满意的关键帧之后, 根据数据库中的关联关系, 可以在数据库中直接检索出该关键帧对应的镜头和视频, 显示给用户, 即完成了一次视频检索。

当用户选择了多个关键帧进行检索时, 设关键帧用K1-Kt表示, t表示用户选择检索的关键帧数目, 首先根据第一个关键帧K1进行检索, 同样是首先进行网格分析, 得出距离最近的N个检索结果, 之后从N个结果中的第一个开始分析, 设第一个结果视频V有V1-Vm个关键帧, 当前关键帧K1和Vt相似度较高, 则从Vt-Vm循环和K2进行相似度计算找到第一个距离小于阈值t的视频, 如果循环完毕没有找到, 则从检索结果中去除v视频, 如果找到相似度小于阈值T的关键帧Vp, 继续在Vp-Vm中寻找K3, 直到Kt都在V中寻找到, 如果有Ki没有在v中相似度满足阈值, 则将视频V移出检索结果序列。本算法依次查找, 是充分考虑时间轴的影响因素, 在检索完毕后, 对检索结果进行二次排序并显示给用户。

4. 实验结果

对数据库中5000副图片进行分析, 首先要提取这5000副图片的特征向量, 本文选择7维的形状向量、8维的纹理向量和71维的颜色向量, 在提取完5000副图像的特征向量后, 对每一维取最大值和最小值, 然后利用公式对这5000副图像的所有特征向量进行归一化处理, 保证每一维的向量值都在0-1之间。经过统计发现, 98%以上的图片距离向量 (0, 0, 0, 0….0) 的距离在70-130之间。

所以本文就可以从70-130之间进行聚类, 分别以距离10聚类, 对一个镜头内的图片进行分析, 对镜头的内的所有图片进行分析, 设间隔是d, 对镜头的首帧进行分析, 确定镜头首帧所属类, 并查看其余帧所属类, 对10个镜头进行分析, 分别取d=10。第4类图片的截图如图4所示:

通过聚类发现, 例如下图中的5139和5382等, 通过聚类可以有效的将相似的图片聚类在一起, 在检索过程中可以减少对比的数量, 降低检索时间, 但是同一子类的图片之间也存在很大的不相关性, 说明每类之间有较大包容性和相似性。

5. 结束语

本文提出的视频检索算法在电视台视频管理系统中已经得到了很好的应用, 经过长期的实践表明该算法在同类算法中检索速度大大的增加。

摘要:在视频检索过程中每个视频有多个镜头, 每个镜头又存在多个关键帧, 检索过程中计算量很大, 本文提出基于镜头检索的视频检索算法, 并建立一个模型, 用于用户检索视频, 向用户提供单帧检索和多帧检索两种检索模式。通过测试表明本文的视频检索算法能够很好的检索视频内容。

关键词:视频检索,镜头,算法

参考文献

[1]Muneesawang P, Guan L.An interactive approach for CBIR usinga network of radial basis functions[J].IEEE Transactions on Multimedia, 2004, 6 (5) :703-716.

[2]Tang J, Acton S T.A decentralized image retrieval system foreducation.IEEE Information Engineering Design Symposium[C].2003:7–12.

镜头变换边界复合检测算法研究 篇5

在信息技术飞速发展的今天,随着成像采集设备、大容量存储设备及光纤传输网络的技术进步,数字视频图书馆、远程智能视频监控、网络视频电视等由于大大改善了人们的工作和生活而得到广泛普及和应用。

数字视频的主要特点是数据量非常庞大,蕴涵信息丰富多样。然而,视频图像的物理存储形式一般都是按照时间顺序排列的帧图像比特流,无法反映出所包含的有用信息,需要人们亲自观看后才能了解到其中的内容,这一特点大大增加了人们查找所关注的视频信息的难度。而且,传统的视频资料库管理需要对每段视频的内容进行人工标注后,才能进行文本式的查询,这种方式工作量极其庞大,无法适应于大规模视频数据应用的需求。因此迫切需要研究如何利用计算机自动地对原始视频进行分析、视频图像时间分段及标定,从而大大提高人们查找所关注的视频信息的效率。

视频图像的时间分段及标定一直是国际上非常活跃的研究领域。如何将视频图像进行有效时间分段及标定是视频图像内容分析、随机接入、视频数据库浏览与检索的重要研究方向。

视频序列在时间上的最小单位是图像帧。一个镜头定义为视频图像采集设备在一段连续的空间和时间情况下拍摄的一段视频。通常,一个镜头所包含的视频序列会表现出比较连续的视觉特征(包含色度,纹理及运动信息)。多个内容相关的镜头组成场景单元,多个情节相关的场景单元之间可以组成情节故事单元。由此可见,镜头是视频图像处理、分析、检索的基本单元。拍摄时得到的原始镜头在制作剪辑时通过不同的镜头变换连接起来就得到最终的视频流。因此,在对视频图像进行时间分段和标定时,镜头变换边界的自动检测变的十分重要。本文将对镜头变换边界的检测算法进行分析和研究。

镜头变换边界的自动检测算法在国际上得到了广泛的研究,针对不同类型的镜头变换边界,学者们提出了不同的检测算法。本文的研究目的是在研究当前国际上提出的镜头变换边界检测算法基础上,提出一种检测性能好,复杂度较低的边界检测方法。

1 镜头变换边界检测算法回顾与分析

常见镜头变换分为切换(Cut)和渐变(Gradual Transition)两大类,渐变又包括渐显(Fade In)、渐隐(Fade Out)、淡入淡出(Dissolve)等。镜头变换边界检测的任务是检测出镜头变换的起始点和终止点并识别出其类型。

切换是最简单最常见的镜头变换形式,它是两个镜头之间的直接连接,中间不存在过渡帧,前后两帧图像内容变化比较大,在时域上表现为相邻帧图像之间的差异出现一个尖锐的峰。近些年,众多学者对镜头切换边界检测算法进行了大量的研究,总的来说,镜头切换边界检测算法大致分为以下几类。

①基于像素级的镜头切换边界检测方法

衡量连续两帧图像的内容不连续性最简单的方式是计算两帧图像所有像素点的亮度分量差值的绝对值之和。但是这种方法容易受到相机或拍摄物体运动剧烈程度的影响。也就是说,当拍摄物体运动比较剧烈、相机正在进行平移、缩放或旋转操作时,采取该方法进行检测容易误判为是镜头切换边界。为了克服该影响,基于运动补偿技术,采取计算两帧图像块匹配残差绝对值之和的方法来进行检测镜头切换边界。

基于像素级的镜头切换检测方法计算量较大,但是如果镜头切换别界阈值设置可以人为调整的话,该检测方法准确度较高。

②基于灰度直方图的镜头切换边界检测方法

为了减少检测方法的计算量,通过观察发现,当两帧图像内容不连续时,两帧图像的灰度直方图也会有较大的变化,因此采取统计灰度直方图的方法,通过检测灰度直方图的变化量来判断镜头切换边界[1]。

③基于边缘检测的镜头切换边界检测方法

为了进一步减少计算量,当两帧图像内容不连续时,两帧图像的边缘个数及边缘位置会有较大的变化,因此可以通过检测前后两帧图像边缘个数及位置的变化来判断镜头切换边界[2]。

④基于图像统计量的镜头切换边界检测方法

图像的统计量主要包括均值,方差及N阶距统计参数。当两帧图像内容不连续时,两帧图像的统计量也会有相应的变化,因此可以通过检测前后两帧图像的统计量变化来判断镜头切换边界[3]。

⑤基于图像压缩域参数统计的镜头切换边界检测方法

当两帧图像内容变化不连续时,在使用MPEG或H.264编码器对其进行编码时,其对应的压缩域参数也会有相应的变化。一般来说,在出现镜头切换边界的时候,其体现在压缩域往往表现为:DCT系数能量较大,选择帧内预测模式进行编码的比例增多。因此可以通过对这些参数进行统计来检测镜头切换边界[4]。

Borezcky 和Rowe在文献[5]中用各种类型的视频序列对上述不同镜头切换边界检测算法进行了比较,得出:相对于其他方法,采取基于灰度直方图的方法在检测性能和复杂度之间取得了较好的折衷。

但是,采取基于灰度直方图的方法进行切变边界检测存在的主要问题是:①由于镜头内部亮度剧烈变化、强烈运动等导致的镜头切换边界误判。例如,新闻视频中经常出现的闪光灯情况将导致前后两帧间差异出现尖峰,从而导致镜头切换边界误判。②镜头切换边界检测阈值依赖于不同场景应用,需要人为地依据各种场景设置不同的阈值从而提高检测准确率。

渐变是指两个镜头之间连接时存在过渡区域。渐变主要包括渐显(Fade In)、渐隐(Fade Out)、淡入淡出(Dissolve)、划变(Wipe)等。渐显、渐隐是指两个镜头之间在连接过渡区域中,亮度上是逐渐变化的,主要表现为亮度逐渐变亮或亮度逐渐变暗,往往会在前一个镜头尾或后一个镜头前面有个单色图像帧出现。针对渐隐、渐显类型的镜头渐变变换边界精确定位和变换类型的确定,众多学者进行了大量的研究,具体如下:

假定镜头之间连接时是线性叠加模型,可以证明渐隐,渐显变换过程中,图像帧亮度分量的标准差呈线性变化。Lienhart首先确定出视频中的单色帧作为候选边界点,利用线性回归分析找出图像帧亮度分量标准差曲线上的线性区域为渐隐、渐显变换[6];Truong在单色帧附近搜索亮度分量方差二阶导数的负峰作为候选点,并判断候选区域帧均值的一阶导数是否近似为常数来检测渐隐∕渐显变换[7]。

针对镜头渐变边界及渐变类型的检测性能,目前存在的主要问题是:虚警率较高,定位渐变的边界检测不够精确,分辨渐变类型不够准确。

通过上述分析可知:镜头边界的自动检测是视频图像内容分析、随机接入及视频数据库浏览与检索的重要研究部分。镜头变换主要包括切换和渐变两大类。针对镜头切换检测,存在主要问题为:①镜头内部亮度剧烈变化、强烈运动容易导致误判;②镜头切换检测阈值需要人为地依据各种场景进行设置。针对渐隐、渐显类型的镜头渐变的边界检测,存在主要问题为:容易受到噪声的影响,虚警率较高,定位渐变的边界检测准确度不够高。为解决以上问题,提出一种新的镜头变换边界复合检测方法。采取基于色度分量的灰度直方图方法来检测切换变换,采取计算每帧图像亮度分量的熵来检测渐隐、渐显类型的渐变边界。理论分析及实验结果将表明该方法能够克服上述问题,能很好地检测两种类型的变换边界。

2 镜头变换边界复合检测算法

针对镜头切换边界检测,采取基于亮度分量的灰度直方图方法虽然能取得复杂度与检测性能之间较好的折衷[5],但是其容易受到镜头内部亮度剧烈变化,强烈运动导致误判的影响,而且,镜头切换边界检测的阈值随着场景不同变化非常大,需要人为根据场景不同,设置不同的阈值。这样直接导致检测方法的不灵活,不能自动化检测。为了克服此问题,本文提出采取基于色度分量的颜色直方图检测方法。经观察,可以发现,相对于亮度分量,色度分量在一个镜头内变化远远没有那么剧烈。而且,在一个镜头内出现闪光灯或曝光不充分的情况时,亮度分量往往会出现较大的变化,但色度分量变化则较小。基于此,采取色度分量的颜色直方图统计方法往往只会在两个镜头切换的边界才会出现较大的峰值。而且在一个镜头内部,色度分量的颜色直方图变化比较缓慢,这样,就可以采取较短的时间窗对图像的颜色直方图进行自适应训练即可,从而获得镜头切换边界检测的阈值。因此解决了切换边界检测阈值需要人为设定的问题。

基于色度分量的颜色直方图检测方法具体如下:

假设每帧图像像素个数为N,每个像素用色度空间(Y,Cb,Cr)来表示,则每个像素色度对应表示为(Cb,Cr)。对每个像素色度分量(Cb,Cr)采取2B阶离散量化,即每个像素色度值Cb,Cr∈[0,2B-1],令M1(cb,cr)为对应像素颜色值为(cb,br)在Ii帧图像的像素个数,则第IiIi-1帧图像颜色直方图差值CHDi由公式(1)计算可得:

CΗDi=1Νr=02B-1g=02B-1t=02B-1|Μi(cb,cr)-Μi-1(cb,cr)| (1)

为了克服噪声的影响,并减少计算量,量化阶数B可设置为2或3。当CHDi超过某个阈值θc,则认为该处发生了镜头切换。

针对渐变镜头边界检测,目前采取的研究方法主要是通过计算图像亮度分量的标准差来判断单色帧及渐变区域边界。这种方法的缺点是容易受到噪声的影响, 虚警率较高。为了提高对渐变序列的检测精确度,本文提出了基于图像亮度分量的信息熵方法来判断单色帧及渐变区域边界。具体如下:

首先计算每帧图像亮度分量信息熵。假设每帧图像像素个数为N,每个像素用颜色空间(Y,Cb,Cr)来表示,则每个像素亮度对应为Y。对每个像素亮度分量Y采取2B阶离散量化,则每个像素亮度值Y∈[0,2B-1],令Mi(y)为对应像素亮度值为yIi帧图像的像素个数,则第Ii帧图像亮度分量值为y的概率pi(y)为:

pi(y)=Mi(y)/N (2)

对应第Ii帧图像亮度分量的熵为:

Ηi(Y)=-y=02B-1pi(y)logpi(y)(3)

亮度分量的量化阶数B通常设置为5。通过公式(2)-(3),可得每帧图像的亮度分量信息熵,根据所得信息熵,可按照如下方法判断出单色帧。

按照信息论的知识,单色帧具有最少的信息量。因此,可通过每帧图像亮度分量信息熵的大小来检测单色帧。当第Ii帧图像亮度分量的熵Hi(y)<Hmono时,即可将此帧设置为单色帧。一般来说Hmono设置为0.05。

检测完单色帧后,可以进一步检测判断渐隐、渐显序列过渡区。从检测到的单色序列Ii开始,逐步检测后续序列Ii,Ii+1,…,Ii+k…的亮度分量信息熵,当后续序列的亮度分量信息熵满足以下条件:

Ii,Ii+1,…,Ii+q信息熵单调增加。

②当Ii+q亮度分量信息熵超过Hfade,将此帧定义为渐变序列过渡区截止帧,一般来说,Hfade设置在0.5到1之间。并且IiIi+q超过3帧则判断该序列为渐隐序列,并且单色帧为镜头变换边界。

同理,从检测到的单色序列Ii开始,逐步检测前面的序列Ii,Ii-1,…,Il-k,…的亮度分量信息熵,当前面序列的亮度分量信息熵满足以下条件:

Ii,Ii-1,…,Ii-t信息熵单调增加。

②当Ii-t亮度分量信息熵超过Hfade,将此帧定义为渐变序列过渡区截止帧,一般来说,Hfade设置在0.5到1之间。IiIi-t超过3帧则判断该序列为渐显序列,并且单色帧为镜头变换边界。

针对基于色度分量直方图统计准则检测镜头切换边界方法,当相邻两个镜头具有相似的色彩,该检测方法容易产生漏警现象。基于此,本文额外增加了基于亮度分量信息熵的方法检测镜头之间的切换边界,以降低变换边界检测的漏警概率,即当Hi(y)-Hi-1(y)>Hcut,则认为该处发生了镜头切换,一般来说Hcut设置为0.1。

基于上述分析,本文提出的镜头变换边界复合检测方法如图1所示。

①视频序列首先送入基于亮度分量信息熵单色帧检测器,计算每帧图像的亮度分量信息熵。当该帧图像亮度分量信息熵Hi(y)≤Hmono,则将该帧图像进行标记,送入到基于亮度分量信息熵的渐隐、渐显序列检测器进行检测。若满足渐隐或渐显序列检测条件,则判断为渐隐或渐显序列,该帧图像为渐变边界。

②若该帧图像亮度分量信息熵Hi(y)>Hmono,则将其送入基于色度分量直方图统计镜头切换边界检测器。若前后两帧图像颜色直方图差值CHDi>θc,则判定该帧图像为镜头切换边界处。若CHDiθc,将其送入基于亮度分量信息熵镜头切换边界检测器。

③若Hi(y)-Hi-1(y)>Hcut时,则该帧图像为镜头切换边界处,若Hi(y)-Hi-1(y)≤Hcut,则该帧图像非镜头切换边界。

3 实验结果

为了检验本文提出的镜头变换边界复合检测方法的检测准确度和查全率,本文分别对序列Total.yuv,Matrix.yuv,De-lovely.yuv采用该算法进行测试。该序列实际镜头变换统计结果如表1所示。

采用复合边界检测方法检测结果如表2所示。

表2实验结果表明,复合边界检测方法针对这三种不同类型的序列都有较高的检测准确率和查全率。

4 结束语

本文提出了镜头变换边界复合检测算法能够同时检测出切换或渐隐、渐显型的镜头变换边界和变换类型。算法分析和实验结果表明:该方法具有实现复杂度较低,对各类型序列检测性能较好的优点。

参考文献

[1] Zhang H J, Kankanhalli A, Smoliar S W. Automatic prartitioning of full-motion video[J]// Multimedia Systems, 1993,1:10-28.

[2] Zabih R, Miller J,Mai K. A feature-based algortithm for detecting and classifying scene breaks[C]// Proceedings ACM Multimedia 95, November 1993:189-200.

[3]Rainer Lienhart,Christoph Kuhmunch and Wolfgang Effelsberg.Onthe detection and recognition of television commercials[C]//pro-ceedings of the International Conference on Multimedia Computingand Systems,Ottawa,Canada,1997:509-516.

[4]Meng J,Juan Y,Chang S-F.Scene change detection in an MPEGcompressed video sequences[J]//IS&T/SPIE Symposium Proceed-ings,February,1995,2419.

[5]Colin O’Toole,Alan Smeaton,Noel Murphy,et al.Evaluation of Au-tomatic Shot Boundary Detection on a Large Video Test Suite[C]Challenge of Image Retrieval,Newcastle,1999.

[6] Lienhart R. Reliable transition detection in videos: a survey and practitioner’s guide[J]. International Journal of Image and Gra-phics,2001,469-486.

基于聚类的镜头切换检测 篇6

随着多媒体压缩技术的发展、计算机处理能力的提高以及存储介质价位的降低,人们能够接触到的视频信息也越来越多。然而在大量的视频信息中找到感兴趣的内容还是一个很艰难的任务。传统的方法是通过快进快退的方式浏览视频,找到相应的内容。这种方法即费时又耗力,因此需要建立视频检索和浏览系统。视频结构化组织是建立这种系统的基础,而镜头切换检测是视频结构化的第一步。

2 帧DC图像的提取

目前大多数视频数据都是以压缩方式存在的,因此镜头切换将在半解码基础上进行检测,即可以在DC图像序列上进行的。视频流主要由帧组成,而帧可分为I帧、P帧和B帧3种类型,由于计算P帧和B帧DC图像的复杂度较高,且计算量也较大。有鉴于此,在我们提出的视频内容分析方案中,选择了只提取I帧的DC图像。

MPEG-2进行帧内编码采取的是DCT变换,将图像分割成8×8的块,然后对每个块进行DCT变换。对于DCT变换,DCT系数的第一个值为DC系数,表示的是该块的平均值。所以我们可以直接提取每一个块的DC分量,以该分量的值代表整个块。将这些DC值按照块的位置进行排列组合,则重组出一个大小为原来尺寸1/64的图像,即I帧的DC图。其基本步骤如下:

(1)拆包。MPEG-2的传送流采用的是一个“包流”技术。音频和视频数字化后,打成含包头的包串。传送流形成的简化总体框架如图1所示,其中PES指原始数据流分组,TS Mux指传送流多路复用器。

由图1可以看出,帧数据的提取是逆向处理,先拆传送流分组的包装,得到PES包数据。

(2)分析码流。按照码流的结构以及各个头出现的顺序分析序列头、序列扩展、序列显示扩展、图像头、图像编码扩展、量化矩阵扩展、组块、宏块、宏块模式以及块,从而得到头中所包括的有用信息。

(3)解一个块的数据,先变长码解码再反扫描、反量化、饱和化以及解谐直到解完一个宏块中的所有块并把解码后的数据存在一个二维数组中:block[12][64],12代表一个宏块最多有12个块,64代表一个块有64个系数。

(4)根据这个宏块是否是帧DCT决定是否使用反交织,反交织是将场DCT编码的宏块变成帧DCT编码的宏块,这样就可以直接提取每一个块的DC系数了。

3 镜头切换检测的概述

3.1 基本概念和分类

镜头是指摄像机一次连续拍摄所得到的内容,它是视频的基本单位。镜头切换是指一个镜头到另一个镜头的转换,通过镜头切换的检测能够找到代表视频基本单元的相互独立的镜头。镜头的切换点指视频序列中两个不同镜头之间的分隔和衔接。采用不同的编辑方法,就产生了不同的镜头衔接方式,镜头切换主要有突变和渐变两种。

3.2 镜头切换检测性能评价

当前常用的评价镜头检测效果的方法为:查全率和准确率。计算公式如下:

这两个指标之间是相互制约的,是一对矛盾因素。对于镜头切换检测的各种算法虽然不能实现100%的理想检测,但可以根据不同的用途和目的选择合适算法,使得两个指标之间有一个很好的均衡。对于自动视频检索系统,应注重前者;对于仅将视频每镜头选一个关键帧快速播放而言,则注重后者。镜头切换检测的目标应尽量在保证查全率的基础上提高准确率。

4 基于聚类的镜头边界的检测

4.1 聚类算法概述

聚类算法有许多,其中最常用的是循环算法。其基本原理是从一个任意的初始聚类开始,将样本元素分配给某个聚类以达到某种最优结果。K均值和ISODATA是两种典型的循环聚类算法。

4.2 相似性度量

检测镜头切换时需要进行I帧间的相似性比较,可以采用颜色、纹理和形状等特征。本章中我们采用了颜色特征来计算帧间的相似度,帧间的相似度采用直方图距离,计算公式如下:

其中,H(i,k)是帧I的归一化直方图在灰度(彩色)级k上的值;n是灰度(彩色)级的数量。

4.3 镜头边界检测算法

设Sequence={f1,f2,…,fL}是由L帧组成的一个视频序列,fi表示其中第i帧的特征函数,L个帧构成了一个样本集合。应用聚类算法,样本聚类成M个类,记为shot={sh1,sh2,…,shM},C1,C2,…,CM分别是各个类的中心,每个类包含的帧数分别是n1,n2,…,nM。

聚类算法步骤如下:

(1)初始化,任意地指定一个样本(一帧图像)为第一个聚类的中心,为简便起见,我们将样本集合中的第一个元素(镜头的第一帧)f1作为第一个聚类sh1的中心,即c1=f1;

(2)计算样本集合中其他所有元素(帧)与聚类sh1的中心C1的距离D(i,C1),如果max(D(i,1))

(3)确定离C1距离最远的元素(帧)fp,生成一个新类C2,将fp放入该类中。类C2的中心为sh2=fp;

(4)逐个计算剩余的样本元素f2,…,fp-1,fp+1,…,fL与sh2的距离D(i,2),如果存在max{min(D(i,C1),D(i,C2))}>T,则生成一个新类C3,将满足条件的样本fi放入该类中。类sh3的中心为C3=fi。转到执行第5步。否则继续执行第6步;

(5)类似地,依次计算剩余各个样本元素与Ck的距离D(i,Ck),如果存在max{min(D(i,C1),D(i,C2),…,D(i,Ck))}>T,则生成一个新类shk+1,将满足条件的样本fi放入该类中。类shk+1的中心为Ck+1=fi。令k=k+1,继续执行第5步。否则转到第6步;

(6)将所有样品元素(帧)按最近距离分到最近的聚类中心,得到M个聚类集合;

(7)分析得到的M个聚类,将一个聚类内帧序不连续的帧剔除,形成新的类。保证每个类中的帧序是连续的,而且根据每个类的起始时间顺序重新排列,得到镜头。

5 实验结果

为了检测该算法,我们分别从故事片《那人那山那狗》和动作片《英雄》选取了视频片断。首先从视频片断中提取出所有I帧并且提取了所有I帧的DC图;其次根据本文提出的聚类算法对视频片断进行了镜头切换检测,实验结果如表1、表2所示。从实验结果可知,对于故事片的镜头切换检测要好于动作片的镜头切换检测。这是由于故事片的镜头持续时间长,且人物没有大的运动;而动作片刚好相反,为了表现激烈的打斗场面,镜头的切换速度块,而且人物的运动也比较大。

6 本文小结

镜头切换检测是实现基于内容的视频检索的一个重要步骤。本文在I帧的DC图基础上基于聚类方法进行了镜头切换检测。

参考文献

[1]李晓飞,陈来春等.MPEG标准及其应用.北京:北京邮电大学出版社

[2]蔡安妮,孙景鳌编.多媒体通信技术基础.北京:电子工业出版社

检测光纤镜头全自动挑选系统 篇7

目前,国内其镜头挑选基本靠人工,不仅效率低,而且挑选精度无法保障。为了实现镜头的全自动挑选,设计出一种基于图像识别的检测系统,并提出了软硬件设计方案。

1 硬件平台

本系统的硬件平台分为机械驱动模块、图像采集模块和数据处理模块。机械驱动模块由一套机械运动装置、一个三菱Q系列的PLC和四个伺服电机组成。其可以使被测镜头做四维运动。通过机械模块的运动可以实现寻找光纤、对焦、以及搜寻对称点等功能。图像采集模块由一个线阵CCD摄像头和以及图像处理芯片组成。数据处理由一块ARM9芯片来处理。PLC和ARM9通过RS232串口进行通信,图像采集模块将采集到的图像送到ARM9芯片进行处理,然后通过串口发送指令给PLC。

2 亚像素边缘定位方法

可以根据以下公式定位亚像素边缘的位置。

式中,Z11,Z20分别是图像f(x,y)的一阶矩、二阶矩,F11是旋转后的一阶矩,N为模板的大小,Im[],Re[]表示取虚部和实部。

通过上面的式子我们可以求得边缘的位置点,沿着每个位置点的方向θ寻找极值点,得到最终的边缘位置。然后把这些点用最小二乘法(7)链接起来。这样我们就可以得到任意边缘所在的位置。

算法步骤如下:

1)用一般的边缘检测算法处理图像,定位粗边缘;

2)取当前像素点,根据表1、表2计算该点对应的正交矩的Re(Z11)、Im(Z11)。

3)计算Z11的模值,即

4)判断若|Z11|>T,根据表3计算Z20,据式(5)计算1,否则此点不是边缘点,返回步骤2,取下一个像素点;

5)判断若1<2/N,根据公式(3)、(4)计算亚像素边缘点,否则返回步骤2;

6)对所求的亚像素边缘点沿θ方向搜索局部极大值,作为最终的边界点;

7)对边界点用最小二乘法拟合链接成边界。

3 检测系统软件的设计开发

在构建检测系统的硬件平台和研究亚像素边缘定位算法之后,物镜检测系统软件的架构如图1所示。

光纤在对焦时有两种情形:一是边缘清晰,二是纤芯清晰。可以根据需要进行光纤的对焦。

由图2可以看出,光纤在对焦后是规则图形,但边缘精度要求较严格。因此,采用亚像素边缘定位算法可以对物镜做精确的检测和定位。

4 波形软件的设计开发

与检测系统配套的波形软件的架构如图3所示:在配对软件中,对波形上各个点之间的比较采用均方差算法,然后得出一个平均相似度。

由图4可以看出,进行平滑处理后的波形外缘更加平滑,这样有利于寻找拐点。

5 总结

镜头的好坏和精度直接影响光纤产品的质量,检测光纤镜头全自动挑选系统的研究成果大大提高了光纤检测效率和检测精度。

参考文献

[1]于起峰,陆宏伟,刘肖琳.基于图像的精密测量与运动测量[M].北京:科学出版社,2002.

[2]刘桂雄,申柏华,冯云庆,等.基于改进的Hough变换图像分割方法[J].光学精密工程,2002,6(3):257-260.

[3]张强劲,杨丹,张小洪,等.基于多尺度模糊逻辑的小波边缘检测方法[J].重庆大学学报,2005,28(10):62-65.

上一篇:国际工程市场下一篇:班级组织结构发展探讨