YOLOv5-Fog: A Multiobjective Visual DetectionAlgorithm for Fog Driving Scenes Based onImproved YOLOv5
Abstract
1、基于改进的yolov5,提供了一个有雾驾驶场景的多目标检测网络。
2、利用虚拟场景的数据集和图像的深度信息构建了一个合成雾数据集
3、经过结构重新参数化修改的ResNeXt模型作为backbone
4、建立了一个FEM(feature enchancement module)来应对有雾图片缺乏特征的问题,并且用注意力模块关注更多有用的特征。
5、实验表明所提出的多目标检测网络在速度和准确率上优于原始yolov5
Introduction
1、讲了自动驾驶雷达和激光雷达的优缺点
2、自动驾驶在复杂场景所需要感知系统的三个特点:①准确率②实时性③鲁棒性
3、本文贡献:
- 使用图像的深度信息来生成合成雾数据集,即SynscapesFoggy
- 提出了一个新的特征提取网络Rep-ResNeXt提高特征提取的速度
- 提出了一种图像增强模块提高雾图像的对比度
- 提出了一种端到端改进的YOLOv5雾检测模型。与基本的Yolov5算法相比,在速度和准确率上都有提升
4、描述了其他的去雾方法
Method
改进后的YOLOV5网络结构图:
结构重参数化
融合Conv2d和BN
BN的计算公式如下
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9c34e446cbd54d528c5189be62a34659.png =100×100)
将这个常数项当成权重×到之前的卷积核上
在雾天,从单个分支主干提取的特征中存在大量噪声,这限制了检测任务的检测精度,如果使用复杂的多分支主干提取特征,检测速度会受到很大影响,不符合无人驾驶汽车的驾驶条件。通过以上操作,在训练和推理过程中使用了结构重新参数化技术来解耦Rep-ResNext
,在训练过程中,使用多分支结构来充分提取雾下目标的特征,在推理过程中将其转换为单分支结构,在不影响检测精度的情况下提高了检测速度。
检测颈部和检测头
这里似乎没什么创新,就单纯的介绍了下yolov5的颈部和头部
Image FEM
FEM是一种空间注意力机用来提高检测准确率。FEM会自动学习有雾图像的特征并且预测大气光照和其他超参数,FEM仅在训练阶段有效,因此它对推理速度没有影响。FEM接收backbone生成的最后一个特征图作为输入,FEM的主要目的是学习图像本身的特点,而不是图片里的目标,因此只需要主干的特征图。
FEM具体过程如下:
1、通过上采样将输入特征图的大小调整为与原始雾图像相同的大小(使用双线性插值算法)
2、通过全局最大池化和全局平均池化获得两个HW1的特征图,两个特征图在通道连接,然后通过卷积变为单个HW1的特征图
3、使用sigmoid激活函数获得空间注意力特征图
4、最后,将获得的空间注意力特征与先前上采样生成的特征图相乘,以获得基于不同权重的最终特征图
FEM的特点:
1、一般的恢复网络都是对图像进行去雾得到干净的图片,而FEM不生成清晰的图片,它通过CNN和注意力机制生成清晰的特征
2、仅在训练使用
3、使用注意力机制来改变雾场景中图像特征的权重,从而使网络能够选择性地提取特征。
Loss function
除了YOLOV5的损失,还添加了FEM的损失函数。
Experiment
数据集
基于虚像的深度信息生成了一个驾驶场景中的雾数据集,即Synscapes Foggy,包含25000张有雾图片。
图例:
为了保证消融实验的公平性,还使用了公共数据集RTTS。RTTS数据集是一个包含真实场景的雾状数据集,包含4332个雾状图像
训练和评估
混合训练方法,首先用BDD100K训练200个epoch,然后用Synscapes训练100个epoch。由于YOLOv5 Fog的图像FEM需要成对的清晰和模糊图像进行训练,因此在使用BDD100K数据集进行训练时,FEM没有进行训练,只训练了骨干和探测头。由于公交车和人等物体的尺度变化很大,采用了不同尺寸的锚,解决了物体尺度不平衡的问题,同时提高了检测精度。
实验分析
1、使用Rep-ResNeXt作为backbone速度比CSP-Darknet53作为主干快
2、Rep-VGG作为主干和Rep-ResNeXt速度差不多,但是Rep-ResNext的准确率更高。因为更复杂的ResNeXt在训练过程中可以学到更多的目标特征