当前位置:   article > 正文

【论文精读】Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement_retinexformer: one-stage retinex-basedtransformer

retinexformer: one-stage retinex-basedtransformer for low-light image enhanc

论文链接:https://openaccess.thecvf.com/content/ICCV2023/papers/Cai_Retinexformer_One-stage_Retinex-based_Transformer_for_Low-light_Image_Enhancement_ICCV_2023_paper.pdf

代码链接:https://github.com/caiyuanhao1998/retinexformer

目录

Abstract

1. Introduction

2. Related Work

2.1. 低光照图像增强

2.2. 视觉transformer

3. Method

3.1.  One-stage Retinex-based Framework(ORF)

3.1.1. 基于的retinex模型

3.1.2. corruption的来源

3.1.3. 建模corruption

3.1.4. 将低光照图像变亮

3.1.5. ORF数学表达式

3.1.6. illumination estimator()

3.1.7. discussion

3.2. Illumination-Guided Transformer

3.2.1. 网络架构

3.2.2. IG-MSA

3.2.2. 复杂性分析

4.Experiment

4.1. 数据集和实验细节

4.2. 实验结果

4.2.1. 定量实验

4.2.2. 定性实验


Abstract

任务:增强低光照图片

背景:很多算法使用Retinex理论

痛点

①很多Retinex模型没有考虑到损坏(corruptions)现象(噪声、伪影、色彩失真等现象),这种损坏藏在黑暗中or在光照的过程中被引入;

②这些算法需要繁琐的多步骤训练pipeline,它们依赖于卷积神经网络,在捕获long-range的依赖的时候存在局限性

本文方法

①提出一个简单但有规则的基于Retinex的单阶段框架(ORF):

  • 首先,ORF估计照明信息来使低光照图像变亮
  • 然后,恢复损坏来生成增强图像

②设计一个光照引导的transformer(IGT):利用光照特征来指导不同光照条件区域的non-local相互作用的建模

③将IGT插入ORF得到算法Retinexformer

实验

全面的定量和定性实验表明,我们的 Retinexformer 在 13 个基准测试中显着优于最先进的方法。

低光物体检测的用户研究和应用也揭示了我们的方法的潜在实用价值。

1. Introduction

低光照增强任务:

它的目的是改善低光图像的可见度差和对比度低的问题,并恢复隐藏在黑暗中或由点亮过程引入的损坏(例如噪声、伪影、颜色失真等)。

低光照增强算法:

方法类别方法介绍缺点
简单方法直方图均衡、伽马矫正简单方法直接放大曝光不足图像的低可见度和对比度。几乎不考虑光照因素会产生不需要的伪影,和真实正常光场景下的图像在感知上不一致
传统认知方法基于Retinex理论的方法将彩色图像分为两个部分:反射率和光照强度,假设图像无噪声和颜色失真,聚焦于光照强度估计①会引入噪声or局部颜色失真,与真实曝光不足的场景不一致;②依赖于手工设计的先验,调参工作细致繁琐且泛化能力较差
基于CNN的方法直接使用CNN来学习从低光照到正常光照图像的强力映射函数的方法忽略人类的颜色感知缺乏可解释性和理论上可证明的特性,在捕获long-range依赖性和非局部自相似性方面表现出局限性。
多步骤训练pipeline方法分别采用不同的 CNN 来分解彩色图像、对反射率进行降噪并调整照明。这些 CNN 首先独立训练,然后连接在一起进行端到端微调。训练过程繁琐耗时,在捕获long-range依赖性和非局部自相似性方面表现出局限性。
深度学习模型transformer可能提供解决基于 CNN 的方法的这一缺点的可能性。然而,直接应用原始视觉 Transformer 进行低光图像增强可能会遇到问题。计算复杂度与输入空间大小成二次方。计算消耗大。
CNN-Transformer混合算法SNR-Net等Transformer 在弱光图像增强方面的潜力仍未得到充分开发。

本文贡献:

提出Retinexformer进行低光照增强,将IGT作为corruption restorer插入ORF得到Retinexformer

基于Retinex的单阶段架构ORF,估计光照强度信息,将低光照图像变亮

向反射率和光照强度引入扰动项(perturbation terms)来修改原始Retinex模型

使用损坏恢复器(corruption restorer)抑制噪声、伪影、曝光不足/过度以及颜色失真

引入光照引导transformer(IGT),建模long-range依赖性

光照引导多头自注意力(IG-MSA),用光照特征引导自注意力的计算and增强不同曝光水平区域的交互

实验(略,大概就是实验效果很牛13的意思)见图1

图1  我们的 Retinexformer 在六种低光条件下显著优于最先进的基于 Retinex 的深度学习方法,包括 DUPE (DeepUPE [49])、ReNet (RetinexNet [54])、KinD [66] 和 RUAS [30]图像增强benchmarks。

2. Related Work

2.1. 低光照图像增强

普通方法、传统方法、深度学习方法(略,详见1.introduction中的低光照增强部分and论文原文)

2.2. 视觉transformer

transformer方法(略,详见1.introduction中的低光照增强的部分)

3. Method

整体架构如图2所示。

  • Retinexformer基于ORF
  • ORF由光照强度估计器(illumination estimator)(i)和一个损坏重建器(corruption restorer)(ii)组成。
  • 光照引导的transformer(IGT)用来充当corruption restorer的角色,如图2(b)所示
  • IGT的基本单元是光照引导的注意力块(IGAB
  • IGAB由两个标准化层(LN)、一个光照引导的多头注意力模块(IG-MSA,如图2(c)所示)和一个前馈网络组成(FFN

图2 我们方法的概述。( a ) Retinexformer采用所提出的由光照估计器( i )和腐败恢复器( ii ) IGT组成的ORF;( b ) IGT的基本单元为IGAB,由两层归一化( LN )、IG - MSA和前馈网络( FFN )组成。( c ) IG - MSA利用ORF捕获的光照表示来指导自注意力的计算。

3.1.  One-stage Retinex-based Framework(ORF)

3.1.1. 基于的retinex模型

retinex原理:低光照图片I\in \mathbb{R}^{H\times W\times 3}可以分解成反射值图片R \in \mathbb{R}^{H \times W\times 3}光照强度图L \in \mathbb{R}^{H \times W}

\odot:逐元素的乘积

该模型假设I无curruption

3.1.2. corruption的来源

(1)暗场景的高ISO长曝光成像设置引入噪声和伪影

(2)将暗场景变亮的过程也会造成曝光不足/过曝光和颜色失真(图2(a)中i和ii)

3.1.3. 建模corruption

如公式(2),分别为R和L引入扰动项

\widehat{R} \in \mathbb{R}^{H \times W \times 3}, \widehat{L} \in \mathbb{R}^{H \times W}:是边缘扰动

3.1.4. 将低光照图像变亮

在公式(2)的两边同时逐元素相乘一个点亮图(light-up map)\overline{L},如公式(3)所示。

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

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

简化(3)得到公式(4)

I_{lu} \in \mathbb{R}^{H \times W \times 3}:点亮项 lit-up image/item

C \in \mathbb{R}^{H \times W \times 3}:完整的corruption项

3.1.5. ORF数学表达式

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

\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}:增强后的图

3.1.6. illumination estimator(\varepsilon

如图2(a)(i)所示

①先用kernel size=1的卷积conv1×1:融合I和Lp的级联

②用一个深度可分离的卷积conv9×9:模拟不同光照条件下区域的相互作用,来生成light-up特征F_{lu}。因为曝光良好的区域可以动态的提供上下文信息给曝光不充足的区域

③conv1×1:聚合F_{lu}生成light-up map\overline{L},将\overline{L}设置为三通道RGB张良来提高其在模拟RGB通道之间的非线性来进行颜色增强方面的representation capacity。

④用\overline{L}来light up公式(3)中的I

3.1.7. discussion

(1)先前的基于retinex的深度学习网络方法估计光照图L,而ORF估计light-up map\overline{L}

  • 因为如果估计L,lit-up image将通过逐像素的除法得到(I./L),计算机对这种操作的处理非常的薄弱,张良的值将会变得很小,有时候甚至等于0。除法容易造成数据溢出问题。
  • 此外,计算机随机产生的小误差会被该运算放大,导致估计不准确。

因此,建模\overline{L}鲁棒性更好

(2)先前的基于retinex的深度学习方法主要聚焦于在反射图上抑制噪音这样的corruptions,容易导致点亮过程中过曝或曝光不足以及颜色失真的问题,而ORF考虑所有corruptions并使用corruption restorer来解决问题。

3.2. Illumination-Guided Tran​​​​​​​sformer

问题:

  • 之前的深度学习方法主要依赖于CNN,在捕获long-range依赖性方面表现出了局限性
  • 一些CNN-transformer混合工作仅在U-shaped CNN的最低分辨率下使用全局transformer层。transformer的潜力尚未得到充分挖掘。

解决方法:

设计光照应道的transformer(IGT)来起到公式(5)中corruption restorer的作用

3.2.1. 网络架构

如图2(a)(ii)所示,IGT采用三尺度U形架构。

  • IGT的输入是lit-up iamgeI_{lu} \in \mathbb{R}^{H \times W \times 3}
  • 降采样分支中,I_{lu} \in \mathbb{R}^{H \times W \times 3}经过一个步长为2的3×3的卷积、一个IGAB、一个步长为2的4×4卷积、两个IGAB和一个步长为2的4×4的卷积层生成分层特征F_{i} \in \mathbb{R}^{\frac{H}{2^{i}} \times \frac{W}{2^{i}} \times 2^{i}C}, i=0,1,2F_{2}经过两个IGBA
  • 上采样分支是一个对称结构,用步长为2的反卷积操作deconv2×2来升级特征。跳跃连接用来减轻下采样分支带来的信息损失。上采样分支输出一个残差图像I_{re} \in \mathbb{R}^{H \times W \times 3},然后增强的图像I_{en}=I_{lu}+I_{re}

3.2.2. IG-MSA

如图2(c)所示,IG-MSA的输入是通过光照估计得到的light-up特征F_{lu} \in \mathbb{R}^{H \times W \times C}

注意:使用stride=2的conv4×4层来缩小F_{lu} \in \mathbb{R}^{H \times W \times C}的尺寸来匹配空间大小(该部分在图2中被省略了)

问题:全局MSA的巨大计算成本限制了transformer在低光照图像增强中的应用

解决方法:IG-MSA将单通道特征视为token然后计算自注意力机制

①将输入的特征F_{in} \in \mathbb{R}^{H \times W \times C}重塑为tokensX \in \mathbb{R}^{HW \times C}

②将X分成k个head,如公式(6)所示

③对于每个head_{i},使用三个无偏差的全连接层(f_{c})将X_{i}线性投影到query元素Q_{i} \in \mathbb{R}^{HW \times d_{k}},key元素K_{i} \in \mathbb{R}^{HW \times d_{k}}和valueV_{i} \in \mathbb{R}^{HW \times d_{k}}元素,如公式(7)所示

W_{Q_{i}}, W_{K_{i}}, W_{V_{i}} \in \mathbb{R}^{d_{k} \times d_{k}}:全连接层可学习的参数

T:转置矩阵

光照条件更好的区域能够帮助增强黑暗的区域,因此,使用光照特征F_{lu}编码光照信息和不同光照条件下区域的交互来引导自注意力的计算。

④为了与X的形状保持一致,将F_{lu}重塑为Y \in \mathbb{R}^{HW \times C},并将其分成k个head,如公式(8)所示

⑤每个的自注意力定义如公式(9)所示

\alpha _{i} \in \mathbb{R}^{1}:可学习的参数,可自适应缩放矩阵乘法

⑥k个head连接起来通过全连接层,然后加上位置编码P \in \mathbb{R}^{HW \times C}(可学习的参数)来生成输出tokensX_{out} \in \mathbb{R}^{HW \times C}

⑦最终,重塑X_{out} \in \mathbb{R}^{HW \times C}来获得输出特征F_{out} \in \mathbb{R}^{H \times W \times C}

3.2.2. 复杂性分析

(主要就是说IG-MSA计算复杂性降低成本减少,能够插入网络的每个基本单元中。略,详情见论文)

4.Experiment

4.1. 数据集和实验细节

LOL(包含v1 和 v2)、SID 、SMID、SDSD和 FiveK  数据集。

4.2. 实验结果

4.2.1. 定量实验

表 1. LOL(v1 [54] 和 v2 [59])、SID [9]、SMID [10] 和 SDSD [48](室内和室外)数据集的定量比较。最高结果为红色,第二高结果为蓝色。我们的 Retinexformer 显着优于 SOTA 算法。
表 2. 采用 sRGB 输出模式的 FiveK [5] 数据集的结果。
表 3.(a) 比较了各种低光增强算法的人类感知质量。 (b) 比较不同方法对高级视觉理解的预处理效果。最高结果为红色,第二高结果为蓝色。
表 4.我们对 SDSD [48]-室外数据集进行消融研究。报告 PSNR、SSIM、Params 和 FLOPS(大小 = 256×256)。

4.2.2. 定性实验

图 5. SDSD [48] 上的视觉结果 - 室内(顶部)和室外(底部)。其他算法要么生成过度曝光和嘈杂的图像,要么引入黑点损坏和不自然的伪影。而 Retinexformer 可以恢复曝光良好的结构内容和纹理。
图 6. 我们的方法在 Exdark 数据集上对低光(左)和增强(右)场景中的对象检测进行视觉比较。
图 7. LIME [18]、NPE [50]、MEF [36]、DICM [28] 和 VV [47] 数据集的可视化结果。我们的 Retinexformer 表现更好。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/495578
推荐阅读
相关标签
  

闽ICP备14008679号