高 庆,崔友昌
1(潍柴动力股份有限公司 企业管理与信息化部,潍坊 261000)
2(河北工业大学 经济管理学院,天津 300401)
随着计算机技术、现场总线技术的发展,计算机视觉技术的日臻成熟,视频监控已被广泛应用于机械制造、食品、化工、医药等制造行业.对于制造业企业来说,加强对现场生产过程的调度、质量、安全、人力、物资的控制是生产管理的关键,视频监控无疑是一种很好的监控手段.为能更好的实现生产过程的精细化管理,需要对视频监控数据进行处理和利用,运动目标检测是视频理解和分析的基础,可将视频中运动的人、生产设备等目标检测出来[1].
由于视频所包含的数据量巨大,而视频的处理技术如人脸识别的运算复杂度又较高,所以作为视频处理中减少运算量的一种重要方法,运动目标检测吸引了大批学者的关注.迄今为此,已经涌现出几十类运动目标检测算法[2-5].尽管这些算法在保证速度的前提下,对目标检测的精度相比以往提高了许多,但是依然无法满足视频应用的相应精度需求.
根据CDNet[6]在2012年以及2014年的运动目标检测算法排名结果,可知性能突出的算法有PBAS[7],ViBe+[8],PSP-MRF[9],FTSG[10],SuBSENSE[11].这些算法相比排名靠后的基本算法,不仅在单独的环境测试中性能更优,并且在树木摇晃,雨雪天气和光照与阴影等多样的环境下也能保持对所有基本算法的优势.然而,2014年,Jodoin等人[12]指出,多种算法的组合优于任何一种单独的算法.即使参与组合的算法排名靠后,但只要算法之间相互补充,排名靠后的基本算法组合起来也能击败排名靠前的算法.这样,如何继续提高运动目标检测算法的性能有了一个解决方案:通过组合已有并且相互补充的算法,或者为某一算法设计互补的算法进行组合.
但如何发现已有的互补算法,或者设计互补的算法? 从本质上看,运动目标检测就是将像素分类为运动目标像素或背景像素的过程.分类算法是通过分类特征对数据进行分类,因此运动目标检测算法是通过背景特征,对像素进行分类.一个算法对应着一种或多种背景特征,而背景特征之间的关系决定着相应算法之间的关系.例如基于纹理特征的算法(LBP[13])与目前已有的多数基于颜色特征的算法(ViBe[14],CodeBook[15],高斯算法[16])互补.直观上,纹理特征是多个像素点的区域特征,而颜色特征为单个像素点的灰度或彩色特征,因此基于这两种背景特征的算法互补.而基于颜色特征的算法之间的关系,多数不能从直觉上得到.如果不能得到背景特征之间的关系,那么在进行算法设计时,一旦组合相互重叠的背景特征,就可能导致耗费大量时间,性能却不能显著提高的结果.因为算法要在多个视频数据集上运行,由于视频数据量巨大,因此测试和调参等算法设计过程会耗费大量时间.同时,依据Jodoin提出的互补原则,重叠特征无法显著改善算法的性能.为了加快对算法的设计和显著提高算法的性能,急需对背景特征进行分析,从而指导算法设计.
然而目前针对背景特征进行分析的文章较少,运动目标检测领域的主流是直接分析各类算法的特点.以国内为例,万缨等人[17]对当时的运动目标检测算法进行了分类,并讨论了各类方法的主要优缺点,但没有对算法依赖的背景特征进行分析.如帧差法和统计学习法基于同一种背景特征,但在文献[17]的分类与分析中无法体现.史志刚[18]对CodeBook算法进行了重点分析并提出改进,即考虑到不同颜色空间对算法性能的影响,利用YUV空间替换原CodeBook算法的RGB空间,从而改进了CodeBook算法.但史志刚没有进一步分析不同颜色空间下的背景特征.高美凤等人[19]提出了一种混合算法,但并没有进一步分析混合算法所依赖的背景特征关系.王东方[20],宋雪桦[21],魏建猛[22]等人对高斯模型算法提出了改进,但没有考虑利用算法之间的组合对算法进行改进.Ji等人[23]提出粗糙集的鲁棒修正高斯混合模型,在一定程度上提高了图像分割的准确性,Chen等人[24]使用高斯混合模型解决视频编码在硬件实现中的应用问题,但改进的高斯混合模型未在运动目标检测算法上应用.根据Huang等人[25]基于视觉感知对运动目标检测算法的新颖性进行评估,可知已有的运动目标检测算法的性能存在一定的提升空间.
为完善背景特征分析,本文首先将面向工业场景的背景数据可视化,分析得到背景特征.例如通过将背景像素与运动目标在三维RGB空间展示,得到背景的方向特征和范围特征.然后,本文再对得到的背景特征进行分析,总结其特点并用直观的图形进行展示.例如对背景的方向特征,本文利用球坐标系直观地说明利用背景的方向特征进行分类,容易导致正确率高但召回率低的结果.最后,总结本文的工作.
在本文中,颜色特征特指单个像素点的灰度或彩色特征,如灰度值的分布特征,灰度值随时间的变化特征,彩色RGB向量值的分布特征,彩色RGB向量值随时间的变化特征.这是因为灰度图像和彩色图像在处理上的方法类似,用于处理灰度的方法往往适应于彩色.另外,本文中的静态背景(Static)特指非阴影的背景,并非表示不运动的背景,因此工业场景中的传送带、机械手等背景依然属于静态背景.同时,静态背景特指摄像机镜头固定的情形下的背景.最后,这是为了与CDNet[6]中对像素的分类保持一致,因为在CDNet中,像素被分为静态(Static)、阴影(Shadow)、运动(Motion)和未知(Unknow),即静态背景,阴影背景,运动目标和未知像素类.其中未知像素类常位于运动目标的边缘,由于像素分辨率的原因,人工无法对处在边缘的像素进行准确的分类,因此标记为未知.由于未知类像素是人为原因造成的,不在运动目标检测讨论的范围内,因此在本文中,也只对静态背景、阴影、运动目标进行分析.
图1 静态背景的灰度特征图
灰度特征是最简单的背景特征,因此首先对灰度特征进行分析.如图1,对不同像素值范围(0~80,81~160,161~255,0~255)的静态背景,分别制作散点图,直方图以及拆线图.相比运动目标而言,静态背景的灰度特征更容易被发现和利用.如图,散点图显示了像素的整体信息,如整体变化趋势,整体范围.直方图则可显示了像素的峰值,峰的数目,像素的分布信息.折线图则显示了像素的连续性.可以看到,静态背景的像素值会随时间而变化,后方将对这些变化进行分析并得出规律;像素值分布集中,但多峰的情况需要进一步分析;不同像素值范围的静态背景的直方图分布特征也各不相同,一方面这是因为像素值的范围为0~255,超出这个范围的像素信号将被置为255或0,因而在255附近容易形成高峰,另一方面这是因为背景变化的幅度不同,如室内背景变化较小,室外背景变化很大.同时应该注意到,本节只给出了静态背景的整体特征,分布特征和连续性特征,并没有与运动目标,阴影进行比较分析,以致无法得到像素的分类特征.因此接下来的章节,将分析静态背景与运动目标,阴影之间的关系,并提取背景特征.
由于众多的运动目标检测算法基于距离(像素值与像素值之间的距离,如亮度差),而只有了解像素在空间的分布,才能选择合适的距离公式.如果像素在空间中的分布呈球状,则采用欧式距离公式;如果像素在空间中的分布呈椭球状,则要先对像素空间进行变换,使像素分布呈球状,再采用欧式距离公式.而像素空间的选择有多种,如归一的RGB,HSV,HSI,YCbCr等像素空间.文献[12]用实验证明,RGB颜色空间更好.因此,本文将在RGB像素空间上分析像素的间分布特征.同时,选择散点图进行作图分析,从而结合像素的分类信息,对各类像素的空间分布特空征进行分析.实验首先对单个像素点上的像素序列进行三维RGB空间散点作图.如图2,其中主要蓝色的点为静态背景(Static),红色的点为运动目标(Motion),深绿色的点为未知(Unknow),青色的点为阴影(Shadow).可以看到,静态背景(Static)在三维RGB空间的分布相对于运动目标(Motion)而言更加集中,并且静态背景像素与运动目标像素在分界面呈柱面状.由于实验中采样得到阴影像素较少,因此散点图中无法得到关于阴影像素的特征.关于阴影,将在2.4章节中进行单独分析.
静态背景像素相对集中,即像素值的方差较小,可以利用它对像素进行分类.即将方差小于某一阈值的像素序列分类为静态背景,而将方差大于某一阈值的像素序列分类运动目标.该特征在高斯模型算法中得到应用,然而在对高斯模型的研究中发现了新的问题:不同的像素点其静态背景像素的方差也不同,并且静态背景像素的方差随时间而变化.为了更精确地学习静态背景像素的方差,从而得到更精确的像素分类阈值,需要对静态背景像素的方差进行分析.比如寻找与其相关且更容易得到的特征(背景像素的平均值、最大值、最小值等),再利用这些特征对方差进行修正或更新.然而本文在实验中发现,静态背景像素的方差与这平均值、最大值、最小值的关系较小,但它与像素的极差(极差=最大值-最小值)有较大关系.
对于一个像素序列其平均值特征为:
方差特征值为:
极差特征值为:
其中,pmax,pmin分别为像素序列中的最大值和最小值.
静态背景像素相对集中,除了使用方差进行刻画,还可以可以通过范围进行刻画.如果学习到静态背景像素值的范围,那么可以通过比较像素值是否在该范围而对像素进行分类.但在本质上,利用范围与利用方差,其本质是相同的,因此基于范围特征的算法与基于方差的算法是重叠的,在进行组合时混合算法的性能并不会显著提高.
而静态背景像素与运动目标像素的分界面呈柱面这一特征,则在CodeBook[15]等算法中得到应用.即通过将向量(R,G,B)归一化,得方向向量,再利用静态背景像素之间的方向向量夹角较小,而静态背景像素与运动目标像素之间的方向向量夹角较大(方向特征),对像素进行分类.然而由于运动目标像素的方向向量经常与背景像素重叠,由于这一特征在三维空间直角坐标系中并不直观,因此将方向向量映射到球坐标系,在不丢失信息的同时,在维数从3降到2,从而在二维平面直角坐标系中进行展示.如图3,静态背景与运动目标大量重叠,但从图2中可以看到,虽然运动目标与静态背景距离较大,但方向向量之间的距离很可能较小.因此还要考虑其它的特征,如分界面的上下界,即静态背景像素值的上界和下界(上下界特征或范围特征).在图2和图3中可以看到,上下界特征应和方向特征结合使用.
图2 单个像素点在三维RGB空间的分布
前面分析了单点像素序列在空间中的分布,这并不能得到单个像素随时间的变化特征,并且由于背景是变化的且存在噪声,所以只要取样的时间足够长,静态背景像素会将三维像素空间逐渐填满.如图4(a),通过作像素序列R、G+10、B+20与时间的散点图,在观察分类的同时,分析各个量随时间的变化特征.实验中,由于R、G、B三种像素值非常接近,因此为了防止三条曲线之间的相互覆盖,对G与B的值进行了修正.这样,可以观察到,在多数情况下,RGB三种像素值同步变化,如在t=1010~1020时,三种像素值同时增加.同时也可以观察到,三种静态背景像素值随时间的变化幅度大多数处于-5~5之间,而运动目标的变化幅度则可能达到200以上.
图3 三维方向向量序列映射到球坐标系
图4 像素随时间的变化图
另外,从图4(a)中可以观察到,静态背景像素的值基本上稳定不变,在t=0~90时,静态背景像素值的最大值与最小值之间仅仅差1 0.但换一个像素位置,在图4(b)可以看到,在t=0~80时,背景像素的最大值与最小值之间相差超过40.同时,图4(b)图t=12时,下一时刻的变化幅度接近20,远远高于图4(a)图的变化幅度.
像素值随时间的变化幅度可以用帧差衡量,由于背景像素的帧差相对运动目标较小,因此可以利用帧差对像素进行分类.典型的算法即基本算法中的帧差法,然而,进一步实验发现,有时运动目标也同样随时间连续变化,这对应着现实环境中运动目标较大且颜色单一的情况,因此为保证正确率,帧差法得到的运动目标往往不完整.对同一帧视频中所有背景像素,作相应帧差直方图可以得到图5(a);同样,再对运动目标进行实验可以得到图5(b).比较可以发现,静态背景和运动目标的帧差在0-20时都达到峰值.因此为保证正确率,帧差法会将大量运动目标误差为背景像素.但注意到帧差在20~255时,主要的像素为运动目标像素,此时由于静态背景像素只占10%左右或者更少,因此可以直接将像素判断为运动目标.如果结合噪声过滤等操作,可以进一步提高帧差法的正确率,使之达到90%.而依据CDNet 2014年的结果,目前在所有视频类的测试中,正确率最高的为FTSG,76.96%.然而,帧差法是也是通过计算像素与背景像素之间的距离对像素进行分类,这与之间提到的利用方差,利用范围对像素进行分类重叠.因此帧差法并不能显著改善基于方差或范围特征的算法.
图5 静态背景的帧差与运动目标的帧差
阴影不同于动态背景,它伴随着运动目标而出现,因此容易被当成运动目标.由于在整个像素序列中,阴影出现的频率较低,并且需要将阴影同运动目标以及静态背景进行比较,因此采用直方图的形式来展现阴影的峰值特征,并利用散点图来分析阴影像素在像素值上的特征.
如图6所示,取像素中的某一固定位置在某一时间段进行采样,并将采样结果用直方图的形式显示出来.图片GroundTruth及Input中的红点表示取样点的位置.GroundTruth为某一帧时的真实背景,Input为视频某一帧的输入,Shadow为一段时间内阴影分布直方图,水平轴代表着像素值,竖直轴代表出现该像素值的频数.同样,Static与Motion分别为非阴影背景和运动目标的分布直方图,由于有时取样点中在采样时间段中没有被运动目标经过,因此Motion的直方图可能为空白.综合多个视频可以得到,阴影并不服从高斯分布,往往有多个峰值,虽然多数情况下阴影的灰度值要小于非阴影背景,但如图7(a)所示,运动目标的灰度值可能与阴影非常接近,因此利用阴影灰度值要小于非阴影背景灰度值的假设可能造成运动目标漏检.阴影是至今未解决的一大难点[12],从图7(a)可以看到,阴影与运动目标在像素值上难以区分.虽然多数算法中利用阈值对阴影和运动目标进行区分,但实际情况是,利用阈值可以处理一些简单的情况 ,如只出现阴影的情况(如图7(b)),这时不会出现将运动目标分类的为阴影的错误.但对于图7(a),利用阈值则存在理论上的缺陷,或者出现将阴影分类为运动目标的错误,或者出现将运动目标分类为阴影的错误.
图6 单个像素的阴影灰度的时间上的分布
图7 阴影、静态背景以及动态前景的散点图
虽然多数算法将边缘特征与纹理特征单独进行处理,但本质上,边缘特征属于纹理特征.边缘特征可以只利用一帧视频就得到有关于运动目标的信息,而其它特征往往要利用两帧或两帧以上的视频才能得到有关运动目标的信息.然而边缘特征存在阈值选取的问题.如果阈值过高,则无法检测到运动目标的边缘.如果阈值过低,则会引入背景边缘.同时,由于边缘特征只能得到图像的边缘,并且往往得不连续的.如图8所示,对输入图像Input求边缘,得到的Sobel和Canny边缘特征如图所示,可以看到,边缘特征不仅没有包含运动目标的完整边缘,同时还含有大量背景边缘.同样,在流水线的传动带上的待加工产品的边缘特征也很难准确界定.在本文的实验中,即使改变边缘算子或者阈值,也无法得到理想的边缘信息(包含运动目标的完整边缘,同时不含或只含少量背景边缘).因此,尽管边缘特征含有运动目标的特征,但由于背景边缘的影响,边缘特征很难被利用.
在运动目标检测算法中,最常用的纹理特征就是局部二值模式特征,即LBP.虽然单纯基于纹理特征的算法在排名上靠后,但在性能较优的混合算法中,基于纹理特征的算法相比排名靠前的算法,出现的频率更高[12].对纹理的详细分析超过了本文的范畴,本文仅对LBP进行分析.
图8 Sobel和Canny边缘特征
通过计算单个像素点p的3×3邻域的LBP得到图9,计算公式如下:
其中,pcenter为任意一个像素的位置,pneighbor为与像素p相邻的像素,在3×3的邻域中,N=8.
图9 像素的LBP纹理特征
如图9所示,虽然Static与Motion的LBP分布不同,但在pLBP=0附近,Static与Motion容易同时出现峰值,从而造成误检.同时可以看到Static的主要峰值包含Shadow的主要峰值,因此利用LBP进行运动检测时可以消除阴影.对于LBP容易为0的问题,有几种解决方案,一是通过扩大邻域范围,如将3×3的邻域扩大为5×5或者7×7.二是改变二值化函数.然而,目前的纹理特征还是无法准确处理纹理不明显的情况,即在像素相对平坦的区域(像素中心点像素值与邻域的像素值相近的区域),纹理特征无法很好地区分背景与运动目标.在像素相对平坦的区域,静态背景的纹理值与运动目标空间的值均接近0,因此容易出现将运动目标分类为背景的错误.但在图中也可以看到,阴影将会被正确地分类为静态背景,因为阴影的纹理特征值基本上出现在静态背景纹理特征值的值域内.利用LBP局部二值模式特征,能有效的区分厂房内灯光对待加工产品形成的阴影的识别.
本文从方向、范围、方差、帧差、边缘和纹理分析面向工业场景的背景特征,上述特征可归为向量特征、标量特征和区域特征三个维度.其中,向量特征包括方向,标量特征包括帧差、方差、范围,区域特征包括边缘、纹理.维度相同的两个背景特征重叠,维度不同的两个背景特征互补.同时,由于互补特征越多,混合算法的性能就越好.因此,为了进一步提高工业场景中运动目标检测算法的性能,首先可以通过本文的可视化方法寻找新的背景特征并分析,其次可以从三个维度对背景特征进行选择,最后组合背景特征并进行实验得到性能显著提升的混合算法.本文的分析结果在算法优化方面有很多指导应用的作用.例如,静态背景像素相对集中,像素值的方差较小,可以利用它对像素进行分类,将方差小于某一阈值的像素序列分类为静态背景,而将方差大于某一阈值的像素序列分类运动目标.该特征在高斯模型算法中得到应用.而静态背景像素与运动目标像素的分界面呈柱面这一特征,通过将向量(R,G,B)归一化,对像素进行分类,在等算法中得到应用等.相比盲目的选择背景特征进行组合并实验,利用本文的工作进行面向工业场景的背景特征选择可以节省大量的时间,并显著提升算法的性能.
1 代科学,李国辉,涂丹,等.监控视频运动目标检测减背景技术的研究现状和展望.中国图象图形学报,2006,11(7):919-927.[doi:10.11834/jig.200607158]
2 Benezeth Y,Jodoin PM,Emile B,et al.Comparative study of background subtraction algorithms.Journal of Electronic Imaging,2010,19(3):033003.[doi:10.1117/1.3456695]
3 Brutzer S,Höferlin B,Heidemann G.Evaluation of background subtraction techniques for video surveillance.Proceedings of 2011 IEEE Conference on Computer Vision and Pattern Recognition.Colorado Springs,CO,USA.2011.1937-1944.
4 Bouwmans T.Traditional and recent approaches in background modeling for foreground detection:An overview.Computer Science Review,2014,11-12:31-66.[doi:10.1016/j.cosrev.2014.04.001]
5 Sobral A,Vacavant A.A comprehensive review of background subtraction algorithms evaluated with synthetic and real videos.Computer Vision and Image Understanding,2014,122:4-21.[doi:10.1016/j.cviu.2013.12.005]
6 Goyette N,Jodoin PM,Porikli F,et al.Changedetection.net:A new change detection benchmark dataset.Proceedings of 2012 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops (CVPRW).Providence,RI,USA.2012.1-8.
7 Hofmann M,Tiefenbacher P,Rigoll G.Background segmentation with feedback:The pixel-based adaptive segmenter.Proceedings of 2012 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Providence,RI,USA.2012.38-43.
8 Van Droogenbroeck M,Paquot O.Background subtraction:Experiments and improvements for ViBe.Proceedings of 2012 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.Providence,RI,USA.2012.32-37.
9 Schick A,Bäuml M,Stiefelhagen R.Improving foreground segmentations with probabilistic superpixel Markov random fields.Proceedings of 2012 IEEE Computer Society Conference on Computer Vision and Pattern Recognition Workshops.Providence,RI,USA.2012.27-31.
10 Wang R,Bunyak F,Seetharaman G,et al.Static and moving object detection using flux tensor with split Gaussian models.Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition Workshops.Columbus,OH,USA.2014.420-424.
11 St-Charles P,Bilodeau GA,Bergevin R.Flexible background subtraction with self-balanced local sensitivity.Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition Workshops.Columbus,OH,USA.2014.414-419.
12 Jodoin PM,Piérard S,Wang Y,et al.Overview and benchmarking of motion detection methods.In:Bouwmans T,Porikli F,Hoferlin B,et al.,eds.Background Modeling and Foreground Detection for Video Surveillance.New York:CRC Press,2014.
13 Heikkila M,Pietikainen M.A texture-based method for modeling the background and detecting moving objects.IEEE Transactions on Pattern Analysis and Machine Intelligence,2006,28(4):657-662.[doi:10.1109/TPAMI.2006.68]
14 Barnich O,Van Droogenbroeck M.ViBe:A universal background subtraction algorithm for video sequences.IEEE Transactions on Image Processing,2011,20(6):1709-1724.[doi:10.1109/TIP.2010.2101613]
15 Kim K,Chalidabhongse TH,Harwood D,et al.Real-time foreground-background segmentation using codebook model.Real-Time Imaging,2005,11(3):172-185.[doi:10.1016/j.rti.2004.12.004]
16 Bouwmans T,El Baf F,Vachon B.Background modeling using mixture of Gaussians for foreground detection-a survey.Recent Patents on Computer Science,2008,1(3):219-237.[doi:10.2174/2213275910801030219]
17 万缨,韩毅,卢汉清.运动目标检测算法的探讨.计算机仿真 ,2006,23(10):221-226.[doi:10.3969/j.issn.1006-9348.2006.10.056]
18 史志刚.视频序列中运动目标检测与跟踪技术研究[硕士学位论文].西安:西安电子科技大学,2014.
19 高美凤,刘娣.分块帧差和背景差相融合的运动目标检测.计算机应用研究,2013,30(1):299-302.[doi:10.3969/j.issn.1001-3695.2013.01.077]
20 王东方,王玉德,王景武.基于改进的混合高斯模型的运动目标检测方法.激光技术,2014,38(6):776-779.[doi:10.7510/jgjs.issn.1001-3806.2014.06.011]
21 宋雪桦,陈瑜,耿剑锋,等.基于改进的混合高斯背景模型的运动目标检测.计算机工程与设计,2010,31(21):4646-4649.
22 魏建猛,陈松,庞首颜.改进的混合高斯模型视频运动目标检测算法.重庆交通大学学报(自然科学版),2013,32(2):365-368.[doi:10.3969/j.issn.1674-0696.2013.02.41]
23 Ji ZX,Huang YB,Xia Y,et al.A robust modified Gaussian mixture model with rough set for image segmentation.Neurocomputing,2017,266:550-565.[doi:10.1016/j.neucom.2017.05.069]
24 Chen W,Tian YH,Wang YW,et al.Fixed-point Gaussian Mixture Model for analysis-friendly surveillance video coding.Computer Vision and Image Understanding,2016,142:65-79.[doi:10.1016/j.cviu.2015.09.006]
25 Huang W,Liu L,Cui MJ,et al.A novel evaluation metric based on visual perception for moving target detection algorithm.Infrared Physics &Technology,2016,76:285-294.