点击下方卡片,关注「集智书童」公众号
Title : Non-aligned supervision for Real Image Dehazing
Paper : https://arxiv.org/pdf/2303.04940.pdf
Code : https://github.com/hello2377/NSDNet
导读
今天介绍的这篇论文是一篇关于图像去雾相关的工作,本质上应该属于 Low-Level
领域的范畴。相比于图像分类、语义分割和目标检测等这类研究广泛的内容而言, Dehazing
相对来说还是算比较小众的领域,严可能大多数人听过该领域的唯一印象是关于何凯明的暗通道去雾算法( CVPR'2009 Best Paper
)。
众所周知,模糊图像对计算机视觉应用,诸如目标检测、语义分割、深度估计、场景解析等影响还是蛮大的,因此研究如何从模糊输入中恢复清晰图像的图像去雾算法整体来说还是一个非常有意义和挑战性的工作。本文主要基于图像去雾任务的几大挑战,提出了一个由 dehazing
, airlight
和 transmission
所组成的监督框架以及一个在农村和城市地区使用手机捕获的新模糊数据集 Phone-Hazy
。
由于今天是我们第一次介绍该研究领域,下面笔者将简单梳理下图像去雾的相关进展研究并详细的介绍下本文方法。
图像去雾
图像去雾领域同计算机视觉其它领域一样,也是由传统算法过渡到现如今的基于深度学习的方法。因此,我们可以简单划分为两部分,即基于先验的图像去雾算法和基于深度学习的图像去雾算法。
基于先验的图像去雾算法
基于先验的图像去雾算法同样可根据不同的原理划分为两类,即基于 图像增强 和 图像复原 的去雾算法。
图像增强
基于图像增强的去雾算法的核心思想是利用一系列图像增强技术,通过对雾图像进行预处理即估计雾的密度(如颜色平衡和白平衡操作等)、通过计算场景中的深度来估计雾的传输因子或者通过一些背景估计算法来估计背景信息,从而还原出清晰的图像。例如FVR[1]算法本身是利用自适应直方图均衡化技术和雾的传输因子来增强原始图像的对比度和清晰度,以去除雾的影响。
图像复原
基于图像复原的去雾算法大都是基于 大气退化模型 。这是因为大气对图像的影响是主要的雾化因素,导致图像的对比度降低、色彩失真和细节模糊。因此,理解大气对图像的影响,建立适当的大气退化模型,是进行图像去雾的关键。基于大气退化模型的去雾算法通常假设图像中的每个像素都受到相同的大气光影响,且大气的光传播是通过透射率来建模的。这种模型可以根据大气光的强度、大气密度、摄像机高度和视场等参数进行调整,以便更好地恢复出原始图像。
此类方法的典型代表作当属凯明的暗通道图像去雾算法DCP[2]。其通过观察室外自然图像的暗通道,发现在非雾区域的像素在暗通道上的值通常很低几乎接近于0,而雾区域的像素在暗通道上的值通常比较高,因此可以根据这个先验知识来估计雾的密度和分布,
相比于其他基于物理模型的去雾算法,暗通道先验去雾算法的优点在于不需要估计雾的粒子大小和密度等物理参数,只需要计算暗通道和估计全局大气光,因此计算速度非常快。同时,该算法对一些特殊情况,如弱雾、室内等,也有较好的去雾效果。
关于
DCP
的详细介绍可参考这篇博客:http://qianjiye.de/2015/09/haze-removal-kaiming
基于深度学习的去雾算法
上面我们介绍了基于先验的图像去雾算法,此类方法大都是基于经验观察并人为设定先验。虽然这些方法在一般情况下很有效,但在复杂的现实场景中,特别是在天空区域, DCP
因其依赖于特定场景和假设的先验而表现不佳,可能会产生次优的结果。除此之外,一些基于对比度最大化的[3]、基于颜色衰减先验的[4]或者是基于非局部先验的[5],本质上都是一样,极度依赖于专家经验和特定场景。
而基于学习的方法则是使用深度神经网络来学习和估计大气散射模型的参数(即无限空气光、透射图和无雾)或雾霾和清晰图像之间的映射。估计参数一般可直接通过 CNNs
或者 GANs
来完成,大多数方法主要采用严重依赖标签数据的监督学习方法,并且主要在人工或算法合成的模糊图像上进行训练。如此一来便会由于域间隙和缺乏真正的模糊/清晰图像对而致使去雾效果并不理想。
另一方面,虽然基于 CycleGAN
的域自适应( Domain Apation
)和不成对的去雾模型在一定程度上能够缓解此类情况,但由于样本分布的差异,这些方法在现实场景中仍然未能获得良好的去雾效果。与域自适应和不成对的监督相比,本文方法通过在成对的真实模糊数据集上进行训练并从未对齐的参考图像中提取有效特征,其性能表现优于先前的去雾模型。此外,作者重新定义了非均匀映射并提出了一种新颖的网络 mvSA
,可以在现实场景中更准确地估计 infinite airlight
.
在图像去雾领域中,"infinite airlight"(意指全局大气光 )是指在雾天或大气条件不佳的情况下,由于光线在传播过程中与大气中的水分子或其他微粒发生相互作用,导致图像中出现的一种明亮、模糊和低对比度的效果。这种效果通常是由于大气光的存在而引起的,大气光被认为是一种光线在穿过大气时散射和吸收的结果。
方法
上图为本文所提出非对齐的监督框架图,其基于经典的大气散射模型( atmospheric scattering model
)所提出:
如图所示,这是一个由去雾、全局大气光和基于大气散射模型的传输网络组成。其中一个比较关键的想法是使用非对齐图像来监督去雾网络。该框架使用允许与模糊图像不完全对齐的清晰图像用于训练。通过放宽严格的对齐约束,在更宽松的条件下从同一场景收集未对齐的图像对变得更加容易。
首先,本文探索了一种非对齐的监督设置,以使用清晰且非对齐的参考图像来训练去雾网络。其次,为了更有效地对模糊图像中存在的 进行建模,本文提出了均值和方差自注意力( mean and variance Self-Attention, mvSA
)网络。通过结合暗通道先验(DCP)和模糊图像,mvSA 能够通过计算它们的平均值并预测由于波长和散射粒子的影响而引起的变化来突出模糊特征。此外,与 DCP
和自注意力机制相比,本文所提出的 mvSA
网络更准确地限制了全局大气光的范围。
去雾网络
去雾网络是将输入的有雾图像直接生成无雾图像。如图2所示,我们使用 DCP
方法计算出一个粗糙的无雾图像,然后将其放入去雾网络。它的架构是一个共享的生成器网络。有关详细信息,请参阅 CycleGAN
的生成器。
传输网络
传输网络是通过使用图2中的输入模糊图像的通道注意网络来生成三通道传输图。其体系结构是编码器-解码器结构,具有跨特征尺度的跳跃连接。最终的传输图可以通过引导滤波器获得。
损失函数
整体的损失函数如下:
此处, 和 分别为对应的多尺度参考损失( multi-scale reference loss
)和重建损失( reconstruction loss
)。
其中,多尺度参考损失主要结合了对抗损失和上下文损失,充分利用多尺度上下文信息来更好的优化去雾网络。另一方面,重建损失不仅可以监督全局大气光、传输和去雾网络的训练,还可以保持去雾结果的特征独立于未对齐的参考图像。
实验
Phone-hazy dataset
Non-aligned image pairs in real-world scenes
Compare with the latest SOTA methods
qualitative results
quantitative results
More visualization results of NSDNet
总结
本文使用非对齐监督的真实世界图像提出了一种新颖有效的去雾框架。该框架利用多尺度参考损失将去雾网络的预测与清晰且未对齐的参考图像进行比较。它可以从现实环境中收集模糊/清晰的图像对,即使它们没有完全对齐。此外,所提框架包括一个均值和方差自注意力网络,该网络在改进空气光均值和变化的估计之前使用暗通道。最终,实验结果表明,所提方法对真实世界图像进行去雾方面优于最先进的方法。
References
[1] FVR: https://ieeexplore.ieee.org/document/5459251
[2] Single Image Haze Removal Using Dark Channel Prior: https://ieeexplore.ieee.org/document/5567108
[3] Visibility in bad weather from a single image: https://ieeexplore.ieee.org/document/4587643
[4] Dehazing using color-lines: https://dl.acm.org/doi/10.1145/2651362
[5] Non-local image dehazing: https://ieeexplore.ieee.org/document/7780554
[
Efficient Teacher:针对YOLOv5的半监督目标检测实现](https://mp.weixin.qq.com/s?__biz=MzU5OTA2Mjk5Mw==&mid=2247504738&idx=3&sn=d669a7912245b5620bdc5b4e582102ac&chksm=feb833dcc9cfbaca74653d11dcfff2e26f9081df33786470fc0d5f3973d3cad33c9884566376&scene=21#wechat_redirect)
[
全网唯一复现!手机端 1ms 级延迟的主干网模型 MobileOne](https://mp.weixin.qq.com/s?__biz=MzU5OTA2Mjk5Mw==&mid=2247504625&idx=3&sn=849ee594957ca4d73e0b0d97a1f80b84&chksm=feb8324fc9cfbb59ad4d2d9f77fc34c2b71f6d0166221f9882c1b9fa8be14e4bccce94f8a5f1&scene=21#wechat_redirect)
[
实践教程|TensorRT中对ONNX模型解析过程](https://mp.weixin.qq.com/s?__biz=MzU5OTA2Mjk5Mw==&mid=2247504586&idx=3&sn=ab859f1aaac2d512e9afa41ee911ce30&chksm=feb83274c9cfbb62c7f88c6f38c4e4cadd010e55a190e81f1efd5bdd6bc969da0f470630c274&scene=21#wechat_redirect)
扫码加入👉「集智书童」交流群
(备注: 方向+学校/公司+昵称 )
想要了解更多:
前沿AI视觉感知全栈知识👉「分类、检测、分割、关键点、车道线检测、3D视觉(分割、检测)、多模态、目标跟踪、NerF」
行业技术方案 👉「AI安防、AI医疗、AI自动驾驶」
AI模型部署落地实战 👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」
欢迎扫描上方二维码,加入「 集智书童-知识星球 」,日常分享论文、学习笔记、问题解决方案、部署方案以及全栈式答疑,期待交流!
免责声明
凡本公众号注明“来源:XXX(非集智书童)”的作品,均转载自其它媒体,版权归原作者所有,如有侵权请联系我们删除,谢谢。
点击下方“ 阅读原文 ”,
了解更多AI学习路上的 「武功秘籍」