近年来, 为了节能减排、减少环境污染和一些不必要的人为失误, 对自动驾驶的研究受到了众多研究学者的青睐, 而对交通标志识别的研究是自动驾驶中的关键一部分, 在自动驾驶和智能交通系统等方面有着重要的研究价值和意义[1]. 随着计算机技术和深度学习理论的发展, 涌现出了很多交通标志识别算法.
基于传统的交通标志识别方法通常以手工提取特征为主, 如Sobel边缘检测特征[2]、Haar特征[3]、Hog特征[4]等, 此类算法泛化能力较弱, 提取效果欠佳, 时间复杂度较高, 不适合在对实时性要求高的交通标志识别场景中应用.
近些年, 基于深度学习的方法在大多数先进的目标检测算法都得到了使用, 并在目标检测任务中取得了丰硕的成果, 其中YOLO算法因其良好的识别性能在交通标志识别领域备受瞩目. Redmon等人在2016年提出YOLO算法[5], 将目标检测转化为回归问题, 使得检测速度得到提升[6]. 之后两年里Redmon等人针对YOLO算法加以改进, 将其不断更新至YOLOv3[7], YOLOv3采用FPN[8]结构实现了多尺度预测, 在各项性能上均有了较大的提升, 但是检测精度与实时性方面仍有所欠缺. 王浩等人[9]提出了基于YOLOv3改进的实时交通标志检测算法, 采用跨阶段局部网络作为特征提取模块且以路径聚合网络替代特征金字塔网络, 以此来提升实时检测要求和检测精度. Wan等人[10]在YOLOv3基础上进行网络剪枝和损失函数改进等优化策略来解决小交通标志检测问题. 2020年, Bochkovskiy等人提出了YOLOv4模型[11], YOLOv4在特征提取上采用CSPDarknet53网络[12], 同时应用SPP模块增强特征表达能力, 使其在检测的实时性和精度方面均有很高的性能, 但模型的复杂度也随之增加. 郭继峰等人[13]提出的改进YOLOv4的交通标志识别算法, 使用深度可分离卷积与focal损失函数来解决模型参数量大和正负样本数量不均衡的问题, 在TT100K数据集上测试的平均精度均值为87.5%, 相比YOLOv4提升了3.9%. 尹宋麟等人[14]等在YOLOv4主干网络特征层后加入ECA模块并且利用K-means聚类算法重新生成网络先验框, 这些优化策略在TT100K数据集上的平均精度均值达到了84.95%, 比YOLOv4提升了4.58%.
以上算法及其改进在一定程度上对交通标志的识别精度均有所提高, 但不可避免的引入了过高的计算复杂度与参数量, 使其在交通标志实时识别方面仍有欠缺, 然而YOLOv5在YOLO系列中识别速度与识别精度均为最优且更适合实际工程的应用, 所以本文使用YOLOv5模型作为基准模型. 考虑到交通标志图像主要来自于车载摄像头, 交通标志在图像中的像素占比较小, 因此本文在YOLOv5的基础上引入全局注意力机制来提升对不同尺度目标的识别能力, 同时采用CIoU损失函数来解决GIoU损失函数收敛速度较慢的问题, 提升了对交通标志的识别能力, 最后在TT100K数据集上进行实验验证本文改进的YOLOv5算法的有效性.
1 YOLOv5模型结构分析YOLOv5s是YOLO系列中最小的型号, 模型体积小节约部署时间, 识别速度快实时性好, 且其使用PyTorch框架更容易投入生产, 所以本文以YOLOv5s为基准网络进行改进. 图1所示为YOLOv5网络结构.
YOLOv5的框架由Input、Backbone、Neck和Prediction这4个部分组成[15]. Input部分通过使用Mosaic数据增强方法来扩充数据集和自适应锚框计算、自适应图片缩放加强对图像的处理能力. Backbone部分由Focus结构、CSP结构和SPP模块构成. 其中Focus的作用是图片进入Backbone时对其使用切片操作, 最终得到没有信息丢失的特征图; CSP结构将原输入一分为二, 一个分支进行卷积操作, 另一个分支经过多个残差结构, 使得模型学习更多的特征; SPP模块的作用是将全局信息和局部信息进行融合从而丰富特征图. Neck部分由FPN+PAN[16]结构组成, 主要用于聚合图像的高低层特征, 提升目标检测的效果. 最后, 网络通过Prediction进行目标预测和输出.
2 YOLOv5模型的改进针对传统YOLOv5算法, 提出以下策略来优化其对交通标志的检测性能. 注意力机制可以有效关注到图像中包含交通标志的区域, 有助于提升对较小交通标志的识别性能; 损失函数的改进使得模型收敛速度加快, 识别精度也得到一定提升.
2.1 注意力机制的引入由于交通标志在道路中分布比较分散且目标较小, 为了更好地识别不同尺度的小目标特征, 选择在对交通标志的识别中引入全局注意力机制(global attention mechanism, GAM)[17], 使其对存在交通标志的区域有选择性的关注, 同时也可以抑制一些无关信息, 提高对远距离交通标志的识别性能, 从而做出更加准确的判断. 改进后的YOLOv5网络结构如图2所示.
GAM与CBAM相似, 采用通道-空间注意力机制, 并在此基础上重新设计子模块, 整体模块结构如图3所示. 其中, F1为输入, F2为中间状态, F3为输出, F2与F3 的定义如式(1)和式(2)所示, Mc为通道注意力模块, Ms为空间注意力模块,
$ {F_2} = {M_c}({F_1}) \otimes {F_1} $ | (1) |
$ {F_3} = {M_s}({F_2}) \otimes {F_2} $ | (2) |
(1)通道注意力子模块
如图4所示, 通道注意力子模块先使用三维度通道置换来保留信息, 然后使用两层多层感知器(MLP)进行维度转换, 最后进行Sigmoid处理输出.
(2)空间注意力子模块
如图5所示, 在空间注意力子模块中, 使用两个卷积层进行空间信息融合, 先使用7×7卷积缩减通道数(缩减率r), 再经过7×7卷积增加通道数量, 保持通道数量的一致, 最后进行Sigmoid处理输出.
2.2 损失函数的改进损失函数作为衡量模型预测值与真实值之间差异程度的运算函数, 其值越小, 表明模型的鲁棒性越好, 所以在训练过程中损失函数选择的合适与否尤为重要.
在传统YOLOv5的prediction部分中, 使用GIoU[18]作为其损失函数, IoU[19]表示的是预测框和真实框的交并比, 是目标检测中常用的损失函数, 其计算公式如下:
$ IoU = \frac{{|B \cup {B^{gt}}|}}{{|B \cup {B^{gt}}|}} $ | (3) |
$ {L_{IoU}} = 1 - IoU $ | (4) |
其中, B表示预测框, Bgt表示真实框.
IoU因其尺度不变性、对称性、同一性、非负性等优点, 且输出的损失值介于0–1之间, 可以很好地表达预测框与真实框的检测效果, 但在实际检测中会存在IoU损失函数无法使用的情况.
1)如图6(a)所示, 当预测框和真实框完全不相交时, IoU的输出值为0, 损失函数的输出为1, 但是从图中可以明显地发现预测框和真实框接近, 损失函数的输出应该更小.
2)如图6(b)所示, 当预测框和真实框的交并比相同时, 计算出来的损失函数值相同, 但不能判断哪种预测框更加准确.
所以YOLOv5使用的是GIoU损失函数, GIoU在基于IoU特性的基础上引入最小外接框来解决上述IoU损失函数无法使用的情况1), 不仅关注重合区域, 还关注其他非重合区域. 其计算公式如下:
$ {L_{{\rm{GI}}{\text{oU}}}} = 1 - IoU + \frac{{|C - (B \cup {B^{gt}})|}}{{|C|}} $ | (5) |
其中, B表示预测框, Bgt表示真实框, C为B和Bgt的最小包围框.
虽然GIoU损失函数有效解决了预测框与真实框不相交的情况, 但是当预测框包含在真实框内时, GIoU就会退化为IoU, 无法区分预测框和真实框的相对位置关系且对每个预测框和真实框而言均要计算最小包围框, 导致计算速度和收敛速度受到限制. 基于GIoU损失, CIoU[20]损失考虑了边界框的重叠区域、中心点距离以及边界框纵横比的一致性. 所以在本文中, 使用CIoU损失取代GIoU损失, 损失函数定义为:
$ {L_{{\rm{CI}}{\text{oU}}}} = 1 - IoU + \frac{{{\rho ^2}(b, {b^{gt}})}}{{{c^2}}} + \alpha \nu $ | (6) |
$ \alpha = \frac{\nu }{{(1 - IoU) + \nu }} $ | (7) |
$ \nu = \frac{4}{{{{\text π} ^2}}}{\left(\arctan \frac{{{w^{gt}}}}{{{h^{gt}}}} - \arctan \frac{w}{h}\right)^2} $ | (8) |
其中, b为预测框的中心点, bgt为真实框的中心点, ρ是两个中心点之间的欧氏距离, c是最小包围框的对角线长度, α是权重参数, γ用来衡量纵横比的一致性, w和h、wgt和hgt分别表示预测框和真实框的宽与高.
3 实验验证与结果分析 3.1 实验数据集为了更好地适应我国交通道路场景, 选择使用国内Tsinghua-Tencent 100K (TT100K)数据集[21]进行训练. TT100K是由清华与腾讯合作制作的大规模交通标志识别数据集, 提供了30 000个交通标志实例, 共128种标志的100 000张高分辨率图像, 部分主要交通标志类型如图7所示. 它包含了光照强度和天气条件巨大变化下的各种图像, 是用于交通标志识别的可靠的基准数据集, 图8所示为其示例.
3.2 评价指标
为了客观评价网络模型的性能, 本文实验使用精确率Precision、召回率Recall和平均精度均值mAP (mean average precision)作为评价指标, 其中, 精确率是指在模型预测的目标中, 预测正确的比例; 召回率是指在所有真实目标中, 模型预测正确目标的比例; 平均精度均值是所有类别预测精准度的平均值. 具体计算公式如式(9)–式(11)所示:
$ Precision = \frac{{TP}}{{TP + FP}} $ | (9) |
$ Recall = \frac{{TP}}{{TP + FN}} $ | (10) |
$ {{m}}AP = \frac{1}{N}\sum\limits_{i = 1}^N {A{P_i}} $ | (11) |
其中, TP表示模型预测正确的正样本数量, FP表示模型预测错误的正样本数量, FN表示模型预测错误的负样本数量; AP由集合中某一类别所有精确率之和除以含有该类别目标的图像数量得到.
3.3 实验结果与分析本文实验环境为Windows 10 操作系统, PyTorch 深度学习框架, 使用12 GB显存的GPU RTX 3060训练模型, 训练过程中对网络设定的部分超参数如表1所示.
为了验证上述改进方法的有效性, 本文在TT100K数据集上进行了消融对比实验, 结果如表2所示, 在模型中加入GAM注意力机制和改变损失函数均可以提高网络精度, 两者在mAP上分别提高了3.77%和2.42%, 而结合两者的改进算法在精确率、召回率和mAP上均有更好的结果. 图9所示为训练所得的精确率-召回率曲线(Precision-Recall), 其能够直观地表现算法性能, 精确率-召回率曲线所围成图形的面积越大表示算法性能越好, 从图9可以看出, 训练的模型性能良好, 结合表2消融实验结果可知, 本文改进的YOLOv5算法与原始的YOLOv5算法相比, 在精确率上提升了7.9%, 召回率提升了4.43%, mAP提高了5.72%.
此外, 本文将改进后的YOLOv5方法与其他经典的目标检测方法进行对比实验, 实验结果如表3所示, 相较于SSD和Faster R-CNN方法, 本文改进方法的mAP有明显提升, 提升值分别为16.51%和10.16%, 与YOLOv4 和YOLOv5方法相比mAP值也有不同程度的提升. 综上所述, 本文改进的 YOLOv5算法对交通标志识别的综合性能良好.
最后对训练好的模型进行测试, 测试结果如图10所示. 从前两行图中可以看出改进前的YOLOv5算法对远处存在的小目标ph等存在漏检现象; 第3、4行图中存在误检现象, 将第4行图中的pl80误检为pl50; 在第5行图中, 即使检测正确但也存在置信度较低的问题. 而改进后的YOLOv5算法对远距离的小目标均可以识别到, 漏检和误检问题得到改善, 置信度也相对较高, 相比于原始YOLOv5算法在交通标志的识别上具有良好的效果.
4 结论与展望
本文在介绍改进YOLOv5交通标志识别模型的基础上, 针对交通标志在道路场景中目标较小问题, 在YOLOv5网络中加入全局注意力机制(GAM), 使得网络将注意力聚焦在含有交通标志的区域; 同时为解决原算法中GIoU损失函数可能会造成模型收敛速度较慢的问题, 使用CIoU损失函数替换GIoU损失函数来优化模型, 提高对交通标志的识别精度. 最后通过消融实验证实了本文所提改进方案的有效性, 下一步将继续优化改进本文算法且研究如何实现网络模型轻量化.
[1] |
张静, 农昌瑞, 杨智勇. 基于卷积神经网络的目标检测算法综述. 兵器装备工程学报, 2022, 43(6): 37-47. |
[2] |
Roberts LG. Machine perception of three-dimensional solids [Ph.D. Thesis]. Massachusetts: Massachusetts Institute of Technology, 1963.
|
[3] |
Lienhart R, Maydt J. An extended set of Haar-like features for rapid object detection. Proceedings of the 2002 International Conference on Image Processing. Rochester: IEEE, 2002. I.
|
[4] |
Dalal N, Triggs B. Histograms of oriented gradients for human detection. Proceedings of the 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. San Diego: IEEE, 2005. 886–893.
|
[5] |
Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 779–788.
|
[6] |
茅智慧, 朱佳利, 吴鑫, 等. 基于YOLO的自动驾驶目标检测研究综述. 计算机工程与应用, 2022, 58(15): 68-77. DOI:10.3778/j.issn.1002-8331.2203-0310 |
[7] |
Redmon J, Farhadi A. YOLOv3: An incremental improvement. arXiv:1804.02767, 2018.
|
[8] |
Lin TY, Dollár P, Girshick R, et al. Feature pyramid networks for object detection. Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 936–944.
|
[9] |
王浩, 雷印杰, 陈浩楠. 改进YOLOv3实时交通标志检测算法. 计算机工程与应用, 2022, 58(8): 243-248. DOI:10.3778/j.issn.1002-8331.2011-0460 |
[10] |
Wan JX, Ding W, Zhu HL, et al. An efficient small traffic sign detection method based on YOLOv3. Journal of Signal Processing Systems, 2021, 93(8): 899-911. DOI:10.1007/s11265-020-01614-2 |
[11] |
Bochkovskiy A, Wang CY, Liao HYM. YOLOv4: Optimal speed and accuracy of object detection. arXiv:2004.10934, 2020.
|
[12] |
Wang CY, Liao HYM, Wu YH, et al. CSPNet: A new backbone that can enhance learning capability of CNN. Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Seattle: IEEE, 2020. 1571–1580.
|
[13] |
郭继峰, 孙文博, 庞志奇, 等. 一种改进YOLOv4的交通标志识别算法. 小型微型计算机系统, 2022, 43(7): 1471-1476. |
[14] |
尹宋麟, 谭飞, 周晴, 等. 基于改进YOLOv4模型的交通标志检测. 无线电工程, 2022, 52(11): 2087-2093. DOI:10.3969/j.issn.1003-3106.2022.11.024 |
[15] |
Shi XH, Hu J, Lei XY, et al. Detection of flying birds in airport monitoring based on improved YOLOv5. Proceedings of the 6th International Conference on Intelligent Computing and Signal Processing. Xi’an: IEEE, 2021. 1446–1451.
|
[16] |
Yang JF, Fu XY, Hu YW, et al. PanNet: A deep network architecture for pan-sharpening. Proceedings of the 2017 IEEE International Conference on Computer Vision. Venice: IEEE, 2017. 1753–1761.
|
[17] |
Liu YC, Shao ZR, Hoffmann N. Global attention mechanism: Retain information to enhance channel-spatial interactions. arXiv:2112.05561, 2021.
|
[18] |
Rezatofighi H, Tsoi N, Gwak J, et al. Generalized intersection over union: A metric and a loss for bounding box regression. Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 658–666.
|
[19] |
Yu JH, Jiang YN, Wang ZY, et al. UnitBox: An advanced object detection network. Proceedings of the 24th ACM International Conference on Multimedia. Amsterdam: ACM, 2016. 516–520.
|
[20] |
Zheng ZH, Wang P, Liu W, et al. Distance-IoU loss: Faster and better learning for bounding box regression. Proceedings of the 34th AAAI Conference on Artificial Intelligence. New York: AAAI, 2020. 12993–13000.
|
[21] |
Zhu Z, Liang D, Zhang SH, et al. Traffic-sign detection and classification in the wild. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 2110–2118.
|