AI学习者 · 3月28日

IA-YOLO数据增强+感知损失,做到大雾天气无痛即可完成YOLO检测器的场景升级

image.png

在本文中,作者提出了一种新型的雾感知目标检测网络,名为FogGuard,旨在解决雾天条件下所提出的挑战。自动驾驶系统严重依赖于精确的目标检测算法,但恶劣的天气条件可以显著影响深度神经网络(DNNs)的可靠性。

现有的方法主要分为两类:

  1. 图像增强,例如IA-YOLO;
  2. 基于领域适应的方法。

基于图像增强的技术试图生成无雾图像。然而,从有雾图像中恢复无雾图像比在雾天图像中检测物体要困难得多。另一方面,基于领域适应的方法并不使用目标领域中的标记数据集。这两类方法都在尝试解决一个更难的问题版本。

FogGuard特别设计用来补偿场景中存在的雾天条件,确保即使在雾天也能保持稳健的性能。作者采用YOLOv3作为基准目标检测算法,并引入了一种新颖的“教师-学生”感知损失,以提高雾天图像中的目标检测准确度。

在如PASCAL VOC和RTTS等常见数据集上的广泛评估中,作者展示了作者网络性能的提升。作者证明,FogGuard在RTTS数据集上达到了69.43%的mAP,而YOLOv3为57.78%。

此外,作者表明,尽管作者的训练方法增加了时间复杂度,但在推理过程中与常规的YOLO网络相比,它并没有引入任何额外的开销。

I Introduction

不利天气条件,如雨、雪和雾,对驾驶构成风险。其中之一就是能见度降低,这在自动驾驶中会损害目标检测。这非常危险;未被发现的物体无法避免,而定位或分类不准确的物体可能导致车辆通过急转弯或“幻影刹车”来响应。在这项工作中,作者专注于在雾天改善目标检测。

作者专注于仅使用摄像头来提高目标检测的准确性。并非所有自动驾驶车辆都具有多种传感器类型,但几乎所有的车辆上都装有摄像头。这使得作者的研究具有广泛的应用性,包括那些具有其他传感器类型的车辆;基于摄像头的目标检测总能与其他系统结合,通过多传感器融合来提高整体准确性。其他研究已经探讨了使用特定于雾天的补充传感器,例如新型的毫米波雷达。

图像处理界在深度学习方法取得成功之前,就已经探索了去雾、除雾和图像增强的问题。将基于图像处理的方法引入学习领域,IA-YOLO 将一个图像处理模块与学习流程结合,以推理去雾后的图像,然后再将其输入到像YOLO这样的常规目标检测器中。作者认为,推理去雾图像的问题比在雾天图像中检测物体要困难得多。显然,在雾天图像中将一个边界框检测并分类为某个目标类别(例如汽车)的问题,比重建那辆汽车的每一个像素要简单得多。此外,基于去雾的方法通常为了获得更好的图像质量而承受相当大的计算开销。

为了提高雾天图像中目标检测的效果,作者修改了YOLO-v3网络的训练过程,使其能够适应雾天图像。作者改进的训练过程提出了两个新想法:

  1. 将感知损失泛化到教师-学生感知损失(第IV-A节)
  2. 采用深度感知的真实雾进行数据增强(第IV-B节)

作者使用感知损失基于这样的直觉:雾天图像中的语义信息与清晰图像是相同的。因此,作者力求最小化清晰图像与其雾化版本之间的感知损失。数据增强是必要的,因为像RTTS(大约3K张图像)这样的雾天目标检测数据集比像PASCAL VOC(大约16K张图像)和MS-COCO(大约116K张图像)这样的清晰图像数据集小得多。作者的消融研究表明,在雾天情况下,作者的每项贡献都有助于提高目标检测的准确性。

作者评估并比较了作者在RTTS数据集上提出的方法与最先进的方法,如IA-YOLO,DE-YOLO和SSD-Entropy的性能。作者发现,FogGuard比IA-YOLO准确度高11.64%,比[4]高14.27%,同时运行速度提高了5倍。

II Related Work

传统的目标检测算法在恶劣天气条件下,如雾、雨、雪和低光照场景中通常是不够有效的。为了解决这些问题,相关文献可以分为四个主要类别:

  1. 分析图像处理技术,
  2. 基于学习的方法,
  3. 领域适应,
  4. 基于学习的图像增强技术。

Iii-A1 Analytical image processing techniques

分析图像处理技术已被用于通过提高图像质量来改进目标检测。例如,Yu等[20]引入了一种自适应方法,用于调整医学图像中的对比度,这也可以应用于在低光照条件下改善目标检测。张等[21]提出了一种有效操纵边缘斜率以增强清晰度和降低噪声的方法,这可以在雾天或雪天环境中带来好处。同样,用于图像去雾的暗通道先验[22]也被陈等[23]用于恢复图像以进行目标检测。

然而,这些技术虽然在增强图像的特定方面是有效的,但仍然无法处理浓雾场景。此外,它们在很大程度上依赖于需要精确场景信息(如大气光和散射系数)的物理模型,这使得它们依赖于超参数调整或估计,这已经让位于基于学习的方法。

Iii-A2 Learning based image-enhancement approaches

随着学习算法的成功,已经提出了几种基于学习的图像增强方法。基于学习的方法已被用于找到正确的图像处理滤波器以及进行超参数估计,用于去雾,改善照明条件以及提升图像的色彩和色调。这些方法通过使用多尺度卷积神经网络(CNN),残差块或多尺度U-Net进行去雾而得到了进一步改进。

在这项研究路线中,两种被高度引用且近期的方法是IA-YOLO和DE-YOLO。IA-YOLO使用一个5层卷积神经网络(CNN)来估计一个可微图像处理(DIP)模块的超参数,该模块将去雾后的图像输入到目标检测算法中,具体是YOLO-v3。这个DIP模块包括去雾滤波器、白平衡、伽马、色调和锐化滤波。

同样,DE-YOLO使用“拉普拉斯金字塔将输入图像分解为一个低频(LF)分量和几个高频(HF)分量”。低频分量(被认为是与雾无关的)用于通过残差块增强高频分量。这些不同频率的分量被组合成一个重构的增强图像。这个增强图像被输入到像YOLOv3这样的目标检测算法中,以改进目标检测。

图像增强方法,无论是基于物理的还是基于学习的,都在努力解决一个更困难的问题,尤其是在浓雾条件下。例如,设想一辆汽车在雾中,仅能看到汽车的的两个雾灯。要重建一辆在雾中的汽车的图像,比仅仅检测到汽车的存在要困难得多。要重建汽车,你需要知道汽车的颜色、品牌和形状。而要检测汽车,仅凭预期高度的雾灯位置可能就足够了。因此,这些算法常常会产生噪声图像,其结果也不够可靠。

Iii-A3 Domain Adaptation

由[30]开发的通过反向传播进行无监督领域适应的思想已经被应用于雾天图像中的目标检测。领域适应问题如下:考虑一个源领域(例如,在清晰图像中进行目标检测)和一个目标领域(在雾天图像中进行目标检测)。假设作者有源领域的 GT 标签,但目标领域没有。领域适应旨在寻找一种方法,通过利用与源领域的相似性来训练目标领域的模型。Ganin等人[30]将领域适应表述为两个竞争网络之间的最小最大问题,一个特征提取器和领域分类器。领域分类器试图将源领域和目标领域的输入分开,而特征提取器则试图使它们无法区分。特征提取器产生的特征也用于估计源领域标签。

有几项工作将领域适应技术应用于雾天图像中的目标检测。Hnewa等人[31]研究了源数据分布之间的领域偏移,并提出了在不同尺度上由领域分类器引入的多个适应路径。Zhou等人[32]提出了一种半监督领域适应的解决方案,用于目标检测,其中他们采用知识蒸馏方法来获得 未标注 目标领域的特征。FogGuard与领域适应密切相关,但又有所不同。在领域适应中,不提供目标标签。

对于雾天图像中的目标检测,作者有像RTTS这样的标记数据集可用。尽管像领域适应这样的方法也需要对RTTS图像进行标签,标注每张图像中的雾量,但这在RTTS数据集中并不提供。尽管像RTTS这样的数据集比MS-COCO和Pascal VOC小得多,作者仍然可以利用这些数据集进行微调。

总之,与领域适应方法不同,作者确实利用了目标领域的标签。但与领域适应类似,作者通过合成雾生成和教师-学生感知损失函数,来加强源领域与目标领域之间的特征相似性。

III Problem formulation and Notation

image.png
image.png

IV Methodology

FogGuard基于两个主要见解。首先,雾天图像与清晰图像之间的语义距离必须最小化;其次,必须使用所有可用的数据集来训练该方法。FogGuard在算法1中进行了总结。在这里,作者逐步构建了从仅在雾天数据集上进行微调到结合使用微调和感知损失的完整方法。

image.png

image.png

Teacher-student perceptual loss

image.png

Depth-aware realistic fog

image.png
image.png

V Experiments

作者通过对大量实验的评估来检验FogGuard——FogGuard。在描述作者实验的结果之前,作者将讨论实验设置的共同方面,包括所选的目标检测数据集、实现细节以及评估指标。

Datasets

image.png

Implementation Details

image.png

Evaluation metric

image.png

VI Results

作者讨论了在三类实验中比较作者方法的结果:

  1. 与最先进 Baseline 的比较,
  2. 消融研究,以及
  3. 效率分析。

Comparison against baseline methods

作者对比了FogGuard与四种最先进的基础方法:IA-YOLO,DE-YOLO,以及SSD+Entropy,在两个数据集上:(1) RTTS 和 (2) VOC。

Ia-YoloIA-YOLO在 PASCAL VOC 和 RTTS 数据集上进行了评估,其中所训练的网络由本文作者提供。为了使作者的比较更加公平,作者在 RTTS 数据上对网络进行了额外的 个周期的微调,并在两个数据集上报告了最佳性能。

在作者的实验中,作者使用了提供的网络预训练权重来测试DE-YOLO方法。在没有额外训练的情况下,作者对其在VOC数据集测试集和RTTS数据集上的性能进行了评估,因为作者没有提供训练脚本。

Ssd+Entropy这种方法是在Bijelic等人[35]的研究基础上发展起来的,它将熵不确定性融入到SSD架构中。然而,与他们的研究利用多模态输入不同,作者的 Baseline 专注于利用VOC和RTTS数据集的单模态图像输入。

在表1中,作者总结了FogGuard与在RTTS和PASCAL VOC上的 Baseline 方法相比的mAP(%)。FogGuard在RTTS和VOC上都超过了所有考虑的 Baseline 方法,包括IA-YOLO、DE-YOLO和SSD-Etropy。

Ablation Studies

作者进行了五项消融研究,以了解作者 Pipeline 中不同组成部分的重要性。

Vi-B1 Comparison against the teacher network

作者对比了FogGuard与一个在混合数据集上训练的教师YOLOv3网络的性能(使用(2))。作者展示了作者的每个网络在VOC、RTTS以及混合了LogFog、MediumFog和HeavyFog扰动的情况下评估得到的mAP(%)。

image.png

表2中的第一列(FogGuard)和第二列(YOLOv3-teacher)展示了FogGuard相较于YOLOv3-teacher在不同数据集评估中的优越性能。这突显了在训练过程中使用合成雾和融入感知损失的重要性。特别值得注意的是,在RTTS数据集的情况下,FogGuard明显优于YOLOv3-teacher模型,性能差距高达近。

Vi-B2 Importance of the Teacher-Student Perceptual Loss

在表2的第三列中,作者展示了在不包含感知损失的情况下训练FogGuard网络的影响。通过从网络中移除感知损失,作者得到的是仅使用混合扰动数据集和损失(1)训练的教师网络(w.o. Perc. Loss)。不包括感知损失来训练FogGuard等同于仅用基于雾的数据增强来训练一个普通的YOLOv3网络。不包括感知损失对作者的网络性能是有害的,因为FogGuard网络的表现优于(w.o. Perc. Loss)网络。

Vi-B3 Including RTTS dataset in Perceptual loss hurts performance

如(6)所述,教师-学生感知损失仅在清晰图像数据集 上计算。作者提出了一个问题:将雾天图像数据集RTTS包含在感知损失项中,是会损失性能还是提高性能?表2的第四列显示,将RTTS纳入感知损失计算中,作者在RTTS评估中损失了,在VOC中获得了。

这表明FogGuard在处理真实雾天时稍微更准确,而在处理清晰图像时稍微不那么准确。然而,作者的网络总体上对真实雾天更鲁棒,因为表2中针对RTTS数据集的网络的的标准差几乎是表2中网络的3倍。

Vi-B4 Importance of realistic depth in fog generation

正如在第IV-B节中讨论的,为了创建具有更真实雾效的图像,作者需要拥有图像的深度信息。深度信息仅在FogGuard的训练阶段需要,而在推理阶段不需要。作者从MiDaS [33]获取深度信息,而IA-YOLO使用如公式(9)所描述的伪深度。IA-YOLO假设在中心具有最大深度,并向外径向减少。

表2的最后一列显示,当使用IA-YOLO方法生成合成雾时,网络在RTTS上的mAP下降了,但在VOC上增加了2.62%。这一发现强调了在提升网络在雾天条件下准确检测物体能力时真实深度的的重要性。使用伪深度时,在清晰和合成雾图像上的mAP增加令人惊讶。一种假设是,基于MiDaS的雾比伪深度雾更复杂,更难以理解和去除。这损害了在清晰数据集和合成雾图像上的性能。

Vi-B5 Location and number of layers used in Perceptual loss

最后,作者探讨了在FogGuard中计算感知损失时考虑的位置和层数的影响。在(5)中定义的感知损失依赖于起始层 和结束层 。作者评估了两个位置:首先是前几层 ,然后是最后几层 。作者还改变了层数 从4到9的范围。结果展示在表3中。

对于这个实验,作者将训练时期数量固定为300(原始实验为600),发现包含更多层数用于感知损失计算通常能带来更好的目标检测性能。然而,在训练过程中计算网络中所有层的差异或者只考虑部分层之间存在着权衡。作者发现,当使用9层而不是仅仅4层时,实验的持续时间几乎增加了两倍。

image.png

Efficiency Analysis

FogGuard在推理过程中与原始的YOLO相比具有零开销。该网络的参数数量与原始完全相同,没有像IA-YOLO中看到的那样增加额外的块所带来的成本。然而,在训练过程中,FogGuard仍需要维护两个不同的YOLO网络,即教师网络和学生网络,以计算感知损失。

因此,FogGuard的速度与其基础网络;YOLO-v3一样快。这种零开销的特点还使得FogGuard可以轻松适应其他需要提高准确度或速度的场景。在这种情况下,作者只需替换掉基础的网络YOLO-v3,并训练一个替代网络,使其更能抵抗不利条件。

为了展示FogGuard的效率,作者对比了FogGuard和IA-YOLO在100个样本上的执行时间。在这项实验中,FogGuard的执行速度是IA-YOLO的5.1倍(139.68秒对27.42秒)。

VII Conclusion

作者提出了FogGuard,这是一种在恶劣天气条件下有效检测物体的新颖方法。FogGuard采用了一种教师-学生架构,其中学生网络融合了感知损失,以增强对不利天气条件的鲁棒性。通过在输入图像中合成真实的雾效并模拟教师网络的性能,FogGuard取得了显著成果。

通过严格的实验,作者证明了作者优化的训练方法和精心设计的数据集的优越性,显著优于现有方法。作者还表明,FogGuard不会对基本的YOLO网络造成任何负担,使其成为解决现实世界问题(如自动驾驶)的合适方法。

参考

[1].FogGuard: guarding YOLO against fog using perceptual loss.

作者:小书童
文章来源:集智书童

推荐阅读

更多嵌入式AI干货请关注嵌入式AI专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。

推荐阅读
关注数
18838
内容数
1374
嵌入式端AI,包括AI算法在推理框架Tengine,MNN,NCNN,PaddlePaddle及相关芯片上的实现。欢迎加入微信交流群,微信号:aijishu20(备注:嵌入式)
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息