浅析扩散模型与图像生成【应用篇】(二十)——TiNO-Edit

20. TiNO-Edit: Timestep and Noise Optimization for Robust Diffusion-Based Image Editing

  该文通过对扩散模型中添加噪声的时刻 t k t_k tk和噪声 N N N进行优化,提升SD等文生图模型的图像编辑效果。作者指出现有的方法为了提升文生图模型的图像编辑质量,通常是引入更多的条件信息,如编辑指令(InstructPix2Pix)、边缘图、分割图(ControlNet)等。而较少有人关注扩散模型中的两个关键超参数,时刻 t k t_k tk和噪声 N N N,对于编辑效果的影响。因此,作者专门探索了这两个参数对于编辑效果的影响,并且提出一种自动寻找最优参数的优化方法。
在这里插入图片描述
  如上图所示,当把一个猫的图片和一个“a photo of dog”的文本描述输入到SD模型中进行Img2Img的转换时,扩散过程的最终时刻 T T T(每一列代表一个T)和随机噪声 N N N(每一行代表一种N)的选择都会对转换结果产生显著影响。具体而言,随着扩散过程不断的增长,最终生成的结果会越来越接近文本提示的目标结果,而与原本输入的图像越来越无关,这一洞见在SDEdit这篇论文中也有提及。而选择不同的随机噪声,则会生成完全不同的结果。
  基于上述的观察结果,不同于直接找到一个适用于所有情况的最优的 T T T N N N,TiNO-Edit的目的是实现 T T T N N N相关参数优化过程的自动化。具体而言,就是现有方法都是预先给定相关的参数,然后对每个样本的扩散和生成过程都采用相同的参数。而TiNO-Edit是在每个样本的扩散和生成过程中都加入了一个优化过程,能够自动地寻找最优的时间和噪声参数,使输出的结果达到最佳,可以理解为一个参数自适应的操作。
  在实现过程中,作者并不是直接对扩散过程的最终时刻 T T T进行优化,而是对每次加入噪声的时刻 t k = k T K , k ∈ [ 1 , K ] t_k=k\frac{T}{K},k\in[1,K] tk=kKT,k[1,K]进行优化。其中 T ∈ [ 0 , 1 ] T\in[0,1] T[0,1]表示最终时刻, K K K相当于把时刻 [ 0 , T ] [0,T] [0,T]离散为 K K K个时间点,从中随机选取第 k k k个时间点 t k t_k tk作为添加噪声的时刻。此外还对初始化的随机噪声 N ∼ N ( 0 , I ) N\sim \mathcal{N}(0,I) NN(0,I)进行优化。优化过程如下图所示
在这里插入图片描述
  输入信息包括:原始输入图像 I I I, 原始输入图像的文字描述 p p p,目标提示 p O p_O pO和其他输入 A = { I ∗ M a , ∗ ∈ { r , s , c } } \mathcal{A}=\{I_*M_a,*\in\{r,s,c\}\} A={IMa,{r,s,c}} M a M_a Ma表示添加物体的掩码, I r I_r Ir表示图像编辑的参考引导图像, I s I_s Is表示涂鸦引导图像, I c I_c Ic表示图像组成(Image Composition)。然后,对 K K K, T T T, t k t_k tk N N N等参数进行初始化,由于TiNO-Edit是对SD这类潜在的扩散模型进行优化,因此需要将输入图像 I I I先经过一个变分自动编码器 V A E e n c {VAE}_{enc} VAEenc映射到潜在空间中,得到潜在特征 L L L M S K MSK MSK表示一种掩码操作,是根据编辑任务只对图像中需要编辑的位置进行掩码,而保持其他位置不变。 W W W表示参数优化迭代的次数, F D FD FD表示前向扩散过程, R D RD RD表示反向采样过程。在每次迭代过程中,都要完成一次完整的扩散和采样过程,并根据目标函数 L t o t a l \mathcal{L}_{total} Ltotal t k t_k tk N N N进行优化,最终将最优的采样结果 L ~ 0 \tilde{L}_0 L~0进行解码得到目标图像。
  目标函数 L t o t a l \mathcal{L}_{total} Ltotal计算方式如下 L total  ( L , L ~ 0 , p O , p , A ) = λ sem  ⋅ L sem  ( L , L ~ 0 , p O , p ) + λ ref  ⋅ L ref  ( L , L r ) + λ perc  ⋅ L perc  ( L , L ~ 0 ) , \begin{array}{l} \mathcal{L}_{\text {total }}\left(L, \tilde{L}_{0}, p_{O}, p, \mathcal{A}\right) \\ =\lambda_{\text {sem }} \cdot \mathcal{L}_{\text {sem }}\left(L, \tilde{L}_{0}, p_{O}, p\right) \\ +\lambda_{\text {ref }} \cdot \mathcal{L}_{\text {ref }}\left(L, L_{r}\right) \\ +\lambda_{\text {perc }} \cdot \mathcal{L}_{\text {perc }}\left(L, \tilde{L}_{0}\right), \end{array} Ltotal (L,L~0,pO,p,A)=λsem Lsem (L,L~0,pO,p)+λref Lref (L,Lr)+λperc Lperc (L,L~0),其中, L sem  \mathcal{L}_{\text {sem }} Lsem 表示语义损失,计算方法为 L sem  ( L , L ~ 0 , p O , p ) = cos ⁡ ( LatentCLIP ⁡ vis  ( L ) , LatentCLIP ⁡ vis  ( L ~ 0 ) ) − cos ⁡ ( CLIP ⁡ text  ( p O ) , CLIP ⁡ text  ( p ) ) , \begin{aligned} & \mathcal{L}_{\text {sem }}\left(L, \tilde{L}_{0}, p_{O}, p\right) \\ = & \cos \left(\operatorname{LatentCLIP}_{\text {vis }}(L), \operatorname{LatentCLIP}_{\text {vis }}\left(\tilde{L}_{0}\right)\right) \\ & -\cos \left(\operatorname{CLIP}_{\text {text }}\left(p_{O}\right), \operatorname{CLIP}_{\text {text }}(p)\right), \end{aligned} =Lsem (L,L~0,pO,p)cos(LatentCLIPvis (L),LatentCLIPvis (L~0))cos(CLIPtext (pO),CLIPtext (p)), LatentCLIP ⁡ vis  \operatorname{LatentCLIP}_{\text {vis }} LatentCLIPvis 是一种视觉编码器,根据输入的潜在特征 L L L,输出与原始图像 I I I的CLIP特征 CLIP ( I ) \text{CLIP}(I) CLIP(I)相似的特征。说白了就是原本的CLIP模型是直接对图像 I I I进行编码的,而这里作者输入的是潜在特征 L L L,为了适应这一改变,作者专门训练了一个 LatentCLIP \text{LatentCLIP} LatentCLIP模型,让其根据 L L L输出与 CLIP ( I ) \text{CLIP}(I) CLIP(I)接近的特征图,其训练过程如下
在这里插入图片描述
CLIP ⁡ text  \operatorname{CLIP}_{\text {text }} CLIPtext 就表示原始的CLIP文本编码器。 L ref  \mathcal{L}_{\text {ref }} Lref 表示参考图像特征 L r L_r Lr与输入图像特征 L L L之间的余弦相似性, L ref  ( L , L r ) = cos ⁡ ( LatentCLIP ⁡ vis  ( L ) , LatentCLIP ⁡ vis  ( L r ) ) \mathcal{L}_{\text {ref }}\left(L, L_{r}\right) =\cos \left(\operatorname{LatentCLIP}_{\text {vis }}(L), \operatorname{LatentCLIP}_{\text {vis }}\left({L}_{r}\right)\right) Lref (L,Lr)=cos(LatentCLIPvis (L),LatentCLIPvis (Lr)) L perc  \mathcal{L}_{\text {perc }} Lperc 表示输入的特征 L L L和生成结果的特征 L ~ 0 \tilde{L}_{0} L~0之间的视觉相似性, L perc  ( L , L ~ 0 ) = ∥ LatentVGG ⁡ ( L ) , LatentVGG ⁡ ( L ~ 0 ) ∥ 1 \mathcal{L}_{\text {perc }}\left(L, \tilde{L}_{0}\right)=\|\operatorname{LatentVGG}(L), \operatorname{LatentVGG}\left(\tilde{L}_{0}\right)\|_1 Lperc (L,L~0)=LatentVGG(L),LatentVGG(L~0)1 LatentVGG ⁡ \operatorname{LatentVGG} LatentVGG LatentCLIP ⁡ vis  \operatorname{LatentCLIP}_{\text {vis }} LatentCLIPvis 的训练过程类似,只是把CLIP的图像编码器换成了VGG。
  经过上述的优化训练过程,TiNO-Edit在多个图像编辑任务中的确取得了优于其他方法的效果,可视化结果对比如下
纯文本引导
在这里插入图片描述
参考图像引导
在这里插入图片描述

涂鸦引导
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营DAY52|C++动态规划Part13|392.判断子序列、115.不同的子序列

文章目录 392.判断子序列思路CPP代码 115.不同的子序列思路CPP代码 392.判断子序列 力扣题目链接 文章链接:392.判断子序列 视频链接:动态规划,用相似思路解决复杂问题 | LeetCode:392.判断子序列 状态:本题是编辑距离…

电气元器件中四个三

目录 三控制 PLC 驱动器 变频器 三电机 步进电机 伺服电机 三相电机 三串口 RS232 RS422 RS485 三协议 MOOBUS PROFINET CC-LINK 三控制 PLC PLC代表可编程逻辑控制器。它是一种用于工业自动化的计算机设备,用于控制机械和工艺。PLC用于监控传感器和…

【自动化测试】使用MeterSphere进行接口测试

一、接口介绍二、接口测试的过程三、接口自动化测试执行自动化流程 四、接口之间的协议HTTP协议 五、 接口测试用例设计接口文档 六、使用MeterSphere创建接口测试创建接口定义设计接口测试用例 一、接口介绍 自动化测试按对象分为:单元测试、接口测试、UI测试等。…

强大而简洁:初学Python必须掌握的14个单行代码

Python的魅力与单行代码的重要性 Python,作为一种高级编程语言,自诞生以来就以其简洁、易读、易学的特性而广受开发者喜爱。其魅力不仅在于其强大的功能和广泛的应用领域,更在于其能够用简洁的代码实现复杂的功能,这种能力在很大…

C#实战—代码实现收发文件智能化

在信息化的今天,收发电子文档几乎是每个朋友都要经历的事情。比如班级学委和班长需要收发作业,企业管理者需要收发工作文件。但是!!! 每到要交结果时,往往会发现总会有一些人没有即使交上,50个…

【信息收集】子域名扫描---subdomainbrute

下载地址:GitHub - lijiejie/subDomainsBrute: A fast sub domain brute tool for pentesters 用字典的方式去发现url的二级、三级、四级....子域名 并会自动在文件目录下生成一个txt记录 python subDomainsBrute.py csdn.net(别加 www.)

展会进行时|百华鞋业亮相第135届中国进出口商品交易会(广交会)三期,展会现场人气爆棚!

第135届中国进出口商品交易会(广交会)三期如约而至,本届展会汇集了来自世界各地的参展企业,带来各行业前沿技术与新产品展出。百华鞋业携足部安防职业鞋、户外作训靴等系列新产品强势亮相展会,位于2.2 G25-26 H23-24的…

eNSP-DHCP服务配置

一、拓扑结构搭建 二、主机配置 pc1、pc2 三、路由器配置 <Huawei>sys #进入系统视图 [Huawei]int g0/0/0 #进图接口 [Huawei-GigabitEthernet0/0/0]ip address 192.168.0.1 24 #设置接口ip [Huawei-GigabitEthernet0/0/0]q #返回上一级 [Huawei]dhcp enable #开启DHCP服…

手撸Mybatis(四)——连接数据库进行简单查询

本专栏的源码&#xff1a;https://gitee.com/dhi-chen-xiaoyang/yang-mybatis。 添加数据库操作模板 对于JDBC操作&#xff0c;一般包括以下几个步骤&#xff1a; 1&#xff09;注册驱动 2&#xff09;建立连接 3&#xff09;执行sql语句 4&#xff09;处理结果 5&#xff09…

【Python基础】进程

文章目录 [toc]程序与进程的区别与联系同步任务示例 并行任务示例进程调度的“随机性” 进程属性与方法process_object.start()方法process_object.join()方法process_object.daemon属性没有设置守护进程的情况设置守护进程的情况 process_object.current_process()方法 进程通…

(三)Appdesigner-界面转换及数据导入和保存

提示&#xff1a;文章为系列文章&#xff0c;可以在对应学习专栏里面进行学习。对应资源已上传 目录 前言 一、Appdesigner是什么&#xff1f; 二、界面切换 三、数据导入及保存 &#xff08;一&#xff09;数据导入 &#xff08;二&#xff09;数据保存 总结 前言 Appd…

ZooKeeper数据模型你懂吗?

ZooKeeper数据节点你知道吗&#xff1f;那数据节点有什么类型&#xff1f;数据节点的版本呢&#xff1f;听说ZooKeeper还有事务ID&#xff0c;你知不知道啊&#xff1f;还有Watcher机制呢&#xff1f;ZooKeeper作为一个典型的分布式数据一致性的解决方案&#xff0c;ZooKeeper的…

【Python项目】基于DJANGO的【医院体检预约系统】

技术简介&#xff1a;使用Python技术、DJANGO框架、MYSQL数据库等实现。 系统简介&#xff1a;系统采用了在线预约和挂号的方式&#xff0c;用户可以通过网站进行预约和挂号操作。同时&#xff0c;系统还提供了医生的详细介绍和评价&#xff0c;方便用户选择医生。 研究背景&a…

Django之单文件上传(以图片为例)

一&#xff0c;创建项目 初始化&#xff0c;数据迁移&#xff0c;创建superuser&#xff0c;创建app等 二&#xff0c;配置settings.py 1&#xff0c;配置数据库&#xff08;本作者使用的mysql&#xff09;&#xff0c;以前文章有提到 2&#xff0c;配置静态文件存放路径 STAT…

关于YOLO8学习(五)安卓部署ncnn模型--视频检测

前文 关于YOLO8学习(一)环境搭建,官方检测模型部署到手机 关于YOLO8学习(二)数据集收集,处理 关于YOLO8学习(三)训练自定义的数据集 关于YOLO8学习(四)模型转换为ncnn 简介 本文将会讲解: (1)使用前文生成的ncnn模型,部署到安卓端,并且实现视频中,人脸的检测…

CSS精灵图、字体图标、HTML5新增属性、界面样式和网站 favicon 图标

精灵图 为什么要使用精灵图 一个网页中往往会应用很多小的背景图像作为修饰&#xff0c;当网页中的图像过多时&#xff0c;服务器就会频繁地接收和发送请求图片&#xff0c;造成服务器请求压力过大&#xff0c;这将大大降低页面的加载速度,因此&#xff0c;为了有效地减少服务…

农作物害虫检测数据集VOC+YOLO格式18975张97类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;18975 标注数量(xml文件个数)&#xff1a;18975 标注数量(txt文件个数)&#xff1a;18975 标…

ARL资产侦察灯塔系统安装和使用(含实用配置说明)

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性&#xff0c;仅供安全研究与学习之用&#xff0c;读者将信息做其他用途&#xff0c;由Ta承担全部法律及连带责任&#xff0c;文章作者不承担任何法律及连带责任。 1、官方介绍 ARL全称&#xff1a;Asset Reconnaissance…

C#图像:1.图像区域分割与提取

&#xff08;1&#xff09;创建一个名为SplitImage的窗体的应用程序&#xff0c;将窗体改名为FormSplitImage。 &#xff08;2&#xff09;创建一个名为ImageProcessingLibrary的类库程序&#xff0c;为该工程添加名为ImageProcessing的静态类 &#xff08;3&#xff09;为Imag…

智慧校园云平台源码,SaaS运营云平台(支持多学校、多校园使用)

智慧班牌系统&#xff0c;又称电子班牌系统&#xff0c;是一种基于互联网技术的综合管理工具。通过在教室内安装显示屏&#xff0c;并连接到学校管理系统&#xff0c;实现教学资源展示、信息发布、学生管理等多种功能的集成。该系统旨在加强学校班级文化建设和班级风采展示&…