基于五边形搜索及五帧背景对齐的动背景视频对象提取
技术领域:
本发明涉及一种视频分割中的处理方法,特别涉及一种基于中心偏置的五边形搜索及五帧背景对齐的动背景视频对象提取。
背景技术:
对于动态视频序列中运动对象的提取,由于摄像机产生的全局运动使得在静背景下的分割方法,如:帧差或者背景差分等方法不适用于动背景下的分割,即不能够准确地将运动对象提取出来,因此针对动背景下的分割问题必须首先消除摄像机运动所造成的全局运动的影响,通过全局运动估计和补偿技术,将问题转化成静背景下的分割问题,进而应用静背景下广泛的分割方法实现动背景下的准确、有效分割。
全局运动估计是指估计由摄像机运动引起的序列背景区域的运动规律,求解出相应数学运动模型中的多个参数。全局运动补偿是在根据运动估计所得到的全局运动参数,在当前帧和前一帧之间作一个相应的背景对齐的映射变换。这样在准确的补偿之后就可以采用帧差或背景差等方法消除背景区域,突出感兴趣的具有局部运动的前景区域(参见杨文明.时空融合的视频对象分割[D].浙江:浙江大学,2006)。
对于动背景下的运动对象分割问题,目前国际上已有相当多的学者做了大量的研究工作。如利用改进的分水岭方法将运动补偿后的视频帧分割成不同的灰度区域,通过光流计算得到序列的运动信息,最后,将运动信息和分割的区域按一定的准则综合得到对象模板,达到对视频对象的准确定位(参见张庆利.一种基于运动背景的视频对象分割方法.上海大学学报(自然科学版),2005,11(2):111-115.)。如建立四参数运动放射模型来描述全局运动,采用块匹配方法进行参数估计,结合Horn-Schunck方法检测出运动目标并应用卡尔曼滤波对运动目标的质心位置等信息进行跟踪,实现了动态场景中运动对象的检测与跟踪。(参见施家栋.动态场景中运动目标检测与跟踪.北京理工大学学报,2009,29(10):858-876.)。另一种采用非参数核密度估计的方法,首先采用匹配加权的全局运动估计补偿方法消除动态场景下背景运动的影响,然后估计各像素属于前景与背景的概率密度并结合形态学等方法进行处理,实现了动背景下运动对象的准确、有效分割。(参见马志强.一种动态场景下运动对象分割新方法.计算机工程与科学,2012,34(4):43-46.)。
为了解决动背景下的分割问题,本发明方法实现了一种采用宏块预判断、块匹配、摄像机六参数仿射模型、最小二乘法等全局运动估计及补偿方法,并通过五帧背景对齐结合边缘信息等实现动背景分割。实验证明,该方法实现了动背景视频序列中视频对象的提取,并且提取精度得到明显提高。
发明内容:
本发明要解决的技术问题是:如何减少块匹配的运算时间,如何实现动背景下视频对象的准确提取。
本发明解决其技术问题所采用的技术方案是:基于中心偏置的五边形搜索及五帧背景对齐的动背景视频对象提取,包括以下步骤:
(1)将第K-2帧、第K-1帧、参考帧K帧、第K+1帧与第K+2帧分别分成8×8宏块,根据纹理信息对该五帧中所有宏块进行预判断、筛选;
(2)对上述筛选后的宏块采用SAD准则、基于中心偏置的五边形搜索策略进行块匹配,分别以第K-2帧、第K-1帧、第K+1帧与第K+2帧作为当前帧,以第K帧作为参考帧,得到该四帧相对于参考帧K帧的运动矢量场,并通过最小二乘法计算全局运动参数,获得摄像机六参数模型;
(3)对第K-2帧进行运动补偿,使第K-2帧与第K帧背景对齐,得到重建帧K-2',按照同样的方法对第K-1帧、第K+1帧与第K+2帧进行运动补偿,使第K-1帧、第K+1帧及第K+2帧分别与第K帧背景对齐,并得到重建帧K-1'、重建帧K+1'及重建帧K+2';
(4)对重建帧K-2'、K-1'、K+1'、K+2'及参考帧K帧分别采用Prewitt算子提取边缘信息,并分别计算其相对于参考帧K边缘的帧差d1、d2、d3、d4,采用最大方差阈值方法进行二值化;
(5)分别对连续五帧前两帧和后两帧得到的帧差二值化结果进行与运算;对得到的与运算结果采用或运算及形态学、中值滤波等进行后处理,实现动背景下视频对象的快速有效分割。
所述步骤(1)中对于当前第K-2帧、第K-1帧、第K+1帧、第K+2帧与参考帧K帧中分成的8×8宏块进行预判断及筛选,具体步骤如下:
由于在下述步骤中应用最小二乘法计算全局运动参数的时候,很多误差大的宏块被直接删除,如果能够在最小二乘法运算之前将误差大的宏块剔除,将显著的提高运算速度,并降低运算量。而决定宏块误差大小、影响计算准确性的重要因素便是宏块的纹理信息,也就是梯度信息。本部分提出的宏块预判断及筛选的方法正是从宏块的梯度信息出发,根据设定的阈值对于宏块进行筛选抑或保留,当宏块的信息量小于该阈值时,对该宏块进行筛选,不作为下述步骤中参与块匹配的宏块;当信息量大于该阈值时,则对宏块进行保留,作为有效特征块参与进行下述的运动估计等运算。
其主要步骤如下:
第一步:将每一帧分成8×8子块,经试验证明,若采用分成16×16子块的形式则计算量过大,若分成4×4子块则块匹配等方法不够精确,故采用8×8子块的形式;
第二步:采用Sobel算子得到每一帧的梯度图,将梯度信息作为宏块剔除的判断依据;
其中表示该点的梯度信息,Gx、Gy分别表示偏导数。
第三步:计算每一个宏块的梯度量;以8×8子块为例,其梯度信息量为:
第四步:确定宏块预断的阈值,一般保留所有宏块的40%,根据这个确定的值,对所有宏块的梯度量进行排序,确定保留40%下宏块筛选的最佳阈值T;
第五步:完成对于宏块的筛选,若其梯度信息量>T,则对宏块进行保留,作为有效特征块参与进行下述的运动估计等运算;若其梯度信息量<T,对该宏块进行筛选,不作为下述步骤中参与块匹配的宏块。
所述步骤(2)中的分别以K-2帧、K-1帧、K+1帧、K+2帧作为当前帧,以K帧作为参考帧,对筛选后的宏块采用SAD准则、基于中心偏置的五边形搜索策略进行块匹配,并将块匹配求得的运动矢量场利用最小二乘法获得摄像机六参数模型,其具体步骤如下:
(i)块匹配准则SAD
本部分采用SAD块匹配准则,该准则不仅能够找到最佳匹配点,并且计算量小、耗时短。
其中(i,j)为位移量,fk和fk-1分别为当前帧和上一帧的灰度值,M×N为宏块的大小,若在某一点处SAD(i,j)达到最小,则该点为要找的最优匹配点。
(ii)基于中心偏置的五边形搜索策略
基于中心偏置的五边形运动估计,图2为该运动估计方法的流程图,图3和图4为搜索方法的说明图。
步骤Ⅰ:由相邻块预测当前块的分数像素运动矢量,获得FMVP,即(Pred_x,Pred_y)。直接以FMVP作为搜索起始点(0,0);
步骤Ⅱ:比较搜索起始点(0,0)周围的5个五边形搜索点(-2,0),(-1,-1),(1,-1),(2,0),(0,1)和(0,0)的匹配误差,如果最小匹配误差小于某一阈值,最佳匹配矢量作为最终分数像素运动矢量;如果最小匹配误差RMS位于(0,0),转到步骤Ⅳ;否则进行第Ⅲ步搜索;
步骤Ⅲ:如果最佳匹配点为(0,1),则选择此最佳匹配点为步骤Ⅳ的搜索起始点,转到步骤Ⅳ;否则以上一步得到的最佳匹配点为中心,比较周围4个小菱形点的匹配误差,得到最佳匹配点为下一步的搜索中心点,转到步骤Ⅳ;
步骤Ⅳ:比较中心点周围4个偏置菱形搜索点(-2,0),(-1,-1),(1,-1),(2,0)的匹配误差,如果最小匹配误差小于某一阈值,RMS最小的点作为最终分数像素运动矢量;否则转到步骤Ⅴ。
步骤Ⅴ:按照四种划分模式划分宏块,按照上述步骤重新进行匹配,直到得到最小的RMS的匹配块,RMS最小的点作为最终分数像素运动矢量。
(iii)最小二乘法获得摄像机六参数模型
选取步骤(i)中获取到的当前帧K-2帧、K-1帧、K+1帧、K+2帧中两侧子块作为特征块,将经过(i)(ii)步骤获得的运动矢量代入摄像机六参数模型(如下式)后,采用最小二乘法估计参数m0、m1、m2、n0、n1、n2。6参数仿射变换模型:可以对平移、旋转、缩放运动进行建模,其定义如下:
其中m0和n0分别表示像素点在x和y方向的平移幅度,m1、n1、m2、n2四个参数描述了缩放和旋转转动。
所述步骤(3)中的通过运动补偿分别获得当前帧K-2帧、K-1帧、K+1帧、K+2帧的重建帧K-2'、K-1'、K+1'、K+2',其具体内容如下:
对于当前帧K-2帧、K-1帧、K+1帧、K+2帧中的每一个点根据上述获取的摄像机模型,计算其分别在参考帧K中的对应位置并对其进行赋值,从而实现对于K-2帧、K-1帧、K+1帧、K+2帧的全局运动补偿,使补偿后的重建帧K-2'、K-1'、K+1'、K+2'与参考帧K的背景对齐,从而实现下述结合边缘信息、自适应最大方差阈值的基于中心偏置的五边形运动估计及五帧背景对齐的动背景下视频分割方法。
所述步骤(4)中的采用Prewitt算子提取边缘信息,并分别与参考帧K边缘进行差分,并采用最大方差阈值进行二值化,其具体步骤如下:
(i)Prewitt算子提取边缘信息,并与参考帧K边缘进行差分
边缘检测算子种类很多,这里选择Prewitt边缘检测算子对于重建帧K-2'、K-1'、K+1'、K+2'及参考帧K帧进行边缘特征提取。
Prewitt算子可以用模板卷积来实现:
fs(x,y)=|f(x,y)×Gx|+|f(x,y)×Gy|
其中:
应用Prewitt算子对于重建帧K-2'、K-1'、K+1'、K+2'及参考帧K帧分别提取边缘的结果为:fk-2′(x,y)、fk-1′(x,y)、fk+1′(x,y)、fk+2(x,y)及fk(x,y)。
对重建帧K-2'、K-1'、K+1'、K+2'分别与K帧的边缘进行图像差分运算,求得帧差d1、d2、d3、d4,其中:
帧差d1=|fk-2'(x,y)-fk(x,y)|,帧差d2=|fk-1'(x,y)-fk(x,y)|
帧差d3=|fk+1(x,y)-fk(x,y)|,帧差d4=|fk+2′(x,y)-fk(x,y)|
(ii)采用最大方差阈值进行二值化
最大方差阈值是一种自适应的阈值确定方法,它以最佳门限将图像的直方图分成两组,当两组间的方差为最大时,决定阈值。所以本部分采用这种方法来实现边缘图像差分结果的二值化。
设一幅图像的灰度值为0~m-1级,灰度值i的像素数为ni,则总的像素点数:各值的概率为:
设最佳阈值为T,用阈值T将像素分成两组:C0={0~T-1}和C1={T~m-1},C0和C1产生的概率及平均值有以下公式得出:
C0产生的概率
C1产生的概率
C0的平均值
C1的平均值
其中:
则全部采样的灰度平均值为:μ=w0μ0+w1μ1
两组间的方差:
在1~m-1之间求上式为最大值时的T,即为最佳阈值。
根据所得到的最佳阈值T对边缘检测结果进行二值化,二值化结果分别为OtusBuf1、OtusBuf2、OtusBuf3、OtusBuf4。
所述步骤(5)中对连续五帧前两帧和后两帧得到的帧差二值化结果分别进行与运算,并经过或运算及滤波等后处理。
对上述二值化结果OtusBuf1、OtusBuf2、OtusBuf3、OtusBuf4进行与运算,与运算的结果如下:
其中:DifferBuf(1)为五帧中前两帧K-2与K-1经过运动补偿等二值化的与运算的结果,DifferBuf(2)为五帧中后两帧K+1与K+2经过运动补偿等二值化的与运算的结果;OtusBuf1(i)、OtusBuf2(i)、OtusBuf3(i)、OtusBuf4(i)表示对帧差d1、d2、d3、d4分别进行二值化的结果。
对上述与运算结果进行或运算:
其中DifferBuf(i)为经过或运算的最终处理结果。
本发明与现有技术相比所具有的优点在于:本方法通过在块匹配方法前进行宏块的预先判断能够有效减少块匹配的时间,通过将连续五帧视频序列通过运动估计、运动补偿进行背景对齐及后续对五帧图像的处理,能够准确的将动背景下的视频对象分割出来。
附图说明:
图1为本发明基于中心偏置的五边形搜索及五帧背景对齐的动背景视频对象提取流程图;
图2为本发明基于中心偏置的五边形搜索及五帧背景对齐的动背景视频对象提取五边形搜索方法流程图;
图3为本发明一种新的多视点视频分形编码压缩与解压缩方法中基于中心偏置的五边形的两种搜索模板;
图4为本发明基于中心偏置的五边形搜索及五帧背景对齐的动背景视频对象提取五边形搜索示例图;
图5为本发明基于中心偏置的五边形搜索及五帧背景对齐的动背景视频对象提取Coastguard视频序列的第139帧采用本发明方法补偿后的视频对象提取结果;其中(a)表示Coastguard视频序列的第137帧;(b)表示Coastguard视频序列的第138帧;(c)表示Coastguard视频序列的第139帧;(d)表示Coastguard视频序列的第140帧;(e)表示Coastguard视频序列的第141帧;(f)表示Coastguard视频序列的第137帧预处理的结果;(g)表示Coastguard视频序列的第138帧预处理的结果;(h)表示Coastguard视频序列的第139帧预处理的结果;(i)表示Coastguard视频序列的第140帧预处理的结果;(j)表示Coastguard视频序列的第141帧预处理的结果;(k)表示Coastguard视频序列的第137帧的重建帧经过Prewitt边缘检测的处理结果;(l)表示Coastguard视频序列的第138帧经过Prewitt边缘检测的处理结果;(m)表示Coastguard视频序列的第139帧的重建帧经过Prewitt边缘检测的处理结果;(n)表示Coastguard视频序列的第140帧的重建帧经过Prewitt边缘检测的处理结果;(o)表示Coastguard视频序列的第141帧的重建帧经过Prewitt边缘检测的处理结果;(p)表示Coastguard视频序列的第139帧采用本发明方法经过运动估计、补偿的五帧背景对齐方法后提取的二值视频对象平面;(q)表示Coastguard视频序列的第139帧采用本发明方法经过运动估计、补偿的五帧背景对齐方法后提取的视频对象平面。
具体实施方式:
下面结合附图及具体实施方式进一步详细介绍本发明。
本发明基于中心偏置的五边形搜索及五帧背景对齐的动背景视频对象提取,包括以下步骤(如图1所示):
步骤1.灰度变换及形态学预处理。
首先将YUV格式的视频序列做灰度变换,由于Y分量包含灰度信息,因此将Y分量从视频序列中提取出来。由于视频中不可避免的会出现噪声的干扰,因此对每帧图像进行形态学开闭重建,消除噪声,平滑掉一些细小的边缘以简化图像。预处理的结果可参见图5(f)(g)(h)(i)(j)。
步骤2.将第K-2帧、第K-1帧、参考帧K帧、第K+1帧与第K+2帧分成8×8宏块,根据纹理信息对第K-2帧、第K-1帧、参考帧K帧、第K+1帧与第K+2帧中所有宏块进行预判断、筛选。
由于在下述步骤中应用最小二乘法计算全局运动参数的时候,很多误差大的宏块被直接删除,如果能够在最小二乘法运算之前将误差大的宏块剔除,将显著的提高运算速度,并降低运算量。而决定宏块误差大小、影响计算准确性的重要因素便是宏块的纹理信息,也就是梯度信息。本部分提出的宏块预判断及筛选的方法正是从宏块的梯度信息出发,根据设定的阈值对于宏块进行筛选抑或保留,当宏块的信息量小于该阈值时,对该宏块进行筛选,不作为下述步骤中参与块匹配的宏块;当信息量大于该阈值时,则对宏块进行保留,作为有效特征块参与进行下述的运动估计等运算。
其主要步骤如下:
第一步:将每一帧分成8×8子块,经试验证明,若采用分成16×16子块的形式则计算量过大,若分成4×4子块则块匹配等方法不够精确,故采用8×8子块的形式;
第二步:采用Sobel算子得到每一帧的梯度图,将梯度信息作为宏块剔除的判断依据;
其中表示该点的梯度信息,Gx、Gy分别表示偏导数。
第三步:计算每一个宏块的梯度量;以8×8子块为例,其梯度信息量为:
第四步:确定宏块预断的阈值,一般保留所有宏块的40%,根据这个确定的值,对所有宏块的梯度量进行排序,确定保留40%下宏块筛选的最佳阈值T;
第五步:完成对于宏块的筛选,若其梯度信息量>T,则对宏块进行保留,作为有效特征块参与进行下述的运动估计等运算;若其梯度信息量<T,对该宏块进行筛选,不作为下述步骤中参与块匹配的宏块。
步骤3.对上述筛选后的宏块采用SAD准则、基于中心偏置的五边形搜索策略进行块匹配,以第K-2帧、第K-1帧、第K+1帧与第K+2帧分别作为当前帧,以第K帧作为参考帧,得到该四帧相对于参考帧K帧的运动矢量场,并通过最小二乘法计算全局运动参数,获得摄像机六参数模型。
目前常用的块匹配准则有:平均绝对误差MAD(Mean Absolute Difference)、最小均方误差MSE(Mean Square Error)、最小绝对差SAD(Sum ofAbsolute)。
本部分采用SAD块匹配准则,该准则不仅能够找到最佳匹配点,并且计算量小、耗时短。
其中(i,j)为位移量,fk和fk-1分别为当前帧和上一帧的灰度值,M×N为宏块的大小,若在某一点处SAD(i,j)达到最小,则该点为要找的最优匹配点。
基于中心偏置的五边形搜索具体步骤如下:
步骤Ⅰ:由相邻块预测当前块的分数像素运动矢量,获得FMVP,即(Pred_x,Pred_y)。直接以FMVP作为搜索起始点(0,0);
步骤Ⅱ:比较搜索起始点(0,0)周围的5个五边形搜索点(-2,0),(-1,-1),(1,-1),(2,0),(0,1)和(0,0)的匹配误差,如果最小匹配误差小于某一阈值,最佳匹配矢量作为最终分数像素运动矢量;如果最小匹配误差RMS位于(0,0),转到步骤Ⅳ;否则进行第Ⅲ步搜索;
步骤Ⅲ:如果最佳匹配点为(0,1),则选择此最佳匹配点为步骤Ⅳ的搜索起始点,转到步骤Ⅳ;否则以上一步得到的最佳匹配点为中心,比较周围4个小菱形点的匹配误差,得到最佳匹配点为下一步的搜索中心点,转到步骤Ⅳ;
步骤Ⅳ:比较中心点周围4个偏置菱形搜索点(-2,0),(-1,-1),(1,-1),(2,0)的匹配误差,如果最小匹配误差小于某一阈值,RMS最小的点作为最终分数像素运动矢量;否则转到步骤Ⅴ。
步骤Ⅴ:按照四种划分模式划分宏块,按照上述步骤重新进行匹配,直到得到最小的RMS的匹配块,RMS最小的点作为最终分数像素运动矢量。
分别将第K-2帧、第K-1帧、第K+1帧与第K+2帧中筛选后的宏块和参考帧K按照上述SAD准则及基于中心偏置的五边形搜索策略进行块匹配,获得当前帧K-2相对于参考帧K的运动矢量场,当前帧K-1相对于参考帧K的运动矢量场,当前帧K+1相对于参考帧K的运动矢量场以及当前帧K+2相对于参考帧K的运动矢量场。
步骤4.根据最小二乘法求摄像机运动参数。
选取步骤2中获取到的当前帧K-2帧、K-1帧、K+1帧、K+2帧中两侧子块作为特征块,将经过块匹配、运动估计获得的运动矢量代入摄像机六参数模型(如下式)后,采用最小二乘法估计参数m0、m1、m2、n0、n1、n2。6参数仿射变换模型:可以对平移、旋转、缩放运动进行建模,其定义如下:
其中m0和n0分别表示像素点在x和y方向的平移幅度,m1、n1、m2、n2四个参数描述了缩放和旋转转动。
步骤5.通过运动补偿分别获得当前帧K-2帧、K-1帧、K+1帧、K+2帧的重建帧K-2'、K-1'、K+1'、K+2'。
对于当前帧K-2帧、K-1帧、K+1帧、K+2帧中的每一个点根据上述获取的摄像机模型,计算其分别在参考帧K中的对应位置并对其进行赋值,从而实现对于K-2帧、K-1帧、K+1帧、K+2帧的全局运动补偿,使补偿后的重建帧K-2'、K-1'、K+1'、K+2'与参考帧K的背景对齐,从而实现下述结合边缘信息、自适应阈值的基于中心偏置的五边形运动估计及五帧背景对齐的动背景下视频分割方法。
步骤6.采用Prewitt算子提取边缘信息,分别与参考帧K边缘进行差分,并采用最大方差阈值进行二值化。
边缘检测算子种类很多,这里选择Prewitt边缘检测算子对于重建帧K-2'、K-1'、K+1'、K+2'及参考帧K帧进行边缘特征提取。
Prewitt算子可以用模板卷积来实现:
fs(x,y)=|f(x,y)×Gx|+|f(x,y)×Gy|
其中:
应用Prewitt算子对于重建帧K-2'、K-1'、K+1'、K+2'及参考帧K帧分别提取边缘的结果为:fk-2′(x,y)、fk-1′(x,y)、fk+1′(x,y)、fk+2(x,y)及fk(x,y),结果可参见图5(k)(l)(m)(n)(o)。
对重建帧K-2'、K-1'、K+1'、K+2'分别与K帧的边缘进行图像差分运算,求得帧差d1、d2、d3、d4,其中:
帧差d1=|fk-2(x,y)-fk(x,y)|,帧差d2=|fk-1′(x,y)-fk(x,y)|
帧差d3=|fk+1′(x,y)-fk(x,y)|,帧差d4=|fk+2′(x,y)-fk(x,y)|
最大方差阈值是一种自适应的阈值确定方法,它以最佳门限将图像的直方图分成两组,当两组间的方差为最大时,决定阈值。所以本部分采用这种方法来实现边缘图像差分结果的二值化。
设一幅图像的灰度值为0~m-1级,灰度值i的像素数为ni,则总的像素点数:
各值的概率为:
设最佳阈值为T,用阈值T将像素分成两组:C0={0~T-1}和C1={T~m-1},C0和C1产生的概率及平均值有一下公式得出:
C0产生的概率
C1产生的概率
C0的平均值
C1的平均值
其中:
则全部采样的灰度平均值为:μ=w0μ0+w1μ1
两组间的方差:
在1~m-1之间求上式为最大值时的T,即为最佳阈值。
根据所得到的最佳阈值T对帧差d1、d2、d3、d4分别进行二值化,二值化的结果分别为OtusBuf1、OtusBuf2、OtusBuf3、OtusBuf4。
步骤7.与运算及后处理。
对上述二值化结果OtusBuf1、OtusBuf2、OtusBuf3、OtusBuf4进行与运算,与运算的结果如下:
其中:DifferBuf(1)为五帧中前两帧K-2与K-1经过运动补偿等二值化的与运算的结果,DifferBuf(2)为五帧中后两帧K+1与K+2经过运动补偿等二值化的与运算的结果;OtusBuf1(i)、OtusBuf2(i)、OtusBuf3(i)、OtusBuf4(i)表示对帧差d1、d2、d3、d4分别进行二值化的结果。
对上述与运算结果再进行或运算:
其中DifferBuf(i)为经过或运算的最终处理结果。
由于视频序列中不可避免的会有噪声的干扰,因此在与运算后还要进行一些后处理工作,以去除孤立的小区域、小间隙,后处理的结果见图5(p)。为此,本部分首先采用中值滤波的方法去掉一些干扰的噪声,再采用图像形态学方法,主要包括腐蚀及膨胀运算,不但可以去除噪声并且可以起到平滑图像的作用。腐蚀运算主要消除边界点,使边界向内部收缩,而膨胀运算则将与物体接触的所有背景点合并到该物体中,使边界向外扩张。