【论文笔记】SINE: SINgle Image Editing with Text-to-Image Diffusion Models

news2024/11/21 2:33:05

声明

不定期更新自己精度论文,通俗易懂,初级小白也可以理解

涉及范围:深度学习方向,包括 CV、NLP

论文标题:SINE: SINgle Image Editing with Text-to-Image Diffusion Models

论文链接:https://www.semanticscholar.org/paper/SINE%3A-SINgle-Image-Editing-with-Text-to-Image-Zhang-Han/a6ad30123bef4b19ee40c3d63cfabf00d211f0eficon-default.png?t=N6B9https://www.semanticscholar.org/paper/SINE%3A-SINgle-Image-Editing-with-Text-to-Image-Zhang-Han/a6ad30123bef4b19ee40c3d63cfabf00d211f0ef

论文代码:

发表时间:2022年12月

创新点

 1、提出了一种新型的模型引导方法,即基于无分类器引导的模型引导,使得在单个图像上训练的模型的知识可以被提炼到预训练扩散模型中,从而可以进行内容创作,即使只有一个给定的图像。

 2、提出了一种基于补丁的微调方法,可以有效地帮助模型生成任意分辨率的图像,从而解决了现有文本引导图像编辑工作中生成大分辨率图像时出现的问题。

Abstract

最近的扩散模型研究展示了在生成图像中进行条件控制的强大能力,例如文本引导图像合成。这种成功激励了许多尝试使用大规模预训练扩散模型解决一个具有挑战性的问题 - 实际图像编辑。

在这个领域进行的工作学习了一个唯一的文本标记,对应于包含相同对象的几个图像。然而,在许多情况下,只有一张图像可用,例如"戴珍珠耳环的女孩"的画作。使用现有的关于对单个图像进行微调的工作会导致严重的过拟合问题。预训练扩散模型中的信息泄漏使得编辑无法保持与给定图像相同的内容,同时又能根据语言引导创建新的特征。

本文旨在解决单图像编辑的问题。提出了一种基于无分类器引导的新型模型引导,使得在单个图像上训练的模型的知识可以被提炼到预训练扩散模型中,即使只有一个给定的图像,也可以进行内容创作。此外,提出了一种基于补丁的微调方法,可以有效地帮助模型生成任意分辨率的图像。我们提供了广泛的实验来验证我们方法的设计选择,并展示了有前途的编辑能力,包括风格转换、内容添加和对象操作。

Method 

 

Language-Guided Diffusion Models

该部分主要介绍了基于预训练扩散模型的模型引导方法,以及如何使用文本描述来控制模型生成编辑后的图像。

具体来说,给定一张 Source Image 和一个 Text Prompt,SINE 模型首先将 Source Image 输入到预训练扩散模型中,得到一个中间表示。然后,将 Text Prompt 与中间表示进行融合,得到一个新的中间表示。最后,将新的中间表示输入到扩散模型中,生成编辑后的图像。

此外,模型还使用样式向量来控制模型生成的图像风格。具体来说,利用一个预训练的样式提取器,将不同风格的图像映射到样式向量空间中。然后,可以通过文本描述来指定所需的风格,将样式向量与中间表示进行融合,从而控制模型生成的图像风格。

文中没有详细介绍预训练的样式提取器的网络结构,但是目前主流样式提取器结构分为两种,基于 CNN 或 GAN 网络的。

Model-Based Classifier-Free Guidance

介绍了 SINE 模型的两种微调方法,

(1)无监督的方式来微调预训练的扩散模型,以提高模型的编辑能力和生成质量。

在这种方法中,SINE 模型使用给定的 Source Image 和 Text Prompt,通过最小化重建误差来微调预训练的扩散模型。

首先,将编辑后的图像输入到扩散模型中,计算它们之间的重建误差;

然后将重建误差作为损失函数进行优化。

通过这种方式,可以提高扩散模型对 Source Image 的重建能力,从而提高模型的编辑效果。

(2)基于对比损失的无监督微调方法

在这种方法中,SINE 模型使用给定的 Source Image 和 Text Prompt,通过最小化对比损失来微调预训练的扩散模型。

首先,将编辑后的图像和 Source Image 输入到扩散模型中,计算它们之间的相似度,然后将相似度作为损失函数进行优化。通过这种方式,可以进一步提高模型的编辑能力和图像生成质量。

最后,使用多尺度训练和随机数据增强来进一步提高微调效果。可以在不同尺度下训练模型,并使用随机裁剪、随机旋转、随机翻转等数据增强技术来扩充训练集,从而提高模型的鲁棒性和泛化能力。

Patch-Based Fine-Tuning

SINE 模型的另一种微调方法,该方法主要是利用局部区域的特征来微调预训练的扩散模型,以提高模型的编辑能力和生成质量。

首先,将编辑后的图像和 Source Image 划分为多个大小相等的 Patch,

然后,将每个 Patch 输入到扩散模型中进行微调。

通过这种方式,可以使模型更加关注局部区域的细节,提高模型的编辑能力和生成质量。

然后还可以使用不同的微调策略来微调不同类型的 Patch。具体来说,可以根据 Patch 的语义信息和视觉特征来设计微调策略。

例如,对于包含目标对象的 Patch,可以使用基于重建误差的微调策略,以提高模型对目标对象的编辑能力;对于包含背景区域的 Patch,可以使用基于对比损失的微调策略,以提高模型生成背景区域的质量。

Experiments

(1)单图像编辑实验

实验目标:验证 SINE 模型在单图像编辑方面的性能

实验结果:SINE 模型能够通过文本描述来实现准确、灵活的单图像编辑。实验结果表明,在多个编辑任务中,SINE 模型的编辑成功率高于对比模型

  

(2)微调方法比较实验

实验目标:比较不同微调方法对SINE模型性能的影响

实验结果:两种微调方法 (Model-Based Classifier-Free Guidance 和 Patch-Based Fine-Tuning) 都能够显著提高SINE模型的性能,但 Patch-Based Fine-Tuning 方法能够进一步提高模型的生成质量和编辑能力。

 

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

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

相关文章

ESXI 安装win10详细步骤

在esix安装win10安装过程遇到了坑,发现必须对具体选项进行设置后才可,做下记录: 1、CPU设置 2、硬盘 3、网络适配器 4、驱动器 5、虚拟机选项

LangChain大型语言模型(LLM)应用开发(四):QA over Documents

LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…

动手学深度学习——图像分类数据集(代码详解)

目录 1. 图像分类数据集1.1 读取数据集1.2 读取小批量1.3 整合所有组件1.4 小结 1. 图像分类数据集 这里采用Fashion-MNIST数据集 torchvision:torch类型的可视化包,一般计算机视觉和数据可视化需要使用from torchvision import transforms:…

kotlin forEach循环return/break

kotlin forEach循环return/break fun main(args: Array<String>) {var a mutableListOf("0", "1", "2", "3", "4")var b mutableListOf<String>()a.forEachIndexed { index, s ->if (index > 2) {retu…

CGY-OS 正式开源!

一个初中生自己编写的一个很LOW的“OS”&#xff0c;编写不易&#xff0c;不喜勿喷&#xff1b;耗时巨大&#xff0c;引用时请说明。 接下来&#xff0c;让我们一起学习使用cgyOS。 零、配置 下载本程序后&#xff0c;在Python3.10环境下使用pip安装pygame和keyboard的最新版本…

Java二叉树

目录 一、树形结构 1.1 概念 1.2 树的性质 1.3 树的表示形式 二、二叉树 2.1 概念 2.2 两种特殊的二叉树 2.3 二叉树的性质 2.4 二叉树的存储 2.5 二叉树的基本操作 2.5.1 二叉树的遍历 2.5.2 二叉树的基本操作 一、树形结构 1.1 概念 树是一种非线性的数据结构&#xff0…

H3C-Cloud Lab-实验-DHCP中继实验

实验需求&#xff1a; 1、按照图示配置IP地址 2、配置R1为DHCP服务器&#xff0c;能够跨网段为192.168.2.0/24网段自动分配IP地址。要求分配DNS地址为202.103.24.68和202.103.0.117 3、PC3获取IP地址后&#xff0c;能够访问到192.168.1.1 实验拓扑图&#xff1a; 连接CRT 设…

Linux5.97 Ceph集群

文章目录 计算机系统5G云计算第四章 LINUX Ceph集群一、Ceph1.存储基础1&#xff09;单机存储设备2&#xff09;单机存储的问题3&#xff09;商业存储解决方案4&#xff09;分布式存储&#xff08;软件定义的存储 SDS&#xff09;5&#xff09;分布式存储的类型 2.Ceph 简介3.C…

tmux安装及使用

tmux安装及使用 tmux是一款很好使用的终端工具&#xff0c;配合shell脚本使用非常方便。 一、tmux安装 终端输入命令&#xff1a; sudo apt-get install tmux二、tmux使用 首先需要对tmux使用的名词有一个基本了解&#xff1a; session &#xff1a;会话 window : 窗口 pa…

职责链(Chain of responsibility)模式

目录 处理过程应用场景参与者协作效果实现相关模式应用与思考类图 职责链(Chain of responsibility)是一种对象行为模式&#xff0c;可以使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链&#xff0c;并沿着这条链传递…

快速配置 Rust 开发环境并编写一个小应用

安装: curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh 更新: Rust 的升级非常频繁. 如果安装 Rustup 后已有一段时间,那么很可能 Rust 版本已经过时, 运行 rustup update 获取最新版本的 Rust rustc&#xff1a;编译Rust程序 rustc只适合简单的Rust程序&#xf…

5G全网通工业三防平板Windows移动电脑

当今科技领域的快速发展为我们的生活带来了许多便利和高效性能。在这个数字化时代&#xff0c;移动设备已成为我们生活的重要组成部分。在这一领域&#xff0c;搭载全新第12代英特尔酷睿Mi5-1235U/i7-1255U处理器的工业三防平板Windows移动电脑无疑是一款引人注目的产品。 这款…

mysql获取附近的店并显示当前距离并由近到远显示

1、创建测试数据 CREATE TABLE store (id int(11) NOT NULL AUTO_INCREMENT,name varchar(50) NOT NULL COMMENT 商家名称,address varchar(200) NOT NULL COMMENT 商家地址,coordinates varchar(50) NOT NULL COMMENT 经纬度,PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT…

阿卡西斯 USB4 雷电4 移动硬盘盒做Mac系统盘 体验

硬盘盒(USB4 JHL7440 RTL9210B) 无风扇版本(型号 TBU405 659RMB). 发热大 所以官方出了带风扇版本,我的是不带风扇的. 我是三星990pro组合. 我是把mac系统直接安装到硬盘盒的硬盘里面里面 这是刚买时候的速度 这是当系统重度使用(写代码 大数据环境) 4个月后的硬盘速度测试…

DBeaver设置主题

一、下载包 帮助-》Install new software Eclipse Update Site 勾选一直下一步&#xff0c;直到安装完&#xff0c;会提示重启&#xff0c;重启设置主题即可 二、设置主题 窗口-》首选项-》DevStyle

快速上手一个I2C传感器 | MAX6884

老老实实看DataSheet吧&#xff0c;查找手册有以下几种途径&#xff1a; 1&#xff09;到芯片厂商官网去下载资料&#xff1b; 2&#xff09;在芯片器件采购平台搜索&#xff0c;如立创商城、半导小芯&#xff1b; 有原厂或代理翻译的中文手册&#xff0c;或者国产芯片中文手…

leetcode 450. 删除二叉搜索树中的节点

2023.7.14 搜索二叉树相关的题一般都能用递归解决。 本体大致思路是&#xff1a;使用递归的方式&#xff0c;在树中查找目标节点&#xff0c;并根据节点的情况进行删除操作。如果目标节点是叶子节点&#xff0c;直接删除它&#xff1b;如果目标节点只有一个子树&#xff0c;将子…

H3C-Cloud Lab-实验-ACL实验

实验拓扑图&#xff1a; 网段分布情况&#xff1a; 实验需求&#xff1a; 1. 按照图示配置 IP 地址 2. 全网路由互通 3. 在 SERVER1 上配置开启 TELNET 和 FTP 服务 4. 配置 ACL 实现如下效果 1&#xff09;192.168.1.0/24 网段不允许访问 192.168.2.0/24 网段&#xff0c…

【雕爷学编程】Arduino动手做(162)---OPT101模拟光照传感器模块3

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

springboot整合eureka、config搭建注册中心和配置中心

目录 一 、springboot整合eureka实现注册中心 二、springboot整合config实现配置中心 三、从配置中心拉取配置 这篇文章详细介绍怎么通过eureka和config分别搭建一个注册中心和配置中心的服务。 一 、springboot整合eureka实现注册中心 1、创建一个springboot项目&#xff…