基于卷积神经网络的交通标志识别
2019-05-25高咪凌力
高咪, 凌力
(复旦大学 信息科学与工程学院, 上海 200433)
0 引言
随着社会经济的快速发展,汽车数量急剧增长,道路交通安全问题受到了人们的广泛关注。汽车的普及在给人们带来便捷的同时,不断发生的交通事故也给人们造成了很大困扰。交通标志识别(Traffic Sign Recognition)作为自动驾驶和驾驶辅助系统不可缺少的关键技术,对于道路路况、驾驶方向的判断起到了重要影响。然而在实际车辆行驶的过程中,获取到的交通标志图像通常会受到运动模糊、光照、背景差异、遮挡、标志褪色等因素影响,快速准确的识别交通标志具有相当大的难度。
1962年,Hubel等人通过对猫视觉细胞的研究,指出生物视觉皮层细胞只对输入图像的极小区域进行感知,首次提出了局部感受域的概念。Y.leCun于1998年构建了卷积神经网络LeNet-5[1],并将其成功应用于手写字符的识别,这也是第一个典型的卷积神经网络结构。近几年来,卷积神经网络[2]成为了图像识别领域最为热门的深度学习方法之一,AlexNet[3]、GoogleNet[4]等经典模型被相继提出,将网络模型扩展到了更深的层次,识别的正确率也被逐步提高。
考虑到传统卷积神经网络在识别过程中,多级池化层对于特征信息的压缩程度过大,可能造成图像细节信息丢失。本文在经典卷积神经网络的基础上进行优化,构建了低压缩度特征卷积神经网络模型,并将其运用到交通标志识别领域。基于交通标志数据集BelgiumTSC的对比实验结果证明,该卷积神经网络具有更高的识别率。
1 CNN相关技术
卷积神经网络作为深度学习的一个重要研究方向,被广泛应用于图像识别领域。和传统全连接神经网络不同,卷积神经网络用类似卷积的操作代替神经元之间的全连接,并引入了下采样方法,使模型对于平移、缩放等具有很好的鲁棒性,同时减少了网络参数的数目,训练的复杂度也得到了大幅度的下降[5]。
1.1 卷积层
在卷积神经网络中,卷积层每个神经元只与输入图层的局部区域有连接,对于区域外的神经元不做响应,这些局部区域即为该神经元的局部感受域(Local Receptive Field)。除此之外,卷积层同一层中,某些神经元之间的连接采用相同的权值。局部连接和权值共享的模型结构,有效的降低了网络的复杂度,减少了训练和识别过程中资源消耗。
卷积层l层第j个子特征图可表示为式(1)。
(1)
2.2 池化层
为了降低特征图的维度,卷积层后通常连接一级池化层,对小范围邻域内的神经元进行下采样。常用的池化操作有三种:最大值池化(Max-pooling)、均值池化(Mean-pooling)和随机池化(Stochastic-pooling)。
以采样大小为k×k的最大值采样为例,其输出值可以表示为式(2)。
(2)
池化层提取特征的相对位置,当图片发生位移时,特征仍能在其他位置被提取出来,是网络对平移、倾斜或者扭曲、变形等具有高度鲁棒性。
2 低压缩度特征聚合卷积神经网络模型
2.1 单一特征层聚合结构的不足
在传统的卷积神经网络中,只有最后一级卷积池化层特征图输入到全连接层,在全连接层聚合图片的高阶特征。从卷积神经网络结构可以看出,多个池化层级联能够使每个神经元都覆盖到了更大的底层视域,全局特征能够在一定意义上高度概括不同交通标志的特点,但是在池化采样降低特征图维度特征,会损失掉部分细节信息,影响分类的准确性。
识别的过程如图1所示。
图1 整体相似度高的交通标志示意
图1(a)、1(b)中这种整体相似度极高的交通标志,被错误识别的概率很大,局部的细节信息对于标志的判断十分关键。多层池化对于信息的压缩程度过高,在最后一层很难还原图片的细节信息,从而影响识别的准确率。
2.2 低压缩度特征卷积神经网络结构
本文提出的低压缩度特征卷积神经网络模型由3个卷积层、3个池化层、1个全连接层和1个输出层(Softmax回归层)组成,具体网络结构如图2所示。
图2 低压缩度特征卷积神经网络模型
本模型和传统卷积神经网络最大的区别是:全连接层直接与P1、P2池化层相连,提高了低压缩度细节信息在全连接层的表达比例,解决了前向传播过程中细节信息丢失的问题。
卷积层C1包含20个大小为5×5的卷积核,C2、C3分别包含40、60个大小为3×3的卷积核;池化层均采用尺寸为3×3的最大值池化采样,采样步长为2,采样区域有一定程度的重叠。
2.3 激活函数优化
早期卷积神经网络通常采用S型函数tanh(或sigmoid)作为激活函数,模拟生物神经元的信号激励机制。tanh表达式为式(3)。
(3)
在使用误差反向传播算法进行参数优化的过程中,根据梯度下降策略,每次训练权值的更新值正比于激活函数的导数。Tanh导数可表示为式(4)。
(4)
tanh函数是双端饱和的,输入值极大或者极小时,激活函数的导数很小,从而产生的误差梯度也很小,会产生梯度弥散效应。
为改善网络模型的性能,本文引入Hinton提出了非线性函数ReLU(修正线性单元)[6]。如式(4)所示,当输入小于0时,输出恒为0;在输入大于0时,激活函数的梯度为1,如式(5)。
f(x)=max(0,x)
(5)
ReLU函数当输入为正时激活函数的梯度能保持在一个恒定值,在反向传播的过程中,能很好的传递到前一层网络,克服了S型函数梯度弥散的问题。ReLU还具有单边抑制的特性,能够适当给网络模型引入稀疏性,防止训练时产生过拟合的问题。除了这两点之外,ReLU在前向传播的过程中,输入值为正则保留原值,为负则全部置零,计算简单,提高了数据的处理效率。
2.4 全连接层优化
和传统卷积神经网络不同,该模型中的全连接层FC的神经元除和最后一级池化层P3相连外,还直接和P2、P1层相连,能够提取压缩度更低的图像特征。
(6)
(7)
3 实验与结果分析
3.1 实验数据
本文采用Windows7操作系统作为实验环境,CPU为3.20 GHZ的8核Intel(R) Xeon(R),内存8 GB,无GPU加速,基于Caffe框架搭建卷积神经网络。Caffe是由伯克利大学的贾扬清博士构建的一个的深度学习框架,其逻辑清晰并且性能高效。
实验数据采用比利时BelgiumTSC(Belgium Traffic Sign Classification)作为训练集和测试集,包含62类不同类型交通标志,共3 773个训练样本、2 032个测试样本。数据集交通标志图片,都是行驶车辆在真实道路场景拍摄的,如图3所示。
3.2 低压缩度特征聚合有效性验证
为了验证引入低压缩度特征的有效性,在本节中分别对4种不同压缩度特征聚合结构进行对照实验。该模型共P1、P2、P3 3个池化层,所以在本组对比实验中共构建了四种网络模型:
1)传统的卷积神经网络(对照组):仅P3层和全连接层相连,不对低压缩度特征进行表达(简称P3模型);
2)P1、P3层与全连接层相连(P3&P1模型);
图3 BelgiumTSC交通标志数据集
3)P2、P3层与全连接层相连(P3&P2模型);
4)P1、P2、P3层均与全连接层相连(P3&P2&P1模型)。
学习率初始设置为0.001,实验中采用step阶梯方式降低学习率,每迭代4 000次,学习率降为原来的0.1倍。实验中采用MBGP进行模型参数的优化训练,batch-size为100,每次实验进行10 000次迭代,冲量系数为0.9,权重衰减项为0.005。除网络结构外,其他参数均取相同的值,对比实验中,每进行100次迭代训练,用测试集对模型进行一次验证正确率的测试。
对四种不同的模型结构进行仿真实验后得到的结果,如表1所示。
表1 不同模型结构对比实验
对比其在BelgiumTSC交通标志测试集上的识别准确率可以看出,传统的卷积神经网络(P3模型)能够达到95.57%的准确率,而采用P3&P2模型,准确率能够提升到97.24%。这说明,将P2、P3池化层的特征图同时进行聚合,能够提升卷积神经网络的识别率。
训练过程中P3、P3&P1、P3&P2&P1三个模型准确率变化趋势,如图4所示。
图4 P3、P3&P1、P3&P2&P1模型准确率变化趋势
从图中可以看出,并不是所有低压缩度特征层的表达都能改善卷积神经网络的性能。在全连接层对P1层特征图的聚合时,不论是否连接P2层的特征图,都会造成网络结构冗余,明显的降低网络的识别率和收敛的速度,反而使得卷积网络的性能恶化。
综合上述实验结果可以得知,在全连接层适当聚合低压缩度特征图能够提高交通标志的识别率。针对BelgiumTSC数据集,将P2直接与全连接层相连能达到最好的识别效果,和传统卷积神经网络相比,准确率提升了1.67%。
4 总结
本文针对传统卷积神经网络对细节信息压缩度过大的问题,提出了一种新型卷积神经网络模型,通过将压缩度较低的特征图层直接在全连接层聚合,提高了图片细节表达效率。实验结果表明,该模型能够提高网络性能,具有比传统卷积神经网络具有更高的识别率。