论文地址:https://arxiv.org/abs/2209.14922
项目地址:https://github.com/Gatedip/GDIP-Yolo
发表时间:2022年9月29日

在这里插入图片描述
在恶劣的天气和照明条件下检测物体对于自动驾驶汽车的安全和持续运行至关重要,而且仍然是一个未解决的问题。我们提出了一个门控可微图像处理(GDIP)块,这是一个领域不可知的网络架构,它可以插入现有的目标检测网络(例如,Yolo),并端到端训练不利条件的图像,如在雾和低光照下捕获的图像。我们提出的GDIP块通过下游目标检测损失直接增强图像。这是通过学习并发操作的多个图像预处理(IP)技术的参数来实现的,它们的输出使用通过一种新的门控机制学习的权重进行组合。我们通过一种渐进式图像增强的多阶段引导程序进一步改进了GDIP。最后,权衡精度和速度,我们提出了一种GDIP的变体,它可以用作训练Yolo模型的正则化器,它消除了在推理过程中对基于GDIP的图像增强的需要,从而产生了更高的吞吐量和合理fps。通过对合成数据集如PascalVOC、real-world foggy(RTTS)和low-lighting(ExDark)数据集的定量和定性研究,我们证明了几种最先进的方法对检测性能的显著改进。

总体解读

本篇论文与ia-yolo相比,在于将顺序化的图像IP操作修改为加权并行(GDIP),同时提出了多尺度的MGIDP;然后还指出GDIP模块可以作为正则项(在部署时移除)添加到yolo backbone的loss中,实现模型的去雾正则化训练。ia-yolo的论文可以查阅:
https://blog.csdn.net/a486259/article/details/132462926

GDIP模块作为正则化项,其loss计算方法为输入GDIP的图像与GDIP输出的图像的L1与mse loss,该操作迫使yolo backbone提取的特征与GDIP提取的特征保持一致性,从而是backbone具备与GDIP相同的效果。由此看来,该操作会限制模型的学习能力

但在与ia-yolo数据进行对比时发现存在疑点:

  • 1、 GDIP-YOLO真的比IA-YOLO有效么?通过在正常数据,带雾数据的效果,都不如IA-YOLO。但是在RTTS数据集上显著高于IA-YOLO。同时,通过下表,也是发现MGDIP-YOLO才是明显涨点的工具,这是多尺度所带来的优势。或许GDIP的模式更加适用于真实foggy conditions数据(RTTS数据集)
    在这里插入图片描述
  • 2、在低亮度结果中,IA-YOLO与GDIP-YOLO论文给出的数据存在显著性差异。IA-YOLO论文中的数据如下所示在这里插入图片描述
    GDIP-YOLO的数据如下。根据上下两行图,可以显著的看出有一方存在数据问题。
    在这里插入图片描述
  • 3) fps问题,ia-yolo在V100 GPU上检测出544×544×3分辨率的图像。它只比YOLOv3基线多花了13个ms(即多花30%的时间),然而在本文中的GTX1080中,fps降低了一半,明显增加了100%的推理时间。而在理论上IA-Yolo的计算量是要比GDIP少的。
    在这里插入图片描述

I. INTRODUCTION

自动驾驶需要对其环境有高水平的了解,才能有效地规划其轨迹和功能。这需要稳健的感知,这源于目标检测和语义分割,如识别和定位关键安全的物体,如行人和车辆。大多数目标检测方法都是为在理想环境条件下捕获的图像而设计和训练的,通常不适用于不利环境(如雾和弱光条件)。最近实现这种鲁棒性的尝试包括基于领域分类的不变检测[2]-[9]、基于原始知识的特征自适应[10]、[11]、对抗训练的图像对齐[12]、[13]、地图特定的领域自适应[14]和基于物理先验的zero-shot学习[15],[16]。

最近,可学习的图像预处理方法已经成为一种优越的替代[1],[15]-[23]。如何,这些方法要么局限于一个预处理模块[15],[16],[21]-[23],需要一个特定领域的结构变化[1],[18],[19],要么使用任意顺序的多个模块[1],[20]。在这项工作中,我们解决了所有这些限制,并提出了一种新的方法,学习以端到端方式增强图像在不利条件下的目标检测。这是通过一个可学习的基于门控的并发图像处理操作的加权组合来实现的,称为GDIP。我们提出的与Yolo集成的GDIP方法显著优于目前的SOTA,图像自适应Yolo(IA-Yolo [1]),它依赖于任意的序列图像预处理。在real-world foggy(RTTS [24])和low-lighting(Ex-Dark [25])数据集上,GDIP-Yolo在mAP中比IA-Yolo分别领先5.76和15.89。本文的主要贡献如下:

  • 1)一种新的门控机制,使多个可微图像处理模块并行相对加权,以增强图像在不利环境条件下的目标检测
  • 2)GDIP的多层次版本(multi-level GDIP),其中一个图像通过多个GDIP块逐步增强,每个GDIP块由图像编码器的不同层引导;
  • 3)将GDIP作为一种训练正则化器,直接改进了不利条件下的目标检测训练,消除了推理过程中对GDIP的需要,从而节省了计算时间,但性能略有下降。

II. RELATED WORK

目标检测是场景中目标定位和分类的问题,由于其在自动驾驶汽车等领域的应用,最近越来越受欢迎。解决目标检测问题有两种主要的方法,两阶段检测和单阶段检测。像FasterRCNN [26]和MaskRCNN [27]这样的两阶段探测器利用一个区域建议网络(RPN),生成可信的感兴趣区域的建议,并发送到执行分类的下游网络。两阶段方法的计算成本昂贵,减少了它们的应用范围。像Yolo [28]、RetinaNet[29]、SSD [30]和FCOS [31]这样的单级探测器绕过重RPN,直接提取具有相关标签的对象。然而,在不利的条件下,这两种类型的网络都无法检测到物体。

不利条件:典型的目标检测技术在恶劣天气条件下失败,而迁移学习已被证明是在恶劣天气条件下使用目标检测的一种可行方法。Chen等人[2]从领域自适应的角度来处理这个问题,并利用图像和实例级特征来减少领域偏移。Singadi等人[10]使用特定天气的知识,定义具有特征恢复的预先对抗性损失,以减轻天气对检测的影响。多尺度域自适应Yolo(MS-DAYOLO)[32]在不同尺度上使用每个域的分类器来学习域不变特征。Zhang等人[12]采用图像级特征对齐来匹配局部和全局特征。

可微图像预处理:解决这个问题的另一种流行方法是在目标检测之前进行图像增强。在暴露[20]中,一个深度强化学习模型学习一个策略来应用一系列的增强操作。AOD-Net [33]脱雾图像使用CNN设计的一个重新制定的大气散射模型。Dong等人的[34]使用了一种编码器-解码器架构(U-Net)和强度-操作-减去增强策略来帮助去除模糊图像。[18]采用多尺度注意机制,具有预处理和后处理模块,以产生更好的输入,减少最终脱光图像中的伪影。[35]等人之前使用暗通道(大多数像素的一个颜色通道较低)来去雾图像,但不执行目标检测。一些模型只针对单一的不利条件,Guo等人[19]通过估计迭代应用于输入图像的光增强曲线来进行光增强,提高了人脸检测性能。Zeng等人[36]学习多个查找表,并使用CNN预测将查找表融合成一个,并转换源图像的颜色和色调。DSNet [17]使用两个子网进行图像恢复和目标检测,以提高在恶劣天气条件下的性能。IA-Yolo [1]使用CNN预测可微图像处理参数,结合Yolov3 [28]训练用于目标检测以增强图像,并以端到端方式进行目标检测。

与现有的方法不同,GDIP是一个与领域无关的网络体系结构,它可以同时处理多个图像处理操作。此外,它还有一个独特的优势,即它可以作为一个训练正则化器,它消除了推理过程中的图像增强开销,从而产生了更高的吞吐量。

III. PROPOSED METHOD

我们提出了一个门控可微图像处理(GDIP)框架,该框架学习增强输入图像,用于不利环境条件下的目标检测。GDIP块学习同时执行的多个图像处理(IP)操作的参数,并学习最优权重来组合它们的输出。我们使用以下IP操作(类似于IA-Yolo [1]):音调校正(T)、对比平衡©、锐化(S)、除雾(DF)、gamma校正(G)、白平衡(W B)和识别操作(I)。与IA-Yolo的顺序图像增强不同,GDIP通过并发IP操作的加权组合来增强图像。

A. Gated Differentiable Image Processing (GDIP) block:

GDIP块(如图2所示)由多个门控图像处理模块组成,称为GbIP,它们单独增强图像,然后通过门控图像预测的权重将其进行组合。每个Gb模块包含一个线性层,一个可微的图像处理操作,一个门(移位的tanh函数,返回一个介于0到1之间的值),和一个归一化操作。线性层(图2中的紫色线性块)计算两个实体:可微IP块所需的参数和一个作为对应门输入的标量值。每个Gb模块的单个线性层通过一个公共特征嵌入作为输入,从一个共享的视觉编码器(稍后描述)获得。
在这里插入图片描述
IP操作的输出(使用预测的参数)乘以门的标量输出,得到单个Gb的加权输出,最后对块进行聚合,以获得增强的图像。用数学方法表示,GDIP块的输出如下所示,
在这里插入图片描述
其中x为输入图像,z为优化后的输出图像, f i f_i fi​为第i个图像IP操作, w i w_i wi​为各个IP对应门输出的权重,N为最大最小归一化。各个IP的定义可以见表1.
在这里插入图片描述
Vision Encoder: 我们提出的GDIP块需要潜在的嵌入来计算图像处理参数和门值。为此,我们使用了一个包含五个卷积层的视觉编码器(每个层的内核大小为3,步幅为1)。每一层的通道数量是前一层的两倍,从第一层的64个开始,到最后一层的1024个开始。每个卷积操作之后都是平均池化(kernel size 3,strip 2),而最后一层之后是全局平均池化,其输出是一个1x1x1024。然后使用完全连接的层将其投影到256维的潜在空间。GDIP块从视觉编码器中提取这个256维的嵌入和不良的输入图像,并在计算出必要的参数后进行图像增强。这里需要严格核查一下作者开源的代码,博主了解到的是使用VGG16作为GDIP的编码器

GDIP-Yolo: 为了将GDIP与Yolo集成,我们使用带有GDIP的视觉编码器进行图像增强(如图2所示),并使用增强后的图像作为Yolo的输入。以这种方式将GDIP与Yolo集成,确保了我们的架构不需要任何额外的损失公式,并使用Yolo的标准目标检测损失[37](称为Lobj)来训练网络进行端到端目标检测。

B. Multi-Level GDIP (MGDIP):

GDIP-Yolo包含一个单一的GDIP块,它被从视觉编码器获得的潜在嵌入所喂养。由于我们只使用了视觉编码器的最后一层,因此它限制了GDIP学习图像处理模块参数的信息范围。因此,我们提出了多级渐进式图像增强,通过将一个GDIP块与视觉编码器的每一层集成来实现,称为MGDIP-Yolo。请注意,单个GDIP块内的单个图像处理模块仍然与它们相应的门同时运行,提供相对权重,具体见图3。
在这里插入图片描述
如图3所示,MGDIP通过将一个GDIP块的输出作为输入到下一个GDIP块的输入来逐步增强图像,其中单个GDIP块由从视觉编码器的不同层中提取的特征引导。来自MGDIP的最终增强输出被传递给Yolo以进行目标检测。MGDIP-Yolo使用标准的目标检测损失Lobj进行端到端训练,类似于GDIP-Yolo。

我们假设,利用来自不同层的嵌入提供了对多个特征尺度的GDIP访问,每个特征尺度对不同的图像处理操作有不同的相关性。这是基于这样一种理解,即cnn中的早期层捕获较低级别的信息(局部信息,如边缘),之后的层捕获较高级别的(全局)信息。因此,MGDIP获得了使用局部/全局特征属性来有选择地应用图像处理操作的能力。

C. GDIP block as a regularizer:

在本节中,我们将演示如何将GDIP作为一种特征正则化技术,以提高Yolo的性能,同时保持其吞吐量。具体如图4所示。
在这里插入图片描述

原始的GDIP块使用了一个视觉编码器来获得特征嵌入。或者,多个GDIP块可以连接到Yolo的中间层,绕过了视觉编码器的需要,并直接使用Yolo的嵌入来构建一个增强的输出,如图4所示。请注意,这个增强的输出不是对Yolo的输入,而是我们用于训练正则化的副产品。重建损失(Eq。2)在该输出和输入图像的清晰版本之间进行计算,作为L1范数和均方误差损失LMSE的组合。所使用的总体损失函数见等式3,其中α为重建损失的权重,根据经验设置为1×10−4。
在这里插入图片描述
在公式中包含重建损失有助于Yolo学习对不利条件不变的特征,从而与独立的Yolo相比获得更好的性能。由于GDIP块的存在只是为了细化Yolo的特性,所以它只在训练期间需要,并且可以在推理过程中删除。这导致了一个不变的网络架构(Yolo),它在恶劣的天气条件下表现得更好,以及更高的吞吐量。

IV. EXPERIMENTAL SETUP

A. Datasets

Foggy Conditions 我们使用RTTS数据集[24],这是一个包含4322张自然雾图像的集合,有五个注释类——人、汽车、公共汽车、自行车和摩托车——主要用于测试。PascalVOC train/val数据集(2007年和2012年)[38],[39]有22136张清晰的图像,我们使用它们作为创建合成训练集的基础。我们从PascalVOC中选择属于RTTS五类对象的图像,并创建两个数据集,一个使用清晰图像(VOCNormal),另一个使用大气散射模型(ASM)[40]生成的增强雾图像。我们使用ASM来生成10个不同级别的雾,以包括在我们的综合训练集中的方差。我们以类似的方式从PascalVOC 2007测试集准备4952张图像(称为V_F_Ts)合成测试集。我们采用了一种混合策略,即混合使用雾和清晰的图像(以2:1的比例)来帮助我们的模型学习雾不变特征。

Low-lighting Conditions: ExDark数据集[25]是一个包含7363张真实世界图像的集合,其中有10个对象类,在低光照条件下,我们使用它们来评估我们的模型。与准备雾数据集类似,我们从ExDark中选择具有对象的PascalVOC中的图像,并应用伽玛滤波器来模拟低光照条件。数学上, I d a r k = I γ I_{dark} = I^γ Idark​=Iγ,其中γ从1.5到5的范围内均匀采样,I是归一化的清晰图像,$I_{dark} $是合成的暗图像。使用相同的选择和图像处理方法,我们从PascalVOC测试集生成一个合成的弱光测试集(V_D_Ts)。在训练过程中,我们采用混合策略(类似于雾设置),使用黑暗和清晰图像的混合。

B. Training Setup

雾和低光照设置的训练是通过将图像调整到448×448×3、80个epoch、batch 6。我们使用了一个余弦学习速率调度器,学习速率从1×10−6到1×10−4,以及一个SGD优化器,权重衰减为5×10−4。

V. RESULTS AND ANALYSES

我们提供了定性和定量的结果,建立了我们提出的方法的优越性,并通过消融实验研究评估设计选择。我们还表明,GDIP变体提供了灵活性,以基于应用程序需求确定速度或准确性的优先级。

A. Qualitative Analysis

我们将GDIP-Yolo的结果与当前的SOTA IA-Yolo的结果进行了比较,如图1所示。与IA-Yolo不同,我们的方法在不改变潜在颜色分布的情况下清除雾和改善照明条件。我们的方法能够检测到遥远的物体,如汽车和自行车(见图1中的第三列),这些物体在SOTA IAYolo的极端雾条件下通常会被忽略(见第二列)。最后一列(低光条件)清楚地表明,GDIP-Yolo在没有伪影的情况下增强了照明,帮助模型检测到场景中的所有物体(例如,背景中的汽车)。我们将在下一节中量化GDIP所扩展的改进。
在这里插入图片描述

B. Quantitative Analysis

我们将我们提出的方法与其他使用标准目标检测评估度量-平均平均精度(mAP)的SOTA工作进行了比较。所有mAP值均在IoU(Union上的交叉点)为0.5时计算。

  • a) Foggy Conditions: 在表二中,我们将我们提出的GDIP变体与其他在VOC正常测试集(V_N_Ts)、合成VOCFoggy测试集(V_F_Ts)和真实世界的雾数据集RTTS上的竞争方法进行了比较。表中的第二列显示了每种方法所使用的训练数据,其中“混合”意味着同时使用清晰和模糊的数据。我们将YoloV3设置为基线,它是在雾和清楚图像的混合条件下进行训练的来验证我们是否可以通过使用数据增强来提高性能。我们还将我们的结果与基于领域自适应(DAYolo [32])、多任务学习(DSNet [17])、去雾作为预处理(MSBDN [34],GridDehaze [18])和自适应图像增强(IA-Yolo [1])的各种方法进行了比较。从表二中可以看出,我们提出的GDIP变体在不同的雾数据集上建立了一个新的SOTA。。在这里插入图片描述
    所有的GDIP变体在RTTS上的表现都明显优于SOTA方法,因为RTTS测试了我们的方法在现实世界条件下的通用性。我们的基本GDIP-Yolo变体比SOTA方法IA-Yolo强出5.34 mAP应该是2.34。这可以归因于并发加权的IP操作,不同于IA-Yolo的固定顺序管道。MGDIPYolo在GDIP-Yolo的基础上进一步提高了0.42 mAP,并且在所有数据集中都保持一致。它优于所有其他方法和GDIP变体,因为它受益于多尺度信息。我们的正则化器变体优于所有SOTA方法,同时与普通的Yolo一样快(见V-E小节),成为GDIP-Yolo和MGDIP-Yolo的替代品。

  • b) Low-lighting conditions: 我们在真实世界的ExDark数据集、合成低光VOCDark测试集上将我们提出的变体与其他SOTA方法进行比较,如表III所示。在这里,我们再次将YoloV3设置为基于暗图像和清晰图像的混合数据训练的基线。此外,我们还与基于光增强的各种方法进行了比较,如预处理(ZeroDCE [19])、领域自适应(DA-Yolo [32])、多任务学习(DSNet [17])和自适应图像增强(IAYolo [1])。这里需要主要红框部分与ia-yolo论文的值不一样,yolov3的值也不一样
    在这里插入图片描述
    我们提出的GDIP-Yolo在真实世界的ExDark数据集上优于所有现有的方法,并且比之前的SOTA IA-Yolo实现了绝对增加16 mAP的方法。此外,MGDIP-Yolo和GDIP作为一个正则化器变体在此设置中的表现也优于其他方法。在合成的低光设置下,MGDIP-Yolo方法显得更好,而其他GDIP变体也显著提高了性能。在VOCNormal测试集上,我们提出的方法的性能可与DSNet [17]相媲美。总之,我们提出的变体比现有的弱光设置方法(合成和现实世界)要好得多。

C. Detection Statistics

我们提出了物体检测数量的真、假阳性(TP、FP)和假阴性(FN)作为一种可解释的统计测量,因为mAP并不传达实际的检测。TP(图5左)和FN(图5中间)图显示,GDIP-Yolo的RTTS和ExDark数据集相对于SOTA IA-Yolo的高目标检测置信阈值均有显著改善。对于自动驾驶应用程序,TP和FN统计数据是至关重要的,因为在存在时不检测对象可能是灾难性的,而在这些重要统计数据上,GDIP的显著优越性能是明显的。GDIP-Yolo在高可信度下评估了与SOTA相比的FP指标,它在TP和FN指标上显示出非常优越的性能。
在这里插入图片描述

D. Ablation Studies

在本节中,我们演示了在我们提出的GDIP块中使用门控机制和归一化层的实验支持。我们验证了在GDIP块中加入门控和归一化,为雾光和弱光条件下的下游检测任务提供了稳定的改进(如表4所示)。
在这里插入图片描述
Single Best vs Weighted Combination: 我们提出的门控机制通过相对加权来帮助结合图像处理操作(见公式1).为了说明其效果,我们删除了这种机制,并使用了基于最高门值(在表四中称为GDIP-max)的单一最佳图像处理操作,表示为 z = N ( f i ∗ ( x ) ) z = N(f_i^∗(x)) z=N(fi∗​(x)),其中 i ∗ = a r g m a x i w —— i i^∗= argmax_i w——i i∗=argmaxi​w——i。如果没有建议的门控,RTTS数据集的性能降低了10.4mAP(比较表IV中的第1行和第2行)。对于ExDark数据集,性能增加的幅度可以忽略不计——0.15 mAP,与在雾环境中观察到的下降相比微不足道。这项研究表明,结合多个图像处理操作的增强是必要的,因为没有单一操作足以处理不利条件。

Uniform vs Predicted Weighting: 在这个实验中,我们比较了我们提出的图像处理操作的相对权重与所有操作的统一加权(在表四中称为GDIP w/o门)。我们观察到,RTTS和ExDark的mAP分别降低了0.77和0.27。这种性能的下降可以归因于这样一个事实,即根据图像的环境条件,图像处理操作需要进行不同的加权,通过门控来实现。这从图6中可以明显看出,在弱光条件下,伽马门(G)的激活是突出的,而在有雾的条件下,大多数门仍然被激活,而脱雾(DF)是最高的。门激活模式还通过指示基于输入图像的比例执行哪些IP操作,有助于提高GDIP的可解释性。

With and Without Normalization: 我们还验证了在每个图像处理操作后去除归一化层的必要性(GDIP-未归一化 表4)这导致RTTS和ExDark的性能分别下降了约1.8和2.35 mAP。

总的来说,这些消融研究表明,无论环境条件如何,具有归一化和门控机制的GDIP都能获得最佳的整体性能,是一种很有前途的解决目标检测任务的解决方案。

E. Real-time performance

在表V中,我们比较了我们提出的GDIP变体与其他技术的实时性能。在Nvidia GTX 1080Ti上,GDIP成为最快的正规化器,速度约为68 fps,这与YoloV3相同。我们的基本变体- GDIP-Yolo比IA-Yolo高7 fps,同时在真实世界的雾和夜间数据集上实现SOTA mAP。
在这里插入图片描述

VI. CONCLUSION

我们将GDIP和MGDIP作为领域不可知的网络架构,用于不利天气条件下的目标检测,它可以用于现有的目标检测网络,并在不同的不利条件下进行训练,正如我们对雾和低照明所演示的那样。我们还提出了GDIP的一个训练正则化器变体,它在不利条件下提高了基线Yolo性能,同时保持其原始吞吐量。我们所有的GDIP变体都在雾和低光照条件下挑战真实数据集的新技术,而只在合成不利条件数据上进行训练,从而显示出显著的泛化能力。

今后,这项工作可以扩展到其他不利条件类型(如雾霾、雨、雪等)。以及其他相关的图像预处理操作,这些操作很容易集成,因为它们的并发处理和在GDIP内的相对权重。对于长期自主驾驶和高度安全的操作,应对不利条件对自动驾驶汽车至关重要,这项工作推动了稳健感知的边界,离自动驾驶汽车的普及更近了一步。

更多推荐