APP下载

基于智能监控视频的人流量统计

2018-03-23牛秋月李超唐国良

电子技术与软件工程 2018年4期

牛秋月 李超 唐国良

摘 要针对复杂环境下人流量统计准确度较低问题,本文提出新的人流量统计算法。首先对采集到的视频帧图像进行预处理增强前景物体边缘,接着用背景建模法完成运动物体检测;其次通过HOG提取样本特征并投入SVM分类器中进行训练,然后使用训练好的分类器进行人体目标的识别,输出目标位置;最后采用Camshift与Kalman滤波相结合的方法来实现人体跟踪计数。经实验,算法具有较高准确性和实时性。

【关键词】背景建模 HOG SVM Camshift Kalman滤波

1 引言

随着网络和多媒体信息处理技术的不断发展,智能视频监控系统作为安全防范、城市规划、市场决策的一种重要手段越来越受追崇,广泛应用于银行、医院、车站、商场等公共场所中。复杂环境下的人数流量统计对监控视频中的人群密度分析和目标跟踪提供了极大的便利。

近几年,智能监控视频人数统计作为计算机视觉领域的难点受到了国内外学者的密切关注,并取得了一定的进展。例如Viola[1]等人提出基于运动特征的人数统计方法。Antonin[2]等人提出一种基于轨迹的行人估计方法,王强[3]等人提出一种基于颜色和形状信息的人数统计方法。随着计算机视觉的发展,现阶段很多学者又把机器学习相关技术应用到人流量统计中。例如Wang[4]等人提出一种基于深度卷积神经网络回归模型计算图像中人数,Li[5]等人提出一种基于人头检测和跟踪的计数方法,周治平[6]等人提出一种基于特征回归与检测结合的人数统计方法,吴冬梅[7]等人提出一种基于线性内插透视矫正的SURF算法进行大规模人数统计。尽管国内外许多学者投入大量精力研究出别出心裁的行人检测和人数统计算法,但在实际应用中易受人体姿态、目标遮挡、光线等外界因素的影响,在准确性和实时性方面有待进一步提高。针对以上问题,本文提出的人流量统计算法首先对采集的视频帧图像进行预处理,减少外界因素的干扰,紧接着用背景建模技术检测出运动物体。其次通过HOG提取样本特征并投入SVM分类器中进行训练,然后使用训练好的分类器进行人体目标的识别,输出目标位置。最后用Camshift与Kalman滤波相结合的算法实现自动跟踪计数。经实验,算法具有较高准确性和实时性。

2 系统概述

为精确统计人流量,视频采集设备安装在室内入口顶部或其它不容易遮挡的位置进行试验。如图1所示,本文人流量统计系统主要包括视频预处理、行人检测、跟踪计数三部分。对于采集到的视频帧图像先进行二值化和形态学处理,简化后期运动目标检测工作,使图像前景物体的边界更加平滑。运动物检测主要是利用均值背景建模的方法估算得到背景,分离出前景运动物体。行人识别是通过HOG特征提取和SVM分类器进行人体目标的识别并输出目标位置。跟踪计数采用Camshift和Kalman滤波相结合的算法来实现人体跟踪,能够有效避免目标变形和其它障碍物的遮挡,从而精确统计出人流量。

3 視频预处理

为了更精确的检测出输入视频帧序列的行人,先对图像进行二值化和形态学处理,处理结果如图2所示。二值化主要是将图像原来每个像素点的灰度值都设为255和0两种取值,输入图像经过二值化处理之后,图像变得简单易处理,且数据量减少,能够凸显出目标物体的轮廓,提高后期处理的效率。

形态学处理主要是借助数学中的集合论来描述的,二值图像的基本形态学运算包括腐蚀、膨胀、开运算、闭运算。腐蚀和膨胀是形态学最基本的两种运算。若A为输入图像,B为结构元素,A被B膨胀的运算记为:,定义如下:

(1)

式(1)可理解为:A被B膨胀是所有位移x的集合,B的映射与A至少有一个元素是重叠的。其主要是用结构元素B扫描图像的每一个像素A,并与其覆盖的二值图像做“与”运算,作用是填补分割后物体中的空洞,使图像中的目标“生长”或“变大”。

腐蚀作用相反,会使目标图像缩小,A被B腐蚀,记为:,定义如下:

(2)

结构元素B对A的开运算,记为:,可定义为:,即先用结构元素B对A腐蚀,再用B对腐蚀结果进行膨胀,可使目标物体轮廓变得更光滑,断开狭窄的间断,消除小的突出物。

闭运算和开运算相反,记为:,可定义为:,即是先用B对A膨胀,然后再用B对其腐蚀结果进行腐蚀,可使目标物体轮廓更加光滑,消除狭窄的间断和小的孔洞并填补中间的断裂。

腐蚀和膨胀虽可以减少图像噪声,使目标物边界更加明显,但改变了原目标物体的大小,图像失真可能性较大;开操作与闭操作能在不明显改变原目标物体大小的同时,有效地平滑目标物的边缘,减少图像的失真,因此本文选择先进行开操作后进行闭操作来达到形态学的处理。

4 运动目标检测

本文最终目的是人流量统计,重点是从监控视频中识别出行人,因此应首先从视频中检测到运动物体,然后进行人体目标识别和跟踪计数。运动目标检测主流方法有三种:Frame Difference(帧差法)、Optical Flow(光流法)、Background Modeling(背景建模法)。

帧差法主要是通过视频序列中当前帧和相邻帧像素点灰度值的差异检测出运动目标。在视频序列中,临近的帧图像之间具有连续性,若视频中有运动物体时,临近帧图像之间的像素点灰度值差别会较大,反之,若视频中无运动物体时,临近帧图像之间的像素点灰度值差别会较小,帧差法就是利用此特性检测运动物体的。基本原理如图3所示,先用相邻两帧做差分运算,然后检测出运动目标。帧差法算法易于实现,且能较快检测出运动物体,但若运动物体速度较快且连续两帧间隔时间长,同一运动物体可能会被判别为两个不同的物体;若运动物体速度较慢且连续两帧间隔时间短,运动物体可能会被判别为背景。

光流法主要是通过观察视频帧图像内的光流矢量是否发生连续变化来判定是否有运动物体的,如果光流矢量连续变化,则判定为没有运动物体;否则,被判定为有运动物体。由于光流法不需要提前知道场景信息,能广泛应用于静态背景和动态背景运动物体检测。但其算法耗时较长,实时性较低,且易受周围噪声影响。

背景建模法是近阶段运动物体检测应用较多的一种方法,其算法关键是如何建立背景模型,当前背景建模主要采用易于实现且实时性较高的参数化背景建模方法。参数化背景建模过程如图4所示,首先根据背景参数构建背景模型,接着用模型和当前帧图像做差分运算,最后通过差分图像灰度值变化情况判定当前图像是属于前景还是背景,若灰度值变化较大为前景,否则为背景。背景建模法实现简单,实时性较高,且能有效地从变换频繁的背景中检测出运动物体。因此本文在运动检测时主要使用背景建模法,经实验,效果良好,符合复杂场景中运动目标检测的要求。

5 人体目标识别

本文基于OpenCV平台,利用HOG特征和SVM分类器来进行人体目标识别。OpenCV虽然自带有HOG和SVM的应用编程接口和人体目标识别的Model,但是OpenCV没有提供样本训练的Model。因此很多学者只能用OpenCV自带的已经训练好的分类器来进行人体目标识别。然而,OpenCV自带的分类器是基于HOG人体目标识别的提出者NavneetDalal博士和Bill Triggs博士的INRIA Person Dataset中的样本进行训练的,INRIA 数据库提供的样本图片多是静态行人,不能满足监控视频对行人检测的需要。因此本文将针对监控视频图像进行重新训练,以便得到精度较高的分类器。训练及识别流程如图5所示,首先搜集合适的样本图(部分正样本如图6所示、负样本如图7所示)并输入,其次通过HOG提取样本特征并投入SVM分类器中进行训练,最后使用训练好的分类器即可进行人体目标的识别,输出目标位置。

经实验,重新训练得到的分类器能够快速的检测出视频帧图像中的人体目标,实验结果如图8所示。

6 跟踪计数

上节已利用HOG特征提取与SVM成功检测出视频帧图像中的人体目标,但监控视频中人流量的统计要解决的问题是视频帧图像序列,而不是简单的静态图片,因此检测出人体目标之后还需对人体进行跟踪直至其消失在监控画面中。本文使用Camshift(连续自适应的MeanShift算法)与Kalman filtering(卡尔曼滤波)来实现人体跟踪,采用虚拟门的方式实现人流量计数,并规定行人从左向右走为进,反之为出。

6.1 Camshift算法

Camshift是基于图像的颜色特征来进行跟踪,其使用MeanShift算法不断对视频每一帧图像进行迭代,能够自适应调整目标跟踪区域的大小,实现流程如下:

(1)将视频帧图像的RGB彩色空间模型转换为在颜色分割中占优势的HSV模型,并提取代表色彩的H分量。

(2)由人体目标识别所得结果建立初始搜索窗口,并统计出搜索范围内的颜色密度分布和颜色直方图。

(3)运行MeanShift算法,得到新的窗口信息。

(4)重复(2)(3)两步,达到实时跟踪。

6.2 Kalman 滤波

Camshift算法是利用圖像的颜色特征不断迭代确定目标区域,进而实现实施跟踪,复杂环境下若目标周围存在噪声发生遮挡现象,Camshift算法可能会出现跟踪目标丢失现象,因此需结合具有预估能力的Kalman 滤波,防止跟踪目标丢失。

Kalman 滤波是卡尔曼(R.E.Kalman)和布塞(R.S.Bucy)在论文《线性滤波和预测理论的新成果》中提出的,Kalman 滤波是一个递归的过程,主要通过时间更新和状态更新两个过程来预估目标的位置坐标和速度。以下是卡尔曼滤波的两个重要方程:

状态方程:X(K)=H(K)X(K-1)+Q(K-1)

观测方程:Y(K)=A(K)X(K)+R(K)

其中,

假设,X(K)和X(K-1)分别代表K和K-1时刻的状态矢量,Y(K)代表K时刻的测量值,Q(K)和R(K)为高斯白噪声,H(K)为观测矩阵,A(K)为状态转移矩阵。

Kalman滤波首先将Camshift算法检测到的目标质心位置信息赋值给零时刻的X(0)和Y(0);在跟踪的时刻K,由上一时刻的最优估算值X(K-1)得到当前时刻的最优估算值X(K);接着再通过Camshift算法计算当前时刻目标的质心信息赋值给Y(K);最后通过测量值和最优估算值可以得到当前的最优估算X(K),并用于Camshift下一帧的计算。

为了验证本文使用的Camshift与Kalman 滤波相结合的跟踪算法的准确性和实时性,分别使用室外监控视频和室内监控视频来验证此算法的效果。实验结果如图9所示。

7 总结

本文主要研究了智能视频监控中的人流量统计,为了简化后期行人检测工作,使图像前景物体的边界更加平滑,首先对采集到的图像进行二值化和形态学处理工作;在运动目标检测部分,使用易于实现且实时性较高的背景建模法;在人体目标识别中,首先通过HOG提取样本特征并投入SVM分类器中进行训练,然后使用训练好的分类器进行人体目标的识别;最后采用Camshift与Kalman滤波相结合的方法来实现人体跟踪计数。经过不同场景下的实验,本文所使用的人体目标识别和跟踪算法具有较高准确性和实时性,具有一定的使用价值,但仅局限于在静态背景和单目环境下使用,下一步研究将会在多变的动态背景下,使用多个摄像头实现联动跟踪计数。

参考文献

[1]Viola P,Jones M J,Snow D.Detecting Pedestrians Using Patterns of Motion and Appearance[J]. International Journal of Computer Vision,2005,63(02):153-161.

[2] Antonini G,Martinez S V,Bierlaire M, et al.Behavioral Priors for Detection and Tracking of Pedestrians in Video Sequences[J].International Journal of Computer Vision,2006, 69(02):159-180.

[3]王强,冯燕.基于颜色和形状信息的快速人数统计方法[J].计算机测量与控制,2010,18(09):2157-2159.

[4]Wang C,Zhang H,Yang L,et al.Deep People Counting in Extremely Dense Crowds[C].ACM International Conference on Multimedia.ACM, 2015:1299-1302.

[5]Li B,Zhang J,Zhang Z,et al.A people counting method based on head detection and tracking[C]// International Conference on Smart Computing.IEEE,2015:136-141.

[6]周治平,許伶俐,李文慧.特征回归与检测结合的人数统计方法[J].计算机辅助设计与图形学学报,2015,27(03):425-432.

[7]吴冬梅,王静,李白萍等.基于改进SURF算法的大规模群体人数统计[J].西安科技大学学报,2015,35(05):650-655.

[8]吴辰夏.二值化图像特征及其应用[D].浙江大学,2013.

[9]崔宝侠,李爱军,苏桂华.基于数学形态学的交通图像滤波处理方法研究[J].沈阳工业大学学报,2007,29(02):192-196.

[10]Fan X,Cheng Y,Fu Q.Moving Target Detection Algorithm Based on Susan Edge Detection and Frame Difference[C].International Conference on Information Science and Control Engineering.IEEE,2015:323-326.

[11] LIU Hong-bin,CHANG Fa-liang. Moving object detection by optical flow method based on adaptive weight coefficient[J].Guangxue Jingmi Gongcheng/optics\s&\sprecision Engineering,2016,24(02):460-468.

[12]Tanaka T,Shimada A,Taniguchi R I,et al.Towards Robust Object Detection:Integrated Background Modeling Based on Spatio-temporal Features[M]// Computer Vision-ACCV 2009.Springer Berlin Heidelberg, 2010:201-212.

[13]Dalal N,Triggs B.Histograms of oriented gradients for human detection[C].Computer Vision and Pattern Recognition,2005.CVPR 2005. IEEE Computer Society Conference on. IEEE,2005:886-893.

[14]Alonso I P,Llorca D F,Sotelo M ?,et al.Combination of Feature Extraction Methods for SVM Pedestrian Detection[J].IEEE Transactions on Intelligent Transportation Systems, 2007,8(02):292-307.

[15]王晋疆,刘阳,吴明云.基于快速鲁棒特征的CamShift跟踪算法[J].计算机应用,2013,33(02):499-502.

[16]翟卫欣,程承旗.基于Kalman滤波的Camshift运动跟踪算法[J].北京大学学报(自然科学版),2015,51(05):799-804.

[17]姚放吾,许辰铭.基于目标质心的Meanshift跟踪算法[J].计算机技术与发展,2012,22(06):104-106.

作者简介

牛秋月(1990-),女,河南省鹿邑县人。硕士学位。主要研究方向为模式识别与人工智能。

作者单位

河南中医药大学信息技术学院 河南省郑州市 450046