论文阅读:Diffusion Model-Based Image Editing: A Survey
Diffusion Model-Based Image Editing: A Survey
论文链接
GitHub仓库
摘要
这篇文章是一篇基于扩散模型(Diffusion Model)的图片编辑(image editing)方法综述。作者从多个方面对当前的方法进行分类和分析,包括学习策略、用户输入、和适用的任务等。为了进一步评估文本引导的图片编辑算法,作者提出了一个新的基准,EditEval,采用了一个创新的指标:LMM Score。最后,作者分析了当前方法的局限和未来可能的研究方向。
介绍
首先,什么是图片编辑?图片编辑是对输入的图片进行外观上、结构上或者内容上进行轻微乃至重大的修改的一类方法。
其次,什么是扩散模型?受平衡热力学启发,扩散模型逐渐向数据中添加噪声,然后学习从随机噪声开始反转这个过程,直至生成的数据符合源数据的分布。
扩散模型被广泛地应用于各个领域,包括图片生成、视频生成、图片修复和图片编辑。这篇文章对基于扩散模型的图片编辑方法做了综合的分析和总结。根据这些方法的学习策略、输入条件和一些列的编辑任务对它们进行分类。
从学习策略角度,分为三个主要的类别: 基于训练和的方法training-based approaches,测试-时间微调方法testing-time fine-tuning approaches,和无需训练微调方法training and finetuning free approaches。
从输入条件角度,分为10个不同的类别,包括文本text,掩码 mask,参考图片reference (Ref.) image, 类class,布局layout,姿态pose,草图 sketch,分割图segmentation (Seg.) map,音频 audio,和拖拽点dragging points。
从图片编辑任务方面,可以分为3个大类:语义编辑semantic editing, 风格编辑stylistic editing,和 结构编辑structural editing,覆盖了12个特定类别。
相关工作
Conditional Image Generation
不同于图片编辑,其修改现有的一张图片的部分,条件图片生成在特定条件的指引下,从头生成新的图片。早期的工作主要是class-conditioned image generation(条件为“类”的图片生成),后来的一些工作借助classifier-free guidance,可以支持更多的条件,比如文本条件。
Text-to-Image (T2I) Generation.
GLIDE是第一个条件图片生成扩散模型。类似的Imagen使用了级联框架在像素空间生成高分辨率图片。后续的工作LDM将像素空间替换为低维潜在空间,大大降低了计算开销,以此为基础的模型包括Stable Diffusion 1 & 2 & XL,DALL-E 2等。
Additional Conditions.
除了使用文本作为条件,还有一些工作使用其它输入条件,比如候选框grounding boxes,分割掩码segmentation masks,depth maps,normal maps, canny edges(边缘边), pose(姿态), 和sketches(草图)等。
Customized Image Generation.(定制化图片生成)
定制化图片生成和图片编辑的任务比较接近,其生成具有特定性质的图片,通常以具有相同主题的一些图片作为指引条件,代表工作有Textual Inversion [106] ,DreamBooth [107],和 DreamBooth [107]。
Image Restoration and Enhancement 图片修复与增强
Image restoration (IR)图片修复的目的是提高各种被污染退化的图片的质量。下面介绍一些基于扩散模型的图片修复工作。
Input Image as a Condition. 以输入图片作为条件的:super-resolution (SR) 和 deblurring [12], [13], [29], [118], [119]
**Restoration in Non-Spatial Spaces. ** 一些工作聚焦于其它空间,比如Refusion [63][120],WaveDM [67]和WaveDM [67]等。(没看懂和前面image input的区别)
T2I Prior Usage. 向预训练的文生图模型添加一些针对图片修复的层或者编码器,然后进行微调后,这些文生图模型也同样可以用于图片修复Image Restoration (IR)。
**Projection-Based Methods.**这些方法通过提取图片中内在的结构和纹理(textures)来完善生成的图片以保证数据的一致性。
Decomposition-Based Methods. 基于分解的方法 这些方法把图片修复看做一个线性反转的过程,代表工作包括Denoising Diffusion Restoration Models (DDRM) [66],Diffusion Null-space Model (DDNM) [68]等。
分类
不同于图片生成(image generation)从零生成一个新的图片,和图片修复与增强(image restoration and enhancement)致力于修复和提高退化了的图片的质量,图片编辑(imge editing)在外观appearance,结构structure,内容content, 包括
增加物体adding objects, 替换背景replacing backgrounds, 和修改纹理altering textures等多个方面修改图片。
根据学习的策略,扩散模型上的图片编辑方法可以分为3类:基于训练和的方法training-based approaches,测试-时间微调方法testing-time fine-tuning approaches,和无需训练微调方法training and finetuning free approaches。
从输入条件的角度,可以分为10个不同的类别,包括文本text,掩码 mask,参考图片reference (Ref.) image, 类class,布局layout,姿态pose,草图 sketch,分割图segmentation (Seg.) map,音频 audio,和拖拽点dragging points。
从图片编辑的任务方面,可以分为12个特定的编辑类别,并可以被分为3个大类:语义编辑semantic editing, 风格编辑stylistic editing,和结构编辑structural editing:
- 语义编辑Semantic Editing:该类任务修改图片的内容和叙述故事,影响图片描绘的故事场景、上下文和主题元素。其包括以下小类:物体增加object addition (Obj. Add.),物体移除object removal (Obj. Remo.),物体替换 object replacement (Obj.Repl.), 背景修改background change (Bg. Chg.) 和情绪表达修改emotional expression modification (Emo. Expr. Mod.)。
- 风格编辑Stylistic Editing:该类任务注重增强或者转换图片的视觉风格和审美元素而不修改其叙述内容。其包括如下小类:颜色修改color change (Color Chg.),纹理修改texture change (Text. Chg.)和 整体风格修改overall style change (Style Chg.)。
- Structural Editing:该类任务注重图片中的空间重安排spatial arrangement,布置positioning,角度viewpoints和元素特征characteristics of elements,强调场景中物体的组织和呈现。其包括如下的小类:物体移动object movement (Obj.
Move.),物体尺寸和性状改变object size and shape change (Obj. Size. Chg.),物体动作和姿态改变object action and pose change (Obj. Act. Chg.),和角度改变perspective/viewpoint change (Persp./View. Chg.)。
基于训练的方法TRAINING-BASED APPROACHES
作者将基于训练的方法,根据他们的应用领域、训练所需的条件、监督的类型分为4个主要的类别,如图2所示。此外,在每个主要类中,进一步根据它们核心的编辑策略将它们分为不同类型的方法。
Domain-Specific Editing with Weak Supervision
基于扩散模型的一个挑战是其在大规模数据集上大量的计算开销。为了解决这个问题,一些早期的工作通过在小规模的专用数据集上的弱监督训练扩散模型。这些数据集高度专注于特定领域,比如用于人脸操纵的CelebA[236]和FFHQ [2],用于动物面部编辑和转换的AFHQ [237],用于物体修改的 LSUN [238]和用于风格转换的 WikiArt [239]。根据这些方法弱监督的类型,作者又将其分为4个类别。
CLIP Guidance. 一些方法使用CLIP引导使用文本作为条件的图片编辑。一个典型的代表是DiffusionCLIP [131],其允许在训练和新的数据上使用CLIP。具体来说,它首先将图片使用DDIM转化为latent noise,然后在反转扩散过程中微调预训练的扩散模型,以调整图片的属性,并使用一个源提示词和目的提示词之间的CIIP损失函数约束该过程。
循环正则化Cycling Regularization. 由于扩散模型能够进行域转换,因此循环框架也可以应用在扩散模型上。例如, UNIT-DDPM [136] 使用循环一致性来规范非配对图片-到-图像翻译的训练,在扩散模型中定义了一个双通道的马尔科夫链。
Projection and Interpolation. 该类方法将图片投影(projection),然后进行插值(interpolation)处理。例如,Diffusion Autoencoders[138]介绍了一个语义编码器来将输入图片匹配到一个语义嵌入,其作为扩散模型的条件用于重构。在训练语义编码器和条件生成模型之后,任何图片都可以被投影到这个语义空间用于插值。
Classifier Guidance. 一些方法引入了额外的预训练分类器来提高图片编辑的性能。比如, EGSDE [140]使用一个energy function 来引导真实的非配对图片-到-图片翻译的采样。
Reference and Attribute Guidance via Self-Supervision
该类方法通过自监督方式提取图片属性或者其他信息作为条件,用来训练基于扩散模型的图片编辑模型。这类方法可以被分为两个类别:reference-based image composition和attribute-controlled image editing。
Reference-Based Image Composition.
Attribute-Controlled Image Editing.
Instructional Editing via Full Supervision
Pseudo-Target Retrieval with Weak Supervision
测试-时间微调方法TESTING-TIME FINETUNING APPROACHES
根据微调的部位和方式,又可以将该大类分为5个小类,如图6所示。

无需训练和微调的方法TRAINING AND FINETUNING FREE APPROACHES
该类方法在编辑的过程中无需训练喝微调,因此更为高效和低成本。根据这些方法具体修改的地方,可以将它们分为5个小类,如图7所示。(着重关注)

挑战和未来的研究方向CHALLENGES AND FUTURE DIRECTIONS
- Fewer-step Model Inference.
- Efficient Models.
- Complex Object Structure Editing.
- Complex Object Structure Editing.
- Unrobustness of Image Editing.
- Faithful Evaluation Metrics.
相关文章:
论文阅读:Diffusion Model-Based Image Editing: A Survey
Diffusion Model-Based Image Editing: A Survey 论文链接 GitHub仓库 摘要 这篇文章是一篇基于扩散模型(Diffusion Model)的图片编辑(image editing)方法综述。作者从多个方面对当前的方法进行分类和分析,包括学习…...
数据结构:顺序表的奥秘
🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生🐻❄个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE🐼本文由GOTXX原创,首发CSDN&a…...
conda 设置国内源 windows+linux
默认的conda源连接不好,时好时坏,而且速度很慢,可以使用国内的源 如果没有安装conda,可以参考: miniconda安装:链接 anaconda安装winlinux:链接 windows使用命令提示符,linux使用…...
SQL中的不加锁查询 with(nolock)
WITH(NOLOCK) 是一种 SQL Server 中的表提示(table hint),可以用来告诉数据库引擎在查询数据时不要加锁,以避免因为锁等待导致查询性能下降。 当多个事务同时访问同一张表时,数据库引擎会对表进行锁定,以确…...
代码讲解:如何把3D数据转换成旋转的视频?
目录 3D数据集下载 读取binvox文件 使用matplotlib创建图 动画效果 完整代码 3D数据集下载 这里以shapenet数据集为例,可以访问外网的可以去直接申请下载;我也准备了一个备份在百度网盘的数据集,可以参考: ShapeNet简介和下…...
LVS集群 ----------------(直接路由 )DR模式部署 (二)
一、LVS集群的三种工作模式 lvs-nat:修改请求报文的目标IP,多目标IP的DNAT lvs-dr:操纵封装新的MAC地址(直接路由) lvs-tun:隧道模式 lvs-dr 是 LVS集群的 默认工作模式 NAT通过网络地址转换实现的虚拟服务器&…...
微软亚太区AI智能应用创新业务负责人许豪,将出席“ISIG-AIGC技术与应用发展峰会”
3月16日,第四届「ISIG中国产业智能大会」将在上海中庚聚龙酒店拉开序幕。本届大会由苏州市金融科技协会指导,企智未来科技(AIGC开放社区、RPA中国、LowCode低码时代)主办。大会旨在聚合每一位产业成员的力量,深入探索A…...
vim寄存器和宏
目录 1.寄存器1.1.寄存器相关命令 2.宏2.1.宏的录制和回放2.1.1.避免宏回放回到开头重做2.1.2.先搜索 2.2.宏的编辑2.2.1.特殊字符 3.递归的宏4.跨文件运行宏 1.寄存器 寄存器说明注释a-z手动复制数据"寄存器"无名寄存器""p等效为p0-9最后10次删除操作的历…...
使用数据库实现增删改查
#include<myhead.h>//定义添加数据函数int do_add(sqlite3 *ppDb) {//1.准备sql语句,输入要添加的信息int add_numb; //工号char add_name[20]; //姓名char add_sex[10]; //性别double add_score; //工资printf("请输入要添加的工号:")…...
Oracle Essbase 多维库导入文件数据步骤操作
第一步: 先确定导入数据的维度数量(清楚自己需要导入什么数据和范围) 第二步: 设置加载的规则 1.创建规则 2.编辑规则-》打开数据文件 通过数据文件来确定加载规则的加载格式 先查看数据文件格式: 将数据文件导入&…...
【自然语言处理】BitNet b1.58:1bit LLM时代
论文地址:https://arxiv.org/pdf/2402.17764.pdf 相关博客 【自然语言处理】【大模型】BitNet:用1-bit Transformer训练LLM 【自然语言处理】BitNet b1.58:1bit LLM时代 【自然语言处理】【长文本处理】RMT:能处理长度超过一百万t…...
【Axure高保真原型】可视化动点素材
今天和粉丝们免费分享可视化动点素材的原型模板,该模板使用简单,复制粘贴,预览时即可实现动点效果,本案例提供红黄蓝绿4中颜色的动点,如果需要其他颜色,可以自行编辑svg里面的代码 【原型效果】 【模板下载…...
分布式数据库 GaiaDB-X 金融应用实践
1 银行新一代核心系统建设背景及架构 在银行的 IT 建设历程中,尤其是中大行,大多都基于大型机和小型机来构建核心系统。随着银行业务的快速发展,这样的系统对业务的支持越来越举步维艰,主要体现在以下四个方面: 首先是…...
机器学习中的经典算法总结
经典算法 有监督算法逻辑回归支持向量机SVM决策树朴素贝叶斯K近邻(KNN) 无监督算法K-meansPCA主成分分析预留模版 有监督算法 逻辑回归 简介 逻辑回归是机器学习中一种经典的分类算法,通常用于二分类任务,基本思想是构建一个线性…...
ElasticSearch 学习(docker,传统方式安装、安装遇到的问题解决,)
目录 简介 什么是ElasticSearch 安装 传统方式安装 开启远程访问 Docker方式安装 Kibana 简介 安装 传统方式安装 Docker方式安装 compose方式安装 简介 什么是ElasticSearch ElasticSearch 简称 ES ,是基于Apache Lucene构建的开源搜索引擎,…...
[百度二面]操作系统进程、锁相关面试题
2.22 什么是死锁 在多道程序环境下,多个进程可以竞争有限数量的资源。当一个进程申请资源时,如果这时没有可用资源,那么这个进程进入等待状态。有时,如果所申请的资源被其他等待进程占有,那么该等待进程有可能再也无法…...
IP劫持的危害及应对策略
随着互联网的发展,网络安全问题日益凸显,其中IP劫持作为一种常见的网络攻击手段,对个人和企业的信息安全造成了严重的威胁。IP数据云将分析IP劫持的危害,并提出相应的应对策略。 IP地址查询:IP数据云 - 免费IP地址查询…...
Mac安装oh-my-zsh
目录 命令下载 卸载命令 注意 命令下载 curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 卸载命令 uninstall_oh_my_zsh 注意 终端init的时候并不会执行~/.bash_profile、~/.bashrc等脚本了, 这是因为其默认启动执行脚本…...
【Web开发】深度学习HTML(超详细,一篇就够了)
💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Web开发】深度学习html(超详细,一篇就够了) 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 HTML1. HTML基础1.1 什么是HTML1.2 认识HTML标签1.3 HTML文件基本…...
深入了解二叉搜索树:原理、实现与应用
目录 一、介绍二叉搜索树 二、二叉搜索树的基本性质 三、二叉搜索树的实现 四、总结 在计算机科学中,数据结构是构建算法和程序的基础。其中,二叉搜索树(Binary Search Tree,简称 BST)作为一种常见的数据结构&#…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅
目录 前言 操作系统与驱动程序 是什么,为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中,我们在使用电子设备时,我们所输入执行的每一条指令最终大多都会作用到硬件上,比如下载一款软件最终会下载到硬盘上&am…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅!
【把数组变成一棵树】有序数组秒变平衡BST,原来可以这么优雅! 🌱 前言:一棵树的浪漫,从数组开始说起 程序员的世界里,数组是最常见的基本结构之一,几乎每种语言、每种算法都少不了它。可你有没有想过,一组看似“线性排列”的有序数组,竟然可以**“长”成一棵平衡的二…...
