当前位置: 首页 > news >正文

Generative Diffusion Prior for Unified Image Restoration and Enhancement 论文阅读笔记

在这里插入图片描述

  • 这是CVPR2023的一篇用diffusion先验做图像修复和图像增强的论文

  • 之前有一篇工作做了diffusion先验(Bahjat Kawar, Michael Elad, Stefano Ermon, and Jiaming Song, “Denoising diffusion restoration models,” arXiv preprint arXiv:2201.11793, 2022. 2, 4, 6, 7),但这个模型只能做线性的退化,对于暗图增强这种非线性退化复原则没有能力。

  • 关键的公式就是如下的式子:
    在这里插入图片描述
    式7是diffusion模型的reverse过程,带了个条件y(低质量图片),通过约等号,条件y表现为了正态分布均值的偏差。按原先的diffusion先验,其实就是在diffusion的reverse的过程中,每次加噪的过程前都调整一下均值项。一个训练好的diffusion模型,不需要改变均值项和噪声方差的预测参数,只需要用另一个模型在reverse的过程中调整原模型预测的均值项即可。而这个调整项涉及的优化目标即为式8,由两部分组成,一部分是增强/复原 结果降质后和低质量原图的距离损失,一个是针对特殊任务的效果提升项,使得增强/复原结果具有期望的性质(如亮度)。其流程如下:
    在这里插入图片描述

  • 但作者认为,用 x t x_{t} xt的来算guidance有问题,原因是 x t x_t xt y y y带的噪声是不同种类不同强度的,算损失有问题。作者改进了这一过程,用 x 0 x_0 x0的估计来算,如下:
    在这里插入图片描述

  • 用的是从 x t x_t xt推导出来的 x 0 x_0 x0来算的guidance

  • image restoration任务的degradation算子之前的工作已经介绍过了,本文提出了一个enhancement任务的degradation算子:
    在这里插入图片描述

  • 就是乘以一个scale再加一个mask。但 f 和 M depend on x,所以这个式子表示的degradation其实并不是线性的。

  • 前面提到,损失函数由两部分组成,一部分是距离函数,另一部分是无监督的质量函数。质量函数采用的是Zero-DCE的exp loss、color loss和tv loss:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 实验结果还不错(我只关注了暗图增强任务)
    在这里插入图片描述
    在这里插入图片描述

  • 启发:用diffusion先验来进行暗图增强的部分,degradation的公式设计得巧妙简单,通过加M并且用M的tv loss的方式来进行增强是一个简单有效的idea,不过可能可以有更加有效的方法

http://www.lryc.cn/news/101414.html

相关文章:

  • GAMES101 笔记 Lecture13 光线追踪1
  • 【多模态】21、BARON | 通过引入大量 regions 来提升模型开放词汇目标检测能力
  • 2023“Java 基础 - 中级 - 高级”面试集结,已奉上我的膝盖
  • 开源项目-erp企业资源管理系统(毕设)
  • Leetcode刷题---C语言实现初阶数据结构---单链表
  • opencv hand openpose
  • flutter fl_chart 柱状图 柱条数量较多 实现左右滑动 固定y轴
  • CAN学习笔记1:计算机网络
  • NAND flash的坏块
  • 代码随想录算法训练营第二十五天 | 读PDF复习环节3
  • 18.Netty源码之ByteBuf 详解
  • #P0999. [NOIP2008普及组] 排座椅
  • Sentinel 容灾中心的使用
  • 深度学习中简易FC和CNN搭建
  • 【多模态】20、OVR-CNN | 使用 caption 来实现开放词汇目标检测
  • 网络编程 IO多路复用 [select版] (TCP网络聊天室)
  • 数学建模学习(7):单目标和多目标规划
  • Element UI如何自定义样式
  • protobuf入门实践2
  • adb shell使用总结
  • UG NX二次开发(C++)-Tag的含义、Tag类型与其他的转换
  • Informer 论文学习笔记
  • c语言位段知识详解
  • FFmpeg aresample_swr_opts的解析
  • CAN学习笔记3:STM32 CAN控制器介绍
  • 软工导论知识框架(二)结构化的需求分析
  • [SQL挖掘机] - 算术函数 - abs
  • vue拼接html点击事件不生效
  • 【Spring】Spring之依赖注入源码解析
  • 【微软知识】微软相关技术知识分享