当前位置: 首页 > news >正文

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模型:引入扰动项(\hat{\mathbf{R}}\tilde{\mathbf{L}})建模噪声和失真,更贴合真实场景。
  • 光照估计与增强:直接预测“光照提升图” \tilde{\mathbf{L}}(而非传统光照图L),避免除法操作带来的数值不稳定问题。
  • 端到端训练:将光照估计和图像修复整合到单阶段流程,简化训练过程。

光照引导Transformer(IGT)

  • IG-MSA自注意力机制:利用光照特征引导不同光照区域的交互,降低计算复杂度。
  • 复杂度优化:将自注意力计算复杂度从 O(HW^2) 降至 O(HW) ,支持多尺度特征处理。
  • U型架构设计:结合下采样和上采样分支,通过跳跃连接保留细节信息。

方法

① 单阶段Retinex框架(ORF)

a. 修正Retinex模型
  • 传统模型:\mathbf{I}=\mathbf{R}\odot\mathbf{L}(图像=反射分量×光照分量)。

  • 引入扰动项:                          \mathbf{I}=(\mathbf{R}+\hat{\mathbf{R}})\odot(\mathbf{L}+\tilde{\mathbf{L}})

  • 其中:

                 \hat{\mathbf{R}}:暗区噪声和伪影(如高ISO噪声)。

                 \tilde{\mathbf{L}}:光照估计误差(如过曝光或颜色失真)。

在Retinex理论中,符号  表示 逐元素乘法(Element-wise Multiplication),即两个矩阵(或张量)中对应位置的元素相乘。
例如,若图像大小为 H×W×3,则每个像素点 (i,j) 的RGB值由反射分量R(i,j) 和光照分量 L(i,j) 的乘积决定。

传统Retinex模型:I = R ⊙ L 

Retinex理论认为,人眼感知的图像(I)由两部分组成:

  1. 反射分量  Reflectance

    • 表示物体的固有属性,如颜色、纹理、材质(如红色苹果的红色是反射属性)。

    • 特点:与光照无关,是“理想”的无光照影响的图像。

  2. 光照分量  Illumination

    • 表示环境光照的分布(如阳光、灯光的方向和强度)。

    • 特点:通常假设是平滑的(低频分量),且取值范围在 [0,1]。

数学表达式:                               \mathbf{I}(i,j,c)=\mathbf{R}(i,j,c)\cdot\mathbf{L}(i,j)

  • 图像生成过程:每个像素点 (i,j) 的RGB值(通道 c)等于反射分量 R(i,j,c) 乘以光照分量 L(i,j)。

  • 物理意义:在光照强(L 值大)的区域,反射分量被“照亮”,反之在暗区(L 值小)则显得暗淡。

b. 光照估计与初步增强:将低光照图像变亮
  • 输入:低光图像 I 和光照先验图 L_p(通道均值)。

  • 网络结构(图2a-i):

    1. 特征融合:将 I 和 L_p​ 拼接后通过1×1 卷积融合。

    2. 区域交互建模:使用深度可分离 9×9 卷积,捕捉不同光照区域的上下文信息,生成光照特征 F_{lu}

    3. 光照提升图生成:通过 1×1 卷积从 Flu​ 生成三通道光照提升图 \tilde{\mathbf{L}}(RGB通道独立建模非线性光照变化)。

    4. 初步增强:\mathbf{I}_{lu}=\mathbf{I}\odot\tilde{\mathbf{L}}

\mathbf{I}\odot\mathbf{\bar{L}}=\mathbf{R}+\mathbf{R}\odot(\mathbf{\hat{L}}\odot\mathbf{\bar{L}})+(\mathbf{\hat{R}}\odot(\mathbf{L}+\mathbf{\hat{L}}))\odot\mathbf{\bar{L}}

\widehat{R} \odot (L+\widehat{L} ):暗场景中的噪声和伪影

R \odot (\widehat{L}+ \overline{L}):表示由light-up过程引起的过曝光/曝光不足和颜色失真

\mathbf{I}_{lu}=\mathbf{I}\odot\mathbf{\bar{L}}=\mathbf{R}+\mathbf{C}

ORF设计如公式(5)所示:

(\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})

  • \varepsilon:光照估计(illumination estimator)
  • \Re:corruption restorer
  • L_{p} \in \mathbb{R}^{H \times W}:I的光照先验图,L_{p}=main_{c}(I)main_{c}表示沿着通道维度计算每个像素的平均值。
  • F_{lu} \in \mathbb{R}^{H \times W \times C}:light-up feature
  • I_{en} \in \mathbb{R}^{H \times W \times C}:增强后的图

②. 光照引导Transformer(IGT)

目标:修复初步增强图像I_{lu}中的噪声、伪影和曝光问题,同时建模长距离依赖。

网络结构(图2a-ii)

IGT采用U型架构(类似U-Net),包含下采样和上采样分支,通过跳跃连接保留细节。

  • 输入:初步增强图像 I_{lu} 和光照特征 F_{lu}​。

  • 核心模块:Illumination-Guided Attention Block (IGAB)。

        降采样分支中,经过一个步长为2的3×3的卷积、一个IGAB、一个步长为2的4×4卷积、两个IGAB和一个步长为2的4×4的卷积层生成分层特征。经过两个IGBA
        上采样分支是一个对称结构,用步长为2的反卷积操作deconv2×2来升级特征。跳跃连接用来减轻下采样分支带来的信息损失。上采样分支输出一个残差图像,然后增强的图像

IGAB块详解(图2b)

每个IGAB块包含:

  1. 层归一化(LayerNorm):稳定训练。

  2. 光照引导自注意力(IG-MSA):核心创新模块。

  3. 前馈网络(FFN):增强非线性表达能力。

IG-MSA机制(图2c)

a. 传统自注意力问题
全局计算所有像素对的注意力权重,复杂度为 O(HW\times ×HW),无法处理高分辨率图像。

b. IG-MSA的改进

  • Token化:将输入特征图 \mathbf{F}_{in}\in\mathbb{R}^{H\times W\times C} 展平为 HW\times ×C 的序列。

  • 多头拆分:将序列按通道分为 k 个头。\mathbf{X}=[\mathbf{X}_{1},\mathbf{X}_{2},\cdots,\mathbf{X}_{k}]

  • 光照特征引导:

    1. 将光照特征 F_{lu} 同样展平并拆分为 k 个头。\mathbf{Y}=[\mathbf{Y}_1,\mathbf{Y}_2,\cdots,\mathbf{Y}_k]

    2. 注意力计算:

      \mathrm{Attention}(\mathbf{Q}_i,\mathbf{K}_i,\mathbf{V}_i,\mathbf{Y}_i)=(\mathbf{Y}_i\odot\mathbf{V}_i)\mathrm{softmax}\left(\frac{\mathbf{K}_i^T\mathbf{Q}_i}{\alpha_i}\right)

      其中 Y_i是光照特征的第 i 个头,用于调制注意力权重。

c. 复杂度优化

  • 传统全局自注意力:复杂度 O(HW^2)

  • IG-MSA:复杂度O(HW)(公式10),支持多尺度特征处理。

                    \begin{aligned} \mathcal{O}(\mathrm{IG-MSA}) & =k\cdot[d_{k}\cdot(d_{k}\cdot HW)+HW\cdot(d_{k}\cdot d_{k})], \\ & =2HWkd_{k}^{2}=2HWk(\frac{C}{k})^{2}=\frac{2HWC^{2}}{k}. \end{aligned}

核心流程

  1. 光照估计(E模块)

    • 输入低光图像II和光照先验图L_p(通道均值)。

    • 通过深度可分离卷积建模不同光照区域的交互,生成光照提升图\tilde{\mathbf{L}}和初步增强图像I_{lu}

  2. 图像修复(R模块,即IGT)

    • 输入I_{lu}​和光照特征F_{lu}

    • 通过光照引导的自注意力(IG-MSA)修复噪声、伪影、曝光问题,输出残差图Ire​。

    • 最终增强图像:\mathbf{I}_{en}=\mathbf{I}_{lu}+\mathbf{I}_{re}

实验结果

 略


http://www.mrgr.cn/news/96252.html

相关文章:

  • 树莓派超全系列文档--(10)RaspberryOS上使用 Python
  • (UI自动化测试web端)第三篇:元素的常用操作方法_鼠标操作
  • 【AI学习】概念了解
  • 计算机控制系统-达林算法验证
  • 模拟电子技术-基本放大电路
  • b站c语言鹏哥课程代码内容
  • PostgreSQL数据库迁移到Docker拉取的pg镜像中的
  • STM32基础教程——定时器
  • PyQt6实例_批量下载pdf工具_exe使用方法
  • QCustomPlot入门
  • 【面试八股】:常见的锁策略
  • 小林coding-9道Java虚拟机面试题
  • 4.6js面向对象
  • 【C++游戏引擎开发】《线性代数》(2):矩阵加减法与SIMD集成
  • 有关pip与conda的介绍
  • Centos7 安装 Nginx
  • Linux的例行性工作
  • 关于跨域问题(本地前端访问服务器端接口跨域出错)
  • MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案
  • 关于服务器只能访问localhost:8111地址,局域网不能访问的问题