白云 罗钰
摘 要:针对城市道路的交通标志在真实路况中存在光照不均、遮挡等因素导致的在目标检测任务中出现参数量过多、检测速度慢等问题,文章基于原有YOLOv5s的网络框架提出一种改进后的目标检测网络Shuffle-Block,首先选用开源的CCTSDB数据集进行实验,引入Shuffle-Block模块替换YOLOv5s原始的CSPDarknet主干网络,使得YOLOv5s的网络模型轻量化,降低模型的复杂程度。
关键词:YOLOv5s;交通标志;深度学习;目标检测
中图分类号:TP183;TP391.41 文献标识码:A 文章编号:2096-4706(2023)12-0006-04
Traffic Sign Detection Algorithm Based on Improved YOLOv5s
BAI Yun, LUO Yu
(School of Aviation, Inner Mongolia University of Technology, Hohhot 010051, China)
Abstract: In response to the problems of excessive parameter count and slow detection speed in object detection tasks caused by uneven lighting and occlusion of traffic signs on urban roads in real road conditions, this paper proposes an improved object detection network Shuffle-Block based on the original YOLOv5s network framework. Firstly, the open-source CCTSDB dataset is selected for experiment, and the Shuffle-Block module is introduced to replace the original CSPDarknet backbone network of YOLOv5s, make YOLOv5s network model lightweight and reduce the complexity of the model.
Keywords: YOLOv5s; traffic sign; deep learning; object detection
0 引 言
近年来,我国城乡公路建设发展迅速,机动车保有量大幅增长。但是人们对交通的道路安全意识淡薄,且真实路况中交通标志被遮挡、光照不均等外界因素,造成交通事故频频发生,交通安全成为当今社会的一个重要问题。交通标志检测作为智能交通系統中的重要组成部分,主要应用在自动驾驶辅助系统[1](Automatic Driving Assistance System, ADAS)、因素非常多,如光照条件、部分遮挡等,因此交通标志检测是一项具有挑战的研究方向。
目前,由于深度学习的不断发展,目标检测技术[2]也在不断更新。Han等人[3]提出一种删除低于阈值的连接的剪枝策略,使得网络的连接稀疏,从而降低网络的复杂度。Li等[4]对每层卷积中低于阈值的通道进行裁剪操作,达到压缩模型的目的。邱天衡等[5]提出交通控制、自主驾驶等领域。随着深度学习的兴起,目标检测任务得到了极大的发展,其任务是在图像或视频中显示出交通标志的类别和位置,但影响检测的因出了一种改进特征融合结构的YOLOv5算法模型,并且降低了网络的参数量和计算量,在提升模型检测精度的同时保持了模型的轻量化。郭磊等[6]提出了一种针对小目标检测的YOLOv5算法模型,在小目标物体检测上具有更强的特征提取能力和更高的检测精度。
深度学习算法在目标检测上的表现优异,给交通标志检测带来了更多的可能性。本文选用YOLOv5s模型结合Shuffle-Block轻量级网络进行实验,在减少参数量和计算量等方面都有着相当不错的表现。
1 轻量化网络简介
轻量化网络的技术不止一个方向,它们之间相互独立又相互补充,合理的设计网络结构能够起到很好的互补作用。轻量化模块设计主要是围绕更轻便的计算单元展开,和常规卷积操作相比拥有更少的参数量和计算量。YOLOv5s模型的主干网络采用CSPDarknet53结构,该结构参数量较多,且网络层数复杂。因此,对主干网络进行裁剪或替换,实现YOLOv5s的轻量化设计。
根据网络的结构层次,可以将轻量化网络划分为模型的轻量化结构设计和模型压缩两大类,轻量化结构设计是在设计模型时就遵从轻量化思想,模型压缩是在原有的模型基础上,例如减少卷积数量、增加网络的并行度、采用深度可分离卷积等[7],列出了近年来比较优秀的轻量化网络,主要有Squeeze Net、Mobile Net系列、Shuffle Net系列、Ghost Net等。
谷歌公司在2017年轻量化网络中首次提出了一种将图像通道和图像区域分开处理的深度可分离卷积概念。深度可分离卷积分由深度卷积(Depth Wise convolution, DW conv)和逐点卷积(Point Wise convolutions, PW conv)结合而成。在几乎不影响精度的情况下深度可分离卷积可以大幅度降低网络的计算量以及每秒浮点运算次数(FLoating point OPerations per Second, FLOPS)。对于传统的卷积运算,在进行卷积运算时需要同步考虑图像区域中的所有通道,从而导致计算量增加,模型参数复杂。
在卷积核大小为wF×hk普通卷积中,卷积核的深度与输入特征矩阵深度相同为M,卷积核个数与输出特征矩阵深度相同为N,整个运算过程中共有个wF×hk×M×N卷积核,每个卷积核都要经过Dw×Dh次运算。如图1为传统的卷积过程,其运算计算量Fconv可以如式(1):
Fconv = wF×hk×M×N×Dw×Dh (1)
在深度卷积阶段,只需要1个卷积核大小为wk×hk深度为M的卷积核;在逐点卷积阶段,需要N个卷积核大小为1×1深度为N的卷积核,深度卷积和逐点卷积的每个卷积核都需要经过Dw×Dh次运算。如图2为深度分离卷积的过程,其计算量Fdc如式(2):
Fdc = wk×hk×M×Dw×Dh + M×N×Dw×Dh (2)
深度可分离卷积与传统卷积的计算量之比R如式(3):
从传统卷积与深度可分离卷积的计算量和参数量之间可以得到,在相同的计算效果下,无论是参数量还是计算量都比传统卷积极大减少了模型的计算量。Shuffle-Block中特征提取组件使用的是深度可分离卷积,而深度可分离卷积则更加适合在嵌入式设备上部署运行。
2 改进的YOLOv5s检测算法
2.1 轻量化网络
随着深度学习技术的发展,交通标志的检测朝着自动化、智能化的方向发展,深度学习算法对交通标志有着优异的检测性能,可实现传统方法难以达到的检测效果。YOLOv5s作为开源的目标检测网络与同一系列目标检测网络相比,在速度和精度上有着明显的优势。由于YOLOv5s在初始模型的特征阶段对目标的检测效果非常差,网络模型体积较大,参数量多,对硬件要求高且不能再在移动端部署。针对以上情况,本文提出了一种改进YOLOv5s的轻量化检测算法。
2.2 引入轻量化
圖3为Shuffle-Block在网络结构中重新设计了两种核心模块,如图3(a)大小不变单元所示,主要用于提取特征同时保持特征图的大小。首先,在进行卷积操作前,使用通道分割(Channel Split, CS)将输入通道分为两个分支,左分支不进行处理,右分支分别进行深度卷积等一系列处理,再将左分支的通道与右分支卷积输出特征进行融合并进行通道混洗,使各分支间的特征信息得以交流,从而加强两通道之间的图像信息融合;如图3(b)2倍下采样单元所示,主要对图像特征进行2倍下采样,左右分支都进行了降采样操作,且两个分支上的普通卷积均改为了深度可分离卷积,大幅减少了计算量,加快了模型的训练速度,达到轻量化模型的目的。
为了减少原YOLOv5s的计算量,本文选用Shuffle-Block来构建主干网络,使其现有的网络层数少于YOLOv5s网络使用的Darknet53结构,一方面参数量减少,另一方面模型大小也压缩了,从而实现网络轻量化。
本文检测算法整体网络结构为端到端的一阶段网络YOLO结构,分为输入端、主干网络、颈部网络和输出端等五个部分,输入端像素大小为416×416、RGB通道的交通标志图像,主干网络被称为特征提取网络,本文由Shuffle-Block网络的前半部分结构构成,从而使得其功能组件,在移动端嵌入式设备上实现交通标志检测,颈部网络的主要作用是进行特征融合,本文将深层的特征图经过上采样与中层特征信息进行融合,这样可以更好地融合浅层的位置信息和深层的语义信息从而提升模型的检测能力。
3 实验及结果分析
3.1 实验数据
本文以交通标志为研究对象,因开源数据集CCTSDB来源于车载摄像头、城市道路、高速公路等多个复杂交通场景[8]与真实路况相近,选用该数据集进行实验。在该数据集中用LabelImg标注工具将数据集的标签细分为Prohibitory、Speed limit、Warning、Mandatory四个大类。
3.2 实验环境和训练方法
本文模型的训练和测试均在Ubuntu操作系统上完成,实验的初始学习率为0.01,循环学习率为0.2,IoU训练的阈值设置为0.2,batch-size设置为16,总训练的试验次数为200轮。
具体实验环境配置如表1所示。
为了突出模型具有良好的有效性和普适性,使用YOLOv5s中原有的Mosaic数据增强方法,对输入图像特征进行随机裁剪、缩放、排布的方式进行拼接,之后输入网络进行训练。Mosaic是对CutMix的改进版,Mosaic通过对选出的四张图片进行拼接,得到一张新的图片之后,传入神经网络模型中进行学习,增强了检测物体的有效信息,提高了网络识别模型的稳定性,能够减少对图片错误信息标签的识别,提高该模型的泛化性和鲁棒性。如图4为采用Mosaic数据增强后的图像示例。
在上述实验环境中在设置相同的batch-size,img-size,对改进后的模型及YOLOv5s模型进行对比实验,分别以准确率(Precision)、召回率(Recall)、均值平均准确率(means Average Precision, mAP)对模型识别的效果进行评测。使用每秒传输帧数(Frame Per Second, FPS)对检测速度进行评估。到模型训练损失几乎不降低的条件下停止训练。
通过表2混淆矩阵来计算精确率与召回率。
召回率是指在真实情况下正样本中预测结果为正样本的比例,能够衡量模型的漏检程度。计算公式为:
精确率是指预测结果中正样本中真实情况为正样本的比例,能够衡量模型的错检程度。其计算公式为:
图5为两者的准确率曲线对比,改进后模型的准确率相对于YOLOv5s模型较低,但在经过100个epochs后仍能达到0.898,实现轻量化的同时也保证了模型的精度不变。
图6为两者的Recall曲线的对比。在经过130个epoch后,两者的Recall趋于相同,改进后模型的Recall能达到0.898。
由实验结果可知,经过两者对比,本文选用Shuffle-Block来构建主干网络,使其现有的网络层数少于YOLOv5s网络使用的Darknet53,一方面参数量大幅减少,另一方面模型大小也压缩了,从而实现网络轻量化。但是从检测效果上观察,如图7所示,相比于YOLOv5s改进后的模型检测效果略差,在网络轻量化的同时,会出现检测率识别低的情况。图7(a)、(b)分别为自然场景下的YOLOv5s和改进后的模型检测结果,对比发现改进后网络识别模型的准确率低于YOLOv5s模型。
4 结 论
本文提出了一种基于YOLOv5s的轻量化交通标志检测算法,主要对YOLOv5s的目标检测网络进行分析,使用Shuffle-Block对YOLOv5s中的主干网络CSPDarknet53进行了替换,实现网络轻量化设计,在开源数据集上验证了所提出的算法可以在大幅降低计算量的同时保证了较高的检测精度,相比YOLOv5s的参数量降低了58.7%,计算量降低了54.66%,但改进后的模型平均精度mAP降低了约2.1个百分点,达到0.898。因此,在后续研究中,模型满足轻量化的同时,也要保证较高的检测精度,使其可以更好地部署在移动端。
参考文献:
[1] 杨港.混合交通环境自动驾驶系统测试方法研究 [D].吉林:吉林大學,2022.
[2] TAO X Y,GONG Y H,SHI W W,et al. Object Detection with Class Aware Region Proposal Network and Focused Attention Objective [J].Pattern Recognition Letters,2020,130:353-361.
[3] HAN S,POOL J,TRAN J,et al. Learning both Weights and Connections for Efficient Neural Network [J/OL].arXiv:1506.02626 [cs.NE].[2022-11-09].https://arxiv.org/abs/1506.02626v1.
[4] LI H,KADAV A,DURDANOVIC I,et al. Pruning Filters for Efficient Convnete [J/OL].arXiv:1608.08710 [cs.CV].[2022-11-09].https://arxiv.org/abs/1608.08710v2.
[5] 邱天衡,王玲,王鹏,等.基于改进YOLOv5的目标检测算法研究 [J].计算机工程与应用,2022,58(13):63-73.
[6] 郭磊,薛为,王邱龙,等.一种基于改进YOLOv5的小目标检测算法:CN202111382559.1 [P].2022-03-25.
[7] ZHU L,XIE Z H,LUO J,et al. Dynamic Object Detection Algorithm Based on Lightweight Shared Feature Pyramid [J/OL].Remote Sensing,2021,13(22):4610[2022-11-09].https://www.mdpi.com/2072-4292/13/22/4610.
[8] ZHANG J M,HUANG M T,JIN X K,et al. A Real-Time Chinese Traffic Sign Detection Algorithm Based on Modified YOLOv2 [J/OL].Algorithms,2017,10(4):127[2022-11-09].https://www.mdpi.com/1999-4893/10/4/127.
作者简介:白云(1973—),男,汉族,内蒙古呼和浩特人,副教授,硕士研究生,研究方向:智能交通系统;罗钰(1998—),
女,汉族,陕西咸阳人,硕士研究生在读,研究方向:深度学习、图像处理。
收稿日期:2022-12-29
基金项目:内蒙古自治区关键技术攻关计划项目(2019GG271);内蒙古自治区直属高校基本科研业务费项目(JY20220227);内蒙古自治区高等学校科学研究项目(NJZY22387);内蒙古工业大学科学研究项目(ZY202018)