基于地铁自动售票口的人群密度检测及预警
2018-04-16王宗贤完颜勇
王宗贤 汪 林 完颜勇
(1.北方工业大学城市道路交通智能控制技术北京市重点实验室 北京 100144)(2.智能交通技术交通行业重点实验室 北京 100144)
1 引言
地铁站自动售票机的普及给广大乘客的购票带来了巨大的方便。然而在人们可以便捷购买到车票的同时,常常会有大量人群滞留在自动售票机前,给地铁站带来了巨大的安全隐患,因此对自动售票机前人群密度的监控预警非常有必要。虽然现在地铁站的监控设施已经相当普及,但是大部分仅仅是传统意义上的闭路电视监控系统。只能实时获取监控现场的图像,对人群密度的监控则需要花费大量的人力和物力[1]。如何实现实时智能的检测已经吸引越来越多的关注。
当前人群密度检测的方法主要分直接方法和间接方法。直接方法一般适合无遮挡的稀疏人群场景,当人群密度大、遮挡等情况严重时,直接方法运行速度很慢,检测的准确率低,不适合实时检测。间接方法(又称基于特征的方法)[2~3],先通过提取人群特征,再使用机器学习算法分析人群得到人群密度信息。这种方法比直接方法速度快,适合人群密度高的复杂场景,而且鲁棒性好。Davies和Chow[4~5]通过背景减提取法获取的前景像素特征来估计人群密度,这种方法简单速度快,但是对于场景复杂的高密度人群不适合。Marana[6]根据不同人群密度对应不同纹理的特点,提出了基于纹理特征的人群密度估计方法,该算法能有效解决高密度人群的问题,但是提取纹理特征需要比较大的计算量。地铁人群密度高,人群的相互遮挡严重,时常发生人群拥挤、滞留现象,这些不利于前景特征的提取,然而高密度人群的纹理特征非常显著,纹理能够有效地表现出高密度人群的特性。
本文先将监控场景进行透视矫正并且划分成多个子区域,再对子区域提取前景像素,检测时只对子区域前景像素数超过设定阈值的区域再进行纹理特征分析,这样能有效提高算法的运行速度。
2 算法和框架
本文针对地铁站自动售票机前人群遮挡严重而且人群密集的特点,设计了一种实时检测报警系统。首先对监控场景进行透视矫正并且根据矫正结果划分检测子区域。再提取图像的前景像素,如果子区域前景像素数少于设定的阈值,则该子区域不进行密度估计。如果子区域前景像素数大于设定的阈值,则对该子区域提取纹理特征并且估计人群密度。然后统计全场景内各个子区域人群密度,根据实际需求,则做出预警。该算法的流程图如图1。
图1 地铁自动售票口人群密度检测预警算法流程图
2.1 场景透视矫正及检测子区域划分
由于摄像机的光轴与检测场景平面存在一定的角度,使得在获取的人群图像上,人群无论是在横向还是纵向,都呈现近大远小的现象,这样对人群密度的估计存在一定的影响。因此,在划分子区域时应考虑摄像头透视投影的成像原理,尽可能地使划分出的各个子区域所对应的实际监控区域大小一致。如果要精确矫正透视失真,横向和纵向都要矫正[7]。
本文的实际监控场景模型如图2、3所示。在图2中(Yw,Zw)表示世界坐标系,其中水平面是Yw(表示监控平面),Zw表示世界坐标系的纵坐标轴,其垂直于Yw平面。H表示摄像头的安装高度,b表示摄像头与监控区域最近点A在纵向上的距离。水平面Yw与摄像头的夹角为α。因为相机是呈45°角拍摄的,透视效应导致图像的实际监控范围大致呈一个等腰梯形,用MNQP表示,如图3所示。
图2 摄像头纵向成像模型
图3 摄像头横向成像模型
本文在纵向上将检测区域划分为三个距离相等的子块,纵向AD的长度为d。AD分成三段长度均为a的监控区域AB、BC、CD,这三段监控区域经过摄像机镜头在成像平面的像素距离为L1、L2、L3。虽然这几个子块在图像上的像素距离不一样,但是实际表示的监控子块大小相同。通过几何建模分析可以得到L1、L2、L3三段之间的比例为:
其中:c=H cotα,a=d/3。
因为AB、BC、CD之间是等距的纵向子块,假设这些纵向子块的实际监控范围宽度分别为W2,W3。根据几何关系推导后可以得到W2,W3之间的比例为
根据计算出的横、纵向比例关系划分子区域。如图4所示,划分好的每个子块对应的实际监控面积相等。
图4 图像透视矫正及子区域的划分
2.2 通过子区域前景像素数选择纹理特征提取子区域
本文采用基于模糊的前景提取算法Fuzzy Sugeno Integral[8],该方法使用模糊积分来融合纹理和颜色特征来进行背景减除。该算法能够处理场景中滞留人群的微小运动,能够快速适应流动人群的变化。在地铁场景的前景提取实验表明,该算法运行速度快,前景提取效果能够满足子区域阈值判断的需求。为了加快前景检测速率,原640*480的图像,压缩成320*240的分辨率再进行前景提取。前景提取效果如图5。
因为地铁场景比较复杂,人群密度高、人群滞留严重,所以前景提取效果不是非常好。但是前景像素数完全可以用来判断当前帧的某个子区域是否存在人群,进而决定是否进一步使用纹理-支持向量机估计人群密度。如果某个子区域前景像素低于设定的阈值T,即该区域没有人群或者人群密度低,则这个区域可以省去密度估计的步骤,可以提高算法运行速度,如图5所示区域10。
图5 视频子区域前景提取
2.3 纹理特征提取
灰度共生矩阵(Gray-level Co-occurrence Matrix,GLCM)[9]能够有效地描述图像的纹理信息,计算简单快捷,而且能够同时描述灰度图像的空间分布和空间相关这两个特性。灰度共生矩阵通过对图像像素对计算联合概率密度。数学表达式为
其中N表示灰度等级。表示从灰度值为i的点出发,与其距离为d,方位为θ,存在灰度值为 j的点的概率。把这些值构成一个矩阵的形式,即成为灰度共生矩阵。一般情况下,对一幅图像提取灰度共生矩阵时,(θ,d)决定一个矩阵,通常θ取四个值(θ=0°;θ=45°;θ=90°;θ=135°),d 取一个值。如果灰度共生矩阵数值聚集分布在对角线周围,则图像纹理粗糙,纹理变化缓慢;而如果灰度共生矩阵数值分布均匀,则纹理细腻、变化快。由此可见,灰度共生矩阵能综合描述图像灰度值关于方向、位置、幅度变化情况。
在实际工程应用中,一般是从灰度共生矩阵中算一些统计量做为纹理特征,而不是直接使用灰度共生矩阵。这些统计量能大大降低计算的复杂度。通常作为图像纹理特征的统计量有对比度,能量,熵,相关性,方差,均匀性。
1)对比度统计量(Contrast)
对比度反映了图像的清晰和模糊程度与纹理沟纹深浅的关系。对比度小,则纹理沟纹浅,视觉效果模糊;对比度大,则纹理沟纹深,视觉效果清晰。
2)能量统计量(Energy)
能量反映了图像灰度值分布的均匀性和纹理粗细的关系。纹理较粗时,能量值较大,反之则能量值较小。
3)逆差距统计量(Homogeneity)
逆差距反映了图像纹理的局部变化,图像局部区域的纹理越均匀其值越大。
4)熵统计量(Entropy)
熵用来度量图像的信息量,即图像纹理的随机性。熵反映了图像纹理的非均匀程度或复杂程度。当熵值较大时图像中充满细纹理,当熵值接近于零时图像中不存在任何纹理。
5)相关性统计量(Correlation)
矩阵的数值分布均匀大小相等,相关性大;矩阵中数值差异较大则相关性就小。
其中,μ指灰度共生矩阵的均值,σ指灰度共生矩阵的标准方差。
2.4 人群密度划分
在进行SVM分类器训练之前,需要对视频帧的人群密度进行标注。1983年Polus对于人群密度的服务级别的划分[5],本文参考这个服务级别的定义,结合售票机前人群密度比较大的实际情况,将子区域人群密度分为低、中低、中高、高四类。如表1。
表1 地铁自动售票口子区域人群密度等级划分
2.5 分类器的选定
当对视频帧提取纹理特征向量后,需要建立特征向量与对应人群密度之间的映射模型。因为支持向量机(Support Vector Machine,SVM)训练性能好、泛化能力强、分类效果显著,本文采用支持向量机SVM的方法来对人群图像提取出的纹理特征向量进行训练。支持向量机是Vapnik[10]等在统计学习理论[11~12]研究的基础上提出的一种结合VC维理论的机器训练算法[13]。支持向量是指在分类训练过程中处于类别边缘的训练样本点。SVM的基本思想是将原始特征空间的不可分样本,通过引入的核函数,映射到高维特征空间,并且在新空间寻找最优分类面。使用SVM能有效解决小样本、非线性和高维空间模式识别等问题。高维空间的最优分类面方程为
式中:sgn()为符号函数,k(xi,x)是核函数。
SVM的核心是核函数,使用核函数能有效的解决低维空间向量映射到高维空间运算复杂的问题,选用不同的核函数会得到不同的分类性能。本文的核函数采用径向基核函数(RBF):
支持向量机起初是针对二分类任务设计的[14]。由于本文的人群密度只有四类,分类类别不多。因此选择一对一的多分类方法(one-against-one classifiers),主要思路[15]是:对于不同的类别,每选择两个不同类(i和 j)就建立一个二类分类器,一个样本如果属于i类则标注成正类,属于 j类则标注为负类。如果有N个类别,需要的SVM分类器个数为。最后使用“投票”机制确定得票次数最多的为最终类别。本文有四类,因此需要个二SVM分类器。
3 实验过程及结果分析
3.1 实验过程
1)获取训练集和测试集
本文的人群监控视频拍摄自北京某地铁站自动售票处。该摄像机离地面约3m高,拍摄角度大概45°。实验视频为一段42min的avi视频,经过处理后分辨率为640*480。实验视频包括了低、中低、中高、高这四个不同密度等级的人群密度图像。为了训练出高效率的分类器,数据集中采集的图像要满足随机性、样本量足、全面的特点。因此,本文从视频中低、中低、中高、高密度部分,先各抽取200张共800张图片组成训练集。再从剩下的图像,各抽取300张共1200张组成测试集。
2)纹理特征参数选取及特征向量组成
为了降低灰度共生矩阵计算复杂度,在不影响特征量提取效果前提下,会压缩GLCM的灰度等级,通过实验本文取N为16,d取8,能同时保证纹理信息完整性和降低运算量。本文在灰度直方图基础上,选取熵、能量、对比度、逆差距四个特征量,纹理方向采用0°、45°、90°、135°,组成一个16维的特征向量。
3)SVM分类器的训练
由于视频帧通过透视矫正划分子区域后,每个子区域所对应的实际监控区域大小一致,每个区域所能容纳的人数基本一致。因此可以对其中的任意一个子区域进行分类器的训练。通过对训练集图像提取纹理特征组成16维的特征向量训练SVM分类器。本文采用RBF核函数,选择一对一的多分类方法,用训练集的图片训练SVM分类器,如图6。因为该场景共四类人群密度,所以一共能训练出6个SVM密度分类器。
图6 人群密度分类器训练方法
3.2 结果分析
将测试集四类共1200张图像输入分类器进行分类测试。处理过程是,先将某张测试样本图像提取16维的特征,分别输入6个SVM分类器。测试样本N经过第一个SVM分类器时,通过二分类,将所分的类权重加1,依次通过6个分类器,权重最大的类即为测试样本图像的所属类别。
测试集的测试结果如表2。其中A、B、C、D分别表示低、中低、中高、高四个类的测试子集。表示测试集中,每个样本类经过SVM分类器后的分类结果。如表中最后一行,表示300帧的高密度测试样本经过分类后,样本有289张又被重新分类到高密度类,10张分类到中高密度类,1张分类到中低密度类,0张被分类到低密度类。从表中可以看出,被错误分类的测试图片,绝大部分被分到了临近的密度等级中,这是由图片中相靠近的密度等级纹理特征相似,特征量计算值相互接近导致的。
表2 测试集测试结果
在实际应用中,主要针对较高密度人群进行预警,且测试结果显示高密度时,测试集正确分类的比率达到96.3%,中密度时准确率达到90%,满足检测准确率的要求。
本文采用的通过子区域前景像素数筛选检测区域的方法,能够大大提高算法的运行速度。如图7所示,横轴表示测试集的四个子集,纵轴表示每个子集中每帧图片平均测试时间。A表明通过前景筛选,每个子集的平均帧处理速度都有提高,其中低密度子集由于多数子区域被过滤,所以速度最快;其他子集则随着被纹理检测区域的增加,帧均处理时间增加。B表示使用区域前景像素筛选方法整个测试集平均每帧时间,为0.176s。C表示没使用区域前景像素筛选方法整个测试集平均每帧时间,为0.28s。在现场应用时,每秒钟处理两帧图片,能够满足现场实时检测的需要。
图7 算法在测试集的每帧时间
视频帧的场景共划分成12个子区域。其中子区域4、5不需要检测。当子区域的密度检测为中高或者高密度时,则被统计,最后的预警等级与统计的子区域数的关系[16]如表3,当满足设定的预警等级,系统会发出预警,通知管理员进行人群疏散。
表3 地铁自动售票口预警等级划分
4 结语
本文针对地铁自动售票处人群密度高的特点,设计了一种通过透视矫正划分区域,利用区域内前景像素数选择密度检测区域后,提取选中子区域纹理特征,估计子区域人群密度。最后综合考虑多个子区域人群密度进行预警。实验及应用结果表明,该方法实时,高效,具有很大应用价值。
[1]衣淑凤,黄祥林,沈兰荪.智能化人群监控技术研究[J].测控技术,2003,22(5):22-24.YI Shufeng,HUANG Xianglin,SHEN Lanxun.Research on Intelligentized Crowd Surveillance Technology[J].Measurement&Control Technology,2003,22(5):22-24.
[2]SALEH SA M,etal.Recent Survey on Crowd Density Estimation and Counting for Visual Surveillance[J].Engineering Applications of Artificial Intelligence,2015(41):103-114.
[3]RYAND,etal.An Evaluation of crowd countingmethods,features and regression models[J].Computer Vision and Image Understanding,2015(130):1-17.
[4]DAVIESA C,YIN JH,VELASTIN SA,etal.Crowd Monitoring Using Image Processing[J].IEEE Electronics and Communication Engineering Journal,1995,7(1):37-47.
[5]CHO SY,CHOW TW S,LEUNG C T.A Neural-based Crowd Estimation by Hybrid Global Learning Algorithm[J].IEEE Transactions on Systems,Man,and Cybernetics,1999,29(4):535-541.
[6]MARANA A N,VELASTIN SA,COSTA L F,etal.Automatic Estimation of Crowd Density Using Texture[J].Safety Science,1998,28(3):165-175.
[7]张英烈.人群密度估计研究及其在医院中的应用[D].杭州:杭州电子科技大学,2015:46-47.ZHANG Yinglie.Research on Estimation of Crowd Density And Application In Hospital[D].Hangzhou:Hangzhou DianziUniversity,2015:46-47.
[8]ZHANG H G,XU D.Fusing Color and Texture Features for Background Model[J].Fuzzy Systems and Knowledge Discovery,2006:887-893.
[9]HARALICK R M.Statistical and structural approaches to texture[J].Proceedings of the IEEE,1979,67(5):786-804.
[10]BOSER BE,GUYON IM,VAPNIK VN.A training algorithm for optimal margin classifiers[C]//Proceedings of the fifth annualworkshop on Computational learning theory,ACM,1992:144-152.
[11]VAPNIK V N.The Nature of Statistical Learning Theory[M].New York:Springer Verlag,1995.
[12]张学工.关于统计学习理论与支持向量机[J].自动化学报,2000,26(1):32-42.ZHANG Xuegong.Introduction to Statistical Learning Theory and Support Vector Machines[J].Acta Automatica Sinica,2000,26(1):32-42.
[13]周志华.机器学习[M].北京:清华大学出版社,2016:121-137.ZHOU Zhihua.Machine Learning[M].Beijing:TSINGHUAUNIVERSITY PRESS,2016:121-137.
[14]CHEN Y F,ZHANGM D,etal.Differential Shape Statistical Analysis[J].International JournalofWavelets,Multiresolution and Information Processing,2005:145-157.
[15]祁亨年.支持向量机及其应用研究综述[J].计算机工程,2004,30(10):6-9.QIHengnian.Support Vector Machines and Application Research Overview[J].Computer Engineering,2004,30(10):6-9.
[16]张燕.机场航站楼视频监控系统中的人群密度估计研究[D].南京:南京航空航天大学,2011:23-26.ZHANG Yan.Research on Crowd Density Estimation in Video Surveillance of Airport Terminals[D].Nanjing:Nanjing University of Aeronautics and Astronautics,2011:23-26.