一种基于视频流的智能交通信号灯故障识别方法技术

技术编号:38909343 阅读:10 留言:0更新日期:2023-09-25 09:27
本发明专利技术公开了一种基于视频流的智能交通信号灯故障识别方法,包括如下步骤:首先读取电子警察视频流,采集各种实际情景下路口的电子警察视频流;然后对“东南西北”四个方向的视频流进行横向拼接并分帧,制作数据集;使用LabelImg软件对数据集中的信号灯状态进行人工标注;再对YOLOv5模型进行网络结构的改进后进行模型的训练;最后完成对交通信号灯的识别和故障判定。本发明专利技术有效解决了人工巡检信号灯故障效率低、误报率高的问题,提高了对小尺度交通信号灯故障检测的准确率,构建了实时的交通信号灯故障检测系统,力保当交通信号灯出现故障时,能尽早被发现和处理。能尽早被发现和处理。能尽早被发现和处理。

【技术实现步骤摘要】
一种基于视频流的智能交通信号灯故障识别方法


[0001]本专利技术涉及计算机视觉与深度学习
,具体涉及一种基于视频流的智能交通信号灯故障识别方法。

技术介绍

[0002]在城市交通管理中,交通信号灯对交通流的控制和引导起着至关重要的作用,一旦发生错误,会对交通安全和城市通行效率带来巨大影响。然而,城市交通信号灯数量多、分布广,且人工巡检效率低下,使得交通信号灯故障的实时监测工作变得困难,影响交通的正常运行。如何准确、高效地检测交通信号灯的故障状态是当前城市交通管理迫切需要解决的问题。因此,构建实时视频流的交通信号灯故障检测系统,力保当交通信号灯出现故障时,能尽早被发现和处理,是目前提高道路通行效率和市民出行体验最有效的策略。
[0003]目前交通信号灯故障检测主要依靠电子电路检测设备结合人工观察的方式来发现故障。电子电路检测方法需要设计一种交通信号灯故障检测电路,该电路包括对信号灯内部及信号机输出的电压和电流进行检测。缺点是对城市交通信号灯模块的维护和更换成本非常高,包括路口新增检测模块的远程维护和保障工作。且通过信号机输出的检测方式来判断信号灯状态,需要适应不同供电类型和功率类型的信号灯,复杂度高,同时外部供电环境的变化也会影响检测的准确性。
[0004]对于交通信号灯检测和识别的算法从基于手工特征的传统算法已经发展到现阶段应用广泛的基于深度神经网络的相关算法。从2013年提出OverFeat算法,到R

CNN算法,2015年提出的Fast RCNN和YOLO算法,以及后续出现的SSD算法、Faster RCNN、YOLOv2和YOLOv3算法,并且到现阶段已经提出的YOLOv5。短短几年从网络结构方面而言,从自下到上(Bottom

Up)到自上到下(Top

Down),从二阶段(Two stage)到一阶段(One stage),产生了一大批检测性能和识别效果俱佳的算法。但是,因信号灯检测目标偏小,既有的研究方法识别准确率低,即便在光线情况良好视野清晰的实际道路场景中,仍然会出现明显的对小尺度交通信号灯漏检、误检的情况。因此,如何提高对小尺度交通信号灯故障检测的准确率,成为了当前研究的重要方向。

技术实现思路

[0005]针对现有目标检测与识别技术对于小尺度目标的检测精度低、实时性差、人工巡检信号灯故障成本高的问题,本专利技术提供了一种基于视频流的交通信号灯故障检测方法,通过计算机视觉与深度学习技术相结合取代传统的电子电路故障检测方法,显著提高了工作效率,降低了人工巡检、维修的成本,同时本专利技术将注意力机制SE模块引入YOLOv5网络,将焦点损失函数FocalLoss引入模型的训练过程,提高了对小尺度交通信号灯故障检测的准确率,确保第一时间识别出交通信号灯的故障,以提高道路通行效率和市民出行体验。
[0006]为了实现上述目的,本专利技术的具体技术方案如下:
[0007]步骤1,读取电子警察视频流:
[0008]读取电子警察视频流,获取制作数据集所需的视频流。(包含“东南西北”四个方向的信号灯)
[0009]步骤2,数据集制作:根据步骤1获取的多个路口电子警察“东南西北”四个方位的信号灯视频流,使用Python脚本,对四个方位的视频流进行拼接,定义拼接函数为“videopj”,再使用FFmpeg对拼接成功后的mp4视频进行分帧截取,即可得到数据集,数据集共2025张图像,图像分辨率为1280
×
720。
[0010]步骤3,改进YOLOv5网络模型,并基于该模型识别信号灯:引入SE

Net注意力机制网络,将SE模块分别嵌入YOLOv5网络的Backbone、Neck、Head三个网络模块中,产生三个新的网络模型SEA_YOLOv5s、SEB_YOLOv5s和SEC_YOLOv5s。SEA_YOLOv5s中,将SE模块嵌入Backbone网络的BottleneckCSP结构,具体嵌入位置在Conv卷积特征融合Concat的输出端与BN的输入端之间;SEB_YOLOv5s中,将SE嵌入Neck,将SE嵌入每一个Contact模块的输出端与BottleneckCSP2_1的输入端之间;SEC_YOLOv5s中,将SE嵌入Head,具体嵌入位置在Neck网络的BottleneckCSP2_1输出端与Head网络的YOLO检测头卷积的输入端之间。
[0011]步骤4,改进YOLOv5网络模型的损失函数,引入焦点损失函数,包含正负样本的权重控制、易分类和难分类样本的权重控制、两种权重控制方法合并。
[0012]步骤5,训练和验证改进后的YOLOv5网络模型:基于YOLOv5模型以及预训练权重yolov5s.pt,创建模型配置文件并修改训练所需的超参数,进行交通信号灯训练集的训练,最终得到模型检测准确率、召回率最高的权重文件best.pt。
[0013]步骤6,将权重文件best.pt配置于YOLOv5模型中进行信号灯识别及故障判定。
[0014]作为优选,步骤2包括:步骤2

1,视频流关键帧采样之后,使用LabelImg软件对2025张图像中的交通信号灯进行标注和预处理。在此过程中,需要对数据集图片中的绿灯、红灯、黄灯和熄灭这四种工作状态进行标注,以提高模型的判别能力,保证识别效果的准确性。
[0015]步骤2

2,将标注后的数据集按比例划分为训练集与验证集。这一步骤是为了给模型提供较为准确的初始训练数据,并使用验证集进行模型的评估。另外,在进行数据集标注时,需要注意所标注的区域要尽量紧贴信号灯的灯板边缘,可以避免出现过多的背景干扰。
[0016]作为优选,步骤3包括:
[0017]步骤3

1,开发环境配置:搭建开发环境,包括操作系统、CUDA版本、CuDNN、Python版本、深度学习框架、GPU、CPU、内存和硬盘等,设置好高算力的设备部署方案。
[0018]步骤3

2,模型改进:
[0019]YOLOv5采用One

Stage结构,由四个模块组成,分别是Input输入端、Backbone主干网络、Neck网络层、Head输出端。目标检测模型随着网络层次的加深,提取的信息越来越抽象,对于监控图像中远处小目标交通信号灯的检测就更加困难,难以准确检测。
[0020]YOLOv5的基本组件:
[0021]Focus:沿用YOLOv2网络的passthrough。
[0022]CBL:由Conv+Bn+LeakyReLU激活函数三者组成。
[0023]CSP1_X:在CSPNet网络的基础上,由三个卷积层和X个Res Unint模块Concate组成。
[0024]CSP2_X:取消Res Unint模块,改为使用CBL模块。
[0025]SPP:采用1
×
1,5...

【技术保护点】

【技术特征摘要】
1.一种基于视频流的智能交通信号灯故障识别方法,其特征在于,包括如下步骤:步骤1:读取电子警察视频流,获取制作数据集所需的信号灯视频流;步骤2:制作数据集:根据步骤1获取的视频流,使用Python脚本对不同方位的视频流进行拼接以得到数据集;步骤3:改进YOLOv5网络模型,并基于该模型识别信号灯:引入SE

Net注意力机制网络,将SE模块分别嵌入YOLOv5网络的Backbone、Neck、Head三个网络模块中,产生三个新的网络模型SEA_YOLOv5s、SEB_YOLOv5s和SEC_YOLOv5s,具体的:SEA_YOLOv5s中,将SE模块嵌入Backbone网络的BottleneckCSP结构,具体嵌入位置在Conv卷积特征融合Concat的输出端与BN的输入端之间;SEB_YOLOv5s中,将SE模块嵌入Neck网络,具体嵌入位置在每一个Contact模块的输出端与BottleneckCSP2_1的输入端之间;SEC_YOLOv5s中,将SE模块嵌入Head网络,具体嵌入位置在Neck网络的BottleneckCSP2_1输出端与Head网络的YOLO检测头卷积的输入端之间;步骤4:改进YOLOv5网络模型的损失函数,引入焦点损失函数,包含正负样本的权重控制、易分类和难分类样本的权重控制、两种权重控制方法合并;步骤5:训练和验证改进后的YOLOv5网络模型:基于YOLOv5模型以及预训练权重yolov5s.pt,创建模型配置文件并修改训练所需的超参数,进行交通信号灯训练集的训练,最终得到模型检测准确率、召回率最高的权重文件best.pt;步骤6:将权重文件best.pt配置于YOLOv5模型中进行信号灯识别及故障判定。2.根据权利要求1所述的一种基于视频流的智能交通信号灯故障检测方法,其特征在于,所述步骤2中,定义拼接函数为“videopj”,再使用FFmpeg对拼接成功后的视频进行分帧截取,使用LabelImg软件对视频流分帧后的图片中的信号灯的形状特征和颜色特征进行标注,并将标注后的数据集按比例划分为训练集与验证集。3.根据权利要求1所述的一种基于视频流的智能交通信号灯故障检测方法,其特征在于,Backbone网络为主干特征提取网络,为Focus+CSP结构,Focus模块输出端依次连接四组CBL+BottleneckCSP模块,BottleneckCSP模块的输出端均连接至Neck的输入端;Neck网络为加强特征提取网络,为FPN+PAN结构,将SE嵌入每一个Contact模块的输出端;Head网络为分类器与回归器,分类和回归在一个1
×
1卷积里实现,对特征点进行判断,判断特征点是否有物体与其对应。4.根据权利要求1所述的一种基于视频流的智能交通信号灯故障检测方法,其特征在于,所述正负样本的权重控制具体为:生成的候选框中有目标为正样本,否则为负样本,在损失函数前增加一个系数α
t
,范围为[0,1];所述易分类和难分类样本的权重控制具体为:在损失函数的基础上乘以调制系数,调制系数为(1...

【专利技术属性】
技术研发人员:张正华戚义盛金志琦苏权苏波李斌
申请(专利权)人:扬州国脉通信发展有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1