作者简介:孙挺(1972-),男,副教授,博士.研究方向:智能信息处理,科学可视化.E-mail:20011026@zknu.edu.cn
针对运动目标检测领域中帧间差分法和背景差分法的缺陷,提出一种将两种方法融合在一起的新算法。首先,该算法在采用混合高斯建立背景模型时对方差更新作了修改,使得模型与真实背景更接近。其次,用连续三帧差分代替两帧差分,采取自适应差分阈值的方法。最后,将两种差分的结果融合并作形态学处理提取目标。实验结果表明,本文算法能有效抑制噪声和空洞,适应性强、检测效果良好。
In order to overcome the defects of frame difference and background subtraction algorithms in moving object detection, a new method that integrates the two algorithms is proposed. First, when the Gaussian mixture model is employed to build the background model, the update of the variance is modified, so the model is more close to the real background. Then, two consecutive frame differencing is replaced by three consecutive frame differencing, and the differencing threshold is adaptive. Finally, the results of the two differences are integrated and the target is extracted after morphological process. Experimental results show that the method can effectively suppress noise and the "hole", the method is more adaptable and has good detection results.
运动目标检测算法包括背景差分法[1, 2]、帧间差分法[3, 4]和光流法[5, 6]等。光流法算法复杂、需要特殊的硬件支持、实时性较差。背景差分法是将当前帧与背景模型进行差分操作来实现对运动目标的检测, 该算法准确性高、易于实现、检测速度快, 但是由于实际场景的复杂多变, 而且存在着各种噪声和干扰, 造成背景建模和模拟的难度增加。文献[7]提出用混合高斯模型(Gaussian mixture model, GMM)建立背景, 有效解决了背景的干扰问题, 文献[8]在GMM算法的基础上, 利用支持向量机对前景像素作进一步判断, 减少了复杂环境下检测的错误率。帧间差分法是将相邻连续两帧或者三帧图像进行差分来获得运动目标轮廓, 该算法时间复杂度较低, 因此是运动目标检测中使用较多的一种算法, 但当较大的噪声出现在视频图像序列中时, 该算法的性能会明显下降, 检测错误率增加, 且该方法对噪声的变化比较敏感, 而且要求目标的运动速度不能过快。当目标表面灰度大面积均匀时, 会产生空洞现象, 使目标被分割成多个区域。文献[9]提出一种结合光流法与三帧差分法的运动目标检测算法, 选择图像中具有代表性的Harris角点像素计算光流信息, 简化了光流的计算, 引入三帧差分法作为简化光流法的补充, 但光流算法较复杂。文献[10]提出基于背景建模与帧间差分的目标检测改进算法, 能改善混合高斯背景差分法中高斯背景建模产生的鬼影, 以及帧间差分法的前景检测结果中出现的严重拖影和空洞现象, 并且在背景突变的情况下也能进行有效检测, 但是对过于复杂的运动情况的检测还不是很理想。
背景差分法和帧间差分法运用较为广泛, 但是其优缺点都比较突出, 使用单一的背景差分或帧间差分法的检测效果并不好。因此, 本文将背景差分法与帧间差分法结合起来, 对背景模型中方差的更新作了改进, 用连续三帧差分代替两帧差分, 并使用自适应的阈值。通过上述步骤, 本文算法能较好地检测运动目标并具有较强的鲁棒性。
背景差分的关键在于背景建模, 基于高斯混合模型的背景建模是现在常用的算法。单一分布的高斯模型能较好地适用于室内场景; 但是在环境变化较复杂的室外, 单高斯分布[11]的模型会出现较大偏差, 容易将晃动的树叶、喷泉等背景误认为前景。因此, 本文采用混合高斯模型算法[12]来进行背景建模, 能较好地处理背景混乱和光线突然变化等干扰。
图像中某像素点p(x0,y0 ),假设它在1~t时刻的像素值为(xl,…xi,…xt )。对这些像素值使用k个高斯分布来进行描述,则xt 的概率密度函数由k个高斯分布的加权混合表示如下[13]:
式中:
当t+1时刻的观测点到来时,将xt+1分别与k个高斯分布的均值ut,i做比较。并按某一判断规则选择匹配的高斯分布。这个规则为:
式中:
与
式中:α为高斯分布权值的更新速率(又叫用户定义的学习率),其取值范围为α∈[0,1];ρ为参数的更新速率(又叫参数学习率)。
对于没有匹配的高斯分布, 其均值、方差均保持不变。
对于匹配的第
为提高背景模型的可靠程度, 将权重进行归一化处理, 即
在灰度图像中, 每个像素的值为[0, 255], 较暗区域处的像素值只能为0, 较亮区域处的像素值只能为255。而式(5)描述的
背景差分法是将当前帧与背景模型进行差分操作来实现对运动目标的检测。在建立好背景模型
当背景建模完成后, 可按式(9)和式(10)进行背景差分, 得到背景差分后的二值图像Zk(x, y)。
式中:Dk (x,y)是背景差分图像;Zk (x,y)是二值图像;T2为分割阈值。
若帧间差分图像中的某点的像素值小于阈值T2,则认为该点是静止的,该点被判为背景点;若大于阈值T2,则认为该点是运动的, 该点被判为目标点。
帧间差分法是将相邻连续两帧或者三帧图像进行差分来获得运动目标轮廓。差分公式如下:
式中:Pk (x,y)是帧间差分图像;Rk (x,y)是二值图像;T3为分割阈值。
若帧间差分图像中的某点的像素值小于阈值T3, 则认为该点是静止的, 该点被判为背景点; 若大于阈值T3, 则认为该点是运动的, 该点被判为目标点。
用连续两帧进行差分, 可能存在以下缺点:①检测出的目标包含两帧中变化的信息, 存在较多的目标点, 检侧出来的目标比实际目标范围要大, 甚至出现“ 双影” 现象; ②连续两帧相减导致两帧中目标重叠的部分被减掉, 从而检测不出来此部分, 造成空洞。而连续三帧差分法, 先将连续三帧中前后两帧分别差分, 从重合的部分中提取目标轮廓。比连续两帧差分法有明显改进, 其算法步骤如下:
步骤1 读取连续三帧图像
步骤2 将得到的
在此方法中, 帧间差分阈值T3的选取很关键, 传统的方法是根据不同的视频、不同的背景、不同的运动目标选取不同的阈值。因为每个视频都要选取阈值, 当背景发生变化或者目标发生变化时, 固定的阈值可能就不再适用, 带来的结果就是检测的准确率下降。本文采用自适应阈值的方法来解决此问题, 该方法可按一定的方式自动选取阈值, 并根据场景的变化不断变化。阈值的提取公式如下:
在得到背景差分后的二值图像Zk(x,y)和帧间差分后的二值图像Rk(x,y)后,可按下式进行运动目标的提取:
由于此方法结合了背景差分法和帧间差分法, 因此具有上述两种方法的优点, 形成互补。
对
式中:
本文基于帧间差分法和背景差分法的运动目标检测算法流程如图1所示。
为验证本文算法的检测结果, 在Matlab上进行了仿真实验。高斯混合模型的参数
实验1为室外某男子的检测结果对比, 如图2所示。可以看出, 帧间差分法由于连续两帧相减, 造成检测结果里缺少很大部分真实目标。由于本视频拍摄的光线变化较少, 背景比较固定, 背景差分法的检测效果较好, 但是仍有少量空洞存在。本文算法结合了背景差分法和帧间差分法的优点, 再加入形态学滤波, 能有效抑制空洞, 检测效果较好。
实验2为室外高速公路上的车辆检测结果对比, 如图3所示。可以看出, 帧间差分由于连续两帧相减, 造成检测结果里缺少部分真实目标。由于本视频拍摄环境较复杂, 背景模型变化较大, 导致传统背景差分法的检测效果不佳, 有大量噪声存在。本文算法将帧间差分与背景差分结合, 并对背景模型的更新做出修改, 使得背景模型更接近真实状态, 对于光线变化处理得很好, 有效避免了由于光线突变导致的检测误差。
实验3为室外某男子的检测结果对比, 如图4所示。可以看出, 帧间差分法的检测结果里出了空洞, 也出现了部分噪声。而背景差分的检测结果中, 由于目标部分灰度与背景较接近, 导致部分目标被当做前景。本文算法在对差分阈值的选取上是自适应的, 在不同的情况下, 阈值可根据差分图像自适应调整, 因此检测结果更加准确。
本文首先对运动目标检测的两种常见算法— — 帧间差分法和背景差分法进行探讨, 针对各自的缺点, 提出了一种新的算法, 将帧间差分与背景差分结合起来, 对背景模型中方差的更新作了改进, 用连续三帧差分代替两帧差分, 并使用自适应的阈值。实验表明, 本文算法能有效抑制噪声和空洞, 适应性强, 检测效果良好。
The authors have declared that no competing interests exist.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|