时空相关多通道聚类的运动目标检测*
2019-08-29徐艳王培光杨青董江涛
徐艳 王培光 杨青 董江涛
1)(河北大学电子信息工程学院,保定 071002)
2)(陆军工程大学石家庄校区电子与光学工程系,石家庄 050000)
3)(河北工业大学电子信息工程学院,天津 300401)
4)(中国电子科技集团公司第五十四研究所,石家庄 050000)
1 引 言
运动目标检测和跟踪受到场景变换、遮挡和噪声等的影响,检测和跟踪精度一直是计算机视觉领域研究的热点.在CVPR2015-2018中,大部分目标跟踪算法都是基于检测的跟踪,且目标跟踪算法是基于大量离线数据的训练下得到的,这就限制了此类算法在某些不便于采集数据或者不便于离线训练的特殊场景的应用,再加之当前视频环境中背景多是多模态场景噪声多,且运动目标表现出不同特征,这就需要一个稳定、有较强鲁棒性的运动目标检测算法进行处理.
目前主流的运动目标检测算法有光流法[1-3]、帧间差分法、背景减除法[4-6].光流法是通过分析运动场的变化对目标进行检测,这种方法不需要预先知道场景的任何信息,但噪声、多光源等因素会对光流场分布的计算结果造成严重影响; 帧间差分法原理简单,易于实现,针对简单背景可以取得较好的效果,但对环境噪声较敏感; 背景减除法是利用视频序列对背景建模,根据背景图像与当前帧图像的差异获得运动目标区域,具有检测准确且精度高的优点,但其性能很大程度上依赖于背景建模的准确性.实际复杂场景中无法预测和不确定因素的存在、动态背景、光照[7]的变化等,给背景的准确建模带来很大挑战.
学者们对于背景建模方法进行了很多研究[5-9],由于高斯函数在样本数据点足够大时,可以表征任何一种事物的规律,文献[4]提出的GMM算法是使用混合高斯分布模型表征图像帧中每一个像素点的特征,通过在线的学习与训练得到背景模型并完成运动目标的检测.文献[10]提出了采用单像素时间序列直方图进行背景建模,得到的前景目标区域更干净,误差像素较少,但该方法存储开销大,背景生成缓慢; 针对学习速率α无法适应运动目标的速度时,参考背景图像中有可能出现目标的鬼影,文献[11]提出了基于三帧差分的学习率自适应混合高斯模型背景更新的方法,减少了光照突变和目标快速运动带来的误检情况; 文献[12]引入引导滤波、空间邻域更新及时空平滑方法,较好地抑制了背景扰动引起的虚假运动目标.ViBe算法[13]则采用随机聚类技术,采用随机策略更新样本点,避免了大量的样本建模.
从上述分析可知,目前的背景建模都是通过不同聚类方法完成背景聚类,进而完成对运动目标的检测,但都存在以下不足:
1)当初始帧中存在运动目标时,检测结果可能出现“ghost”现象;
2)逐像素运算,忽略了像素点间的相关性,运算效率低下;
3)在样本或模型更新过程中阈值或参数固定不变,导致不同场景中的目标检测精准度差距较大.
本文在混合高斯建模的基础上,采用帧间差分法获取模型初始参数,减少模型建立初始时间的同时使背景模型的初始参数更加贴近真实值,加快模型的收敛速度; 将文献[13]的邻域传播理论引入到混合高斯模型的更新过程,提出邻域相关度的近似计算方法,在匹配过程中,将像素级的模型建立与邻域随机相关相结合,在多模态背景模型建立过程中又兼顾执行效率; 引入像素点的活跃级别对学习率进行调整,加快整体模型的收敛; 最后,采用颜色-梯度相结合的方式实现多通道的混合高斯模型的建立及运动目标的检测.
2 基于混合高斯模型GMM的目标检测
图像序列中同一位置的像素点序列可以用K个高斯分布综合描述,当前像素值的概率密度由下式计算得到:
其中K是高斯分布的数量,ϖk,t是t时刻第k个高斯分布的权重,µk,t和分别是t时刻第k个高斯分布的期望和协方差矩阵,该点高斯分布为
1)高斯模型参数的更新
在背景更新过程中,将当前帧中像素点与所建立的K个高斯分布按照下式进行匹配:
式中,σk,t-1为第k个高斯模型在t—1时刻的标准差,D为置信参数.如果像素点匹配成功,即当前像素点满足第k个高斯模型的分布,则按照下式对匹配的高斯分布进行参数更新,且Mk,t-1=1 :
2)生成背景分布
像素点的高斯混合模型参数更新完毕后,需要对K个高斯分布进行估计,得到能够代表背景模型的高斯分布[5].将K个高斯分布重新进行权重归一化处理,按照ϖk,t/σk,t从大到小的顺序排序,将前B个高斯分布作为背景模型:
3)检测运动目标
如果当前像素点与任意一个高斯分布匹配成功,则该点为背景点,否则判断为运动前景.
3 改进的GMM背景模型建立方法
3.1 基于五帧差分法的空间邻域的模型参数初始化
由于没有先验知识,高斯模型参数通常是初始化为固定值,在随后的更新过程中逐步调整,如果模型参数初值选取不当将导致模型的更新较慢.
本文采用五帧差分与帧内邻域平均的方法,实现混合高斯模型的参数初始化选取.首先提取连续五帧图像,利用中间帧对前后两帧进行差分运算,对差分结果进行二值化处理后再进行与运算,用以检测初始视频中是否含有目标信息,随后计算除去运动区域后背景图像中的五帧均值µ(x,y),作为像素点(x,y)的初始均值,同时计一个累加矩阵CA,CA的大小与图像大小一致,C A(x,y)记录满足规则的邻域像素点的个数,累加器各元素的更新方式为
同时,还要对均值矩阵µ(x,y)进行更新,即
计算相应的标准差σ:
并以此构建混合高斯模型中的其中一个高斯分布:
而其他高斯模型的参数按照下式获取:
由于初始化阶段考虑了帧间数据的关联性,去除了运动目标在初始阶段对建模的影响,更加不易产生鬼影现象; 将邻域数据的一致性加入到模型参数的初始化环节,使得构建的混合高斯模型更加符合背景像素点的特征.
3.2 随机子采样与邻域空间传播理论相结合的模型参数更新策略
原GMM在建模过程中像素点间模型信息相互独立,具体体现在:
1)对像素点孤立单独建模,忽略了空间邻域信息的相关性,对背景像素的整体描述不够,因此受到噪声或背景变化时效果下降;
2)对当前时刻t的每一个像素点都进行模型参数训练,导致计算量很大.
图像空间信息的连续性,像素点间既有互异性又有相似性[13],利用互异性建模能保持像素点的变化规律,利用邻域相似性可以减少像素间的冗余信息[14],避免相似点的重复建模.由以上两点,本文提出利用相邻像素相关度来衡量邻域范围内像素的相关性,当像素相关性在某阈值范围内时,认为邻域像素与当前像素属于同一类别(同属于背景或运动前景),对于同一类别的邻域则不进行高斯分布的参数更新计算,由于背景的像素相关性很大,因此这种基于邻域像素相关性度量的参数更新可以在很大程度上缩减计算量.
为了得到任意时刻的均值和方差,本文引入文献[15]在均值和方差的在线估计中用到的滑动窗的概念,对任意t时刻计算邻域相关度,需要用到前t—N+ 1帧图像.t 时刻滑动窗口 N 内的图像序列如图1所示.
图1 t时刻滑动窗口N内的图像序列Fig.1.The image sequence in the sliding window N at time t.
设xi,yi分别为相邻的两个像素点的灰度值,为xi的方差,
cov(x,y)=为两点的协方差,为xi的均值,N为参与邻域相关计算的图像序列的帧数.
为简化计算和节省存储空间,本文对E(x)和D(x)进行了简化,将其用该像素点混合高斯模型的均值和方差的加权平均代替,从而得到
其中K为高斯分布的数量进而得到
(一般滑动窗口N=50),最终邻域像素相关性度量:
在进行参数更新前,首先计算在当前像素点8邻域范围内相对当前像素点的相关度,如果像素相关度大于某一阈值Tγ,则邻域点与当前像素点有很大概率属于同一类别,那么在进行模型更新时邻域值可以直接沿用当前像素的模型,从而不进行模型更新计算; 而对于不属于同一类别的像素点则仍然采用模型更新策略.
文献[16]指出,当不能准确地判断像素变化的模型时,采用随机更新策略,能够在一定程度上模拟像素变化的不确定性.由于图像中背景的更新缓慢,即使是动态背景,在相邻帧之间背景也不会有太大变化,因此对前面帧中已确定为背景的像素点没有必要逐帧更新,因此论文采用随机子采样策略,对上一帧已经确定为背景的像素点随机选取1/φ(φ=16 )进行模型更新计算,更新点邻域范围内的相似像素进行模型拷贝,其他背景点则维持原有高斯分布不变.
具体的更新过程如图2所示.
图2 模型参数更新流程Fig.2.Model parameter update process.
3.3 基于观测向量的参数更新策略
在原GMM算法中,匹配的高斯分布按照(4)式进行更新,而其他没有匹配的则只更新权值,且权值的更新速度较慢,不妨假设第k个高斯分布在前n个样本点都没有得到匹配,则在t时刻其权值更新为ϖk,t=(1-α)n×ϖk,0,通常α取值较小,这就使得ϖk,t的减小速度比较慢,而实际情况是这一分布应该是不符合背景模型的,我们希望这样的分布能有更快的收敛速度.
为此,在每一个像素位置引入一个含有K个元素的计数向量,该向量元素ck负责记录第k个高斯分布的观测值:
首先计算像素与第k个高斯分布匹配的后验概率:
同时,加入像素点的活跃级别来限制α:
4 基于颜色-梯度的运动目标检测
通过上述混合高斯模型的建立,实现了背景和运动目标的聚类,但是单纯基于灰度一个通道的建模方法不能充分利用图像中的像素信息,因此对于运动目标的检测结果含有较多空洞区域.
通过分析可知,目标通常是由若干点组成的非连续目标,相对背景而言,运动目标具有如下特点:
1)即使是相对颜色一致的运动物体也会比背景产生更多变化,况且一般情况下物体都是带有不同颜色的;
2)目标在局部仍然具有特征连续性的特点,且运动目标与周围背景应有比较明显的差别.
文献[17]提出可以采用多信息融合的方法实现目标的描述,文献[18,19]引出基于像素颜色信息的背景建模方法,而常用的RGB颜色空间将颜色和亮度信息混杂,当亮度改变,三个颜色通道的值都会发生改变,从而降低了颜色的判别能力.HSI空间包含色度(hue)、饱和度(saturation)和亮度(intensity)信息,是一种更符合人类视觉特点的颜色表达,文献[20]通过实验验证了其在目标检测和跟踪方面的性能优于RGB,同时,颜色对目标形状、尺度等具有较好的不变性,而梯度对光照等具有较好的不变性[21].据此,本文提出通过颜色和梯度特征相结合的方法完成背景模型的建立,首先对原始灰度图像求1阶梯度,随后将图像从RGB空间转换到HSI空间,分别对各颜色分量和梯度分量进行背景模型的初始化和训练,最终得到HSG(hue,saturation,gradient)三通道的混合高斯建模结果,最终完成运动目标的检测: 如果当前像素点的三个通道值与通道内任意一个高斯分布匹配成功,则该点为背景点,否则判断为运动前景.
图3 算法执行效率对比Fig.3.Algorithm execution efficiency comparison.
为验证HSG-GMM算法的执行效率,选取Intel Core i5-5300U CPU,8G内存的硬件平台运行算法程序,视频帧图像大小为352×228时,RGB-GMM算法、HSG-GMM算法和ViBe算法的运行时间对比如图3所示.ViBe可以用于实时目标检测,GMM的均值一般在0.07 s左右,适用于实时性要求不高的目标检测领域,RGB-GMM运行效率最低,只能用于离线检测; HSG-GMM算法采用三通道的高斯建模方法,虽然较原始GMM算法增加了通道数目,由于引入了随机子采样和邻域相关度量,导致最后的总体计算量与GMM相比不增反减,其实际运行时间虽然不能和ViBe相比,但是在满足精度要求下仍能达到实时处理的效果.
fort=1oT(T为序列的总帧数)
读取图像,完成H,S和G(梯度)三个不同通道的特征采集
Ift< 5 then
初始化:采用帧差法完成不同通道的高斯模型的初始化得到ϖk,tµk,tσk2,t初值
Else
for 通道=1 to 3(分别对应HSG三个通道)
步骤1随机子采样: 根据t-1时刻的背景检测结果,随机选取1/16背景点作为匹配位置
匹配
if 当前点是需要匹配的背景点或目标点
步骤2根据式(3),判断当前点与高斯分布是否匹配
训练/更新
步骤3更新当前点的高斯混合模型参数,式(15—17)
步骤4查找并标记当前点邻域范围内的邻域相关度,式(14)
步骤5根据步骤3的更新结果直接对邻域相关像素进行模型替换
步骤6生成背景分布,式(5),结合三个通道检测运动目标
Else(没有被随机子采样选中的点)
维持当前像素的背景模型不变
End
End
End
End
5 实验与结果分析
采用Universidad Politecica de Madrid(UPM)的 Grupo de Tratamiento de Imagenes的LASIESTA Database[22],进行实验.
5.1 性能分析
根据准确率和检测精度指标[23]来考察算法的性能:
将数据库中的O_CL_01数据集完成检测准确度和精准度的检测,分别将传统的GMM,基于RGB三通道的GMM(RGB-GMM)、ViBe算法和本文HSG算法(HSG-GMM)进行比较.
对于O_CL_01数据集中,该图像序列共有216帧,其中第135—206帧存在有树遮挡的运动目标,图4为四种算法的精准度和准确率分布曲线,图4(a)和图4(b)为整个视频序列的检测结果,图4(c)和图4(d)为135—206帧存在运动目标时分布曲线的放大结果.可以看出四种算法静态背景的检测结果基本一致,但对于运动目标检测的准确率和精准度就有所差别.GMM算法对某些干扰图像中的检测结果要明显低于其他算法,HSGGMM算法与RGB-GMM算法比较,在准确率和精准度上都有所提高; 由于ViBe算法的基本原理与其他三种不同,检测结果的分布也呈现不同规律: 在某些区域ViBe可以获得很高的精度,但在运动目标区域又呈现大范围波动.
图5为对第161帧视频图像的检测结果,对于纯背景帧的检测,由于不存在运动目标,因此P基本为零,四种算法结果基本一致,只是在某些帧中含有少量噪声; 而对于运动目标的检测,GMM和RGB_GMM产生目标空洞较多,虽然ViBe对背景噪声的抑制效果更好,但是目标区域仍然存在较大空洞.
5.2 效果比较
1)静态背景测试
采用视频序列singnal.avi检验初始静态背景中存在动目标时算法的有效性,如图6所示
图4 算法精准度和准确率验证(a)、(c)精准度;(b)、(d)准确率Fig.4.The accuracy and accuracy of the algorithm verify the results:(a)、(c)precision;(b)、(d)accuracy.
图5 O_CL_01数据集第161帧的处理结果(a)原始图像;(b)标注真值;(c)GMM;(d)RGB_GMM;(e)ViBe;(f)HSG_GMMFig.5.The result of the frame 161 in O_CL_01 data set:(a)Original image;(b)true Value image;(c)GMM result;(d)RGB_GMM result;(e)ViBe result;(f)HSG_GMM result.
图6 初始视频中存在动目标的静态背景检验结果(a)原始图像;(b)GMM算法结果;(c)RGB-GMM结果;(d)ViBe结果;(e)HSG-GMM结果Fig.6.Detection result of moving target in initial video in static background:(a)Initial image;(b)GMM result;(c)RGB-GMM result;(d)ViBe result;(e)HSG-GMM result.
图7 动态背景环境中的运动目标检测(a)原始图像;(b)GMM;(c)RGB-GMM;(d)ViBe;(e)HSG-GMMFig.7.Moving target detection in dynamic background environment:(a)Initial image;(b)GMM;(c)RGB-GMM;(d)ViBe;(e)HSG-GMM.
图6(a)分别为第6帧、14帧、58帧原始图像,图6(b)为GMM算法的检测结果,图6(c)为RGB_GMM的检测结果,图6(d)为ViBe的检测结果,图6(e)为本文HSG_GMM的检测结果.GMM算法和ViBe算法中对初始视频序列中存在运动目标的处理都会导致拖影问题; RGB-GMM由于颜色特征又可能使某些场景中存留的噪声得以保留.
HSG-GMM特征信息更加完备,背景模型的建立更加准确,运动目标的检测更加完整,并且克服了RGB值不稳定导致的噪声干扰; 由于初始化阶段考虑了帧间数据的关联性,将邻域数据的一致性加入到模型参数的初始化环节,去除了运动目标在初始阶段对建模的影响; 采用的基于像素空间传播特性的更新策略,使背景模型逐渐向邻域扩散,有利于加快Ghost区域的识别速度,拖影的抑制效果也比较明显.
2)动态复杂背景测试
图7中是对数据集O_SN_01中下雪场景中运动目标的检测,1—6列分别为视频序列的第10,48,308,320,348,361帧的处理结果.
GMM,RGB-GMM算法对雪花类的明显动态背景有一定的抑制,但不能消除,且获得的目标空洞较严重; 本文的HSG-GMM采用观测向量的方法,抑制动态噪声的能力要高于ViBe,获得参数优化后的背景模型更加接近实际,最终检测的运动目标区域也较为完整.
6 结 论
通过改变高斯模型的初始化方法和参数的计算方法,加快了模型的收敛速度,将随机子采样与邻域空间传播理论相结合,充分利用像素的邻域相关性简化模型更新过程,降低运算量,并将HSI空间的颜色信息与一阶梯度信息相结合,构建多通道的模型建立和更新机制,使背景模型的建立更加完善.实验表明,算法在抑制动态背景的影响、检测目标完整性方面有很大提升,目标空洞现象更少,但是对于摄像机运动条件下的背景建模效果却不是很理想.