浅析扩散模型与图像生成【应用篇】(三)——RDDM

3. Residual Denoising Diffusion Models

   该文提出一种残差去噪扩散模型(RDDM)可用去图像生成和图像修复(如去除阴影、去雨、暗光提升等)。该文最大的特点是提出一种双扩散模型,在扩散过程中不仅包含噪声 ϵ \epsilon ϵ扩散,还包含残差信息 I r e s I_{res} Ires的扩散,这里的残差信息就是退化图像 I i n I_{in} Iin I 0 I_0 I0之间的差值。例如去雨任务中,带有雨的图像就是 I i n I_{in} Iin,去雨之后的图像就是 I 0 I_0 I0
  
  RDDM的扩散和重建过程如上图所示,如果 I i n I_{in} Iin为0,RDDM就变成了正常的图像生成;如果 I i n I_{in} Iin是退化的图像,RDDM就可以实现图像修复任务。扩散过程中带有噪声的退化图像 I t I_t It的计算方法如下所示 I t = I t − 1 + I r e s t , I r e s t ∽ N ( α t I r e s , β t 2 I ) I_t =I_{t-1}+I_{res}^t,I_{res}^t\backsim \mathcal{N}(\alpha_tI_{res},\beta^2_tI) It=It1+Irest,IrestN(αtIres,βt2I)或者 I t = I 0 + α ˉ t I r e s + β ˉ t ϵ I_t=I_0+\bar{\alpha}_tI_{res}+\bar{\beta}_t\epsilon It=I0+αˉtIres+βˉtϵ其中 α ˉ t = ∑ i = 1 t α i \bar{\alpha}_t=\sum_{i=1}^t\alpha_i αˉt=i=1tαi β ˉ t = ∑ i = 1 t β i 2 \bar{\beta}_t=\sqrt{\sum_{i=1}^t\beta_i^2} βˉt=i=1tβi2 。在扩散过程中,需要同时训练两个模型 I r e s θ ( I t , t , I i n ) I_{res}^{\theta}(I_t,t,I_{in}) Iresθ(It,t,Iin) ϵ θ ( I t , t , I i n ) \epsilon_{\theta}(I_t,t,I_{in}) ϵθ(It,t,Iin)分别来预测残差 I r e s θ I_{res}^{\theta} Iresθ和噪声 ϵ θ \epsilon_{\theta} ϵθ。模型训练的目标函数分别为 L res  ( θ ) : = E [ λ res  ∥ I res  − I res  θ ( I t , t , I in  ) ∥ 2 ] , L ϵ ( θ ) : = E [ λ ϵ ∥ ϵ − ϵ θ ( I t , t , I in  ) ∥ 2 ] L_{\text {res }}(\theta):=\mathbb{E}\left[\lambda_{\text {res }}\left\|I_{\text {res }}-I_{\text {res }}^{\theta}\left(I_{t}, t, I_{\text {in }}\right)\right\|^{2}\right],L_{\epsilon}(\theta):=\mathbb{E}\left[\lambda_{{\epsilon}}\left\|{\epsilon}-{\epsilon}_{\theta}\left(I_{t}, t, I_{\text {in }}\right)\right\|^{2}\right] Lres (θ):=E[λres  Ires Ires θ(It,t,Iin ) 2],Lϵ(θ):=E[λϵϵϵθ(It,t,Iin )2]
   在重建过程中,利用训练好的网络预测得到的残差 I r e s θ I_{res}^{\theta} Iresθ和噪声 ϵ θ \epsilon_{\theta} ϵθ就可以从 I t I_t It中恢复 I t − 1 I_{t-1} It1,如下式 I t − 1 = I t − ( α ˉ t − α ˉ t − 1 ) I r e s θ − ( β ˉ t − β ˉ t − 1 2 − σ t 2 ) ϵ θ + σ t ϵ t , where  ϵ t ∼ N ( 0 , I ) I_{t-1}=I_{t}-\left(\bar{\alpha}_{t}-\bar{\alpha}_{t-1}\right) I_{r e s}^{\theta}-\left(\bar{\beta}_{t}-\sqrt{\bar{\beta}_{t-1}^{2}-\sigma_{t}^{2}}\right) \epsilon_{\theta}+\sigma_{t} \epsilon_{t} \text {, where } \epsilon_{t} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) It1=It(αˉtαˉt1)Iresθ(βˉtβˉt12σt2 )ϵθ+σtϵt, where ϵtN(0,I)其中 σ t 2 = η β t 2 β ˉ t − 1 2 / β ˉ t 2 \sigma_t^2=\eta\beta_t^2\bar{\beta}_{t-1}^2/\bar{\beta}_{t}^2 σt2=ηβt2βˉt12/βˉt2
   作者提到扩散过程中, α t \alpha_t αt控制着残差扩散的速度, β t 2 \beta_t^2 βt2控制着噪声扩散的速度,并且二者之间是彼此独立的,也就是说噪声扩散和残差扩散两个过程是可以解耦的。这样带来一个好处,就是可以更加精细的设计 α t \alpha_t αt β t 2 \beta_t^2 βt2的取值和计算方式。作者提到残差扩散过程表示了从目标图像 I 0 I_0 I0到退化图像 I i n I_{in} Iin之间的扩散方向,因此其更加注重的是确定性。而噪声扩散表示扩散过程中的随机干扰,其更加强调多样性。RDDM与DDPM之间的差异如下图所示, 残差信息的引入,就在最终的扩散得到的噪声中限定了一个范围,而不是完全不可知的一个随机分布。
在这里插入图片描述
  作者后面用了很大篇幅去论证了在生成过程中,去噪和去除残差的过程是部分上路径独立的。如果先去除噪声后去除残差,生成结果就失去多样性;如果先去除残差,再去除噪声,则能够控制语义的变换。
在这里插入图片描述

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

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

相关文章

Windows WMI详解

WMI简介 WMI ( Windows Management Instrumentation, Windows管理规范)是Windows 2000/XP管理系统的核心,属于管理数据和操作的基础模块。设计WMI的初衷是达到一种通用性,通过WM操作系统、应用程序等来管理本地或者远程资源。它支持分布式组件对象模型(…

select * from 表 c=‘1‘ and b=‘2‘ and a=‘3‘; abc是联合索引,这样查询会命中索引吗?

倒叙也会命中索引 但是要注意,倒叙的时候必须要有a存在,否则就会索引失效 因为mysql底层会有优化器去进行优化,但是如果没有a的话,那么优化器就不知道要优化那个索引了,所以他走了全表,导致索引失效

[MYSQL数据库]--mysql的基础知识

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、数据库…

Redis数据类型--List类型详解及应用

数据结构 Redis无论什么数据类型,存储的时候都是以键值对key-value形势存储,并且所有的key都是String类型,本文讨论的数据类型是value的数据类型。 List类型 概述:list类型可以存储一个有序的字符串列表,为了方便理…

Tomcat服务部署

1、安装jdk、设置环境变量并测试 第一步:安装jdk 在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。 1. #关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 02. #将安装 Tomcat 所需软件包传到/opt…

备战蓝桥杯Day20 - 堆排序的实现

一、每日一题 蓝桥杯真题之互质数的个数 我的解法: 两个数互质,说明两个数的最大公约数是1,定义了一个函数判断两个数的最大公约数,再在循环中判断,并实现计数。可以实现运行,缺点是时间复杂度很高&#…

javaweb学习(day04-XML)

一、介绍 1 官方文档 地址: https://www.w3school.com.cn/xml/index.asp 2 为什么需要 XML 需求 1 : 两个程序间进行数据通信需求 2 : 给一台服务器,做一个配置文件,当服务器程序启动时,去读取它应当监听的端口号、还有连接数据库的用户名…

【Java程序设计】【C00321】基于Springboot的在线租房和招聘平台(有论文)

基于Springboot的在线租房和招聘平台(有论文) 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的在线租房和招聘平台,本系统有管理员、用户、房东以及公司四种角色; 管理员:首页、个人中心…

spring boot集成Elasticsearch 7.16.3

环境&#xff1a;Elasticsearch 版本 7.16.3 Elasticsearch for windows下载地址 windows 若依 spring boot版本 2.6.0 pom文件添加 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch<…

【Kubernetes】K3S

目录 前言一、原理单体架构高可用架构 二、初始化1.配置yum源2.关掉防火墙3.关掉selinux4. 修改内核参数5.关掉swap交换分区 三、安装master节点1. 安装container2.启动master服务 四、安装node节点五、卸载六、总结 前言 各位小伙伴们&#xff0c;大家好&#xff0c;小涛又来…

面试数据库篇(mysql)- 10事务中的隔离性是如何保证

锁:排他锁(如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁mvcc : 多版本并发控制MVCC 全称 Multi-Version Concurrency Control,多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突 MVCC的具体实现,主要依赖于数据库记录中的隐式字段…

Sui在AIBC Eurasia奖项评选中被评为2024年度最佳区块链解决方案

自2023年主网上线以来&#xff0c;经历了爆炸性增长的Layer1区块链Sui在2月25–27日迪拜举办的第二届AIBC Eurasia活动中获得“2024最佳区块链解决方案奖”&#xff08;Best Real World Application Award 2024&#xff09;。这个盛大的活动以世界级的参与者和往届获奖者而闻名…

mongoose源码解读(二) -- mg_mgr_init 初始化

在用 mongoose 源码开发的时候&#xff0c;这个初始化函数 mg_mgr_init&#xff08;&#xff09;则是必须的&#xff0c;我们看下它到底做了哪些初始化操作。 void mg_mgr_init(struct mg_mgr *m, void *user_data) {struct mg_mgr_init_opts opts;memset(&opts, 0, sizeo…

Leetcode : 移动零

给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 思路&#xff1a;遍历数组元素&#xff0c;判定为0&#xff0c;则采用erase从数组删除&…

算法修炼-动态规划之斐波那契数列模型

一、动态规划的算法原理 这是本人动态规划的第一篇文章&#xff0c;所以先阐述一下动态规划的算法原理以及做题步骤。动态规划本人的理解就是通过题目所给的条件正确地填满dp表&#xff08;一段数组&#xff09;。首先要先确定好dp表每个位置的值所代表的含义是什么&#xff0c…

JavaEE——简单认识JavaScript

文章目录 一、简单认识 JavaScript 的组成二、基本的输入输出和简单语法三、变量的使用四、JS 中的动态类型图示解释常见语言的类型形式 五、JS中的数组六、JS 中的函数七、JS 中的对象 一、简单认识 JavaScript 的组成 对于 JavaScript &#xff0c;其中的组成大致分为下面的…

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的水果质量识别系统(Python+PySide6界面+训练代码)

摘要&#xff1a;本篇博客详尽介绍了一套基于深度学习的水果质量识别系统及其实现代码。系统采用了尖端的YOLOv8算法&#xff0c;并与YOLOv7、YOLOv6、YOLOv5等前代算法进行了详细的性能对比分析&#xff0c;提供在识别图像、视频、实时视频流和批量文件中水果方面的高效准确性…

【探索AI】探索未来-计算机专业必看的几部电影

计算机专业必看的几部电影 计算机专业必看的几部电影&#xff0c;就像一场精彩的编程盛宴&#xff01;《黑客帝国》让你穿越虚拟世界&#xff0c;感受高科技的魅力&#xff1b;《社交网络》揭示了互联网巨头的创业之路&#xff0c;《源代码》带你穿越时间解救世界&#xff0c;…

【Java程序设计】【C00327】基于Springboot的高校教师教研信息填报系统(有论文)

基于Springboot的高校教师教研信息填报系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的高校教师教研信息填报系统&#xff0c;本系统有管理员、教研管理以及教研人员三种角色&#xff1b; 管理员&#xff1a…

行为树入门:BehaviorTree.CPP Groot2练习(叶子节点)(2)

以《行为树BehaviorTree学习记录1_基本概念》练习。 1 SequenceNode顺序控制节点 代码下载 git clone https://gitee.com/Luweizhiyuan2020/ros2_bt.git例程 1.1 sequence 顺序执行 下载版本SequenceNode1。 1.2 ReactiveSequence 异步执行 注意&#xff1a; ①only a…