APP下载

基于卷积神经网络的城管案件图像分类方法

2018-05-21李灵巧杨辉华刘振丙潘细朋

计算机工程与应用 2018年10期
关键词:卷积神经网络案件

杨 浩,李灵巧 ,,杨辉华 ,,刘振丙 ,潘细朋

1.桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004

2.北京邮电大学 自动化学院,北京 100876

1 引言

随着互联网技术的快速发展,城市管理正逐步走向数字化、网络化、智能化[1],基于互联网技术的城市管理技术也越来越成熟[2],如在智慧城市管理系统[3]中,普通市民可利用智能手机APP一键上报城市管理中存在的问题案件(如车辆乱停乱放、市容环境问题等)。同时,在上报这种城管案件时用户需要上传至少一张该案件对应的现场图片、现场位置等信息,城市管理工作人员在看到市民上报的问题案件后即可立即根据上报案件的图片信息和位置信息等前往案发地点进行相应的处理,极大地提高了城市管理的工作效率[4]。然而,随着用户量的不断增加,每天上报的案件数也在增加,若仅用人工来挑选不同类别的案件则费时费力,效率极低。因此迫切需要一种能够将城管案件快速分类的方法来协助城市管理工作,让城市管理更加智能化。

基于案件图像中的信息,可利用图像分类的方法将案件自动分类。目前,图像分类的方法已经很多,如Vapnik等人提出的支持向量机(Support Vector Machines,SVM)分类方法,Lu等人使用的拉格朗日支持向量机LSVM[5]方法等,然而使用这些方法前一般需要提取图像的HOG特征等纹理特征,且对图像特征提取的质量会对最终的分类结果产生直接的影响。比较常用的图像特征提取的方法有Gabor小波图像纹理特征提取[6]、高斯马尔柯夫随机场(GMRF)遥感图像特征提取[7]、SIFT提取图像特征[8]。深度学习由Hinton等于2006年提出,其显著特点是能够自行学习图像特征,并通过组合数据的低层特征从而形成更加抽象的高层特征表示[9],可极大地减少人工提取特征的各种开销。随后,一些深度学习方法快速发展起来,如降噪自编码Denoising Autoencoder(DAE)[10]、稀疏自编码 Sparse Autoencoder(SAE)[11]、卷积神经网络Convolutional Neural Networks(CNN)[12]等算法。利用卷积神经网络(CNN)对minist手写数据集进行识别,错误率已经低于人类手动识别的错误率[13];Yang等人利用SAE对图像进行分类[14],2012年KrizheVsky等人对ImageNet数据库进行图像分类,测得top-5的测试误差率为15.3%[12]。

城市管理案件中的图像均由各种普通手机拍摄所得,背景信息比较复杂、图像质量较低,因此利用上述方法对该类图像进行分类不能取得理想效果。针对该问题,本文基于城市管理案件中的图像进行分析,利用卷积神经网络自动提取图像特征的特性,设计了一种改进的卷积神经网络算法ZCNN。首先,将获取到案件图像进行统一的ZCA白化[15]处理,有效降低图像特征之间的相关性,然后根据图像特征,搭建8层卷积神经网络,设定合适的卷积核大小,每层卷积层后连接一个下采样层即pooling层,并利用线性纠正单元ReLU[16-17]加速训练过程,在pooling层中使用dropout技术随机断开网络结点防止算法的过拟合。最后,在进行模型微调时,采用随机梯度下降法逐层计算模型的参数,此外,为了提高算法的精度,采用BP(Back Propagation)[18]算法对网络参数进行优化。本文分别以两类案件图片(各1 300张,共2 600张)和四类案件图片(各1 300张,共5 200张)实验,验证算法的有效性。

2 数据预处理——ZCA白化

图像数据的预处理是图像分类任务中至关重要的一步,特别是自然图像,图像相邻像素之间具有很强的相关性,影响最终分类效果,因此如何有效地去除图像数据的相关性并降低其冗余度尤为必要[19]。白化(whitening),即将数据的协方差矩阵转变成单位矩阵的过程,其目的是降低输入数据的冗余,使白化后的数据更接近原始数据。在数值上,主要是使数据具有统一的协方差,且每个特征都有相同的方差。具体步骤如下:

(1)首先,对数据进行亮度和对比度的归一化,对于图像中每个像素点的像素值p(i),减去图像灰度均值,然后再除以标准差,为使分母不为0,通常在分母中加入一个很小常数ε。计算公式如下:

其中是原始输入图像数据别表示图像的均值和方差。当图像灰度值在[0,255]时,令常数ε=10。

(2)计算训练样本的协方差矩阵,公式如下:

由于数据间是相关的,因此此时计算的协方差矩阵是非对角阵。

(3)降低数据间的相关性,将协方差矩阵转变为对角阵。方程如下:

其中V是特征向量矩阵。D是由协方差矩阵Σ特征值组成的对角阵。

(4)采用ZCA白化,公式如下:

其中δ是很小的一个常数,设置为0.01,I为单位矩阵。

通过将图像数据进行ZCA(Zero Components Analysis)白化后,可降低各像素之间的相关性和数据的冗余度,使得特征向量各维度方差相等,数据得到有效的统一。

3 卷积神经网络模型搭建

3.1 卷积神经网络

卷积神经网络(Convolutional Neural Networks,CNN),是由Huber和Wiesel提出[20],其独特的网络结构可以有效地降低反馈神经网络的复杂性,基本结构主要包括两层:一层是卷积层,用设定的卷积核对一幅图像进行卷积,将卷积值加权并加偏置,然后通过一个激活函数得到的;另一层是下采样层也称池化层(pooling层),利用图像的局部相关性原理对图像进行子抽样,这样可以减少数据处理量的同时又保留了有用的信息。

为了更清楚地理解卷积和池化的过程,如图1所示,输入图像的大小为h×d,kx是r×c大小的卷积滤波器(卷积核),步长设置为1,那么卷积层的特征图的大小为(h -r+1)×(d -c+1)。池化层Cx的特征平面数量等于卷积层的特征平面个数,其每个神经元都与卷积层的感受野区域连接,计算最大值或平均值。第l个卷积层的第j个特征平面上的神经元通过激活函数的输出为:

其中,是第l个卷积层的第 j个特征平面上的神经元输出,是偏置向量,*表示二维卷积操作,是卷积核。S(·)是非线性激活函数。非线性激活函数通常的有双曲函数(tanh)、sigmoid函数和修正线性单元(ReLU),前两种是饱和非线性函数,后一种是不饱和非线性函数,在网络模型训练时前两种的速度明显低于后者,尤其是在深度神经网络中,这种时间上的差异更加明显。因此,本文中所有卷积层激活函数都采用ReLU函数,即S(z)=max(0,z)。

3.2 ZCNN模型

本文所研究的数据为城市管理案件图像,该类型图像均为普通手机拍摄所得,且拍摄者均为普通市民,拍摄地点为城市各个角落,因此这种图片具有图片背景复杂、图片像素较低、图片大小角度不一、图片像素之间相关性较强的特点,考虑传统的图像识别分类方法需要进行非常复杂的特征提取,本文以深度学习中的卷积神经网络(CNN)算法为基础,利用CNN能够自行学习图片特征的优势,设计网络模型。考虑本模型要应用于智慧城市管理案件数据,因此网络结构在保证分类精度的前提下不宜太大,尽量减少训练时间,缩减运营成本。为了去除图像各像素之间的相关性且使图像大小均一,模型使用了图像归一化处理和ZCA白化处理,具体方法如下。

本算法首先对输入图像采用了归一化处理和ZCA白化处理,其次,本方法设计的卷积核大小为13×13,且在卷积层利用ReLU激活函数加快网络训练速度,同时在pooling层后利用dropout技术随机断开10%的网络结点防止算法过拟合,最后使用BP算法对网络参数进行微调,全连接层采用softmax分类器进行分类。模型的结构依次为输入层Input—卷积层C1—下采样层S2—卷积层C3—下采样层S4—卷积层C5—下采样层S6—全连接层Full Connected。具体过程如下:

(1)将经过ZCA白化预处理后的图像数据统一处理成100×100大小作为模型的输入层。

(2)设定卷积核大小为13×13,采用6个滤波器用于卷积输入的图像,然后加偏置,得到卷积层C1,包含6个大小为88×88的特征图。

(3)将得到的C1层中的每个特征图中经过averagepooling,即特征图中每4个像素值求其平均值,然后加权值,加偏置,并采用ReLU作为激活函数,同时本方法在pooling层采用dropout随机断开10%结点,最后输出S2层6个大小为44×44的特征图。

(4)将得到的S2层作为下一层的输入层,采用卷积核大小为13×13,输出特征图数为12,卷积后得到C3层,特征图大小为32×32。

(5)将C3层的特征图经过同步骤(3)的处理后得到S4层,特征图大小为16×16。

(6)同步骤(4),将S4层作为输入层,卷积核大小依然为13×13,输出特征图数为18,卷积后得到C5的特征图大小为4×4。

(7)将C5层经过同步骤(3)的处理后得到S6层的特征图,大小为2×2。

(8)最后将得到的S6层进行全连接,通过softmax分类器得到分类结果。

整个ZCNN的模型结构图如图2,卷积过程表述如表1。

图1 卷积和池化结构

图2 卷积神经网络结构

表1 卷积神经网络模型实现过程

4 实验数据与结果

4.1 基于城管案件数据的实验

本实验数据主要来源于本单位与南宁市青秀区合作研发的智慧城市管理系统[3-4](简称“城管通”系统),该系统包括Web网页端和智能手机APP端(支持iOS和Android两个平台),市民或工作者发现城市中的问题时,通过个人手机拍摄案发现场图片,选择案件描述,然后一键上报到系统。本文针对不同类别案件数据做了两组实验:第一组从系统中道路交通类和市容环境类中案件各随机选取1 300个,共2 600个案件,做二分类实验。第二组从系统中电动车乱摆放类、乱扔垃圾类、机动车违章停放类、垃圾桶周围脏乱类四类案件中各随机选取1 300个,共5 200个案件做四分类。部分智慧城管案件的样例图像如图3所示。

图3 实验数据样例图

4.2 评价指标

本文采用几个常用的分类评价指标作为模型的评价标准,具体为Accuracy、Precision、Recall、F1_Score[21]。其计算公式分别如下:

令TP表示当前类原本是正类并且也被预测为正类的个数,FP表示当前类原本是负类且被预测为正类的个数,TN表示当前类原本是负类且被预测为负类的个数,FN表示当前类原本是正类且被预测为负类的个数[22],S表示当前类样本总数。

(1)当前类的精度:

(2)当前类的准确率:

(3)当前类的召回率

(4)当前类的F1值:

(5)平均精度:总类别数)。

(6)平均召回率:总类别数)。

(7)平均准确率:总类别数)。

(8)平均 F1值总类别数)。

4.3 二分类实验

本实验采用道路交通类(Road_Traffic)和市容环境(City_Environment)类的案件图片各1 300张,共2 600张,其中,各取1 000张作为训练集,剩余各取300张作为测试集;分别计算各类的Accuracy(精度)、Precision(准确率)、Recall(召回率)、F1_Score(F1值)以及总的平均精度Mean_acc、平均准确率Mean_pre、平均召回率Mean_recall以及平均的F1值Mean_F1,并与Lagrangian SVM(LSVM)、稀疏自编码SAE以及未改进的卷积神经网络CNN进行对比,实验结果如表2所示,模型ROC曲线如图4,均方误差曲线如图5。

图4 ROC曲线

根据以上实验结果,可以看出本文所设计的ZCNN模型在对于智慧城管的二分类问题上,其各项性能均优于LSVM、SAE以及传统的CNN算法,且根据图5可以看出,本算法能够在短时间内得到收敛,误差逐渐减小并趋于稳定。

表2 二分类实验结果

表3 四分类实验结果

图5 均方误差曲线

4.4 多分类实验

本实验采用电动车乱摆放类(electrocar)、乱丢垃圾类(rubbish)、汽车违章停放类(car)和垃圾箱周围不清洁类(dustbin)共四类案件图片各1 300张,共5 200张;其中各选1 000张共4 000张作为训练集,剩余各取300张,共1 200张作为测试集;分别计算各类的Accuracy(精度)、Precision(准确率)、Recall(召回率)、F1_Score(F1值)以及总的平均精度Mean_acc、平均准确率Mean_pre、平均召回率Mean_recall以及平均的F1值Mean_F1,并与线性SVM(LSVM)、稀疏自编码SAE以及未改进的卷积神经网络CNN进行对比,实验结果如表3所示,模型ROC曲线如图6,均方误差曲线MSE如图7。

图6 ROC曲线

图7 均方误差曲线

根据实验结果,可以看出本文所设计的ZCNN模型在对于城管案件的多分类问题上明显优于LSVM、SAE以及传统的CNN算法,且根据图7可以看出,本算法能够在短时间内得到收敛,误差逐渐减小并趋于稳定。

4.5 基于ImageNet数据集的多分类实验

ImageNet数据集为目前世界上最大的图像识别库,共包含1 400万张以上的高清图片,在ILSVRC-2012大赛中,Alex等人设计出AlexNet模型,在ImageNet的子集中做实验测得top-5的错误率为15.3%[12]。此外,Simonyan等人设计的VGG-Net基于该数据集在ILSVRC-2014大赛中测得top-5的错误率为7.3%[23]。Szegedy等人设计的Google-Net基于该数据集测得top-5的错误率仅为6.67%[24]。该类型网络结构均是基于多GPU并行加速的大型深层神经网络模型,虽然能够在大型数据库的识别中获得较高的精度,但是其不论在训练时间和花费代价成本上均远远高于本文所设计的模型,不适用于本文中所提及的城管案件图像分类工作。具体模型结构对比如表4。

表4 模型结构对比(总层数只计算卷积层和全连接层)

从表4中可以看出,本文所提出的方法在没有使用GPU加速和使用普通电脑配置(酷睿 i5,4 GB内存,MATLAB2016b)的条件下虽然只采用ImageNet数据集中的部分数据进行实验,依然能够很快地完成模型的训练,相比 AlexNet、VGG-Net、Google-Net等较大型的网络结构,极大地缩短了训练时间,减少了成本开支,提高了工作效率。适用于本文所提及的城管案件分类情况和其他中小型应用场景。

本文在ImageNet数据库中随机抽取4类图片数据各1 300张共5 200张进行分类实验,实验数据样例如图8。

图8 ImageNet数据样例图

实验选取4类图片各1 000张共4 000张作为训练集,其余各300张共1 200张作为测试集,实验结果如表5。根据表5可以看出,本文所提方法对于ImageNet数据集依然能够在较短训练时间内获得较高精确率。ROC曲线如图9,均方误差曲线如图10,可以看出能够在较短时间内得到收敛。

图9 ROC曲线

5 结论

随着智慧城管系统的应用越来越普及,每日上报的案件数量也在增加,对于大量由市民和工作人员上报的城管案件若仅用人工来挑选出不同的类别,则费时费力,效率极低,且由于个人对于不同案件类型的理解错误导致大量案件被错误分类,造成对于城市管理案件的紊乱。

表5 ImageNet多分类实验结果

图10 均方误差曲线

本文基于深度学习的卷积神经网络算法设计了改进的ZCNN算法用于将城管案件图像自动分类,从而达到将案件自动分类的效果。首先获取城市管理案件图像,将案件图像进行ZCA预处理,设计8层卷积神经网络模型,采用大小为13×13的卷积核对图像进行卷积,为了加速模型的训练,采用线性纠正单元ReLU作为激活函数,在pooling层采用average-pooling,并且在pooling之后采用dropout减少算法的过拟合,使用BP算法优化模型,提高模型的鲁棒性,全连接层采用softmax分类器进行分类。通过采用道路交通类和市容环境类两类案件图像共2 600张做二分类实验和采用电动车乱摆放类、乱丢垃圾类、汽车违章停放类和垃圾箱周围不清洁类四类案件图片共5 200张做四分类实验,并与LSVM、SAE以及未经过改进的CNN算法进行对比,分别计算各类的Accuracy(精度)、Precision(准确率)、Recall(召回率)、F1_Score(F1值)以及总的平均精度Mean_acc、平均准确率Mean_pre、平均召回率Mean_recall以及平均的F1值Mean_F1,结果显示本方法的分类结果明显优于其他方法。且将本方法应用于公开数据集ImageNet中,在保持原层数不变和不使用GPU加速的情况下相比 AlexNet、VGG-Net、Google-Net等大型网络极大地缩短了训练时间,减少了模型本身的大小,节约了成本,且依然能够保持较好的分类精度。

[1]王静远,李超,熊璋,等.以数据为中心的智慧城市研究综述[J].计算机研究与发展,2014,51(2):239-259.

[2]Yang C.Research on construction of digital intelligent city management system[J].International Journal of Hybrid Information Technology,2014,7.

[3]吴希玉.深化城管改革建设宜居南宁[N].广西日报,2015-12-30(7).

[4]向志强,朱丽莉.“互联网+城管”的“青秀探索”[N].新华每日电讯,2016-02-03(7).

[5]Lu S X,Wang X Z.A comparison among four SVM classification methods:LSVM,NLSVM,SSVM and NSVM[C]//Proceedings of 2004 International Conference on Machine Learning and Cybernet-ics,2004:4277-4282.

[6]Zhang D,Wong A,Indrawan M,et al.Content-based image retrieval using Gabor texture features[J].IEEE Transactions on PAMI,2010:13-15.

[7]明冬萍,骆剑承,沈占锋.基于GMRF-SVM的高分辨率遥感影像目标区域划分方法[J].测绘科学,2009,34(2):33-37.

[8]Lindeberg T.Scale invariant feature transform[J].Scholarpedia,2012,7(5):2012-2021.

[9]Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786).

[10]Jain V,Seung H S.Natural image denoising with convolutional networks[J].Advances in Neural Information Processing Systems,2009:769-776.

[11]Ng A.Sparse autoencoder[J].CS294A Lecture notes,2011,72:1-19.

[12]Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[J].Advances in Neural Information Processing Systems,2012:1097-1105.

[13]Dan C,Meier U,Schmidhuber J.Multi-column deep neural networks for image classification[J].Computer Vision and Pattern Recognition,2012,157(10):3642-3649.

[14]Yang J,Yu K,Gong Y,et al.Linear spatial pyramid matching using sparse coding for image classification[C]//IEEE Computer Society Conference on Computer Vision and Pattern Recognition,2009:1794-1801.

[15]Adam C,Ng A Y.Learning feature repre-sentations with k-means[M]//Neural networks:Tricks of the trade.Berlin Heidelberg:Springer,2012:561-580.

[16]Hinton G E,Srivastava N,Krizhevsky A,et al.Improving neural networks by preventing coada-ptation of feature detectors[J].arXiv preprint arXiv:1207.0580,2012.

[17]Maas A L,Hannun A Y,Ng A Y.Rectifier nonlinearities improve neural network acoustic models[C]//Proc ICML,2013.

[18]Cheng J,Wang X,Si T,et al.Maximum burning rate and fixed carbon burnout efficiency of power coal blends predicted with back-propagation neural network models[J].Fuel,2016,172:170-177.

[19]Akata Z,Perronnin F,Harchaoui Z,et al.Label-embedding for image classification[J].IEEE Transactions on Software Engineering,2016,38(7):1425-1438.

[20]Lawrence S,Giles C L,Tsoi A C,et al.Face recognition:a convolutional neural-network approach[J].IEEE Transactions on Neural Networks,1997,8(1):98-113.

[21]Bahrampour S,Nasrabadi N M,Ray A,et al.Multimodal task-driven dictionary learning for image classification[J].IEEE Transactions on Image Processing,2016,25(1):24-38.

[22]Zhou Y,Wei Y.Learning hierarchical spectral spatial features for hyperspectral image classification[J].IEEE Transactions on Cybernetics,2015,46(7):1667-1678.

[23]Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[J].Computer Science,2014.

[24]Szegedy C,Liu W,Jia Y,et al.Going deeper with convolutions[C]//IEEE Conference on Computer Vision and Pattern Recognition,2014:1-9.

猜你喜欢

卷积神经网络案件
一起放火案件的调查:火灾案件中的“神秘来电”
基于3D-Winograd的快速卷积算法设计及FPGA实现
“左脚丢鞋”案件
卷积神经网络的分析与设计
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于神经网络的中小学生情感分析
基于傅里叶域卷积表示的目标跟踪算法
HD Monitor在泉厦高速抛洒物案件中的应用
基于神经网络的拉矫机控制模型建立