基于高斯混合模型的视频图像人数统计算法研究

2017-07-10 10:27:26
计算机应用与软件 2017年6期
关键词:人头高斯摄像机

田 枫

(陕西师范大学数学与信息科学学院 陕西 西安 710119)

基于高斯混合模型的视频图像人数统计算法研究

田 枫

(陕西师范大学数学与信息科学学院 陕西 西安 710119)

针对摄像机俯视拍摄场景的人数统计问题,提出一种运算效率高、误检率低的人数统计方法。以人头部位为检测对象,采用运动侦测、边缘检测方法获取人头轮廓,在此基础上采用高斯混合模型分别对人头轮廓目标点集和椭圆模型进行建模,通过最小化人头轮廓目标点集与椭圆模型的高斯混合模型之间的欧氏距离求解椭圆参数,统计满足椭圆形状的轮廓数量,再通过形状滤波得到人数统计结果。人数统计对比实验结果表明,新方法的误检率低,且运算效率高。

人数统计 高斯混合模型 人头检测 边缘检测 运动侦测

0 引 言

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

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

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

第一,结合高斯混合模型和欧式距离准则检测椭圆目标,与常用的广义霍夫圆变换方法相比,椭圆目标检测的误检率更低,运算效率更高。

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

1 高斯混合模型构建及椭圆检测

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

椭圆参数p可以表示为:

p={x0,y0,a,b,α}

(1)

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

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

(2)

下面介绍目标点集f与椭圆模型ep的建模方法以及椭圆检测方法。

1.1 椭圆模型建模

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

(3)

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

本文采用高斯混合模型对椭圆上的点进行建模,记椭圆上的N个采样点的集合为{u(j)|j=1,2,…,N},则椭圆模型ep可以表示为:

(4)

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

(5)

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

(6)

图1 单位正交向量图示

对角矩阵Λj表示为:

(7)

其中:

(8)

其中,h为正交带宽控制参数,用于控制椭圆轮廓的平滑度。权重wj满足如下条件:

(9)

1.2 目标点集建模

给定一组目标点的集合{v(i)|i=1,2,…,n},本文也采用高斯混合模型对目标点集f进行建模,表示为:

(10)

(11)

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

(12)

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

(13)

1.3 椭圆参数求解

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

‖f-ep‖2=‖f‖2+‖ep‖2-2

(14)

其中,第一项‖f‖2与椭圆参数p无关,可以忽略。后两项的计算方法为:

μk,∑j+Σk)

(15)

μj,Σj+Σi)

(16)

1.4 单椭圆检测

单椭圆参数求解伪代码

输入:hmax,hmin,β

过程:

1. 初始化:h=hmax。

3. while(h=β×h且h≤hmin)

4. 计算C(p)=‖f-ep‖2;

5. if(C(p)

7. end if

8. end while

(17)

其中,T1为设定的阈值,用于描述目标点与椭圆模型的容差。如果椭圆上的目标点数量超过椭圆长轴和短轴的长度之和,则认为检测到一个椭圆,否则认为没有检测到椭圆。

1.5 多椭圆检测

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

Step1 全局检测

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

Step2 目标点集更新

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

检测结束后,输出检测到的椭圆数量。其中,T2为经验阈值。

2 人数统计

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

图2 摄像机拍摄方式

图3 人数统计流程图

2.1 运动侦测

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

2.2 感兴趣区域定位与裁剪

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

2.3 边缘检测

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

图4 Prewitt检测算子模板

2.4 椭圆检测

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

2.5 形状滤波

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

(18)

其中,T5和T6为经验阈值。

2.6 人数统计

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

3 仿真实验

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

3.1 实验数据与评测方法

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

表1 视频采集参数

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

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

3.2 相关参数分析

本文涉及的参数可以分为三类,详细描述如下。

(1) 椭圆采样点数

在本文中,椭圆采样点数为N。当N取值不同时,采用高斯混合模型拟合的椭圆效果也不一样。一般地,N取值越大,拟合的椭圆边界越平滑,但同时拟合所需的目标点数量越多,检测尺寸较小的椭圆目标时就可能因为目标点数量少而造成漏检。另外,N取值越大,椭圆拟合计算量也越大。因此,在保证拟合椭圆边界基本平滑的前提下,N取值越小越好。图5显示了参数N取不同值时高斯混合模型拟合的椭圆效果,其中,正交带宽控制参数h取固定值1。可见,当N=20时拟合的椭圆边界已基本平滑。因此,本文取N=20。

图5 参数N取值不同时的椭圆拟合效果

(2) 经验参数

本文涉及的经验参数有9个,分别是T1、T2、T3、T4、T5、T6、hmin、hmax和β。其中,T1用于描述实际目标点与拟合椭圆模型的容差,T2用于约束多椭圆检测的终止条件,T3和T4用于约束待检测人头目标的尺寸,T5和T6用于约束待检测人头目标的形状。hmin、hmax和β用于控制椭圆检测效率。这些参数都可以通过大量实验统计以及一些先验知识来确定。本文所用的参数经验取值见表2。

表2 经验参数取值

(3) 膨胀窗口尺寸

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

图6 不同膨胀窗口尺寸下的误检率曲线

3.3 不同方法性能对比

大型场馆内常采用摄像机俯视拍摄方式采集视频,以便降低人与人、人与物之间的相互遮挡现象。然而该模式下人体结构化特征的显著性下降,无法采用常用的行人检测方法进行人数统计。由于该模式下人头部位的显著性增强,常采用人头检测方法进行人数统计,具体是将人头轮廓拟合为椭圆,通过检测椭圆数量实现人数统计,常用方法详见文献[8-11]。因此,本文在相同数据集上,将本文方法与文献[8-11]所述方法进行对比实验,实验结果如表3所示。其中,对比方法是参考文献[8-11]中所述方法的实现原理和步骤自行实现的,关于广义霍夫圆检测、运动侦测、边缘检测部分借鉴了OpenCV中的相关代码。

表3 不同人数统计方法性能对比

实验所用的计算机性能参数为:Intel Core-i5 CPU 3.20 GHz、16 GB RAM和Windows 7 64位操作系统。软件处理平台为Visual Studio 2010。

由表3可见,本文方法的误检率最低,而且平均处理时间最小,证明本文方法可以有效进行人数统计。

4 结 语

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

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

[2] 常庆龙,夏洪山,黎宁.一种基于归一化前景和角点信息的复杂场景人数统计方法[J].电子与信息学报,2014,36(2):312-317.

[3] 汤石晨,陈锻生.基于光流法和行人面积特征的人数统计方法研究[J].图学学报,2013,34(1):139-144.

[4] 李虎,张二虎,段敬红.基于PCA和多元统计回归的人群人数统计方法[J].计算机工程与应用,2014,50(11):206-209.

[5] Sun L,Liu G,Liu Y.Multiple pedestrians tracking algorithm by incorporating histogram of oriented gradient detections[J].Iet Image Processing,2013,7(7):653-659.

[6] Hoang V D,Vavilin A,Jo K H.Fast human detection based on parallelogram haar-like features[C]//IECON 2012-38th Annual Conference on IEEE Industrial Electronics Society.IEEE,2012:4220-4225.

[7] Satpathy A,Jiang X,Eng H L.Human detection using Discriminative and Robust Local Binary Pattern[C]//IEEE International Conference on Acoustics,Speech,& Signal Processing.2013:2376-2380.

[8] Vu T H,Osokin A,Laptev I.Context-Aware CNNs for Person Head Detection[C]//2015 IEEE International Conference on Computer Vision (ICCV).2015:2893-2901.

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

[10] 徐培智,徐贵力,黄鑫.基于随机Hough变换的人头检测[J].计算机工程,2012,38(1):199-200.

[11] 张继法,梅雪,许松松,等.一种基于双椭圆模型的视频人数统计方法[J].计算机科学,2012(B06):499-502.

[12] 周建英,吴小培,张超,等.基于滑动窗的混合高斯模型运动目标检测方法[J].电子与信息学报,2013(7):1650-1656.

[13] Dalal N,Triggs B.Histograms of Oriented Gradients for Human Detection[C]//IEEE Conference on Computer Vision & Pattern Recognition,2005:886-893.

[14] Markus E,Gavrila D M.Monocular pedestrian detection:survey and experiments[J].Pattern Analysis & Machine Intelligence IEEE Transactions on,2008,31(12):2179-2195.

[15] Dollar P,Wojek C,Schiele B,et al.Pedestrian detection:An evaluation of the state of the art[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2012,34(4):743-761.

RESEARCH ON THE VIDEO IMAGE PEOPLE COUNTING ALGORITHM BASED ON GAUSSIAN MIXTURE MODEL

Tian Feng

(SchoolofMathematicsandInformationScience,ShaanxiNormalUniversity,Xi’an710119,Shaanxi,China)

Aiming at the problem of people counting in the overhead scene of the camera, a people counting method of high efficiency and low false detection rate is proposed. The new method takes people’s heads as the detection objects, and uses motion detection and edge detection methods to obtain contours of heads. On this basis, the Gaussian mixture model is used to model the contour points of the human head and the ellipse model respectively. By minimizing the Euclidean distance between the target contour set and the elliptic model of Gaussian mixture model, the elliptic parameters are solved and the number of contours satisfying the elliptical shape is counted, and then through the shape filtering to get the results of people counting. The experimental results show that the new method has low false detection rate and high computational efficiency.

People counting Gaussian mixture model Head detection Edge detection Motion detection

2016-05-20。陕西省自然科学基金项目(2016JM1017)。田枫,博士生,主研领域:算法分析及数学哲学等。

TP391

A

10.3969/j.issn.1000-386x.2017.06.034

猜你喜欢
人头高斯摄像机
小高斯的大发现
交出人头
天才数学家——高斯
假人头防盗大法
知识窗(2019年4期)2019-04-26 03:16:02
朋友圈
百花洲(2018年1期)2018-02-07 16:33:02
看监控摄像机的4K之道
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
如何消除和缓解“摄像机恐惧症”
新闻前哨(2015年2期)2015-03-11 19:29:25
有限域上高斯正规基的一个注记