2023ICCV_Retinexformer: One-stage Retinex-based Transformer for Low-light Image Enhancement
一. Motivation
(1) Retinex理论没有考虑到噪声,并且基于Retinex分解的网络通常需要很多阶段训练。
(2)直接使用从CNN从低光图像到正常光图像的映射忽略了人类的颜色感知,CNN更适合捕获局部信息,对于捕获远程依赖和非局部自相似性方面存在局限。
二.Contribution
(1) 设计了一个阶段的Retinex框架用来分解光照信息
(2)Transformer在捕获非局部有很大的优势,但是直接使用Transformer计算复杂度太高,所以提出了IGA进行更一步的损坏恢复
三.Network
训练分为两个阶段(i) 光照估计------>生成亮度图(在代码中看到依旧是特征)和亮度特征 (ii)修复-------> 使用transformer捕获全局信息进行修复
(i) illumination Estimator阶段
输入是Input Image 和 Iiilmination Prior
concat后的一起送入网络
:是沿通道维度计算每个像素的平均值
concat后的首先进入一个1×1卷积,在进入一个5×5卷积(注:网络给的是9×9,但是代码是5×5)输出 Light-up Feature ,再经过一个1×1卷积输出亮度图 Light-up Map
(ii)Corruption Restorer – Illumination-Guided Transformer
输入: 亮度图Lit-up Image与输入Input Image逐元素相乘后再与输入Input Image进行相加后送如Restorer阶段
input_img = img * illu_map + img
output_img = self.denoiser(input_img,illu_fea)
Restorer阶段采用的U-Net结构,其中IGAB是利用transformer设计的网络结构
四. 损失函数
目前只看到LOL数据集用的是L1损失,其他数据集待核实
五. 实验结果
代码中好像只保存了best_psnr的结果(得到最优psnr直接用最优psnr模型计算ssim)
(1)作者提供的代码:目前只跑了LOL-v1数据集结果 best_psnr=23.64
只使用作者的Retinexformer.py 网络架构,LOL-v1数据集 : best_psnr=23.28(218epoch) , ssim=0.8271(355epoch)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署