时间:2022年01月11日 分类:经济论文 次数:
摘要:针对直接集成简单分类器对交通标志数据库进行识别出现的类别预测效果较差的问题,提出一种基于卷积神经网络(CNN)和Bagging集成学习的交通标志识别算法,采用爬虫和图像增强技术实现交通标志数据集的扩充,以CNN网络提取交通标志图像的特征,通过采用最大池化层实现图像数据下采样,采用较浅的网络深度以简化整体网络结构。在CNN网络特征提取的基础上,利用软投票机制对多项Logistic、近邻、SVM个体学习器进行集成,实现较准确的交通标志识别。实验结果表明,该算法在TSRD交通标志识别数据库测试集上的识别准确率达到了93.00%,相对于未改进的卷积神经网络模型识别的精度提高了11.99%,并较高于通过VGG16和ResNet50迁移学习实现的识别精度,具有较快的收敛速度。
关键词:图像增强;卷积神经网络;迁移学习;集成学习;交通标志识别
近年来,自动驾驶领域的研究迅速发展,交通标志识别作为智能交通系统的重要研究方向之一,准确的识别交通标志对于自动驾驶的安全性至关重要,对交通标志进行特征提取并通过分类器识别可以进一步提高行车安全,交通标志早期的主要识别方法有模板匹配法,Alam等[1]通过传统的模板匹配法简单快速实现交通标志识别,通过模板在图像像素点上进行搜索匹配,基于机器学习的方法在图像识别领域也取得了重大进展。
主要采用人工进行特征提取和机器学习相结合的方法,交通标志特征主要有SIFT(scaleinvariantfeaturetransform)、HOG(histogramoforientedgradient)、LBP(localbinarypatterns)等[2],人工实现特征提取用于去除无用信息,并将这些特征输入分类器进行识别,如支持向量机、近邻(KNearestNeighbor)、随机森林、Adaboost(adaptiveboosting)等[36]基于机器学习的算法,韩习习等[7]提出了一种多特征融合并利用支持向量机分类的方法,Da等[8]的随机森林法,Xu等[9]的Adaboost方法均取得了较好的识别效果,但都需一定的经验知识。
由于深度学习无需较多的人工处理,网络提取的深度特征可以更全面适应于交通标志,识别准确率高,近些年在目标分割、目标检测、目标分类[1013]等领域发展较为迅速,Li等[14]利用了一种多层特征融合的方法,将全局特征和局部特征进行了融合,以此改进Lenet网络,准确率相比未改进Lenet提高了3.03%。
Stalkamp等[15]在德国交通标志数据库GTSRB(GermanTrafficSignBenchmarks)中提出的卷积神经网络(CNN)较人眼识别率提高了0.24%;Zhang等[16]从预测精度和时间出发,提出了轻量级深度学习模型教师网络和学生网络,且可应用于移动嵌入式设备;Zhou等[17]在GTSRB数据集上,在卷积层后增加池化和Dropout机制以改善单个VGG模型;He等[18]提出ResNet模型以用于解决模型训练过程中随着网络层数的加深导致的预测效果退化的现象。
邓文轩等[19]引入注意力机制提出图像分类降维的方法;Serna等[20]汇总了欧洲多国的交通标志数据集,在此数据集的基础上比较了LeNet、IDSIA、URV等种卷积神经网络架构的分类性能;Xu等[21]用直方图均衡化方法增强图像细节,并利用卷积神经网络实现交通标志识别;Sapijaszko等[22]利用DWT和DCT两种变换实现特征提取,利用多层感知机在TSRD(TrafficSignRecogntionDatabase)数据集上的最优准确率达到了94.90%。
公开模型是通过大量实验所得到的,对数据进行特征提取进而完成相应的任务,目前单个模型的预测已较为成熟,对模型集成的方法还有待进一步深入。 集成学习可以实现分类器结合,从而提升分类效果,主要存在串行和并行集成两类,串行的代表算法是Boosting系列算法,并行的主要代表是Bagging和随机森林(RandomForest),都具有较好的数据适应性。
邝先验等[23]基于Adaboost算法实现混合交通道路上车辆的识别;Tong等[24]采取的CNNSVM方法速度快,准确率较高;张功国等[25]利用SVM分类器代替Softmax,将改进的卷积神经网络与SVM分类器集成,实现单幅交通标志测试时间仅1.32ms;屈治华等[26]利用CapsNet作为基分类器构建Bagging集成框架,以提升算法的整体预测精度;Sanga等[27]对目前存在的主要方法进行了总结,并指出还存在更多模型方法可进行实验尝试,在部分小批量数据集上迁移学习的效果并不比其它模型的效果更好;为进一步改善类别预测精度,通过改进的卷积神经网络应用于交通标志特征提取,利用Bagging集成分类器实现交通标志分类,得到一个用于道路交通标志识别较新的参考方案。
改进卷积神经网络卷积神经网络是通过模拟生物神经系统进行特殊设计的一种网络模型,主要包含输入层、卷积层、池化层、全连接层以及输出层,在图像特征提取过程中不需要人工思考具体特征,可直接用于二维图像的处理,可作用于原始的输入数据如图像的像素值。
卷积神经网络与其他神经网络最大的区别是在整个网络结构中引入了卷积层,可以作为中间隐层的特征输入,在图像分类问题中,输入主要一般是图像尺寸和通道数的乘积,输出层神经元的节点个数是根据具体任务所设计的,输出层可以是单个或多个分类器的集成。
在机器学习领域,大部分任务都存在一定的相关性,因此通过某种方式将已有模型的参数载入新模型,优化模型的学习效率,实现相应的项目需求存在一定的参考价值。在交通标志识别任务中,考虑加载大型数据集ImageNet上训练好的特征参数,将已有的参数作为初始训练权重,并将图像数据归一化至的范围内,消除部分样本数据的影响,进而训练整个模型,实现交通标志识别领域的迁移学习。
本文采用Vgg16和ResNet50进行迁移学习对比。为准确估计交通标志的类别,通过将浅层网络处采用层卷积层,通过最大池化进行下采样,添加Dropout随机失活某些神经元节点,以改进最早提出的卷积神经网络Lenet模型,为寻求应用于中小型数据集较好的网络模型,改进的网络模型设计共包含层卷积层、层最大池化层、层flatten展平层、层全连接层、层Softmax分类层,采用交叉熵损失函数和Adam优化器用于模型训练,为实现不同分类器的分类效果对比测试,可提取全连接层的特征用于其他分类器的测试,提出的卷积神经网络结构如图所示。
2Bagging模型融合
2.1集成学习
集成学习就是通过某种策略结合多个个体学习器提高整体的泛化性能以完成学习任务,在机器学习分类任务中,常用的集成学习方法主要有串行和并行两种方式,目前较流行的集成方法有Boosting、Bagging、Stacking等,串行的Boosting提升算法主要有通过更改每一次迭代过程中实例的权重实现更好的拟合,和使用新的分类器去拟合之前分类器预测残差的方法两类;由于在测试过程中多数模型过拟合,为降低数据噪声的影响,本文采用的是一种装袋法(Bagging),即在CNN网络提取的特征条件下,采用软投票的机制,将分类器估算的类别概率在所有的单个分类器上求平均得出概率最高的类别,以聚合不同的分类器进行类别预测。
集成学习的预测结果一般要优于单个预测器,常用的集成方式是训练一组单个的决策树分类器并通过投票机制得到最终预测结果。集成的个体分类器可以是同种类型的,也可以集成不同类型的学习器,为进一步探索有效方案,设计一种异质集成的方法,训练集的样本采取交通标志的图像数据,每轮利用有放回抽样方式从样本中选取数据,分别对单个分类器进行训练,且采用并行的集成方式实现最终的类别概率预测。
Bagging集成用于不同种类的分类器上,利用有样本放回的采样方式对样本特征数据实现多次采样,通过模型的聚合以降低单个分类器较高的方差,以获得比单个的分类器更好的类别预测性能。
2.2多项Logistic回归
Logistic回归模型在二分类及多分类问题上目前已经得到了十分广泛的应用,具有计算速度快,实现简单,稳健性良好的特点,对数据的条件要求较低,但较容易欠拟合,该模型主要是利用最大似然估计法对模型参数进行估计,通过修改Logistic的损失函数以得到Logistic回归的多分类版本。
2.3基于CNN和Bagging集成
本文提出一种基于CNN网络和Bagging模型融合的交通标志识别算法。该算法面向实际工程应用,通过尽量减少神经网络中卷积层的数量以提高运行的速度,利用CNN网络提取特征,构建基于Bagging的集成学习模型,所有进行实验的模型均采用交叉熵函数作为损失函数。
在经过预处理的交通标志图像数据集上,通过卷积神经网络提取特征,以Bagging的方式集成多项Logistic、近邻和SVM分类器实现对交通标志的识别,利用不同分类模型各自的优势,对多个分类器实现投票表决,保存各模型的参数和预测结果,实现对模型的效果评估,实验表明利用提取的特征来进行多模型集成分类时在验证集和测试集上有较好的效果,其中交通标志识别算法的流程见图所示。
3实验结果与分析
3.1数据分析
本文采用公开的国内交通标志数据库CTSD(ChineseTrafficSignDatabase)中的用于交通标志识别的数据集TSRD(TrafficSignRecogntionDatabase),该数据库一共包含6164幅交通标志图像,训练数据库包含4170张不同种类的交通标志图像,测试集交通标志图像共1994张,该数据集主要由警告标志、指示标志及禁令标志组成,各标志的尺寸大小不一致,数据库中的所有图像都标注了符号和类别信息,利用Python随机选取数据库中的24张图像。
3.2图像预处理
由于交通标志的类别数不均衡,测试集中部分类别的交通标志数据集样本较少,为获取更多的图像数据,防止模型过拟合,通过网络爬虫技术爬取对应数量较少的交通标志以实现数据集的扩充,首先设置初始URL(UniformResourceLocator),并修改请求的headers伪装成浏览器访问,正则解析以匹配图像的具体内容,利用Requests模块获取图像保存至文件夹,最终通过人工的方式筛选所需图像,爬取网络交通标志图像的流程。
在尝试了使用图像增强如图像偏移、随机缩放图像范围、设置剪切角、随机旋转操作对训练集进行扩充之后,将其应用在模型训练过程中反而出现了预测效果变差的现象,为了不丢失图像的颜色信息,以及防止翻转图像产生一些不必要的错误信息,主要对图像进行缩放变换以进一步扩充数据集,实现交通标志图像数据集的增强,以改善图像的样本多样性,同时经过数据集归一化处理可以适应于神经网络的训练,通过Python语言随机选取一些图像进行展示。
在进行迁移学习时需适当调节输入特征的尺寸以满足模型训练的条件,根据keras官方网站上的说明,VGG16和ResNet50模型的图像输入尺寸不小于32×32,为保证公平性,将所有模型的输入图像大小设置为32×32,实验时将图像的尺寸缩放为迁移学习模型的网络输入标准尺寸,在数据输入之前,还需要对图像数据进行归一化处理,将所有的像素值缩放到同一个尺度,以使图像在经过相同参数的归一化处理后变为相同形式标准图像,卷积神经网络得以提取更加稳定的图像特征。
总之,通过网络爬虫对不均匀的TSRD数据集进行扩充,主要爬取部分数量特别少的标志类别,然后调用keras.preprocessing.image模块中的ImageDataGenerator类,以图像缩放变换为主要方法实现数据集的进一步扩充,防止模型训练可能产生的拟合不足现象。
3.3模型训练
本实验使用基于Python语言的Keras深度学习框架,硬件环境CPU为Intel(R)Core(TM)i59400F@2.90GHz,GPU为NVIDIAGeForceGTX1050Ti显卡,操作系统为Windows10,Python版本为3.8.3,利用Pycharm集成开发环境进行编译,实验结果曲线采用matplotlib模块可视化。
为了减小网络训练所用时间,将CNN的图像输入尺寸大小利用resize函数统一为32×32×3的RGB(RedGreenBlue)三通道彩色图像,用卷积层提取特征作为基分类器的输入,通过调用机器学习库中的sklearn模块对数据集划分,在扩充的训练集上将80%的数据集用于模型训练,20%作为验证。为保障训练的模型性能,数据划分过程中将数据集随机打乱,其中特征数据的数据结构为数组形式,同时将标签进行OneHot编码以适应模型训练结构。
4结论与展望
交通标志的识别准确率受到多种因素的影响,不同的交通标志数据集对模型训练的效果存在较大的影响,为进一步提升识别准确率,防止模型过拟合,利用网络爬虫和图像增强方式对原始数据集进行扩充,通过添加Dropout层随机失活部分神经元,使用Relu激活函数代替Sigmoid以解决可能的梯度消失问题,减小整个模型的计算量,本文利用改进卷积神经网络的方法实现高质量图像特征自动提取,并通过Bagging模型融合对公开的交通标志数据库进行分类识别,以便为自动驾驶交通标志识别提供一定的可参考方案。
在Win10环境下实验发现,与经典的神经网络相比,改进的方法在交通标志识别数据库上取得了较好的效果,测试集准确率达到了93.00%,相对于未改进的卷积模型提升了11.99%,说明改进的方法有助于进一步提升类别的识别准确率。由于交通标志数据库中一些图片存在雨雾等自然天气及其它意外损坏的情况,在训练时未对特定的图像进行去雾等预处理操作,采取的是较为原始的图像数据,故对预测精度存在一定的影响,后续将考虑进一步加强前期数据预处理的工作。国内外学者在实时交通图像方面的研究较少,对于如何实现快速的定位和实时的分类以实现自动驾驶的需求还存在一定的挑战,研究的方法种类众多,在实时道路的环境中实现快速分类任务也是未来重要考虑的一个方向之一。
参考文献:
[1]AlAMA,JAFFERZA.Indiantrafficsigndetectionandrecognition[J].InternationalJournalofIntelligentTransportationSystemsResearch,2020,18(1):98112.DOI:10.1007/s13177019001781.
[2]刘亚辰.交通标志识别系统算法研究与设计[D].武汉:武汉理工大学,2017.
[3]ARDIANTOS,CHEN,HANG.RealtimetrafficsignrecognitionusingcolorsegmentationandSVM[C]//2017InternationalConferenceonSystems,SignalsandImageProcessing(IWSSIP).IEEE,2017:15.DOI:10.1109/IWSSIP.2017.7965570.
[4]宗鸣龚永红文国秋等基于稀疏学习的KNN分类[J].广西师范大学学报自然科学版),2016,34(3):3945.DOI:10.16088/j.issn.10016600.2016.03.006.
作者:田晟,宋霖