基于YOLO的交通信号灯检测算法
2021-07-28毛涛
毛涛
(安徽理工大学计算机科学与工程学院,安徽淮南 232000)
0 引言
交通信号灯在人们的日常生活中扮演着至关重要的角色。交通信号灯的检测往往受到各种因素的影响,比如天气环境因素,采集的图片存在大量噪声以及图片中包含的像素比较少等,都是直接或间接导致交通信号灯检测难的原因。随着自动驾驶以及辅助驾驶技术的出现,对交通信号灯的检测变得愈发重要。
早期对交通信号灯的检测,主要是通过传统的图像处理算法。Yelal M R[1]提出了一种基于颜色的实时交通信号灯追踪监测算法,提高了事故调查的效率,同时减少了因为自动驾驶技术造成的经济损失。另外一种检测算法则需要大量的GPS数据,通过在地图上标记出交通信号灯的准确位置来绘制地图,以此来得到交通信号灯的先验信息。
近些年神经网络的兴起,带动着计算机视觉发展,一些SOTA的目标检测算法不断的被世界各地的学者提出。目标检测算法根据是否提前计算候选区域被分为两类:单阶段算法和双阶段算法。单阶段目标检测算法是在RCNN[2]的基础上,经过数年的发展逐渐走向成熟的一类算法,现阶段用的最多并且精度高的算法是Faster-RCNN[3],它的提出使RCNN系列算法提升到了一个新的高度,大量的基于Faster-RCNN的改进不断的出现。相比于双阶段算法的精确,单阶段的目标检测算法带来的则是速度的提升。以YOLO[4]和SSD[5]为代表的单阶段目标检测算法,逐渐成为计算机视觉的研究热点。速度快的特点,导致单阶段的算法可以近乎实时的完成一些目标检测的任务。
本算法使用YOLO的最新版本YOLOv5作为基础算法,为了对交通信号灯有比较好的检测结果。在保证速度的情况下,我们在YOLOv5的网络中添加了注意力模型,使得YOLOv5的网络能够在训练以及测试阶段,提取出有用的交通信号灯特征,通过网络的不断学习,对交通信号灯的检测变得更加准确。
1 相关工作
1.1 YOLOv5
单阶段的YOLOv5目标检测算法是YOLO系列算法的最新成果。它保留了先前算法检测速度快的优点,使得网络的搭建更加的简单。如图1所示,YOLOv5包含两个大的部分,分别为主干网络、检测头。其中,主干网络用来提取输入图片的特征图,然后将特征图送入检测头进行预测框的回归和分类,最后计算损失,通过梯度反向传播算法将损失反向传播,以此更新网络中的权重。
图1 YOLOv5网络结构图Fig.1 YOLOV5 network structure
YOLOv5在YOLOv4的基础上,在主干网络刚开始添加了FOCUS结构,该结构使得图片在下采样的过程中,能够解决信息丢失的问题,并且将W、H的信息集中到通道中,然后使用3*3的卷积进行特征的提取,使得特征的提取更加的充分。这个结构虽然增加了一些计算量,但是为了主干网络的下一步特征提取保留了更加完整的细节信息。
YOLOv5网络中使用了大量的CSP[6](Cross Stage Partial)结构,以此来解决因为网络比较深而带来计算量大的缺点。CSP结构不会带来检测精度上的损失,反而会增强网络的学习能力,减少内存的消耗。YOLOv5中使用了两种不同宽度和深度的CSP模型,能够获得更加丰富的特征图,方便后面的检测。如表1所示,主干网络中每隔一个基础的卷积模块就会使用一个CSP结构来减少一下计算量,同时保证网络能够有很好的能力去学习。在YOLOv5的Neck模块中,使用了第二种CSP结构,增强了特征融合的能力,在YOLOv4中只是使用了简单的融合方法进行融合,取得的融合想过相比YOLOv5是比较差的。
表1 主干网络的参数Tab.1 Parameters of backbone network
图2 通道空间融合注意力模型Fig.2 Channel spatial fusion attention model
YOLOv5一共有五个宽度和深度不同的网络模型,配置文件中只用到了两个参数就控制了宽度和深度的变化。YOLOv5s和YOLOv5m是两个最基本的模型,主干网络中CSP结构的宽度和深度都有着很明显的增加,这主要是为了更好的提取特征图。而Neck结构中,只是想在降低计算量的情况下,更好的提高融合的效果,并没有很大程度上增加CSP结构的宽度和深度,而只是增加了一点,来更好的达到融合的目的。
1.2 注意力模型
注意力机制一共有三个不同的模型,通道注意力模型、空间注意力模型以及通道空间融合注意力模型。
1.2.1 通道注意力模型
图像经过卷积的操作,通道数会成倍的增加,对于对于每个通道中重要的区域进行检测,是注意力模型的一个重要组成部分。图片在经过卷积操作之后,会被送入通道注意力模型进行权重的计算,根据通道的重要程度,分别赋予不同的权重,权重和重要程度成正比。
1.2.2 空间注意力模型
样本中不是所有区域对检测任务的贡献是同样重要的,只有满足任务需求的那一部分区域才需要算法着重检测,而空间注意力模型就是为了在样本中找到这样的区域进行处理。Dynamic Capacity Networks则采用了两个子网络来实现这个任务,低性能的子网络负责找到着重处理的区域,而高性能的子网络负责对低性能子网络找到的区域进行精细化处理,从而获得更低的代价和更高的精度。
1.2.3 通道空间融合注意力模型
通过将通道注意力和空间注意力相融合,提出了一种新的注意力模型,即通道空间融合注意力模型。这个模型使得通道注意力和空间注意力模型的优点体现在了同一个模型上,从空间和通道两个方面对图像的重要区域进行判断。
2 结合注意力机制的YOLOv5
笔者将最新的YOLOv5模型与注意力模型相结合,应用在交通信号灯的检测上。目的是为了将YOLO的速度与注意力模型对重要区域的提取相结合,得到一种近乎实时、检测精度高的算法。为了能够减少计算量以及得到高精度的实验结果,注意力模型主要被用在了主干网络中。
3 实验结果与分析
本文不同的交通信号灯进行了检测比较试验,如图3所示,(a)和(b)为正常的交通信号灯,而且就尺寸来说,属于大尺寸的目标。(c)中为损坏的交通信号灯,相比较前两张图片少了很多信息,我们的算法依然能够有很好的检测效果。(d)属于小目标的交通信号灯,在特征提取的时候,信息最容易丢失,然而加上注意力模型之后,产生了不错的效果。
图3 交通信号灯检测结果Fig.3 Test results of traffic lights
4 结语
本文以YOLOv5为基础网络,加上了注意力模型,在交通信号灯的检测上取得了一定的效果,提升了小目标交通信号灯的检测精度,能够检测不同场景下的交通信号灯。