西北大学学报自然科学版  2017, Vol. 47 Issue (2): 197-203  DOI: 10.16152/j.cnki.xdxbzr.2017-02-008

信息科学

引用本文 

田枫. 基于GMM的视频图像人数统计算法[J]. 西北大学学报自然科学版, 2017, 47(2): 197-203. DOI: 10.16152/j.cnki.xdxbzr.2017-02-008.
[复制中文]
TIAN Feng. A people counting method based on Gauss mixture model[J]. Journal of Northwest University(Natural Science Edition), 2017, 47(2): 197-203. DOI: 10.16152/j.cnki.xdxbzr.2017-02-008.
[复制英文]

基金项目

中央高校基本科研业务费自由探索基金资助项目(GK201703001)

作者简介

田枫, 女, 河北山海关人, 博士生, 从事算法分析研究。

文章历史

收稿日期:2016-04-13
基于GMM的视频图像人数统计算法
田枫     
陕西师范大学 数学与信息科学学院, 陕西 西安 710119
摘要:针对摄像机俯视拍摄场景的人数统计问题, 提出一种运算效率高、误检率低的人数统计方法。以人头部位为检测对象, 采用运动侦测、边缘检测方法获取人头轮廓, 在此基础上采用高斯混合模型(Gauss mixed model, GMM)分别对人头轮廓目标点集和椭圆模型进行建模, 通过最小化人头轮廓目标点集与椭圆模型的GMM之间的欧氏距离求解椭圆参数, 统计满足椭圆形状的轮廓数量, 再通过形状滤波得到人数统计结果。人数统计对比实验结果表明, 新方法的误检率低, 且运算效率高。
关键词人数统计    GMM    人头检测    边缘检测    运动侦测    
A people counting method based on Gauss mixture model
TIAN Feng     
College of Mathematics and Information Science, Shaanxi Normal University, Xi′an 710119, China
Abstract: People counting method with high operation efficiency and low false detection rate is proposed to count the people in the top views shoot by camera. Human heads are taken as the detection objects and head sketches are obtained by motion detection and edge detection based on the Gauss Mixture Model which is adopted to make the modeling of target point set and ellipse model of human head sketch. Elliptic parameter is solved by minimizing the Euclidean distance between the Gauss Mixture Model of target point set and ellipse model of human head sketch. Then, the number of elliptic sketches is counted. Finally, the number of people is obtained by shape filter. The result of contrast experiments shows that the proposed method has low false detection rate and high operation efficiency.
Key words: people counting    Gauss Mixture Model    head detection    edge detection    motion detection    

大型场馆(如博物馆、展览馆、商场等)都需要智能的人数统计系统, 以便及时掌握不同区域的人群分布, 为特殊情况(如火灾)下的人群疏散和管制提供帮助[1]。随着监控摄像机的普及, 基于计算机视觉的人数统计方法成为当前主流的人数统计方法[2-4]

依据摄像机拍摄方式的不同, 现有基于计算机视觉的人数统计方法可以分为两类, 一类是针对摄像机侧向拍摄场景的人数统计方法, 另一类是针对摄像机俯视拍摄场景的人数统计方法。前者主要依据人体的结构化特征检测人体目标和进行人数统计, 常用的人体结构化特征有梯度方向直方图(Histogram of oriented gradient, HOG)[5]、Haar-like特征[6]、局部二元模式(Local binary pattern, LBP)[7]等。此类方法的难点在于, 摄像机侧向拍摄时人与人、人与物之间经常存在遮挡, 而遮挡条件下人体的结构化特征丢失严重, 人数统计误差较大。因此, 在大型场馆内常采用摄像机俯视拍摄的方式采集视频, 这样可以大幅降低人体遮挡的现象。然而带来的问题是, 人体结构化特征的显著性下降, 难以采用第一类方法有效检测人体目标。不过, 这种拍摄方式下人体的头部特征比较显著, 常采用人头检测的方法来进行人数统计[8-9]。由于人的头部轮廓与椭圆形状相近, 通过椭圆检测方式检测人头目标是一种有效的人头检测方法, 如采用广义霍夫圆变换方法检测人头目标[10-11]。然而, 此类方法检测椭圆目标的误检率较高, 且运算效率较低。

针对摄像机俯视拍摄场景的人数统计难题, 本研究结合GMM和欧氏距离准则检测椭圆目标, 降低了椭圆检测的误检率, 同时提高了运算效率。以此为基础, 本研究采用运动侦测方法快速定位感兴趣区域, 采用边缘检测方法获取运动目标轮廓, 再结合椭圆检测和形状滤波方法进行人数统计, 可以对摄像机俯视拍摄场景下的人体数量进行可靠和高效的统计。与现有的摄像机俯视场景人头计数方法相比, 本方法的创新性主要体现在以下两个方面:

1) 结合GMM和欧氏距离准则检测椭圆目标, 与常用的双椭圆模型等方法相比, 椭圆目标检测的误检率更低, 运算效率更高。

2) 在椭圆检测的基础上, 结合运动侦测提高了算法的运算效率, 结合形状滤波进一步降低人头目标的误检, 提高人数统计精度。

1 GMM构建及椭圆检测

本研究提出的结合GMM和欧氏距离准则的椭圆检测方法, 其基本思路是:对于图像上的目标点集f和一个椭圆模型ep, 采用GMM进行建模, 描述二者的形状。然后通过最小化两模型之间的欧氏距离来估计椭圆参数, 检测椭圆目标。

椭圆参数p可以表示为

(1)

其中(x0, y0)表示椭圆的中心, ab分别表示椭圆长轴和短轴的长度, α表示椭圆长轴与水平方向的夹角。

椭圆参数可以通过最小化目标点集f与椭圆模型ep之间的欧氏距离来求解, 表示为

(2)
1.1 椭圆模型建模

参数p所形成的椭圆上的任一点u(j)满足如下方程:

(3)

其中τj∈[0, 2π]。

本研究采用GMM对椭圆上的点进行建模, 记椭圆上的N个采样点的集合为{u(j)|j=1, …, N}, 则椭圆误差模型ep可以表示为

(4)

其中表示随机向量x的正态分布, μj表示均值, Σj表示协方差矩阵, wj表示权重。

在本研究中, μj取目标点u(j)与下一个目标点u(j+1)的位置平均值。协方差矩阵Σj通过构建一个旋转矩阵Qj来求解, 表示为

(5)

其中旋转矩阵Qj由两个单位正交向量组成, 表示为

(6)

其中n2j表示目标点u(j)与下一个目标点u(j+1)连线方向的单位向量, n1j表示与n2j垂直且远离椭圆中心方向的单位向量, 如图 1所示。

图 1 单位正交向量图示 Fig. 1 Unit orthogonality vector illustration

对角矩阵Λj表示为

(7)

其中hdj2=‖u(j)-u(j+1)2, h为正交带宽控制参数, 用于控制椭圆轮廓的平滑度。

1.2 目标点集建模

给定一组目标点的集合{v(i)|i=1, …, n}, 本研究也采用GMM对目标点集f进行建模, 表示为

(8)

其中Σi的求解方法见式(5)~(7), 区别在于, 这里的单位正交向量n1jn2j由图像的梯度信息计算, 表示为

(9)

其中目标点v(i)的梯度表示为

另外, 对于每一个目标点, 对角矩阵Λi是相同的, 表示为

(10)

其中hd2可以目标点宽度来代替。

本研究采用边缘检测方法获取目标点集合, 故这里的hd2设为1, 也即拟合的椭圆轮廓宽度为1像素。

1.3 椭圆参数求解

如式(2)所示, 椭圆参数可以通过最小化目标点集f与椭圆模型ep之间的欧氏距离来求解, 即

(11)

在上式中, 第1项‖f2与椭圆参数p无关, 可以忽略。后两项的计算方法为

(12)
(13)
1.4 单椭圆检测

求解椭圆参数, 实际上就是求解式(11)的最小值。但从式(11)可以看出, 式(11)是一个非线性方程, 因此, 可以通过式(14)~(16)迭代进行求解。

(14)
(15)
(16)

即, 开始时假设wiwj已知, 利用式(14)可以求取最小值点, 然后利用(μj Σj)已知, 分别求取式(15)和式(16)的最小值点wiwj。当算法达到收敛时, 即实现了单个椭圆的检测, 具体流程见表 1。其中, ε为无穷小的正数, β表示下降速率, Cpre(p)表示前一次的C(p)值。

表 1 单椭圆参数求解伪代码 Tab. 1 Solving pseudo-code with single ellipse parameter

得到椭圆参数后, 判断目标点v(i)是否在参数所形成的椭圆上, 判决方法是:

(17)

其中T1为设定的阈值, 用于描述目标点与椭圆模型的容差。

如果椭圆上的目标点数量超过椭圆长轴和短轴的长度之和, 则认为检测到一个椭圆, 否则认为没有检测到椭圆。

1.5 多椭圆检测

如果有多个椭圆, 本研究采用两步检测法进行检测, 具体步骤为:

Step1  全局检测

采用单椭圆检测方法检测目标点集中的一个椭圆;

Step 2  目标点集更新

按照公式(17)判断满足已检测椭圆的点集, 将其从目标点集中删除, 如果剩余的目标点数量小于原始目标点数量的T2倍, 则检测结束; 否则, 返回Step1。

检测结束后, 输出检测到的椭圆数量。

2 人数统计

依据摄像机拍摄角度的不同, 人数统计的方法也不一样。如图 2所示, 图 2(a)为摄像机侧向拍摄场景, 此时常依据人体的结构化特征(如梯度方向直方图特征)检测人体, 采用行人检测方法进行人数统计。如当摄像机由上向下俯视拍摄时, 人体的结构化特征不明显(如图 2(b)所示), 此时采用常用的行人检测方法很难检测到人体目标。而此类场景下人头的轮廓非常显著, 可以采用椭圆检测方法来检测此类场景下的人体目标, 统计人数。本研究结合前述的椭圆检测方法和运动侦测方法来检测此类场景下的人体目标, 统计人数。基本流程如图 3所示。

图 2 摄像机拍摄方式 Fig. 2 Shoot methods by camera

图 3 人数统计流程图 Fig. 3 Flowchart of people counting
2.1 运动侦测

运动侦测是为了粗定位人体区域, 去除大面积的背景区域, 从而提高算法的运算效率, 同时降低虚检。本研究采用混合高斯模型运动目标检测方法, 详细步骤见文献[12]

2.2 感兴趣区域定位与裁剪

一般地, 运动侦测检测到的运动目标可能不完整或存在断裂。因此, 本研究在基于运动侦测结果定位感兴趣区域时, 先对运动侦测后的二值图像进行数学形态学的膨胀操作(膨胀窗口为W×H), 其目的是避免人头区域的丢失。然后, 按8-邻接的连通方式, 搜索二值图像的连通域, 选取包围盒尺寸在T3×T3T4×T4之间的连通域作为感兴趣区域, 然后按照感兴趣区域在原始图像中的位置, 从原始灰度图像中裁剪感兴趣区域图像, 进行后续的检测。其中, T3T4为经验阈值。

2.3 边缘检测

本研究采用Prewitt检测算子检测感兴趣区域图像的边缘, 算子模板如图 4所示。通过边缘检测, 得到椭圆检测所需的目标点集。

图 4 Prewitt检测算子模板 Fig. 4 Prewitt detection operator templates
2.4 椭圆检测

在运动侦测和感兴趣区域定位阶段, 人体目标可能由于距离太近而被检测到同一个感兴趣区域之中。这样情况下, 该感兴趣区域可能存在多个椭圆。因此, 对于边缘检测提取到的目标点集, 采用多椭圆检测方法检测椭圆个数及每一个椭圆对应的参数。

2.5 形状滤波

对于检测到的每一个椭圆, 采用形状滤波滤除干扰。具体地, 要求每一个椭圆的长轴、短轴的长度和比例满足场景中人头目标的先验知识, 本研究用公式(18)约束了人头目标的最大、最小尺寸和形状。

(18)

其中, T5T6为经验阈值。

2.6 人数统计

当摄像机俯视拍摄视频时, 不同人体的人头目标不会重叠。因此, 如果某一个感兴趣区域中检测到多个椭圆, 判断各椭圆的包围盒是否有重叠, 如果有, 则合并为一个椭圆, 也即一个人头目标。然后, 统计图像中各感兴趣区域检测到的椭圆总数, 即为当前时刻场景中包含的人数。

3 仿真实验

本研究针对摄像机俯视拍摄模式采集的人体视频集进行仿真实验, 分析本研究方法涉及参数的最优取值, 与现有主流方法进行对比实验, 评价本研究方法的性能。

3.1 实验数据与评测方法

目前, 国际上公开人体数据集都是摄像机侧向拍摄模式采集的人体数据集, 如INRIA[13]、Daimler[14]和Caltech行人数据集[15]。而摄像机侧向拍摄时人体易出现遮挡现象, 人数统计误差较大。因此, 在大型场馆内常采用摄像机俯视拍摄模式采集视频进行人数统计[16-18]。然而, 国内外目前还未见公开的摄像机俯视拍摄模式采集的人体数据集。因此, 本研究针对实验室自建的测试数据集进行仿真实验, 该数据集是在博物馆人数统计项目中构建的, 由安装在各场馆的摄像机拍摄, 摄像机的拍摄角度是由上到下, 安装高度在8m~10m之间。本研究自建的测试数据集包含了30个图像, 视频采集参数如表 2所示。

表 2 视频采集参数 Tab. 2 Video capture parameter

为了避免视频解码误差影响测试结果, 本研究先将视频数据集转换为图像数据集, 具体是按照视频帧率将视频解码为bmp格式的图像进行存储, 然后对每一幅图像上的人数进行人工标记, 包括标记人头目标的包围盒位置以及图像上的总人数。

算法评测方法是:首先, 对于每一幅图像, 统计检测到的人数以及人头目标的包围盒。然后, 与标记的人头目标包围盒进行比较, 如果检测出的人头目标包围盒与实际人头目标包围盒的重合度超过50%, 则认为检测正确, 否则, 认为检测错误。接着, 统计该图像漏检的人数和误检的人数, 计算二者之和与该幅图像检测出的总人数的比值, 将该比值作为当前图像的误检率。最后, 统计所有图像的平均误检率, 作为算法的性能评价指标。平均误检率越低, 算法性能越好。另外, 运算效率也是算法的重要评价指标之一。因此, 本研究在对比算法性能时还对比每幅图像的平均处理时间, 作为评价算法运算效率的依据。

3.2 相关参数分析

本研究涉及的参数分为3类, 具体描述如下。

1) 椭圆采样点数

在本研究中, 椭圆采样点数为N。当N取值不同时, 采用GMM拟合的椭圆效果也不一样。一般地, N取值越大, 拟合的椭圆边界越平滑, 但同时拟合所需的目标点数量越多, 检测尺寸较小的椭圆目标时就可能因为目标点数量少而造成漏检。另外, N取值越大, 椭圆拟合计算量也越大。因此, 在保证拟合椭圆边界基本平滑的前提下, N取值越小越好。图 5显示了参数N取不同值时GMM拟合的椭圆效果, 其中, 当N=20时拟合的椭圆边界已基本平滑。因此, 本研究取N=20。

图 5 参数N取值不同时的椭圆拟合效果 Fig. 5 Performance of the ellipse fitting based on the different value of the parameter N

2) 经验参数

本研究涉及的经验参数有9个, 分别是T1T2T3T4T5T6hminhmaxβ。其中, T1用于描述实际目标点与拟合椭圆模型的容差, T2用于约束多椭圆检测的终止条件, T3T4用于约束待检测人头目标的尺寸, T5T6用于约束待检测人头目标的形状。hminhmaxβ用于控制椭圆检测效率, 可以通过实验统计来确定。本研究所用的参数经验取值见表 3

表 3 经验参数取值 Tab. 3 Empirical parameter values

3) 膨胀窗口尺寸

运动侦测后的二值图像需要进行数学形态学的膨胀操作, 目的是为了防止运动目标断裂或者丢失。膨胀窗口的尺寸越大, 运动目标的完整性越好, 人头目标丢失的概率越低, 但同时干扰区域会增多, 误检的概率以及算法的运算量都会增大。因此, 最优膨胀窗口尺寸的选择依据是:在人数统计的平均误检率下降不明显的情况下, 选取尽可能小的膨胀窗口尺寸。其中, 考虑到摄像机由上向下拍摄时人头目标长宽比差异不大, 因此本研究采用正方形膨胀窗口, 也即W=H图 6给出了不同膨胀窗口尺寸下的误检率曲线, 可见, 随着膨胀窗口尺寸的增加, 平均误检率会降低, 当W=H=7时, 平均误检率下降趋势已不明显, 甚至在W=H=13时, 平均误检率还有少许增大。因此, 本研究取W=H=7, 也即选择尺寸为7×7的窗口进行膨胀操作。

图 6 不同膨胀窗口尺寸下的误检率曲线 Fig. 6 False detection rate curve of different expansion window
3.3 不同方法性能对比

本研究在相同数据集上, 将本研究方法与文献[8-11]所述方法进行对比实验, 实验结果如表 4所示。其中, 对比方法是参考文献[8-11]中所述方法的实现原理和步骤自行实现的, 关于广义霍夫圆检测、运动侦测、边缘检测部分借鉴了OpenCV中的相关代码。

表 4 人数统计方法性能对比 Tab. 4 Comparison of people counting method

其中, 实验所用的计算机性能参数为:Intel Core-i5 CPU 3.20GHz,16G RAM和Windows 7 64位操作系统。软件处理平台为Visual Studio 2010。本研究方法的误检率最低, 而且平均处理时间最小, 说明本研究方法可以有效进行人数统计。

4 结语

本研究提出了一种基于GMM的人数统计方法, 首先采用运动侦测方法检测运动目标区域, 然后提取目标轮廓, 在此基础上采用结合GMM和欧氏距离准则的椭圆检测方法检测人头目标, 经过滤波后得到人数统计结果。针对摄像机俯视拍摄场景的人数统计仿真实验结果表明, 本研究方法的人数统计误检率和平均处理时间都低于目前主流方法, 证明本研究方法是一种有效的人数统计方法, 可用于大型场馆的客流统计以及客车的超载检测。

参考文献
[1]
刘侍刚, 彭亚丽, 雷涛, 等. 基于轨迹基的三维非刚体线性重建方法[J]. 中国科学:信息科学, 2016, 46(7): 883-898.
[2]
DU B, ZHANG Y, ZHANG L. A hypothesis independent subpixel target detector for hyperspectral Images[J]. Signal Processing, 2015, 110: 244-249. DOI:10.1016/j.sigpro.2014.08.018
[3]
LIU S, PENG Y. A local region-based Chan-Vese model for image segmentation[J]. Pattern Recognition, 2012, 45(7): 2769-2779. DOI:10.1016/j.patcog.2011.11.019
[4]
彭亚丽, 刘侍刚, 贲晛烨, 等. 基于非刚体的线性迭代相机自标定方法[J]. 电子学报, 2016, 44(5): 1051-1054. DOI:10.3969/j.issn.0372-2112.2016.05.006
[5]
DU B, ZHAO R, ZHANG L. A spectral-spatial based local summation anomaly detection method for hyperspectral images[J]. Signal Processing, 2016, 124: 115131.
[6]
LIU T, TAO D. Classification with Noisy Labels by Importance Reweighting[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(3): 447-461. DOI:10.1109/TPAMI.2015.2456899
[7]
DU B, ZHANG L, TAO D, et al. Unsupervised transfer learning for target detection from hyperspectral images[J]. Neurocomputing, 2013, 120: 72-82. DOI:10.1016/j.neucom.2012.08.056
[8]
LIU S, PENG Y, BEN X, et al. A novel label learning algorithm for face recognition[J]. Signal Processing, 2016, 124: 141-146. DOI:10.1016/j.sigpro.2015.09.033
[9]
刘侍刚, 彭亚丽, 曾智勇, 等. 基于正交补空间的遮挡点恢复方法[J]. 电子学报, 2015, 43(5): 911-915. DOI:10.3969/j.issn.0372-2112.2015.05.012
[10]
LIU S, PENG Y, ZENG Z, et al. An iterative method based on 1D subspace for projective reconstruction[J]. Opto-Electronics Review, 2011, 19(1): 89-94.
[11]
DU B, WANG S, WANG N. Hyperspectral signal unmixing based on constrained non-negative matrix factorization approach[J]. Neurocomputing, 2016, 204: 153161.
[12]
PENG Y, LIU F, LIU S. Active contours driven by normalized local image fitting energy[J]. Concurrency and Computation: Practice and Experience, 2014, 26(5): 1200-1214. DOI:10.1002/cpe.v26.5
[13]
DU B, ZHANG L. A discriminative metric learning based anomaly detection method[J]. IEEE Transactions on Geoscience and Remote Sensing, 2014, 52(11): 6844-6857. DOI:10.1109/TGRS.2014.2303895
[14]
LI L, LIU S, PENG Y, et al. Overview of principal component analysis algorithm[J]. Optik-International Journal for Light and Electron Optics, 2016, 127(9): 39353944.
[15]
LIU T, TAO D. On the Performance of MahNMF Manhattan Non-negative Matrix Factorization[J]. IEEE Transactions on Neural Networks and Learning Systems, 2016, 27(9): 1851-1863. DOI:10.1109/TNNLS.2015.2458986
[16]
DU B, ZHANG L. Target detection based on a dynamic subspace[J]. Pattern Recognition, 2014, 47(1): 344-358. DOI:10.1016/j.patcog.2013.07.005
[17]
LIU T, TAO D, SONG M, et al. Algorithm-dependent generalization bounds for multi-task learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(2): 227-241. DOI:10.1109/TPAMI.2016.2544314
[18]
LIU S, ZHANG X, PENG Y, et al. Virtual images inspired consolidate collaborative representation based classification method for face recognition[J]. Journal of Modern Optics, 2016, 63(12): 1181-1188. DOI:10.1080/09500340.2015.1133857