第10期 夏伟才等:一种基于卡尔曼滤波的背景更新算法!135!
甚至是最有用的。其广泛应用已经超过30年,包括机器人导航、控制、传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别、图像分割、图像边缘检测[1]、目标跟踪
[2,3]
图1 时域递归低通滤波原理图来。其时域递归低通滤波器表示为:
B(i,j,k+1)=B(i,j,k)+g(k)*(I(i,j,k)-B(i,j,k))
(1)(2)
=exp(-pow(Th-avg1)/ 21)/ =exp(-pow(Th-avg2)/ 22)/
1
(3)
2
(4)
其中,B(i,j,k)是当前背景图像,B(i,j,k+1)是后续背景图像,I(i,j,k)表示k帧时,i,j位置输入图像的特征,M(i,j,k)是当前运动目标轮廓二值化图像, 是背景因子, 是运动因子,Th是阈值,avg1是差影图像的均值,avg2是当前帧图像的均值。M(i,j,k)为:如果|I(i,j,k)-B(i,j,k)|>Th,则M(i,j,k)=1;否则M(i,j,k)=0。 1、 2是相应图像的标准方差。
根据Kalman滤波理论的框架,这个公式可以解释为一种背景的递归预测,它通过一个预测值和一个相关项来算出新的背景估计。这种背景预测的前提必须是运动目标要比背景的相对变化要快得多。常量 和 决定了背景提取过程的自适应特征,它们的取值介于0和1之间,必须足够小,以便运动物体能够从背景序列中有效地分离出来。但是如果值取得太小,第一次初始化的起始时间会变得很长,并且目标轮廓的噪声干扰会随时间的变长而增大,同时为了使算法运行正常, 的取值必须大于 ,典型的 的取值要大于取值的一个数量级。如果 值选取得太小,系统会失去自适应特性,反之,如果 取值近似于1,那么越来越多的快速变化会转化到背景图像序列上,而且这种算法减小噪声的特性就会失去。由于在实际的运用中,要考虑时间因素,所以 及 的取值往往不用式(3)和(4)严格计算,往往取一些合适的经验值。如文中就取 =0.055, =0.1。此外,由于背景预测模型的初始背景条件往往是未知的,但是可以通过图像传感器获得。因此,当k=0时,取I(i,j,k)=B(i,j,k),即M(i,j,k)=0。式中M(i,j,k)是运动目标轮廓的二值化表示形式,,j,g(k)= *(1-M(i,j,k))+ *M(i,j,k)
等等。
在这一部分,描述源于DrKalman的卡尔曼滤波器。同时,会涉及一些基本的概念知识,包括概率(Probability)、随机变量(RandomVariable)、高斯或正态分配(GaussianDistribution)还有State-spaceModel等等。但对于卡尔曼滤波器的详细证明,这里不能一一描述。
首先,要引入一个离散控制过程的系统。该系统可用一个线性随机微分方程(LinearStochasticDiffer enceequation)来描述:
X(k)=AX(k-1)+BU(k)+W(k)再加上系统的测量值:Z(k)=HX(k)+V(k)
上两式子中,X(k)是k时刻的系统状态,U(k)是k时刻对系统的控制量。A和B是系统参数,对于多模型系统,它们为矩阵。Z(k)是k时刻的测量值,H是测量系统的参数,对于多测量系统,H为矩阵。W(k)和V(k)分别表示过程和测量的噪声。它们被假设成高斯白噪声(WhiteGaussianNoise),它们的covariance分别是Q,R(这里假设它们不随系统状态变化而变化)。
对于满足上面的条件(线性随机微分系统,过程和测量都是高斯白噪声),卡尔曼滤波器是最优的信息处理器。文中,认为背景是一种稳态的系统,其中的一些前景图像认为是噪声,采用Kalman滤波方法进行背景更新,以下是文中算法的详细介绍。2.2 文中算法步骤
用基于Kalman滤波理论的时域递归低通滤波来预测缓变的背景图像也可以看作是一种基于运动检测的多帧降噪方法[4],其原理如图1所示。利用Kalman滤波器的记忆特性,对一定时间长度的视频图像信息进行加权平均从而获得与实际背景图像近似的初始背景,同时达到了滤除颗粒噪声、消除摄像机抖动不良效果的目的,为下一步提取我们感兴趣的运动目标创造了有利条件,而且获得的初始背景的质量不依赖起始时间。背景的平均次数依实验确定,背景随光线的变化自适应更新能力较强。
当图像序列通过这个时域低通滤波器时,图像序
! 136 ! 计算机技术与发展 第17卷
中没有目标出现,目标轮廓的所有像素值为零。背景估计算法流程图如图2
所示。
背景),b为100帧后的前景图像,c为遗忘因子方法更新背景在100帧后的结果,d为文中算法更新背景在
100帧后的结果。从图中可以看出,遗忘因子更新背景方法的处理结果中,前景车辆的影响比较大,如图3c中左边第一条车道比实际车道颜色要深;而文中算法中,得到的更新效果很好,如图3d中所示。
图2 背景估计算法流程图
随着时间推移背景会发生变化,如光照变化、背景物体移入移出等,背景必须加以更新以反映这些变化。背景更新算法采用文献[5]提出的时域递归低通滤波器获取背景更新时的背景图像,其时域递归低通滤波器表达式重写如下:
B^(i,j,k+1)=B(i,j,k)+g(k)*[I(i,j,k)-B(i,j,k)]
g(k)=
*M(i,j,k)+
(6)
*[1-M(i,j,k)]
(5)
4 总 结
采用Kalman滤波的方法来更新背景,应用于基于视频的交通监控系统中,能够很好地去除前景车辆影响,并能够随着天气、光线等的变化,实时更新背景,并且,算法实时性高,能够很好地在实际使用中提供背景,实现交通参数信息的实时监测。
其中,i,j代表一个像素点的坐标,k为帧号,g(k)是适当的增益因子,M(i,j,k)是运动目标轮廓的二值化表示形式,B(i,j,k)表示k帧时,i,j位置的背景特征,I(i,j,k)表示k帧时,i,j位置输入图像的特征。在实际用式(5)、(6)更新背景时,考虑到算法的实时性而将运动因子 和背景因子 设为某一固定的经验值;同时在背景中的物体移动后较快地恢复背景和在场景的光照发生变化时视频背景图像较快地自适应变化。在确保不影响运动目标的检测的前提下将 的值取得偏大。另外,获取M(i,j,k)时所取阈值须动态确定,这样的背景更新算法的动态性才较好,以避免将真实运动目标融入背景而导致漏检、漏报警。
图3 背景更新效果比较
参考文献:
[1] 鲍占阔,杨玉珍,陈阳舟.基于计算机视频的交通流参数检
测[J].交通与计算机,2006,24(3):36-39.
[2] StaufferC,GrimsonW.Adaptivebackgroundmixturemodels
forrealtimetracking[C] ProceedingsoftheIEEECSCon
3 实验结果比较
利用文中的算法进行背景更新,并与遗忘因子背景更新方法得到的结果进行比较。如图3所示:a为(下转第)