发明内容
本发明的目的是针对现有可变监控场景的视频监视系统,存在无法生成视频摘要,从而使监控人员无法快速了解海量视频数据基本内容的问题,提出一种基于多维特征向量的关键帧提取算法。
为了实现发明目的,采用的技术方案如下:
基于多维特征向量的关键帧提取算法的基本流程如图1所示。首先对输入的视频数据进行基于灰度直方图滑动窗口的关键帧初检并输出检测后的备选关键帧序列,然后对该序列进行基于高频信息检测的光照干扰检测,排除光照干扰帧,并输出过滤后的备选干扰帧,最后对备选干扰帧进行基于颜色特征的伪聚类关键帧提取并最终输出关键帧结果。以下分别具体说明。
1、基于灰度直方图滑动窗口的关键帧初检:首先,对本专利中用到的灰度图进行定,RGB彩色帧图像按如下方式转换成灰度图,令Ik为视频序列的第k帧图像,Pr(x,y)、Pg(x,y)、Pb(x,y)分别表示Ik在(x,y)像素点处的RGB像素值,Pgray(x,y)为Ik按下式转换后的灰度图。
Pgray=(Pr×30+Pg×59+Pb×11+50)/100
将图像转换为灰度图后,再对本专利中用到的灰度统计直方图做如下定义:
若Pgray(x,y)表示灰度图像中的像素集,则灰度统计直方图H(b)表示为:
H(b)=nbb=0,1,…255
得到帧图像对应的灰度统计直方图后,在基于灰度直方图滑动窗口的关键帧初检算法中,按下式利用相关法对得到的帧间灰度直方图进行对比。
其中Hk(i)视频帧序列Ik中第k帧的灰度统计直方图,则第k帧和第k+1帧的相关差表示为:d(Hk,Hk+1)。
根据以上假设条件,本专利中所描述的滑动窗口算法可以描述如下:滑动窗口法是以一定的概率统计理论为基础,通过对历史信息的分布统计计算,从而对当前分布的未来发展进行预测的一种算法。现以关键帧初检测中的灰度直方图相关差的分布为例进行说明。本专利中认为灰度直方图的相关差在一定程度上反应了图像内容的变化趋势,图像内容的变化被分割为图像镜头内的变化和图像镜头外的变化,图像镜头通过语义的概念进行定义:令一个视频镜头所反应的图像内容为其视频内容不发生变化的图像帧序列;当图像所描述的状态内容发生了变化时,称之为镜头迁变。一般情况下可认为视频镜头内的图像帧内容变化服从高斯分布,即镜头内帧图像间的直方图相关差的变化服从高斯分布,而且镜头迁变时的灰度直方图相关差违背高斯分布。若假设滑动窗口在大小为L,向滑动窗口输入相关差,对于任意d(Hk,Hk+1)有:将此值输入滑动窗口,若此值依然服务滑动窗口中的高斯分布,则更新滑动窗口的高斯分布,并将此帧列为备选关键帧;若此值打破了滑动窗口的高斯分布,更新滑动窗口,直至内容稳定,则继续输出备选关键帧序列。
2、基于高频信息检测的光照干扰检测,通过关键帧初检,得到的备选关键帧中有很多球机运动时的过渡帧和光照干扰帧,这些帧的特征都是图像模糊不清,无法表达图像的基本信息,因此本单元利用光照使得图像中高频信息丢失的原则来实现对备选关键帧的过滤检测,为了降低算法的运算复杂度,专利中利用图像的一阶梯度图来间接的反应图像的高低频信息,具体描述如下:
算法中利用Sobel算子与图像做卷积的方法来求图像的一阶梯度图。由于Sobel算子结合了高斯平滑和微分,因此它对图像的噪声有一定的鲁棒性。Sobel算子有两种,分别利用水平方向的Sobel算子h1和垂直方向的Sobel算子h2所为卷积核对图像进行卷积运算,从而求得图像的梯度图。
在算法中首先对图像做水平方向的卷积运算,之后再做垂直方向的卷积运算,最后可以得到梯度图像。在求得图像的梯度图后,对梯度图进行直方图的统计,算法中对于梯度统计直方图的处理包括两个部分,去除低频分量;累计高频分量。设高低频分量间的区分线为Tfrequency,P(i,j)代表着梯度图中(i,j)位置的像素值,则利用下式对梯度图进行二值化。
之后统计二值图非零元的个数C即为图像的高频量。若对于阈值T满足C<T,则认为当前图像为受干扰图,将它从备选帧序列中删除。
3、基于颜色特征的伪聚类关键帧提取,通过对备选关键帧的过滤,剩下的待选帧序列基本能够反应待处理视频的所有有意义内容,但在第一步中尽管通过灰度直方图的信息对视频内容进行了大致归类,尽管灰度直方图能够较好的将小运动图像归为一类,但由于灰度直方图对图像颜色信息变化较为迟钝,因此这些精分类极有可能把事实上的几类归为了一类。在本专利中,利用图像的颜色信息对备选关键帧序列进行最后的伪聚类划分,并提取伪聚类的聚类中心作为关键帧输出。
为了更好的反应出图像的颜色信息,本专利中将备选关键帧图像按下式规则从RGB颜色空间转换到HSV颜色空间。
V=Max(R,G,B)
其中
本专利中将色度H分量均分为16个区间,在每个区间下将饱和度S分量均分为8个区间,进行二维直方图的统计。设Hi(h,s)为第i帧图像的H分量S分量的颜色统计直方图,则有:
Hi(h,s)=nh,sh∈[0,180],s∈[0,255]
为了计算方便,将H分量标定在0到180之间,将S分量标定在0到255之间。
为了突出色彩间的差异,算法使用二维卡方的方法进行直方图间的匹配和对比[40],则第k帧和第1帧间的卡方差值表示如下:
其中代表了直方图元素偏离直方图均值的程度。当相关度d越大,则表明直方图越匹配,否则表示不匹配。
利用颜色特征的伪聚类算法的具体流程如附图书4所示。图中k是备选帧序列的索引位置,聚类是以备选帧序列为基础,而不是帧图像在视频中的帧号,设startFrm为聚类起始帧,endFrm为聚类结束帧,keyFrm为关键帧,它同样是指在备选帧序列中的位置,最后关键帧在原视频中的帧号保存在备选帧序列结构体中。
具体实施方式
1、基于灰度直方图滑动窗口的关键帧初检
滑动窗口自适应阈值计算流程见流程图2,结合附图,具体流程解释如下:
设滑动窗口的长度为1en,第k帧和第k+1间的灰度直方图差值为d(k,k+1),则滑动窗口内差值的均值为:
标准差为:
所以特征差若要服从滑动窗口的向斯分布,则滑动窗口的下一帧差必须满足式下式,否则认为该帧所包含的内容已经与滑动窗口所描述的内容不相符。
d(k-1,k)<avgk-len,k+devk-len,k
以上分析均为理想状态的情况,对于普遍情况在基于滑动窗口的自适应阈值方法上加入了波动幅度的微调因子T,改动后的判别式如下。
d(k-1,k)<avgk-len,k+T×devk-len,k
关键帧初检的算法流程图如附图3,结合附图,具体流程说明如下:
获取第k帧图像,提取其灰度统计直方图;
若k帧为初始帧,则k++,返回第一步,否则继续;
计算k-1与k帧间的灰度直方图相关差d;
利用滑动窗口法获取自适应阈值Td,
若Td>d,则将此帧归为当前视频镜头序列,以备选关键帧输出;
检查是否到达视频结尾,若是则结束算法;
更新滑动窗口,k++,跳入第一步。
2、基于高频信息检测的光照干扰检测。
算法基本流程为:
第一,求得图像的梯度图;
第二,利用梯度图求得图像的高频量C;
第三,若C大于阈值T则认为图像是受干扰图,否则结束。
3、基于颜色特征的伪聚类关键帧提取。
关键帧复检的流程图见附图4,结合附图具体流程解释如下:
第一,默认k=1帧为startFrm。
第二,查找在颜色特征上与它相似的所有帧序列,直到发现第n帧与滑动窗口计算出的阈值不符,关于滑动窗口自适应阈值计算见上,令endFrm=n。
第三,令起自startFrm,止于endFrm为一个聚类,并取聚类中心元素作为此聚类的关键帧。
第四,检查k是否指向备选帧序列的末尾,如果不是,则令startFrm=endFrm,让k加1后转向第二步;否则结束算法输出关键帧的结果。
利用伪聚类的算法,可以有效的过滤备选帧序列中残余的运动干扰分量,镜头间的编辑帧。