结合卷积神经网络多层特征和支持向量机的车辆识别 下载: 1360次
1 引言
随着汽车工业和交通事业的快速发展,智能交通系统(ITS)[1]成为影响现代社会发展的一个重要领域,车辆识别作为ITS的关键技术,可以实现辅助驾驶,及时提醒驾驶员根据路况进行减速、紧急刹车等处理,以保障行车安全;同时车辆的自动识别对车流量的统计、车辆的追踪、交通诱导和控制等智能交通管理也具有重要的工程价值。
特征提取是识别系统的核心研究内容,目前关于特征提取算法主要分为两类,一类是采取传统图像特征的目标检测算法,如局部二值模式(LBP)、梯度直方图(HOG)、Gabor滤波器等。de Jong等[2],Batool等[3]利用Gabor滤波器组,使所提取特征具有强稳健性和尺度不变性;Li等[4]采用HOG特征和支持向量机(SVM)训练的车辆分类器,使车辆检测具有良好的泛化能力;陈龙等[5]提出了一种基于HOG-LBP自适应融合特征的禁令交通标志检测方法;为了进一步提高检测精度和速度,杨先凤等[6]结合HOG和LBP,成功地使用主成分分析(PCA)来降低维度,采用SVM进行训练并完成车辆的检测,其检测性能比单独的HOG有了很大的改进。单一特征难以充分描述目标的所有信息,因此很多算法使用多特征组合算法,但无论单一特征还是多特征组合,传统的图像特征都是基于人工提取的特征。
另一类是基于深度学习的目标检测算法。2006年,Hinton等[7]提出了深度学习的思想,该方法在计算机视觉领域取得了突破性的进展[8-10],很多分类方法由人工选取特征变为将图像直接输入到卷积神经网络(CNN)中学习生成的特征,均取得了良好的识别效果。2012年,Krizhevsky等[11]提出的AlexNet模型刷新了图像分类挑战赛的记录,从此,AlexNet模型成为CNN 领域内具有重要历史意义的网络模型,大量研究工作者对其进行了研究及改进[12-14]。此外,Shima等 [15-16]通过将预训练的CNN模型和SVM相结合实现图像分类,达到了较好的识别效果,但是当目标与背景极为相似时,分类结果还是会受到影响;彭清等[17]在训练好的CNN模型的基础上,提取隐含层所有层的特征,结合SVM进行车辆识别,比传统CNN识别效果更好。这些研究表明,将卷积神经网络结合SVM分类器应用于车辆识别是可行的,融合隐含层所有特征虽然提升了识别效果,但是难免存在大量的冗余信息,且融合特征维度高,影响识别速度,造成计算量的浪费。
车辆识别通常存在光照(天气)强度变化、背景多样性、拍摄角度变化等干扰,且单层神经网络提取的图像信息不足,为了减少这些干扰对分类结果的影响以及节省在训练过程中所需的计算能力和存储能力,本文提出一种经PCA处理的多层CNN融合特征与SVM相结合(MCP-SVM)的车辆识别方法。在AlexNet的基础上构建CNN模型,经过良好的训练之后,提取CNN多层车辆特征图,以串行融合方法将其融合,并利用PCA降低融合特征维度,提取有用信息,最后输入SVM分类器实现分类。实验表明,本文方法获得的车辆识别的正确率得到了明显的提高。
2 MCP-SVM模型
卷积神经网络是一种层次模型,输入是原始数据,通过卷积、池化和非线性激活函数映射等一系列操作的层层堆叠,可挖掘出数据的多层表征。但传统的CNN模型进行分类时,只将最后一层所映射的特征送入分类器,难免会遗漏部分特征,使特征属性单一,影响最终识别结果。为了构建一个适用于车辆识别的CNN网络,必须综合考虑网络深度、卷积层个数、卷积核大小以及池化层大小等参数,使之适合实际数据。此外,在很多情况下,SVM分类器比CNN的线性分类泛化能力更好、输出评价机制更可靠。
因此,选择具有分类优势且网络结构和参数大小适中的AlexNet模型作为基础网络,充分利用多层特征的全面性以及SVM泛化能力好等优势,构建MCP-SVM混合模型,如
图 1. 基于MCP-SVM混合模型的车辆识别算法架构
Fig. 1. Structure of vehicle recognition method based on MCP-SVM hybrid model
基于MCP-SVM混合模型的车辆识别算法步骤包括:
1) 根据实际数据,综合考虑网络参数选择,使其更适用于车辆识别任务;
2) 将网络后三层特征进行融合,弥补单层特征输出造成的信息遗漏,并利用PCA对高维融合特征作降维处理,去除冗余信息;
3) 采用SVM分类器代替卷积神经网络输出层,增强网络的泛化能力以及纠错能力。
2.1 数据采集与处理
共采集到18202张图片,并将其用于训练、测试网络模型。所采集到的图片全部由实景拍摄,其中包括8901张车辆正样本(图片中有车),9301张非车辆负样本(图片中无车),部分样本如
图 2. 部分图片样本示例。(a)正样本;(b)负样本
Fig. 2. Several images of samples. (a) Positive samples; (b) negative samples
原始图像分辨率因获取设备和来源不同而不同,因此必须进行预处理,步骤如下:
1) 调整图像尺寸。通过深度学习框架Caffe中提供的图像转换工具convert_imageset,检查所有的数据是否有相同的尺寸,并通过FLAGS参数组调用opencv库的resize函数来对图像缩放以改变图像大小。
2) 归一化图像。为消除公共部分,凸显个体特征,在训练前所有图片均减去训练集图片的像素平均值;将原始图像统一转换成Caffe框架支持的LMDB文件格式。
2.2 CNN特征提取
卷积神经网络的性能受许多参数的影响,AlexNet网络通过训练数据集ImageNet[18],在1000个类别上获得了较好的识别效果,而本文车辆识别是二分类问题,在数据和计算资源有限的情况下,须重点关注模型结构的合理性、权值收敛情况、识别的正确率。
1) 在模型的训练过程中,对AlexNet模型的输入数据大小、卷积核以及网络层数进行调整,通过设计7种网络结构并训练,分析这些参数对网络性能的影响,选择最佳参数,构建适合车辆识别的卷积神经网络。实验采用小卷积核,这是因为较大的卷积核使得网络难以分离,小卷积核可以使卷积层卷积到更多的图像特征。
2) 在AlexNet中使用的池化是可重叠的,重叠池化可以避免过拟合,但同时也容易引入噪声,因此采用Dropout技术随机忽略一部分神经元,以避免模型过拟合,同时还引入局部响应归一化(LRN)来建立局部神经元活动的竞争机制,使响应较大的值得到增强,较小的则被抑制,以此强化网络泛化能力。本文采用的这种非重叠池化操作,可以有效地减少噪声。
通过调整AlexNet的网络结构,设计了7种类型的车辆识别网络,如
表 1. 基于AlexNet的7种网络结构
Table 1. Seven kinds of network structures based on AlexNet
|
将车辆图像输入到CNN网络中,经过一系列的卷积、激活、池化等操作后,若由卷积层输出,则特征图
式中:
式中:down(·)表示池化函数,类似于卷积;
2.3 多层特征融合与降维处理
传统卷积神经网络通过层层堆叠,从原始图像中将高层语义信息逐层抽取出来,在进行分类时,只将最后一层所映射的特征送入分类器中,而不同层级所提取的图像特征属性不同,仅考虑最后一层的特征信息,难免会遗漏少量特征,此时,将不同层级特征与全连接层特征进行融合,可以得到一个多属性特征向量,用于表达车辆多个方面的特征属性。
文献[
19]中采用CNN提取交通标志最后3层特征图,得到了较好的识别特征。受此启发,本文提取了后3层的特征图,采用串行融合方法进行融合。融合后的特征向量
为了解决融合特征维度较高、冗余信息增加的问题,采用PCA对融合特征向量进行降维压缩,选取最具代表性的车辆特征,以减少算法计算量,提升运算速度。PCA是一种常用的降维技术,通过计算数据的协方差矩阵得到方差最大的方向,方差越大说明该方向信息量越大,以此作为第1个坐标轴,之后依次选择相互正交的方向作为新坐标,使数据从原始空间变换到降维后空间。
通过对高维车辆融合特征进行PCA降维,得到一个
2.4 SVM分类识别
本文所构建的MCP-SVM模型使用SVM分类器代替CNN的输出层,实现车辆识别。SVM处理线性不可分的样本时,通过非线性映射算法,将其从低维特征空间转化到高维,利用不同的核函数在高维空间中构建最优超平面,使其线性可分。将CNN和SVM结合,使其优势互补,得到的混合模型比单个分类器结果要好[20]。
1) CNN的学习方法基于经验风险最小化原则,在训练样本足够大的情况下,可得到一个良好的学习效果,但当训练样本不够大时,通常会导致过拟合,即所谓的泛化能力差,而结构风险最小化原则可改善这一点。结构风险最小化原则表示为
式中:
2) CNN模型通过softmax函数实现分类,分配一个高值给某一个节点,而给其余节点分配一个低值,结果出现两极化,导致在实际应用中纠错能力下降,而SVM输出是计算每一类样本的估计概率值,分类性能更为可靠,改善了CNN模型的纠错能力。
综上所述,本文提出的MCP-SVM模型,基于AlexNet网络对CNN模型的输入数据大小、卷积核以及层进行测试,据此设计CNN网络结构,提取网络最后3层特征进行融合,并利用PCA对融合特征降维,最后使用SVM分类器实现分类。
3 实验与结果分析
3.1 实验平台
本文采用的实验环境为Ubuntu16.04版本的Linux 操作系统,使用I5-7500的处理器,主频3.4 GHz,内存16 GB,深度学习框架为Caffe,软件编程环境为Python 2.7。
3.2 评价指标
本实验主要通过识别正确率、识别时间对本文算法进行评估。识别正确率计算公式为
式中:
记录每次实验的训练时间和测试时间,训练时间为对训练集进行特征提取的总时间,测试时间为对测试集进行分类得出识别正确率的总时间。
3.3 网络结构的设计实验
考虑到车辆应用中对实时性和准确性要求较高,利用AlexNet模型的分类优势,针对不同的输入数据、卷积核以及网络层数进行测试。分别从两个样本集各自随机选取1000张图片作为测试图片,共16202张训练样本(其中包含7901张车辆正样本,8301张非车辆负样本),2000张测试样本。针对
经过反复实验,确定求解文件参数如下:初始学习率设为 0.001,批训练样本数量设为32,防止过拟合权重衰减项为0.0005,动量为0.9,学习速率变化因子为0.1,模型最大迭代次数设为8000,每训练200次进行一次测试,每训练50次在显示屏上显示一次。实验通过8000次模型训练找出最大正确率(以下实验同)。测试结果如
表 2. 7种网络的分类性能
Table 2. Classification performance of seven kinds of networks
|
由
在网络输入尺寸和网络层数相同(网络Ⅰ、Ⅳ、Ⅴ)的前提下,当减小卷积核大小时,网络的分类性能有所提高,说明小卷积核对车辆样本集特征提取效果更好。使用小卷积核可以捕获更多的上下文关系,并且在达到相同感受野的情况下,小卷积核比较大卷积核所用参数更少,进而提高了网络的分类性能。
在网络输入尺寸和卷积核大小相同(网络Ⅰ、Ⅵ、Ⅶ)的前提下,网络层数为7时,分类性能较好。网络层数决定了网络复杂度,当数据量较大时,模型越复杂越好,但当计算资源一定时,过深的网络反而会导致分类性能变低。
经性能实验确定的CNN模型结构如
表 3. 改进的CNN模型结构
Table 3. Structure of improved CNN model
|
为了验证本文方法,将AlexNet模型和本文改进的CNN模型应用于车辆识别,结果如
表 4. CNN模型对比分析
Table 4. Comparison and analysis of CNN models
|
由
3.4 特征融合结合支持向量机的分类结果
通过融合卷积神经网络的S3、C4、Fc2特征后,特征向量的维数为2304,为降低融合特征维数,采用PCA对2304维特征进行降维处理,结合SVM实现分类。实验使用python中sklearn模块的PCA算法对融合特征实现降维操作,使用SVC算法库对训练数据进行训练,通过网格搜索(GridSearchCV)得到最优SVM参数,其中选取RBF核函数,惩罚系数
为了验证本文方法,与文献[ 20]中的方法比较,设计了3组实验:
1) 文献[ 20]中的方法,使用SVM分类器代替CNN模型输出层进行识别。
2) MC-SVM(Multi-layer CNN fusion feature combined with SVM)是指多层CNN融合特征与SVM相结合的方法(不使用PCA),对本文改进的CNN模型S3、C4、Fc2层特征进行融合,使用SVM分类器代替CNN输出层进行识别。
3) MCP-SVM为本文算法,对本文改进的CNN模型S3、C4、Fc2层特征进行融合,采用PCA算法对融合特征进行降维处理,使用SVM分类器代替CNN输出层进行识别。
实验结果如
表 5. 3种方法分类性能对比
Table 5. Comparison of classification performance of three methods
|
3.5 与其他方法的对比
为了验证本文方法对车辆识别的有效性,运用传统方法在车辆数据集上进行对比测试,结果如
表 6. 不同方法在车辆数据集的识别率对比
Table 6. Comparison of recognition rates of different methods in vehicle datasets
|
4 结论
为有效提取更具表达能力的车辆特征,提出了一种结合CNN多层特征和SVM的车辆识别方法。该方法利用AlexNet模型的分类优势,在其基础上设计网络模型,通过实验分析了CNN主要结构参数的选择;提取CNN模型S3、C4、Fc2层图像特征进行融合,采用PCA对融合特征降维处理,解决了传统网络仅利用端层特征进行分类导致特征不全面以及计算量大的问题;使用分类性能更可靠的SVM分类器对车辆进行分类。对比实验显示,特征提取在整个识别系统中尤为重要,对后续分类精度有很大影响,与常规CNN模型相比,本文算法能大幅提升车辆识别的准确率,缩短训练和识别时间。但由于构建的数据集还不够完善,受损严重(夜间光照不足、天气条件不良)的图像数量不足,所以在今后的研究中,需要进一步丰富数据集并优化算法模型。
[1] 严新平, 吴超仲, 刘清, 等. 人工智能在智能交通系统中的应用[ C]∥中国人工智能学会第12届全国学术年会,12月27日—31日,2007, 哈尔滨, 中国. 北京: 中国人工智能学会第12届全国学术年会论文集, 2007: 1049- 1054.
Yan XP, Wu CZ, LiuQ, et al. Application of artificial intelligence in intelligent transportation system[ C]∥12th National Academic Annual Conference of the Chinese Society of Artificial Intelligence, December 27-31, 2007, Harbin, China. Beijing: Papers Collection of the 12th National Academic Annual Conference of the Chinese Society of Artificial Intelligence, 2007: 1049- 1054.
[2] de Jong M A, Wollstein A, Ruff C, et al. . An automatic 3D facial landmarking algorithm using 2D Gabor wavelets[J]. IEEE Transactions on Image Processing, 2016, 25(2): 580-588.
[3] Batool N, Chellappa R. Fast detection of facial wrinkles based on Gabor features using image morphology and geometric constraints[J]. Pattern Recognition, 2015, 48(3): 642-658.
[4] LiX, Guo XS. A HOG feature and SVM based method for forward vehicle detection with single camera[C]∥2013 5th International Conference on Intelligent Human-Machine Systems and Cybernetics, August 26-27, 2013, Hangzhou, China. New York: IEEE, 2013: 263- 266.
[5] 陈龙, 潘志敏, 毛庆洲, 等. 利用HOG-LBP自适应融合特征实现禁令交通标志检测[J]. 武汉大学学报(信息科学版), 2013, 38(2): 191-194.
Chen L, Pan Z M, Mao Q Z, et al. HOG-LBP adaptable fused features based method for forbidden traffic signs detection[J]. Geomatics and Information Science of Wuhan University, 2013, 38(2): 191-194.
[6] 杨先凤, 杨燕. 一种基于HOG-LBP的高效车辆检测方法[J]. 计算机工程, 2014, 40(9): 210-214.
Yang X F, Yang Y. A method of efficient vehicle detection based on HOG-LBP[J]. Computer Engineering, 2014, 40(9): 210-214.
[7] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006, 313(5786): 504-507.
[8] Fan J P, Zhao T Y, Kuang Z Z, et al. HD-MTL: hierarchical deep multi-task learning for large-scale visual recognition[J]. IEEE Transactions on Image Processing, 2017, 26(4): 1923-1938.
[9] Wang J, Wang Z, Gao C X, et al. DeepList: learning deep features with adaptive listwise constraint for person reidentification[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2017, 27(3): 513-524.
[10] 张晓男, 钟兴, 朱瑞飞, 等. 基于集成卷积神经网络的遥感影像场景分类[J]. 光学学报, 2018, 38(11): 1128001.
[11] KrizhevskyA, SutskeverI, Hinton GE. ImageNet classification with deep convolutional neural networks[C]∥Proceedings of the 25th International Conference on Neural Information Processing Systems, December 3-6, 2012, Lake Tahoe, Nevada. USA: Curran Associates Inc., 2012, 1: 1097- 1105.
[12] 刘峰, 沈同圣, 马新星. 特征融合的卷积神经网络多波段舰船目标识别[J]. 光学学报, 2017, 37(10): 1015002.
[13] 袁丽莎, 娄梦莹, 刘娅琴, 等. 结合深度神经网络和随机森林的手掌静脉分类[J]. 激光与光电子学进展, 2019, 56(10): 101010.
[14] 陈清江, 李毅, 柴昱洲. 一种基于深度学习的多聚焦图像融合算法[J]. 激光与光电子学进展, 2018, 55(7): 071015.
[15] Shima Y. Image augmentation for object image classification based on combination of pre-trained CNN and SVM[J]. Journal of Physics: Conference Series, 2018, 1004: 012001.
[16] Shu L, Osinski G R. McIsaac K, et al. An automatic methodology for analyzing sorting level of rock particles[J]. Computers & Geosciences, 2018, 120: 97-104.
[17] 彭清, 季桂树, 谢林江, 等. 卷积神经网络在车辆识别中的应用[J]. 计算机科学与探索, 2018, 12(2): 282-291.
Peng Q, Ji G S, Xie L J, et al. Application of convolutional neural network in vehicle recognition[J]. Journal of Frontiers of Computer Science and Technology, 2018, 12(2): 282-291.
[18] DengJ, DongW, SocherR, et al. ImageNet: a large-scale hierarchical image database[C]∥2009 IEEE Conference on Computer Vision and Pattern Recognition, June 20-25, 2009, Miami, FL, USA. New York: IEEE, 2009: 5206848.
[19] 孙伟, 杜宏吉, 张小瑞, 等. 基于CNN多层特征和ELM的交通标志识别[J]. 电子科技大学学报, 2018, 47(3): 343-349.
Sun W, Du H J, Zhang X R, et al. Traffic sign recognition method based on multi-layer feature CNN and extreme learning machine[J]. Journal of University of Electronic Science and Technology of China, 2018, 47(3): 343-349.
[20] Niu X X, Suen C Y. A novel hybrid CNN-SVM classifier for recognizing handwritten digits[J]. Pattern Recognition, 2012, 45(4): 1318-1325.
[21] Zhang GQ, WangB, ZhengL. Vehicle image edge detection based on Gabor filter[C]∥International Conference on Informatics, Control and Automation (ICA 2015), July 26, 2015, Phuket. USA: DEStech Publications, 2015: 160- 163.
Article Outline
马永杰, 马芸婷, 陈佳辉. 结合卷积神经网络多层特征和支持向量机的车辆识别[J]. 激光与光电子学进展, 2019, 56(14): 141001. Yongjie Ma, Yunting Ma, Jiahui Chen. Vehicle Recognition Based on Multi-Layer Features of Convolutional Neural Network and Support Vector Machine[J]. Laser & Optoelectronics Progress, 2019, 56(14): 141001.