第二十三周周报:High-fidelity Person-centric Subject-to-Image Synthesis
目录
摘要
Abstract
TDM
SDM
SNF
测试时的人物细节捕捉
主要贡献
总结
摘要
本周阅读了一篇2024年CVPR的关于高保真度、以人物为中心的图像合成方法的论文:High-fidelity Person-centric Subject-to-Image Synthesis。该论文提出了一种名为Face-diffuser的生成管道,旨在解决现有方法在训练不平衡和质量妥协问题上的不足,通过独立微调两个专门的预训练扩散模型来实现人物和语义场景的合成。
Abstract
This week, I read a paper from CVPR 2024 on a high-fidelity, person-centric image synthesis method titled "High-fidelity Person-centric Subject-to-Image Synthesis". The paper proposes a generative pipeline called Face-diffuser, aimed at addressing the shortcomings of existing methods in terms of training imbalance and quality compromise. It achieves the synthesis of subjects and semantic scenes by independently fine-tuning two specialized pre-trained diffusion models.
论文链接:2311.10329 (arxiv.org)
作者:Yibin Wang, Weizhong Zhang, Jianwei Zheng, Cheng Jin
该论文以现有的人物到图像合成方法面临着训练不平衡和质量妥协的问题,导致在联合学习中无法优化人物生成的质量为研究背景 。为了解决上述问题,研究者提出了Face-diffuser,这是一个有效的协作生成管道,用于人物和语义场景的合成 。Face-diffuser首先独立微调两个基于稳定扩散的专门预训练扩散模型:Text-driven Diffusion Model (TDM)和Subject-augmented Diffusion Model (SDM),分别用于场景和人物生成 。
效果图如下所示:
Face-diffuser的采样过程分为三个连续阶段:
- 语义场景构建:使用TDM构建初步的语义场景。
- 人物-场景融合:TDM和SDM基于有效的协作机制Saliency-adaptive Noise Fusion(SNF)进行协作,将人物融入场景中。
- 人物增强:进一步使用SDM来细化生成人物的质量。
网络结构图如下所示:
TDM
Stable diffusion (SD) is employed as our TDM. For semantic scene generation, given the semantic scene prompt c and the input image x, the VAE first encodes the x into a latent
representation z, perturbed by Gaussian noise ε to getat t step during diffusion. Then the text encoder ψ maps semantic scene prompts c to conditional embeddings ψ(c) which
would be integrated into the denoiser, U-Net through cross-attention [8, 9, 29, 32]. The training objective is to minimize the loss function as follows:
During inference, a random noise
is sampled from a normal distribution N (0, 1), and this noise is iteratively denoised by the U-Net to produce the initial latent representation
.
Subsequently, the VAE decoder maps these latent codes back to pixel space to generate the final image.
稳定扩散(SD)被用作我们的文本驱动扩散模型(TDM)。对于语义场景生成,给定语义场景提示c和输入图像x,变分自编码器(VAE)首先将x编码成潜在表示z,通过高斯噪声ε扰动得到扩散过程中第t步的。然后,文本编码器ψ将语义场景提示c映射到条件嵌入ψ(c),这些嵌入将通过交叉注意力机制[8, 9, 29, 32]整合到去噪器,U-Net中。训练目标是最小化如下损失函数:
推理过程中,从标准正态分布 N(0,1)中采样一个随机噪声 ϵ,并由 U-Net 迭代去噪以产生初始的潜在表示。随后,VAE 解码器将这些潜在编码映射回像素空间以生成最终图像 。
SDM
The SDM model tailored for subject generation is also based on the SD model but includes an additional reference image condition r . Inspired by previous works like [17, 34], weadopt a tuning-free approach by enhancing text prompts with visual features extracted from reference images. When given a text prompt and a list of reference images, we begin byencoding the text prompt and reference subjects into embeddings using pre-trained CLIP text and image encoders, respectively. Following this, we replace the user-specific word embeddings with these visual features and input the resulting augmented embeddings into a multilayer perceptron (MLP). This process yields the final conditioning embeddings, denoted as. The loss function of SDM closely resembles the one in Eq. (1), wi th the substitution of ψ ( c ) by
.
![]()
为生成主体而定制的SDM模型也基于SD模型,但包括一个额外的参考图像条件 r。受到像 [17, 34] 这样的先前工作的启发,我们采用了一种无需调整的方法,通过从参考图像中提取视觉特征来增强文本提示。当给定一个文本提示和一系列参考图像时,我们首先使用预训练的CLIP文本和图像编码器分别对文本提示和参考主体进行编码,生成嵌入。接下来,我们用这些视觉特征替换用户特定的词嵌入,并将生成的增强嵌入输入到多层感知器(MLP)中。这个过程产生了最终的条件嵌入,记作。SDM的损失函数与方程(1)中的非常相似,只是将 ψ(c)替换为
。
SNF
请注意,响应和
实际上评估了语义场景和参考图像对预测噪声中每个像素的影响,具有较大值的区域意味着这些条件对这些像素有显著影响,这自然定义了TDM和STM在这一步的责任。
正式地,我们首先基于 和
定义以下两个显著性图:
其中,操作符 Abs(⋅)计算输入变量的绝对值,而 Smooth(⋅) 函数用于减少高频噪声,有效地消除局部异常值并增强相邻区域的一致性。和
的实证验证,即它们的视觉化呈现在第4.3节。
给定 和
,我们继续通过比较这两个显著性图来开发显著性自适应融合掩码:
这里的softmax操作至关重要,因为 和
的值可能有不同的量级,它确保每个显著性图的总和保持不变,从而使它们可比较。掩码 M 被用来定义协作机制,即
和
的像素分别在生成过程中分配给TDM和SDM。
最后,可以通过以下过程获得融合后的噪声:
这里的 ⊙ 表示哈达玛积(即元素对应的乘积),为了简化表示,我们省略了 t。需要注意的是,在每个采样步骤中,两个模型都以混合后的 作为输入,这有助于自动实现两个模型噪声空间的语义对齐。
SNF是一种基于分类器自由引导(CFG)的细粒度协作机制,可以无缝集成到DDIM采样过程中 。在每一步中,SNF利用两个模型的CFG响应来生成一个适应于显著性的掩码,自动分配区域给它们进行合成。
测试时的人物细节捕捉
为了在测试时捕获并保留参考图像中给出的人物细节,Face-diffuser让SDM中的CFG响应成为有无参考人物图像之间的噪声差异,从而忽略文本条件的影响 。这种设置无疑指导SDM将显著性仅集中在与人物相关的区域,从而实现更高精度的人物生成 。
主要贡献
- 提出的Face-diffuser打破了现有人物到图像生成方法中的训练不平衡和质量妥协问题 。
- 通过有效的协作机制,Face-diffuser能够在测试时生成高质量样本,人物和语义场景生成器在不同时间步骤和不同图像中负责不同区域,实现灵活的演变合作 。
总结
Face-diffuser通过独立微调和细粒度协作机制,显著提高了人物和语义场景生成的高保真度。这种方法为解决现有人物到图像合成方法中的问题提供了一种有效的解决方案,并为未来的研究和应用提供了新的方向 。
下周将继续学习扩散生成模型有关内容。
如有错误,请各位大佬指出,谢谢!
相关文章:
第二十三周周报:High-fidelity Person-centric Subject-to-Image Synthesis
目录 摘要 Abstract TDM SDM SNF 测试时的人物细节捕捉 主要贡献 总结 摘要 本周阅读了一篇2024年CVPR的关于高保真度、以人物为中心的图像合成方法的论文:High-fidelity Person-centric Subject-to-Image Synthesis。该论文提出了一种名为Face-diffuser的…...
Cesium 与 Leaflet:地理信息可视化技术比较
在现代地理信息系统(GIS)和空间数据可视化领域,Cesium 和 Leaflet 是两种非常常见的地理可视化库,它们各自适用于不同的应用场景。Cesium 专注于三维地球视图和复杂空间分析,而 Leaflet 则注重轻量级的二维地图展示。本文将对这两种技术进行详细的对比,帮助开发者根据具体…...

Linux 服务器使用指南:诞生与演进以及版本(一)
一、引言 在当今信息技术的浪潮中,Linux 操作系统无疑是一个关键的支柱😎。无论是在服务器管理、软件开发还是大数据处理领域,Linux 都以其卓越的适应性和优势脱颖而出👍。然而,对于许多新手而言,Linux 系统…...
龙蜥 Linux 安装 JDK
龙蜥 Linux 安装 JDK 下载安装解压到目标路径设置环境变量直接在启动脚本中临时设置 参考资料 下载 这个就不赘述了,参考资料中的另外两篇安装帖,都有。 如果不能上网,也可以去内网其他之前装过JDK的服务器,直接复制过来。 tar …...
Python小白语法基础20(模块与包)
0) 参考文章 python的模块(module)、包(package)及pip_python package-CSDN博客Python之函数、模块、包库_python函数、模块和包-CSDN博客Python函数模块自定义封装及模块嵌套导入(手把手教程)_python如何封装一个模块-CSDN博客 1) 模块与包说明 软件…...
详解 Qt QtPDF之QPdfPageNavigator 页面跳转
文章目录 前言头文件: 自 Qt 6.4 起继承自: 属性backAvailable : const boolcurrentLocation : const QPointFcurrentPage : const intcurrentZoom : const qrealforwardAvailable : const bool 公共函数QPdfPageNavigator(QObject *parent)virtual ~QPd…...

通俗易懂:序列标注与命名实体识别(NER)概述及标注方法解析
目录 一、序列标注(Sequence Tagging)二、命名实体识别(Named Entity Recognition,NER)**命名实体识别的作用****命名实体识别的常见实体类别** : 三、标签类型四、序列标注的三种常见方法1. **BIO…...

【C语言】二叉树(BinaryTree)的创建、3种递归遍历、3种非递归遍历、结点度的实现
代码主要实现了以下功能: 二叉树相关数据结构定义 定义了二叉树节点结构体 BiTNode,包含节点数据值(字符类型)以及指向左右子树的指针。 定义了顺序栈结构体 SqStack,用于存储二叉树节点指针,实现非递归遍历…...

2024年11月文章一览
2024年11月编程人总共更新了21篇文章: 1.2024年10月文章一览 2.《使用Gin框架构建分布式应用》阅读笔记:p307-p392 3.《使用Gin框架构建分布式应用》阅读笔记:p393-p437 4.《使用Gin框架构建分布式应用》读后感 5.《Django 5 By Example…...

重生之我在异世界学编程之C语言:二维数组篇
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文一 二维数组的创建1. 二维数组的…...

和鲸科技创始人CEO范向伟出席首届工业智算产业发展研讨会,共话 AI 创新与产业化落地
11 月 22 日,首届工业智算产业发展研讨会在中国工业互联网研究院召开。工业和信息化部党组成员、副部长单忠德,国家信息中心大数据发展部副主任魏颖出席会议并致辞。中国工程院院士、北京化工大学教授高金吉,工业和信息化部信息通信发展司二级…...
postgres数据备份与主从配置
备份PostgreSQL数据库 备份格式有几种选择: bak:压缩二进制格式 sql:明文转储 tar: tarball mydb# \q -bash-4.2$ pg pgawk pg_dump pgrep pg_basebackup pg_dumpall pg_restore# 备份所有的 -bash-4.2$ pg_dumpall &…...

【二分查找】力扣 275. H 指数 II
一、题目 二、思路 h 指数是高引用引用次数,而 citations 数组中存储的就是不同论文被引用的次数,并且是按照升序排列的。也就是说 h 指数将整个 citations 数组分成了两部分,左半部分是不够引用 h 次 的论文,右半部分论文的引用…...
使用uni-app进行开发前准备
使用uni-app进行开发,需要遵循一定的步骤和流程。以下是一个详细的指南,帮助你开始使用uni-app进行开发: 一、开发环境搭建 安装Node.js: 首先,从Node.js的官方网站(https://nodejs.org/)下载并…...
AI开发-深度学习框架-PyTorch-torchnlp
1 需求 Welcome to Pytorch-NLP’s documentation! — PyTorch-NLP 0.5.0 documentation 2 接口 3 示例 4 参考资料...

VBA数据库解决方案第十七讲:Recordset对象记录位置的定位方法
《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…...

Ubuntu 操作系统
一、简介 Ubuntu 是一个基于 Linux 的开源操作系统,它由 Canonical Ltd. 公司维护和资助。Ubuntu 以其易用性、强大的社区支持和定期的安全更新而闻名,一个一桌面应用为主的操作系统。 二、用户使用 1、常规用户的登陆方式 在登录时一般使用普通用户&…...
Maven 内置绑定到底怎么回事?
Maven是一个很好的项目管理工具. 一方面有着众多脚手架,另一方面在依赖管理方面 帮助使用者做了很多准备工作. 随着Maven的使用和学习的深入,大家会不仅有一些问题。 比较浅显的一个就是, 日常我们的Maven 下载安装好以后,在IDE 里…...

如何把Qt exe文件发送给其他人使用
如何把Qt exe文件发送给其他人使用 1、先把 Debug改成Release2、重新构建项目3、运行项目4、找到release文件夹5、新建文件夹,存放exe文件6、打开qt控制台串口7、下载各种文件8、压缩,发送压缩包给别人 1、先把 Debug改成Release 2、重新构建项目 3、运行…...

【汇编语言】call 和 ret 指令(三) —— 深度解析汇编语言中的批量数据传递与寄存器冲突
文章目录 前言1. 批量数据的传递1.1 存在的问题1.2 如何解决这个问题1.3 示例演示1.3.1 问题说明1.3.2 程序实现 2. 寄存器冲突问题的引入2.1 问题引入2.2 分析与解决问题2.2.1 字符串定义方式2.2.2 分析子程序功能2.2.3 得到子程序代码 2.3 子程序的应用2.3.1 示例12.3.2 示例…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...