DiffBIR论文阅读笔记

在这里插入图片描述

  • 这篇是董超老师通讯作者的一篇盲图像修复的论文,目前好像没看到发表在哪个会议期刊,应该是还在投,这个是arxiv版本,代码倒是开源了。本文所指的BIR并不是一个single模型对任何未知图像degradation都能处理,而是用同一个framework解决BSR,BID和BFR等blind image restoration任务,每个任务对应一个模型参数。
  • 文章提出,BIR可以分解为两个阶段:去除 image-dependent degradation (由一个restoration module来完成)和 生成丢失的图像内容(由IRControlNet来完成,用现有的train好的text-to-image latent diffusion model)。现有利用diffusion模型来进行IR的方法,基本都是把LQ作为diffusion的condition,和xt一起送进denoising network。但是本文提出,使用有noise和artifact的图片作为condition会影响生成,导致生成结果有artifact。因此,本文先用一个restoration模型来去除degradation,再把去除了degradation的图片作为condition送进diffusion模型。
  • 文章提出一个training-free region-adaptive restoration guidance,有点类似classifer-based的方法控制diffusion生成图片类别的做法那样,在diffusion的中间加梯度来影响diffusion的方向,对图像中低频的部分要求和guidance image(即一阶段restore的结果)更接近(MSE Loss),而高频区域则受MSELoss影响小以图取更好的细节生成能力。
  • 一二阶段的训练是分开的。一阶段用的是现有的BID BSR BFR网络,用MSELoss来train。而且选的是这三个可以从HQ合成LQ的任务,用了大范围的参数来合成各种各样的LQ图片来训练。二阶段如图所示,首先把restored image用一个pretrained fixed VAE encoder提取特征cRM,然后和zt送进stable diffusion模型做reverse预测zt-1。黄色的部分则是刚刚提的guidance。

在这里插入图片描述

  • reverse用的是pretrained fixed stable diffusion model,加一个自己的controlnet,train的是control的部分,如下图所示:
    在这里插入图片描述
  • guidance是这样做的,其实没什么知识点,知道classifier-based 的diffusion model是怎么控制生成图片的类别的就知道了。首先,原来的diffusion是从 z t z_t zt预测噪声epsilon减去得出 z 0 z_0 z0,然后从 z t z_t zt z 0 z_0 z0 z t − 1 z_{t-1} zt1,这就是一个reverse的step。那么guidance就是,在 z 0 z_0 z0的基础上,计算一个损失,然后计算损失对于对于 z 0 z_0 z0的梯度,乘以一个scale,加上去,相当于对 z 0 z_0 z0做了一步梯度回传加更新,得到 z ^ 0 \hat z_0 z^0。然后以更新后的 z ^ 0 \hat z_0 z^0 z t z_t zt来推 z t − 1 z_{t-1} zt1,作为一个reverse的step。关键就是这个损失怎么算,一般guidance就是计算 z 0 z_0 z0和guidance的相似度,本文也一样,guidance image就是一阶段restored 的image,但是我们希望只有平滑区域学restored image,有纹理区域不要学,让diffusion生成,所以就在算loss的时候乘了个平滑度图。
    在这里插入图片描述
  • 如上所示, D ( z 0 ) D(z_0) D(z0)就是stable diffusion的decoder,stable diffusion不是直接对图片进行reverse step,而是对特征进行diffusion,所以需要先用decoder把特征转成图像域,再和restored image算差,差还是CHW的,还没取平均,这时候先element-wise地乘以一个权重图 W W W,这个 W W W表示的是区域的平滑度,越高则越接近1,否则越接近0。从而这个损失对有纹理细节的区域影响相对小,而对平滑区域影响相对大,所以实现了前面的目的。 W W W怎么来的,很简单,先用sobel算子对restored image算梯度的模,然后切不相交的patch,算patch内部的平均,然后用1来减。
  • 评价:guidance的loss的算法其实在很多无监督半监督的restoration方法中有用到,很常见。guidance也是标准的diffusion模型的guidance算法。加condition的方式也是现有的controlnet的方式。相比现有diffusion做restoration的方法,其实就是多了一步restoration,相当于拼起来一个restoration模型加一个diffusion模型,感觉有点臃肿。核心动机是两个,一个是改善diffusion的条件,不要拿LQ作为条件;第二个是先restore再接diffusion,并且把restore的结果作为guidance来使得整个方法把restore和generation解耦出来,diffusion专门做generation,要说diffusion的作用应该是对前面restore方法的结果的锦上添花,起添加一些细节上去的作用。因此从实验结果可以看到,经过两阶段后,确实是很多细节精细了很多。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

网络模型—BIO、NIO、IO多路复用、信号驱动IO、异步IO

一、用户空间和内核空间 以Linux系统为例,ubuntu和CentOS是Linux的两种比较常见的发行版,任何Linux发行版,其系统内核都是Linux。我们在发行版上操作应用,如Redis、Mysql等其实是无法直接执行访问计算机硬件(如cpu,内存…

剪画小程序:视频伪原创怎么制作?视频伪原创的几种制作方法分享!

什么是视频伪原创? 视频伪原创是指对已有的视频内容进行一定程度的修改和处理,使其在形式或部分细节上与原始视频有所不同,但保留了核心内容或主题。 视频伪原创包括以下一些常见操作: 剪辑重组:对原始视频进行剪辑…

【C language】统计某数中二进制1的个数

题解:统计某数中二进制1的个数(取模法 看某位是1/0法 干掉最右边的1法) 目录 1.题目2.取模法3.看某位是1/04.干掉最右边的1 1.题目 题目:设计一个程序,统计某数中二进制1的个数 2.取模法 int main() {int num 15;int count 0;while (n…

【UE 反射】反射的原理是什么?如何使用机制?

目录 0 拓展0.1 静态类型检查0.1.1 静态类型检查的主要原理0.1.2 编译器的工作流程0.1.3 静态类型检查的优点和缺点0.1.4 示例0.1.5 C也可以在运行时类型检查RTTI基本原理RTTI的实现RTTI的工作流程RTTI的限制 0.2 运行时动态类型检查0.2.1 主要特点0.2.2 动态类型检查的实现0.2…

元宇宙vr工业产品展示空间降低研发成本

元宇宙产品虚拟展厅搭建编辑器为您提供了一个自助式元宇宙场景搭建的绝佳平台。无论您是设计公司、摄影公司、营销公司还是教育机构,我们都能为您量身打造专属的元宇宙解决方案,满足您的多样化需求。 元宇宙产品虚拟展厅搭建编辑器具备强大的3D编辑功能&…

FPGA基础:触发器和锁存器

目录 锁存器(Latch)D触发器(Flip-Flop)最基本时序电路时序块(Sequential blocks):同步与异步触发器概念触发器分类触发器的Verilog实现1. 上升沿触发的触发器2. 带异步复位、上升沿触发的触发器3. 带异步复…

rtsp协议分析

rtsp概述 rtsp (real-time stream protocol)实时流媒体控制协议。RFC2326:这是RTSP的初始定义版本v1.0,由哥伦比亚大学、网景和RealNetworks公司提交给互联网工程任务组(IETF)作为RFC标准。RFC7826:这是RTSP的后续更新…

【EI会议】第二届计算机、物联网与智慧城市国际会议

第二届计算机、物联网与智慧城市国际会议 快速通道 投稿链接:loading 截稿时间:9月15日 检索:EI检索 一、会议信息 大会官网:www.ciotsc.org 会议地点:湖南株洲 会议时间:2023年11月15日-17日 二、征稿主…

探索AES对称加密:Python代码实战

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:从非对称到对称 二、AES加密机制概述 三、Python实现AES加密与解密 …

FreeRTOS【8】二值信号量使用

1.开发背景 FreeRTOS 提供了队列可以在线程间快速交换信息,那么还有没有其他交互渠道?答案是有的,相对于队列传递信息,还有更轻量级的线程唤醒操作,那就是信号量,而二值信号量就是最简单的一种。 二值信号量…

揭秘希喂、小米、安德迈宠物空气净化器的惊人效果,性价比爆表!

当谈及养猫,首先浮现在脑海中的烦恼无疑是猫咪的掉毛和便臭问题。这些问题对于我们这些爱宠人士来说,无疑是一种持续的挑战。特别是在炎热的夏季,高温本身就让人焦躁不安,而空气中飘散的猫浮毛和便臭更是加剧了这种不适感。 为了…

Linux系统编程(五)多线程创建与退出

目录 一、基本知识点二、线程的编译三、 线程相关函数1. 线程的创建(1)整型的传入与接收(2)浮点数的传入与接收(3)字符串的传入与接收(4)结构体的传入与接收 2. 线程的退出3. 线程的…

智慧仓储新动力:EasyCVR+AI视频智能监管系统方案助力仓储安全高效管理

一、背景 随着物流行业的快速发展和智能化水平的提升,智慧仓储视频智能监管系统已成为现代仓储管理的重要组成部分。本系统通过综合运用物联网、视频分析、边缘计算等技术手段,实现对仓储环境的全面监控、智能分析和高效管理。 TSINGSEE青犀视频汇聚Ea…

【单片机毕设选题】-智能语音控制风扇

一. 系统功能 此设计采用STM32和SU-03T离线语音模块来控制风扇, 主要功能如下: 1. 通过DHT11温湿度模块来采集环境温湿度。 2. 通过SU-03T语音模块来控制风扇启停加减速等。 3. 通过OLED显示系统状态。 4. 可以通过按键控制风扇启停加减速等。 5. 通过蓝牙模块监视系统状…

【IOT】OrangePi+HomeAssistant+Yolov5智能家居融合

前言 本文将以OrangePi AIpro为基础,在此基础构建HomeAssistant、YOLO目标检测实现智能家居更加灵活智能的场景实现。 表头表头设备OrangePi AIpro(8T)系统版本Ubuntu 22.04.4 LTSCPU4核64位处理器 AI处理器AI算力AI算力 8TOPS算力接口HDMI2、GPIO接口、Type-C、M.2…

06.逻辑回归

文章目录 Generate Model优化边界为线性证明损失函数比较逻辑回归不能用均方误差Generative v.s. DiscriminativeMulti-class Classification逻辑回归的限制自己找线性变换 Generate Model 假设样本符合高斯分布 即找 μ \mu μ和 σ \sigma σ 优化 共用 Σ \Sigma Σ减少…

CSS学习笔记:vw、vh实现移动端适配

移动端适配 移动端即手机端,也称M端 移动端适配:同一套移动端页面在不同屏幕尺寸的手机上可以实现宽度和高度的自适应,也就是页面中元素的宽度和高度可以根据屏幕尺寸的变化等比缩放 之前我在一篇博客中介绍了rem实现移动端适配&#xff0…

这样写代码太优雅了吧

文章目录 优化案例初次优化再次优化看看Spring源码的处理 优化案例 假设一个场景, 开发代码时,需要对类中的方法进行遍历,判断有没有注解NotNull,暂时没有合适的工具类,需要自己手搓一个。 无须多想,分分钟…

CSS学习笔记:响应式布局的原理——媒体查询

什么是响应式布局? 在实际书写代码时,我们不会自己去手写媒体查询来实现响应式布局,我们一般会调用现成的代码库或使用现成的框架(但这些代码库或框架的底层原理是媒体查询,所以了解媒体查询也是很有必要的&#xff0…

应用弹窗优先级

背景 由于活动业务越来越多,积累的弹窗越来越多和杂乱,出现如下弹窗交互问题: 弹窗无限重叠,影响操作 弹出顺序无优先级,重要弹窗被隐藏 原因相信大家都一样,产品是一次次迭代的,也可能是不…