贾翻连, 张丽红
(山西大学 物理电子工程学院, 山西 太原 030006)
近几年来, 人群密度估计成为智能视频分析的一个研究热点. 对人群密度进行估计的算法开始出现并不断丰富, 主要算法包括模板匹配和深度学习两类. Davies[1]等提出人群密度的估计能够利用提取前景图像(只包含人)的总像素数以及边缘图像的总像素数两种像素特征来进行, 它们都与图像人群数量大致成线性关系; Chow[2]为了对人群的像素统计特征进行有效地分析, 通过使用神经网络方法估计人群密度信息; Marana[3]提出基于纹理分析的人群密度估计算法, 该算法的主要功能是能够解决高密度场景的人群密度估计问题; Lin S F[4]等人在论文中提出利用个人特征来检测行人, 实现人群人数的统计, 从而实现人群密度估计; Zhao[5]提出了一种基于模板匹配进行行人检测的方法, 对行人进行了参数化建模. 这些方法首先从给定的图像中提取特征, 然后通过这些特征将人群密度图片分成不同等级. 常用的分类器是支持向量机和神经网络, 其中HuaYang[6], XiaoHua Li[7]等都选择支持向量机作为分类器.
这些方法往往都是在整幅图像中应用一个模型, 把特征向量映射成行人数量来进行人群密度估计, 其缺陷是忽略了不同区域中的不同人群密度的差异, 且用一个模型一次处理一张图片需要的时间较长. 卷积神经网络模型具有很强大的特征提取和表示能力, 本文提出一种基于并行卷积神经网络的人群密度估计算法, 把视频帧进行分块, 将图像块分别输入不同的模型, 深入地挖掘不同条件下较好的特征, 降低背景环境复杂度的影响, 从而更好地进行人群密度估计, 克服单一模型带来的局限性.
在深度学习模型中, 卷积神经网络是最经典的模型之一. 卷积网络是为识别二维形状而特殊设计的一个多层感知器, 这种网络结构对平移、 比例缩放、 倾斜或者共他形式的变形具有高度不变性. LeCun[8]等人提出的卷积神经网络(Convolutional Neural Network, 简称 CNN)是第一个真正的多层非线性结构学习算法, 它在手写字符识别中已经成功应用, 该方法将特征提取和识别结合在一起, 通过卷积操作直接对图像进行处理, 提取图像的局部特征如角点、 边缘等等, 并利用误差反向传播过程, 不断地选择、 优化既得的特征.
一般地, CNN包含多个卷积过程和全连接的过程. 每个卷积的过程由4个部分组成, 即卷积层、 汇聚层、 非线性变换层, 局部反应标准化层. 通过这4个部分减少参数数目以提高训练性能, 并能够保证图像对位移、 缩放、 形变的鲁棒性. 经典的LeNet-5网络模型结构如图 1 所示.
图 1 LeNet-5网络框架Fig.1 LeNet-5 network framework
卷积网络较一般神经网络在图像处理方面有如下优点: ① 输入图像和网络的拓扑结构能很好地吻合; ② 特征提取和模式分类同时进行, 并同时在训练中产生; ③ 权重共享可以减少网络的训练参数, 使神经网络结构变得更简单, 适应性更强.
卷积神经网络的缺点是: 存在计算瓶颈, 即卷积层与子采样层间特征图的大小匹配, 会影响计算速度和时间.
用基本卷积神经网络人群密度图片时, 其网络的结构会受背景的影响. 当背景较为复杂时, 网络会有比较多的隐含层, 此时, 基本卷积神经网络的计算瓶颈会更为突出. 对此, 本文提出一种并行卷积神经网络, 其模型如图 2 所示.
并行卷积神经网络由4部分组成: 输入、 特征提取、 特征融合和结果输出. 图像分块后将每一个图像块作为该模型的输入; 特征提取是通过并行卷积神经网络来实现的, 特征融合采用的是自编码网络, 最后用支持向量机将分类结果输出.
并行卷积神经网络是可以同时处理多个图像块的网络结构, 每层都是一个完整的卷积神经网络, 具有基本卷积神经网络的基本功能. 在卷积神经网络中处在同一个特征图中的神经元节点有着共同的卷积核, 表示为数学模型
(1)
式中: *代表卷积操作;xi代表前一层中第i个特征图;wij代表从上一层第i个特征图产生下一层第j个特征图所需要的卷积核;bj代表阈值;f(x)代表激活函数.
图 2 并行卷积神经网络结构Fig.2 Parallel convolution neural network structure
网络中第p个样本的误差为Ep, 表达式如式(2), 式中yp代表期望输出,op代表实际输出. 将网络关于整个样本集的误差测度定义为β, 表达式如式(3).
(2)
β=∑Ep.
(3)
由网络结构可知: 并行卷积神经网络具有基本卷积神经网络的优点, 而且通过分块处理一幅图片, 减少了卷积神经网络的输入数据量, 使得运算速度加快, 降低了网络结构的复杂度.
基本的图像分类任务主要由特征提取和分类两部分组成. 基于并行卷积神经网络的人群密度估计算法的流程如图 3 所示.
图 3 人群密度估计算法的流程图Fig.3 Flow chart of population density estimation algorithm
具体步骤如下:
1) 图像预处理
视频中存在透视效应, 使得同样面积的前景像素实际的大小不同, 所以需要对图像做透视校正, 以降低其在实验中带来的误差.
2) 图像分块
对于每一帧图像都进行分块, 在本文中分成3*3块区域.
3) 人群密度预估计
根据前景面积阈值粗略判断该区域是否是密集人群, 对于稀疏人群, 网络中第一层卷积的卷积核大小为 5×5, 第二层卷积核大小为 3×3; 对于密集人群, 网络中第一层的卷积核大小为7×7, 第二层卷积核大小为5×5.
4) 人群特征提取
将图像块输入并行卷积神经网络, 根据步骤3)的预估计结果选择合适的卷积核进行特征提取.
在网络中, 损失函数为平方损失函数, 如式(4)所示.
(4)
式中: β表示的是误差, 整个式子表示的是误差的平方和.
激活函数采用有Maxout的Exponential Linear Enit (ELU)[8], 表达式如式(5).
(5)
ELU 是 ReLU 的一个相对平滑的版本, 它能加速收敛并提高准确度. 其中α是一个可调整的参数, 它控制着ELU负值部分在何时饱和. 与 ReLU 不同, ELU 拥有负值, 允许它们以更低的计算复杂度将平均单位激活推向更加接近 0 的值. 与双曲正切和Sigmoid函数相比较, 由于ELU函数的正部分是恒等式, 所以梯度消失的问题得到了缓解, 因此它们的导数是一个而不是收缩的.
5) 人群特征融合
由步骤4)可以得到每一个图像块的特征. 这些特征维数过高, 很难直接应用. 因此有必要融合这些特征, 降低特征维数. 并且, 在我们的方法中, 每张图像被分割为9个区域块. 在每一块的区域边界可能会有某一个人被分到两个甚至更多的图像块中, 不同块特征中有些特征是有可能表示同一个人的, 因此有必要融合这些特征. 每个图像块的特征由向量组成, 本文采用自编码网络融合这些特征并降维.
6) 人群特征分类
将步骤5)得到的特征用Softmax分类.
7) 结果输出
网络的输出层 3 个节点分别对应 3 个密度等级, 将步骤6得到的分类结果作为支持向量机的输入, 通过支持向量机得到网络的输出. 在实验中采用向量形式将训练样本的类别对应到输出节点, 即: 低密度等级对应的输出向量就是(1,0,0)T, 中密度等级对应的输出向量是(0,1,0)T, 高密度等级对应的输出向量是(0,0,1,)T.
在系统为windows server 2012的服务器、 python 3.5 的实验平台下, 用2个数据集对提出的方法进行验证. 一个数据集来自Chan[9]UCSD的行人数据集(下文简称数据集1 ), 该数据集图片分辨率为238*158、 帧率为10fps的视频. 另外一个数据集是自己拍摄的一段某路口视频(下文简称数据集2), 该视频视角较远, 场景中有少许杂乱背景.
表 1 人群密度等级的定义
将人群密度按照人数分为低、 中、 高3个等级, 具体定义如表 1 所示.
并行卷积神经网络的训练过程大致可以归结为 3 步, ① 将样本导入分类器进行训练至网络收敛; ② 优化网络, 删除冗余的连接; ③ 进一步训练. 网络中采用的损失函数为对数损失. 网络的误差参数β的初始值设为 0.18, 通过实验发现在这个阈值之前网络的误差处于平滑下降趋势, 当网络误差降至 0.15 左右时, 大部分的可分样本已经能够正确分类; 对于少数不可分样本, 由于受到学习率的影响, 会使分类错误. 实验中,α=0.1 , 学习率为0.000 1, 此时分类效果最好.
对于数据集1和数据集2, 选取其中4 400个样本, 使用数据集中的样本, 提取特征, 用2 400个样本训练神经网络的参数, 并用剩余的2 000个样本进行测试. 人群密度等级估计准确率的结果如表 2 和表 3 所示. 将并行卷积神经网络的实验结果和基本卷积神经网络实验结果进行比较.
表 2 和表 3 结果表明: 并行卷积网络对于人群密度估计有极高的准确率, 并且与基本卷积神经网络和BP神经网络相比, 其分类准确率也有所提高.
表 2 数据集 1 人群密度等级估计准确率
表 3 数据集2人群密度等级估计准确率
另外, 将数据集1和HangSu[10], Kim[11]的方法进行比较. HangSu等采用了 SST-LBP 方法描述特征并使用 SVM 作为分类器. Kim采用计算运动区域和对比信息的方法来估计人群密度等级, 其中对比信息基于 GLDM 矩阵方法, 累加矩阵元素将和作为一个特征, 然后用这两个特征去训练 BP 神经网络. 由实验结果可得到, 依靠卷积神经网络可以得到更为准确的特征和分类.
本文算法采用并行卷积神经网络对视频帧进行处理, 在算法运算速度上与基本卷积神经网络相比具有明显优势, 并且具有良好的鲁棒性.
本文构造了一种并行卷积神经网络模型, 将其应用于人群密度等级估计, 与基本卷积神经网络、 BP神经网络及HangSu, Kim等方法进行了对比. 实验结果表明: 本文方法在人群密度估计准确度和运算速度方面都有所提高.
[1] Davies A C, Yin J H, Velastin S A.Crowd monitoring using image processing[J]. Electronics & Communication Engineering Journal, 1995, 7(1): 37-47.
[2] Chow T W S. Fast training algorithm for feed forward neural networks: application to crowd estimation at underground stations[J]. Artificial Intelligence in Engineering, 1999, 13(3): 301-307.
[3] Marana A N, Velastin S A, Costa L F, et al. Estimation of crowd density using image processing[J]. IEEE Colloquium on Image Processing for Security Applications, 1997, 11(3): 1-11.
[4] Lin S F, Chen J Y, Chao H X. Estimation of number of people in crowded scenes using perspective transformation[J]. IEEE Transactions on Systems, Man and Cybemetics PartA: Systems and Humans, 2001, 31(6): 645-653.
[5] Zhao T, NeVatia R, Wu B. Segmentation and tracking of multiple humans in crowded environments[J]. Pattern AnaIysis and Machine Intelligence, IEEE Transactions on, 2008, 30(7): 1198-1211.
[6] Yang H, Su H, Zheng S, et al. The large-scale crowd density estimation based on sparse spatiotemporal local binary pattern[C]. Multimedia and Expo (ICME), 2011 IEEE International Conference on. IEEE, 2011: 1-6.
[7] Li Xiaohua, Shen Lansun, Li Huanqin. Estimation of crowd density based on wavelet and support vector machine[J]. Transactions of the Institute of Measurement and Control, 2006, 11(3): 2-15.
[8] Djork-Arne Clevert, Thomas Unterthiner, Sepp Hochreiter. Fast and accurate deep network learning by exponential linear units [C], International Conference on Learning Representations. 2016: 1-14.
[9] Chan A, Vasconcelos N.Counting people with low-level features and bayesian regression[J].IEEE Trans on Image Processing, 2012, 21(4): 60-77.
[10] Su H, Yang H, Zheng S. The large-scale crowd density estimation based on effective region feature extraction method[M]. Computer Vision-ACCV 2010. Springer Berlin Heidelberg, 2011.
[11] Kim G, An T, Kim M. Estimation of crowd density in public areas based on neural network[J]. KSII Transactions on Internet & Information Systems, 2012, 6(9): 2170-2190.