基于深度网络的车辆前后端图像识别方法研究

2019-07-16 03:17菅博瑞王怡素
电脑知识与技术 2019年14期
关键词:图像识别深度学习

菅博瑞 王怡素

摘要:针对智能交通车辆图像特征识别问题,本文对深度网络和车辆图像特征提取方法进行研究,构建一种车辆特征检测网络结构。实验表明通过对车辆图像变换拉伸等数据增强操作,并在结构中引入随机清零,在保证识别率的前提下有效抑制了模型过拟合现象。最后运用特征提取结合自己设计的分类层训练出模型,该模型对车辆前后端图像特征有较高的识别率。

关键词:深度学习;数据增强;图像识别;过拟合

中图分类号:TP31     文献标识码:A    文章编号:1009-3044(2019)14-0147-04

1 引言

随着智慧城市、物联网前沿技术的迅速发展,智能时代已经到来,车辆图像识别和特征检测成为智能交通的热点问题[1]。新风潮下,图像识别技术在车辆违章监管应用中显得愈发常见。在传统的交通监督机制中,仅依靠警力监管车辆违章行为,浪费了人力资源的同时也不能保证实时监督,在一定程度上存在较大的弊端。为了改善交通道路车辆运行效率,完善自动化管理,对车辆图像识别方法的研究显得日益迫切。该技术在交通监管、治安巡防、嫌疑车辆跟踪等领域有着重要应用,在实时性和准确性方面要求极高[2]。车辆违章逆行现象常发生在单向行驶道路,对往来行人和车辆造成了很大的安全隐患,大大降低了道路交通的运行效率。基于图像处理的违章逆行识别技术能够及时检测并识别违章逆行,保障了行人和车辆的交通安全。利用传统抓拍监控融合深度网络模型,对车辆前后端进行识别检测来判断其是否处于逆行状态,在此基础上结合图像处理技术进行牌照字符识别[3],能够节省警力和硬件资源。

目前国内外对该方法的研究大致分为3个方向,其中基于外观特征的车辆图像识别技术主要通过目标检测、车辆分割、车辆的特征提取以及分类这几个主要步骤来完成。传统识别图像的方法包括统计模式识别[4]、支持向量机[5]、模板匹配[6]技术以及新兴的神经网络[7],早期特征提取是人工设计的,存在识别准确率低和检测速度慢等缺陷。

目前,深度网络学习算法在图像分类和目标物检测识别等方面取得了很好的效果,可以使用训练数据来适应不同的网络构建特征[8]。卷积运算能够自动提取并学习车辆图像特征,而且权值共享等算法的创新使得网络结构参数数量级骤减[9],增强了网络泛化能力。针对上述问题,本文通过研究基于深度学习的图像识别方法,对车辆局部特征进行检测识别探讨。

2 深度卷积神经网络

2.1 神经网络原理

1)神经网络的构成依赖于神经元这一基本单元,神经元的基本模型用表达式表示为:

其中f()表示激活函数,本文使用的激活函数为relu和sigmoid,后者是一种挤压函数,它可以把很大的值域范围压缩为0~1之间,[yk]值的计算是由输入数据与其对应的权值进行线性计算并求和,结果加上偏置值[bk],然后通过激活函数f()计算获得。

2)网络模型在训练的过程中,就是利用梯度下降算法来对每层网络的权重参数进行重新調整的过程,通过把输出信号和期望信号得到误差进行比较,利用链式求导法则将误差逐层向前传播从而获取各层误差,其中调整各层权重以及相关参数的依据就是这些误差信号。输入层通常是不经过神经元进行计算的,因此输入层的输出与输入是相等的。而对于隐藏层和输出层的输出,需要结合与单元j相连的单元,单元j的输入计算表示为:

网络模型终止训练时的信号可以开发人员设定,也可以是网络收敛到一定的程度自己终止。选取终止信号的条件相当重要,如果是人为设定迭代次数,那么次数过多,网络模型可能会出现过度拟合问题,次数太少,网络训练时误差降低的程度会过低。

2.2 卷积神经网络在图像识别上的优势

近年来,随着计算机视觉领域的不断发展,深度学习技术日趋成熟,其中,卷积神经网络在图像识别中扮演着非常重要的角色,提高了运算效率并且实现了对图像高精度的识别。

1)降低了网络总参数量的数量级

卷积实际上就是使用两个大小不同的矩阵进行的一种数学运算,并且较于传统神经网络,卷积层使用局部连接和权值共享方法大大减少了网络总参数量的数量级,能更好地抽取出车辆的局部特征和边缘信息。

2)图像视觉上拥有良好不变性规则

本文用于实验研究拍摄的图像数据集有限,需要进行旋转平移、参数缩放等图像变化进行数据集扩充,而且图像受相机拍摄的角度、距离、天气环境、光照等因素的影响较大。卷积神经网络能较好避免因为车辆外观变形带来的不利影响,即待辨识的物体在图像中的形状、姿势、位置、明暗度都不会影响分类结果。

3)多通道卷积

多通道卷积层允许网络输入原始彩色图像,较于灰度图,最大程度上保留了图像的特征,能够有效地利用图像颜色信息。

3 深度学习算法对车辆前后端图像识别

3.1车辆图像数据加工预处理

本文采用的车辆图像数据均来自移动端设备拍摄采集的,大部分是晴天拍摄,少量图像是雨雪天拍摄的。首先就是把拍摄的图片进行分类,分别存放到三个文件夹中,训练路径、校验路径、测试路径,其中每个文件夹中又分成两个子文件,分别为behind和front,用来存放车的后端和前端图像,在一定图像数量基础上进行模型的训练和测试。由于数据集中的原始数据并没有按照规格大小统一处理,对于不同的图片,其规格尺寸都不尽相同,因此数据在输入网络之前需要对数据集进行处理,把数据集剪裁成既定的尺寸,由于硬件设备算力有限,这里在保证车辆图像不失真的情况下把图像剪裁为150*150像素的,然后输入网络中对模型进行训练。

3.2网络结构设计

本文构建网络结构使用的深度学习框架是keras,网络的输入层用来接收图像的三维矩阵数据,网络结构最后是分类层,对车辆前后端进行分类。文中使用的彩色图像决定了矩阵是三维的,因此网络结构需要使用三通道卷积核。文中网络1结构的构建共有10层,具有四个卷积运算层、四个池化操作层和两个全连接层,卷积层和池化层的结合方式是相互交替进行的,文中数据像素点具有三个分量,数据形式为150*150*3。在四个卷积层中,卷积核形式为3*3*3,在进行卷积运算时,卷积核移动步长为1,运算结束后,输出的特征图通道数与上一层卷积核的数量一致。在该网络结构中,卷积运算输出的特征图传入到池化层进行特征的强化,提取的特征图经过最后一层池化层下采样,得到形式为128*7*7的特征图,最有用flatten层把特征图转化为一维矩阵,作为从卷积层到全连接层的过渡,本文的网络结构参数设置如下:

通过分析网络层的卷积核数量和大小,以及输入网络的图像大小可以粗略了解网络中的参数数量级,激活函数层和池化层是没有参数的,不需要学习,它们只是提供了一种非线性的变换。视觉类网络组件中带参数的层主要有卷积层和全连接层,而且粗略估计参数量时一般不考虑偏执项的参数量,因为不会影响总参数量的数量级。

文中池化层主要是对卷积层的卷积结果进行下采样操作,作用是降低纬度并保留有效信息,缓解过拟合现象。文中采用的采样策略是最大值区域采样,由于网络需要对车辆图像进行二分类,所以最后一层只有一个神经元,最后文中通过全连接层把以前的局部特征重新通过权值矩阵组装成完整的图。

3.3 图像批量输入和像素规格化处理

对图像进行规格化处理就是把像素点的值除以255,使之在0到1之间,然后指定图像数据集路径,批量读入图像。网络结构中参数batch_size=20,分批次往内存输入图片,每次读取20张,keras框架中封装了批量读取图像的类Generator,然后结合循环语句读取。因为数据集中只包含车辆前后端两类,本文使用参数class_mode为读取的图像分别赋值为0和1,用来作为模型训练时的标签值,对训练集中每张图像进行标注,是模型学习提取车辆特征的重要环节。文中用来实验的数据共有1000张图像,由于在构造网络时batch_size=20,因此参数steps_per_epoch的值设置为50,保证1000张图像全部输入到网络中。

3.4 特征图可视化

这里通过对卷积层和池化层的输出特征图进行可视化,来展示卷积神经网络连续的层是如何对输入的图像数据进行特征提取的。本文用视觉化的方式展示部分网络层抽取图片信息的方式,图1表明,随着层数的加深,特征层变得越来越抽象,难以用视觉信息进行直观解释,但是可以明显感受到特征图确实已经开始在表征高层次的视觉概念,提取的特征越来越抽象。

4实验研究

为了评估优化后的深度卷积网络模型对车辆前后端识别的准确率,在数据集上进行研究分析,实验测试如下。

4.1 实验环境

目前可供选择深度学习框架环境有Keras、Caffe和Tensorflow等。选择Keras框架环境是因为Keras比较适合在初期学习探索深度学习阶段快速地尝试各种网络结构,框架中组件是可插拔的模块,可以很方便的將卷积层、激活函数等衔接起来。实验环境如表2所示。

实验初期,本文首先构造了一个能初步判别车辆前后端的网络模型,该深度网络结构目前没有使用任何优化方法,但图2表明,模型在训练数据和验证数据上的平均识别率能达到90%以上,第一张图表明模型对训练集的识别率在不断提升,不过用验证数据进行测试网络模型时,迭代次数过少会出现准确率变化浮动剧烈的现象,迭代次数在22以后,识别率开始稳定。第二张图表明,模型在训练集上的表现良好,损失值呈下降趋势且维持在较低水平,但是模型在验证集上的损失值在迭代次数为20时反而开始明显上升,表明模型出现了一定程度过拟合现象,这种情况下如果只是加大模型的训练强度,过拟合现象并不能有效解决。人工智能是依靠于大数据的基础上,才能从图像中抽取广泛而通用的特征规律,因此该模型训练受到一个严重的制约因素,那就是数据量过少带来的问题。

4.2 数据增强和随机清零缓解过拟合

1)对于解决过拟合的办法就是提供大量数据集,让模型在更可能多的数据上进行拟合,不断修正权重参数,然而收集无限多数据是不现实的,因此本文通过数据增强的方法调整已有的数据,通过添加噪声和锐化、旋转、拉伸、压缩、明暗度调整等方法扩充车辆图像数量。

2)文中引入随机清零,即使用Dropout在网络结构中,这是一种有效缓解过拟合现象的方法,这样在训练模型时每次按50%的几率关闭或者忽略某些层的神经元节点,使得模型在使用同样的数据进行训练时相当于从不同的结构中随机选择一个进行训练。

图4表明,图像的变换和随机清零这两种操作可以对过拟合产生很好的抑制作用。模型在训练和校验集上对车辆前后端识别正确率逐渐上升,且平均识别率能达到85%以上,第二张图反映了模型在数据集上的损失表现,两种损失变化趋势基本处于同步状态,说明过拟合现象得到了缓解,但是文中使用的数据增强变换后的图像与原图像相关性太强,本质上网络获取到的有效信息不多,因此网络2识别效果改进不明显,尤其是在识别准确率上,虽然也能接近90%,但是较于网络1反而有所下降。

4.3 用Finetuning微调复用VGG网络提升模型识别准确率

在深度网络结构中,随着层数加深,网络对车辆图像的特征提取粒度会变得越来越细。一般深度学习模型的最后几层是全连接层,用来对图像进行分类,因此可以将其替换成本文所需要的结构对车辆前后端进行分类识别。卷积神经网络前几层学到的是通用特征,后面几层学到的是与类别相关的特征,而具体分类的特征层放在最后。

本文首先对VGG模型进行修改,该模型最初是用来对上千个类别进行判定识别的,这里是需要对车辆前后端图像进行识别,本文在VGG模型基础上添加一层连接层,然后对输出通道参数重新设置为1,接着通过Finetuning对深度模型的权重参数进行重新训练调整。VGG模型训练集规模远大于文中提供的数据量,所以原始网络层权重参数需保持不变,这里通过设置trainable参数保证部分网络层参数在训练过程中保持原始值。

模型重新训练完成后,存储下来用于观察在验证集上的表现。这里存储的模型是进行Finetuning后训练的模型,用验证集判定后其平均识别准确率可以达到93.13%,并且第二张图表明,模型在训练集与验证集上的损失值变化规律高度吻合,很好地缓解了过拟合现象。

通过对表3分析得出,在不产生过拟合的情况下,网络3识别准确率较网络1提升了近7个百分点,较网络2提升了近11个百分点。

5 结束语

本文对车辆前后端图像分类识别方法进行分析研究,针对传统图像识别方法提取低像素图像特征复杂的问题,利用Keras深度学习框架构造了一个基于深度卷积神经网络的图像识别模型,通过Finetuning复用VGG部分卷积层的基础上结合本文构造的分类层,重新训练存储一个深度网络模型。该模型在有效抑制过拟合现象的基础上,有效提高了模型在测试集上的识别准确率,对该方法的研究在车辆违章逆行监管方面,有一定的应用和理论参考价值。

参考文献:

[1] 张若伟,王猛.基于多特征的车辆检测方法的研究[J].电脑知识与技术,2018(7).

[2] 赵振东. 基于图像处理的车辆违章逆行识别.Internet Security,2018.

[3] 宋驰, 沈国江, 杨永耀等.车牌自动识别技术概述[A].第七届中国智能交通年会优秀论文集——智能交通应用[C].2012.

[4] 张旭东,钱玮,高隽,等.基于稀疏贝叶斯分类器的汽车车型识别[J].小型微型计算机系统,2005(8).

[5] 陈爱斌.基于支持向量机的车型识别[D].湖南:中南大学,2004.

[6] Wei W, Zhang Q, Wang M. A Method of Vehicle Classification using Models and Neural Networks[C]// Vehicular Technology Conference. IEEE, 2001.

[7] 袁公萍,汤一平.基于深度卷积神经网络的车型识别方法[J].浙江大学学报,2018(7).

[8] 石磊,王亚敏,曹仰杰等.基于深度卷积神经网络的车型识别[J].计算机科学,2018(13).

[9] 卢雅文.基于人工神经网络的图像识别[J].电子技术与软件工程,2016(12):103.

【通联编辑:梁书】

猜你喜欢
图像识别深度学习
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
浅谈模式识别在图像识别中的应用
有体验的学习才是有意义的学习
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于多组合内容的图像识别机制