王广龙, 朱文杰, 高凤岐, 田 杰
(陆军工程大学石家庄校区 纳米技术与微系统实验室,河北 石家庄 050003)
运动目标检测是从场景中将对于研究任务感兴趣的,重要的前景运动目标从环境背景中分离处理,以便用于后续的目标识别、跟踪、智能视频监控、无人驾驶等高层次应用[1,2]。现有的运动目标检测方法[3]主要分为三大类。帧差法运算简单、处理速度快,但检测结果容易存在断裂和拖影现象;光流法可以适应于动态背景的场景,但实时性较差;背景建模法是其中计算复杂度适中、可用于实际场景且检测效果较好的一类方法。文献[4]对传统的高斯混合模型(Gaussian mixture model,GMM)的背景模型个数、学习率及阈值参数等进行改进,取得了较好的效果;文献[5]采用亮度、色度空间分量分离判别的方法进行建模及更新,但对于强目标阴影检测及去除效果较差。
本文采用GMM算法超像素马尔科夫随机场(Markov random field,MRF)建模并通过图切法进行求解,得到最终的运动目标检测结果。
位置(i,j)处的像素在t时刻取值I(i,j),t满足的概率分布
η(I(i,j),t;μ(i,j),t,n,Σ(i,j),t,n)
(1)
式中K为GMM中高斯分布的个数;w(i,j),t,n,μ(i,j),t,n,Σ(i,j),t,n分别为对应于描述t时刻(i,j)处像素的第n个高斯分布的权重、均值和协方差矩阵,η为高斯概率密度函数。为简化计算,通常假定协方差矩阵用下式计算
(2)
式中E单位矩阵。由于视频序列是动态变化的过程,则
|I(i,j),t-μ(i,j),t,n|≤Dσ(i,j),t,n
(3)
式中D为置信度参数。式(3)表示若新输入的像素I(i,j),t位于某一个高斯项均值之差在Tσ(i,j),t,n范围内,则T(i,j),t与该高斯项匹配。对匹配的高斯项用式(4)~式(6)[6]进行更新
w(i,j),t,n=(1-α)w(i,j),t-1,n+α
(4)
μ(i,j),t,n=(1-β)μ(i,j),t-1,n+βI(i,j),t
(5)
(I(i,j),t-μ(i,j),t,n)
(6)
式中α,β为参数学习速率。
如果没有高斯项与I(i,j),t匹配,则将所有高斯项中权重最小的一项分别用一个较小的权值初值w0,较大的方差初值σ0进行初始化。然后对K个高斯项按w(i,j),t,n/σ(i,j),t,n降序排列,选择前B个满足式(7)的项为背景高斯分布
(7)
式中T为0~1间的阈值参数。如果I(i,j),t与B个背景高斯项都不能满足式(3),则该点为前景目标,否则为背景像素。
超像素的一个特性是其和物体的边缘对齐[7]。
本文在经典SLIC算法[7]的基础上对其进行改进。SLIC算法首先将待处理图像划分为大小规则的区域;之后,将每一个区域的中心点移动到周围3×3邻域内的梯度最低点处,以避免将超像素的中心选在了图像的边缘轮廓位置;然后从每一个中心点位置开始,通过K-means对每个区域进行聚类,反复迭代计算,调整聚类中心,直到聚类残差小于一定的阈值聚类完成。与标准K-means聚类不同的是,SLIC算法中采用的K-means步骤,计算周围像素与聚类中心点距离时只在聚类中心2N×2N范围内进行,而不是搜索整个图像区域,这样可以极大提高搜索效率。
令F为第1节GMM检测得到的输入图像对应的前景二值图像,S表示原始对应的超像素图像。令S∈Ω表示超像素图像中的一个单元,|S|为该单元的像素总数,令IS∈S超像素单元S中的像素。根据F二值图像结果,令
(8)
定义超像素S属于前景的概率为
(9)
由P(S)的取值,根据式(10)对超像素图像进行前背景分割判定,得到概率超像素二值图像
(10)
MRF由贝叶斯理论框架下推理而来[8],利用最优化算法,将运动目标前景检测转化为求解使后验概率达到最大(maximum A posteriori,MAP)时的标记配置的最优化问题。
超像素分解通常会得到过分割的图像,并且通常前景目标会有很多个超像素单元组成,可以利用超像素之间的邻域相关性信息增强前景目标的检测结果。定义能量函数
(11)
式中fΩ∈{0,1}为前景/背景的标号域;Ne为邻域,US(fS)为自相关项;VST(fS,fT)与条件概率项相对应。
对于某一超像素单元S来说,希望将其划分为概率最大的标签fS,此时对应的划分代价US(fS)为达到最小,因此标记概率与代价成反比,取S属于标签fS的概率的负对数值来计算代价函数US(fS)为。定义对任一个超像素单元S划分的代价函数为
US(fS)-lnP(S)fS-ln(1-P(S))(1-fS)
(12)
而对于任意两个相邻的超像素S和T,如果S和T具有很强的相似性,同属于前景目标或静止背景,则此时将S和T分开(划分为不同类别)的代价较大。本文用超像素单元S和T中心点的距离来衡量其相关性,距离越近,则其相关性越高,同属一类的可能性也越大。因此定义连接邻域超像素S和T的边对应的权重为
VST=(fS,fT)=|fS-fT| (λ1+λ2·e-β‖μS-μT‖)
(13)
如果邻域超像素S和T的颜色均值μS和μT差别较大,则由λ2引入一个大的惩罚项。参数β用来表征颜色均值差分的期望。
图切法可以将式(11)所示的能量最小化问题转化为图的最小切问题,基本思想是构造一个有向图G=(V,e),式中V代表节点,e代表连接各个顶点邻域像素的边。对于运动目标检测任务来说,只需要对像素属于前景或者背景进行判定,属于一个二分类问题,因此,其对应的有向图中有两个特殊的顶点,一个称为源节点(source,s),另一个称为汇节点(sink,s)。s和t节点分别对应着标号域中的前景和背景两个标号,如图1所示。任一像素顶点与s和t节点相连的边的权重,即为式(11)所示的代价函数。
图1 使用图切法求解MRF问题示意
根据上文所述,本文提出的运动目标检测算法的整体流程框图如图2所示。
图2 算法整体处理流程框图
分别选取CDnet2014数据库[6]及采用实验室搭建的实验平台获取的视频进行处理,并与在当前评测中效果较好的几种典型的运动目标检测算法进行定性和定量的实验对比分析。这几种算法分别是DPGMM[7],LBP[8],GMM[9],ViBe[10],IMBS[11]。实验中本文算法参数设置如下:α=0.9,λ1=0.3,λ2=3。其他相关算法按照原始文献中提出的参数值进行设定。
实验选取CDNet2014中的6类室内外的典型场景,首先对本文算法的各个环节处理结果进行定性分析,结果如图3所示。
图3 CDNet2014数据库不同场景下几种算法运动目标检测效果对比
图3中从上到下依次为highway,boats,overpass,corridor及turbunence3数据序列,可以看出,本文算法都能得到比较好的效果,而本文经过概率超像素分解,及MRF模型处理之后得到的前景区域更加完整,且噪声像素较少。同时传统GMM检测结果中含有很多的虚警像素而本文算法得到的结果则较为干净和完整。
令TP为正确检测的前景像素数,TN为正确检测的背景像素数,FN为前景被检测为背景的像素数,FP为背景被检测为前景的像素数。采用如下参数指标[12]:检出率Re=TP/(FP+FN),准确度Pr=TP/(TP+FP),误正率FPR=FP/(FP+TN),误负率FNR=FN/(TN+FP),错分百分比PB=100(FN+FP)/(TP+FN+FP+TN),及F=2Re×Pr/(Re+Pr)值进行定量分析。表1给出了几种算法在上述6个场景下得到的6类参数的平均值。
表1中对每类参数指标中最优的两种算法指标值进行了加粗显示。可以看出本文提出的算法计算得到的指标值大都优于其他算法。对于综合评价指标F值,本文算法在所选的几种对比算法中得到的综合性能最优。
表1 几种算法在6个场景下的整体平均性能参数对比
图4以highway视频序列为例。从图中可以看出,在视频帧的绝大部分序列内,本文算法检测结果的检出率和精度指标均优于其他两种算法。
图4 三种算法得到的Recall和Precision曲线
设计的实验装置由仿人眼中心距的双目广角摄像头以及底部的机械支撑结构、双自由度电机驱动机构等部分组成。测试硬件环境基于NVIDIA Jetson TX2平台。软件在Ubuntu Linux环境下基于OpenCV框架采用C++编程实现算法。实验结果如图5所示。
图5 实际环境检测结果
利用超像素分解,充分利用图像的邻域相关性信息,克服传统GMM等基于单像素建模方法存在的缺陷;同时,由于超像素单元的数目比图像原始的像素数目少得多,因此可以极大地降低后续MRF相关处理的运算量;本文还提出了概率超像素的概念,并将超像素概率算式融入MRF建模中的能量函数构造过程之中;通过图切法进行最优化求解,得到目标与背景的最优划分。在公开数据库及实验室装置实测的视频图像上,均取得了较好的效果,关键参数指标相比对比算法得到了显著提升。同时本文提出的算法是一种运算简单,且可以和其他方法相结合的后处理方法,提高其他算法的性能。