深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现
深度学习论文: 基于图像自适应的YOLO算法用于恶劣天气条件下的物体检测及其PyTorch实现
论文PDF: https://arxiv.org/pdf/2112.08088.pdf
PyTorch代码: https://github.com/shanglianlm0525/CvPytorch
PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks
1 概述
该文提出了一种新型的图像自适应YOLO (IA-YOLO)框架...能够实现对每张图片的自动亮度和对比度调节...从而显著提升检测性能...同时针对YOLO探测器在恶劣天气条件下的局限性...开发出一种可微分化的图像处理(DIP)模块...并采用小型卷积神经网络(CNN-PP)对其参数展开精确预测

IA-YOLO采用了端到端的学习机制来综合运用CNN-PP和YOLOv3架构,并通过这一机制使得CNN-PP能够自主学习并适应深度信息处理(DIP),从而实现基于弱监督的图像检测性能的显著提升。
2 Image-Adaptive YOLO (IA-YOLO)

2-1 DIP Module
在设计图像滤波器时,需遵循可微性和分辨率独立性这两个原则。针对基于梯度的CNN-PP优化方法而言,在设计滤波器时要求其具有可微性,并允许通过反向传播训练网络。然而,在处理高分辨率图像(例如4000×3000像素)时计算开销较大。因此,在本文中我们选择使用大小为256×256像素的低分辨率图像来训练滤波器参数,并随后将其应用到原始高分辨率为原图的数据上。由此可以得出结论:所设计的这些过滤器应具备对不同尺度和分辨率变化具有适应性的能力。
该模块由六个可微分化的滤波器构成,并具备调节超参数的能力。这些超参数主要包括去雾处理(Defog)、白平衡(WB)操作以及对比度(Contrast)、色调调整(Tone)和图像锐化(Sharpen)。其中传统颜色校正与色调调整操作符如白平衡(WB)、对比度(Contrast)等都可以表示为基于像素的操作符。因此该设计将滤波器划分为雾化处理区、像素化区域以及锐化阶段。
2-1-1 像素级滤波器

WB滤波器和Gamma滤波器是由简单线性叠加和幂次叠加实现的。 contrast滤波器,则是通过输入参数来调节原始图像与完全增强图像间的加权平均关系。


采用了单调递增的分段线性函数作为tune滤波器的设计。该tune滤波器通过估计L个可调参数进行学习。

2-1-2 锐化滤波器
图像锐化可以突出图像的细节。锐化过程可以描述如下:

在本操作中,输入图像分别表示为I,在经过高斯平滑核G作用后得到输出图像O。该方法对于输入图像I、高斯滤波器G以及正数标量参数λ均具有良好的可微性特性。需要注意的是,在目标检测任务中,锐化程度可以通过调节λ值来优化目标检测性能。
2-1-3 除雾滤波器
利用暗通道预处理模型构建了一个包含可学习参数的除雾滤波器。遵循大气散射理论,朦胧图像的具体表现为:

其中 I(x) 为雾天图像,J(x)为场景亮度。A为全球大气光,为介质透射图,定义为:

注
根据上式,可以推导出的近似解如下:

进一步介绍一个参数除雾程度控制方法如下:

基于前述操作具可微性这一性质,在反向传播的过程中可以将除雾滤波器转换为更适合用于雾天图像检测的形式。
2-2 CNN-PP Module
在相机图像信号处理(ISP)管道中
每个卷积块由一个使用stride=2的三维(宽度为3×3)卷积层以及LeakyRelu构成。这些卷积层依次连接,并且其输出通道分别为16、32、32、32和最后一个是DIP模块使用的超参数传递给该模块。这些通道数量固定不变的情况下,在总参数数量为165K时仅支持15个可学习参数。
2-3 Detection Network Module
这里选择one-stage检测器YOLOv3作为检测网络。
2-4 Hybrid Data Training
伪代码如下

3 Experiments


