当前位置: 首页 > news >正文

第二十三周周报: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的采样过程分为三个连续阶段:

  1. 语义场景构建:使用TDM构建初步的语义场景。
  2. 人物-场景融合:TDM和SDM基于有效的协作机制Saliency-adaptive Noise Fusion(SNF)进行协作,将人物融入场景中。
  3. 人物增强:进一步使用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 get z_{t} at t step during diffusion. Then the text encoder ψ maps semantic scene prompts c to conditional embeddings ψ(c) which
would be integrated into the denoiser \varepsilon _{\theta }, U-Net through cross-attention [8, 9, 29, 32]. The training objective is to minimize the loss function as follows:

L_{noise}=E_{z,c,\varepsilon \sim N(0,1),t}\left \| \varepsilon -\varepsilon _{\theta }(z_{t},t,\psi _{c}) \right \|_{2}^{2}

During inference, a random noise z_{T} 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 z_{0}.
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步的z_{t}。然后,文本编码器ψ将语义场景提示c映射到条件嵌入ψ(c),这些嵌入将通过交叉注意力机制[8, 9, 29, 32]整合到去噪器,U-Net中。训练目标是最小化如下损失函数:

L_{noise}=E_{z,c,\varepsilon \sim N(0,1),t}\left \| \varepsilon -\varepsilon _{\theta }(z_{t},t,\psi _{c}) \right \|_{2}^{2}

推理过程中,从标准正态分布 N(0,1)中采样一个随机噪声 ϵ,并由 U-Net 迭代去噪以产生初始的潜在表示z_{0}。随后,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], we
adopt 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 by
encoding 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 \psi (c)_{aug} . The loss function of SDM closely resembles the one in Eq. (1), wi th the substitution of ψ ( c ) by \psi (c)_{aug}.
L_{noise}=E_{z,c,\varepsilon \sim N(0,1),t}\left \| \varepsilon -\varepsilon _{\theta }(z_{t},t,\psi _{(c)aug}) \right \|_{2}^{2}

为生成主体而定制的SDM模型也基于SD模型,但包括一个额外的参考图像条件 r。受到像 [17, 34] 这样的先前工作的启发,我们采用了一种无需调整的方法,通过从参考图像中提取视觉特征来增强文本提示。当给定一个文本提示和一系列参考图像时,我们首先使用预训练的CLIP文本和图像编码器分别对文本提示和参考主体进行编码,生成嵌入。接下来,我们用这些视觉特征替换用户特定的词嵌入,并将生成的增强嵌入输入到多层感知器(MLP)中。这个过程产生了最终的条件嵌入,记作\psi (c)_{aug}​。SDM的损失函数与方程(1)中的非常相似,只是将 ψ(c)替换为\psi (c)_{aug}

L_{noise}=E_{z,c,\varepsilon \sim N(0,1),t}\left \| \varepsilon -\varepsilon _{\theta }(z_{t},t,\psi _{(c)aug}) \right \|_{2}^{2}

SNF

请注意,响应R_{T}R_{S }实际上评估了语义场景和参考图像对预测噪声中每个像素的影响,具有较大值的区域意味着这些条件对这些像素有显著影响,这自然定义了TDM和STM在这一步的责任。

正式地,我们首先基于 R_{T}R_{S }定义以下两个显著性图:

\Omega ^{T}=Smooth(Abs(R_{T}))

\Omega ^{S}=Smooth(Abs(R_{S}))

其中,操作符 Abs(⋅)计算输入变量的绝对值,而 Smooth(⋅) 函数用于减少高频噪声,有效地消除局部异常值并增强相邻区域的一致性。\Omega ^{T}\Omega ^{S}​ 的实证验证,即它们的视觉化呈现在第4.3节。

给定 \Omega ^{T}​ 和 \Omega ^{S}​,我们继续通过比较这两个显著性图来开发显著性自适应融合掩码:

M=argmax(Softmax(\Omega ^{T}),Softmax(\Omega ^{S}))

这里的softmax操作至关重要,因为 \Omega ^{T}​ 和 \Omega ^{S}​ 的值可能有不同的量级,它确保每个显著性图的总和保持不变,从而使它们可比较。掩码 M 被用来定义协作机制,即 M_{ij}=0M_{ij}=1 的像素分别在生成过程中分配给TDM和SDM。

最后,可以通过以下过程获得融合后的噪声:

 \widehat{\varepsilon }=M\bigodot \widehat{\varepsilon }_{S}+(1-M)\bigodot \widehat{\varepsilon }_{T}

这里的 ⊙ 表示哈达玛积(即元素对应的乘积),为了简化表示,我们省略了 t。需要注意的是,在每个采样步骤中,两个模型都以混合后的 z_{t}​ 作为输入,这有助于自动实现两个模型噪声空间的语义对齐。 

SNF是一种基于分类器自由引导(CFG)的细粒度协作机制,可以无缝集成到DDIM采样过程中 。在每一步中,SNF利用两个模型的CFG响应来生成一个适应于显著性的掩码,自动分配区域给它们进行合成。

测试时的人物细节捕捉

为了在测试时捕获并保留参考图像中给出的人物细节,Face-diffuser让SDM中的CFG响应成为有无参考人物图像之间的噪声差异,从而忽略文本条件的影响 。这种设置无疑指导SDM将显著性仅集中在与人物相关的区域,从而实现更高精度的人物生成 。

主要贡献

  1. 提出的Face-diffuser打破了现有人物到图像生成方法中的训练不平衡和质量妥协问题 。
  2. 通过有效的协作机制,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&#xf…...

【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 示例…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机:Ubuntu 20.04.6 LTSHost:ARM32位交叉编译器:arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

使用VSCode开发Django指南

使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...

pam_env.so模块配置解析

在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

管理学院权限管理系统开发总结

文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...

云原生安全实战:API网关Kong的鉴权与限流详解

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

MySQL 主从同步异常处理

阅读原文:https://www.xiaozaoshu.top/articles/mysql-m-s-update-pk MySQL 做双主,遇到的这个错误: Could not execute Update_rows event on table ... Error_code: 1032是 MySQL 主从复制时的经典错误之一,通常表示&#xff…...

LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》

🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...