一种背景自适应的运动目标检测算法
2014-03-25李凌
李 凌
(淮北职业技术学院 计算机科学技术系, 安徽 淮北 235000)
混合高斯模型利用多个高斯分布建立背景模型,较好地解决了规律变化的动态背景,具有一定的适应能力。但是由于实际检测环境是复杂多变的,传统混合高斯模型中的部分背景更新问题仍没有得到很好解决:对每个像素建立固定个数的高斯分布,耗费大量的资源;光照突变时,易把变化的背景当成前景目标,造成虚假目标;运动目标运动缓慢或者体积较大时,运动目标在背景更新时被融入背景,造成目标漏检或者检测不完整;运动目标长时间停止运动时,容易将其误判为背景,造成目标漏检;当静止的物体突然开始运动时,容易将背景暴露区检测为目标。近年来,研究人员对高斯模型进行了研究和改进,Gorur等[1]利用整数计数器进行周期性浮点计算代替复杂浮点计算,减少了计算量;Huang[2]为每个像素引入参考量,提高了模型的适应性;金广智等[3]采用初始化权重直接累加的更新策略,解决了初始阶段背景更新慢的问题;孙毅刚等[4]引入背景学习参数结合像素的八连通区域改进高斯混合模型,有效检测出短暂停止的运动目标;陈祖爵等[5]提出对目标进行合理性判断,调整更新率,解决了光照突变下运动目标检测;刘静等[6]提出分区域设置背景更新率,减少了计算量,但是对目标区域采取不更新策略,不能解决目标长时间停止时的漏检问题;Zoran[7]通过调整高斯模式的个数和学习率,提高算法的适应能力,但是对于运动速度慢、体积大的目标检测效果不好;Sou[8]提出一种参数更新的新方法,解决了慢运动目标的检测问题;牛武泽等[9]结合帧间差分和增量主成分分析检测运动目标,适用外界扰动较大的情况,但是计算量大;张虎等[10]改进混合高斯模型的参数更新机制,不同阶段采用不同的更新策略,在天气缓慢变化情况下的适应性良好。本文利用边缘检测和帧间差分的优势,弥补混合高斯的不足,并对混合高斯模型采用新的背景更新策略,有效地解决了光线突变、背景的融入、溶出问题。
1 混合高斯背景模型
1.1 模型函数
Stauffer等[11]提出的混合高斯背景模型把每个像素看作一个随机的变量,每个像素序列近似满足高斯分布,对每个像素点用多个高斯函数的加权进行背景建模,即:
(1)
1.2 背景模型的提取与更新
1.2.1 背景模型提取
k个高斯混合分布按ω/σ降序排序,把满足式(2)的前b个高斯分布作为背景模型,其余为运动前景模型:
(2)
其中T为预先选取背景阈值,T的大小决定背景中混合高斯分布的个数,T取值越大,选取的高斯分布个数越多,背景模型的抗干扰能力较强,T取值范围在0~1之间,本文T取值0.7。
1.2.2 背景模型更新
根据条件|xi-μi,t|<2.5σi判断当前帧的像素点是否和对应的某个混合高斯分布匹配,若存在匹配,则该像素点为背景点,按照(3)—(5)式更新模型参数,若与对应的所有高斯分布都不匹配,则用新的模型替换权重最小的模型,新的模型以xi,t为均值,以较小的权重和较大的标准差初始化:
wi,t=(1-α)wi,t-1+αMi,t,
(3)
μi,t=(1-ρ)μi,t-1+ρXt,
(4)
(5)
其中:ρ=αη(Xt|μi,σi),α为更新率,该值越大,各个模型参数变化越快;若物体运动速度快,则选用较大的α,以加快参数的调整速度,提高目标的检出率。当α过大时,运动目标将参与背景更新,导致运动目标被误作为背景,使目标内部出现“空洞”;当α过小时,模型适应环境变化的能力弱,背景模型不能实时跟踪背景的变化,导致运动目标漏检或者误检。
Mi,t控制不同像素高斯函数权重的变化,匹配的高斯分布Mi,t=1,不匹配的高斯分布Mi,t=0。
采用这样的背景更新机制,可有效检测背景亮度发生渐变以及有规律扰动的场景中的运动目标,但是采用固定、统一的更新率,难以适应亮度突变的情况,对大而慢的目标检测容易产生“拖尾”现象,只能检测到目标的小部分轮廓;对于由静止转为运动的物体,由于背景不能迅速更新,可能误将背景暴露区检测为前景。
2 背景自适应的运动目标检测新方法
2.1 算法基本思想
传统高斯模型对光照突变比较敏感,而光照变化对图像的边缘信息影响较小。先对原始图像提取边缘,然后进行高斯背景建模,不同区域采用不同的参数更新策略,获取前景图像;采用三帧差分获取另外一幅前景图像,将获得的两幅前景图像进行与运算,获得前景目标,该检测方法受光线变化影响小,可有效克服传统高斯模型在背景的“融入”和“融出”情况下的不足。
2.2 图像边缘提取
当光线发生变化时,无论是变暗还是变亮,图像整体像素的亮度值都发生变化,但是光线的变化对图像的边缘信息影响却不大,通过检测图像的边缘信息,可分割出运动目标的整体轮廓。典型的边缘检测算子有Roberts算子、Prewitt算子、Sobel算子和Canny算子等。Roberts算子定位准确,但是对噪声比较敏感,Prewitt算子采用均值滤波,对噪声有抑制作用,Canny算子检测的边缘较理想,同时抑制了噪声,但损坏了部分低强度边缘,Sobel算子结合了高斯的平滑和微分,提取的边缘对噪声有一定的鲁棒性,运算复杂度比Prewitt算子低[12],本文选取Sobel算子进行边缘提取,Sobel检测算子为:
对于一幅图像I(x,y),它的边缘图像由式(6)获得:
IF(x,y)=|I(x,y)*Hx|+|I(x,y)*Hy|,
(6)
其中*为卷积。得到边缘图像后,利用该图像进行混合高斯背景建模。
图1为不同光照条件下,使用Sobel算子进行边缘提取的效果图。
(a) 原始图像 (b) 提取边缘 (c) 原始图像 (d) 提取边缘图1 使用Sobel算子边缘提取
2.3 不同区域的提取以及更新率的设置
2.3.1 不同区域的提取
采用三帧差分法把图像分为背景区、背景暴露区以及运动目标区。三帧差分法利用相邻图像Ik-1、Ik、Ik+1两两差分[13],得到差分图像D1k、D2k,将图像D1k、D2k异或,获得背景暴露区域,将图像D1k、D2k做与运算,消除背景暴露区域,获得图像的运动区域,具体计算公式如下:
D1k=|Ik-1-Ik|,D2k=|Ik+1-Ik|。
(7)
传统帧差法在提取运动目标时,内部会出现空洞,目标提取不完整,对光照变化敏感,本文改进帧差法,增加对xi(i,j)8邻域和的判断,具体规则如下:
(8)
(9)
(10)
Dk=D1k∩D2k, ifDk≥T,xi(i,j)∈ao,
(11)
Dkk=D1k⊕D2k, ifDkk≥T,xi(i,j)∈aubg,
(12)
2.3.2 不同区域更新率的设置
赋予图像背景区域abg像素点对应的混合高斯模型小的更新率,避免引入噪声,保持背景区域的稳定,赋予背景暴露区域aubg像素点对应的混合高斯模型大的更新率,快速恢复暴露的背景区。对目标区域若采用较大固定的背景更新率,对于体积大、速度慢或者暂时停止运动的目标检测时,目标将快速融入背景,造成目标漏检;若采用较小的固定更新率,当目标由运动到停止时,目标不能很快融为背景,造成目标被误检。因此,目标区域的背景更新率应综合考虑运动目标的尺寸、运动速度及停止时间等因素[14]。目标的运动速度越慢,体积越大,停止时间越长,更新率应较小;而目标的运动速度越快,体积越小,停止时间越短,更新率应较大。使背景模型能够实时跟踪背景的变化,更新率计算公式如下:
(13)
其中:β是运动目标速度和尺寸对更新率的影响系数,一般取2~9,γ是运动目标停止时间对更新率的影响系数,一般取1.0×10-5~1.0×10-4。速度vt通过计算目标重心在三帧间移动的距离和时间比值得到,尺寸st通过计算检测的目标面积得到,Numi,t是目标像素与同一个高斯分布累计匹配的次数,表示目标停止时间的长短。目标像素与高斯分布匹配公式如式(14)所示:
|xi,t-μi,t|<1.5σi,t,
(14)
其中:μi,t、σi,t为目标像素点xi,t上一帧中匹配的高斯分布的均值和方差。Numi,t的计算方法如下:
3 仿真结果与分析
实验选用Visual Studio 2010开发平台,使用OpenC V2.2编程,计算机配置为4G内存,Intel Core I5-2520 CPU 2.5GHz,Windows7操作系统。帧频为26帧/s、分辨率为320×240、AVI格式的3个不同的场景视频,将传统算法与本文提出的算法的检测结果做了对比实验,结果见表1。
表1 本文算法与传统算法在不同的视频上的处理速度 (ms/帧)
图2是室外拍摄的从摄像机前慢速经过人的检测,视频中包含65帧图像序列,因目标运动缓慢且相对背景而言体积较大,主要考虑速度以及体积对更新率的影响,本文β=9,γ=0.2×10-4,传统算法更新率α=0.01。采用传统算法检测到目标轮廓检测不完整,目标显露区成为虚假前景;采用本文提出的算法基本能够检测目标的全部轮廓,目标显露区没有成为虚假目标,检测灵敏度高。实验表明本文算法对体积大、运动速度慢的运动目标检测效果好。
图2 目标慢速运动情况下的检测
图3是在室外拍摄的一个原本运动的人突然停止运动的检测。视频中包含95帧图像序列,目标运动缓慢且相对背景而言体积不大,因此需要综合考虑速度、体积以及停止时间对更新率的影响,本文β=7,γ=0.6×10-4,传统算法背景更新率α=0.02。本文算法的背景更新速率随着目标停止时间的延长而增大,而传统检测的更新速率保持在固定的较小值。视频中人在第50帧停止运动,图3(b)、图3(c)中第60帧都检测了虚假目标,图3(b)中第70帧的虚假目标仍然没有消除,而图3(c)中第70帧已经消除了虚假目标,将停止物体更新为背景。
图3 前景转换成背景情况下的目标检测
图4是在室内拍摄的光照发生突变人的检测效果,视频中包含120帧图像序列,传统算法背景更新率α=0.01,本文算法β=4,γ=0.5×10-4。视频在第95帧发生光照突变,图4(b)、图4(c)中第95帧都检测了虚假目标,图4(b)中第105帧的虚假目标仍然没有消除,而图4(c)中第105帧已经消除了虚假目标,将虚假目标更新为背景。
图4 光照突变情况下的检测
4 结 语
利用边缘检测和帧间差分的优势,弥补混合高斯的不足,改进混合高斯模型背景更新策略,不同的区域采取不同的更新策略,提高了模型的收敛性。对运动目标区域根据目标运动的速度、体积以及与高斯模型的匹配次数等因素调整更新率。实验结果表明,本文算法可以很好地适应环境光照变化以及背景和目标相互转换等条件,提高了模型的适应性。
[参考文献]
[1] GORUR P,AMRUTUR B. Speeded up Gaussian Mixture Model algorithm for background subtraction[C]//Proceedings of 8th IEEE International Conferfencec on Advanced Video and Signal Based Surveillance(AVSS). Klagenfurt,Sustria:IEEE,2011:386-391.
[2] HUANG T,QIU J,SAKAYORI T.Motion detection based on background modeling and performance analysis for outdoor surveillance[C]//Proceedings of 2009 IEEE International Conference on Computer Modeling and Simulation.Piscataway:IEEE,2009:42-48.
[3] 金广智,石林锁,白向峰,等.基于混合高斯模型的新型目标检测系统[J].计算机应用,2011,31(12):3360-3365.
[4] 孙毅刚,李鸿.张红颖.基于改进混合高斯模型的运动目标检测算法[J]. 计算机工程,2012,38(18):166-170.
[5] 陈祖爵,陈潇君,何鸿.基于改进的混合高斯模型的运动目标检测[J].中国图象图形学报,2007,12(9):1585-1598.
[6] 刘静,王玲.混合高斯模型背景法的一种改进算法[J].计算机工程与应用,2010,46(13):168-171.
[7] ZORAN Zivkovic.Recursive unsupervised learning of finite mixture models[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2004,26(5):651-656.
[8] SUO Peng, WANG Yan-jiang. An improved adaptive background modeling algorithm based on gaussian mixture model[C].ICSP,2008:1426-1439.
[9] 牛武泽,石林锁,金广智,等.融合时空信息的运动目标检测[J].计算机工程,2011,37(18):171-176.
[10] 张虎,方华,李春贵.基于改进混合高斯模型的自适应运动车辆检测算法[J].计算机应用与软件,2014,31(1):286-289.
[11] HUANG Tian-ci, QIU Jing-bang, TAKAHIRO Sakayori. Motion detection based on background modeling and performance analysis for outdoor surveillance[C].IEEE International Conference on Computer Modeling and Simulation,Macau,China,2009.
[12] 杨振亚,王淑仙,王成道.自适应图像边缘检测算法[J].计算机应用,2003,23(5):15-17.
[13] 吕国亮,赵曙光,赵俊.基于三帧差分和连通性检测的运动目标检测新方法[J].液晶与显示,2007,22(1):87-93.
[14] 李明之,马志强,单勇,等.复杂条件下高斯混合模型的自适应背景更新[J].计算机应用,2011,31(7):1831-1834.