APP下载

基于局部特征的卷积神经网络车灯识别

2022-03-07王陈甜张宁刘禹佳

关键词:准确率卷积神经网络

王陈甜,张宁,刘禹佳

(1.长春理工大学 光电工程学院,长春 130022;2.长春工程学院 电气与信息工程学院,长春 130012)

随着经济的发展,汽车总量和人均汽车保有量迅速增加,违法使用套牌车辆逃避交通管理和肇事逃逸车辆无法识清具体车型等交通问题频发,给车辆管控工作带来了严峻的形势,复杂环境下准确识别车型是重中之重。除此之外,随着视频监控高清化和道路监控的普及,海量视频数据需要挖掘图片深层信息,有效地提取有用信息,去除冗余信息,在节省数据储存空间的同时高效处理关键信息。

目前传统的车型识别方法是手工提取特征,在对特征选取和处理方面效率不高,人工选择特征鲁棒性较差、泛化能力较弱,难以满足人们对车辆识别的要求,在图像识别领域已经落后。在这种背景下,发展迅速的互联网技术与车辆模式识别方法开始逐步结合,卷积神经网络渐渐的灵活应用在道路管理上。

文献[1]针对于车前脸区域进行定位分析,提出了一种梯度方向直方图的识别算法,从各个子区域分类器分类,准确率达到了93.5%。文献[2]提出一种基于卷积神经网络(CNN)的车标识别方法,通过多层的特征学习,直接从训练样本中提取特征,平均准确率达到98.28%和低于每张3 ms的收敛速度,证明了该模型对于车标优化的特异性。利用HOG特征结合支持向量机的识别方法[3],将传统车牌识别准确率提高10%左右,车牌识别技术已经趋于成熟化、日常化。孙盛等人[4]以方向梯度直方图(HOG)为描述算子,表征车前灯区域的形状特征,利用支持向量机分类器,完成车辆品牌的分类。

汪子杰等人[5]首先引入卷积思想分类器进行分类,在车辆识别精度和速度上有很大提升。随后张洁等人[6]采用了交叉熵代价函数与损失函数结合,利用深度卷积神经网络和支持向量机分类,针对复杂背景下的车型细粒度识别有较好的效果。基于卷积神经网络的各层特征图,生成加权特征地图,可以实现细粒度的车辆分类。

蒋行国等人[7]提出一种改进的残差结构特征提取网络,对其结构进行加宽改进,结合使用基于可调类间距的度量学习方法(Large-Margin Softmax Loss)进行车型识别,加快整体网络的收敛速度。

对于图像分类任务来说,卷积神经网络通过卷积不同特征可以达到更好的学习效果。在卷积神经网络中最基础的就是AlexNet网络,并且广泛地应用在图像分类领域,比如遥感地图、表情识别、红外检测、星图识别、农作物疾病和医学图像检测等各个方面[8-14]。

本文以车灯为研究对象,截取车辆图片中车灯局部图像,以各方向单侧车灯图片为数据集,以便于全面采集车灯局部特征。通过对收集到的小样本数据集进行数据增强处理,增加该数据集数量的同时也可以减轻网络过拟合,提升泛化能力,避免因为原始数据量过小使得参数众多的卷积神经网络陷入过拟合中。最后,根据原始可视化图像对于网络结构进行改进,在卷积层上添加3×3,1×1层,增加可视化能力强的特征中间层,对全连接层进行参数优化,得出IM-AlexNet网络模型,完成对同一型号下车辆不同品牌的分类任务。

1 车型分类算法相关原理

卷积神经网络通过训练多层网络结构提取图像特征,最终获得了能够表征图像的高级语义特征。网络越靠近输出层,图像的特征表示就越抽象,高级语义特征就越丰富,就越能表现图像的本质,在图像分类任务中识别能力就越强。卷积神经网络有三个重要特征,权值共享和局部连接减少了网络参数量,下采样可以提升模型的鲁棒性。

8层神经网络的AlexNet网络中,包含5个卷积层(其中有3个卷积层后连接了最大池化层),3个全连接层(包含SoftMax层)。为了防止过拟合,采用了正则化方法“Dropout”;为了提高训练和运行速度,论文中采用了双GPU的设计模式[15],使得网络运行速度更快。AlexNet网络的结构及具体参数如表1所示。

表1 AlexNet网络的具体参数表

AlexNet网络训练过程分为前向传播和反向传播两个阶段。在前向传播阶段,输入层首先输入整个图像,输入图片的尺寸大小为227×227×3,在传播过程中对每层的输入图片进行相应的特征运算,如卷积或池化运算,将输入的特征进行简单运算便于分析其特征结构与参数变化。

具体公式如下:

对于有m个样本的数据集,网络的前向传播阶段会输出每个类别的线性预测结果,根据此结果和网络期望的输出值,在反向传播阶段(也称为误差传播阶段),定义网络的整体目标函数为:

其中,L(zi)是网络对应的损失函数,通过迭代训练最小化损失函数来降低网络分类误差,得出误差最小值;zi为网络的反向传播的输入,即为前向传播公式中最后一层网络的输出;W代表网络在本次迭代中所占的权值;λ代表相应的归一向所占比重。

AlexNet网络所用损失函数为SoftMax分类器,采用分类器输出并最小化交叉熵的损失函数。SoftMax归一化概率函数定义如下:

其中,zi是每一个类别线性预测的结果,式(3)的意义在于每个预测结果会和总和中最大结果进行相消,其目的是保持计算时的数值稳定性,因为网络最后会做归一化处理,减去最大值不会对最终结果造成影响。同时,根据σi()z来预测输入zi属于每一个类别的概率。在此基础上定义损失函数为:

通过梯度下降算法对正向传播公式中每一层参数W和bl求导,得到网络参数的更新值,最小化损失函数以得到效果最好的网络模型[17]。

2 针对网络的改进算法

2.1 数据集预处理

由于车辆车灯局部图片很少,如果直接进行训练模型容易出现过拟合的现象,所以需要对现存较小的数据集进行简单处理。本文对收集到的图像采用数据增强[18-20]的方法,对数据集进行扩充增加,可以得到泛化能力更强的网络来更好地适应实际应用场景。

数据增强的方法有平移、翻转、旋转角度、随机颜色、随机裁剪、加入噪声等增强方法,具体效果图如图1所示。本文需要注意的是在进行旋转操作时,不需要对图片进行大角度旋转,因为大角度翻转不适用于车辆实际场景中,所以进行小角度旋转即可。

图1 四种数据增强效果图

2.2 模型结构的改进

随着模型的加深,模型可以更好地拟合特征,出现更好的非线性表达能力,可以学习更复杂的变化,从而拟合更加复杂的特征输入。而随着网络的深度加深带来的梯度不稳定,网络退化的问题也更加突出,可能会出现网络加深,性能反而下降的现象,所以网络的深度不是越深越好。另外,网络的宽度可以让每一层学习到丰富的特征,比如不同方向、不同频率的纹理特征。网络太窄,每一层能捕获的模式有限,即使网络再深都不可能提取到足够的信息往下层传递,并且有些函数是需要足够宽才能够表达出来。

对于网络的中间层特征矩阵进行可视化,如图2所示,从AlexNet网络的卷积层输出可以发现,卷积核尺寸为3×3的卷积层数对于输入图像有比较明显的信息反应。

图2 不同卷积核下可视化中间层特征图效果

针对上述信息,本文对于AlexNet网络作出如下改进:

改进一:增加网络的深度,将卷积层增加至七层,增加卷积核为3×3的卷积层,使网络深度增加,泛化能力增强,并且将原网络中的5×5卷积层替换为两个3×3卷积层,增加网络深度的同时,减少了训练的参数个数,提高网络的性能。

改进二:第一层卷积核尺寸降低为9×9,再连接3×3的五层卷积,通过步长为2的下采样层进行池化操作,最后再添加1×1的卷积层,实现跨通道交互和信息整合且不会改变输入的大小。最后全连接为三层,随机失活20%的神经元,降低全连接层的神经元为2 048和1 024,减少运算过程中的参数量,加快网络收敛速度。

由此得出优化后的IM-AlexNet模型,增加了卷积核尺寸为3×3的卷积层,扩大了卷积效果,增加了网络深度的同时不增加参数量,对分类任务有较好的预测效果。其结构图如图3所示。

图3 IM-AlexNet网络结构

2.3 模型参数的迁移

迁移学习常用在小数据分类任务中,其意义是在通用领域的任务上对模型参数进行预训练,然后在具体领域的任务上对预训练的模型进行微调,从而保证模型有较快的收敛速度,且对目标领域任务中的训练数据量要求较小。简单来说就是将一层层网络中每个节点的权重从一个训练好的网络迁移到一个全新的网络里。

本文采用已经在大型数据集上训练好的AlexNet网络,将原有层权重和参数迁移到新的改进网络中,其效果如图4所示。它的作用是可以利用迁移学习来提高模型的稳定性和泛化性,不至于因为一个像素的变化而改变分类结果,也能够在小数据集上有良好的性能。

图4 层权重迁移学习过程

3 实验平台参数及评价指标

本文的实验流程如图5所示。首先将数据增强后的数据集随机打乱后划分,用于输入网络模型中进行训练。然后构建并且预处理原始AlexNet网络,针对具体情况,本文将双GPU通道下并行的网络进行微调,将所有卷积层的卷积核数量合并,并且在全连接层中为了减少参数量,将全连接层最后一层改为5层,因为本文数据集是针对五类数据进行分类的。训练后可以得出初始网络的准确率,参数量和网络模型等具体参数。同时进行网络模型的优化,再进行上述步骤训练模型得出优化后的数据及实验结果。最后进行对比实验,针对初步结果和分类评价指标对实验结果进行具体分析。

图5 实验流程图

3.1 实验平台及参数

本实验采用计算机配置为基于CPU运行的Win10系统,学习框架为tensorflow2+keras,软件编程环境为python3.7。

本实验使用自建数据集,该数据集包括5类经网络搜索的同一品牌大众旗下车灯局部图片,以8∶1∶1的比例进行随机分配训练集,验证集和测试集,总计9 358张图片,每张图片都包含多个汽车正面一侧的单个车灯图片。经过数据增强的方法,数据集增加了大量不同角度、不同噪声干扰、随机剪裁等各种条件下的图像,能够较为真实且全面地反映出真实情况。

损失函数是用于表征真实输出与预测值之间的损失,损失越小则预测值与真实值越接近,模型效果越好。本文选择分类交叉熵函数(Cat‐egorical_Crossentropy)作为损失函数,不仅适用于多分类问题,而且需要在softmax作为输出层激活函数的配合下使用。其次,其输出误差可以控制学习率,并且在梯度下降时,可以避免均方误差作为损失函数带来的学习速率逐渐降低的问题。

优化器的作用是进行梯度更新,最小化损失。本实验中采用Adam优化器(Adaptive momen‐tum),它是一种自适应动量的随机优化方法,常作为神经网络中的优化器算法。它使用“动量”和“学习率自适应”两种方法来加快收敛速率,本文学习率设定为0.000 1。Adam算法为不同的参数设计独立的自适应性学习率,使得更新梯度不会相差太大,即梯度可以平滑、稳定的过渡,从而适应各种不稳定的目标函数,获得更快的收敛速度,计算效率较高[21-23]。

训练初始时需要初始化参数,输入图片尺寸为224×224,每次训练迭代为100,每组大小为128,偏向于选用2的幂次方,可以更高效地利用运算性能。

3.2 分类评价指标

衡量分类型模型准确度中最基本、最直观、计算最简单的方法就是混淆矩阵。其概念是对分类模型的错误分类和正确分类的观测值分别进行计数,然后将结果放入一个矩阵形式的表中。好的模型是可以良好地表达真实预测正值和真实预测负值并且越大越好,表现差的预测负值和预测正值则越小越好。除了混淆矩阵,还有精确率、召回率和特异度也能从侧面衡量一个模型的性能,表2对各分类指标进行了简单介绍。

表2 各分类评价指标的介绍

4 实验结果分析

为了验证AlexNet网络在卷积神经网络学习的先验性和基础性,本文选择了用HOG-SVM、GoogleNet和VGG16网络进行简单实验对比,从准确率和运行速度两个方面进行分析。

由表3可知,手工特征提取的方法存在较大误差,而在卷积神经网络的对比实验中,表中用运行速度与参与网络训练的总参数量来证明AlexNet网络可靠性,由表3可知,保证硬件设备和运行环境一致情况下,参数量可以表示参与整个网络训练的权重数量,参数量越大,所需要的硬件设备要求越高,运算量越大,影响网络训练的收敛速度。在运行速度上AlexNet网络和改进后AlexNet网络远优于其他分类网络,并且网络参与训练的总参数量也远少于其他分类网络。因此本文选用AlexNet网络做基础改进的思路正确。

表3 四种模型的对比分析/(s/step)

为了验证参数优化改进后的模型在车灯图像识别方面是否具有良好的分类效果和准确率,首先将原有AlexNet网络和IM-AlexNet模型进行实验对比,从损失值(Loss)和准确率(Accuracy)方面进行分析。

由图6的两个图对比可知IM-AlexNet模型相比于原始模型来说,准确率提高,损失值波动趋近于稳定,在下降后逐步稳定并且低于原始模型的稳定值,IM-AlexNet模型效果具有泛化性和准确性。在Loss曲线图中虽然模型有较小的差异,但是在Accuracy曲线上随着迭代次数的增加,训练准确率和验证准确率都在逼近1.0,并且两者差距持续不变,无法判断模型的表达效果,但是在运行速度上,改进模型拓宽了网络深度,在参数量增加的同时收敛速度并没有很大的影响,在运行速度上IM-AlexNet模型达到了3 s/step,收敛速度大大降低。

图6 改进前后网络的loss值和accuracy值曲线对比图

接下来将从更为准确的混淆矩阵和其他分类指标上去分析。原始AlexNet模型和IM-AlexNet模型的混淆矩阵图的对比分析如图7所示,虽然整体准确率相近,但在混淆矩阵图中可以发现,IM-AlexNet网络模型对于五个类别的数据都有较好的识别效果。在TP和TN所表达的矩阵对角线上能够较为集中地表达数据特性,与原始网络的混淆矩阵相比,改进后模型在类别上的分类识别效果更好。由表4所示,在比较精度、召回率和特异性上的数值可知,IM-AlexNet网络模型优于原始网络,改进效果良好。

图7 各个分类指标下的IM-AlexNet网络训练结果图

表4 原始网络与IM-AlexNet网络在分类指标上的对比

5 结论

本文根据局部车灯图片为研究对象,设计并实现了IM-AlexNet网络模型结构,通过调整模型参数不断优化,从准确率和运行速度上对比实验,验证了本文算法在车辆局部特征车灯上识别车型的合理性和优异度,在应用于局部特征识别车辆型号方面得到了良好的效果。在自建数据集下,改进后的模型在各类别下达到了69%的准确性,在整体上也达到了96%的准确率,没有过多地增加参数量,收敛速度达到了3 s/step。由于数据集和电脑硬件的限制,本文并没有对恶劣天气下的图片进行分析,仍有改进的空间。

猜你喜欢

准确率卷积神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
MIV-PSO-BP神经网络用户热负荷预测
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨