APP下载

一种结合ResNet和迁移学习的交通标志识别方法

2023-04-11徐慧智闫卓远常梦莹

关键词:交通标志卷积准确率

徐慧智,闫卓远,常梦莹

(东北林业大学 交通学院, 哈尔滨 150040)

交通标志识别是自动驾驶技术和智能驾驶系统的关键组成部分,对于智能交通系统的发展具有重要作用。快速准确地识别交通标志可以为驾驶员或车辆自动控制系统提供行车指示信息,有助于行车安全,同时提高道路通行效率[1]。在现实中,往往需要在多变的自然场景下识别交通标志,雨雪天气、障碍物遮挡、交通标志倾斜等情况都会影响识别效果[2],因此实时高效的交通标志识别方法是目前的研究热点[3]。

交通标志识别常用的方法有基于模板匹配的方法、基于机器学习的方法、基于深度学习的方法[4]。由于每类交通标志都有独特的颜色、形状和字符等特征,冯春贵等[5]提出了一种模块匹配方法对限速标志进行识别,通过抽取限速标志字符的特征,利用边缘模板匹配限速标志,识别率提高到95%以上。谷明琴等[6]通过变换RGB颜色空间分割交通标志图像,利用模块匹配分类,整体识别率超过91%。简单的基于交通标志特征的算法局限于标志的磨损、遮挡等情况,很难对交通标志准确识别,为此,Ahmed等[7]采用自适应阈值分割算法提取标志的边界和颜色,利用模块匹配方法和SVM检测识别交通标志,识别率达到98.23%。随着卷积神经网络(CNN)的发展,LeNet-5[8]、AlexNet[9]、VGG[10]、ResNet[11]等经典的CNN模型被相继提出,并且在图像识别领域得到了广泛应用。汪贵平等[12]将inception卷积模块组引入传统LeNet-5 CNN,同时增加网络深度,改进的LeNet-5网络交通标志识别的准确率达到98.51%。张佳达等[13]利用ResNet,堆叠不同尺寸的残差模块,构建了具有100层卷积层的网络模型,该模型在比利时交通标志数据集(BTSC)上的精度高达99.34%。赵树恩等[14]通过设定相关阈值,在HSV空间分离出交通标志的颜色来定位交通标志,然后使用改进的VGG模型识别交通标志,该方法的识别准确率达到94.12%。Li等[15]结合faster R-CNN和MobileNet网络检测交通标志,再使用非对称卷积的高效CNN分类,该方法的识别精度高达99.66%。

基于模块匹配和机器学习的交通标志识别方法需要对图像进行预处理,然后人工提取图像特征,工作量较大,该类方法容易受到识别环境的影响,且识别准确率不高。使用CNN可以在一定程度上减少前期工作,提高识别率,但是训练模型耗时长,硬件设施要求高,且需要大量的数据样本,制作数据集工作量较大。针对以上问题,采用迁移学习的方法,基于预训练网络模型权重建立交通标志识别模型,将已经在ImageNet图像数据集上训练好的ResNet模型权重迁移到交通标志识别模型上,再使用交通标志样本数据训练模型。

1 试验数据

1.1 交通标志数据集

以3类典型交通标志:指示标志(mandatory)、警告标志(warning)和禁令标志(prohibition)作为研究对象。试验所需要的交通标志样本数据部分人工拍摄于哈尔滨市香坊区和兴路路段,部分来源于中国交通标志检测数据集(CCTSDB),所有图像样本数据均拍摄于道路实景且由人工分类标注。

本次试验的交通标志数据集由7 200张图像组成,每类图像均有2 400张。以7∶3的比例将交通标志数据集分为训练集和测试集2部分,训练集数量为5 040张,测试集数量为2 160张。数据集的样本数量分布如表1所示,部分交通标志图像如图1所示。

表1 交通标志图像样本数量分布

图1 部分交通标志图像

1.2 数据预处理

训练模型需要大量的数据样本,在训练样本不足的情况下,数据扩充能够增加样本的数量和多样性,避免模型训练时产生过拟合的现象,在一定程度上提升模型的性能。因此利用PIL和skimage图像处理库对采集到的交通标志进行随机旋转、平移、添加噪声、对比度增减等操作实现数据扩充。其中1张图像的数据扩充效果如图2所示。

在使用不同的CNN模型进行迁移学习时,需要根据模型结构调整输入图像的尺寸大小,而对数据进行归一化处理(均值变为0,标准差变为1)能够降低模型过拟合,加快模型的收敛速度。因此在使用ResNet模型训练时,利用transforms将输入图像尺寸调整为224 pixel×224 pixel,之后使用normalize函数对数据进行批量归一化处理。

图2 数据扩充效果图像

2 试验方法

2.1 迁移学习

迁移学习是深度学习中的一种方法,其思想是在新模型中引入经大型数据集充分训练的模型权重,将某个领域上学习到的知识迁移到目标领域的任务中[16]。考虑到大部分任务都具有一定的相关性,通过迁移学习能够提高模型的训练效率并减少网络对数据集样本量的需求。迁移学习的2种常用方法为:① 固定特征提取器:利用经过充分训练的CNN模型,移除网络最后一个全连接层,冻结网络的其他部分,并将其视为新数据集的特征提取器,再基于新的数据集训练一个分类器。② 微调卷积网络:不仅在新数据集上替换和重新训练分类器,还通过反向传播微调网络参数,通常是冻结靠近输入的卷积层,微调靠近输出的卷积层。

AlexNet、VGG、ResNet等经典的CNN模型在图像识别分类领域中得到了广泛应用,且均在 ImageNet、CIFAR-10等大型图像数据集上进行充分训练,测试效果良好。基于迁移学习方法在小样本数据集上的优势,以在大型图像数据集上训练好的ResNet预训练网络模型权重为基础,基于第一种固定特征提取器的方法,构建交通标志识别模型,之后通过训练比选得出精度最高的模型权重,并在测试集上测试,最后输出分类结果,实现对交通标志的准确识别。

2.2 ResNet网络结构

网络层数加深会引起梯度消失或梯度爆炸,导致网络模型的学习效率降低。2016年He等[11]提出了ResNet网络模型,引入残差结构。通过shortcut连接2个权重层的输入和输出,传递自身映射,使得浅层网络直接向深层网络传递特征,解决了深层网络退化的问题,实现在神经网络不断加深的同时提升学习效率。ResNet残差结构如图3所示,输入x经过第一个权重层和激活层得到F(x),经过第二个权重层时将F(x)与x相加得到输出H(x):

H(x)=F(x)+x

(1)

当残差F(x)=0时,

H(x)=x

(2)

即输入x等于输出x,此时网络构成恒等映射,保证了网络性能不会随网络层数加深而下降。

图3 ResNet残差结构

ResNet有层数不同的网络结构,常用的有ResNet18、ResNet34和ResNet50,均由5个卷积块和1个全连接层组成,其中卷积块由不同数量的残差结构堆叠组成。不同层数的ResNet的区别在于各个卷积块的卷积层数和通道数不同。ResNet34网络结构如图4所示,输入大小为224×224,通道数为3的图像,经过5个卷积块提取图像特征,输出大小为7×7,通道数为512的特征图,之后输入平均池化层取平均值,最后输入全连接层,由softmax函数将图像分为1 000类。

图4 ResNet34网络结构框图

2.3 模型结构及优化

2.3.1模型结构

基于ResNet模型进行迁移学习,首先冻结模型的卷积层,停止网络模型权重和偏置值的更新,将卷积层视为新模型的特征提取器。由于该模型已在具有1 000个图像类别的ImageNet数据集上进行预训练,而采集3类交通标志作为样本数据,故去除模型原本的全连接层,为模型设计输出维度为3的新全连接层,最后使用样本数据训练模型。基于ResNet34的交通标志识别模型结构如图5所示,输入经过标准化处理的交通标志图像,通过1个卷积层和4个由残差结构堆叠组成的卷积块提取图像特征,再由平均池化层计算图像区域的平均值,之后利用flatten将多维输入展平降维,最后由全连接层对交通标志图像分类。

2.3.2模型优化

优化器沿梯度下降方向调整模型参数,使其逼近或达到最优值,并使损失值不断降低,实现对模型的优化。本文模型的优化器采用带动量的随机梯度下降法(stochastic gradient descent with momentum,SGDM),与SGD相比,加入一阶动量,使参数更新能够保持前一时刻的趋势,解决了使用SGD容易卡在梯度较小点的问题,加快了模型的收敛速度,SGDM的参数更新如下:

mt=βmt-1+(1-β)gt

(3)

(4)

wt+1=wt-lr×(βmt-1+(1-β)gt)

(5)

式中:mt为t时刻的一阶动量;β为动量参数,一般取0.9;gt为t时刻的梯度;wt为t时刻的参数;lr为学习率;vt为二阶动量,取1。

图5 基于ResNet34的交通标志识别模型

在梯度下降算法中需要设置学习率来控制参数更新的步幅大小,学习率不是固定值,一般在训练初期设置较大的学习率加速网络收敛,在训练后期设置较小的学习率使网络更好地趋向最优解。采用固定步长衰减法更新学习率,即每隔固定的训练轮次对学习率进行衰减,避免了训练后期因学习率较大导致参数在最小值附近波动的问题。

损失函数用来衡量模型训练效果的好坏,损失函数越小,说明训练的效果越好。本文模型选择交叉熵损失函数计算分类损失,交叉熵损失函数在分类问题中得到了广泛的应用,在多分类问题中,其表达式为:

(6)

式中:Loss为损失函数;N为样本数量;K为分类标签数量;yi,k为第i个样本的真实标签为k;pi,k为第i个样本预测为第k个标签的概率。

2.4 试验流程

使用采集的3类交通标志样本作为数据集,划分为训练集和测试集2部分,并对数据进行预处理。将已经在ImageNet图像数据集上训练好的ResNet模型权重迁移到新的网络模型,并冻结卷积层,将其作为新模型的特征提取器,之后为新模型重新设计全连接层,构建交通标志识别模型,最后用训练集训练模型并用测试集检验模型的识别精度。试验流程如图6所示。

图6 试验流程框图

3 结果与分析

3.1 试验环境及参数设定

本次试验的硬件环境为AMD Ryzen 7 5800H with Radeon Graphics @3.20 GHz CPU,16 GB内存;NVIDIA GeForce RTX 3060 Laptop GPU,6 GB显存。软件环境为Windows 10 64bit操作系统;Python 3.8语言;Pytorch 1.10.0深度学习框架。模型的训练和测试均使用GPU加速,综合硬件条件和模型训练效果,batch size设置为32(即每个批次取32个样本训练),迭代次数设置为100轮次,初始学习率设置为0.01。

3.2 评价指标

通过准确率(accuracy)、查准率(precision,P)、查全率(recall,R)、F1分数(F1-score)和训练耗时等指标评估模型的性能。准确率是模型正确分类的样本数与总样本数之比,查准率、查全率和F1分数的计算见下式:

(7)

(8)

(9)

式中:TP和FP分别表示识别正确和错误的交通标志样本数,FN表示未被识别到的交通标志样本数。

3.3 训练结果及性能分析

3.3.1数据扩充对模型性能的影响

为验证数据扩充对本文模型性能的影响,在保证模型优化方式和试验参数相同的条件下,使用本文模型分别对数据扩充前的数据集和经过旋转、平移、添加噪声等数据增强方法扩充的数据集进行训练,并记录测试集准确率的最大值和训练耗时。训练结果如表2所示,由表可知,数据扩充策略对模型的训练结果有影响,使用经数据扩充后的数据集进行迁移学习,准确率比数据扩充前提高了2.39%。由于数据扩充策略增加了训练样本的数量,训练耗时也会相应增多。

表2 数据扩充前后训练结果

图7为数据集扩充前后的准确率曲线,可以看出,采用数据扩充前的数据集对模型进行训练,准确率曲线波动幅度较大;采用经数据扩充后的数据集对模型进行训练,准确率曲线较为平稳。说明数据扩充策略能够提高小样本数据集进行迁移学习的模型精度和稳定性。

图7 数据扩充前后的准确率曲线

3.3.2数据集大小对模型性能的影响

数据集大小在一定程度上影响模型的性能,为研究其对交通标志识别效果的影响,在原数据集中随机选取6 000、4 800、3 600张样本图像组成新数据集,使用原数据集和3种不同大小的数据集训练模型,记录测试集准确率的最大值和训练耗时如表3所示。由表可知,模型的准确率随着数据集的增大而提高,数据集大小减半的情况下,模型仍有97.03%的准确率,说明使用迁移学习方法训练的本文模型,对于小样本数据集具有良好的识别效果,而增加数据集样本量进行迁移学习能够使模型充分学习交通标志的特征,达到更高的精度。

表3 不同大小数据集的训练结果

3.3.3学习率对模型性能的影响

为验证学习率设置大小和学习率衰减策略对本文模型性能的影响,在其他试验参数相同的情况下,设置0.05、0.01、0.001共3组初始学习率,采用学习率固定和学习率衰减2种训练策略训练本文模型,并记录测试集准确率的最大值。训练结果如表4所示,由表可知,初始学习率设置为0.01,且采用学习率衰减策略时模型的准确率最高,达到97.60%。初始学习率设置相同的情况下,学习率衰减的模型准确率略高于学习率固定的模型。不同学习率设置的准确率曲线如图8所示。

表4 不同学习率设置的训练结果

图8 不同学习率设置的准确率曲线

图8(a)为初始学习率设置为0.01时2种训练策略的准确率曲线,由图8(a)可知,采用固定学习率训练,模型难以收敛,且准确率较低。图8(b)为3组初始学习率采用学习率衰减策略训练模型的准确率,可以看出初始学习率设置为0.05时,模型收敛最快,但学习率较大会跳过最优解;初始学习率设置为0.001时,模型收敛缓慢,且达不到最优解。说明将初始学习率设置为0.01,且使用衰减的学习率更适合本文模型进行迁移学习。

3.3.4不同模型的训练结果

为验证所提出的模型在交通标志识别问题上的有效性,选取AlexNet、VGG16和ResNet18这3种CNN模型与本文模型进行对比试验,在相同的试验参数设置条件下采用迁移学习的方法对模型进行训练与测试,均迭代100轮次后,以测试集准确率的最大值为评价指标对模型的性能进行评估。4种模型的训练结果如表5所示。

表5 4种模型训练结果对比

由表5可知,4种模型经过100轮次训练均达到90%以上的准确率,且训练耗时均控制在50 min以内,说明利用迁移学习方法可以在短时间内训练出精度较高的交通标志识别模型。相较于AlexNet、VGG16这2种网络模型,ResNet网络结构中引入了残差结构块,在增加网络层数、降低模型参数的同时提高了模型的精度,因此训练结果表明了迁移学习方法的优越性和残差结构的有效性。4种模型的准确率和损失值如图9所示。

准确率曲线表示随着迭代训练次数的增加,模型预测数据集样本精度的变化情况。由图9(a)可知,本文模型与AlexNet、VGG16和ResNet18相比收敛速度更快,且预测精度更高,最终模型的准确率达到97.60%。损失曲线表示随着迭代次数的增加,模型的预测值和真实值之间差距的变化情况。由图9(b)可知,本文模型的损失值率先收敛,且损失值最小。

相较于AlexNet,VGG减小卷积核大小,增加网络深度,而ResNet是在VGG的网络基础上增加网络深度,引入shortcut连接机制来提升网络性能,因此与其他经典的CNN模型相比,基于ResNet34的迁移学习模型对交通标志的识别率最高,更适用于识别交通标志。

图9 4种模型测试的准确率曲线与损失值曲线

3.4 测试结果分析

3.4.1分类结果

数据集包括指示、警告、禁令3类交通标志,各类交通标志包含不同的颜色、形状等要素。从颜色上看,红色用于禁令标志;黄色用于警告标志的底色;蓝色用于指示标志的底色。从形状上看,三角形用于警告标志;方形用于部分指示标志;圆形用于禁令和指示标志。

使用训练好的交通标志识别模型对测试集样本进行识别分类,模型识别各类交通标志的查准率、查全率、F1分数如表6所示,以F1分数为最终评价指标,模型的分类性能从高到低依次是警告标志、指示标志、禁令标志。

表6 模型的分类结果

对被错误识别的样本图像分析可知,造成交通标志未被识别或识别错误的原因有以下几种:① 交通标志颜色温和,与背景颜色相似(图10(a));② 交通标志图像模糊(图10(b));③ 交通标志倾斜一定角度,特征表达不明显(图10(c));④ 交通标志被遮挡(图10(d));⑤交通标志磨损(图10(e))。

图10 容易识别错误的交通标志图像

利用混淆矩阵将交通标志识别模型的分类结果可视化,如图11所示,x轴表示交通标志的真实标签,y轴表示其预测标签,矩阵中的值nij表示将第i类交通标志识别为第j类的次数。主对角线上的值越大,说明模型的识别效果越好。

图11 分类结果混淆矩阵示意图

由表6可知,模型对警告标志的F1分数最高,达到99.37%,因其颜色鲜艳,形状不同于指示和禁令标志;对指示和禁令标志的F1分数分别为96.86%和96.53%,因指示和禁止标志均为圆形,且指示标志颜色相对温和。说明交通标志的颜色、形状等特征对识别结果有影响,颜色鲜艳、形状独特的交通标志更易于识别。

3.4.2多场景下测试结果

从测试集中随机选取1 200张交通标志图像,每类交通标志均选取400张,然后利用imgaug图像处理库增强图像,分别模拟低照度环境、雾霾天气、雨雪天气,部分处理效果图像如图12。

图12 4种场景下的部分交通标志图像

使用本文模型对4种场景下的交通标志进行识别分类,记录测试准确率如表7所示。由表可知,本文模型在原始环境下对交通标志的识别准确率最高,达到97.67%。其次为低照度环境,识别准确率为96.75%,说明光照条件对交通标志识别的影响较小。雾霾天气和雨雪天气2种场景下的识别准确率较低,说明恶劣天气对交通标志识别有较大影响。模型在4种场景下均达到92%以上的识别准确率,表明本文模型能够满足多场景下的交通标志识别要求。

表7 4种场景下的模型测试结果

4 结论

1) 使用经过数据扩充的数据集对模型进行迁移学习,能够在一定程度上提高模型的精度和鲁棒性。增多数据集的样本量能够提高模型的精度。

2) 学习率衰减策略在训练前期以较大的学习率加速模型收敛,后期衰减为较小的学习率使模型更好地趋向最优解。将初始学习率设置为0.01,使用衰减的学习率进行迁移学习时,本文模型的精度最高。

3) 利用迁移学习方法可以在较短时间内训练出精度较高的交通标志识别模型。在相同的试验参数下进行迁移学习,相较于AlexNet、VGG16和ResNet18,本文模型精度最高,更适用于识别交通标志。

4) 交通标志的颜色、形状、字符等特征和交通标志所处的自然环境对识别效果有较大影响,特征表达明显的交通标志更易于识别。

试验结果表明,使用迁移学习方法训练的本文模型泛化能力较好,能够满足多场景下的交通标志识别需求,在解决交通标志识别问题上有一定的可行性。在未来的研究中应丰富交通标志数据集,加入不同自然环境下的交通标志样本图像,使模型充分学习多尺度特征,以进一步提高模型的性能。

猜你喜欢

交通标志卷积准确率
基于双向特征融合的交通标志识别
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
从滤波器理解卷积
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
交通标志小课堂
我们欢迎你!