发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种镜头边界检测方法,从而提高视频镜头边界检测的精度和召回率。
为了解决上述技术问题,本发明公开了一种镜头边界检测方法,包括以下步骤:
步骤1,视频帧特征表示:计算视频中每一帧在HSV(Hue,Saturation,Value)颜色空间上的非均匀分块直方图作为视频帧的特征表示;
步骤2,生成相似度序列:通过计算对应分块直方图的距离的加权和得到相邻视频帧的相似度,将视频中所有相邻视频帧的相似度组成序列即为相似度序列;
步骤3,对镜头边界的确定:
步骤3-1,镜头切变边界检测,根据相似度序列,利用自适应阈值算法计算出阈值,大于该阈值的相邻视频帧为镜头切变边界;
步骤3-2,镜头渐变边界检测,根据相似度序列,利用逆序对计数的算法找到候选渐变边界,用傅里叶函数拟合形成统一表示,通过对比候选渐变边界与标准渐变模型来确认渐变边界以及渐变类型。
本发明中,视频帧特征表示包括以下步骤:
步骤1-1,以3:5:3的比率同时将视频帧长和宽分为三段,从而将视频帧分割为9个分块;
步骤1-2,在每个分块上分别计算基于HSV颜色空间的分块直方图;
步骤1-3,由所有分块直方图组合成整个视频帧的直方图,表示为hk(f)表示帧f中第k个分块上的直方图,1≤k≤9。
本发明中,步骤2包括以下步骤:
步骤2-1,通过计算对应分块直方图的距离的加权和,得到相邻的第i个视频帧fi与第i+1个视频帧fi+1之间的相似度di,计算公式为:
其中,hk(fi)表示第i个视频帧fi中第k块的直方图,dis()表示相邻视频帧中对应分块之间的距离,wk表示第k块的权值,wk的取值范围[0,1],并且满足关系式:
步骤2-2,通过计算视频中所有连续帧之间的相似度,得到一组相似度的序列,即视频数据的中间表示,对于一段长度为n的视频,其相似度序列Ω表示为,
Ω={d1,d2,…di…,dn-1},
步骤2-3,去噪,在相似度序列Ω上采用长度为2·σ的一元高斯函数进行滤波得到平滑后的相似度序列Ω′,计算公式为:
Ω′=Ω*exp(-x2/2·σ2),x∈(-σ,σ),
其中,exp()表示以自然对数e为底指数函数,σ为函数的宽度参数,取值范围为(0,20],x为自变量取值范围为(-σ,σ)。
本发明中,步骤3中镜头切变边界检测包括以下步骤:
步骤3-1-1,自适应阈值计算,利用基本门限法寻找阈值,包括利用初始阈值做初步分割,初始阈值为相似度序列Ω′中所有相似度值的算术平均值,对分割出的两组数据分别计算算术平均值,将得到的两个算术平均值再做算术平均得到新的阈值,之后再利用新的阈值进行迭代,直到阈值开始呈现收敛趋势,即的到最终阈值threshold;
步骤3-1-2,镜头切变边界的确定,基于上一步所得最终阈值threshold,选取相似度序列Ω′中大于最终阈值threshold的位置作为镜头切变边界的位置,切变边界的集合hc(Ω′)为:
其中,l是相似度序列Ω′的长度,dm表示相似度序列Ω′上第m个值,m取值范围为[1,l],sig()是信号函数,当值dm大于或等于最终阈值threshold返回值为1,否则返回0,max()是求最大值函数。
本发明中,步骤3中镜头渐变边界检测包括以下步骤:
步骤3-2-1,标准模板提取,用傅里叶函数拟合一组预先采集的镜头渐变边界,得到一组统一的光滑曲线表示;
其中,消融式镜头渐变边界的曲线为单峰波形,淡入淡出式镜头渐变边界的曲线是双峰波形,包括左峰大右峰小、左峰大右峰小、两峰等高三类;
对四类曲线进行标准化校准,分别对每类中所有曲线进行叠加平均的得到各自标准模板Fs(t),即三个标准的淡入淡出渐变边界模板和一个标准的消融模板;
步骤3-2-2,候选渐变边界检测,根据渐变边界处呈现剧烈的递增与递减趋势,采用基于逆序对计数的算法检测候选镜头渐变边界,具体如下,
在相似度序列Ω′上找到相邻的相似度值递增段和相似度值递减段,其中间的分块即为候选渐变边界;使用长度为W滑动窗口在相似度序列Ω′上滑动,得到一组局部的相似度序列Um,
Um={d′m,d′m+1,...,d′m+w-1},
d′m为在滑动窗口内相似度序列Ω′上第m个值,令和分别表示局部的相似度序列Um中逆序对和顺序对的个数,如果则判定局部的相似度序列Um为相似度值递减段,否则如果则判定局部的相似度序列Um为相似度值递增段,μ为可变常数,取值范围为0~10;将被滑动窗口包含的相似度序列上Ω′第a个和b个的值设定为da和db,若a>b,并且da<db则判定da与db为逆序对,反之若a<b,并且da<db则判定da与db为顺序对;
步骤3-2-3,渐变边界识别,用傅里叶函数拟合上步候选渐变边界,得到候选渐变边界的曲线表示,然后利用步骤3-2-1中的标准化校准后曲线F(t),根据如下差异函数确定候选渐变边界是否为真实的渐变边界:
其中,T为候选边界的时间长度,t为自变量,取值范围[0,T],F(t)是标准化校准后曲线的函数,Fs(t)是各自标准模板曲线的函数;如果差异函数的值小于等于0.1T则认为匹配成功,当多个标准渐变模板匹配成功时,选择差异函数的值最小的标准渐变模板作为匹配的渐变边界,并确定候选渐变边界的渐变类型为该标准渐变模板的类型。
本发明中,步骤3中对所有四类曲线进行标准化校准,包括如下步骤:
步骤3a,对曲线的幅值进行归一化:将曲线的纵轴方向的值除以曲线上最大的纵轴方向值;
步骤3b,在所有曲线中,随机选取一个作为标准曲线,令点A,B,C分别表示淡入淡出标准曲线的左峰最高点,中间波谷最低点,右波峰最高点,令点P表示消融标准曲线的单峰最高点,其它曲线分别通过以下方法进行曲线校准:
其中,令点A′,B′,C′分别表示淡入淡出一被校准曲线的左峰最高点,中间波谷最低点,右波峰最高点,当被校准曲线的坐标轴通过左右滑动找到(A,A′),(B,B′),(C,C′)这三对点的欧式距离之和最小的位置为校准;令点P′表示消融曲线某待校准曲线单峰最高点,当被校准曲线的坐标轴通过左右滑动找到(P,P′)这对点欧式距离最小的位置为校准位置。
有益效果:
1)本发明的耗时少,速度快。由于计算相似度序列时采用了通用并行计算架构来加速,大大提高算法的速度。实验证明,在配备IntelPentiumDual-Core2.7GHz处理器和NVIDIAGTX580显卡的计算机上能以20fps的速度处理1080p高清电影视频,处理较低分辨率如720p视频的速度则可以超过25fps。
2)较强的鲁棒性和适应性。本发明中采用了自适应阈值算法,该方法解决了阈值选取的困扰,针对不同的视频算法会产生不同阈值,具有较强的适应性和鲁棒性。
3)较高的检测精度和召回率。实验证明,对于镜头切变的检测的精度和召回率均可以达到95%以上,而对于镜头渐变边界检测的精度平均可达80%以上,召回率平均可达89%以上,以上都高于当前镜头检测的平均水平,特别是渐变检测算法效果显著。
具体实施方式
下面结合附图和具体实施方式对本发明做更进一步的具体说明(实施测试的视频数据集包括电视新闻,文献记录片,音乐会录像(“Tears in Heaven”),两部完整电影(Titanic与Star Wars:Episode 1 The Phantom Menace),以及六段从电影数据中截取的切变片段,电影数据为1080p高清格式),本发明的上述或其他方面的优点将会变得更加清楚。
如附图1所示,本发明方法分三大过程:首先是基于非均匀分块直方图的视频帧特征提取;其次,是利用视频帧的非均匀分块直方图,计算一组相似度序列;最后,基于相似度序列,分别对镜头切变边界和镜头渐变边界的检测。图1包括为镜头切变识别过程,首先利用相似度序列和自适应阈值算法得到适合视频的阈值,然后选取大于阈值处为镜头切变处。图1还包括镜头渐变的识别过程,通过大量的实验观察和理论证明之后,发现镜头渐变边界处存在着特定的变化模式,因此,预先采集一组不同类型的渐变边界训练了一组标准渐变模型。对于镜头渐变的识别,先利用一种逆序对计数的算法找出候选镜头渐变边界,而后通过对比候选边界与标准渐变模型来确认渐变边界以及识别其渐变类型。
总体上,基于自适应阈值和傅里叶函数拟合的镜头边界检测方法,对视频数据集的镜头边界检测,包括以下三大步骤:
步骤1,视频帧特征表示:计算视频中每一帧在HSV颜色空间上的非均匀分块直方图作为视频帧的特征表示;
步骤2,生成相似度序列:通过计算对应分块直方图的距离的加权和得到相邻视频帧的相似度,将视频中所有相邻视频帧的相似度组成序列即为相似度序列;
步骤3,对镜头边界的确定:
步骤3-1,镜头切变边界检测,根据相似度序列,利用自适应阈值算法计算出阈值,大于该阈值的相邻视频帧为镜头切变边界;对于视频镜头切变边界检测来说,基于相似度序列采用自适应阈值算法计算出阈值,大于该阈值处则为镜头切变处。
步骤3-2,镜头渐变边界检测,根据相似度序列,利用逆序对计数的算法找到候选渐变边界,用傅里叶函数拟合形成统一表示,通过对比候选渐变边界与标准渐变模型来确认渐变边界以及渐变类型。对于视频镜头渐变边界的检测来说,首先通过大量的实验观察和理论证明之后,发现镜头渐变边界处存在着特定的变化模式,因此,预先采集一组不同类型的渐变边界训练了一组标准渐变模型。对于镜头渐变的识别,先利用一种逆序对计数的算法找出候选镜头渐变边界,而后通过对比候选边界与标准渐变模型来确认渐变边界以及识别其渐变类型。
对于步骤1,视频帧特征表示其具体实施的细节如下步骤:
步骤1-1,如图2所示将视频帧的长边,按照长度比分割为3:5:3的三段,将视频帧的宽边,按照长度比分割为3:5:3的三段,从而得到九个分块。
步骤1-2,在每个分块上分别统计局部的基于HSV颜色空间的直方图特征;
步骤1-3,整个视频帧的直方图特征则可以由局部直方图组合而成,表示为hk(f)表示帧f中第k个分块上的直方图,1≤k≤9。
对于步骤2,相似度序列,它的描述表示过程如下:
步骤2-1,相似度度量,基于HSV颜色空间中非均匀分块直方图表示每帧,通过计算对应分块直方图的距离的加权和,得到相邻的第i个视频帧fi与第i+1个视频帧fi+1之间的相似度di,计算公式为:
其中,hk(fi)表示帧fi中第k块上的HSV空间直方图,dis(,)表示相邻视频帧中对应块之间的距离。wk表示赋予第k块的权值,用于标定视频帧中各个分块的重要性,wk的取值范围[0,1],并且满足关系式如图2中,最上方三个分块以及最下方三个分块的权值设定为1/14,两侧的w4和w6则设为1/7,最后中间分块的权值w5设置为2/7。
步骤2-2,相似度序列,通过计算视频中所有连续帧之间的相似度,得到一组相似度的序列,即视频数据的中间表示,对于一段长度为n的视频,其相似度序列Ω表示为,
Ω={d1,d2,…di…,dn-1},
步骤2-3,去噪,视频内容的剧烈变化会使相似度序列产生强烈的局部波动,即Ω上对应段会有略微高出周围分块的波峰出现,但是这些波峰的能量通常又小于镜头边界的能量。视频相似度序列剧烈波动时如果仍然选用较小的自适应阈值则会引入较多的虚假镜头。为了解决这一问题,通过在Ω上采用长度为2·σ的一元高斯函数进行过滤得到平滑相似度序列Ω′,计算公式为:
Ω′=Ω*exp(-x2/2·σ2),x∈(-σ,σ),
其中,Ω是原始的相似度序列,exp()表示以自然对数e为底指数函数,σ为常数,σ为函数的宽度参数,控制了高斯函数的径向作用范围,本实施中σ=10,x为自变量取值范围为(-σ,σ),Ω′为平滑后的相似度序列。
对于步骤3,镜头边界的识别,基于自适应阈值和傅里叶函数拟合的镜头边界检测方法,其镜头的边界确定分镜头切变与镜头渐变边界确定两个部分,特征在于以下步骤:
步骤3-1,基于自适应阈值的镜头切变边界的检测;
步骤3-2,基于逆序对计数算法的候选镜头渐变的选取,以及基于傅里叶函数拟合和模板匹配的镜头渐变边界识别;
对于步骤3-1所述的基于自适应阈值的镜头切变的算法,其细节实施过程按以下两个步骤:
步骤3-1-1,自适应阈值计算,利用基本门限法寻找阈值,包括利用初始阈值做初步分割,初始阈值为相似度序列Ω′中所有相似度值的算术平均值,对分割出的两组数据分别计算算术平均值,将得到的两个算术平均值再做算术平均得到新的阈值,之后再利用新的阈值进行迭代,直到阈值开始呈现收敛趋势,即的到最终阈值threshold;
步骤3-1-2,镜头切变边界的确定,基于上一步所得最终阈值threshold,选取相似度序列Ω′中大于最终阈值threshold的位置作为镜头切变边界的位置,切变边界的集合hc(Ω′)为:
其中,l是相似度序列Ω′的长度,dm表示相似度序列Ω′上第m个值,m取值范围为[1,l],sig()是信号函数,当值dm大于或等于最终阈值threshold返回值为1,否则返回0,max()是求最大值函数。
对于步骤3-2所述的镜头渐变边界检测分两阶段:第一阶段是通过在相似度序列上寻找具有渐变特征的片段作为候选边界;第二阶段是渐变边界认证过程,通过与模板库中的标准渐变模型进行对比准确地筛选出渐变边界并确定其变化类型。
渐变特征:通过渐变模型分析与实验观察发现,渐变边界处视频帧之间的相似度值会发生剧烈波动,呈现某种特定的渐变特征,如:淡入淡出渐变边界处数据会整体呈现双峰波形趋势,消融渐变边界处数据呈现单峰波形趋势。
通过如下公式分析得到渐变边界特征:
g(t)=α(t)·g1(t)+β(t)·g2(t),0<t<T,
其中,g(t)为视频片段g1(t)和g2(t)通过控制函数混合而成的视频渐变分块,α(t)与β(t)均为控制函数,T是时间上镜头渐变边界的长度。此模型中,如果g1(t)或g2(t)有一个是纯色的片段,那么淡入淡出特效则可以看作是消融特效的一个特例,消融特效与淡入淡出特效同质的这种特性使得对它们的检测可以在统一的框架下进行。
α(t)为在时间上的递减函数,可以为简单的线性递减函数如:α(t)=-t,也可为复杂非线性的递减函数。β(t)为在时间上的递增函数,可以为简单的线性递减函数如:α(t)=t,也可为复杂非线性的递增函数。本发明具体实施采用了如图3的复杂的非线性控制函数α(t)与β(t)。可以看到α(t)在时间上递减,它的作用是将片段g1(t)的亮度从正常转换为黑色,而β(t)则是增函数,它的作用是将g2(t)的亮度从黑色转换成正常。则两个控制函数的导数的绝对值先从最小增到极值,然后再降到最小。这个过程在相似度序列上体现为控制函数刚作用到视频片段时,相邻视频帧的相似度值的差异较小,而当控制函数达到最快变化时差异也相应地最大,最后,控制函数的变化趋于平缓,差异也随着而变小。图4中可视化出淡入淡出渐变边界处的变化,可以看到淡入淡出呈现双峰波形,消融作为与淡入淡出同质的特效,呈现出单峰波形,这则是渐变边界的渐变特征。在相似度序列上寻找具有渐变特征的片段,即可找到候选渐变边界。
对于步骤3-1镜头渐变的识别具体细节过程如下:
步骤3-2-1,标准模板提取,首先用傅里叶函数拟合一组镜头渐变边界,得到统一的光滑曲线表示,消融为单峰波形,淡入淡出曲线是双峰波形,分为三类:左峰大右峰小、左峰大右峰小、两峰等高。对四类曲线进行标准化校准,分别对每类中所有曲线进行叠加平均的得到各自标准模板Fs(t),即三个标准的淡入淡出渐变边界模板和一个标准的消融模板;
步骤3a,对曲线的幅值进行归一化:将曲线的纵轴方向的值除以曲线上最大的纵轴方向值;
步骤3b,在所有曲线中,随机选取一个作为标准曲线,令点A,B,C分别表示淡入淡出标准曲线的左峰最高点,中间波谷最低点,右波峰最高点,令点P表示消融标准曲线的单峰最高点,其它曲线分别通过以下方法进行曲线校准:
其中,若A′,B′,C′分别表示淡入淡出某待校准曲线的左峰最高点,中间波谷最低点,右波峰最高点,当被校准曲线的坐标轴通过左右滑动找到(A,A′),(B,B′),(C,C′)这三对点的欧式距离之和最小的位置为校准。若P′表示消融曲线某待校准曲线单峰最高点。当被校准曲线的坐标轴通过左右滑动找到(P,P′)这对点欧式距离最小的位置为校准位置。
最后,对四类校准后的所有光滑曲线,分别对每类中所有曲线进行叠加平均的得到各自标准模板Fs(t)。因此最终得到三个标准的淡入淡出渐变边界模板(如附图5a,b和c所示),一个标准的消融模板(如图5d所示)。
步骤3-2-2,候选渐变边界检测,通过上述分析发现,渐变边界处视频帧之间的相似度值会发生剧烈波动,表现出波峰状态,候选边界检测可通过在相似度序列上寻找特定的波峰来完成。通过上述分析,本发明提出了一种基于逆序对计数的检测候选边界的方法。
确定一个候选边界需要在相似度序列Ω′上找到相邻的相似度值递增段和相似度值递减段。本发明使用长度为W滑动窗口在相似度序列上滑动,在实施中采用W=20,然后可以得到一组局部的相似度序列,
Um={dm,dm+1,...,dm+w-1},
d′m为在滑动窗口内相似度序列Ω′上第m个值,令和分别表示局部的相似度序列Um中逆序对和顺序对的个数,如果则判定局部的相似度序列Um为相似度值递减段,否则如果则判定局部的相似度序列Um为相似度值递增段,μ为可变常数,取值范围为0~10;将被滑动窗口包含的相似度序列上Ω′第a个和b个的值设定为da和db,若a>b,并且da<db则判定da与db为逆序对,反之若a<b,并且da<db则判定da与db为顺序对;换而言之,让和分别表示Um中逆序对和顺序对的个数。若a>b,并且da<db则da与db为逆序对,反之若a<b,并且da<db则da与db为顺序对。如果则Um为下行段,否则如果则Um为上行段,μ为可变常数,实施中μ=5时,获得最佳检测结果。为了排除不可能是候选边界的分块,本发明需要剔除变化较为缓慢的相似度值递增段和相似度值递减段,计算每组数据的方差,如果方差较小则直接作无效处理。一个分块如果由连续的相似度值递增段和相似度值递减段包围则可被认为是候选渐变边界。
步骤3-2-3,渐变边界识别,首先对候选渐变边界利用傅里叶函数拟合,得到候选渐变边界的曲线表示,然后采用步骤3-2-1标准化方法标准化曲线。至此,本发明可以得到候选渐变边界标准化之后的傅里叶函数表示F(t),通过候选渐变边界与标准渐变模型的差异程度来确认候选渐变边界是否为真正的渐变边界,候选渐变边界与标准渐变模型的差异函数Diff(F(t),Fs(t))表示如下:
其中,T为候选边界时间上的长度,t为自变量,取值范围[0,T],F(t)和Fs(t)分别是候选边界拟合得到的傅里叶函数与标准模板库中的渐变边界函数。如果差异函数所得值小于等于0.1T则认为匹配成功,即:候选渐变边界确定为渐变边界,并且渐变类型为匹配成功的标准模板的类型所属的类型。当多个标准渐变模型匹配成功时,选择差异程度最小的作为匹配边界,从而确定候选边界的类型。
本发明方法测试的视频数据集(包括电视新闻,文献记录片,音乐会录像(“Tears inHeaven”),两部完整电影(Titanic与Star Wars:Episode 1 The Phantom Menace),以及六段从电影数据中截取的切变片段,电影数据为1080p高清格式)的检测结果如下:表1中展示了本发明镜头切变边界检测的实验结果。本发明在四部电影中分别选取四个片段,共258个镜头,对于每个视频片段按照本文的自适应阈值计算阈值进行检测,召回率达到97.7%,精确度达到98.4%,高于当前切变检测的平均水平。
表1切变边界检测结果
表2展示了渐变边界的实验结果,由于音乐会视频的内容变化较为缓慢,镜头边界处很清晰,因而本文算法在此数据集上表现最为出色,而电影视频中,由于其部分内容较为剧烈,如汽车追逐、爆炸等场景等,本文算法在电影视频上引入了部分虚假镜头边界。但镜头渐变检测平均精确度可达80%以上,平均召回率可达89%以上。这样镜头渐变边界检测水平已处于世界领先水平。
表2本发明方法检测结果
本发明提出的一种基于自适应阈值和傅里叶函数拟合的镜头边界检测方法,其中的自适应阈值算法解决了直方图方法中选定阈值的困难,可以直接根据相似度序列自身计算出与其最符合的阈值。对于渐变边界检测,该发明通过分析其变化特征利用逆序对计数法找到候选镜头渐变边界,并用傅里叶函数拟合统一表示,然后与模板库中的标准渐变模型对比,从而完成检测和识别的任务。总之,本发明具有耗时低,速度快,适用性广,鲁棒性强,精度和召回率高等优点。
本发明提供的一种镜头边界检测方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。