论文学习笔记: Learning Multi-Scale Photo Exposure Correction(含pytorch代码复现)

本章工作:

  1. 作为Learning Multi-Scale Photo Exposure Correction.论文的简要学习笔记
  2. 鉴于官方代码为Matlab代码,因此本人采用pytorch框架将其进行了复现了一下,并将其放在个人github网址上进行了开源(ps: 如果觉得此工作不错的话,希望能给github代码1个star收藏,嘻嘻)。

论文摘要

  1. 本论文任务旨在图像曝光矫正(包括曝光不足及过曝光.)
  2. 将曝光矫正问题拆分为两个子问题: 颜色增强及细节增强。
  3. 提出一种由粗到细(由低频信息到高频信息)的端到端的增强网络,来解决以上两个子问题。
  4. 为了应对多种曝光程度的矫正任务,提出了新的包含多种曝光程度的数据集。

训练数据集

  1. 提出了一个包含多种曝光程度的数据集: 基于MIT-Adobe FiveK dataset,使用Adobe Camera Raw SDK 对每一张raw-RGB图像进行Evs分别设置为[−1.5, −1, +0, +1, +1.5]的模拟不同曝光程度的处理。而将专家C渲染的图片作为ground truth. 再在其中去除一小部分与ground truth未对齐的图像。最终含24330张图像。将其划分17675张用于训练、750 张用于验证、5905张用于测试。

  2. MIT-Adobe FiveK dataset: 包含5000张raw-RGB图像(即ADC采样后直接输出的未经处理过的数据),及各相对应的经5位专家渲染的s-RGB图片。(共30000张)

网络设计原理

与直接在input上作增强处理不同,作者采用多分辨率增强方式,同时又要秉持从颜色、细节(即低频、高频)信息层面上分别作处理,因此作者采用拉普拉斯金字塔来对input作处理,发现若能对各level分别作增强处理,对最终合并结果有较明显效果。

l拉普拉斯金字塔

补充知识:拉普拉斯金字塔

这是从其他博客中搜寻到的一个示意图,从图中可以很明显的看出拉普拉斯分解的过程。
在这里插入图片描述

网络总览

在这里插入图片描述

子网络(L-Layers U-Net)

在这里插入图片描述

损失函数

总loss:

在这里插入图片描述
Reconstruction Loss:

在这里插入图片描述
Pyramid Loss:

在这里插入图片描述
Adversarial Loss:
在这里插入图片描述

相关实验

划分的测试数据集进行测试,与其他模型方法进行PSNR、SSIM、PI的对比。效果排名:绿色>黄色>红色>其他

  1. 在曝光不足图像的修正上,该论文模型与SOTA模型相差不大。
    在这里插入图片描述

  2. 在正常亮度和过曝图像的修正上,该论文模型的所有指标都达到了最好。
    在这里插入图片描述

  3. 在整个测试数据集的修正上,该论文模型的综合效果达到最佳。

在这里插入图片描述

  1. 在其他数据集进行测试,与其他模型方法进行PI的对比。效果排名:
    绿色>黄色>红色>其他;在泛化能力上,该论文的模型也是达到目前最好的效果(在PI指标上)。

在这里插入图片描述
5. 从验证集中随机选取500对图作拉普拉斯分解层数与Pyramid loss的消融实验:
在这里插入图片描述

网络局限性

  1. 部分区域细节、颜色恢复质量差。
  2. 在一些黑暗区域会产生新的噪声。

在这里插入图片描述

论文pytorch实现

本人花了一些时间对该论文采用pytorch框架进行了简单复现;在不采用原MATLAB代码中使用的Bilateral Guided Upsampling (bgu)上采样方式而直接采用简单的上采样方式对预测结果进行处理,复现结果为psnr: 19.756,ssim: 0.749;若采用bgu后,复现结果为psnr: 20.313,SSIM: 0.863;(原论文在相同方式下:psnr: 20.205,ssim: 0.769);

pytorch代码地址: https://github.com/LZ-CH/Exposure_Correction-pytorch(ps: 如果觉得此工作对你有帮助的话,希望能给github代码1个star收藏,嘻嘻)。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
下一篇>>