基于监控视频的人群密度统计系统
2018-06-04崔震靳计艳
崔震 靳计艳
行人检测依据行人检测区域的不同可以分为整体法和部分法。整体法主要是以全身信息作为判断依据,利用直方图、小波算法等进行识别;而部分法则是将人体看作部分的组合。目前大多研究人员的重点放在人头的检测上,主要方法有基于模板匹配和机器学习。我们的主要研究内容是对有效区域内的运动目标进行实时检测,然后在此基础上对被检测的对象进行跟踪并统计该区域内的人群密度。
1 背景建模
使用统计的方法实现背景建模及运动目标检测是当前目标检测方法中效果较好的一类方法。该类方法利用统计值表征背景,建立背景模型。不同的监控场景有着不同的特性,背景模型因此分为单模态和多模态两种。单模态的场景中,每个背景像素点的颜色值分布比较集中,可以用单一分布的概率模型来描述背景;而在多模态的场景中,每个背景像素点的颜色值分布非常分散,需要用多个分布的概率模型相拟合描述背景。在实际的场景中,由于光照变化、背景中轻微扰动(如户外场景中树枝的轻微摇摆)等因素的影响,背景模型往往是多模态的。本文主要高斯混合建模算法与帧间差分法的结合。
1.1 高斯混合背景建模
1.1.1 混合高斯背景建模理论
混合高斯背景建模是基于像素样本统计信息的背景表示方法,利用像素在较长时间内大量样本值的概率密度等统计信息(如模式数量、每个模式的均值和标准差)表示背景,然后使用统计差分(如3σ原则)进行目标像素判断,可以对复杂动态背景进行建模,计算量较大。
在混合高斯背景模型中,认为像素之间的颜色信息互不相关,对各像素点的处理都是相互独立的。对于视频图像中的每一个像素点,其值在序列图像中的变化可看作是不断产生像素值的随机过程,即用高斯分布来描述每个像素点的颜色呈现规律:单模态(单峰),多模态 (多峰)。
对于多峰高斯分布模型,图像的每一个像素点按不同权值的多个高斯分布的叠加来建模,每种高斯分布对应一个可能产生像素点所呈现颜色的状态,各个高斯分布的权值和分布参数随时间更新。当处理彩色图像时,假定图像像素点R、G、B三色通道相互独立并具有相同的方差。对于随机变量X的观测数据集,为t时刻像素的样本,则单个采样点其服从的混合高斯分布概率密度函数。
其中k为分布模式总数,为t时刻第i个高斯分布,为其均值,为其协方差矩阵,为方差,I为三维单位矩阵,为t时刻第i个高斯分布的权重。
1.1.2 算法流程
每个新像素值Xt同当前K个模型按下式进行比较,直接找到匹配新像素值的分布模型,即同该模型的均值偏差在2.5σ内:
如果所匹配的模式符合背景要求,则该像素属于背景,否则属于前景。
各个模式权值按如下方式进行更新,其中a是学习速率,对于匹配的模式Mk, t=1,否则Mk, t=0,然后各模式的权重进行归一化:
未匹配模式的均值μ和标准差σ不变,匹配模式的参数按照如下更新:
如果,第一步中没有任何模式匹配,则权重最小的模式被替换,即该模式的均值为当前像素值,标准差为初始较大值,权重为较小值。
各模式根据w/a^2按降序排列,权重大、标准差小的模式排列在前。
选前B个模式作为背景,B满足下式,参数T表示背景所占的比例:
以下为实际运行效果图:
图1-1 高斯混合背景建模原始图
1.2 帧差法背景建模
该算法的主要思想检测出相邻两帧图像中发生变化的区域。用图像序列中的连续两帧图像进行差分,然后二值化该灰度差分图像来提取运动信息。由帧间变化区域检测分割得到的图像,区分出背景区域和运动区域,进而提取要检测的目标。
它是通过比较图像序列中前后两帧图像对应像素点灰度值的不同,通过两帧相减,如果灰度值很小,可以认为该点无运动物体经过;反之则认为有物体经过。第k帧和k+1帧图像f,之间的变化用一个二值差分图像D(x,y)表示,如式:
二值化图中0对应前后伪变化的地方,1对应变化的地方。如下所示:
图1-3 帧间差分法示意图
1.3 高斯混合结合帧差法背景建模
该算法主要线性混合了高斯混合背景建模与帧间差分法的背景建模模型。算法过程如下:
首先,同时进行高斯混合建模与帧间差分法,分别得到背景模型与运动前景。然后将运动前景进行阴影处理,形态学运算,并将其结果进行线性混合。
流程图如下:
图1-4 高斯混合结合帧差法背景建模流程图
1.4 阴影处理
在人群密度检测提取运动目标的过程中,在光照比较强烈的条件下,会把阴影也当做运动目标检测出来,从而影响检测的结果。基于高斯混合背景建模的原理,我们使用颜色空间转换的阴影消除算法来去除阴影。
具体方法如下:首先,将目标帧从多通道图像转换为灰度图像,便于进行阈值化处理,之后使用阈值化算法对灰度图像进行阈值化处理,从而消除阴影。
由于高斯混合背景建模是基于BGR颜色空间的,转换成灰度图后,有部分目标由于颜色与阴影颜色差别很小而被误检为阴影从而导致运动目标的漏检,因此本实验引入帧间差分法来消除阴影处理带来的影响。
流程如下:
图1-5 阴影处理流程图
阴影处理的效果如下图所示:
图1-6 阴影处理前
图1-7 阴影处理后
由上图可以看出,本实验采用的阴影处理算法效果满足实验的要求。
2 跟踪算法
2.1 跟踪算法介绍
在视频检测技术中,人们已经对目标跟踪做了大量研究,而且已经形成一套较为成熟的理论体系。目前的行人跟踪算法主要有CamShift跟踪算法,Mean-Shift跟踪算法等。
(1) Mean-Shift跟踪算法
Mean-shift算法的本质是一个迭代过程。Mean-Shift跟踪算法通过计算目标区域和候选区域内像素的特征值概率得到关于模型以及候选模型的描述,然后利用相似函数初始模型与当前的模型进行对比,选择相似程度最大的模型并的得到Mean-Shift向量,这个向量就是目标的移动方向。由于Mean-Shift快速收敛的特性,不断迭代后可以计算到目标的真实位置,完成跟踪。
(2)CamShift跟踪算法
CamShift跟踪算法是对MeanShift跟踪算法的改进,更够自动调节搜索窗口的大小来适应目标,可以跟踪视频中大小发生变化的目标,是一种半自动的跟踪算法,需要手动设定跟踪的目标。
算法通过视频图像中的颜色为特征,对图像进行Mean-Shift运算,并将上一帧的目标的位置和大小作为下一次运算的初始值。通过不断迭代来达到跟踪的目的。
(3) 基于区域的目标跟踪算法
基于区域的跟踪方法就是通过使用一块区域代表运动目标,且每个运动目标都对应一块区域。通过提取该区域的特征来表征感兴趣的目标特征,如该区域质心,长宽等。因此只需要对区域进行匹配,便可达到跟踪目标单位的目的。
该算法的优点是计算量小,实时性比较好。但是当区域发生相互碰撞时,需要对连通区域进行一定的处理。处理之后便可以达到跟踪的目的。
本项目主要使用基于区域的目标检测算法。
3 项目截图
如下所示是项目运行截图:
图3-1 行人检测效果图1
图3-2 行人检测效果图2
图3-3 行人检测效果图3
图3-4 行人检测效果图4
图3-5 行人检测效果图5
4 实验数据分析
在第三教学楼采集视频序列,视频帧大小为1920*1080,为了提高算法的处理速度,将视频帧大小缩放为640*360。设置行人最小长宽为120,80。经过多次测试,结果如下:
表1 实验数据
从统计结果可以看出,在行人较为稀疏的情况下,本文算法的准确率在90%以上,在行人较为稠密的情况下,准确率在85%以上,基本上可以达到实际应用的要求。
5 项目总结
本项目主要研究了基于监控视频的人群密度统计技术,实现了对监控视频中行人密度以及行人流量的统计。
主要研究成果如下:
(1)实现了高斯混合背景建模与帧间差分法的结合。在进行高斯混合背景建模的同时使用帧间差分法,将两者进行预处理之后进行线性加权混合。解决高斯混合背景建模由于光照和颜色对于检测结果带来的问题。而高斯混合背景建模算法同时又能够提升帧差法的检测准确度。
(2)阴影消除。根据阴影产生的原理,合理利用颜色空间的转换算法,先将原始二值化带阴影图片转化为灰度图片,对灰度图片进行二值化阈值处理,把灰色阴影区域去除,再转换到原始颜色空间。然后与帧差法经过预处理之后的效果图进行线性混合,就能合理有效的去除阴影。
(3)行人检测算法的优化。使用基于面积的跟踪方法,结合基于团块的计数算法,加快检测的速度提高准确度。首先利用运动区域跟踪找出可能含有行人的目标团块,之后使用计数算法得出结果。经过实验证明,这种方法能够有效的提高系统的运行速度且对系统的准确度影响较小。
[1]吴海江等.基于视频的行人流量统计技术的研究[D].云南:昆明理工大学,2010.
[2]王丽霞等.基于视频的行人目标检测与跟踪算法研究[D].辽宁:大连交通大学,2012.
[3]李立宗.OpenCV编程案例详解[M]. 北京:电子工业出版社, 2016:4-12.
[4]魏玮,吴琪.三帧差结合改进高斯建模的运动目标检测算法[J].计算机工程与设计, 2014, 35(3):949-952.
[5]王丽娟. 基于OpenCV与混合高斯建模的运动目标检测[J]. 电子测试,2009(9):86-90.