APP下载

基于深度残差网络和GRU的SqueezeNet模型的交通路标识别 *

2020-11-30霍爱清张文乐李浩平

计算机工程与科学 2020年11期
关键词:残差准确率卷积

霍爱清,张文乐,李浩平

(西安石油大学电子工程学院,陕西 西安 710065)

1 引言

交通路标识别是无人驾驶技术中重要的组成部分,传统的识别方法有模板匹配[1]、特征提取结合分类器[2]等。传统方法的图像特征是由人工设计的,此过程不仅花费大量时间,而且识别准确率不高[3,4]。随着卷积神经网络CNN(Convolutional Neural Network)的发展,越来越多的分类问题能够得到很好的解决,由于CNN能够自动提取图像的特征,避免了前期人为对图像进行预处理带来的误差,识别的准确率有很大提高[5,6]。文献[7]改进了LeNet-5模型,加入Inception模块[8]增加了网络宽度,减少了网络参数量,识别准确率达到了98.5%。文献[9]改进了AlexNet模型[10],增加了网络层数,虽然大幅度减少了参数量,但识别准确率只有96.87%。文献[11]提出的CNN-Squeeze利用CNN对K-means方法聚类后的图像进行特征提取,再通过Squeeze进行二次特征提取,识别准确率达到了98.58%,但每个周期的训练时间为150 s。文献[12]提出了基于多尺度的CNN模型,虽然该模型的识别率高达99.2%,但其训练时间超过了7 h。文献[13]是基于VGG16模型进行特征提取,但网络深度比较深,大大增加了参数量。文献[14,15]分别提出使用不同大小的卷积核进行特征提取的方法和采用深层卷积神经网络Deep CNNs进行特征提取,虽然准确率都比较高,但增加了网络宽度,训练时间也随之增加。文献[16]通过将不同层输出的特征图进行融合输出,缩小了网络规模。

目前对交通路标识别,要么构建复杂的模型来获得高的准确率,要么为了提高效率,忽略了准确率。针对这些问题,本文构建了SqueezeNet-IR-GRU(SqueezeNet Improvement of Residual and Gated Recurrent Unit)模型,主要工作有:

(1)采用轻量级SqueezeNet作为基础模型进行改进,SqueezeNet模型相对来说网络结构简单,参数量少。

(2)将激活函数ReLU用ELU函数代替,避免网络梯度消失,提高学习效率。

(3)对原始的残差网络进行改进,能够很大程度减少参数量,缩减训练时间。

(4)结合GRU神经网络能够记忆过去有用的信息,保证模型的稳定性。

实验表明,本文所提模型可以采用较浅的网络结构,用较少的训练时间,达到较高的准确率。

2 SqueezeNet模型

SqueezeNet是由Iandola等人借鉴Inception模块提出的。Fire Module是SqueezeNet最主要的部分,其包括2个部分:Squeeze层和Expand层,图1所示为Fire Module的结构图。Squeeze层采用1×1的卷积核对输入的特征图进行降维处理,以减少参数量。降维后的特征图分别经过Expand层的1×1和3×3卷积核进行升维,让网络具有宽度,再将Expand层卷积后的特征图串联起来。由于SqueezeNet的参数量少,故计算效率得以提高。

Figure 1 Structure of Fire Module图1 Fire Module的结构图

其中,模型输入维度为M×N×S(M是图像高度,N是图像宽度,S是图像通道数),kernel是卷积核,s1是Squeeze层中1×1的卷积核数量,e1、e3分别是Expand层中1×1和3×3的卷积核数量。图1中s1

3 SqueezeNet-IR-GRU网络模型

在图像识别过程中,为了获得更好的性能而不断地增加模型的网络层次,模型也会变得越来越复杂,其相关的参数量也会变多,在训练时,运算量增大,从而影响网络的训练时间。为此本文对轻量级网络进行改进,将深度残差网络和GRU网络与SqueezeNet进行融合构建了SqueezeNet-IR-GRU模型,该模型在很大程度上可以减少参数量,缩短训练时间,并提高网络运行的稳定性和识别的准确率。图2所示为SqueezeNet-IR-GRU模型结构图。

Figure 2 Structure of SqueezeNet-IR-GRU model 图2 SqueezeNet-IR-GRU模型结构图

其中,Input是输入层,输入为48×48×3的RGB图像,Firei(i=2,3,6,7,10,11)是Fire Module结构, ①、②、③为结构相同的卷积处理环节,④为GRU网络环节,FC为全连接层,Softmax为分类器。

经过图2中的卷积层Conv1,得到96个48×48的Feature map,再经过最大池化层Maxpool1,输出96个24×24的Feature Map。Maxpool1的输出分3路,一路直接作为Fire2的输入;一路与Fire2的输出相加作为Fire3的输入;还有一路与Conv4和Fire3的输出相加作为Conv5的输入,这样经过①处理得到96个24×24的Feature Map。图2中的②、③的处理过程与①类似,为了获得更多的有效特征,②、③中卷积核的数量依次为256和384,③最后的输出为384个6×6大小的特征图。将③的输出经过平均池化Avgpool,取其区域的平均值作为输出,得到384个3×3的Feature Map。④中的GRU为GRU神经网络,先将输入的384个3×3的特征图经内部Reshape(重设)为3×1152大小,就可得到3个1152维的特征向量,然后将3个特征向量依次输入到2个GRU中,在GRU中进行降维处理,每个GRU得到3×128的特征向量,为了得到丰富的记忆信息,将2个GUR分支的输出特征向量拼接(Concat)得到6×256的特征向量,再经过FC(全连接层)和Softmax层,最终得到43个概率值,取其中最大的概率值作为输出。

在图2中,每次卷积之后都有个批量归一化处理算法BN(Batch Normalization)[17],因为在训练时,每层输入数据的分布和学习率不一样,对网络的训练速度有很大影响。BN可将每层的数据都转化为均值为0、标准差为1的分布,这样能够加速网络收敛,提高训练效果,防止过拟合和梯度消失。

3.1 激活函数

本文用ELU函数替换ReLU函数,由于ELU函数添加了一个非零输出,可以防止导数收敛为零,在一定程度上缓解了网络的梯度消失,避免了ReLU的死区出现,提高了学习效率。

3.2 深度残差网络

深度残差网络是由He等人[18]在2016年提出的。图3所示为残差网络结构。其中,x是输入,H(x)是输出,F(x)是残差映射函数。

Figure 3 Structure of residual network 图3 残差网络结构

随着网络层数的增加,训练结果并不会随之变得更好,反而可能会使梯度消失的现象越明显。要解决这个问题就要在网络模型上添加一个恒等映射Identity,使得网络随深度增加而不退化。即可得到函数H(x)=F(x)+x,但优化H(x)是比较困难的,所以将其转化为学习残差函数F(x)=H(x)-x。只要F(x)=0,就能得到恒等映射H(x)=x,即可使用网络学习到新的特征。本文将这一思想引入到SqueezeNet模型中。

图4a所示为原始的残差网络结构,本文对其进行改进,将最初的输入经过Fire Module处理后与输入叠加,叠加后的数据再经过一次Fire Module处理后与最初的输入进行叠加,相比于原始的残差网络,这样大大减少了参数量,缩减了训练时间。图4b所示为改进的残差网络结构。

Figure 4 Structure of of original and improved residual networks图4 原始的和改进的残差网络结构

3.3 GRU神经网络

GRU神经网络是LSTM[19]的简化和改进,图5所示为GRU神经网络的结构图。GRU只包含更新门zt和重置门rt2个门结构。zt决定ht中包含ht-1的信息量,当zt=1时,就将ht-1的全部信息传递给ht;当zt=0时,就将当前新的记忆信息传递给ht。rt决定ht-1时刻的信息对当前新的记忆信息的重要性,rt值越大,传递到当前新的记忆中的ht-1时刻的信息就越多。改进的SqueezeNet-IR-GRU模型正是利用这一特性,将SqueezeNet的最后一个Fire Module用GRU神经网络替换,可以保证训练的稳定性。图2中的环节④就包含了GRU神经网络。

Figure 5 Structure of GRU network 图5 GRU网络结构图

4 实验结果与分析

为了验证本文模型的有效性,本节进行准确率、精准率和召回率对比实验,并对实验结果进行分析。

4.1 实验环境

实验的硬件配置:英伟达GTX 1060 6 GB显卡、Intel i5-8500 CPU@3 GHz×6,16 GB内存的台式机,程序运行平台:在Linux操作系统上基于Keras框架[20]搭建网络模型、利用sublime编辑器和Python语言编写程序,CUDA9.0和cudnn7.05进行加速处理。

4.2 GTSRB数据集

GTSRB数据集包含43类交通路标,总共有51 839幅图像,大小从15×15像素到250×250像素不等,其交通路标可分为3大类,即指示类(Mandatory)、禁止(Prohibitory)和警告(Danger)。训练时分为训练集34 799幅、验证集4 410幅和测试集12 630幅。该数据集包含了在不同的天气、不同的运动状态、不同的光照强度以及路标牌损坏等情况下的图像。由于数据分布不平衡,就有可能会出现过拟合的现象,在训练时本文通过数据增强来解决此问题。数据增强[21]就是在现有的训练样本基础上生成更多的训练数据,将原图片通过旋转、平移、随机缩放、上下水平翻转等方式来增加图像的样本。由于图像大小不一致,所以在输入前将图像统一设置为48×48像素。

4.3 实验与结果分析

本文构建的SqueezeNet-IR-GRU模型是基于SqueezeNet网络、结合改进的残差网络和GRU的神经网络,在原始SqueezeNet基础上减少了网络层次,并和文献[13 - 16]的网络模型进行了比较。所有模型运行均采用相同的参数:学习率使用指数衰减法,初始学习率为0.01,衰减率为0.95,冲量Momentum为0.9,训练的batchsize为256,epoch为30,相当于7 680次迭代,准确率取后6个周期平均值。

4.3.1 准确率实验

不同模型的网络层数、参数量、运行的平均时间以及准确率对比如表1所示,实验结果对比如图6所示。

从表1可以看出,本文提出的SqueezeNet-IR-GRU模型的准确率虽然没有文献[15]模型的高,但训练时间比该模型快了一倍多,文献[15]模型通过结合Inception模块和深度残差网络来加宽网络的宽度,获取不同的特征图,但也使得参数量较大;文献[16]模型融合了不同尺度大小的特征,虽然模型规模小,但参数量、训练时间以及准确率都不及本文模型的;虽然VGG16模型[14]准确率达到98.78%,但是参数量却是最多;文献[14]模型通过多特征融合的方法来增加网络宽度,虽然参数量较少、模型规模小,但准确率却不如本文模型和文献[15]的。从图6可知,本文模型的稳定性最好,文献[13 - 15]模型的准确率都有上下波动的现象,虽然文献[16]模型的准确率没有波动,但其收敛比较慢。经实验比较,本文提出的模型在参数量、运行时间、收敛性和稳定性上都优于其他几种模型,有效地提高了识别的准确率和稳定性。

Table 1 Comparison of improved model with other models on GTSRB dataset

Figure 6 Results of each model on GTSRB dataset图6 各模型在GTSRB数据集上运行结果

4.3.2 精准率和召回率实验

为了衡量模型对图像的分类能力,可通过精准率P(Precision)和召回率R(Recall)实验进行对比。精准率就是分类器判定为正例中真正正例的比率,召回率就是被正确判定为正例占总正例的比率。如果对交通路标中的Mandatory类别进行精准率和召回率计算,那么Mandatory就作为正例,Prohibitory类别和Danger类别就作为负例,其他两类计算,也如此。精准率和召回率公式分别如式(1)和式(2)所示:

(1)

(2)

其中,TP为真正正例图像数;FN为正例预测为负例图像数;FP为负例预测为正例图像数。

表2所示为上述5个模型在GTSRB公开数据集的测试集上进行精准率和召回率实验对比的结果。

Table 2 Precision and recall of each model

从表2中可以看出,本文模型在精准率上明显优于其他网络模型,由于文献[16]模型结构最简单,所以精准率比较低。在召回率方面,本文模型在Mandatory类别上比VGG16高出了8.62%,Prohibitory类别上比Proposed CNN高出5.87%,Danger类别上比Proposed CNN高出5.75%,使用较小的网络结构和较少的参数达到了和文献[15]模型差不多的效果。实验表明,本文模型能够准确识别交通路标。

4.4 CIFIR-10数据集

IFIR[22]数据集包含CIFIR-10和IFIR-100。CIFIR-10总共有60 000幅图像,其中50 000幅训练集图像和10 000幅测试集图像,总共10类,都是32×32像素大小的彩色图像。本文通过在CIFIR-10数据集上进行实验来验证本文模型的可行性。CIFIR-10的运行结果如图7所示。

Figure 7 Results of each model on CIFIR-10 dataset图7 各模型在CIFIR-10数据集上运行结果

从图7可以看出,本文模型法的准确率是相对最高的,因为CIFIR-10数据集图像的分辨率相对较低,使得训练的收敛慢,图像的噪声多,所以准确率会出现上下波动现象,但本文模型相比于其他模型还是比较稳定,收敛速度相对较快。从表3可以看出,本文模型在运行时间上也都少于其他模型。所以经实验表明,本文模型在其他数据集上也是具有可行性的。

5 结束语

针对交通路标识别时由于网络层数增加而出现的识别效率降低和参数量增多的问题,本文提出一种结合改进残差和GRU神经网络的SqueezeNet-IR-GRU模型,既降低了复杂度,又提高了准确率。在GTSRB和CIFIR-10数据集上进行了实验验证,实验结果表明,本文提出的模型相比于其他网络模型,提高了对交通路标的识别准确率,缩短了训练时间,同时模型运行时收敛快,稳定性好。本文虽然在准确性和参数量上做了进一步的优化,但还不能完全适用于对参数量有很高要求的移动设备,这也是未来进一步研究的方向。

猜你喜欢

残差准确率卷积
基于双向GRU与残差拟合的车辆跟驰建模
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法