APP下载

基于卷积神经网络的人群计数研究

2017-08-08吴震宇江先志

成组技术与生产现代化 2017年2期
关键词:分块计数卷积

袁 烨,吴震宇,江先志

(浙江理工大学 机械与自动控制学院,浙江 杭州 310018)

基于卷积神经网络的人群计数研究

袁 烨,吴震宇,江先志

(浙江理工大学 机械与自动控制学院,浙江 杭州 310018)

针对卷积神经网络模型训练效率不高的问题,在人群计数方面提出了一种分块多列卷积神经网络构架,即将整幅图像分割成大小相等的3部分后分别进行训练.这样大大降低了单个模型数据的输入维度,训练效率有了很大的提升.针对数据准备阶段密度图不易生成的问题,提出了一种简化且有效的密度图生成方法.在公开数据集mall_dataset上对所提出的方法进行了验证,并与现在表现优秀的多列卷积神经网络(MCNN)方法做了对比.实验结果表明,本方法在保持计数准确率的基础上提高了模型的训练效率.

人群计数;卷积神经网络;密度图

据统计,2000~2006年国内外大型活动中曾发生85起拥挤踩踏事故,造成4 026人死亡,7 513人受伤, 平均每起拥挤踩踏事故死亡48人,受伤89人,已达到了我国规定的特别重大伤亡事故级别[1].此外,在各大城市中,随着居住人口密度的增长,人群大量聚集的频率越来越高.因此,人群密度信息研究刻不容缓,对城市管理意义重大.比如,对于城市公交系统,通过及时获得乘客在空间上、时间上的分布情况来灵活调整车辆运行时间表;对于大型商场,通过顾客的流量信息来制定高效率的营销策略,等等.与此同时,随着视频监控行业的高速发展,如何准确高效地估计监控视频中的行人数目也引起了研究者的高度关注.

1 人群计数算法的相关工作

传统人群计数算法的主要原理可以概括为,基于某种或几种设计好的特征对人群数量或人群密度等级进行回归[2].Rabaud V等通过运动物体的检测来估计视频中的人数,这种方法的局限性在于无法有效检测静止的行人[3];Idrees H等通过基于HOG的头部检测、傅里叶分析、角点检测等多元特征,结合多尺度马尔科夫随机场来估计图像中的人数,这种方法优于单一特征的人群计数方法,但是手工提取的特征很难克服光照变化、图像的透视变换、人群遮挡等难题[4].

随着近两年来深度学习技术的飞速发展,一些研究者采用深度学习的方法进行人群计数和人群密度的估计.其中最具代表性的是,Zhang C等利用卷积神经网络(Convolution Neural Networks,CNN)自动提取图像中人群密度特征来估算不同场景的人数[5].其具体方法是用图像和标注好的密度图作为输入数据,借助深度学习框架进行监督学习.其中,对于密度图的制作,研究者分别采用二维高斯分布和二元正态分布来标注近似人的头部区域和身体部分,并通过归一化,使密度图的积分和等于标注的总人数.这样的标注方法较好地表现了人体的形状,但是却稍显复杂.为了解决图像的透视畸变,Zhang C等在模型训练时引入了针对不同场景的透视矫正矩阵,但事实上,不同场景下透视矫正矩阵的获得并不是一件简单的事情.Zhang Y等[6]在文献[7]的启发下,采用多列卷积神经网络(MCNN)来学习图像中的人群特征,取得了较好的效果;同时提出了一种基于几何自适应高斯内核的密度图生成方法,可在不用透视矫正矩阵的情况下较为准确地生成密度图.这种几何自适应方法通过计算图像中不同人头之间的距离,根据一个人头与周围人头之间的平均距离,自适应地调整密度图生成时所用归一化高斯分布内核的大小,对于与周转人头之间平均距离较小的人头采用较小的高斯分布内核,而对于平均距离较大的人头采用较大的高斯分布内核.这种方法也稍显复杂且不适用于稀疏人群,同时数据集在做人头标注时,标注位置随意性较大.因此,这种生成密度图的方法也非尽善尽美.

本文受分治算法思想的启发,对以上基于卷积神经网络的人群计数方法拟进行两点改进.

第一、针对卷积神经网络模型训练效率不高的问题,在人群计数方面提出了一种分块多列卷积神经网络构架,将整幅图像分割成大小相等的3部分,分别用这3部分来训练3个模型.对人群图像进行计数时,首先将人群图像分割为3部分,然后分别将这3部分输入对应的3个网络中,最后对其输出结果进行加和,即可得到整幅图像的人数.这样大大降低了单个模型数据的输入维度,训练效率有了很大的提高.

第二、针对数据准备阶段密度图不易生成的问题,分别对各部分采用不同大小的二维归一化高斯分布内核来生成密度图,较好地克服了透视畸变的影响,简化了密度图的生成方法.

2 分块多列卷积神经网络的人群计数

近年来深度学习技术掀起了人工智能的浪潮,在图像分类和识别领域,深度卷积神经网络更是取得了一系列重大的突破.就人群计数和密度检测而言,卷积神经网络通过一系列的卷积运算自动学习图像中的人群高层语义特征,并通过反向误差传播不断修正特征参数. 它实现了端到端的训练与检测,无需前景分割、人工设计和特征提取等繁琐步骤.

2.1 分块多列卷积神经网络

通常情况下由于相机拍摄角度的原因,人群图像往往会发生不同程度的透视畸变.其总体表现为,距离相机较近的行人在图像中占据的面积较大,远离相机的行人在图像中占据的面积较小.本文将一张图片从上至下分割为大小相同的3部分,分别训练3个模型,然后用这3个模型去预测一张图像中

对应的部分,最后将3部分的预测结果简单加和,得到最终的预测结果.本方法借鉴了文献[6]中做法,在这3部分图像上使用了大致相同的网络结构,这3个网络结构除了卷积核大小不等之外,其他均相同.为了更好地捕捉不同尺度的人群密度特征,对人头较小(远离相机)的部分采用较小感受野的卷积核,对于人头较大(靠近相机)的部分采用较大感受野的卷积核.该网络与文献[6]中网络的区别在于,文献[6]中网络为了提取一张图片中不同大小的人头特征,3个网络都作用于整幅图像,而本文将图像三等分后,每一部分的人头大小近似相等,这样可以更有针对性地将单列网络作用于某一部分图像.分块多列卷积神经网络结构如图1所示.其中池化层采用2×2最大池化,激活函数采用性能优异且被广泛使用的修正线性单元(Relu)[8].为了将卷积神经网络学习到的特征图映射到密度图中,本文参考文献[9]中做法,用1×1的卷积核来处理最后一层输出的特征图,对密度图简单积分,以获得估计的人数.本方法的损失函数采用欧式距离进行定义,其具体形式为:

(1)

式中:θ为一组从卷积神经网络中学到的参数;N为训练图像的数量;Xi为输入CNN的图像;F(Xi;θ)为通过CNN预测得到的密度图;Fi为真实标注的密度图;L(θ)为预测密度图和真实标注的密度图之间的损失值.

2.2 密度图的制作

卷积神经网络通过训练来学习特征的过程属于典型的监督学习.其训练数据的质量,尤其是密度图的质量对最终模型性能的影响至关重要.如何简单且有效地将标注过的人群图像转化为密度图值得研究.人群图像的标注示例如图2所示.

具有N个人头标记的图像可以表示为如下函数:

(2)

式中:δ(x-xi)为delta函数;xi表示一个人头标注点所在的位置.简化起见,可对此函数和归一化高斯核函数Gσ(x)进行卷积运算,从而将标注过的图像转化为连续的密度图.其数学表达式[6]如下:

F(x)=H(x)·Gσ(x)

(3)

图1 分块多列卷积神经网络结构

图2 图像的标注示例

事实上受透视畸变的影响,图像中不同位置的人头对应的归一化高斯核函数Gσ(x)的大小有所不同,而通常情况下一张图像的透视矫正矩阵又不容易获得.研究发现,一张图像的透视畸变中隐含着近似的线性畸变关系.因此,本文将一张图像从上至下大小均等地分成3部分,相应的人群图像中的标注点也被分为了3部分,分别对每一部分采用一个适当大小的归一化高斯核函数处理,就可在不用图像畸变矫正矩阵的情况下近似地生成人群图像的密度图.研究发现,在公开的数据集mall_dataset[10]上,对分割后得到的上、中、下3部分图像依次使用大小为hsize=8,hsize=10,hsize=11,标准差为σ=hsize/2.5的归一化高斯核函数处理,可以得到较好的密度图(图3).显然,采用本方法生成的密度图效果(图3c)与采用透视矫正矩阵生成的密度图效果(图3a)几乎相同.

图3 生成密度图效果

3 分块多列卷积神经网络实验及分析

3.1 实验环境

本文在公开数据集mall_dataset上对所提出的方法进行了验证.该数据集由某商场的网络摄像头收集,包含2 000帧视频图像和大约60 000人的行人标注,给出了视频帧的透视矫正矩阵,为实验提供了很多便利.为了尽可能简便地验证本方法的有效性,从mall_dataset数据集中取前1 600帧作为训练集,后400帧作为验证集,使用caffe[11]深度学习框架及GTX1070 GPUs显卡对模型进行训练.

3.2 训练效率

由于卷积神经网络训练的模型参数非常多,深度学习技术本身又要基于大量数据才能达到不错的效果,因此训练好一个卷积神经网络模型本身就非易事.稍大一点的模型通常需要多块GPUs,经过数小时甚至数天的反复迭代才能得到不错的效果.本方法将一张图像等分为3份(从上至下依次标记为part1,part2,part3),降低了每一列网络输入数据的维度,使模型的训练速度大大提升.这里对MCNN和本文提出的分块多列卷积神经网络结构进行10万次迭代训练,记录前1万次的训练用时.其结果如表1所示.

表1 训练性能对比 s

由表1可见,与文献[6]中表现优秀的3列网络组合训练相比,本文将图像拆分,每列网络仅训练图像中的一部分,在训练效率上提升了约2.59倍.同时,本方法与表现优秀的3列网络结构相比,在测试性能上并没有明显的下降.

3.3 实验结果

本文采用人群计数方面普遍使用的平均绝对误差(MAE)和均方误差(MSE)[5-6],对预测的结果进行评价.其中平均绝对误差反映了预测的准确性,均方误差反应了预测的鲁棒性.二者的详细定义如下:

(4)

(5)

本文除了对所提出方法进行验证之外,还分别用这3列网络单独学习图像中的人群特征,同时借鉴文献[6]的做法,将3列网络组合起来使用.为保证测试的准确性,本文对每种方法各取3组测试数据,每组数据从验证集中随机取20张图像,最后将测得的3组数据取平均值(图4).

注:c1,c2,c3分别对应于图1中从上到下3列网络单独训练时的检测结果;3column为借鉴目前表现优秀的网络模型[6]构建网络的检测结果;proposed为本方法的检测结果.图4 平均绝对误差与均方误差结果评价

从图4可以看出,本方法与文献[6]中表现优秀的3列网络模型达到了同样的效果,本方法有效.但是,在准确率方面,本方法的结果并没有达到同等人群规模下文献[6]的水平.其原因主要在于,深度学习技术本身需要大量的数据支撑,本文旨在验证所提出的分块多列卷积神经网络构架在人群计数方面的有效性,实验过程中为了尽可能简化,并没有对数据进行过多的增强处理.文献[6]中公开的数据模型进行了数百万次的迭代,而本文受计算机性能的限制仅进行了10万次迭代.

本方法的预测效果如图5所示.

4 结束语

本文在人群计数和密度检测方面提出了一种分块多列卷积神经网络构架.将人群图像分割成3部分进行训练,得到3个模型,然后用这3个模型分别对图像的3个部分进行预测,最后将预测结果简单加和,得到最终的预测结果.本文在公开数据集mall_dataset上对所提出的方法进行了验证.实验结果表明,所提出的简化密度图生成方法,在不用透视矫正矩阵的情况下即可由标注图像生成效果较好的密度图,提出的分块多列卷积神经网络构架极大地提高了训练效率,同时在同等条件下达到了与当前表现优秀的MCNN方法同样的效果.

[1] 王起全,王 敏.大型活动拥挤踩踏事故人群疏散研究分析[J]. 三峡大学学报(人文社会科学版), 2008,30(s2):34-37.

[2] 沈 娜. 智能视频监控系统中人群密度估计与实现[D]. 南京:南京航空航天大学, 2012.

[3] Rabaud V,Belongie S.Counting crowded moving objects[C]// IEEE Computer Society Conference on Computer Vision and Pattern Recognition.New York:IEEE Computer Society,2006:705-711.

[4] Idrees H,Saleemi I, Seibert C, et al. Multi-source multi-scale counting in extremely dense crowd images[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Porland,OR:IEEE Computer Society,2013:2547-2554.

[5] Zhang C, Li H, Wang X, et al. Cross-scene crowd counting via deep convolutional neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Boston,MA:IEEE Computer Society,2015: 833-841.

[6] Zhang Y, Zhou D, Chen S, et al. Single-image crowd counting via multi-column convolutional neural network[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas,NV:IEEE Computer Society,2016: 589-597.

[7] Ciregan D, Meier U, Schmidhuber J. Multi-column deep neural networks for image classification[J].IEEE Conference on Compater Vision & Pattem Recogoition,2012, 157(10):3642-3649.

[8] Zeiler M D, Ranzato M, Monga R, et al. On rectified linear units for speech processing[C]//IEEE International Conference on Acoustics, Speech and Signal Processing.Vancouver,BC:IEEE, 2013:3517-3521.

[9] Sheelhamer E, Long J,Darrell T. Fully convolutional networks for semantic segmentation[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Boston, MA:IEEE,2015: 3431-3440.

[10] Chen K,Gong S, Xiang T, et al. Cumulative attribute space for age and crowd density estimation[C]//Computer Vision and Pattern Recognition.Portland,OR:IEEE Computer Society, 2013:2467-2474.

[11] Jia Y,Shelhamer E,Donahue J, et al. Caffe:Convolutional architecture for fast feature embedding[C]//ACM International Conference on Multimedia.Orlando,Florida:ACM,2014:675-678.

Research on Crowd Counting via Deep Convolution Neural Networks

YUAN Ye,WU Zhen-yu, JIANG Xian-zhi

(Scholl of Mechanical Engineering & Automation Zhejiang Sci-Tech University, Hangzhou 310018,China)

In recent years, the convolution neural networks(CNN) has made a good progress in the crowd counting. Aiming at the training of the convolution neural network model is not efficient, inspired by the idea of divide-and-conquer, this paper proposes a deep learning framework for estimating crowd counting. That is, the entire image for training is divided into 3 equal-sized portions, which greatly reduces the dimensions of the input data for one model, so the training efficiency has been greatly improved. this paper also proposes a simplified and effective method for generating density maps for the problem that the density map of the crowd is not easy to be generated. At last, the proposed method is verified on the public data set mall_dataset and compared with the presently well performed method, Experiments show that our method can improve the training efficiency as well as get a good enough result.

crowd counting; convolutional neural networks; density map

2017-05-09

袁 烨(1991-),男,河南洛阳人,硕士研究生,研究方向为计算机视觉.

1006-3269(2017)02-0049-05

TH

A

10.3969/j.issn.1006-3269.2017.02.011

猜你喜欢

分块计数卷积
钢结构工程分块滑移安装施工方法探讨
古人计数
基于3D-Winograd的快速卷积算法设计及FPGA实现
递归计数的六种方式
古代的计数方法
分块矩阵在线性代数中的应用
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
这样“计数”不恼人
反三角分块矩阵Drazin逆新的表示