基于改进的卷积神经网络的人群密度估计
2019-02-25贾翻连张丽红
贾翻连,张丽红
(山西大学 物理电子工程学院,山西 太原 030006)
0 引 言
近年来,人群密度估计成为智能视频分析的一个研究热点,并且越来越多的学者和研究人员使用基于深度学习和机器学习的各种方法研究人群密度。其中,Davies[1]指出,人群密度与当前帧的前景像素面积近乎呈线性关系,由此提出了基于像素统计特征的人群密度估计算法。随后,基于改进的混合神经网络密度估计算法[2]被提出。刘曼等提出一种基于可变矩形框的人群密度数值估计算法[3];时增林等提出了基于序的空间金字塔池化网络的人群计数方法[4];张洞明等提出了一种结合支持向量机回归进行集成学习的方法来进行人群密度估计[5];谭智勇等提出了基于深度卷积神经网络的人群密度估计方法[6]。在这些方法中,网络首先学习训练数据,然后通过学习过程组成的网络系统能够识别人群特征并进行分类。此外,大多数机器学习使用梯度下降法求最小能量损失时较难找到零损失,机器学习的结果可能在真实值附近振荡,产生学习误差。
卷积网络是为识别二维形状而特殊设计的一个多层感知器,且卷积神经网络模型具有很强大的特征提取和表示能力,但是卷积神经网络的计算速度受卷积层与子采样层之间特征图的大小匹配的影响。对此,文中提出用离散小波变换替换卷积神经网络中的子采样层,以改善预处理时的振荡现象和卷积神经网络中特征图的匹配问题,从而更好地进行人群密度估计。
1 基本卷积神经网络模型
在深度学习模型中,卷积神经网络是最经典的模型之一。卷积网络是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。LeCun等[7]提出的卷积神经网络(convolutional neural network,CNN)是第一个真正的多层非线性结构学习算法,在手写字符识别中已经成功应用。该方法将特征提取和识别结合在一起,通过卷积操作直接对图像进行处理,提取图像的局部特征如角点、边缘等等,并利用误差反向传播过程,不断地选择、优化既得特征。
一般地,CNN包含多个卷积过程和全连接的过程。每个卷积过程由四部分组成,即卷积层、汇聚层、非线性变换层,局部反应标准化层。通过这四个部分减少参数数目以提高训练性能,并能够保证图像对位移、缩放、形变的鲁棒性。
卷积网络较一般神经网络在图像处理方面有如下优点:输入图像和网络的拓扑结构能很好地吻合;特征提取和模式分类同时进行,并同时在训练中产生;权重共享可以减少网络的训练参数,使神经网络结构变得更简单,适应性更强。
卷积神经网络的缺点在于计算瓶颈,即卷积层与子采样层间特征图的大小匹配,会影响计算速度和时间。
2 离散小波变换
小波分析从信号处理角度来看可以作为基于傅里叶变换理论发展起来的一种有效的时频分析方法[8]。将小波分析应用于数字图像信号,可以利用小波变换在时域和频域均具有的良好的局部化描述特点,方便地表示图像的平滑区域和局部特征区域,并具有多分辨率分解的特点[9]。
小波变换主要包括连续小波变换(CWT)和离散小波变换(DWT)。离散小波变换可表示为:
(1)
母小波应满足如式2所示的条件[10]。
(2)
主要有两种方法实现离散小波变换:多分辨率分析和提升方案。文中采用多分辨率分析。多分辨率分析分解信号可以写成:
(3)
其中,fn(t)是分析信号;φ(t)是一个尺度函数;gl是一个低通滤波器,对应于φ(t);hl是一个高通滤波器,对应于π(t)。
3 改进的卷积神经网络
用基本卷积神经网络处理人群密度图片时,其网络的结构会受图片背景的影响。当背景较为复杂时,网络会有比较多的隐含层,此时,基本卷积神经网络的计算瓶颈会更为突出。对此,文中对该模型进行改进,其模型如图1所示。
图1 改进的卷积神经网络
对图像进行小波变换的原理就是通过低通滤波器和高通滤波器对图像进行卷积滤波,再进行二取一的下采样。在卷积神经网络中,离散小波变换可以达到和原卷积神经网络中下采样过程一样的效果,因此在加入DWT后,将原来的下采样过程去掉。
DWT层使用DWT分解上一层的输出,通过式3,输出h(a)从式4中获得。
(4)
为了使输出具有相同的长度,对DWT的输出层取样。最后,小波神经网络的输出可以表示为:
(5)
即该方法利用权重作为母小波的尺度,这意味着训练过程可视为寻找母小波的最佳形状来逼近训练数据的一种方法。因此,式5中的权重矩阵W的每个分量可以由式6计算。
(6)
其中,on,m是矩阵O的元素;pn,m是矩阵P的元素。矩阵O和P为:
(7)
(8)
其中,E为能量损失。
(9)
其中,yk是神经网络的当前输出;tk是训练数据。文中使用均方误差来评估能量损失。
4 仿真实验及结果
在系统为Windows Server 2012的服务器、Python 3.5、MATLAB 2012a的实验平台下,用2个数据集对提出的方法进行验证。一个数据集来自Chan[11]UCSD的行人数据集(简称数据集1),该数据集是图片分辨率为238*158、帧率为10 fps的视频。另外一个数据集是自己拍摄的一段某路口视频(简称数据集2),该视频视角较远,场景中有少许杂乱背景。
将人群密度按照人数分为低、中、高三个等级,具体定义如表1所示。
表1 人群密度等级的定义
文中选择Haar小波作为基小波,选择2级分解尺度。传统的多层神经网络为32层,改进后的神经网络为28层。
使用数据集1的部分作为训练数据来训练提出的改进神经网络的特性,部分作为测试数据集来测试所提出的网络,并且将文中方法与传统的卷积神经网络进行对比,得到的实验结果如表2和表3所示。其中,A为传统的多层神经网络方法,B为多层神经网络中隐含层加入离散小波变换的方法,C为基本的卷积神经网络方法,D为文中改进的卷积神经网络方法,E为HangSu等[12]采用的SST-LBP方法并使用SVM作为分类器;F为Kim[13]采用的计算运动区域和对比信息的方法,其中对比信息基于GLDM[14]矩阵方法,累加矩阵元素将和作为一个特征,然后用这两个特征去训练BP神经网络[15]。
表2 数据集1人群密度等级估计准确率 %
表3 数据集2人群密度等级估计准确率 %
用信噪比来评估小波神经网络的性能,计算公式如下:
(10)
用不同的数据集进行了实验,结果见表4。
表4 信噪比对比结果
此外,使用MSE(均方误差)来衡量神经网络的性能。
(11)
用不同的数据集进行了实验,所得结果见表5。
表5 均方误差结果
从表2~5可以看出,改进的神经网络的平均信噪比较传统的网络有所提高,且均方误差平均值有所降低,这意味着改进的神经网络比传统的神经网络具有更好的性能,从而可以得到更好的人群密度等级估计结果。由数据集2的结果可知,该网络具有良好的鲁棒性。
5 结束语
将卷积神经网络中的子采样层用离散小波变换代替,对其权重矩阵的计算进行了优化,通过权重自适应改善卷积神经网络在解决回归问题预处理时的振荡现象,提高卷积神经网络卷积层与子采样层间特征图的大小匹配。实验结果表明,采用的基于离散小波变换的卷积神经网络与基本的卷积神经网络相比,有较好的分类效果及较快的运算速度。