赞
踩
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
作者:phantom(源:知乎,已授权)| 编辑:CVer公众号
https://zhuanlan.zhihu.com/p/657927878
在CVer微信公众号后台回复:Retinexformer,可以下载本论文pdf、代码
本文介绍我们在 ICCV 2023 上的新工作
Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement
论文:arxiv.org/abs/2303.06705
代码(已开源):
https://github.com/caiyuanhao1998/Retinexformer
目前所有的代码、模型、训练日志、十三个数据集(LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK, LIME, NPE, MEF, DICM, VV)的测试结果均已开源。我们基于 BasicSR 开发了一个集成了八大数据集的训练框架。欢迎大家来使用~
如图1所示,暗光增强的主要任务是增强低光图像的能见度和对比度,同时修复隐藏在黑暗中或由于提升亮度而引入的噪声、伪影、颜色畸变等复杂的退化模式。
当前的暗光增强算法大体上可以分为三类:朴素方法、传统感知方法、深度学习方法
朴素方法一般会直接在全局范围内增强整张图像的亮度和对比度。经典的算法有直方图均衡化(histogram equalization )和伽马矫正(Gama Correction)。然而这类算法没有考虑到光照因素,使得增强后的图像与真实光照图像严重不符。
传统感知算法大都基于视网膜理论(Retinex Theory),将一张自然图像解耦为照度图(Illumination)和反射图(Reflectance),并将反射图作为暗光增强后的图像。然而这类算法有两个缺陷。一是假定暗光图像都是干净的,不存在噪声伪影等。然而由于成像设备的缺陷,暗光图像常常带有噪声。二是这类算法依赖于手工设计的图像先验,常常需要调参且表征能力很弱。
现有的深度学习方法大多基于卷积神经网络,不擅长于捕获长程依赖关系,不利于图像的修复。有部分深度学习算法与视网膜分解理论相结合。然而这类算法大都需要一个冗长的流程,采取一个多阶段的训练方案,分别训练多个不同的 CNN 来做不同的任务,如解耦彩色图像、给反射图去噪、调整照度图等。然后将这些训好的 CNN 连接起来进行微调。整个训练过程繁琐复杂,费时费力。
为了解决上述难题,本文:
【1】我们提出了首个与视网膜理论相结合的 Transformer 算法,名为 Retinexformer,以用于暗光增强。
【2】我们推导了一个单阶段视网膜理论框架,名为 ORF(One-stage Retinex-based Framework),不需要繁复的训练和微调流程,只需要一个阶段端到端的训练即可。
【3】我们设计了一种由光照引导的新型多头自注意机制,名为 IG-MSA(Illumination-Guided Multi-head Self-Attention,IG-MSA),将光照信息作为关键线索来引导长程依赖关系的捕获。
【4】我们的算法在十三个暗光增强榜单上达到了更好的定量和定性效果,同时在用户研究和黑夜目标检测任务上验证了我们算法的实用价值。
本文方法的整体框架如图3所示。在图3 (a) 中,Retinexformer 采用我们设计的 ORF。而 ORF 又由两部分构成:(i) 光照估计器(illumination estimator)和 (ii) 退化修复器(corruption restorer)。在图3 (b) 中,我们设计一个光照引导的 Transformer IGT(Illumination-Guided Transformer)来作为退化修复器。IGT 的基本单元是光照引导的注意力块 IGAB (Illumination-Guided Attention Block)。IGAB 由两个层归一化 LN(Layer Normalization),一个 IG-MSA 和一个前馈网络 FFN(Feed-Forward Network)组成,其细节如图3 (c) 所示。
根据视网膜理论,一个低光图像 I 可以分解为一个反射图 R 和一个照度图 L 的点乘:
然而这个视网膜模型并没有考虑噪声伪影等退化因素。因此,我们将这条公式重写为:
分别在反射图和照度图上加入了扰动项。那么在提升低光图像亮度时,上边等式两边会同时点乘一个亮度图:
等式右边第三项便表示隐藏在黑暗中的噪声伪影,并在提升亮度过程中被进一步放大。第二项表示点亮过程造成的失曝,过曝和颜色畸变。可将(3)式进一步简化为:
其中的 C 表示整体的退化项。基于(4)式,可将ORF推导为如下:
低光图像和照度先验图先经过光照估计器后的输出作为退化修复器的输入。
如图3 (a) (ii) 所示,IGT采用一个 encoder-bottleneck-decoder 的 U-型结构。其中最重要的组成部件便是 IG-MSA,光照估计器输出的增亮特征图输入到每一个 IG-MSA 当中。在 IG-MSA 当中,输入的特征图首先被变形为 token,然后被分成 k 个 heads:
对每个heads,分别将其线性投影为 Q,K,V:
同时也将增亮特征图形变成 token:
然后在每一个 head 计算自相似时,用光照信息作为引导:
我们的 IG-MSA 的计算复杂度为:
同比全局的MSA的计算复杂度:
我们 IG-MSA 计算复杂度与输入尺寸成线性而全局MSA的计算复杂度与输入成二次相关。我们的计算复杂度明显更低。
我们在 LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK 八个数据集上开展定量实验,实验结果如表1、2所示:
此处需要补充说明一下,MIT Adobe FiveK 官方只提供了RAW数据。需要大家自己导出才能得到 RGB 数据。导出有两种格式,一种是 pro RGB,这种格式不适于人的眼睛来看,但是计算得到的 PSNR 和 SSIM 指标都偏高,便于大家报指标。而另一种是 s RGB 格式,这种就是最常见的 RGB 图像格式,但是这种格式指标会比较低。本文采用的就是这种格式。我们在 repo 里贴心地为大家准备好了已经导出的 sRGB 图像下载链接,可以直接下载使用~
我们在 LOL-v1, LOL-v2-real, LOL-v2-synthetic, SID, SMID, SDSD-in, SDSD-out, MIT Adobe FiveK, LIME, NPE, MEF, DICM, VV 上测试了定性效果。视觉对比如图4、5、6、7所示
另外我们还做了用户调查,结果如表3所示:
最后,将我们的 Retinexformer 作为预处理器对暗光图像进行增强以辅助夜间目标检测的效果,在 ExDark 数据集上的定量结果如表4所示:
一些暗光增强辅助夜间目标检测的例子如图8、9、10 所示:
在CVer微信公众号后台回复:Retinexformer,可以下载本论文pdf、代码
ICCV / CVPR 2023论文和代码下载
后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集
后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
- 目标检测和Transformer交流群成立
- 扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。
- 一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
-
- ▲扫码或加微信号: CVer333,进交流群
- CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!
-
- ▲扫码进星球
- ▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。