
自校准光照学习框架:SCI:Toward Fast, Flexible, and Robust Low-Light Image Enhancement(2022 CVPR)
本文将围绕《Toward Fast, Flexible, and Robust Low-Light Image Enhancement》展开完整解析。论文提出自校准光照(SCI)学习框架,一种用于低光图像增强的轻量级无监督模型。通过权重共享的级联光照学习和自校准模块实现多阶段结果收敛,训练时使用多模块但推理仅需单个基础块(3 个 3×3 卷积),显著降低计算成本(模型大小 0.0003M、FLOPs 0.0619G、推理时间 0.0017S)。SCI 还具备操作不敏感适应性(使用不同的简单网络结构性能稳定)和模型无关通用性(作为模块添加到其他现有方法上,可提升现有方法性能),在 MIT、LSRW 等数据集上实现 SOTA(MIT 数据集 PSNR 20.4459、SSIM 0.8934),且在低光人脸检测(DARK FACE 数据集 mAP 0.663)和夜间语义分割(ACDC 数据集 mIoU 46.3)任务中展现出色实用价值。参考资料如下:
[1]. 论文地址
[2]. 代码地址
论文整体结构思维导图如下:

专题介绍
在低光照环境下,传统成像设备往往因画面昏暗、细节丢失而受限。LLIE(低照度暗光增强)技术应运而生,它通过提升图像亮度、对比度,减少噪点并恢复色彩细节,让暗夜变得清晰可见。
LLIE技术从传统方法如直方图均衡化、Retinex模型等起步,近年来借助深度学习,尤其是卷积神经网络(CNN),GAN模型,扩散模型实现了质的飞跃。这些算法能自动学习图像特征,精准处理低光照图像,效果显著优于传统技术。
本专题将聚焦LLIE技术的核心原理、应用案例及最新进展,让我们一起见证LLIE如何点亮暗夜,开启视觉新视界!欢迎一起探讨交流!
系列文章如下
【1】ZeroDCE
【2】HVI
【3】CLIP-LIT
【4】GLARE
【5】Retinexformer
【6】SG-LLIE
【7】GPP-LLIE
【8】FusionNet
【9】EnligtenGAN
【10】PTG
【11】CSNorm
【12】SG-LLIE结构提取方案
【13】SAIGFormer
【14】BEM
【15】SKF
【16】SIED
【17】LYT-Net
【18】GT-Mean Loss
一、研究背景
低光图像增强旨在显化暗部信息,但其发展受限于两类方法的缺陷:
- 模型驱动方法:基于 Retinex 理论,依赖手工正则化(如ℓ₂范数、相对总变差),需手动调参,易出现过曝光,且真实场景适应性差。
- 有监督方法:依赖配对数据,模型复杂以及推理效率低;
- 无监督方法:虽无需配对数据,但仍存在颜色失真、细节不足,且部分模型效率仍待提升。
现有方法难以同时满足视觉质量、计算效率、复杂场景鲁棒性三大需求,因此该论文提出 SCI 框架。
二、方法
SCI分为训练与推理两阶段,核心是 “训练多模块、推理单块”:
- 训练阶段:权重共享的级联光照学习模块 + 自校准模块,通过多阶段优化提升基础块表征能力。
- 推理阶段:仅使用单个光照学习基础块(3 个 3×3 卷积 + ReLU),大幅降低计算成本。
整体流程如下图所示:

可以看到SCI的训练阶段一直在复用两个模块,分别是Self-Calibrated Module
G
\mathcal{G}
G 以及Illumination Estimation
F
\mathcal{F}
F,测试阶段只使用一次光照估计模块,再除以预测的光照即可得到增强图像。
2.1 权重共享的多阶段光照估计模块
Retinex理论中,低光图像与期望图像的联系是光照分量,可以用下式表示: z : y = z × x z:y = z \times x z:y=z×x其中, x x x代表光照分量。基于此,为了得到增强图像,作者设计了一个权重共享的多阶段光照估计模块,可以用下式表示: F ( x t ) : { u t = H θ ( x t ) , x 0 = y , x t + 1 = x t + u t \mathcal{F}(x^t):\begin{cases} u^t = \mathcal{H}_{\theta}\left(x^t\right), \quad x^0 = y, \\ x^{t+1} = x^t + u^t \end{cases} F(xt):{ut=Hθ(xt),x0=y,xt+1=xt+ut其中, x t x^t xt为第 t t t阶段的光照分量, u t u^t ut为残差项, H θ \mathcal{H}_{\theta} Hθ为权重共享的光照估计网络(含可学习参数), y y y为原始低光图像。从上述公式可以看出:
- 不同阶段使用的 H θ \mathcal{H}_{\theta} Hθ是一样的,这意味着虽然计算量不减小,但参数量会减小。
- 设计的光照估计模块,估计的是残差项,基础的输入是低光的图像 y y y,作者认为这种方式可以得到更好的效果和稳定性,尤其是在曝光控制上。
- 每一次迭代的输入是上一次迭代的输出,这种级联机制不可避免地会带来可预见的推理成本。作者认为最理想的情况是第一个块能够输出符合任务需求的预期结果,后续的块给出近似的结果,甚至完全相同的结果。这样,在测试阶段,我们只需要一个块来加速推理速度。这个目标是通过自校准模块实现的。
2.2 自校准模块
前面提到需要定义一个模块,使每个阶段的结果收敛到同一个状态。作者使用的方法是将每个阶段的输入(除了第一个阶段)与低光照观察(即第一个阶段的输入)桥接起来,以间接探索每个阶段之间的收敛行为。基于此,提出了以下的自校准模块: G ( x t ) : { z t = y ⊘ x t , s t = K ϑ ( z t ) , v t = y + s t ( t ≥ 1 ) \mathcal{G}\left(x^t\right):\begin{cases} z^t = y \oslash x^t, \\ s^t = \mathcal{K}_{\vartheta}\left(z^t\right), \\ v^t = y + s^t \end{cases} \quad (t \geq 1) G(xt):⎩ ⎨ ⎧zt=y⊘xt,st=Kϑ(zt),vt=y+st(t≥1)其中, G \mathcal{G} G为自校准模块, z t z^t zt为低光图像与当前光照的元素级除法结果(retinex理论), s t s^t st为自校准图(由参数化网络 K ϑ \mathcal{K}_{\vartheta} Kϑ学习得到), v t v^t vt是第 t t t阶段的重定义输入,这个输入会送入光照估计模块中使用。
针对于
t
t
t阶段的光照估计来说,公式的变化过程如下,添加了一个额外的自校准模块:
F
(
x
t
)
→
F
(
G
(
x
t
)
)
(
t
≥
1
)
\mathcal{F}\left(x^t\right) \to \mathcal{F}\left(\mathcal{G}\left(x^t\right)\right) \quad (t \geq 1)
F(xt)→F(G(xt))(t≥1)
这种设计在每个阶段都引入了原始的输入,因此可以收敛到同一状态。作者为了证实这种方式的有效性,做了以下的实验:

(a)和(b)分别是不存在自校准和存在自校准模块的第1-3个stage的t-SNE (t-distributed Stochastic Neighbor Embedding)分布,可以看到有自校准模块模型表现更符合预期目标。
2.3 无监督损失函数
接下来是定义网络的损失函数,总的损失如下所示: L t o t a l = α L f + β L s \mathcal{L}_{total} = \alpha \mathcal{L}_f + \beta \mathcal{L}_s Ltotal=αLf+βLs其中, α \alpha α和 β \beta β为平衡系数, L f \mathcal{L}_f Lf是保真度损失, L s \mathcal{L}_s Ls是平滑损失。
- 保真度,用于约束光照与重定义输入的像素一致性,表示如下: L f = ∑ t = 1 T ∥ x t − ( y + s t − 1 ) ∥ 2 \mathcal{L}_f = \sum_{t=1}^{T} \left\| x^t - \left(y + s^{t-1}\right) \right\|^2 Lf=t=1∑T xt−(y+st−1) 2其中, x t x^t xt是第 t t t个阶段的光照输出, ( y + s t − 1 ) \left(y + s^{t-1}\right) (y+st−1)是自校准模块的输出(重定义输入),可以对照算法流程图来理解。
- 平滑损失,用于保证光照空间平滑性,含空间自适应权重,表示如下: L s = ∑ i = 1 N ∑ j ∈ N ( i ) w i , j ∣ x i t − x j t ∣ \mathcal{L}_s = \sum_{i=1}^{N} \sum_{j \in \mathcal{N}(i)} w_{i,j} \left| x_i^t - x_j^t \right| Ls=i=1∑Nj∈N(i)∑wi,j xit−xjt 它的权重如下所示,是基于YUV空间像素计算的: w i , j = exp ( − ∑ c ( ( y i , c + s i , c t − 1 ) − ( y j , c + s j , c t − 1 ) ) 2 2 σ 2 ) w_{i,j} = \exp\left( -\frac{\sum_{c} \left( (y_{i,c} + s_{i,c}^{t-1}) - (y_{j,c} + s_{j,c}^{t-1}) \right)^2 }{2\sigma^2} \right) wi,j=exp(−2σ2∑c((yi,c+si,ct−1)−(yj,c+sj,ct−1))2)其中, N N N为图像总像素数, N ( i ) \mathcal{N}(i) N(i)为像素 i i i的 5×5 邻域, w i , j w_{i,j} wi,j为高斯权重, σ \sigma σ为0.1, c c c是yuv图像通道。
三、实验结果
1.算子鲁棒性
这里作者对光照估计模块
H
θ
\mathcal{H}_{\theta}
Hθ进行了测试。


利用不同网络来进行光照估计,效果差异不大。
2.模型鲁棒性
作者尝试将SCI添加到其他模型中。


结论是SCI有效。
3. 对比
结果如下:
-
定量结果 :SCI方法在无监督方案中存在明显优势。

效率上同样有优势:

-
定性结果 :SCI在视觉效果上更自然,细节表现更好。



4. High level算法应用效果对比
应用于检测算法:

可以看到SCI的PR曲线的AUC面积最大,即效果最佳,另外还展示了一些检测结果。

应用于分割算法:


显然的优势,mIOU最大。
5. 消融实验
作者对残差连接做了消融实验:

使用残差的input输入,可以有效抑制过曝。
四、总结
本文首次通过 “权重共享 + 自校准模块” 实现多阶段结果收敛,训练用多模块,推理仅用单块(3 个 3×3 卷积),大幅提升效率。利用定义的无监督损失(保真损失 + 平滑损失),无需配对数据或主观评分,提升复杂场景适应性。在下游任务(低光人脸检测、夜间语义分割)中表现优异,验证了其在安防监控、自动驾驶等实际场景的应用潜力。
感谢阅读,欢迎留言或私信,一起探讨和交流。
如果对你有帮助的话,也希望可以给博主点一个关注,感谢。
2901

被折叠的 条评论
为什么被折叠?



