新智元报道
编辑:LRS
【新智元导读】全面超越暗光增强sota模型,Retinexformer架构端到端、单阶段解决过曝、伪影、低光等问题!
在增强弱光图像时,许多深度学习算法都是基于Retinex理论的,不过Retinex模型没有考虑隐藏在黑暗中或由点亮过程引入的损坏。
此外,这些方法通常需要繁琐的多阶段训练管道,并依赖于卷积神经网络,在捕获长期依赖性方面存在局限性。
来自清华大学、维尔茨堡大学、苏黎世联邦理工学院的研究人员最近在ICCV 2023上发表了一篇新论文,制定了一个简单但原理性的单阶段Retinex-based框架(ORF)。
论文链接:https://arxiv.org/abs/2303.06705
代码链接:https://github.com/caiyuanhao1998/Retinexformer
ORF首先估计照明信息以照亮低光图像,然后恢复损坏以产生增强图像。
研究人员设计了一个照明引导Transformer(IGT),利用照明表示直接建模的非本地相互作用的区域与不同的照明条件,然后将IGT插入ORF以实现Retinexformer算法。
全面的定量和定性实验表明,文中提出的Retinexformer在13个基准数据集中显著优于最先进的方法;用户在暗光目标检测方面的研究和应用也揭示了该方法潜在的实用价值。
图1 Retinexformer 和之前基于Retinex理论的算法对比
目前所有的代码、模型、训练日志、十三个数据集(LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK, LIME, NPE, MEF, DICM, VV)的测试结果均已开源,研究人员还基于 BasicSR 开发了一个集成了八大数据集的训练框架。
暗光增强简介
如图1所示,暗光增强的主要任务是增强低光图像的能见度和对比度,同时修复隐藏在黑暗中或由于提升亮度而引入的噪声、伪影、颜色畸变等复杂的退化模式。
图2 暗光增强任务示意图
当前的暗光增强算法大体上可以分为三类:朴素方法、传统感知方法、深度学习方法。
朴素方法一般会直接在全局范围内增强整张图像的亮度和对比度。
经典的算法有直方图均衡化(histogram equalization )和伽马矫正(Gama Correction)。然而这类算法没有考虑到光照因素,使得增强后的图像与真实光照图像严重不符。
传统感知算法大都基于视网膜理论(Retinex Theory),将一张自然图像解耦为照度图(Illumination)和反射图(Reflectance),并将反射图作为暗光增强后的图像。
然而这类算法有两个缺陷:一是假定暗光图像都是干净的,不存在噪声伪影等。然而由于成像设备的缺陷,暗光图像常常带有噪声;二是这类算法依赖于手工设计的图像先验,常常需要调参且表征能力很弱。
现有的深度学习方法大多基于卷积神经网络,不擅长于捕获长程依赖关系,不利于图像的修复,有部分深度学习算法与视网膜分解理论相结合。
然而这类算法大都需要一个冗长的流程,采取一个多阶段的训练方案,分别训练多个不同的 CNN 来做不同的任务,如解耦彩色图像、给反射图去噪、调整照度图等;然后将这些训好的 CNN 连接起来进行微调。整个训练过程繁琐复杂,费时费力。
为了解决上述难题,这篇论文的贡献如下:
1. 提出了首个与视网膜理论相结合的 Transformer 算法,名为 Retinexformer,以用于暗光增强。
2. 推导了一个单阶段视网膜理论框架,名为 ORF(One-stage Retinex-based Framework),不需要繁复的训练和微调流程,只需要一个阶段端到端的训练即可。
3. 设计了一种由光照引导的新型多头自注意机制,名为 IG-MSA(Illumination-Guided Multi-head Self-Attention,IG-MSA),将光照信息作为关键线索来引导长程依赖关系的捕获。
4. 该算法在十三个暗光增强榜单上达到了更好的定量和定性效果,同时在用户研究和黑夜目标检测任务上验证了我们算法的实用价值。
Retinexformer框架
Retinexformer 采用设计的 ORF,而 ORF 又由两部分构成:(i) 光照估计器(illumination estimator)和 (ii) 退化修复器(corruption restorer)。
图3 本文方法的整体框架
在图3 (b) 中,研究人员设计了一个光照引导的 Transformer IGT(Illumination-Guided Transformer)来作为退化修复器,IGT 的基本单元是光照引导的注意力块 IGAB (Illumination-Guided Attention Block),IGAB 由两个层归一化 LN(Layer Normalization),一个 IG-MSA 和一个前馈网络 FFN(Feed-Forward Network)组成,其细节如图3 (c) 所示。
2.1 单阶段视网膜理论框架
根据视网膜理论,一个低光图像 I 可以分解为一个反射图 R 和一个照度图 L 的点乘:
然而这个视网膜模型并没有考虑噪声伪影等退化因素。因此,我们将这条公式重写为:
分别在反射图和照度图上加入了扰动项。那么在提升低光图像亮度时,上边等式两边会同时点乘一个亮度图:
等式右边第三项便表示隐藏在黑暗中的噪声伪影,并在提升亮度过程中被进一步放大。第二项表示点亮过程造成的失曝,过曝和颜色畸变。可将(3)式进一步简化为:
其中的 C 表示整体的退化项。基于(4)式,可将ORF推导为如下:
低光图像和照度先验图先经过光照估计器后的输出作为退化修复器的输入。
2.2 光照引导的 Transformer
如图3 (a) (ii) 所示,IGT采用一个 encoder-bottleneck-decoder 的 U-型结构。其中最重要的组成部件便是 IG-MSA,光照估计器输出的增亮特征图输入到每一个 IG-MSA 当中。在 IG-MSA 当中,输入的特征图首先被变形为 token,然后被分成 k 个 heads:
对每个heads,分别将其线性投影为 Q,K,V:
同时也将增亮特征图形变成 token:
然后在每一个 head 计算自相似时,用光照信息作为引导:
我们的 IG-MSA 的计算复杂度为:
同比全局的MSA的计算复杂度:
我们 IG-MSA 计算复杂度与输入尺寸成线性而全局MSA的计算复杂度与输入成二次相关。我们的计算复杂度明显更低。
实验结果
我们在 LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK 八个数据集上开展定量实验,实验结果如表1、2所示:
表1
表2
此处需要补充说明一下,MIT Adobe FiveK 官方只提供了RAW数据,需要大家自己导出才能得到 RGB 数据。
导出有两种格式,一种是 pro RGB,这种格式不适于人的眼睛来看,但是计算得到的 PSNR 和 SSIM 指标都偏高,便于大家报指标。
而另一种是 sRGB 格式,这种就是最常见的 RGB 图像格式,但是这种格式指标会比较低,本文采用的就是这种格式,并且已经在 repo 里贴心地为大家准备好了已经导出的 sRGB 图像下载链接,可以直接下载使用。
我们在 LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK, LIME, NPE, MEF, DICM, VV 上测试了定性效果,视觉对比如图4、5、6、7所示
图4 LOL-v1, LOL-v2-real 和 LOL-v2-synthetic 上的视觉效果对比
图5 SID 和 SMID 上的视觉效果对比
图6 SDSD-indoor 和 SDSD-outdoor 上的视觉效果对比
图7 LIME, NPE, MEF, DICM 和 VV 上的视觉效果对比
另外我们还做了用户调查,结果如表3所示:
表3 用户调查结果
最后,将我们的 Retinexformer 作为预处理器对暗光图像进行增强以辅助夜间目标检测的效果,在 ExDark 数据集上的定量结果如表4所示:
表4 暗光增强辅助夜间目标检测实验指标
一些暗光增强辅助夜间目标检测的例子如图8、9、10 所示:
图8
图9
图10
参考资料:https://zhuanlan.zhihu.com/p/657927878