论文学习笔记: Learning Multi-Scale Photo Exposure Correction——含pytorch代码复现
- 本章工作:
- 论文摘要
- 训练数据集
- 网络设计原理
-
- 补充知识:拉普拉斯金字塔
- 网络总览
-
- 子网络(L-Layers U-Net)
- 损失函数
- 相关实验
- 网络局限性
- 论文pytorch实现
本章工作:
- 作为Learning Multi-Scale Photo Exposure Correction.论文的简要学习笔记
- 鉴于官方代码为Matlab代码,因此本人采用pytorch框架将其进行了复现了一下,并将其放在个人github网址上进行了开源(ps: 如果觉得此工作不错的话,希望能给github代码1个star收藏,嘻嘻)。
- 本论文任务旨在图像曝光矫正(包括曝光不足及过曝光.)
- 将曝光矫正问题拆分为两个子问题: 颜色增强及细节增强。
- 提出一种由粗到细(由低频信息到高频信息)的端到端的增强网络,来解决以上两个子问题。
- 为了应对多种曝光程度的矫正任务,提出了新的包含多种曝光程度的数据集。
- 提出了一个包含多种曝光程度的数据集: 基于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张用于测试。
- MIT-Adobe FiveK dataset: 包含5000张raw-RGB图像(即ADC采样后直接输出的未经处理过的数据),及各相对应的经5位专家渲染的s-RGB图片。(共30000张)
文章图片
补充知识:拉普拉斯金字塔 这是从其他博客中搜寻到的一个示意图,从图中可以很明显的看出拉普拉斯分解的过程。
文章图片
网络总览
文章图片
子网络(L-Layers U-Net)
文章图片
损失函数 总loss:
文章图片
Reconstruction Loss:
文章图片
Pyramid Loss:
文章图片
Adversarial Loss:
文章图片
相关实验 划分的测试数据集进行测试,与其他模型方法进行PSNR、SSIM、PI的对比。效果排名:绿色>黄色>红色>其他
- 在曝光不足图像的修正上,该论文模型与SOTA模型相差不大。
文章图片
- 在正常亮度和过曝图像的修正上,该论文模型的所有指标都达到了最好。
文章图片
- 在整个测试数据集的修正上,该论文模型的综合效果达到最佳。
文章图片
- 在其他数据集进行测试,与其他模型方法进行PI的对比。效果排名:
绿色>黄色>红色>其他;在泛化能力上,该论文的模型也是达到目前最好的效果(在PI指标上)。
文章图片
5. 从验证集中随机选取500对图作拉普拉斯分解层数与Pyramid loss的消融实验:
文章图片
网络局限性
- 部分区域细节、颜色恢复质量差。
- 在一些黑暗区域会产生新的噪声。
文章图片
论文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收藏,嘻嘻)。
推荐阅读
- 深度学习|yolov5之可视化特征图和检测结果
- 神经网络|【干货】新手炼丹经验总结
- 图像分类|保姆级使用PyTorch训练与评估自己的Wide ResNet网络教程
- 物联网专栏|图神经网络驱动的交通预测技术(探索与挑战)
- 深度学习|神经网络调参经验总结
- 炼丹经验贴|Deep Learning炼丹经验总结——减少对设备性能消耗的方法
- 炼丹笔记|深度学习炼丹失败率高达87%的TOP10原因
- Python中的Altair(数据可视化)
- 使用Python进行网络爬虫(Beautiful Soup)