基于卷积神经网络的车辆检索方法研究
2017-03-06甘澄丁学文
甘澄 丁学文
摘要:为了解决传统车辆检索方法中准确性和区分度较低的问题,本文提出了一种基于卷积神经网络(CNN)的车辆检索方法。该方法利用CNN稀疏连接和权值共享的优点,针对车辆前脸图像关键特征位置的相对不变性,设计了一个七层的网络结构,可以合理提取车辆的有效特征,并将低级结构特征组合成为高一级的特征,既简化了模型的复杂度,也克服了旋转平移等因素对检测结果的影响。该方法最终通过相似度排序的方法得到检索结果。实验结果表明,本文所提出的方法相对于基于局部不变特征方法具有更高的准确度。
关键词:车辆检测;图像检索;卷积神经网络
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2016)30-0191-03
The Research of Vehicle Image Retrieval Based on Convolutional Neural Network
GAN Cheng, DING Xue-wen
(School of Electronic Engineering,Tianjin University of Technology and Education, Tianjin 3000222 , China)
Abstract:In order to solve the problem of the traditional vehicle retrieval methods which has low degree of differentiation and accuracy, it is proposed in this paper that a vehicle retrieval method based on convolution neural network (CNN).This methods builds a seven layers network structure which utilizes the advantages of CNN which called sparse connecting and weights sharing, and the key feature location invariance for vehicle former face image. This structure can extract effective features of vehicle which is reasonable, and combine the low scale feature into higher scale one. It not only simplifies the complexity of the model, but also overcome the influence of rotating shift on the result with effect. Finally, it get the retrieve result through similarity ranking. By comparing with the methods which based on local invariant features, the experimental results show that the presented method has a higher accuracy.
Key words: vehicle detection; image retrieval; CNN
1引言
随着生活水平和工业水平的提高,机动车数量迅速增长,车辆的品牌也有所增加,传统的人工基于视频图像对交通信息的判断工作已经无法满足当前的发展状况,有效判别某一辆汽车具体品牌型号对于交通管理领域,特别是对车辆违章、无牌照车辆等公安稽查领域有着非常重要的意义[1]。
当前对于车辆型号信息的提取主要有以下几种方法:
1)基于车牌识别的车型识别方法。该方法对车牌进行字符识别,通过识别到的车牌信息查询交通管理数据库,以此获得车主信息与车辆型号。该方法简单高效,应用广泛,然而遇到套牌车辆会失去作用。
2)基于特征匹配的车型识别方法。通过提取车辆图像的局部特征来进行车型识别。该方法需要选择合适的局部特征,合适的匹配算法,是目前比较热门的研究方向之一。
3)基于3D模型匹配的车型识别方法。该方法需要建立标准车型的三维模型库,虽然识别精度高,但算法复杂,难度较大。
综上所述,基于车辆外观的图像特征的车型识别与车辆检索方法更为有效。若选取局部特征,可以有效降低计算的复杂度,提高系统效率与精度。选取全局特征则可以保留车型的全部信息,大幅提高检测精度,但计算的复杂度也随之升高。车辆的前脸特征,它包含了车型的重要信息,如车灯,格栅,车标等,这些局部特征可以有效地区分各种车型。
2当前的车辆检索方法
传统的车辆检测方法选取车辆的局部信息进行检测。但这种方法面临的问题是对于车辆的局部信息,检测的速度虽然比较快,但仍然存在不少缺点。
文献[2]采用具有严格意义的仿射不变性特征的MSER进行特征检测,将检測到的特征点用SIFT描述子描述为特征向量。通过“词袋模型”,将所有的图像量化为“码书”。将每一类车型的所有“码书”训练为该类车型的分类器,以此来对输入图像进行车型识别。
文献[3]在车辆视频关键帧提取的基础上,根据改进SURF算法完成车辆图像的特征提取及匹配,其中包含改进FAST特征点检测、SURF特征向量提取以及最近邻查询方法来进行特征点的匹配,并通过计算相似度,完成图像筛选并反馈检索结果。
文献[4,5]运用改进的Adaboost方法进行车脸定位,提取SIFT、SURF不变性特征,提出改进的特征匹配策略,并结合车脸区域分割的车标与车灯不变矩特征、散热器隔栏纹理等多特征,根据车型标准特征模型库的数据,提出了多特征融合的自适应分布车型分类识别算法。
综上所述,目前的车辆检索方法主要经过车辆前脸定位和车脸特征匹配两个步骤,对于大部分的图像可以取得较好的检索效果。但是对于图1所示的四副图像,图中黄色框内为车辆的中网区域,红色框内为车灯区域。仅仅使用这两个特征区域来进行检测,是无法将这四辆捷豹车型区分开的。
针对传统基于不变特征对车辆识别的不足之处,本文采用深度卷积神经网络,通过对车辆图像全局特征的自动提取,从而获得更准确的检索结果。
3本文采用的方法
随着深度学习的发展,卷积神经网络在图像领域有了广泛的用途。其工作方式仿生于人类辨识事物的过程,获取事物的全局特征,自动地与已有知识进行比较辨认,从而得到结果。此外,它具有强大的非线性表示能力,能够理解图像更深层次的信息。
卷积神经网络相对于传统的机器学习方法具有更多的优势。其主要体现在两点:
1) 特征提取和模式识别与分类同时在训练中运行,并且可以直接处理灰度图像,不需对图像进行过度的预处理,造成不必要的细节损失。
2) 输入图像与网络的拓扑结构能够很好地吻合,特别是多维输入的图像可以直接输入卷积神经网络进行识别,避免了特征提取、识别过程和分类过程中数据重建所造成的重复计算。
3.1模型设计
本文采用LeNet-5卷积神经网络结构。LeNet-5是一个典型的卷积神经网络应用案例,准确性高、可用性强,已被美国多家银行用于支票手写数字的识别。对车辆的识别与手写数字类似,都是对某一未知图像进行识别和匹配。相对于手写数字在整个图像中的相对位置不确定,车辆的各个部位的固定结构使得其在一定区域具有结构位置不变性。基于以上分析,基于车辆图像的特点,本文构建一个适用于车辆图像的卷积神经网络。
在进行网络训练之前,首先对图片进行处理。将获取的输入图片大小归一化为32×32,并转换为灰度图像,最终将图像转换为LMDB格式,进行标签处理,直接用于网络的输入层[8]。设计的网络如图2所示。
网络层C1是由四个特征图组成的卷积层。每个神经元与输入图像的一个5×5的领域相连接,得到的卷积后的特征图大小为28×28。网络层S2由4个大小为14×14的特征图组成的次抽样层,其来源于对C1层池化操作。每个特征图上的神经元与C1层的一个大小为2×2的邻域相连。网络层C3是由10个大小为10×10的特征图组成的卷积层。特征图的每个神经元与S2层的特征图的5×5的邻域连接。表1显示了S2层的特征图与C3的特征图之间的联接关系。列代表S2层,行代表C3层,X代表之间相连。例如,由表1可知C3的第二个特征图由S2的第二个、第三个、第四个结合而得,通过这种选择性连接,降低了特征的维度,加快了计算,却保留了有用的信息。
网络层S4是由10个5×5的特征图组成的次抽样层。特征图中的每个神经元与C3层的一个2×2大小的邻域相连接。网络层C5是由200个特征图组成的卷积层。每个神经元与S4网络层的特征图的5×5大小的领域相连接。网络层F6,包括100个神经元,与网络层C5进行全连接,采用softmax进行分类。最后,输出层有10个神经元,是由径向基函数单元(RBF)组成,输出层的每个神经元对应一个特征类别。
在前向传播的过程中,需要判断是否得到神经元的输出,这时就需要激活函数。常用的激活函数有Sigmoid、Tanh、ReLU等[9],本文选择ReLU。其数学表达式为f(x)=max(0,x)。可以看出,输入信号<0时,输出为0;输入信号>0时,输出等于输入。其收敛速度大于传统的Sigmoid和Tanh,且计算也相对简单。
在C5层原始输出的特征图的细节,包括了图像的边缘特征的方向和粗细。加入编码器,将这些边缘特征进行组合,通过不同的组合,可以得到图像的一些主题特征,将这些特征用于分类器中,会有很好的学习表达能力。
在整个神经网络的设计过程中,主要从卷积核的个数大小、池化方法、网络的层数的选择来综合考虑。越多的卷积核可以获得更多的特征且卷积核越小则可以获得更详细的特征,但却增加了处理的时间和产生较高的空间复杂度;较小的池化核会造成过拟合,较大的池化核则会由于下采样的噪音太多造成误差增大;层次越多,会产生更加详细的细节特征,同时也会增加空间和时间的复杂度,对于车辆图像而言,不需要更加精细的细节特征。因此,综合考虑,本文设计的网络如表2所示,采用7层网络结构,卷积核选用5×5,池化过程选择均值池化且池化核尺寸为2×2,分类器选用softmax能够达到较好的分类效果。
3.2相似度量
经过卷积网络对图像的学习,将图像的特征进行了抽象化,理论上在网络模型中层数越高表示的特征越抽象,越能更好地表征图像的内容。
本文采用简单的最小距离分类器进行特征的相似计算,公式如下:
这里q表示查询图像的特征向量,m表示检索库中第i张图像的特征向量,Di表示特征之间的距离差,n表示检索库中一共有多少张图片。值越小说明两幅图像的相似度越高。最后,通过排序算法返回相應的特征索引并查找出对应的图像库,就能检索出所需要的相似图像。
4 试验结果与分析
本文实验电脑配置为Intel Core i5 CPU,在Linux环境下使用深度学习库Caffe来训练本文设计的模型。
图3显示了输入图像在卷积神经网络LeNet-5各层输出神经元的处理结果,最左边是输入图像。从图3可以看出,随着层数的增加,车辆的细节特征被逐渐提取出来
本文实验采用的图像数据来源于互联网。实验图像选取了50个常见的汽车品牌,并选取其中典型的车型进行训练,训练集中的图片数目为5000张,数据按照车辆品牌及车辆具体型号进行标注。
如图4为一次检索的示例。其中,左边是输入的查询图像,右边是对应的检索到图像标号所对应的图像。
检索测试图像为捷豹XJ车型,检索出三个相似的车型。其中NO.3924的相似度为92%,确实为目标检测车辆。NO.3901图像为捷豹F-TYPE车型,具有75%的相似度,这是因为家族化的设计因素造成的。NO.3957图像为捷豹XE车型,有82%的相似度。因此认为NO.3924为所要求的结果。在检索中,即使是同一款车型,由于拍摄角度的问题以及车辆经过个性化的改装,造成检索相似度难以达到100%的准确度。如果最高相似结果低于75%,则认为检索不成功。
测试进行了200次試验,其中有175次检索结果正确。同时,与文献[2]等传统方法进行了性能对比,如表3所示。
通过表3的数据,可以看出本文的方法相对于其他文献采用的方法,准确率有了较大的提高,但平均使用的时间相对较高。这是因为经过卷积网络的学习,得到的是整个图像的全部特征,同时受限于硬件的运算速度,造成相对运算时间较高的情况。
5 结论
本文将卷积神经网络应用到车辆图像的检索工作中。根据车辆的特征对LeNet网络结构进行改进,通过对图像自动地进行“学习”,提取到足够丰富且准确的车辆细节特征。以便有效区分不同车辆。与基于局部特征的车辆检索方法相比,检索的准确率得到了明显的提升,综合测试检索的准确率达到87.5%。该方法在道路交通信息管理方面具有广泛的应用前景。
但本文的工作依然存在一些不足。与传统方法的对比可以看出,虽然检索的精度有提高,但检索的时间却比较长,这受制于网络的复杂度和硬件的运算速度。在下一步的工作中,将会采集统一的图像数据,并且对网络结构进行优化,进一步提高检索的精度和速度。
参考文献:
[1] 陈明明.视频中的车辆检测及车型识别研究[D].南京:南京邮电大学,2013.
[2] 贾晓.套牌车辆的车型识别与检索技术研究[D].大连:大连海事大学,2016.
[3] 张子龙.基于改进SURF算法的交通视频车辆检索方法研究[J].西北工业大学学报,2014,32(2):297-302.
[4] 陈伊.基于图像多特征的车辆对象识别方法研究[D].昆明:昆明理工大学,2014.
[5] 李全武.车脸定位及识别方法研究[J].计算机科学与探索.2015,9(6):726-733.
[6] 卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述[J].数据采集与处理,2016(31):1-17.
[7] 孙君顶,原芳.基于内容的图像检索技术[J].计算机系统应用,2011(8):240-244.
[8] 姜磊,赵汉理.基于卷积神经网络的鞋类图像检索研究[J].现代计算机,2016(5):39-43.
[9] 赵志宏.基于卷积神经网络LeNet_5的车牌字符识别研究[J].系统仿真学报,2010(3):638-641.