2024年4月15日发(作者:蓝南风)
第34卷第4期
2023年12月
广西科技大学学报
JOURNALOFGUANGXIUNIVERSITYOFSCIENCEANDTECHNOLOGY
Vol.34No.4
Dec.2023
基于YOLOv5s的交通信号灯检测算法
周爱玲,谭光兴
*
(广西科技大学
摘
自动化学院,广西柳州545616)
要:在自动驾驶和辅助驾驶领域,准确判断交通信号灯的状态与类别对于智能汽车的行车安全十分重要。
针对城市道路交通信号灯目标小、背景环境复杂多样造成的检测难度大等问题,提出一种基于YOLOv5s的交通
信号灯检测算法YOLOv5s_MCO。该算法使用MobileNetv2轻量化网络代替原主干特征提取网络,利用深度可分
离卷积和逆残差结构,降低模型的参数量及计算量;然后引入卷积块注意力机制(convolutionalblockattention
module,CBAM),从通道和空间2个维度进行特征增强,增大网络的感受野,使网络更关注交通信号灯的目标
特征,提高对小尺度目标的检测能力。实验结果表明:所提算法在自制的国内交通信号灯数据集上检测精度达
到了81.89%,相较于原YOLOv5s算法提升了1.33%,同时改进后的模型大小仅为19.1MB,检测速度达到了
39.2帧/s,能够满足实时高效的检测要求。
关键词:交通信号灯;MobileNetv2;卷积块注意力机制(CBAM);检测
中图分类号:TP391.41;U491.5DOI:10.16375/45-1395/t.2023.04.010
0引言
近年来,随着科学技术和人工智能(artificial
intelligence,AI)的日益革新,基于深度学习和计算
机视觉的自动驾驶和辅助驾驶技术正在逐渐取代传
统的道路交通场景目标检测算法。交通信号灯是组
成道路交通安全的重要元素,高效准确地识别交通
信号灯的状态,可以帮助智能汽车提前获取交通路
口信息,避免出现安全事故,为乘客安全提供保障。
早期的交通信号灯检测算法主要采用传统图像
处理方法,通过滑动窗口手工提取交通灯的目标特
征,并结合机器学习分类器完成检测与识别
[1]
。
Omachi等
[2]
将RGB图像转换为RGB标准化图像,
利用Hough变换从候选区域中准确定位交通灯的位
置。朱永珍等
[3]
完成图像HSV色彩空间转换,利用
色彩H阈值分割候选区域,原图再经灰度形态学操
作后用Hough变换预测疑似区域,二者融合滤波后
完成交通灯信息识别。这些传统图像处理算法采用
大量手工设计模型提取的特征,对特定任务的依赖
程度高,鲁棒性较低,泛化效果不足,难以在复杂
收稿日期:2022-12-03
基金项目:国家自然科学基金项目(61563005)资助
第一作者:周爱玲,在读硕士研究生
*
交通环境中满足实时性要求。
近年来,随着卷积神经网络体系结构的不断发
展,目标检测算法进入了百花齐放的阶段。目前,
基于深度学习的目标检测算法可分成两个类别:以
FasterR-CNN
[4]
等为代表的两阶段算法,预先生成
可能存在目标的候选边界框再进行调整分类,准确
率高但检测效率较低;以SSD
[5]
、YOLO
[6]
等为代表
的单阶段算法,网络跳过生成候选区域的步骤一步
到位完成检测,检测速度得到提升,但相较两阶段
算法精度有所下降。潘卫国等
[7]
补充了国内交通信
号灯信息,在自建数据集中使用FasterR-CNN算
法,通过实验对比,选择了最优的特征提取网络,
完成交通信号灯的检测与识别。王莉等
[8]
利用跨越
式特征融合和聚类缩放获取新先验框的方法改进了
YOLOv3网络,相较原网络在Bosch交通灯数据集
上平均精度均值(meanaveragepnecision,mAP)提
高了9%。Yan等
[9]
利用K-means聚类对YOLOv5进
行改进,在BDD100K数据集中,交通信号灯的检
测速度得到提高,最高可达143帧/s。现有的基于
深度学习的交通信号灯算法虽然规避了传统算法中
通信作者:谭光兴,博士,教授,研究方向:智能控制技术,E-mail:*************
Copyright©博看网. All Rights Reserved.
70
广西科技大学学报第34卷
人工提取特征和对特定任务依赖程度高的问题,但学习的目标检测网络的优点。基于实际应用考虑,
却存在网络模型结构复杂、参数量过大、检测效率
本文采用YOLOv5模型(5.0版本)中深度最小、速度
较低、训练代价高等问题。
最快的YOLOv5s为基础进行实验,其网络模型结构
针对传统图像处理方法和日常目标检测算法所
如图1所示,主要分为输入端(Input)、主干网络
存在的问题,同时考虑网络的检测精度与检测速
(Backbone)、特征融合网络(Neck)、输出端(Out‐
度,以YOLOv5s目标检测算法为基础,设计了交
put)4个部分。1)输入端部分包括图像数据增强、
通信号灯检测模型YOLOv5s_MCO。通过引入轻量
尺寸缩放等,输入图像经过输入端的统一压缩,分
化模型MobileNetv2,在保证检测精度的情况下,
辨率减小为640×640后输入主干网络进行训练。2)
降低模型的参数以及计算量;并将卷积块注意力机
主干网络主要包括:Focus模块的切片操作、交替使
制(convolutionalblockattentionmodule,CBAM)模
用的CBS模块和C3模块的主干网络特征提取操作、
块添加至Output网络的Head检测头前,使网络更
融合了局部特征和全局特征的空间金字塔池化(SPP)
关注图像中的目标特征,增强算法的特征提取能
操作,提取出主干网络的3个不同阶段的特征输入
力。实验结果表明:在自制的国内城市交通信号灯
Neck网络。3)Neck网络采用特征金字塔(FPN)和
数据集上,本文所提出的交通信号灯检测算法可以
路径聚合网络(PAN)结构进行加强特征的融合提取,
较好地应用于城市道路交通场景中,并取得了良好
融合主干网络各特征层和检测网络提取的信息,增
的检测结果。
强信息传递效率,提升模型的多样性和鲁棒性。4)
1YOLOv5模型
从YOLOv1发展至YOLOv5,YOLO系列作为
单阶段目标检测算法的代表,集合了很多基于深度
Input
Backbone
Focus(320,320,12)
CBS(320,320,64)
640×640×3
CBS(160,160,128)
Concat
C3(160,160,128)
Upsample
CBS(80,80,256)
CBS
C3(80,80,256)
C3
CBS(40,40,512)
Concat
C3(40,40,512)
Upsample
CBS(20,20,1 024)
CBS
SPP(20,20,1 024)
C3(20,20,1 024)
Neck
输出端部分具有分别检测大、中、小3种尺度目标
的Head检测头:20*20、40*40、80*80,将特征融
合网络中提取出的特征图经过多尺度预测,最终得
出检测目标的边界框、类别和置信度信息。
Output
C3
CBS
Concat
C3
CBS
Concat
C3conv2dYOLO Head
conv2dYOLO Head
conv2dYOLO Head
Maxpooling
CBSConvBNSiLU
SPPCBSMaxpooling
Maxpooling
CBS
C3CBSResunit
X
2024年4月15日发(作者:蓝南风)
第34卷第4期
2023年12月
广西科技大学学报
JOURNALOFGUANGXIUNIVERSITYOFSCIENCEANDTECHNOLOGY
Vol.34No.4
Dec.2023
基于YOLOv5s的交通信号灯检测算法
周爱玲,谭光兴
*
(广西科技大学
摘
自动化学院,广西柳州545616)
要:在自动驾驶和辅助驾驶领域,准确判断交通信号灯的状态与类别对于智能汽车的行车安全十分重要。
针对城市道路交通信号灯目标小、背景环境复杂多样造成的检测难度大等问题,提出一种基于YOLOv5s的交通
信号灯检测算法YOLOv5s_MCO。该算法使用MobileNetv2轻量化网络代替原主干特征提取网络,利用深度可分
离卷积和逆残差结构,降低模型的参数量及计算量;然后引入卷积块注意力机制(convolutionalblockattention
module,CBAM),从通道和空间2个维度进行特征增强,增大网络的感受野,使网络更关注交通信号灯的目标
特征,提高对小尺度目标的检测能力。实验结果表明:所提算法在自制的国内交通信号灯数据集上检测精度达
到了81.89%,相较于原YOLOv5s算法提升了1.33%,同时改进后的模型大小仅为19.1MB,检测速度达到了
39.2帧/s,能够满足实时高效的检测要求。
关键词:交通信号灯;MobileNetv2;卷积块注意力机制(CBAM);检测
中图分类号:TP391.41;U491.5DOI:10.16375/45-1395/t.2023.04.010
0引言
近年来,随着科学技术和人工智能(artificial
intelligence,AI)的日益革新,基于深度学习和计算
机视觉的自动驾驶和辅助驾驶技术正在逐渐取代传
统的道路交通场景目标检测算法。交通信号灯是组
成道路交通安全的重要元素,高效准确地识别交通
信号灯的状态,可以帮助智能汽车提前获取交通路
口信息,避免出现安全事故,为乘客安全提供保障。
早期的交通信号灯检测算法主要采用传统图像
处理方法,通过滑动窗口手工提取交通灯的目标特
征,并结合机器学习分类器完成检测与识别
[1]
。
Omachi等
[2]
将RGB图像转换为RGB标准化图像,
利用Hough变换从候选区域中准确定位交通灯的位
置。朱永珍等
[3]
完成图像HSV色彩空间转换,利用
色彩H阈值分割候选区域,原图再经灰度形态学操
作后用Hough变换预测疑似区域,二者融合滤波后
完成交通灯信息识别。这些传统图像处理算法采用
大量手工设计模型提取的特征,对特定任务的依赖
程度高,鲁棒性较低,泛化效果不足,难以在复杂
收稿日期:2022-12-03
基金项目:国家自然科学基金项目(61563005)资助
第一作者:周爱玲,在读硕士研究生
*
交通环境中满足实时性要求。
近年来,随着卷积神经网络体系结构的不断发
展,目标检测算法进入了百花齐放的阶段。目前,
基于深度学习的目标检测算法可分成两个类别:以
FasterR-CNN
[4]
等为代表的两阶段算法,预先生成
可能存在目标的候选边界框再进行调整分类,准确
率高但检测效率较低;以SSD
[5]
、YOLO
[6]
等为代表
的单阶段算法,网络跳过生成候选区域的步骤一步
到位完成检测,检测速度得到提升,但相较两阶段
算法精度有所下降。潘卫国等
[7]
补充了国内交通信
号灯信息,在自建数据集中使用FasterR-CNN算
法,通过实验对比,选择了最优的特征提取网络,
完成交通信号灯的检测与识别。王莉等
[8]
利用跨越
式特征融合和聚类缩放获取新先验框的方法改进了
YOLOv3网络,相较原网络在Bosch交通灯数据集
上平均精度均值(meanaveragepnecision,mAP)提
高了9%。Yan等
[9]
利用K-means聚类对YOLOv5进
行改进,在BDD100K数据集中,交通信号灯的检
测速度得到提高,最高可达143帧/s。现有的基于
深度学习的交通信号灯算法虽然规避了传统算法中
通信作者:谭光兴,博士,教授,研究方向:智能控制技术,E-mail:*************
Copyright©博看网. All Rights Reserved.
70
广西科技大学学报第34卷
人工提取特征和对特定任务依赖程度高的问题,但学习的目标检测网络的优点。基于实际应用考虑,
却存在网络模型结构复杂、参数量过大、检测效率
本文采用YOLOv5模型(5.0版本)中深度最小、速度
较低、训练代价高等问题。
最快的YOLOv5s为基础进行实验,其网络模型结构
针对传统图像处理方法和日常目标检测算法所
如图1所示,主要分为输入端(Input)、主干网络
存在的问题,同时考虑网络的检测精度与检测速
(Backbone)、特征融合网络(Neck)、输出端(Out‐
度,以YOLOv5s目标检测算法为基础,设计了交
put)4个部分。1)输入端部分包括图像数据增强、
通信号灯检测模型YOLOv5s_MCO。通过引入轻量
尺寸缩放等,输入图像经过输入端的统一压缩,分
化模型MobileNetv2,在保证检测精度的情况下,
辨率减小为640×640后输入主干网络进行训练。2)
降低模型的参数以及计算量;并将卷积块注意力机
主干网络主要包括:Focus模块的切片操作、交替使
制(convolutionalblockattentionmodule,CBAM)模
用的CBS模块和C3模块的主干网络特征提取操作、
块添加至Output网络的Head检测头前,使网络更
融合了局部特征和全局特征的空间金字塔池化(SPP)
关注图像中的目标特征,增强算法的特征提取能
操作,提取出主干网络的3个不同阶段的特征输入
力。实验结果表明:在自制的国内城市交通信号灯
Neck网络。3)Neck网络采用特征金字塔(FPN)和
数据集上,本文所提出的交通信号灯检测算法可以
路径聚合网络(PAN)结构进行加强特征的融合提取,
较好地应用于城市道路交通场景中,并取得了良好
融合主干网络各特征层和检测网络提取的信息,增
的检测结果。
强信息传递效率,提升模型的多样性和鲁棒性。4)
1YOLOv5模型
从YOLOv1发展至YOLOv5,YOLO系列作为
单阶段目标检测算法的代表,集合了很多基于深度
Input
Backbone
Focus(320,320,12)
CBS(320,320,64)
640×640×3
CBS(160,160,128)
Concat
C3(160,160,128)
Upsample
CBS(80,80,256)
CBS
C3(80,80,256)
C3
CBS(40,40,512)
Concat
C3(40,40,512)
Upsample
CBS(20,20,1 024)
CBS
SPP(20,20,1 024)
C3(20,20,1 024)
Neck
输出端部分具有分别检测大、中、小3种尺度目标
的Head检测头:20*20、40*40、80*80,将特征融
合网络中提取出的特征图经过多尺度预测,最终得
出检测目标的边界框、类别和置信度信息。
Output
C3
CBS
Concat
C3
CBS
Concat
C3conv2dYOLO Head
conv2dYOLO Head
conv2dYOLO Head
Maxpooling
CBSConvBNSiLU
SPPCBSMaxpooling
Maxpooling
CBS
C3CBSResunit
X