首页 > 范文大全 > 正文

基于颜色特征的人流量实时检测方法

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于颜色特征的人流量实时检测方法范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 为改善视频监控中人流量检测的准确性问题,提出一种利用头发颜色特征的人流量跟踪检测方法。该方法对输入图像同时做如下两个操作:基于头发颜色特征的二值化和基于混合高斯模型的前景提取。对这两者合并后的结果做特征判别就可以得到人头区域。以人头区域为目标进行跟踪,分析运动轨迹特征后可以判断行人的进出方向及数目。实验表明该方法在双向行走、行人密集及背景干扰条件下均有很高的正确率。并且,每帧图像平均处理时间只需20 ms,完全可以满足实时处理的要求。

关键词: 人流量实时检测; 人头识别; 目标跟踪; 颜色空间; 混合高斯模型

中图分类号: TN911?34; TP391 文献标识码: A 文章编号: 1004?373X(2014)07?0092?06

Method of people counting real?time detection based on color feature

XU Xiao?long, GU Yu?zhang, WANG Ying?guan, HU Ke?li

(Key Laboratory of Wireless Sensor Network & Communication, Shanghai Institute of Microsystem & Information Technology, CAS, Shanghai 201800, China)

Abstract: In order to improve the accuracy of the people counting detection in video surveillance, a people tracking and detection method based on hair color feature is proposed in this paper. The input images are processed with the following two operations at the same time: binarization based on hair color feature and foreground extraction based on Gaussian mixture model. Through analyzing the merging results of the two operations, head regions can be got. By tracking head regions and trajectory analysis, the moving direction and number of visitors will easily come to the judgment. The experimental result shows that the method has the high?accuracy even in the conditions of bidirectional moving, dense crowd or background interference. Furthermore, the average processing time for per frame is only 20 ms. It can fully meet the requirements of real?time processing.

Keywords: people counting real?time detection; head recognition; object tracking; color space; Gaussian mixture model

0 引 言

人流量的检测与分析在视频监控领域有着广泛的应用,尤其像商场、车站、机场、体育馆等公共场所都有着巨大的需求。实时且准确地统计出人流量对于公共交通,智能安防,商业统计等领域都是非常有必要的。正因为如此,人流量的检测分析已经成为近些年来计算机视觉领域研究的一项热点。

从20世纪90年代以来,随着计算机视觉技术的发展很多基于视频的人流量检测方法被提出来。一种具有代表性的方法是根据图像的底层特征进行建模统计场景中的人数[1?4]。提取的特征可以是特征点[5],分割好的区域[1?3,5],轮廓曲线[4, 6]等,然后利用聚类[3],神经网络[5],高斯回归[4]等方法进行建模统计出数目。Chen根据行人面积和HSI颜色信息跟踪计算人数[7],达到了较好的实时性。Borislav Antic等人先用背景差分提取前景[3],然后基于Kmeans聚类估计行人数目,在特定的场景下获得了不错的效果。Yu等人提出了前景/背景边缘模型(FBEM)[6],捕获前景边缘,进行跟踪计数。随着机器学习技术的发展,一些基于目标识别来统计人流的方法也被提出来,代表性的研究有Zeng和Ma提出来的基于多级HOG?LBP特征的头肩检测方法[8],Chen利用人体的对称特性计算局部能量函数[9],再结合Meanshift方法跟踪计数,Wen采用AdaBoost训练出人头检测器[10],根据运动人头的特征去除干扰后实现人数统计。基于识别的方法往往有着良好的检测精度,但是运算复杂度太高,不适合做实时处理。基于底层特征和基于目标识别这两个方法都是在二维图像中进行处理,在遇到遮挡、背景变化、人流拥挤等复杂情景下检测准确率会大大降低,而基于立体视觉的方法可以很好地处理这些问题。近年来用立体视觉进行人流量统计的技术逐渐获得重视,尤其是简便的深度相机(如微软的Kinect、华硕的Xtion等)问世后更是加速了其发展,Fu,Hsieh,Zhang,Oosterhout等人已在此方向做出了相关的研究[2,11?13]。

基于人头的底层特征(颜色,形状,大小等)来统计人数的方法具有运算复杂度低,易于做到实时处理的优点,但是还是会存在色彩一致性[14](Color Constancy)和背景噪声等问题。基于前景提取的方法,在行人之间距离很近的时候,如何准确地将运动目标分割是一个难点。实际应用中,使用垂直地面俯拍的摄像头检测人流可以简化场景复杂度,减少行人之间相互遮挡的现象。即使人流密集的情况下,行人的身体发生接触,人头之间也很少会发生遮挡现象。因此本文提出了一种摄像头俯拍场景下,结合头部颜色特征和运动目标检测的人流量分析方法,可以达到快速准确的检测效果。

1 人流量统计方案

在本文提出的人流量检测方案中,摄像头采用垂直地面的方式安装在天花板上,如图1所示。首先,本方案需要在离线状态下采集行人头发颜色样本,在不同颜色空间统计出有效的聚类区间。整个系统主要分成三个部分:行人检测,行人跟踪,行人计数,具体方案流程图如图2所示。行人检测部分,对输入的彩色图像同时进行基于颜色特征的二值化操作和混合高斯背景差分操作,将两者的结果融合并且做相关特征判别之后选择出合适的人头目标区域。行人跟踪部分,以检测到的人头区域为目标进行跟踪,记录运动轨迹和Kalman预测。行人计数部分通过对运动轨迹的分析判断,过滤掉错误信息,得到行人的行走方向和数目。

图1 视频监控环境示意图

图2 人流量检测流程图

本方案能在行人同向、逆向行走,行人密集,甚至肩搭着肩行走时做出正确判决。并且本方案结合颜色特征和背景差分提取的前景,可以过滤掉背景中的干扰颜色,稳定性高,实时性好。

2 行人检测

行人检测是人流量检测过程中最关键的部分,因为它是后续行人跟踪、行人计数的基础,快速准确地检测行人目标也是本文的一个研究重点。本文采用颜色特征和混合高斯背景建模相结合的方法,既能减少仅使用颜色特征的色彩一致性问题[14]及静态干扰问题,也能减少背景建模时造成的行人难以分割[3]的问题。

2.1 提取发色区域

颜色是人类对可见光的感知,通常使用三个独立的线性分量表示颜色,这样便构成了三维的颜色空间。常见的颜色空间有RGB空间,HSV空间,LUV空间,YCbCr空间等,每种颜色空间都有各自适用的场景。

头发颜色在一些颜色空间具有很好的聚类效果,Zhao和王长军等人提出了在YCbCr空间进行聚类[15?16],赵军伟使用HSI空间进行聚类[17]。本文对头发颜色进行样本采集,并分别映射到如下颜色空间:HSV、LUV、YCbCr。本文采集大量发色样本,使用240 349个发色像素点,对灰度值及不同空间映射结果进行了统计分析,如图3所示。在灰度值,HSV空间的H分量,YCbCr空间的Cb、Cr分量和LUV空间的U、V分量均有很好的聚类效果。由于聚类特性会随着亮度的变化而发生改变,为了弱化该影响,本文采用多个色彩分量结合的方式,共同确定人头的有效区域。

根据采集的发色样本,使用高斯混合概率模型对发色在不同色彩分量上的概率分布加以描述,从而根据发色信息对人头区域进行提取[15]。某一像素点[xi]的概率密度函数表达式如下:

[p(xi)=j=1Mαj(2π)mΣjexp-12(xj-μj)TΣ-1j(xj-μj)] (1)

式中:[αj]表示某一像素点第[j]个高斯分布的权值;[μj]和[Σj]分别表示样本的均值和方差。混合高斯模型的参数估计最常用的方法是EM(Expectation Maximization)算法。使用EM估计参数后可以得到如表1所示的发色聚类区间。

根据表1的发色聚类区间对图像进行二值化。对于像素点[Pi,]当它在不同色彩分量上的值分别位于各分量的聚类区间时,二值化后的结果为[Binary(Pi)=255,]否则[Binary(Pi)=0],如表达式(2)所示:

[Binary(Pi)=255,if g(Pi)∈RGray&H(Pi)∈RH&Cb(Pi)∈RCb&Cr(Pi)∈RCr&U(Pi)∈RU&V(Pi)∈RV0,others] (2)

其中[g(Pi)、][H(Pi)、][Cb(Pi)、][Cr(Pi)、][U(Pi)、][V(Pi)]分别表示像素点[Pi]在不同颜色分量上的数值。

由于二值化之后,图像中可能会存在大量凹洞,凸起,点噪声等现象,所以利用形态学中的闭操作,即先腐蚀将细小的凸起滤除,再膨胀填补细小的凹洞,这样可以提高后续操作的效果。

表1 发色聚类区间

[颜色分量\&符号表示\&聚类区间\&灰度值\&[RGray]\&[9,40]\&H(HSV)\&[RH]\&[0,5]&[110,180]\&Cb(YCbCr)\&[RCb]\&[127,132]\&Cr(YCbCr)\&[RCr]\&[127,133]\&U(LUV)\&[RU]\&[95,100]\&V(LUV)\&[RV]\&[133,141]\&]

2.2 提取前景与合并

二值化之后可以得到满足头发颜色特征的区域,但是当背景中也有相似的颜色则会形成干扰。本文使用自适应的混合高斯背景建模法提取前景,再将前景与头发区域进行混合,从而过滤掉静态背景中的相似颜色干扰。

当行人稀疏的时候,相互之间没有遮挡,所以背景差分提取出的前景不容易出现连通现象,判断运动目标所在区域就变得容易。但是人流密集的情况下,不同目标的前景往往会形成连通区域,造成无法准确判断单个目标直接计数。很多研究者在前景分割上做出了相关研究,使用Kmeans聚类[3],根据面积大小划分[7]等等,但准确度都无法保障。本文摄像头垂直地面架设,人头颜色区域形成连通的可能性是非常低的,所以发色区域与前景混合之后,既可以去除静态背景中与头发颜色相近的物体造成的干扰,又可以将前景图像里的连通区域有效地分割。

在提取前景的时候需要注意,在提取出的运动目标内部容易出现空洞现象,为了减小空洞对合并后效果的影响,需要使用较大的膨胀系数来做膨胀,即使膨胀后使得不同的目标连通了也没有关系。

2.3 特征判断

上述操作完成之后想要判断出人头所在的区域还需要一系列的判决。首先混合之后得到的图像会存在毛刺、空洞等问题,所以需要先使用形态学的方法对其进行闭运算(先膨胀再腐蚀)。接着提取闭运算后图像的边缘轮廓,本文使用的是精度较好的canny算子。对于得到的轮廓序列,需要通过相关的特征判断才能确定人头所在的区域。

由于人头近似为一个圆形,所以对于轮廓的判断主要依据如下几点:[L:]轮廓的周长;[A:]轮廓包围的面积;[B:]包含轮廓的最小矩形的面积;[Z:]占空比(A与B的比值);[C:]离散度([L2A])。

其中轮廓周长及面积与摄像头的架设高度有关系,需要根据实际情况确定,占空比和离散度通常不会有大的变化。若假想人头区域是一个标准圆,占空比的理论值为[π4≈0.79,]离散度的理论值为[4π≈12.6,]由于在周长为定值的时候所能围成的图形中圆形面积最大,所以12.6为离散度的最小值。通过实验比较发现占空比范围选择为0.6~1.0,离散度范围选择为12.6~22时效果较好。最终,符合这几个判断条件的轮廓便可以认为是人头的轮廓。得到轮廓后将轮廓填充,便得到了可以用来进行目标跟踪的人头区域。

3 行人跟踪

行人检测得到了图像中的人头区域,通过对人头区域的跟踪,可以进而得到行人的数目和出入方向。将同一个目标的位置信息按时间连接起来,便可得到该目标的运动轨迹。如果行人检测的结果很理想,目标的跟踪也会变得简单,但实际中可能会出现误检或漏检,对此本文使用Kalman滤波器对行人的运动轨迹进行滤波和预测处理。

由于相邻帧之间,同一个目标的位移不会发生突变,所以对于一条轨迹,找出跟它的预测位置最近的点作为新的轨迹点是合理的。如图4所示,假设在[t]时刻对某条轨迹用Kalman滤波器进行预测,得到该轨迹[t+1]时刻的预测位置[Pt+1,][t+1]时刻距离[Pt+1]最近的目标点为[Ct+1,]若满足下面的条件就可以将[Ct+1]添加到该轨迹当中:

[Dist(Pt+1,Ct+1)=(xp-xc)2+(yp-yc)2≤Max Dis] (3)

其中Max Dis表示预测位置与目标位置之间允许的最大偏移量,具体的取值根据实际情况加以确定。如图4(a)所示,[Ct+1]和[Ct+2]分别在预测轨迹点的Max Dis范围之内,所以可以添加到运动轨迹中。

图4 跟踪过程中的轨迹更新示意图

若该轨迹没有合适的目标点满足上述公式(3),则将Kalman预测的位置添加进轨迹。如图4(b)所示,[Ct+2]与轨迹预测点[Pt+2]的距离大于Max Dis,所以[Ct+2]不能加入已有的运动轨迹,而是将预测值[Pt+2]添加进运动轨迹。同时,如果一条轨迹连续多帧没有新的轨迹点进入,则认为该轨迹终止了,具体的阈值根据实际情况进行选取,通常取值5~10 f便可以满足要求。另外,如果存在某个目标点不属于任何已有的轨迹,那么就以该点新建一条轨迹。至此,根据以上的跟踪结果,便可以进一步对人流量进行统计分析了。

4 行人计数

为了得到行人的运动方向和数目,需要对得到的跟踪轨迹进行分析。首先需要定义目标移动的方向,本文中定义平面图中[y]增加的方向为进,减小的方向为出。

假设某一目标的运动轨迹为:

[Trace={(x0,y0),(x1,y1),…,(xn,yn)}] (4)

式中:[(x,y)]表示目标在图像中的坐标,根据Trace可以计算出轨迹的总长度为distance。目标在[y]方向上的运动速度可以近似用相邻帧之间,目标在[y]方向上的移动距离来表示:

[vy={y1-y0,y2-y1,…,yn-yn-1}] (5)

[vy]中正数的含义是运动方向为入,负数的含义是运动方向为出,由此统计出[vy]中正数的个数为[m。]

根据轨迹长度distance和[mn]的比值可以判断一个轨迹的出入情况:

(1) 当distance[≥180&n≥15&mn≥0.7]时,判断行人为进入,进入总人数加1;

(2) 当[distance≥180&n≥15&0≤mn≤0.3]时,判断行人为出去,出去总人数加1;

(3) 当不满足以上两个条件时说明该轨迹为错误轨迹,将其剔除,不做计数。

对于上述判决条件中的数值,需要根据实际的视频情况加以选取。

5 实验结果与分析

为了验证本文提出的人流量检测方法,对多种不同类型的视频进行了测试,包括行人同向行走、逆向行走、肩并肩、前后紧跟,以及存在背景颜色干扰等情况。本实验在Windows 7操作系统下,使用Visual Studio+OpenCV实现,计算机处理器为Intel酷睿2,主频2.93 GHz,内存4 GB,测试视频大小为[480×360,]帧率为30 f/s。

如图5(a)所示,为了准确测试本文方案的检测效果,在场景中故意摆入一个跟人头的颜色及大小近似的背包作背景干扰。从图5(b)中可以看到,原始视频中三个行人的头部区域被有效检测出来,同时引入的干扰物体由于颜色与发色接近也被检测出来。图5(c)是使用混合高斯背景差分检测出的前景图,由于干扰物体是静止的,所以没有被检测出来,而且原始图像中的三个人紧挨在一起行走,前景图像重叠在一起,难以分割。将图5(b)和图5(c)做与操作得到图5(d),此时背景干扰已经被滤除掉了,前景图也因为颜色特征的差异而被有效地分割开来。接下来提取出目标轮廓,并对其特征进行分析,去除不合适的轮廓,得到人头区域,结果分别见图5(e)和图5(f)。最后,对人头区域进行跟踪计数,效果见图5(g)。

对于行人逆向行走、行人肩搭着肩行走和行人衣服与头发颜色接近的情况,本文也做了实验,结果如图6所示,均有良好的检测性能。实验场景下,本文方案在PC机上平均处理速度约为17 ms/f,可以满足实时处理的需要,并且准确率达到了95%以上。

6 结 语

本文提出了一种基于颜色特征的实时人流量检测方法。通过对发色在不同颜色空间做出的聚类分析,可以准确地检测出图像中的人头区域,结合背景差分的方法既可以滤除背景干扰又可以将前景进行分割。实验结果表明,该方案具有很好的实时性和准确性,可以满足视频监控领域的应用要求。但是,当行人戴帽子或者白发等情况发生时会降低本方案的检测率,这是今后将着重研究的一个方向。同时,今后还将研究如何进一步降低算法复杂度,使该方案能在前端硬件上做到实时处理。

参考文献

[1] LEFLOCH D, CHEIKH F A, HARDEBERG J Y, et al. Real?time people counting system using a single video camera [J]. Proceedings of SPIE, 2008, 6811: 9?20.

[2] VAN OOSTERHOUT T, BAKKES S, KROSE B J A. Head detection in stereo data for people counting and segmentation [C]// proceedings of the International Conference on Computer Vision Theory and Applications (VISAPP). Moscow: [s.n.], 2011: 620?625.

[3] ANTIC B, LETIC D, CULIBRK D, et al. K?means based segmentation for real?time zenithal people counting [C]// Proceedings of 2009 16th IEEE International Conference on Image Processing. [S.l.]: IEEE, 2009: 2537?2540.

[4] CHAN A B, LIANG Z S J, VASCONCELOS N. Privacy preserving crowd monitoring: Counting people without people models or tracking [C]// Proceedings of IEEE CVPR. [S.l.]: IEEE, 2008: 1766?1772.

[5] KONG D, GRAY D, TAO H. A viewpoint invariant approach for crowd counting [C]// Proceedings of 2006 18th International Conference on Pattern Recognition. Hong Kong, China: ICPR, 2006, 1187?1190.

[6] YU Sheng?sheng, CHEN Xiao?ping, SUN Wei?ping, et al. A robust method for detecting and counting people [C]// Proceedings of 2008 International Conference on Audio, Language and Image Processing. [S.l.]: ICALIP, 2008: 1545?1549.

[7] CHEN T H, CHEN T Y, CHEN Z X. An intelligent people?flow counting method for passing through a gate [C]// Proceedings of 2006 IEEE Conference on Robotics, Automation and Mechatronics. [S.l.]: IEEE, 2006: 97?102.

[8] ZENG Cheng?bin, MA H. Robust head?shoulder detection by pca?based multilevel hog?lbp detector for people counting [C]// proceedings of the 2010 20th International Conference on Pattern Recognition. Istanbul: ICPR, 2010: 2069?2072.

[9] CHEN L, TAO J, TAN Y P, et al. People counting using iterative mean?shift fitting with symmetry measure [C]// Proceedings of 2007 6th International Conference on Information, Communications & Signal Processing. [S.l.]: ICICSP, 2007: 1075?1078.

[10] 文嘉俊,徐勇,战荫伟.基于AdaBoost和帧间特征的人数统计[J].中国图象图形学报,2011(9):1729?1735.

[11] FU H, MA H, XIAO H. Real?time accurate crowd counting based on RGB?D information [C]// proceedings of the 2012 19th IEEE International Conference on Image Processing (ICIP). Orlando, FL: IEEE, 2012: 2685?2688.

[12] HSIEH C T, WANG H C, WU Y K, et al. A kinect?based people?flow counting system [C]// 2012 International Symposium on Intelligent Signal Processing and Communications Systems. New Taipei, China: ISPACS, 2012: 146?150.

[13] ZHANG Xu?cong, YAN J, FENG S, et al. Water filling: unsupervised people counting via vertical kinect sensor [C]// Proceedings of 2012 IEEE Ninth International Conference on Advanced Video and Signal?Based Surveillance. Beijing: IEEE, 2012: 215?220.

[14] LUCEY S, SRIDHARAN S, CHANDRAN V. A suitability metric for mouth tracking through chromatic segmentation [C]// Proceedings of 2001 International Conference on Image Processing. [S.l.]: ICIP, 2001, 3: 258?261.

[15] ZHAO Ming, SUN Di?hua, HE H P. Hair?color modeling and head detection [C]// Proceedings of 2008 7th World Congress on Intelligent Control and Automation. Chongqing, China: ICA, 2008: 7773?7776.

[16] 王长军.基于视频的目标检测与跟踪技术研究[D].杭州:浙江大学,2006.

[17] 赵军伟,侯清涛,李金屏,等.基于数学形态学和HSI颜色空间的人头检测[J].山东大学学报:工学版,2013(2):6?10.