Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement(2023,ICCV)
本文将对 Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement,这篇暗光增强算法进行讲解。参考资料如下:
专题介绍
在低光照环境下,传统成像设备往往因画面昏暗、细节丢失而受限。LLIE(低照度暗光增强)技术应运而生,它通过提升图像亮度、对比度,减少噪点并恢复色彩细节,让暗夜变得清晰可见。
LLIE技术从传统方法如直方图均衡化、Retinex模型等起步,近年来借助深度学习,尤其是卷积神经网络(CNN),GAN模型,扩散模型实现了质的飞跃。这些算法能自动学习图像特征,精准处理低光照图像,效果显著优于传统技术。
本专题将聚焦LLIE技术的核心原理、应用案例及最新进展,让我们一起见证LLIE如何点亮暗夜,开启视觉新视界!欢迎一起探讨交流!
系列文章如下
【1】ZeroDCE
【2】HVI
【3】CLIP-LIT
【4】GLARE
一、研究背景
Retinex理论是一种经典的图像增强理论,它将图像分解为反射分量和光照分量。通过分别对这两个分量进行处理,可以有效地改善图像的视觉效果。Retinex理论在低光照图像增强中得到了广泛应用,但传统的Retinex方法存在一些问题,如计算复杂度高、对噪声敏感等。因此,如何结合Transformer架构和Retinex理论的优势,设计一种高效的低光照图像增强方法,是本文研究的重点。
二、Retinexformer方法
作者首先基于通用Retinex理论提出了自己优化的Retinex理论,基于该理论提出了一个亮度引导的Unet类型的Transformer网络结构用于图像增强。上图为整个模型的结构示意图。
1. 通用Retinex理论
I
=
R
⊙
L
\mathbf{I}=\mathbf{R} \odot \mathbf{L}
I=R⊙L
其中
I
∈
R
H
×
W
×
3
I \in \mathbb{R}^{H \times W \times 3}
I∈RH×W×3 为低照度图像,
R
∈
R
H
×
W
×
3
R \in \mathbb{R}^{H \times W \times 3}
R∈RH×W×3 为反射率图像,
L
∈
R
H
×
W
×
1
L \in \mathbb{R}^{H \times W \times 1}
L∈RH×W×1 为光照入射图。该理论假设在图像处理过程中,图像的结构和语义信息保持不变。然而,实际情况是,在低光照条件下进行拍摄时,通常需要使用高ISO和长曝光时间,这会导致图像中出现噪声和伪影。此外,在使用模型对低光照图像进行增强时,也可能会出现噪声和伪影的放大、图像过曝或欠曝以及色彩失真等问题。
2. 作者建立的Retinex理论
作者引入了干扰项,建立了更完善的理论。
I
=
(
R
+
R
^
)
⊙
(
L
+
L
^
)
=
R
⊙
L
+
R
⊙
L
^
+
R
^
⊙
(
L
+
L
^
)
\begin{align} \mathbf{I}&= (\mathbf{R}+\hat{\mathbf{R}}) \odot (\mathbf{L}+\hat{\mathbf{L}}) \\ &= \mathbf{R} \odot \mathbf{L} + \mathbf{R} \odot \hat{\mathbf{L}} + \hat{\mathbf{R}} \odot (\mathbf{L}+\hat{\mathbf{L}}) \end{align}
I=(R+R^)⊙(L+L^)=R⊙L+R⊙L^+R^⊙(L+L^)
其中
R
^
∈
R
H
×
W
×
3
,
L
^
∈
R
H
×
W
×
1
\hat{\mathbf{R}} \in \mathbb{R}^{H \times W \times 3}, \hat{\mathbf{L}} \in \mathbb{R}^{H \times W \times 1}
R^∈RH×W×3,L^∈RH×W×1 ,分别代表反射率图和光照入射图的误差分量,为了简化上述公式,作者设置了一个点亮系数
L
ˉ
\bar{\mathbf{L}}
Lˉ,令
L
ˉ
⊙
L
=
1
\bar{\mathbf{L}} \odot \mathbf{L} = \mathbf{1}
Lˉ⊙L=1 ,将
L
ˉ
\bar{\mathbf{L}}
Lˉ和上述公式相乘可以得到以下公式。
I
⊙
L
ˉ
=
R
+
R
⊙
(
L
^
⊙
L
ˉ
)
+
(
R
^
⊙
(
L
+
L
^
)
)
⊙
L
ˉ
\mathbf{I} \odot \bar{\mathbf{L}} = \mathbf{R} + \mathbf{R} \odot (\hat{\mathbf{L}} \odot \bar{\mathbf{L}}) + (\hat{\mathbf{R}} \odot (\mathbf{L} + \hat{\mathbf{L}})) \odot \bar{\mathbf{L}}
I⊙Lˉ=R+R⊙(L^⊙Lˉ)+(R^⊙(L+L^))⊙Lˉ。简化上述公式可得,
I
l
u
=
I
⊙
L
ˉ
=
R
+
C
\mathbf{I}_{lu} = \mathbf{I} \odot \bar{\mathbf{L}} = \mathbf{R} + \mathbf{C}
Ilu=I⊙Lˉ=R+C,其中
I
l
u
∈
H
×
W
×
3
\mathbf{I}_{lu} \in H \times W \times 3
Ilu∈H×W×3 为亮度提升后的图像,
C
C
C为亮度提高后的总偏差(包括放大的噪声,伪影,颜色失真)。
3. ORF(one stage Retinex-based Framework)
作者通过所建立的retinex理论,建立了ORF,首先提升图像亮度,之后以亮度 I l u \mathbf{I}_{lu} Ilu以及亮度特征 F l u \mathbf{F}_{lu} Flu为参考,通过修复器 R \mathcal{R} R修复总偏差 C C C,总体描述为下列公式:
(
I
l
u
,
F
l
u
)
=
E
(
I
,
L
p
)
,
I
e
n
=
R
(
I
l
u
,
F
l
u
)
(\mathbf{I}_{lu}, \mathbf{F}_{lu}) = \mathcal{E}(\mathbf{I}, \mathbf{L}_p), \quad \mathbf{I}_{en} = \mathcal{R}(\mathbf{I}_{lu}, \mathbf{F}_{lu})
(Ilu,Flu)=E(I,Lp),Ien=R(Ilu,Flu)
其中
E
\mathcal{E}
E为亮度预测器,目的是提高图像亮度;
L
p
∈
H
×
W
×
1
\mathbf{L}_p \in H \times W \times 1
Lp∈H×W×1 是
I
\mathbf{I}
I的亮度先验图,通过
L
p
=
m
e
a
n
c
(
I
)
\mathbf{L}_p = \mathrm{mean}_c(\mathbf{I})
Lp=meanc(I)计算,
m
e
a
n
c
\mathrm{mean}_c
meanc是在通道维度取平均;
R
\mathcal{R}
R是复原修复器,作者设计了基于transformer的unet网络结构用于修复总偏差
C
C
C,最终得到增强后的结果
I
e
n
\mathbf{I}_{en}
Ien。
4. 网络结构
网络结构其实非常简单,作者首先采用了卷积作为 E \mathcal{E} E亮度预测器,并且保留亮度特征作为后续的 R \mathcal{R} R(复原修复器)的引导输入。而 R \mathcal{R} R(复原修复器),采用了Unet类型网络结构,做了三次下采样,提取多尺度特征,并且每一层Unet结构中加入了Transformer网络结构用于提取全局特征,而Transformer结构中又采用了 E \mathcal{E} E亮度预测器输出的亮度特征作为引导(IGAB模块)。同时为了降低计算复杂度,Transformer是在通道维度上做的注意力计算。
总体来看,这篇文章的方案就是基于Retinex理论设计一个网络结构,首先基于卷积网络粗略估计出增强后的图像,然后基于这个粗略增强的图像,用Unet类型的网络结构(结合transformer结构)进行进一步的增强,得到最后结果。
三、实验结果
1. 定量实验
如上表所示,作者在多个数据集上和多种方案做了定量对比实验,红色是最优效果,蓝色是次优效果,可以看出Retinexformer在多个数据集上均取得了最优或者次优效果。
2. 定性实验
从定性实验可以看出,之前的方法增强后存在多个问题,比如噪声、色彩损失、模糊、过曝欠曝等,而作者提出的方案则能够很好去除噪声并且能够重建出曝光良好的图像。
四、总结
Retinexformer通过结合Retinex分解和Transformer架构,有效提升了低光照图像的质量,同时保留了图像的细节信息并抑制了噪声和伪影的放大。在多个数据集上的实验结果证明了其有效性,为低光照图像增强领域提供了一种新的高效方法。该研究推动了低光照图像处理技术的发展,为相关应用提供了更优质的视觉数据支持。
五、个人思考
- Retinex分解是Retinexformer的基础,但其准确性对最终增强效果至关重要。在复杂场景下,Retinex分解可能会出现误差,例如光照分量和反射分量的分离不彻底或过度分离。如何进一步提高Retinex分解的准确性?或许是未来研究的一个方向。
- 本文由于考虑到计算效率问题,使用了通道方向的注意力机制;或许可以采用空间维度或者空间通道结合的注意力机制,进一步提升效果。
感谢阅读,欢迎留言或私信,一起探讨和交流。