深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现
Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions
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)对其参数进行预测。

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_卷积


IA-YOLO以端到端的方式学习CNN-PP和YOLOv3,这确保CNN-PP可以学习适当的DIP,以弱监督的方式增强图像进行检测。

2 Image-Adaptive YOLO (IA-YOLO)

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_pytorch_02

2-1 DIP Module

图像滤波器的设计应遵循可微性、分辨率独立的原则。对于基于梯度的CNN-PP优化,滤波器应该是可微的,以允许通过反向传播训练网络。但是如果在处理高分辨率图像(如4000×3000)时,会消耗大量计算资源,因此本文采用下采样的大小为256×256的低分辨率图像中学习滤波器参数,然后将相同的滤波器应用到原始分辨率的图像中。因此,这些过滤器需要独立于图像分辨率。

提出的DIP模块由六个可微滤波器组成,具有可调超参数,包括Defog、White Balance(WB)、Gamma、Contrast、Tone和Sharpen。标准的颜色和色调操作符,如WB、Gamma、Contrast和Tone,可以表示为像素级滤波器。因此,设计的滤波器可以分为雾化、像素化和锐化。

2-1-1 像素级滤波器

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_卷积_03


WB和Gamma滤波器是简单的乘法和乘方变换。

contrast滤波器,输入参数控制原始图像和完全增强图像之间的线性插值。

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_自适应_04


深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_自适应_05


tone滤波器设计为一个单调的分段线性函数。通过 L个参数来学习tone滤波器,

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_计算机视觉_06

2-1-2 锐化滤波器

图像锐化可以突出图像的细节。锐化过程可以描述如下:

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_自适应_07


其中为输入图像,为高斯滤波器,λ为正缩放因子。这个锐化操作对于和λ都是可微的。注意,锐化程度可以通过优化λ调优目标检测性能。

2-1-3 除雾滤波器

基于暗通道先验方法设计了一个具有可学习参数的除雾滤波器。基于大气散射模型,朦胧图像的形成可以表述为:

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_自适应_08


其中 深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_pytorch_09 为雾天图像,深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_卷积_10为场景亮度。深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_pytorch_11为全球大气光,为介质透射图,定义为:

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_深度学习_12


其中深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_计算机视觉_13为大气的散射系数,深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_自适应_14为场景深度。

为了恢复干净图像,关键是获取大气光A和透射图。为此,首先计算暗通道图,并选择最亮的1000个像素。然后,对雾霾图像的1000个像素平均估计A。根据上式,可以推导出的近似解如下:

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_自适应_15


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

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_pytorch_16


由于上面的操作是可微的,可以优化通过反向传播使除雾滤波器更有利于雾天图像的检测。

2-2 CNN-PP Module

在相机图像信号处理(ISP)管道中,通常使用一些可调滤波器进行图像增强,其超参数由经验丰富的工程师通过视觉检查手动调整。通常,这样的调优过程是非常笨拙和昂贵的。使用一个较小的CNN作为参数预测器来估计超参数,这是非常有效的。

每个卷积块包括一个带有stride=2的3 × 3卷积层和一个LeakyRelu。最后的全连接层输出DIP模块的超参数。这5个卷积层的输出通道分别为16、32、32、32和32。当输出参数总数为15时,CNN-PP模型只包含165K个参数。

2-3 Detection Network Module

这里选择one-stage检测器YOLOv3作为检测网络。

3 Experiments

深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_自适应_17


深度学习论文: Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions及其PyTorch实现_pytorch_18