APP下载

基于CNN和SVM融合的交通标志识别

2020-06-16王新美丁爱玲雷梦宁

计算机技术与发展 2020年6期
关键词:交通标志线性卷积

王新美,丁爱玲,雷梦宁,康 盟

(长安大学 信息工程学院,陕西 西安 710000)

0 引 言

在自动驾驶、驾驶员安全与协助、交通场景分析等应用中,交通标志识别是必不可少的一部分,能够辅助驾驶员准确高效地识别道路交通标志,在一定程度上减轻驾驶疲劳,从而保证出行安全,有效缓解道路交通安全问题[1]。因此,交通标志识别研究具有重大的意义。交通标志识别往往是汽车行驶途中在复杂的室外环境下进行的,与静止的事物相比,识别难度更大,会出现运动模糊、标志褪色、人为损坏、光照以及天气变化等现象,且具有交通标志类别多、各国标准不一等特征,这些因素都对交通标志的识别造成影响。

针对以上这些问题,在交通标志识别的研究中,大量复杂的算法被提出。传统的算法主要依赖于图像形态学,采用“人工提取特征+机器学习”进行识别,通过分割和提取并整合交通标志图像的LBP、Gabor和HOG三类特征,利用SVM、AdaBoost完成交通标志的识别,但真实情况中的识别情况复杂,传统算法应用难度大。与之相比,深度学习是目前在交通标志识别中效果较好、应用较多的方法。其中的卷积神经网络(CNN)更是在提取交通标志特征中表现出了良好的性能[2]。在多个图像分类的比赛中,以卷积神经网络为基础改进的深度学习网络一次次刷新图像分类的记录,奠定了深度学习在计算机视觉中的地位。

CNN之所以具有强大的分类能力,是因为其能够从大量的样本中学习到特征表示,整个网络表达了原始图像像素与其类特征之间的映射关系。然而,在交通标志分类的实际应用中,硬件条件相同的情况下,这种技术需要一个巨大的数据集来训练和测试交通标志分类技术,以避免出现过拟合情况。此外,任何对交通标志设计的更改,只添加或删除一类交通标志,都需要重复整个训练过程,而这样的训练过程需要大量的处理时间,这都使得在本地样本少的实际应用中具有局限性。

针对上述问题,文献[3-4]将已在大量其他类别上训练过的分类器迁移到目标域,以克服特定训练样本数量不足的问题,在目标域得到了良好的使用效果。迁移学习并不局限于一种特殊的算法或模型,而是在与目标域具有相关性的源域上对知识或者模型进行迁移。利用CNN进行迁移学习已被广泛应用于图像识别[5-6]和自然语言处理[7-8]。此外,已有研究[9-11]探讨了另一种用支持向量机(SVM)替代softmax函数在网络模型中的分类作用。研究表明,在人工神经网络(ANN)结构中使用SVM比使用传统的softmax函数产生了更好的结果。

受上述研究启发,文中利用CNN迁移学习方法,对目前分类效果优越的卷积神经网络——VGG16网络进行结构改进,设计了一种计算交通标志特征表示的特征映射模型,结合SVM构建CNN-SVM模型,完成交通标志识别分类。此外,在CNN迁移学习建立特征映射模型的基础上,提出特征归一化操作。以此能够更准确地从实际监测数据中提取交通标志特征信息,实现更高精度的识别分类,同时增加模型的泛化性能,减小过拟合。

1 相关算法

1.1 卷积神经网络

卷积神经网络广泛应用于计算机视觉中的图像分类问题,属于深度前馈人工神经网络。卷积神经网络负责接收检测到的图像,通过训练集以及验证集每一轮的训练结果反向传递以调整网络结构参数,由卷积层、池化层、全连接层和softmax层组成。卷积层通过卷积核对图像卷积滤波依次提取图像特征,卷积的结果经过激活函数,形成本层的特征图(feature map)输出,除了特征值本身外,还包含相对的位置信息。卷积层公式为:

(1)

f(·)加入非线性因素,将线性输入转化为非线性输出,解决线性模型所不能解决非线性的问题,以此增强神经网络的表达能力。卷积神经网络常用的激活函数为ReLU,公式为:

f=Max(0,x)

(2)

池化层对卷积层得到的特征图进行压缩,以此简化网络计算的复杂度,对特征的压缩进一步提取了主要特征,去除冗余特征。但同时,特征图的缩小可能会影响到网络的准确度,因此需要通过增加网络深度来弥补。池化操作一般分为两种:平均池化、最大池化。最大池化对邻域内取特征值最大的点,能更多地保留图像纹理信息,文中采用的网络结构应用最大池化进行特征图压缩。

全连接层将卷积层学到的分布式特征表示映射到样本标记空间,本质是由一个特征空间变换到另一个特征空间。在卷积神经网络中,全连接层通常出现在最后几层,整合卷积层和池化层具有类别区分性的局部信息,进行特征加权。同时,全连接层在模型迁移学习的过程中,起到了特征表示“防火墙”的作用[12],在迁移学习任务中,全连接层可以保证卷积神经网络特征表示能力的迁移。softmax层是特殊的全连接层,区别在于具有激活功能[13],用于实现最终分类。其功能是将多个神经元的输出,映射到(0,1)区间内,可以以概率来理解,softmax层每一个神经元输出值对应交通标志图像各类别的概率大小,从而实现多分类。卷积神经网络强大的特征表示学习能力,对于平移、旋转、尺度缩放等形式具有不变性,使得其具有良好的性能。使用卷积神经网络的另一优点在于,卷积神经网络能有效减弱数据的个体差异和明显的数据噪声,不需要对图像进行预处理,可直接输入检测到的交通标志图进行特征提取。

本研究中使用的CNN以VGG16网络模型为基本结构,VGG16是一个16层的卷积神经网络,由5组3×3大小的卷积滤波器组成。其网络结构的主要思想是增加网络深度,减小卷积核尺寸,以更加细致地提取图像的局部特征,减少参数个数,提高图像识别准确度。这一独特的框架在2014年“ImageNet大尺度视觉识别挑战”(ILSVRC)定位分类任务中分别获得第一名和第二名,是深度学习中分类性能优秀的网络模型。文中VGG16模型超参数通过迁移学习获取,以源域为ImageNet数据集上预训练过的VGG16网络进行微调,微调了输出层的结构,使其输出图像的特征表示,将其学习到丰富的图像特征表示方法迁移到目标域,并针对目标域进行微调。

1.2 支持向量机

1995年Vapnik[14]首次提出支持向量机并用于二值分类,该方法是一种采用结构风险最小化准则的学习方法,相较于传统的采用经验风险最小化准则的学习方法,支持向量机具有更强大的泛化能力,可以广泛地应用于统计分类以及回归分析。对于训练集S,设n为样本数量,x是训练样本的特征向量,y代表训练样本的标签,其中yi=1和yi=-1分别代表训练样本的正类点和负类点。文中数据通过CNN特征映射模型趋于线性可分数据,同时特征归一化处理可以使线性SVM具有非线性分类器的能力,SVM接收的数据近似线性可分,故分类器选择线性SVM。

SVM的目的在于找到一个划分超平面,其不仅能正确区分两类不同的训练样本,同时两个异类样本距离超平面最近的训练样本点所组成的支持向量,到此划分超平面具有最大间隔。在P维空间中若存在线性判别函数:f(w,x)=w·x+b,可以将两类数据分开。则分离超平面为:

w·x+b=0

(3)

其中,w垂直于超平面,x表示输入向量,b表示偏移量。此线性可分向量机的优化约束问题如下:

(4)

其对偶问题为:

(5)

其中,ai>0为拉格朗日系数。上述原始问题的求解转化为对偶问题求解:

(6)

求解上述问题得到的最大间隔分离平面为:

(7)

分类决策函数为:

(8)

其中,sgn(·)为符号函数,在求得最优解参数w*和b*后,相应的最大间隔分离平面即可用于划分样本。式(7)是在数据完全线性可分情况下的最优分类面,成为“硬间隔”分类超平面。考虑到文中数据近似线性可分,基于最大间隔原则引入松弛变量ξ和惩罚参数C,允许拟合误差,构造“软间隔”的分类超平面来达到最优分类的效果。优化目标可写为:

(9)

其中,C是对分类错误的惩罚参数,用于调整置信区间和经验误差之间的均衡,惩罚参数越大,说明错误惩罚越严重。优化式(9)问题的对偶问题除去拉格朗日系数条件变为:0≤ai≤C,其余与线性可分情况下的问题几乎完全相同。

1.3 特征归一化

为进一步提高CNN-SVM模型的泛化能力,即提取到的特征表示不受本地描述符数量的影响,使其能更好地应用于小样本分类。经过CNN内层φ(·)获取的特征x需要进一步归一化,归一化的方法分为以下几种:

通过文献[15-16]启发,对经过CNN内层φ(·)获取的特征x,先通过幂归一化,对CNN内层提取的特征进行“非稀疏化”[16],即平滑直方图,提高特征表示性能。避免特征向量过于稀疏,丢失特征信息。此后进行2归一化处理,消除提取的特征对背景的依赖,提高泛化能力。特征处理过程如下:

x←φ(I)

(10)

(11)

z←y/‖y‖2

(12)

2 基于CNN与SVM交通检测与识别模型

文中模型的思想是将CNN在一个具有大量带注释的通用数据集中训练,保留其各层参数,截取CNN内部层(卷积层、池化层)作为一个特征映射模型。有研究表明[17-18],当特定领域的图像数据不足时,通过预训练,从额外的数据中可以获取特征表达增益,以此保证CNN内层具有强大的特征表示能力,以获取丰富的特征表示。特征映射模型将交通标志图像作为输入,图像特征表示作为输出。通过特征归一化处理以及结合SVM分类器,利用到本地目标任务中。

CNN-SVM模型的优点在于:SVM通过支持向量来构建最优超平面,其分类性能主要受支持向量的影响,CNN卷积的训练过程就是一个对线性不可分的数据增加其线性可分程度的过程,当CNN的特征提取生效后,原本线性不可分的分类样本趋于线性可分,结合SVM只利用部分支持向量样本的分类原则优势,提升分类精度以及泛化性能。此外,文中提出特征归一化处理,对CNN内层输出的特征表示进行归一化,进一步提升模型泛化能力以及最终识别率。

文中特征映射模型是基于VGG-16网络模型进行结构改造,网络超参数由通用图像数据集ImageNet的分类训练得到。在截取CNN模型的内部层基础上,增加式(11)、(12)归一化处理,添加一层全连接层,能够在提升模型泛化能力的同时保证特征表示能力,其中全连接层的参数随机初始化。最后,这些特征表示将由SVM分类。CNN-SVM模型具体构建步骤如下:

步骤一:将已预训练的VGG-16网络作为CNN模型,移除训练后的CNN模型三个全连接层及softmax层,对其网络模型的内部层保持结构参数固定,输入训练数据得到特征表示x;

步骤二:对步骤一获取的特征x,进行幂归一化(式(11))、2归一化(式(12))处理;

步骤三:添加一层全连接层,随机选取初始参数,在目标域采用以上步骤结果训练此全连接层,以保证模型表示能力的迁移;

步骤四:通过以上步骤获得特征映射模型,提取特征向量,对SVM进行训练和测试。

文中提出的交通标志分类方法的原理如图1所示,主要包括两个过程:利用CNN迁移学习建立特征映射模型和基于SVM的特征分类。

图1 CNN-SVM交通标志分类原理

与传统卷积神经网络分类相比,删除了VGG-16网络的三个全连接层以及softmax层,添加特征归一化处理,添加一个全连接层,通过在目标域微调CNN模型参数,将其映射的特征作为新的输出,建立了特征映射模型。其次,与源任务另一不同之处在于,目标任务中的样本不是直接分类,而是通过建立的映射模型映射到一个新的特征空间中,将提取的图像特征训练SVM,实现交通标志分类。

3 仿真实验

在本节中,通过对交通标志样本识别检测,在CNN迁移学习以及特征归一化处理的基础上,通过交通标志数据集训练学习全连接层以及SVM的超参数,验证基于CNN迁移学习的特征映射模型的合理性以及所提出的特征归一化的泛化性能。根据经验选择[16],幂归一化(式(10))参数α取值为0.5时,能有效保留图像信息,在实验中表现出良好的效果。实验分为两部分:

(1)与传统卷积神经网络对比,验证CNN-SVM模型用于交通标志分类的有效性;

(2)验证特征归一化泛化能力。实验考虑训练精度和测试精度。

使用GTSRB(德国交通标志数据集)对CNN-SVM和传统CNN-softmax模型进行比较。CNN-softmax模型以及CNN-SVM模型在GTRSB中的训练精度以及训练损失如图2(a)、图2(b)所示。

图2 模型对比

其中CNN-softmax模型的平均训练精度为94.29%,CNN-SVM的平均训练精度为91.68%。在训练10 000步后,保留参数模型。表1为使用GTRSB数据集采用传统CNN模型以及文中添加特征归一化的CNN-SVM模型的最终训练精度以及测试精度。

表1 训练精度和测试精度对比(GTRSB数据集) %

为验证特征归一化泛化作用,建立了本地数据集,包括6种交通标志,一共2 461张,图3为本地数据集图片。

图3 本地交通标志数据集示例

分别使用经过特征归一化与不经过特征归一化的CNN-SVM模型,在本地数据集预训练,保存参数模型。对本地交通标志数据集进行测试。实验模型训练精度以及测试精度如表2所示。

表2 训练精度和测试精度对比(本地数据集) %

4 结束语

采用CNN-SVM模型,将其应用于交通标志图像识别任务中,此模型结合了CNN自适应提取特征和SVM泛化能力强的特点,使用深度卷积神经网络提取特征可以减弱数据的个体差异和明显的数据噪声,增强不同类别间的差异,提高SVM分类方法的速度和精度。此外,提出对CNN内层提取的图像特征归一化以及保留全连接层处理,以此保证泛化能力以及特征提取能力,识别形状和颜色各异的不同类型交通标志。实验结果验证了基于CNN迁移学习的特征映射模型用于交通标志图像分类的合理性,以及特征归一化操作能有效提高CNN-SVM模型的泛化性能,使其在本地小样本识别任务中具有优秀的识别精度。

猜你喜欢

交通标志线性卷积
基于全卷积神经网络的猪背膘厚快速准确测定
基于双向特征融合的交通标志识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
关于非齐次线性微分方程的一个证明
非齐次线性微分方程的常数变易法
线性耳饰
交通标志小课堂
常数变易法的理论依据