前景目标检测是将摄像机的视频序列自动分割成感兴趣的前景目标与背景,是目标跟踪、计数、识别和分类等后续研究的基础[1].目前主流的前景目标检测方法包括帧差法[2]和背景减除法[3]等.背景减除法以建立精确率高、适应力强的背景模型为核心任务,在实时性和准确性上具有综合优势,成为当下的研究热点.常用的背景模型包括参数背景模型和非参数背景模型[4].混合高斯模型(Gaussian mixture model,GMM)[5]是当前应用较多的参数背景模型方法.非参数背景模型的代表为码本模型[6]和视觉背景提取(visual background extractor,ViBe)[7].其中ViBe算法具有模型简单、计算量小、处理速度快、检测精度高等特点,应用广泛,但是也存在一些不足:以固定值的策略难以适应动态背景;若初始化背景的单帧存在前景目标,则会出现鬼影;无法区分阴影与前景目标.针对ViBe算法难以适应动态背景的问题,文献[8-9]对于阈值设定分别进行了改进策略研究,部分缓解了动态背景带来的问题.为消除鬼影现象,文献[10]提出结合统计像素点的生命长度和二次更新的策略抑制鬼影.文献[11]引入基于频域的显著性检测方法来定位鬼影.文献[12]利用离散小波变换(DWT)求取阴影区域的阈值检测出隐藏在前景目标中的阴影.文献[13]利用Gabor函数来区分阴影与前景目标.文献[14]使用HSV颜色特征及纹理相关性对阴影和前景目标进行区分.受上述文献方法的启发,本研究提出一种改进的ViBe算法.引入动力学模型与闪烁程度来评估各像素位置的动态程度,并以此自适应更新采样距离阈值、匹配阈值及时间采样因子;利用鬼影区域的视觉显著性和静止性,快速定位并消除鬼影;利用移动阴影的色彩特征和纹理不变性,检测并去除阴影.实验结果表明:改进算法可以很好地消除鬼影和阴影,对动态背景的适应能力显著增强.1 ViBe参数自适应1.1 自适应采样距离阈值与匹配阈值在ViBe算法的前景背景分类决策中,存在着采样距离阈值R及匹配阈值m两个重要的参数.原算法赋予这两个参数全局值,该设置策略难以抑制由动态背景产生的前景噪点.本研究根据场景的动态特性对两个阈值进行自适应局部调整.对位于t时刻的像素点xi,其背景模型由N个背景样本bk(xi)构成的集合,背景模型B(xi)的定义为B(xi)={b1(xi),b2(xi),⋯,bN(xi)}.用视频第一帧(t=0)图像的像素值作为样本库,通过从xi的p邻域Mp(xi)中等概率选择N个像素值分别对背景样本进行赋值P(bk(xi)=I(xip))=1/p (xip∈Mp(xi)),式中:xip为抽取的xi的邻域像素点;I(xip)为其对应的像素值.引用文献[15]提出的背景动力学概念,并配合闪烁像素思想[8]对场景的动态特性进行评估.首先,为了获取最近时间窗口上各个像素点的运动熵状态量,定义t时刻递归的最小距离Dt(xi)=Dt-1(xi)1-1/N+dmin(xi)/N, (3)式中dmin(xi)为当前像素值I(xi)与其背景模型B(xi)在二维欧式颜色空间下距离的最小值.仅用Dt(xi)作为依据对阈值进行更新是不合理的,难以区别前景与动态背景.根据属于动态背景的像素点经常在背景与前景之间往来切换的特点,为每个像素点定义t时刻闪烁程度值gt(xi)=gt-1(xi)+ginc (Ft(xi)⊕Ft-1(xi)=1);gt-1(xi)-gdec (其他),式中:ginc和gdec分别为闪烁程度的增加和减小系数;⊕为异或运算.若当前帧与前一帧图像对应像素点分类结果Ft(xi)不同,则认为该点处发生闪烁现象,闪烁程度值增加ginc,否则减小gdec.根据每个像素的闪烁程度及最小距离,采样距离阈值的自适应更新方式如下Rt(xi)=Rt-1(xi)(1+Rv+g(xi)) (Rt-1(xi)RscDt-1(xi));Rt-1(xi)(1-Rv) (Rt-1(xi)≥RscDt-1(xi)),式中:Rv为基础变化幅度;Rsc为调整背景动态程度的尺度因子,两者均为事先固定的参数.还须给采样距离阈值设置一个下界Rmin.为了保证检测结果中前景目标的完整性,利用最小距离和闪烁程度值对前景像素点自适应更新匹配阈值m'=m+g(xi)/N+D(xi),同时,为m设置一个上界,防止m过大增加检测的虚警率.1.2 自适应时间采样因子根据背景动力学模型与闪烁程度值,为每个像素点自适应更新时间采样因子Tt(xi)=Tt-1(xi)+Tmax-gt-1(xi)Dt-1(xi)+1 (Ft(xi)=1);Tt-1(xi)-Tmin+gt-1(xi)Dt-1(xi)+1 (Ft(xi)≠1),式中Tmax和Tmin为上调幅度和下调幅度,均为固定值,用来控制采样因子的基本浮动.2 鬼影消除鬼影是一系列本不属于前景目标却被识别为前景目标的像素点的集合.鬼影的产生是由于用于背景初始化的第一帧图像存在前景目标.消除鬼影方法的具体步骤如下.a. 使用基于直方图对比度的图像像素显著性值检测方法分别求解当前帧与背景模型的视觉显著图StF和StB,经差分取绝对值运算进一步得到每个像素点的显著差值为StD(xi)=|StF(xi)-StB(xi)|.b. 使用改进ViBe算法对当前帧进行前景检测,对所有像素点建立一个显著性程度函数Ht(xi),结合显著差值对分类为前景点的Ht(xi)进行更新:Ht(xi)=Ht-1(xi)+StD(xi) (Ft(xi)=1);Ht-1(xi) (Ft(xi)≠1).c. 定义当前帧的显著性程度阈值为ct=ct-1+βS¯tD,式中:β为阈值调整参数,β的大小由鬼影区域与背景的对比度决定;S¯tD为前景像素显著差值的均值.d. 每隔Δt帧对前景像素点进行鬼影判断,若存在前景像素点使得显著性程度大于等于当前阈值,即Ht(xi)≥ct,则认为像素点xi为鬼影像素点.将鬼影像素点重分类为背景,用当前像素值It(xi)随机替换掉背景模型中的n个样本,并对时间子采样因子进行调整n=Ceilm;T(xi)=Ht(xi)/(ΔtT(xi)),式中Ceil(∙)为取大于括号内数的最小整数.e. 重复步骤a~d,直到图像中不存在像素点满足Ht(xi)≥ct.3 阴影检测使用平稳小波变换(SWT),以小波域下标准差与平均值的线性组合作为分割阈值,在HSV颜色空间下进行阴影检测和去除,具体步骤如下.a. 参考帧来自视频序列训练出的背景模型,将参考帧与当前帧从RGB颜色空间转换为HSV颜色空间,相对于饱和度和亮度分量取当前帧与参考帧的绝对差值,分别表示为ΔS和ΔV.b. 使用SWT对饱和度和亮度的绝对差值ΔS和ΔV进行小波分解,得到两通道的小波系数为WΔS和WΔV.c. 计算小波系数WΔS和WΔV的分割系数,即SWΔS和SWΔV,SWΔS(SWΔV)=σ/2+μ,式中σ与μ分别为当前颜色通道下小波系数的标准差与平均值.d. 对分类为前景的像素,通过SWΔS和SWΔV由下式判断当前像素是否属于阴影, M(xi)=1 (WΔS(xi)≥SWΔS∧WΔV(xi)≥SWΔV);0 (其他).当M(xi)=0时,认为像素xi属于阴影,应该从前景中去掉.受文献[14]启发,引入在背景减除中取得较好效果的局部二值相似模式(LBSP)作为纹理特征[16].再判断步骤如下.a. 将连通面积大于Ps(面积S的预设阈值,为人工设定值)的阴影候选区域划分为不同的连通块C{c1,c2,⋯,ck}.b. 计算每一个连通块cj内当前帧像素和参考帧像素的纹理特征[16],分别记为Ler和Lra.当编码不匹配数不超过Pm时(Pm为固定阈值),将其对应的Ler(xi)和Lra(xi)作0处理.c. 计算cj在当前帧与参考帧之间的纹理互相关系数 Q(cj)=(Lra(xi)-L¯er)(Ler(xi)-L¯ra)∙ ∑xi∈cj(Lra(xi)-L¯er)2∑xi∈cj(Lra(xi)-L¯er)2- 1/2,式中L¯ra和L¯er分别表示参考帧和当前帧在cj内纹理特征的均值.通过步骤a~c可以得到:当每个cj的纹理互相关系数Q(ci)Pc时,认为该区域不属于阴影,应该从阴影候选区域中剔除.4 实验验证4.1 鬼影消除效果改进后的算法结构如图1所示.算法实现的编译软件为Matlab R2016b.PC配置为i7-7700HQ,内存16 GiB,操作系统为Windows 10.实验数据来源于CDnet_2012[17]及阴影检测基准序列Hallway,HighwayI和Intelligent room序列.10.13245/j.hust.210113.F001图1改进算法结构实验输入的视频序列是CDnet_2012数据集中的Pedestrians片段.为制造鬼影现象,以视频的第330帧作为初始帧进行前景目标检测.图2给出了本文方法、ViBe算法及TDMA-VS算法[13]鬼影消除的第330,346和380帧检测结果.本文方法结合视觉显著性的方法经过50帧后鬼影已经完全消失,加快了鬼影消除的速度.10.13245/j.hust.210113.F002图23种算法鬼影消除的第330,346和380帧检测结果图3给出了3种算法鬼影像素数量(p)随视频帧数(q)的变化曲线,本文方法对前景的识别率优于ViBe算法,且鬼影像素数量随时间间隔急速下降,实现了鬼影的快速消除.10.13245/j.hust.210113.F003图33种算法鬼影像素数量随视频帧数的变化结果4.2 阴影检测效果及前景检测对比阴影检测实验采用的数据为CDnet_2012中的Bungalows,BusStation和PeopleInShade序列及常用于阴影检测性能测试的基准序列HighwayI,Hallway和Room.对比方法为文献[12-14]方法.为了定量描述本文方法相较于其他3种对比方法的优越性,采用阴影检测率(η)和阴影鉴别率(ξ)[18]作为评价指标.4种方法的阴影检测指标和效果对比如图4和表1所示.结合图4和表1可以看出:4种方法在室内序列Hallway和Room序列上都取得较好的检测效果.文献[12]和[13]均使用单一特征对阴影进行判断,对背景与前景的色彩及纹理对比度要求高,所以在环境复杂的室外及交通场景下对阴影的检测率与辨别率都偏低.文献[14]与本文方法均采用色度与纹理特征融合的方法,整体性能明显优于另外两种单一特征的方法.在室外及交通场景下,文献[14]难以辨别介于前景与投射阴影间的本影,而本文方法使用的LBSP纹理特征,在阴影辨别率指标上具有明显优势.综上,本文方法适用的场景更多,更能有效鉴别出隐藏于前景中的阴影.10.13245/j.hust.210113.F004图4阴影检测效果对比10.13245/j.hust.210113.T001表14种方法的阴影检测指标对比场景文献[12]文献[13]文献[14]本文方法ηξηξηξηξBusStation62.378.275.076.569.783.178.989.8PeopleInShade69.776.371.860.174.290.091.792.4Bungalows67.472.158.654.680.062.883.385.3Highway172.163.353.575.088.280.182.986.2Hallway80.179.481.477.691.891.987.491.1Room82.491.583.981.287.394.388.492.5Overall72.376.870.770.881.983.785.489.6%为了验证算法前景提取的效果,选择CDnet_2012数据集中Office,Fall,Fountain02,Backdoor,Badminton及DiningRoom序列进行测试,并选用具有代表性的背景建模算法CodeBook,GMM,ViBe及ViBe+算法进行对比实验,前景提取测试结果如图5所示.10.13245/j.hust.210113.F005图5前景提取测试结果由图5可以看出:CodeBook算法能保证前景目标的完整性,但结果包含过多虚假目标,且难以消除鬼影.在Office场景下,ViBe+算法因采取不对内边缘点进行邻域更新的策略而展现出最好的效果,GMM算法、ViBe算法及本文算法都呈现出不同程度的前景丢失,但本文算法通过降低前景像素的更新率来延缓前景像素的错误扩散,略优于GMM算法和ViBe算法;在Fall和Fountain02场景下,本文算法不仅能很好地抑制背景扰动,还得到了完整的前景目标;在Backdoor场景下,本文算法引入了阴影检测模块,目标的边缘信息更加精确;在Badminton场景下,摄像机的抖动产生了类似动态背景的效果,GMM算法和ViBe算法存在错分现象,ViBe+算法通过提高更新率来适应场景的抖动,但效果不够明显,而本文算法在去除鬼影、保留目标正确形状的同时,有效降低了摄像机抖动带来的负面影响;在DiningRoom场景下,本文算法在鬼影消除的效果上明显好于其他几种算法.为了定量比较五种算法的综合性能,采用召回率(re)、精确率(rp)、F-评价值(MF)和错误分类百分比(Z)[17]作为量化指标.表2给出了在上述6种场景下5种算法前景提取结果指标对比结果.可以看出:相较于CodeBook 和 GMM 算法,ViBe 算法的平均精确率及前景检测准确度更高,错误分类百分比也更低,可见 ViBe是一种综合性能更好的前景提取算法.同样由ViBe算法衍生出的本文算法与ViBe+算法的综合性能都在原方法的基础上有较大的提升.在动态背景序列Fall,Fountain02 和 Badminton 中,本文算法利用背景动力学模型和闪烁程度来自适应调整参数,展现出更好的适应力,在保证前景目标完整性的同时,前景检测的精确率与准确度都要优于ViBe+算法.在 Backdoor 与 DiningRoom 序列中,由于本文算法大大降低了鬼影和阴影引起的错误前景点数,因此4个指标明显优于 ViBe+算法.综合上述实验结果可知,本文算法优势明显,适用场景更多.本文算法在6种场景下的处理速度平均可以达到40帧/s.10.13245/j.hust.210113.T002表2前景提取结果指标对比场景CodeBookGMMViBeViBe+本文算法rerpMFZrerpMFZrerpMFZrerpMFZrerpMFZOffice92.350.765.46.947.485.360.94.272.997.483.42.091.693.492.51.085.392.388.61.5Fall82.032.146.13.474.219.831.35.870.831.143.23.382.577.179.71.187.585.386.40.6Fountain0287.721.434.40.873.347.757.80.256.192.469.80.188.381.584.80.084.591.988.00.0Backdoor86.260.070.71.471.552.860.71.869.693.079.60.783.882.983.30.890.294.892.50.2Badminton79.751.862.83.363.964.064.02.569.856.962.72.987.662.572.92.078.978.378.61.3DiningRoom43.073.854.36.054.473.762.65.451.177.861.75.357.870.963.75.567.281.573.72.0%5 结语针对ViBe算法在前景检测中出现的难以适应动态背景、受鬼影和阴影影响等问题,提出一种改进的ViBe算法.结合像素点的动力学模型和闪烁程度值自适应地调整采样距离阈值及匹配阈值,极大改善了算法在动态背景下的鲁棒性和适应力;通过自适应更新各像素点时间子采样因子,提升背景模型在复杂场景下的准确性;使用图像像素显著性值检测方法,逐帧统计各像素位置的显著性值,对识别为鬼影的像素点调整其时间子采样因子并修正背景模型;使用平稳小波变换(SWT)在HSV颜色空间下进行无参分割生成阴影候选区域,引入局部二值相似模式(LBSP)纹理特征对阴影候选区域进行再判断,进一步去除阴影.与其他4种典型的背景建模算法的对比实验表明:本文算法在6种场景下呈现出更高的准确度和更好的鲁棒性,对不同场景的适应能力也更为突出.
使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,
确定继续浏览么?
复制成功,请在其他浏览器进行阅读
复制地址链接在其他浏览器打开
继续浏览