RDDM论文阅读笔记

在这里插入图片描述

  • CVPR2024的残差去噪模型。把diffusion 模型的加噪过程分解为残差diffusion和noise diffusion,其中残差diffusion模拟从target image到degraded image的过程,而noise diffusion则是原来的diffusion过程,即从图片到高斯噪声的加噪过程。前者可以看作是对应restoration,后者对应generation。通过这一设计,仅用一个Unet,bs为1,用L1 Loss即可train一个sota的restoration模型。

  • 现有的diffusion image restoration模型通常是把LQ作为diffusion的condition,而diffusion仍然是从噪声开始的,作者认为这是没有必要的,可以直接从LQ开始而没必要从噪声开始。

  • 把DDPM中diffusion的终点 I T = ϵ I_T=\epsilon IT=ϵ 改成 I T = ϵ + I i n I_T=\epsilon+I_{in} IT=ϵ+Iin,把forward的过程中加的0均值高斯噪声改成以scale后的残差为均值的高斯噪声,残差即input image - target image,具体如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 通过调整beta 和 alpha的大小,可以控制generation的力度和restoration的力度。

  • 那么reverse的过程,用一个 I r e s θ ( I t , t , I i n ) I^\theta_{res}(I_t, t, I_{in}) Iresθ(It,t,Iin) 网络和一个 I ϵ θ ( I t , t , I i n ) I^\theta_{\epsilon}(I_t, t, I_{in}) Iϵθ(It,t,Iin) 网络分别预测残差 I r e s θ I^\theta_{res} Iresθ和噪声 ϵ θ \epsilon^\theta ϵθ,可以从上面的公式7推出对 I 0 I_0 I0的预测:
    在这里插入图片描述
    则reverse的过程是:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 最终推导出的损失函数倒是很简单,采样 ϵ \epsilon ϵ t t t计算 I t I_t It,再送进网络对预测的残差和噪声算L2损失即可:
    在这里插入图片描述

  • 方法差不多就到这里,接下来的内容基本是对一些超参数作用的探究,包括这里的两个lambda,以及alpha 和 beta的设定上。lambda没什么好说其实,就是消融证明了其中一个lambda为0都不能顾全fid和psnr,只有两个都不为零才能有好结果,并且可以设计一个自动算法来设定这些值。其中一个为0时表示对应的网络不生效,也就是说,当 λ ϵ \lambda_\epsilon λϵ为0时,reverse过程不用网络来预测 ϵ \epsilon ϵ,直接用下面的公式推就行,反之亦然:
    在这里插入图片描述

  • alpha 和 beta的设定,即可以按DDIM的alpha来计算(意思是,如果是用下面这个表达式,并且残差为0,那么本模型其实和DDIM是等价的),也可以另外设计schedules:
    在这里插入图片描述

在这里插入图片描述

  • 实验证明,随着t降低alpha增加beta是最好的,解释是这样的,当t很大的时候,图像噪声严重,因此beta应该大一点,去噪嘛,而alpha应该小一点,因为对residual估计不准确,当t比较小的时候,噪声已经去得差不多了,beta就应该小一点,alpha则可以估计得准确了,应该大一点,加快restoration的速度。
  • 文章同时还涉及了一个Partially Path-independent Generation Process。这个的意思是这样的,原先DDPM和DDIM,如果在某个alpha的schedule上train,就固定只能用这个schedule测试,如果用其它的schedule就会失败。但是文章想要改变generation process使得schedule可以改。怎么改,首先把DDIM的schedule改成上面的等价的等式17,也就是加了个beta进来。此时和DDIM还是等价的。然后把alpha的schedule从原先的linear改成P曲线,如下所示
    在这里插入图片描述
    在这里插入图片描述
  • 这样改之后,alpha和beta分别表示denoise的强度和restoration的强度,还需要再改一步,就是把alpha和beta作为网络的输入,这样网络才能根据输入的alpha和beta,自适应地进行denoise和restoration,如下:
    在这里插入图片描述
  • 文章其实还提了一点,说是用两个网络分别来预测残差和噪声,但我想这不是必然的吗,一般不会想用同一个网络来预测两个东西吧。。。反正这样改了之后网络就可以使用不同的schedule了,不过我也不知道这样有什么用,为什么不老实使用训练时候的schedule呢。。
  • 文章还做了其它的探究实验,比如先remove residual再remove noise,会导致前面remove residual不准确从而图像语义发生变化,先remove noise再remove residual导致过渡平滑失去细节,有点平均预测的现象,体现在人脸任务上对不同的人脸都预测了平均脸。

实验结果

  • 文章声称仅用一个UNet,并且没有过度调参就达到了SOTA:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/14542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何让社区版IDEA变得好用

如何让社区版IDEA变得好用 背景 收费版的idea功能非常强大,但是费用高。社区版的免费,但是功能被阉割了。如何才能让社区版Idea变得好用,就需要各种插件支持了。经过全局配置编码,maven,jdk版本,在加上各…

架构二。。

1、CAP 只能3选2 1)一致性(Consistency) 客户每次读都是返回最新的写操作结果 2)可用性(Availability) 非故障节点在合理的时间内返回合理的响应 3)分区容忍性(Partition Tolerance…

Ribbon负载均衡(自己总结的)

文章目录 Ribbon负载均衡负载均衡解决的问题不要把Ribbon负载均衡和Eureka-Server服务器集群搞混了Ribbon负载均衡代码怎么写ribbon负载均衡依赖是怎么引入的? Ribbon负载均衡 负载均衡解决的问题 首先Ribbon负载均衡配合Eureka注册中心一块使用。 在SpringCloud…

计算机网络之应用层知识点总结

6.1 网络应用模型 (1)应用层概述 (2)网络应用模型的介绍 客户/服务器(C/S)模型 P2P模型 6.2 域名解析系统DNS (1)DNS系统介绍 (2)域名 (3&#…

学习平台|基于Springboot+vue的学习平台系统的设计与实现(源码+数据库+文档)

学习平台系统 目录 基于Springboot+vue的学习平台系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2管理员功能模块 3学生功能模块 4教师功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八…

不小心丢失mfc140u.dll文件怎么办?mfc140u.dll丢失的解决办法

当您发现mfc140u.dll文件不见了或者受损,别担心,我们可以一起解决这个问题!首先,您可能会注意到一个小提示,当您尝试打开某些程序时,屏幕上会跳出一个消息说“找不到mfc140u.dll”或者“mfc140u.dll文件缺失…

解决docker中container运行闪退终止的问题

在运行bindmount-test时,点击完运行按钮后闪退结束运行。 第一步查看log日志: 2024-05-18 23:46:18 Error: Cannot find module /app/nodemon 2024-05-18 23:46:18 at Function.Module._resolveFilename (internal/modules/cjs/loader.js:668:15) …

2024-5-24 石群电路-15

2024-5-24,星期五,22:15,天气:晴,心情:晴。今天最后一天上班,终于要放返校假啦,开心!!!!!!不过放假也不能耽误…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(八)

课程地址: 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程,一套精通鸿蒙应用开发 (本篇笔记对应课程第 15 节) P15《14.ArkUI组件-状态管理state装饰器》 回到最初的 Hello World 案例,首先验证 如果删掉 State…

物理服务器介绍

物理服务器介绍 概述分类按服务器应用分类按服务器结构分类塔式服务器机架式服务器刀片式服务器机架式服务器与刀片式服务器的对比按处理器个数分类按处理器架构分类 主板概述工作原理物理结构技术参数 CPU概述工作原理指令集相关技术技术参数主流产品 内存概述类型相关技术技术…

C语言-atoi()库函数的模拟实现

文章目录 前言一、atoi()库函数的介绍及使用1.1 atoi()库函数介绍1.2 atoi()库函数使用 二、atoi()库函数的模拟实现2.1 函数设计2.2 函数实现思路2.3 具体实现2.4 测试 总结 前言 本篇文章介绍c语言中库函数atoi()的使用,以及模拟实现库函数。 一、atoi()库函数的…

Threes 特效 炫酷传送门HTML5动画特效

基于Three.js的HTML5 3D动画,这个动画模拟了游戏中的一个炫酷的3D场景,支持360度视角查看,也支持鼠标滚轮进行缩放。画面中主要展现了一个游戏中传送门的效果,同时还有路两边的围栏、灯笼、石头,以及星光闪闪的萤火虫&…

IO端口编址

统一编址 特点 独立编址 特点 内存地址分配 区别 应用 IO端口地址译码 硬件上的实现 示例1: 示例2: IO指令 软件上的实现 示例

2024最佳画图软件合集,操作简单无需下载!

随着数字时代的到来,绘画软件已经成为创造性表达和艺术创作不可或缺的工具。无论你是设计师、艺术家,还是只是对创作充满热情,2024年的绘画软件集都为你提供了各种各样的选择,这样你就可以在数字画布上释放你的想法。本文将重点推…

XV4001系列陀螺仪传感器广泛用于车载导航系统

随着汽车电子化趋势的加速,越来越多的汽车配备一系列先进的车载导航系统,这些导航系统功能的实现都依赖于精确的传感器数据(位置、车速、转向角度、车轮转速等)。传感器作为这些系统的核心组件,其准确性和可靠性直接影响到整个导航系统的性能…

大模型时代,掌握Event Stream技术提升Web响应速度

大模型时代,每天搜索都可能会用到一种或多种大模型,在大文本输出的时候,页面是一字一字,一段一段的慢慢输出出来的,这背后是如何实现的呢?我们以KIMI为例 先抓个请求 我们发现界面展示是一句话,但是接口返回的时候是一个字一个字的。 普通请求 多了Event Stream的处理 …

DDoS攻击的最新动态及市场趋势分析

随着数字化转型的加速和网络连接设备的增加,分布式拒绝服务(Distributed Denial of Service, DDoS)攻击已经成为全球网络安全领域的一大威胁。根据最新的市场研究报告,预计到2028年,DDoS防护软件市场的复合年增长率将达到14%以上,…

爬虫实训案例:中国大学排名

近一个月左右的时间学习爬虫,在用所积累的知识爬取了《中国大学排名》这个网站,爬取的内容虽然只是可见的文本,但对于初学者来说是一个很好的练习。在爬取的过程中,通过请求数据、解析内容、提取文本、存储数据等几个重要的内容入…

qmt量化交易策略小白学习笔记第10期【qmt编程之获取股票订单流数据--内置Python】

qmt编程之获取股票订单流数据 qmt更加详细的教程方法,会持续慢慢梳理。 也可找寻博主的历史文章,搜索关键词查看解决方案 ! 感谢关注,需免费开通量化回测与咨询实盘权限,可以和博主联系! 获取股票订单流…

Undet for SketchUp 2023.3 点云建模软件 支持支持草图大师sketchup2021-2022-2023

1.Undet for sketchup 2023.3支持草图大师sketchup2021-2022-2023。支持机载雷达扫描、车载扫描还是地面扫描,对AEC行业用户来说,真正需要的是如何将这些数据快速处理为三维模型,这样才能将这些信息延展到BIM领域发挥效用。因此面对这些海量的…