«上一篇
文章快速检索     高级检索
下一篇»
  应用科技  2018, Vol. 45 Issue (6): 53-59, 59  DOI: 10.11991/yykj.201803011
0

引用本文  

郜雨桐, 宁慧, 王巍, 等. 基于卷积神经网络的车辆型号识别研究[J]. 应用科技, 2018, 45(6): 53-59, 59. DOI: 10.11991/yykj.201803011.
GAO Yutong, NING Hui, WANG Wei, et al. Research on vehicle model identification based on convolutional neural network[J]. Applied Science and Technology, 2018, 45(6): 53-59, 59. DOI: 10.11991/yykj.201803011.

基金项目

国家自然科学基金项目(61672180)

通信作者

宁慧,E-mail:ninghui@hrbeu.edu.cn

作者简介

郜雨桐(1995−),男,硕士研究生;
宁慧(1964−),女,副教授

文章历史

收稿日期:2018-03-09
网络出版日期:2018-09-21
基于卷积神经网络的车辆型号识别研究
郜雨桐, 宁慧, 王巍, 赵梓成, 孙煜彤    
哈尔滨工程大学 计算机科学与技术学院,黑龙江 哈尔滨150001
摘要:为了解决交通系统中车辆型号识别率还不够高的情况,通过可视化手段优化了特征提取的步骤,同时设计了车辆识别的分类器模型和一系列训练策略。运用选择性搜索方法对样本进行分析,由此得出候选区域,之后利用融合算法和边框回归算法得出真实车辆所在区域的候选窗口。在车辆候选窗口被标出后,利用卷积神经网络对候选窗口的特征进行提取,送入到神经网络中进行分类,最终得出车辆的具体型号。通过实验表明,提出的基于卷积神经网络的图像识别算法与传统的卷积神经网络以及SVM比较,在车辆识别上都有更好的识别率。
关键词图像识别    车辆识别    卷积神经网络    选择性搜索    特征提取    候选窗口    识别时间    识别准确率    
Research on vehicle model identification based on convolutional neural network
GAO Yutong, NING Hui, WANG Wei, ZHAO Zicheng, SUN Yutong    
College of Computer Science and Technology, Harbin Engineering University, Harbin 150001, China
Abstract: In order to solve the problem that the vehicle type recognition rate is not high enough in the traffic system, in this paper, steps of feature extraction are optimized by visualization means, and the classification model for vehicle recognition and a series of training strategies are designed at the same time. Apply the selective search algorithm to analysis of samples, then get the candidate region, and further, derive the candidate window of the actual area of vehicles by a fusion algorithm and a bounding box regression algorithm. After a vehicle candidate window is marked out, extract the feature of the candidate window by a convolutional neural network, and send the feature to the neural network for classification, and finally obtain the specific model of vehicle. Experiments show that the proposed image recognition algorithm based on convolutional neural network has better recognition rate than the vehicle based on traditional convolution neural network and SVM.
Keywords: image recognition    convolutional neural network    vehicle recognition    selective search    feature extraction    candidate window    recognition time    recognition accuracy    

目前已有的车型识别系统存在一定的局限性,大部分的算法主要是依据车辆的边缘和几何特征来识别汽车,其大体分为轿车、客车和货车等大类[1]。一些研究尝试根据车标进行车辆的识别,但是实际识别结果也表明,根据车标进行车辆型号的分类的准确率也不高[2]。如果要把具体的车辆型号一一区分出来,则要提取出更加复杂的特征,不过这样也增加了设计难度。而深度学习技术目前在人脸识别领域已经取得了较好的效果,实际经验也发现,其可以学习到描述能力强的特征。因而本文在车辆型号识别研究中主要用到深度学习的方法,通过其进行车型的精细识别,且在此基础上进行相应的卷积神经网络的设计和优化。

1 相关技术

为研究和实现基于卷积神经网络的车型识别系统,本文主要使用了人工神经网络技术以及在此理论基础上的卷积神经网络技术、选择性搜索等深度学习相关技术等。

1.1 人工神经网络技术

人工神经网络是一种数学模型,它的研究起始于人类对动物的大脑中枢的研究,这种数学模型具有很强的学习能力和识别能力。我们知道神经元是大脑中的最小组成单位,同样神经网络也是由一个一个的神经元构成,神经元与神经元之间可以相互的连接。神经元其实自身就是一个简单完整的神经网络,每一个神经元都可以接收信息和发送信息,并且可以通过激励函数来处理信息。不同的神经元可以根据不同的激活函数进行分类,主要有Sigmoid函数神经元[3]、线性神经元、修正的线性神经元以及二进制阈值神经元等。虽然它们分为不同的种类,但是其具备的功能没有太大的差异。

1.2 卷积神经网络技术

卷积神经网络实际上属于前馈人工神经网络,不过传统神经网络常常都是被用来作为一种分类器[4],但是本课题中主要是通过卷积神经网络算法来实现对特征的提取功能。事实上,卷积网络的出现主要是受到了生物模型的启发,它的组成是通过多层感知器来实现的,在组成过程中是以交替的方式来构成,利用这样的结构可以很大程度上减少预处理的过程[5]。在图像识别领域,SVM的识别方法也受到广泛应用。但是由于SVM没有图像的卷积操作,从而使权值数量过多,训练单一样本的时间耗时很大[6]。因此由于其高效率,基于卷积神经网络的一系列算法在视频以及图像识别的领域中已经得到了非常广泛地运用。

1.3 选择性搜索技术

选择性搜索方法是分割方法、穷举搜索2种方法的结合,因此其结构层次特点从底至上展现了分割方法的基本特点,同时具有能找到目标的全部可能位置的特点,从而方便后续的识别过程。和传统研究中采用的单一策略方法相比较,其可用策略多,同时可以避免穷举搜索空间过大的问题,这样就能够选择更多更好的识别算法进行识别运算。

综合分析选择性搜索方法,其具有的特点总结如下:1)和穷举搜索方式相比较,其候选搜索是经过分割处理的,因此算法结果得到的物体定位和类别没有关系[7];2)和分割算法相比较,基于一定数量的统计信息,所处理的图像环境较多,所以计算量会相对减小,同时提升了检测的准确性;3)和随机采样方法相比较,其具有从底向上的结构层次,从而使得物体定位效果更加优秀。

实际处理中,大部分图像中类别较多,具有多层次信息数据,因此计算中应当借助多层分割算法进行处理,同时需要综合利用多种分割策略。

2 基于选择性搜索和卷积神经网络的车型识别方法

在本文研究中,采用快速区域卷积网络与车辆候选框共享卷积层的方式实现对车辆型号的识别。首先在对数据进行训练时,向网络中输入包含标注的数据集,最终得到卷积特征图;然后在候选区域、特征图之间构建映射关系,最终得到候选区域的特征信息;之后对其采用池化操作,得到特征池化图[8];最后采用全连接的方式计算得到4 096维的特征向量,这个输出的特征向量便是最终特征。

把得到的特征向量作为Softmax分类以及边框回归的输入数据,并基于非极大值抑制法对各候选区域进行筛选,最终得到位置信息以及目标分类。然后计算标注值和预测值之差,从而计算出损失函数。最后优化网络参数,使用的方法有随机梯度下降算法和反向传播算法,从而获得目标输出网络。

在本系统的测试阶段,把目标图像作为输入数据加入到训练得到的网络中,可以直接获得车辆所在区域和车辆的具体型号。图1所示就是基于选择性搜索的优化卷积神经网络的车辆检测过程。

Download:
图 1 选择性搜索的车辆检测过程
2.1 卷积神经网络的优化

网络层数的选择关系到图像识别的效果,多层网络结构固然可以提取更多高层级的特征,但同时也会造成图像信息的损失[9]。在本文中优化了卷积网络所具有的相关结构,通过对卷积网络相关结构的分析和研究,我们在优化卷积神经网络的时候能够从多个方面入手,包括了网络层数的设置、滤波器(也就是卷积核)的大小的设置以及滤波器的个数等方面。

2.1.1 网络层数的选取

卷积神经网络通过多次卷积运算来进行特征提取,在前几次特征提取中,主要获得的是图像低层特征,信息价值相对较小,因此,如果网络层数不多,将难以获得更有效特征,同时还存在着大量冗余信息,导致分类识别时间较长,效率明显偏低。然而,如果网络层数超过一定范围,即便可以获得大量高层特征,但由于卷积操作的特性,各层网络难免会失去部分有用信息,在网络层数持续增多的同时,这种损失将更加严重[10],提取结果也将差强人意。对于各个数据集,必须结合分类识别要求选择具体层数。如表1所示,在经过多次的实验验证发现,滤波器大小和数量分别是 $5 \times 5$ 、128个,且卷积层数为5时,不管是训练和识别的速度亦或是识别准确率,其效果都为最高。从提取速率来看,当层数为6时最慢,主要原因便是层数的增加。从识别速率来看,当层数为4层时最慢,主要原因便是层数较少时,特征维度较高,导致识别时间较长。从准确率来看,当层数为6层时最低,主要原因是随着层数增加,即便可以获得大量高层特征,但信息损失比较严重,结合图2不难发现,特征图上损失的信息非常多,因此准确率明显偏低。

表 1 不同网络层的测试结果
Download:
图 2 卷积层数为5层时采集的特征图像
2.1.2 滤波器个数的选取

在本文研究中仅需要通过常规滤波器便可以提取特征,且结果十分理想,因此,本文选择线性滤波器进行处理。然而,网络的好坏与滤波器数量、大小存在相应联系,如果各层中滤波器数量偏少,那么产生的特征图数量随之减少,故而提取过程中会遗漏部分特征,导致分类出现错误。然而由于滤波器个数少,网络的训练速率会得到明显提升。如果各层中滤波器数量设置过多,部分特征图中将会带有无效特征,导致特征信息冗余,同样会使结果出现误差。与此同时,在滤波器持续增多的同时,特征图随之大量增加,提取速率将难以保证。具体的实验数据如表2所示。

表 2 不同滤波器个数的测试结果

图3所示,滤波器个数为256时最佳,当滤波器过多时,会出现一些冗余的特征图片,从而影响识别时间和特征提取时间。滤波器较少时,图像特征提取不充分,识别率有所下降。

Download:
图 3 滤波器个数为256时采集的特征图像
2.1.3 滤波器大小的选取

结合上述实验情况,这里设置滤波器基数是256,卷积层数是5层。在确定大小时,需要根据网络结构进行分析,从 $3 \times 3$ $5 \times 5$ $7 \times 7$ $11 \times 11$ 中进行确定,获得的实验数据如表3所示。

表 3 不同滤波器大小的测试结果

基于速度进行分析,如果卷积层中滤波器大小是 $5 \times 5$ $3 \times 3$ 时,那么处理速度是最理想的;如果滤波器大小全部是11×11,那么识别速率最理想。基于准确率进行分析,如果滤波器大小是 $3 \times 3$ $5 \times 5$ ,那么准确率最理想。究其原因不难发现,当滤波器较小时,可以提取出大量丰富特征,从而保证识别结果更加准确,结合图45不难发现,当滤波器大小是 $3 \times 3$ $5 \times 5$ 时,可以得到更加有效的信息。

Download:
图 4 滤波器大小为 $3 \times 3$ 时采集的特征图像
Download:
图 5 滤波器大小为 $5 \times 5$ 时采集的特征图像
2.2 候选窗口的选取

作为一种分组方式的候选区域检测方法,选择性搜索首先使用区域划分算法对图片进行打碎处理[10]。之后借助分组算法处理打碎的图像碎片,聚合成一个大的区域,直到该区域构成完整区域为止,算法执行的具体步骤如下:

1)采用分割算法将图像进行分割,得到很多小的图像区域 $R = \left\{ {{r_1},{r_2}, \cdots ,{r_n}} \right\}$

2)对相似度集合 $S$ 进行初始化操作S = Ø。

3)对打碎的图像集合进行计算,得到各相邻区域相似度数值,记录在集合 $S$ 中。

4)如果 $S \ne \emptyset $ 满足,更新 $S$ 的流程如下。

a)遍历 $S$ 集合,得出具有最大相似度的2个区域,分别记作 ${r_i}$ ${r_j}$

b)对选择出来的 ${r_i}$ ${r_j}$ 区域进行合并处理,得到 ${r_t}$ rt=rirj

c)将 ${r_i}$ ${r_j}$ 相邻区域之间计算得到的相似度信息从 $S$ 集合中移除;

d)计算 ${r_t}$ 以及与之相邻区域之间的相似度,构成相似度集合 ${S_t}$

e)对 ${S_t}$ $S$ 进行合并处理,S = SSt

f)所得到的新区域 ${r_t}$ 会被合并到R集合中,R = Rrt

5)处理R集合,得到各区域的物体边框。

图6所示是待测试的公路交通图片,针对目标检测图像,运用选择性搜索方式最终获得104个候选的图像区域,其中部分候选窗口如图7所示。然而其中很多都不是车辆所在区域,并且候选区域中按照尺度比例方面的情况来看,它就并非车辆,例如图7中第36张候选窗口。

Download:
图 6 公路上的车辆
Download:
图 7 部分候选窗口

按照车辆的实际尺寸比(宽高比)情况,对比候选区域的尺寸,可以筛选掉大部分候选区域。在本文研究计算过程中,保留宽高比为1.2~3.2的候选区域,经过筛选后最终留下12个区域,其中均有车辆数据,具体见图8所示。

Download:
图 8 包含车辆的候选窗口
2.3 训练方法 2.3.1 基于候选区域和快速区域卷积神经网络的联合训练

在对卷积神经网络进行训练时,本文选择了一种联合训练方式进行参数训练,然后采用交替优化方法,实现快速区域卷积神经网络和候选区域网络之间的卷积层参数的共享。具体训练步骤描述如下:

1)首先使用预训练模型初始化候选区域,然后再进行进一步微调训练;

2)训练快速区域卷积神经网络,其输入样本是上述训练时获得的候选区域窗口;

3)借助检测网络实现对候选区域网络训练的初始化,对于二者共享的卷积层进行固定,对于候选区域网络独有层进行微调;

4)共享卷积层依然不变,对于快速区域卷积神经网络而言,其全连接层需要进行微调操作。

经过以上处理,2个不同的网络就可以具有相同的卷积层,最终得到统一的网络。

2.3.2 网络训练的损失函数

本文的研究中,造成的误差(损失)主要来自候选区域网络和快速区域卷积神经网络在分类、回归方面所造成的损失。

为了对候选区域网络进行训练和优化,在文中针对各候选区域框设定二进制标签,记录候选框的正负性,给满足如下2个条件的候选框分配正标签:

1)和一个真实区域框之间有最大图像处理的交并比(Intersection-over-Union,IoU)数值。

2)选择 ${\rm{IoU > 0}}{\rm{.7}}$ 的相关候选区域。给 ${\rm{IoU < 0}}{\rm{.3}}$ 的候选区域分配负标签。损失函数为

${\rm{c}}(\{ {p_i}\} ,\{ {t_i}\} ) = \frac{1}{{N{\rm{_{cls}}}C{\rm{_{cls}}}}}\sum\limits_i {{p_i}^ * {C_{{\rm{reg}}}}({{{t}}_{{i}}},{{{t}}_{{i}}}^ * )} $

式中:候选框索引记作 $i$ ;判断候选框是否为真实目标 $C$ 的概率记作 ${p_i}$ ,假如所选择的候选框分配的是正标签,那么真实区域标签 $p_i^ * = 1$ ,如果为负标签,那么 $p_i^ * = 0$ ;预测边框4个参数化坐标的向量化形式记作 ${{{t}}_{{i}}}$ ;真实区域边框坐标向量记作 ${{{t}}_{{i}}}^ * $ ;回归层记作 ${\rm{reg}}$ ,分类层记作 ${\rm{cls}}$ ${N_{{\rm{cls}}}}$ 用于对 ${\rm{cls}}$ 层的损失进行标准化处理, ${N_{{\rm{reg}}}}$ 用于对 ${\rm{reg}}$ 层的损失进行标准化处理,回归损失记作 ${C_{{\rm{reg}}}}$ ,针对目标、非目标2个类别而言,分类损失 ${C_{{\rm{cls}}}}$ 的计算公式为

${C_{{\rm{cls}}}}({p_i},p_i^ * ) = - \log_2 \left[ {{p_i}p_i^ * + (1 - {p_i})(1 - p_i^ * )} \right]$

回归损失计算时,可以采用公式 ${C_{{\rm{reg}}}}({{{t}}_{{i}}},{{{t}}_{{i}}}^ * ) = $ $ S({{{t}}_{{i}}} - {{{t}}_{{i}}}^ * )$ 进行计算[11],式中 $S(x)$ 具体表达式为

$S(x) = \left\{ {\begin{array}{*{20}{c}} {0.5{x^2},{\rm{if}}\left| x \right| < 1} \;\;\;\quad\quad\\ {\left| x \right| - 0.5,{\rm{otherwise}}} \end{array}} \right.$

对于回归而言,本文选择使用4个坐标参数表达式为

$ \left\{ \begin{array}{l}{t_x} = (x - {x_a})/{w_a},{t_y} = (y - {y_a})/{h_a}\\{t_w} = \log_2 (w/{w_a}),{t_h} = \log_2 (h/{h_a})\\t_x^ * = ({x^ * } - {x_a})/{w_a},t_y^ * = ({y^ * } - {y_a})/{h_a}\\t_w^ * = \log_2 ({w^ * }/{w_a}),t_h^ * = \log_2 ({h^ * }/{h_a})\end{array} \right. $

式中: $\left( {x,y} \right)$ 代表车辆预测边框中心位置的坐标, $({x_a},{y_a})$ 代表车辆候选框的坐标, $\left( {{x^ * },{y^ * }} \right)$ 表示车辆真实边框的坐标, ${{w}}$ ${{h}}$ 分别表示预测边框的宽和高, $ w_a$ ${h_a}$ 分别表示候选框的宽和高, ${w^ * }$ ${h^{{ * ^{}}}}$ 分别表示真实边框的宽和高, ${N_{{\rm{cls}}}}$ ${N_{{\rm{reg}}}}$ 为归一化参数,本文中设置为256和2 400,平衡因子 $\lambda = 10$

快速区域卷积神经网络针对输入数据进行处理后能够得到 $k + 1$ 类目标概率以及经过回归处理后的边框坐标数据[12]。对各训练候选区而言,其损失函数可以表示为

$L({{p}},u,{{{t}}^{{u}}},{{{t}}^ * }) = {L_{{\rm{cls}}}}({{p}},u) + I\{ u \geqslant 1\} {L_{{\rm{loc}}}}({{{t}}^{{u}}},{{{t}}^ * })$

式中: ${L_{{\rm{cls}}}}({{p}},u) = - \log {{{p}}_{{u}}}$ 为与真实目标类型 $u$ 相对应的候选区域的对数损失; ${{p}} = ({p_0},{p_1},...,{p_k})$ $k + 1$ 类目标构成的向量; $I\{ u \geqslant 1\} $ 为示性函数,如果所选择的候选区域没有车辆时 $u = 0$ ;为边框 ${L_{{\rm{loc}}}}({{{t}}^{{u}}},{{{t}}^ * })$ 坐标的回归损失,记作

${L_{{\rm{loc}}}}({{{t}}^{{u}}},{{{t}}^ * }) = \sum\limits_{i \in {{(x,y,w,h)}_{}}} {S({{{t}}_{{i}}}^{{u}} - {{{t}}_{{i}}}^{{*}})} $

针对 $k$ 类目标中的各个类别都可以得到 ${{{t}}_{{k}}} = $ $ (t_x^k,t_y^k,t_w^k,t_h^k)$ ${{ t}^ * }$ 所代表的是候选区域相对应的真实目标边框的参数坐标向量。

2.4 结果演示 2.4.1 标准数据集

图9(a)为同一款车型在不同角度的图像进行识别的结果,图9(b)为同一款车型的不同颜色(红和蓝)下的识别结果,图9(c)为不同光照条件下的识别结果,左图为阴影下的车辆,右图为阳光下的车辆,并且存在反光。

Download:
图 9 标准数据集检出结果

通过用Stanford大学车辆数据库进行测试,可以得到不同网络模型的识别准确率以及识别时间。本文优化后的准确率达到了84.7%。同时本文方法的识别时间也大大缩短,为0.017 s。

表 4 标准数据集网络识别性能对比
2.4.2 自制拍照数据集

图10(a)为同一款车型在不同角度的图像进行识别的结果,图10(b)为同一款车型的不同颜色(银白和黑)下的识别结果,图10(c)为不同光照条件下的识别结果,左图为反光下拍摄,右图为阴影下的车辆。通过用自制拍照车辆数据库进行测试,可以得到不同网络模型的识别准确率以及识别时间,如表5所示。本文优化后的准确率达到了83.2%。同时本文方法的识别时间也大大缩短,为0.019 s。

Download:
图 10 自制数据集检出结果
表 5 自制数据集网络识别性能对比
3 结论

本文主要研究了基于卷积神经网络的目标识别方法,同时将这种方法用于对公路车辆的识别,结果比较理想。实验结果证明:

1)本方法可以识别同款车型在不同拍摄角度下的图片;

2)可以识别不同颜色的同款汽车的型号以及同款车型在不同光照条件下的图片。

本文选择卷积神经网络对图像特征进行提取,能够保证识别速率,且能够使结果更加准确。优化了网络的卷积层数,滤波器个数以及滤波器大小,使得特征提取效果得到明显提升。

以后的研究可以向着扩大样本的数量以及优化网络结构这两方面进行。

参考文献
[1] JI Peijn, JIN Lianwen, LI Xutao. Vision-based vehicle type classification using partial gabor filter bank[C]//IEEE International Conference on Automation and Logistics. Jinan, China, 2007: 1037-1040. (0)
[2] 王枚, 王国宏, 房培玉, 等. 基于PCA与不变矩的车标定位与识别[J]. 武汉大学学报: 信息科学版, 2008, 33(1): 36-40. (0)
[3] ITO Y. Representation of functions by superpositions of a step or sigmoid function and their applications to neural network theory[J]. Neural networks, 1991, 4(3): 385-394. DOI:10.1016/0893-6080(91)90075-G (0)
[4] 李琳辉, 伦智梅, 连静, 等. 基于卷积神经网络的道路车辆检测方法[J]. 吉林大学学报: 工学版, 2017, 47(2): 384-391. (0)
[5] KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systems. Lake Tahoe, Nevada, 2012: 1097−1105. (0)
[6] GUZMAN S, GOMEZ A, DIEZ G, et al. Car detection methodology in outdoor environment based on histogram of oriented gradient (HOG) and support vector machine (SVM)[C]//6th Latin-American Conference on Networked and Electronic Media (LACNEM 2015). Medellin, Colombia, 2017. (0)
[7] FELZENSZWALB P F, HUTTENLOCHER D P. Efficient graph-based image segmentation[J]. International journal of computer vision, 2004, 59(2): 167-181. DOI:10.1023/B:VISI.0000022288.19776.77 (0)
[8] 史凯静, 鲍泓, 徐冰心, 等. 基于Faster RCNN的智能车道路前方车辆检测方法[J]. 计算机工程, 2018, 44(7): 36-41. (0)
[9] 余烨, 金强, 傅云翔, 等. 基于Fg-CarNet的车辆型号精细分类研究[J]. 自动化学报, 2018: 1-12. (0)
[10] BABU K M, RAGHUNADH M V. Vehicle number plate detection and recognition using bounding box method[C]//2006 International Conference on Advanced Communication Control and Computing Technologies (ICACCCT). Ramanathapuram, India, 2017: 106-110. (0)
[11] 甘凯今, 蔡晓东, 杨超, 等. 融合整体与局部特征的车辆型号识别方法[J]. 现代电子技术, 2017, 40(7): 127-130. (0)
[12] 张银苹, 葛广英. 基于HALCON的车牌识别研究[J]. 现代电子技术, 2014, 37(16): 92-9. DOI:10.3969/j.issn.1004-373X.2014.16.027 (0)