Retinexformer:基于 Retinex 的单阶段 Transformer 低光照图像增强方法
开头发点牢骚:本来做的好好都都要中期了,导师怎么突然给我换题目啊。真是绷不住了......又要从头开始学了,唉!
原论文链接:Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement
低光照图像增强算法多基于Retinex理论,但传统模型忽略暗区噪声和光照过程中引入的失真,且现有方法依赖多阶段CNN训练,难以建模长距离依赖,效率低下。文章搭建了①单阶段Retinex框架(ORF),可以通过光照估计即直接预测光照提升图(而非传统光照图),避免数值不稳定问题。同时,还能做到噪声修复,端到端联合优化光照增强与失真修复。②光照引导Transformer(IGT):IG-MSA自注意力:利用光照特征动态引导不同亮度区域的交互,降低计算复杂度(线性复杂度)。
现有技术分析:
-
传统Retinex方法:
Retinex理论认为图像可分解为 反射分量(物体固有属性,如颜色和纹理)和 光照分量(环境光照)。增强时,通过调整光照分量(如提升暗区亮度)来改善视觉效果。
具体步骤为:①估计光照分量(通常通过高斯滤波或优化方法)。
②计算反射分量:R=I/L(图像除以光照图)。
③对反射分量进行对比度增强或直方图拉伸。
缺点:假设图像无噪声且光照均匀,导致增强后出现噪声放大或颜色失真。
-
基于CNN的方法
利用卷积神经网络(CNN)建模Retinex分解过程,通常分阶段处理光照和反射分量。依赖多阶段训练流程,难以捕捉长距离依赖关系。
具体步骤:①分解网络:输入低光图像,输出反射图 R 和光照图 L。
②反射去噪网络:对 R 进行去噪(如使用U-Net)。
③光照调整网络:调整 L 以生成增强后的光照图。
④融合阶段:将调整后的 R 和 L 融合为最终图像。
-
Transformer方法
Transformer通过自注意力机制捕捉全局依赖,理论上适合建模图像中的长距离关系。
步骤:①将图像分割为块(Patch),展平为序列。
②计算每个块之间的注意力权重(Query-Key-Value)。
③加权聚合Value生成输出特征。
全局自注意力计算复杂度高(与图像尺寸平方成正比),难以直接应用于高分辨率图像。
论文方案创新点:
技术方案与创新点
单阶段Retinex框架(ORF)
- 修正Retinex模型:引入扰动项(
和
)建模噪声和失真,更贴合真实场景。
- 光照估计与增强:直接预测“光照提升图”
(而非传统光照图L),避免除法操作带来的数值不稳定问题。
- 端到端训练:将光照估计和图像修复整合到单阶段流程,简化训练过程。
光照引导Transformer(IGT)
- IG-MSA自注意力机制:利用光照特征引导不同光照区域的交互,降低计算复杂度。
- 复杂度优化:将自注意力计算复杂度从
降至
,支持多尺度特征处理。
- U型架构设计:结合下采样和上采样分支,通过跳跃连接保留细节信息。
方法
① 单阶段Retinex框架(ORF)
a. 修正Retinex模型
-
传统模型:
(图像=反射分量×光照分量)。
-
引入扰动项:
-
其中:
:暗区噪声和伪影(如高ISO噪声)。
:光照估计误差(如过曝光或颜色失真)。
在Retinex理论中,符号
⊙
表示 逐元素乘法(Element-wise Multiplication),即两个矩阵(或张量)中对应位置的元素相乘。
例如,若图像大小为 H×W×3,则每个像素点 (i,j) 的RGB值由反射分量R(i,j) 和光照分量 L(i,j) 的乘积决定。
传统Retinex模型:
I = R ⊙ L
Retinex理论认为,人眼感知的图像(I)由两部分组成:
反射分量 Reflectance
表示物体的固有属性,如颜色、纹理、材质(如红色苹果的红色是反射属性)。
特点:与光照无关,是“理想”的无光照影响的图像。
光照分量 Illumination
表示环境光照的分布(如阳光、灯光的方向和强度)。
特点:通常假设是平滑的(低频分量),且取值范围在 [0,1]。
数学表达式:
图像生成过程:每个像素点 (i,j) 的RGB值(通道 c)等于反射分量 R(i,j,c) 乘以光照分量 L(i,j)。
物理意义:在光照强(L 值大)的区域,反射分量被“照亮”,反之在暗区(L 值小)则显得暗淡。
b. 光照估计与初步增强:将低光照图像变亮
-
输入:低光图像
和光照先验图
(通道均值)。
-
网络结构(图2a-i):
-
特征融合:将
和
拼接后通过1×1 卷积融合。
-
区域交互建模:使用深度可分离 9×9 卷积,捕捉不同光照区域的上下文信息,生成光照特征
。
-
光照提升图生成:通过 1×1 卷积从 Flu 生成三通道光照提升图
(RGB通道独立建模非线性光照变化)。
-
初步增强:
-
:暗场景中的噪声和伪影
:表示由light-up过程引起的过曝光/曝光不足和颜色失真
ORF设计如公式(5)所示:
:光照估计(illumination estimator)
:corruption restorer
:I的光照先验图,
,
表示沿着通道维度计算每个像素的平均值。
:light-up feature
:增强后的图
②. 光照引导Transformer(IGT)
目标:修复初步增强图像中的噪声、伪影和曝光问题,同时建模长距离依赖。
网络结构(图2a-ii)
IGT采用U型架构(类似U-Net),包含下采样和上采样分支,通过跳跃连接保留细节。
-
输入:初步增强图像
和光照特征
。
-
核心模块:Illumination-Guided Attention Block (IGAB)。
降采样分支中,经过一个步长为2的3×3的卷积、一个IGAB、一个步长为2的4×4卷积、两个IGAB和一个步长为2的4×4的卷积层生成分层特征。经过两个IGBA
上采样分支是一个对称结构,用步长为2的反卷积操作deconv2×2来升级特征。跳跃连接用来减轻下采样分支带来的信息损失。上采样分支输出一个残差图像,然后增强的图像
IGAB块详解(图2b)
每个IGAB块包含:
-
层归一化(LayerNorm):稳定训练。
-
光照引导自注意力(IG-MSA):核心创新模块。
-
前馈网络(FFN):增强非线性表达能力。
IG-MSA机制(图2c)
a. 传统自注意力问题
全局计算所有像素对的注意力权重,复杂度为 ,无法处理高分辨率图像。
b. IG-MSA的改进
-
Token化:将输入特征图
展平为
的序列。
-
多头拆分:将序列按通道分为 k 个头。
-
光照特征引导:
-
将光照特征
同样展平并拆分为 k 个头。
-
注意力计算:
其中
是光照特征的第
个头,用于调制注意力权重。
-
c. 复杂度优化
-
传统全局自注意力:复杂度
。
-
IG-MSA:复杂度
(公式10),支持多尺度特征处理。
核心流程
-
光照估计(E模块)
-
输入低光图像II和光照先验图
(通道均值)。
-
通过深度可分离卷积建模不同光照区域的交互,生成光照提升图
和初步增强图像
。
-
-
图像修复(R模块,即IGT)
-
输入
和光照特征
。
-
通过光照引导的自注意力(IG-MSA)修复噪声、伪影、曝光问题,输出残差图Ire。
-
最终增强图像:
-
实验结果
略