深雪识别实例

基于深度学习的交通标志分类

摘要:针对解决图片分类所选表现更好的卷积神经网络的种类这一问题,本文用深度学习比较流行的框架之一Keras通过搭建一个基于LeNet图片分类器的通用框架更好地完成交通标志的分类识别任务。该方法首先在卷积神经网络的LeNet模型的基础上进行有无droupout技术的添加。然后用数据增广技术对数据集图像进行随机旋转、移动、翻转和Adam优化器类别交叉熵多分类。最后根据训练得到的模型来编写一个可执行脚本进行预测随机抽取的交通标志的图片。本次预测结果与常用的深度学习其他框架搭建的分类相比,该方法特别是在加上droupout技术后不仅有效地提高了分类精度和识别效率,而且具有良好的泛化能力。
关键词:深度学习;卷积神经网络;数据增广;droupout技术

1 引言
目前智能汽车的发展,道路交通标志的自动识别[1-3]作为智能汽车的基本技术之一,它成功完成交通标志的分类任务。在汽车运行过程中,交通标志识别往往是在复杂的室外交通环境下进行的,比一般静止的事物识别更难,主要体现在:复杂多变的光照条件;背景环境干扰;交通标志遮挡;交通标志位置,交通标志的定位、交通标志的特征提取和分类。目前已经有很多传统分类器,大多数都采用人工智能技术,主要有下述两类形式[4]。一种是采用“人工特征+机器学习”的识别方法,包括支持向量机,贝叶斯分类器、随机森林分类器等被用于交通标志识别。另一种形式是近几年发展起来的深度学习模型[5]。
 本文将卷积神经网络应用于道路交通标志的分类识别,通过构建两个卷积层和池化层和隐藏层交替处理组成的6层网络来逐层地提取交通标志图像的特征,所形成的特征矢量由一个全连接输出层来实现特征的分类和识别。实验结果表明,本文所采用的方法具有良好的识别率和鲁棒性。
 1 卷积神经网络
1.1深度学习
卷积神经网络作为深度学习模型之一来模仿人脑感知视觉信号的逐层处理机制,以实现视觉特征信号的自动提取与识别。神经科学研究表明,哺乳动物大脑皮层对信号的处理没有一个显示的过程[5],而是通过信号在大脑皮层复杂的层次结构中的递进传播,逐层地对信号进行提取和表述,最终达到感知世界的目的。深度学习[4,6-7]的目的就是试图模仿人脑感知视觉信号的机制,通过构建含有多个隐层的多层网络来逐层地对信号特征进行新的提取和空间变换,以自动学习到更加有效的特征表述,最终实现视觉功能。dropout技术是深度学习模型中防止过拟合的一种正则化方法,主要在模型输入层和隐藏层加入此技术,以提高识别率。在输入层和第一个隐藏层之间加入Dropout。丢弃率设为20%,就是说每轮迭代每五个输入值时就会被随机抛弃一个。通常丢弃率控制在20%~50%比较好,从20%开始尝试。如果比例太低则起不到效果,比例太高则会导致模型的欠学习。在构建模型层的时候,权重范数的最大值不超过3,可以通过设置Dense Class的W_constraint参数实现。学习率(lr)提高了一个数量级(把学习率扩大10100倍)冲量(momentum)增加到0.9。(冲量值调高到0.90.99.)在隐藏层使用Dropout用于两个隐藏层之间和隐藏层与输出层之间。丢弃率设为20%,且使用权重限制。
 1.2 卷积神经网络的基本结构及原理
卷积神经网络受视觉系统的结构启发而产生,第一个卷积神经网络计算模型是在Fukushima的神经认知机中提出的[8],基于神经元之间的局部连接和分层组织图像转换,后来LeCun等人在该思想的基础上,用误差梯度设计并训练卷积神经网络[9],在一些模式识别任务上得到优越的性能。如下图1所示经典的卷积神经网络结构

图1 卷积神经网络结构
常见的卷积神经网络模型有卷积神经网络本质上是一种有监督的深度学习算法,无事先知道输入与输出之间精确的数学表达式,只要用已知模式对卷积神经网络加以训练,就可以学习到输入与输出之间的一种多层的非线性关系。卷积神经网络的基本结构是由一系列的卷积和池化层以及一个全连接的输出层组成,可以采用梯度下降法极小化误差函数对网络中的权值和阈值参数逐层反向调节,以得到网络权值和阈值的最优解,通过增加迭代次数来提高网络训练的精度。
1.3卷积神经网络的训练
CNN的训练过程主要采用的是反向传播算法,首先输入数据,进行前向计算,然后再反向计算误差,并对误差求各个权值和偏置的偏导数,依靠这个偏导数调整各个权值和偏差。在开始训练前,所有的权值都应该用不同的随机数进行初始化。
  2 卷积神经网络的交通标志识别方法
  2.1 应用原理
        交通标志是一种人为设计的具有特殊颜色(如红、黄、白、蓝、黑等)和特殊形状或图形的公共标志。不同类型的交通标志在形状或图形上有较大的差异;属于相同类型的标志中同类的指示信息标志在形状或图形上比较接近,如警告标志中的平面交叉路口标志等。因此,从机器视觉的角度来分析,同类型中同类指示信息的标志之间会比不同类型的标志之间更易引起识别错误。因此,在应用卷积神经网络识别交通标志时,从提高算法效率和降低错误率综合考虑,将交通标志作二值化处理后作为卷积神经网络的输入图像信息。
 2.2 交通标志分类预测的步骤
        卷积神经网络识别交通标志主要包括训练与识别,所以将交通标志识别归纳为以下4个步骤:
(1)网络权值和阈值的初始化:利用随机分布函数权重值W初始化为-1~1之间的随机数;而将偏移量b初始化为0。没有加入droupout技术前的卷积神经网络计算公式为:

加入droupout技术前的卷积神经网络计算公式为:

上面公式中的Bernoulli函数表示生成的概率r向量。
        (2) 图像预处理:在这里使用了Adam优化器,由于这个任务是一个多分类问题,可以使用类别交叉熵。但如果执行的分类任务仅有两类,那损失函数应更换为二进制交叉熵损失函数使用数据增广技术对数据集图像进行随机旋转、移动、翻转、剪切等以加强模型的泛化能力。
        (3) 网络的训练:利用经过预处理的交通标志图像构成训练集,对卷积神经网络进行训练,通过网络前向传播和反向传播的反复交替处理,直到满足识别收敛条件或达到要求的训练次数为止。图片归一化尺寸为32,batch_size为32,epoches为20)。
     (4) 交通标志的识别:将实际采集的交通标志图像经过预处理后,送入训练好的卷积神经网络中进行交通标志特征的提取,然后通过一个全连接的网络进行特征分类与识别,得到识别结果。已经得到训练好的traffic_sign.model,然后编写一个专门用于预测的脚本predict.py。其流程图如图3所示:

图2 预测思路图
3 实验与分析
实验硬件平台为联想台式机,CPU主频3.7GHz,内存16GB,win10操作系统软件平台为matlabR2014b,Python 3.6,Keras2.2.2,TesnsorFlow后端。
3.1 数据准备
下载 BelgiumTS for Classification (cropped images) 目录下BelgiumTSC_Training(171.3MBytes)BelgiumTSC_Testing(76.5MBytes)这两种数据集的图片格式是ppm,用opencv将这些图片转换为png格式,以便直观地观看数据图片。这个交通标志的数据集已经分出训练集和数据集。每一类的标志图片数量在十来张到数十张,是一个小数据集,总的类别是62。

3.2 预测结果
根据编写好的脚本加入droupout技术的丢弃率为20%后进行预测,预测结果随机抽取10张准确率达85.83%,如下图3所示:
Test loss: 1.5634988025653898
Test accuracy:0.8583333333333333

图3 训练集和验证集的loss曲线图
训练集和验证集的accuracy曲线图如下图4所示:

图4 训练集和验证集acc曲线图
去掉droupout后预测结果随机抽取10张准确率为74.53%,如下图5所示:
Test loss: 1.5634988025653898
Test accuracy:0.7453333333333333

训练集和验证集的loss曲线图如图5所示:

图5 训练集和验证集loss曲线图
训练集和验证集的accuracy曲线图如下图6所示:

图6 训练集和验证集acc曲线图
根据上面对数据集的训练验证可以得出
(1) 在卷积神经网络的训练学习过程中,体现出卷积神经网络的训练学习具有良好的收敛性。
(2) 经逐层卷积和池采样所提取的特征具有比例缩放和旋转不变性,加入droupout技术后识别率提高了15%。
 (3) 与传统的BP网络识别方法[11]相比较,卷积神经网络能够达到更深的学习深度,即在交通标志识别时能够得到更高的所属类别概率,识别效果更好。
(4) 卷积神经网络对实际采集的交通标志图像的识别率尚不能达到令人满意的结果,主要原因是实际道路中采集的交通标志图像中存在着较严重的背景干扰,解决的办法是增加实际采集的交通标志训练样本数,通过网络的深度学习,提高网络的识别率和鲁棒性。
  4 结 论
本实验用深度学习比较流行的一个框架Keras搭建一个基于LeNet的图片分类器的通用框架,利用卷积神经网络自动地提取交通标志图像的视觉特征并进行分类识别取得了良好的识别效果。在搭建现有的模型中也存在一些需要改进的地方。首先是图片归一化的尺寸选择是否合适?例如在本例分类任务中,图片归一化为32,可能这个尺寸有点小,如果把尺寸改为64或128甚至更大一点的尺寸,也许训练效果会更好;其次可以尝试搭建更深的卷积神经网络,像VGG,Goog LeNet等;再者就是数据增强这部分还可以考虑再做的更好些。

参考文献
 [1] 刘平华,李建民,胡晓林,等.动态场景下的交通标识检测与识别研究进展[J].中国图象图形学报,2013,18(5):493⁃503.
[2] SAHA S K, DULAL C M, BHUIYAN A A. Neural network based sign recognition [J]. International Journal of Computer Application, 2012, 50(10): 35⁃41.
[3] STALLKAMP J, SCHLIOSING M, SALMENA J, et al. Man vs. computer: benchmarking machine learning algorithms for traffic sign recognition [J]. Neural Network, 2012, 32(2): 323⁃332.
[4] 中国计算机学会.深度学习:推进人工智能梦想[EB/OL].[2013⁃06⁃10].http://www.ccg.org.cn.
[5] 郑胤,陈权崎,章毓晋.深度学习及其在目标和行为识别中的新进展[J].中国图象图形学报,2014,19(2):175⁃184.
[6] FUKUSHIMA K. Neocognition: a self⁃organizing neural network model for a mechanism of pattern recognition unaffected by shift in position [J]. Biological Cybernetics, 1980, 36(4):193⁃202.
[7] LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient⁃based learning applied to document recognition [J]. IEEE Journal and Magazines, 1989, 86(11): 2278⁃2324.
[8] CIRESAN D, MEIER U, MASCI J, et al. Multi⁃column deep neural network for traffic sign classification [J]. Neural Networks, 2012, 32(2): 333⁃338.
[9] NAGI J, DUCATELLE F, CARO D, et al. Max⁃pooling convolution neural network for vision⁃based hand gesture recognition [C]// 2011 IEEE International Conference on Signal and Image Processing Application. Kuala Lumpur: IEEE, 2011, 342⁃347.
[10] BUVRIE J. Notes on convolutional neural networks [EB/OL]. [2006⁃11⁃12]. http://cogprints.org/5869/.
[11] 杨斐,王坤明,马欣,等.应用BP神经网络分类器识别交通标志[J].计算机工程,2003,29(10):120⁃121.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值