基于迁移学习的交通标志识别

2019-12-03 09:49
测控技术 2019年11期
关键词:交通标志卷积深度

(西安工程大学 电子信息学院,陕西 西安 710048)

智能交通系统[1](Intelligent Traffic System,ITS)被认为是一种保证人们出行安全和解决交通拥堵等问题的有效技术路径,近年来受到广泛关注。自动驾驶是ITS发展的重要方向,交通标志识别是无人驾驶系统和行车辅助驾驶系统[2]中的关键技术。传统交通标志识别方法主要通过特征提取和识别两个步骤来实现,如文献[3]提出了基于不变矩的向量机的交通标志识别方法,文献[4]提出了基于图像形状特征分类的方法,文献[5]提出了图像差分的智能交通目标检测的方法,文献[6]提出了基于局部二值模式的交通标志识别方法。以上方法主要通过颜色和形状等特征进行识别,易受环境及人为因素的影响,如在雨天、光照、损毁、褪色、残缺、涂改、遮挡等因素的影响下,易导致识别率降低,甚至造成识别错误,从而直接影响自动驾驶质量。随着图像处理和机器学习技术的进一步发展与完善,交通标志识别不断引入新的技术方法,文献[7]和文献[8]中都采用卷积神经网络模型进行分类,使识别率显著提升,然而此类方法受限于大样本数据,在微量数据学习中,由于模型学习能力不足使交通标志识别率明显降低。针对以上问题,本文通过构建迁移学习模型,将ImageNet数据集中训练好的Inceptionv3模型的卷积层和瓶颈层进行迁移,在微量数据训练条件下,实现交通标志的准确识别。

1 研究背景

1.1 Inceptionv3网络简介

1.1.1 Inceptionv3网络生成背景

就应用领域而言,深度学习是目前解决机器视觉问题的重要方法之一。2014年,深度卷积网络开始成为主流,通过利用更深、更宽的网络,使其性能在应用中不断显著提升。VGGNet和InceptionNet[9]在2014 ILSVRC分类挑战赛中首次被应用,并取得巨大成功。虽然VGGNet具有架构简便等优势,但其成本高,网络计算量大。然而,在降低网络计算成本的情况下,Inception架构也能表现出良好的性能。例如,InceptionNet仅需500万参数,是AlexNet所需参数的1/12,是VGGNet所需参数的1/48。

1.1.2 大滤波器尺寸分解降维

Inceptionv3网络最大的优势是在遵循通用的网络结构设计准则[9]前提下,提出了卷积分解,以分解大卷积核为小卷积的方式加速运算,作卷积运算时,较大卷积核(5×5或7×7)在计算方面往往相对计算量较大。例如,5×5卷积核的卷积运算量是3×3卷积核的卷积计算量的25/9=2.78倍。然而,5×5卷积是否可以被具有相同输入尺寸和输出深度的参数较小的多层网络所取代?如图1,显然可以看到第一层每个3×3网格的输出相当于第二层每个小的完全连接的网络。

图1 Mini网络替换5×5卷积

Inceptionv3网络包含3种Inception模块,根据网络通用计算原则,如图2所示,Inception模块中每个5×5卷积由两个3×3卷积替换,同理,以1×n卷积后接一个n×1卷积方式替换任何n×n卷积,并伴随着n的不断增加其计算量节省比率越高。

图2 5×5卷积分解图

1.1.3 Inceptionv3网络框架

相对传统深度卷积神经网络,在内存和计算量预算严格被限制的情况下,Inceptionv3网络凸显其优势。表1为Inceptionv3网络架构,网络模块共计13层,其网络输入采用229×229的RGB彩色图像,其中有6个卷积层,2个下采样层,1个全连接和1个softmax层以及3个Inception模块层,且网络每个模块层的输出是下个模块层的输入。

表1 Inceptionv3网络模型结构

1.1.4 标签平滑模型正则化

最后,Inceptionv3网络通过估计训练期间标签丢弃的边缘化效应来对分类器层进行正则化。对于每个训练样本x,模型计算每个样本的类别为k的概率为

(1)

式中,zi为对数单位或归一化对数概率,i∈{1,2,…,k},考虑训练样本在标签的实际分布q(k/x),因此做归一化处理后:

(2)

为了简洁化,省略p和q对样本x的依赖,从而将样本损失定义为交叉熵:

(3)

最小化交叉熵等价于最大化标签对数似然期望,其中标签是根据它的实际分布q(k)进行选择的。由于交叉熵损失函数对于zk是可微的,因此可以用来进行深度模型的梯度训练。其梯度(范围在-1~1之间)表示为

(4)

1.2 迁移学习简介

数据挖掘和机器学习技术早已在许多工程领域取得了巨大成功,如解决分类、回归和聚类等问题。然而,大多数机器学习方法存在一个共有假设:训练及测试数据必须具有相同分布。当数据分布发生改变时,统计模型必须采用新的训练数据或进行模型重构,但在实际应用中,由于带标记的训练样本数量有限,数据分布发生变化等原因,数据服从同一分布的假设很难满足,而数据的重新采集和模型重构的实现代价大,且可实现性差。针对这些问题,近年来倍受关注和研究的迁移学习[10]表现俱佳,相比数据重新采集和模型重构,其实现代价大打折扣,迁移学习很好地解决了如何从已有的源领域迁移知识到目标领域的问题,甚至可以解决异类数据之间的知识迁移问题,如图3所示。

图3 传统机器学习与迁移学习的区别

在迁移学习中,已有知识叫做源域,要学习的新知识叫做目标域,按源域和目标域的数据特征差异可将迁移学习划分为两类:① 同构空间下的迁移学习[10];② 异构空间下的迁移学习[11]。目前迁移学习大都发生同构空间下,因为同构空间下的源域数据集与目标域数据集能够很好地避免不同领域间数据差异较大的问题。同构空间下的迁移学习通过在特征层面上寻找一些共有特征(纹理特征、边缘特征、高层抽象特征等),然后迁移这些特征到目标域数据集,进而提高在目标域数据集上模型的泛化能力。 鉴于此显著优势,本文也采用了同构空间下的迁移学习方法。

2 基于迁移学习的交通标志识别

针对交通标志识别技术实现可靠性要求,以及深度学习方法在其应用研究中受环境、数据量不足导致学习效率低等问题,本文在小样本数据情况下提出了一种基于同构空间下的特征迁移学习方法。

鉴于迁移学习方法的灵活性,本文以ImageNet 数据集作为源域数据集,并在源域数据集预训练Inceptionv3模型,然后将模型参数(权重、偏移量)迁移到目标数据集的分类任务中。实现模型提取特征(边缘特征、纹理特征、形状等高层抽象特征)能力的迁移,从而提高交通标志识别模型的泛化能力。

2.1 网络模型设计

如图4所示,整个迁移网络主要分Inceptionv3特征迁移、添加全连接层、模型训练和模型预测4个步骤。

图4 实验流程图

① 首先将ImageNet数据集图像做预处理,剪切图像大小为229像素×229像素×3像素,然后将预处理后的数据集送入Inceptionv3模型进行预训练;

② 提取预训练好的Inceptionv3模型瓶颈层前面的结构,然后在模型瓶颈层后面添加待训练的全连接层;

③ 将微量交通标志数据集搭建好的迁移模型进行训练;

④ 用训练好的迁移模型对验证集进行模型评估。

2.2 迁移学习网络模型结构

图5是迁移学习模型的架构,其中左侧是交通标志的识别的迁移模型,主要由两部分组成:① ImageNet 数据集上预训练好的 Inceptionv3模型瓶颈层前面的结构,如图5右侧的模型结构是在ImageNet数据集上训练好的Inceptionv3模型瓶颈层前面的结构;② 如图5左侧底部所示,该部分的全连接层用来训练数据进行交通标志的分类。如图5左侧所示,迁移模型需要训练的仅仅是全连接层的参数,与未迁移的模型相比,待训练的参数少了很多。

图5 迁移学习模型的架构

由于模型的空间复杂度(即模型的参数量)往往决定了训练数据集的大小,所以迁移模型能够在微量数据集上训练并保证模型很好的性能。式(5)为模型空间复杂度与卷积核的尺寸、通道数、网络的深度存在关系:

(5)

式中,D为网络所有卷积层数(即网络深度);K为卷积核的尺寸;Cl为网络第l层卷积积层输出通道数。通常,网络全连接层可以看作k=1,所以它的复杂度可表示为

(6)

3 实验设计与结果分析

3.1 实验数据集

本文所需实验数据集采用比利时交通标志公开数据集(http://btsd.ethz.ch/shareddata/)和自行采集的数据集。其中车牌标志数据集包括警告标志、限速标志、指标标志、旅游标志等62类,数据集分布如图6所示。然而迁移模型的空间自由度主要来自迁移模型全连接层的参数,全连接层参数分别为1024、62,由此利用式(5)和式(6)得出非迁移模型和迁移模型的自由度分别为o2、o1,由参数与数据量关系可推出ImageNet数据集是迁移模型微量训练数据集的o2/o1倍。相比训练一个深度卷积神经网络模型,迁移模型所需参数量大大缩减。综合上所述,本文以ImageNet大型数据集为源域进行迁移学习。同时ImageNet分类数据集共含有1000个类别,大量的数据集和丰富的数据种类有利于提升Inception模型的学习能力,从而提高了迁移模型特征提取能力。

图6 实验数据集分布

3.2 实验设置

为评估迁移学习方法的性能,本文与传统机器学习方法和深度学习方法进行对比实验。对比实验方法包括:基于Hough 特征的支持向量机(Support Vector Machine,SVM)的交通标志识别;基于KNN(K-Nearest Neighbor)的交通标志识别;基于DNN(Deep Neural Network)的交通标志识别;基于CNN(Convolutional Neural Network)的交通标志识别。

SVM方法首先使用Hough变换提取图像的特征,将其转化为特征向量,然后将其送入到支持向量机中进行训练和预测。

KNN方法将提取的图像特征通过tflearn自带的KNN分类器对图像特征进行分类。

DNN方法首先将图像预处理、归一化并转化为一维的特征向量,然后将该向量送入搭建好的DNN网络进行训练,该DNN网络总共有5层,不包含输入层,神经元输入个数分别为2048、1024、768、512、62,学习率设置为0.001。

CNN方法是采用改进Alexnet网络的网络模型,有5个卷积层和3个全连接层,其中卷积核为5×5,采用最大池化进行降采样,最后3层全连接层的神经元个数分别为1024、512、62,学习率设置为0.001。

本文所提出的迁移学习模型简称为MTL,首先将数据进行预处理,将所有图片归一化处理,为防止网络过拟合,对搭建好的迁移网络的全连接层进行dropout处理,参数设为0.5,同时网络的学习率设置为0.001。MTL网络的详细配置如图5所示。

3.3 实验结果分析

3.3.1 模型学习能力对比

实验所有模型训练预测均在gpu上进行,实验环境为Win10系统下的tflearn。本文通过提取训练模型隐层特征图对比模型的学习能力,图7是基于迁移学习的交通标志识别模型和CNN模型的第一层卷积层和最后一层卷积层所提取的前32张特征图。可以明显看出两种方法均能提取一些图像的深度特征,如纹理、边缘、形状等深度抽象特征。与CNN模型相比,迁移学习模型提取的隐层特征图能更详细地体现图形深度抽象特征,这主要是因为在ImageNet数据集上训练好的Inceptionv3能够更详细、准确地提取到图像的深度信息。由图7的特征图对比表明,本文算法模型在微量数据集下学习的能力比CNN模型更强。

图7 MTL与CNN模型隐层特征图对比

3.3.2 几种交通标志识别方法的性能

本文对几种交通标志识别方法的性能参数进行了比较,如表2所示,SVM、KNN在训练时间上有比较大的优势,但是训练、预测准确率比较低,这是由于传统的特征提取算法对于图像深度信息提取不足导致的。DNN、CNN方法相对于SVM、KNN在训练、预测准确率上有较大的提升,主要是由于DNN、CNN深度模型自动提取图像深度信息要优于传统的图像提取特征的方法,但是这类方法对数据量的依赖极大。本文实验均在微量数据下进行,相比DNN、CNN方法,本文提出的MTL方法的训练准确率、预测准确率明显提高。相比其他4种方法,MTL在训练准确率、预测准确率上有明显的优势,训练准确率达到99.02%,测试准确率达到96.83%,本方法训练的时间是3744 s,在模型训练上要比其他方法略长,但是这个问题完全可以通过线下训练来解决。总而言之,通过比较,本文使用的MTL方法能够较好地解决在微量数据下的交通标志识别,MTL的预测精度要远远高于DNN、CNN,表明从ImageNet 数据集上预训练好的 Inceptionv3模型进行特征迁移有更好的泛化能力。

表2 几种交通标志识别方法的性能参数比较

3.3.3 训练的损失函数

图8为DNN、CNN、MTL训练的损失函数(loss)和预测准确率(accuracy)。显而易见,在微量数据下,DNN、CNN模型loss函数从下降到收敛所用的epoch明显要多于本文的MTL模型,学习能力明显要弱于MTL方法。综上对比,说明基于迁移学习的交通标志识别方法具有较强的学习能力。

图8 训练损失函数变化对比

4 结束语

交通标志识别主要过程是图像特征提取和图像分类,而有效地提取图像特征是图像识别模型训练好坏的关键。对于微量数据下的交通标志识别问题,如何在数据有限的情况下充分提取数据深度抽象特征是极为重要的。本文算法成功地从ImageNet 数据集上将预训练好的 Inceptionv3模型进行特征迁移,使得模型的空间复杂度很好地满足于微量数据,使得训练好的迁移模型具有较强的学习能力和泛化能力。

猜你喜欢
交通标志卷积深度
基于双向特征融合的交通标志识别
基于3D-Winograd的快速卷积算法设计及FPGA实现
深度理解一元一次方程
卷积神经网络的分析与设计
从滤波器理解卷积
深度观察
深度观察
深度观察
基于傅里叶域卷积表示的目标跟踪算法
交通标志小课堂