基于背景建模和帧间差分法的高点监控行人检测

2018-10-30 09:53胡亚洲周亚丽张奇志
实验室研究与探索 2018年9期
关键词:差分法差分行人

胡亚洲, 周亚丽, 张奇志

(北京信息科技大学 自动化学院,北京 100192)

0 引 言

当今社会,城市发展十分迅速,大量人口不断地涌入城市,给城市的治理造成了很大的困难。尤其一些人流量比较密集的地方,极易发生拥堵或踩踏等事故,比如火车站广场等。人流过于密集为工作人员的管理带来很大的困难,同时智慧城市的建设也在如火如荼的进行中,智能监控统计人流量也属于智慧城市建设的一部分,因此,一套安全有效的高点行人检测方案对智慧城市的建设是很有帮助的。

行人检测的方法主要有方向梯度直方图(Histogram of Oriented Gradient, HOG)和支持向量机(Supported Vector Machine,SVM)、AdaBoost和Haar分类器训练行人检测模型、DPM行人检测[1]和近几年广泛使用的深度学习行人检测算法。2005年在IEEE国际计算机视觉与模式识别会议(IEEE Conference on Computer Vision and Pattern Recognition,CVPR)上,Dalal等[2]提出利用HOG进行特征提取。HOG特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子,它通过计算和统计图像局部区域的梯度方向直方图来构成特征。提取的HOG特征结合SVM分类器组成的算法,已经被广泛的在图像处理目标识别领域应用,尤其在行人检测中获得了很好的效果,在工程项目上也广泛使用[3]。虽然Papageorgiou等在人脸检测上最先应用Haar-like特征,但是在2001年Viola等[4]在Adaboost迭代算法的基础上,使用Haar-like小波特征和积分图方法进行人脸检测[5],提取了关于人脸更好的特征,而且对AdaBoost迭代算法训练出的弱分类器进行级联,组成一个更好的强分类器,因而达到了更好的检测效果,这次飞跃,在人脸检测的历史进程中具有重大的意义。同样Haar-like特征[6]在行人检测上同样适用。上述算法实现过程都是提取大量样本的特征,通过学习记忆,到达再次出现行人的时候可以准确地检测出来,前提是人物的特征比较明显。深度学习的概念由Hinton等于2006年提出,近几年深度学习应用非常广泛,在计算机视觉,语音识别,自然语言处理方面都有广泛的应用。深度学习行人检测的主要算法有Faster-Rcnn、SSD、Yolo,这些算法在目标检测领域都有很好的效果。2015年Ross Girshick团队在Fast-Rcnn基础上提出了Faster-Rcnn,简单网络目标检测(ZF模型)速度可以达到帧率17 f/s,在PASCAL VOC数据集上的准确率为59.9%;复杂网络帧率在5 f/s左右,准确率可以达到78.8%[7]。虽然该算法速度慢,但是Faster-Rcnn是通过大量样本自己去学习目标的特征,在检测效果上比传统算法有了很大的提升,但是该算法需要在配置GPU显卡的电脑上运行,对计算机硬件的要求比较高,很多应用场景不可能配置高性能的计算机,而且针对本文的高点行人检测应用场景,虽然样本也足够多,但是目标物很小,特征不明显,当新的行人出现时分不清是目标物还是噪声。综合分析,以上算法不适合现在的应用场景,本文中处理的行人目标很小,根本不能提取足够的特征来进行学习,所以排除了一些主流的行人检测算法。

由于场景比较特殊,行人占据的像素很小,本文通过运动的特征来统计人数,常见的方法有加权平均背景建模、混合高斯背景建模、帧间差分法、背景差分法。混合高斯背景建模是基于像素样本统计信息的背景表示方法,利用像素在较长时间内大量样本值的概率密度等统计信息(如模式数量、每个模式的均值和标准差)表示背景[8],然后通过视频流中的当前帧与背景帧做差分得到运动目标,但是该算法的计算量比较大,因而对机器的性能要求较高,而且对于小物体检测的效果不太理想。背景差分法是利用当前输入帧和背景差来获取运动目标,算法优点是简单、处理速度快,且差分结果能直接提取运动目标,不足是背景图像会受到天气和光线等外界因素的影响,需要对背景进行动态更新[9]。加权平均背景建模是一种简单、计算速度快但对环境光照变化和背景的多模态性比较敏感的一种背景建模算法。其基本思想是:计算每个像素的平均值作为它的背景模型。检测当前帧时,只需要将当前帧像素值I(x,y)减去背景模型中相同位置像素的平均值u(x,y),得到差值d(x,y),将d(x,y)与一个阈值T进行比较,得到输出。帧间差分法是一种通过对视频图像序列中相邻两帧作差分运算来获得运动目标轮廓的方法,它可以很好地适用于存在多个运动目标和摄像机移动的情况[10]。当监控场景中出现异常物体运动时,帧与帧之间会出现较为明显的差别,两帧相减,得到两帧图像亮度差的绝对值,但是大型广场行人的像素很小,单纯的用帧间差分法很难判断运动物体属于噪声还是目标。

针对上述算法分析,结合高点行人检测的具体应用场景,本文提出采用加权平均背景建模和帧间差分法相结合的算法实现高点行人检测。背景建模实时更新背景与当前帧进行比较,同时帧与帧之间采用帧间差分法比较,对两次比较的结果做差分,最后得出检测的结果。

1 算法实现

1.1 虚拟线圈即检测区域绘制

高点摄像头可以实现大面积布控,但是很多区域并不是我们感兴趣的区域,本文通过绘制虚拟线圈,可以有效地检测对应的感兴趣区域。

虚拟线圈的设置主要有两点目的,①手动绘制检测区域,实现只检测目标区域的行人;②由于处理数据的减少,提高了背景建模的效率,实时性更好。

1.2 背景建模

1.2.1背景提取

在统计运动物体时必须先建立场景的背景,这样才可以准确地统计出有用的前景信息,仅使用单帧图片是无法获得足够的信息,因此需要在实时统计行人数量前先进行背景建模。本文使用了多帧图像平均的方法[11],其原理是:背景图像的灰度值和运动物体灰度值有很大的差异,当运动物体经过背景图像上的特定点时,这就会引起该位置像素的变化,所以通过计算一段时间的图像的平均像素值,以此来获得该场景的背景图。本文中提取前N(N= 300)帧图像进行前期的背景建模,N取值越大,背景提取的效果越好。多帧平均算法的表达式如下:

(1)

式中:Bn为采集到第n帧图像时系统建立的加权平均背景模型,存储为灰度图格式;N为加权平均的帧数;fn,fn-1,fn,…,fn-N+1为系统所保留的连续N帧图像。图1为背景建模效果图。

(a)原始帧

(b)100帧背景建模

(c)200帧背景建模

(d)300帧背景建模

从图1(a)可以看到很多行人;图1(b)是通过100帧的背景建模,行人已经模糊,可以隐约看到行人,对于一直站着不动的行人,会把这些行人当作背景处理;图1(c)是经过200帧连续图像背景建模的效果,实际背景效果比图1(b)有一定的提升;图1(d)是经过300帧背景建模,可以发现背景的效果更加显著,虽然还有瑕疵,这是因为背景建模的帧数影响,通过后续实时背景更新,背景效果会有更好的提升。

1.2.2背景差分

背景差分[12]是运动目标检测中一种常见的方法,它是利用当前帧图像与背景图像的差分运算来检测出运动区域的一种算法。该算法实现的具体过程:①建立背景图像;②当前帧与背景图像做差分运算;③选择一个合适的阈值,对差分图像进行二值化。

背景差分的公式表达为:

式中:Ck(x,y)为当前帧图像;Bk(x,y)为背景建模之后产生的背景图像;Dk(x,y)为当前帧图像与背景图像做差分得到的差分图像。通过式(3)可以把差分图像转化为二值化图像,若Dk(x,y)>T(T为二值化的阈值),则Rk(x,y)=0,为运动的行人;Rk(x,y)=1为背景图像。

该算法原理及实现过程较简单,根据高点检测场景,通过调节参数及相关阈值可以准确地检测到运动目标的位置、大小和形状等相关信息,但是该算法受光线、天气等外界条件变化的影响较大。

1.2.3背景更新

前期采集300帧图像作为背景建模的样本,但是外部的环境也是在缓慢变化的,如光线等,这些变化会对差分的结果产生影响,所以需要实时更新背景[13],以适应场景的变化,达到更好的检测效果。背景实时更新是通过获取的当前帧与背景的加权平均所得,更新计算式如下:

(4)

式(4)说明新的1帧背景模型Bn可以由上一次计算得到的背景模型Bn-1,当前fn以及fn-N帧递推得到,这样就实现了背景模型的更新。显然,N值越大,得到的背景模型Bn就越接近于真实背景。

1.3 帧间差分法

帧间差分法[14]是一种通过对视频图像序列中相邻两帧作差分运算来获得运动目标轮廓的方法,它可以很好地适用于存在多个运动目标和摄像机移动的情况。帧间差分法的优点是:算法实现简单,程序设计复杂度低。对光线等场景变化不太敏感,能够适应各种动态环境,稳定性较好。其缺点是:该算法容易受到噪声的干扰,如果消除不了噪声,会产生很多的误检,对输出结果有很大的影响。

1.4 背景建模与帧间差分法结合

单独使用背景建模算法会受光线和天气等的影响,尤其光线变化时背景建模的前景检测方法易将背景检测为前景,形成大片阴影或者大的“斑点”的缺陷,造成行人定位坐标不准确和产生误检。帧间差分法对光线不敏感,能够适用各种动态,可以有效克服光线的影响,但是对噪声不敏感,由于行人目标比较小,单独使用帧间差分法会把噪声误判为行人,造成误检,使得统计结果不准确。鉴于以上算法的优缺点,本文将背景建模和帧间差分法结合起来,可以有效去除光线,噪声等的影响,降低误检率,统计结果更为准确。

1.5 人数统计

人数统计是行人检测的核心,本文中使用轮廓检测计算虚拟线圈内连通区域的数量来统计人流量。具体实现过程如下:①背景建模后经过背景差分输出的图像与帧间差分法输出的图像通过矩阵的与运算得到最后的输出;②对上述背景建模和帧间差分法输出差分图进行二值化操作,并且使用形态学的方法处理连通域的边缘噪声和内部无黏连区域,从而使得目标区域的行人组成一个连通区,更好地检测到轮廓;③通过计算轮廓的个数来统计人数。

2 实 验

为了验证文中所提算法,在VS2013环境下进行了实验验证,并与原算法进行比较。对监控视频进行检测,目标是能准确计算出行人数,不受周围噪声的影响。

本实验采用CPU2.5GHz、2GB内存的计算机。采用的视频分辨率为1 920×1 080,帧率为24帧/s。如图2所示,截取视频中的一帧,选取400×400作为原始图像。

图2 原始图像

2.1 背景建模结果

图3为背景建模算法检测结果。其中,预处理阶段所用参数:背景建模帧数N=300,阈值T=120,学习率α=0.01。从图3可以看出,检测效果受光线的影响使得框出的目标区域变大,多个行人被同一个框圈住,导致人流计数产生较大的误差,同时产生误检,把无人的区域误判为行人。

图3 背景建模算法效果

2.2 帧间差分法结果

该算法首先连续获取两帧原始图片,并且经过灰度变换转化为单通道图像,然后做差分,对差分后图像进行二值化,最后对二值化图像做膨胀和腐蚀,输出结果。相应的处理参数:原始图像的像素为400×400,二值化阈值T=20,实验结果如图4所示。从图4可以得到,帧间差分法对光线不敏感,可以有效克服光线的影响,但是受噪声的影响很大,导致误检较多。

图4 帧间差分法法效果

2.3 背景建模与帧间差分法结合后结果

在图像二值化预处理阶段,将背景建模后的差分图和帧间差分法得到的差分图相比较,既可以克服光线的影响也可以有效地减少由于噪声因素产生的误检,可以更加准确地统计人数,检测效果如图5所示。从图中可以发现,误检明显减少,人物的位置框选也相对准确,统计的人数的效果也有一定程度的提升。图6为本实验的软件界面及实验效果图。

图5 本文算法效果

图6 软件界面及统计结果

表1给出了单独使用一种算法和算法结合后的实验结果。可以发现,本文所采用的算法误检率最低。

表1 不同算法统计效果对比 个

3 结 语

本文提出了基于背景建模和帧间差分法相结合的的高点行人检测方法。实验证明采用背景建模和帧间差分法相结合的算法要优于单纯使用一种算法,可以充分滤除噪声,去除光照等影响。本文所设计的算法已经被郑州市火车站所采用,在误差允许的范围内可以准确地统计出人数,起到人数自动预警的作用,同时也节省了大量的人力物力,为智慧城市建设作出贡献。

猜你喜欢
差分法差分行人
RLW-KdV方程的紧致有限差分格式
二维粘弹性棒和板问题ADI有限差分法
数列与差分
毒舌出没,行人避让
路不为寻找者而设
我是行人
曝光闯红灯行人值得借鉴
基于差分隐私的大数据隐私保护
基于SQMR方法的三维CSAMT有限差分法数值模拟
相对差分单项测距△DOR