【论文阅读+复现】High-fidelity Person-centric Subject-to-Image Synthesis

以人物为中心的主体到图像的高保真合成,CVPR2024

code:CodeGoat24/Face-diffuser: [CVPR2024] Official implementation of High-fidelity Person-centric Subject-to-Image Synthesis.

paper:2311.10329 

背景

  1. 研究问题:这篇文章要解决的问题是当前以人物为中心的图像生成方法在生成高保真人物图像时遇到的挑战。具体来说,这些方法在微调预训练的扩散模型时,会导致语义场景的先验知识丢失,并且在联合学习场景和人物生成时,会牺牲生成质量。

  2. 研究难点:该问题的研究难点包括:生成高质量的人物图像需要充分微调预训练模型,但这会导致模型忘记丰富的语义场景先验;此外,联合学习场景和人物生成也会导致生成质量下降。

  3. 相关工作:现有的以人物为中心的图像生成方法,如Fastcomposer和Subject-diffusion,虽然能够生成个性化图像,但在长时间训练后,模型会过拟合文本描述,忘记丰富的语义场景先验,导致生成质量下降。

方法

这篇论文提出了Face-diffuser,一种有效的协作生成管道,用于解决现有方法中的训练不平衡和质量妥协问题。具体来说,

  1. 预训练模型:首先,独立微调两个基于Stable Diffusion的预训练扩散模型,分别用于场景生成(TDM)和人物生成(SDM)。

     

  2. 采样过程:采样过程分为三个阶段:语义场景构建、人物-场景融合和人物增强。

  • 语义场景构建:使用TDM构建初始语义场景。
  • 人物-场景融合:通过一个新的高效机制——显著性自适应噪声融合(SNF),实现TDM和SDM的协作。SNF利用无分类器指导(CFG)响应,自动在显著性感知的方式下融合两个模型的预测噪声。
  • 人物增强:使用SDM进一步细化生成的人物质量。
  1. 显著性自适应噪声融合(SNF):SNF的关键在于观察到无分类器指导响应与生成图像的显著性之间存在稳健的联系。具体公式如下:

其中,∅表示空条件,s表示指导权重,RT​和RS​分别表示语义场景条件和参考图像条件的噪声差异。

实验

  1. 数据集:使用FFHQ-face数据集进行训练,该数据集包含70,000个样本,其中60,000个用于训练,10,000个用于测试。另一个数据集是Single-benchmark数据集,包含15个主题,每个主题有30个文本提示。
  2. 训练配置:基于预训练的Stable Diffusion v1-5模型进行训练。SDM的图像编码器使用OpenAI的clip-vit-large-patch14视觉模型。对SDM进行450k步训练,对TDM进行250k步训练,使用4个NVIDIA A100 GPU,设置恒定学习率为1e-5,批量大小为8。
  3. 评估:使用身份保留(IP)和提示一致性(PC)两个指标评估单主题和多主题生成质量。IP通过MTCNN进行面部检测,并使用FaceNet计算面部相似度。PC通过CLIP-L/14图像-文本相似度进行评估。

结果

  1. 定量结果:Face-diffuser在单主题和多主题图像生成方面均表现出显著优势。与现有的最先进模型Fastcomposer相比,Face-diffuser在多主题生成方面的身份保留提高了0.132,提示一致性提高了0.084。

  2. 定性结果:Face-diffuser在生成与给定参考图像和语义场景一致的人物图像方面优于其他基线方法。例如,在生成一个男孩拿着纸的场景时,Fastcomposer和CustomDiffusion未能成功生成该场景。

     

  3. 对比分析:与Fastcomposer和Subject-diffusion的样本进行对比,Face-diffuser在高保真图像生成方面表现更优。

     

结论

本文提出的Face-diffuser有效地解决了现有以人物为中心的图像生成方法中的训练不平衡和质量妥协问题。通过独立微调两个预训练扩散模型,并利用显著性自适应噪声融合机制,Face-diffuser能够在不同场景中生成高保真的人物图像。广泛的实验验证了Face-diffuser在生成高质量图像方面的有效性和鲁棒性。

  1. 打破训练不平衡和质量妥协:Face-diffuser提出了一种有效的协作生成管道,解决了现有以人为中心的图像生成方法中存在的训练不平衡和质量妥协问题。
  2. 独立模型和协作机制:开发了两个独立的预训练扩散模型(TDM和SDM),分别用于场景和人物生成,并提出了一种高效的协作机制——基于显著性的自适应噪声融合(SNF)。
  3. 三阶段采样过程:将采样过程分为三个阶段:语义场景构建、人物-场景融合和人物增强,确保每个阶段的任务明确且高效。
  4. 显著性自适应噪声融合:通过分类器自由指导(CFG)响应,自动在每一步中按显著性进行噪声空间的空间混合,充分利用每个模型的优势。
  5. 高质量图像生成:广泛的实验验证了Face-diffuser在生成描绘多个未见人物的多样场景的高保真图像方面的显著有效性和鲁棒性。

关键问题

问题1:Face-diffuser在生成高保真人物图像时,如何解决现有方法中的训练不平衡和质量妥协问题?

Face-diffuser通过独立微调两个预训练扩散模型来解决训练不平衡和质量妥协问题。具体来说,它开发了两个专门的预训练扩散模型:文本驱动扩散模型(TDM)和主体增强扩散模型(SDM)。TDM用于场景生成,而SDM用于人物生成。通过将采样过程分为三个阶段——语义场景构建、人物-场景融合和人物增强,Face-diffuser能够在不同阶段充分利用每个模型的优势。特别是,通过显著性自适应噪声融合(SNF)机制,Face-diffuser在人物-场景融合阶段实现了TDM和SDM的无缝协作,从而生成高保真的人物图像。

问题2:显著性自适应噪声融合(SNF)机制是如何实现TDM和SDM的有效协作的?

显著性自适应噪声融合(SNF)机制通过无分类器指导(CFG)响应来实现TDM和SDM的有效协作。具体步骤如下:

  1. 计算显著性图:首先,根据TDM和SDM的CFG响应计算两个显著性图ΩT和ΩS。这两个图分别表示语义场景条件和参考图像条件对每个像素的影响。
  2. 生成融合掩码:然后,通过比较这两个显著性图生成一个融合掩码M,该掩码决定了每个像素由哪个模型负责生成。
  3. 融合噪声:最后,根据融合掩码M,将TDM和SDM的预测噪声进行融合,得到最终的噪声ε^。公式如下:

其中,⊙表示Hadamard积。

问题3:Face-diffuser在实验中如何评估其生成的高质量图像?

Face-diffuser通过身份保留(IP)和提示一致性(PC)两个指标来评估其生成的高质量图像。具体评估方法如下:

  1. 身份保留(IP):通过MTCNN进行面部检测,并使用FaceNet计算参考图像和生成图像之间的面部相似度,从而评估身份保留能力。
  2. 提示一致性(PC):通过CLIP-L/14图像-文本相似度评估生成图像与给定文本提示的一致性。

此外,Face-diffuser还在单主题和多主题生成任务上进行了广泛的实验,并与现有的最先进模型(如Fastcomposer和Subject-diffusion)进行了对比,进一步验证了其生成高质量图像的有效性和鲁棒性。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做一个 简单的Django 《股票自选助手》显示 用akshare 库(A股数据获取)

图: 股票自选助手 这是一个基于 Django 开发的 A 股自选股票信息查看系统。系统使用 akshare 库获取实时股票数据,支持添加、删除和更新股票信息。 功能特点 支持添加自选股票实时显示股票价格和涨跌幅一键更新所有股票数据支持删除不需要的股票使用中…

USB学习——基本概念

文章目录 USB(Universal Serial Bus)概述USB系统的描述USB总线传输方式USB的拓扑结构 USB的连接模型USB控制器及分类USB描述符USB 端点USB枚举过程USB 四种传输类型USB 事务批量传输(Bulk)中断传输(Interrupt)等时传输(Isochronous)控制传输(Control)端点…

通信与网络安全之网络连接

一.传输介质类型 1.基本概念 计算机总是以二进制的数字(0或1)形式工作 1)数字和模拟 模拟数据一般采用模拟信号(Analog Signal),例如用一系列连续变化的电磁波(如无线电与电视广播中的电磁波),或电压信号(如电话传…

ConvNeXt V2: Co-designing and Scaling ConvNets with Masked Autoencoders论文解读

论文地址:https://arxiv.org/abs/2301.00808 论文相对ConvNeXt V1的改进主要两点 全卷积掩码自编码器(FCMAE)Global Response Normalization,去除Layer scale 什么是layer scale 实验 先用FCMAE预训练,然后微调

Formality:两种等价状态consistency和equality

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 背景 逻辑锥的等价性检查时,存在两种验证模式:一致(consistency)和等同(equality),要理解这两点,首先得明白综合工具…

【LeetCode】力扣刷题热题100道(26-30题)附源码 轮转数组 乘积 矩阵 螺旋矩阵 旋转图像(C++)

目录 1.轮转数组 2.除自身以外数组的乘积 3.矩阵置零 4.螺旋矩阵 5.旋转图像 1.轮转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 class Solution { public:void rotate(vector<int>& nums, int k) …

51单片机 AT24C02(I2C总线)

存储器 随机存储 RAM 只读存储 ROM AT24C02芯片 是一种可以实现掉电不丢失的存储器&#xff0c;可用于保存单片机运行时想要永久保存的数据信息 存储材质&#xff1a;E2PROM 通讯接口&#xff1a;I2C总线 容量&#xff1a;256字节 I2C总线 一种通用的数据总线 两根通信线…

G1原理—5.G1垃圾回收过程之Mixed GC

大纲 1.Mixed GC混合回收是什么 2.YGC可作为Mixed GC的初始标记阶段 3.Mixed GC并发标记算法详解(一) 4.Mixed GC并发标记算法详解(二) 5.Mixed GC并发标记算法详解(三) 6.并发标记的三色标记法 7.三色标记法如何解决错标漏标问题 8.SATB如何解决错标漏标问题 9.重新梳…

每天五分钟深度学习:神经网络中的激活函数

本文重点 激活函数在神经网络中是必不可以缺少的东西,当我们创建一个神经网络的时候,我们需要决定使用哪种激活函数用在隐藏层上,哪种激活函数用在输出结点上,我们以前的课程中我们使用的都是sigmoid激活函数,除此之外还有其它激活函数。本文我们就介绍一下那些经常使用的…

Java Web开发基础:HTML的深度解析与应用

文章目录 前言&#x1f30d;一.B/S 软件开发架构简述&#x1f30d;二.HTML 介绍❄️2.1 官方文档❄️2.2 网页的组成❄️2.3 HTML 是什么❄️2.4html基本结构 &#x1f30d;三.HTML标签1.html 的标签/元素-说明2. html 标签注意事项和细节3.font 字体标签4.标题标签5.超链接标签…

iostat命令详解

iostat 命令是 I/O statistics(输入/输出统计)的缩写&#xff0c;用来报告系统的 CPU 统计信息和块设备及其分区的 IO 统计信息。iostat 是 sysstat 工具集的一个工具&#xff0c;在 Ubuntu 系统中默认是不带 iostat 命令的&#xff0c;需要自行安装&#xff1a; $ sudo apt in…

【数据库系统概论】数据库恢复技术

目录 11.1 事务的基本概念 事务的定义 事务的开始与结束 事务的ACID特性 破坏ACID特性的因素 11.2 数据库恢复概述 11.3 故障的种类 1. 事务内部的故障 2. 系统故障 3. 介质故障 4. 计算机病毒 11.4 恢复的实现技术 如何建立冗余数据 数据转储 登记日志文件 11…

通过Android Studio修改第三方jar包并重新生成jar包

最近接手了来自公司其他同事的一个Unity项目,里面有一个封装的jar包要改动一下,无奈关于这个jar包的原工程文件丢失了,于是自己动手来修改下jar包,并做下记录。 一、导入第三方jar包 1、新建项目EditJarDemo(项目名随便取) 2、新建libs文件夹,把你要修改的third.jar 复制…

2025新年源码免费送

2025很开门很开门的源码免费传递。不需要馒头就能获取4套大开门源码。 听泉偷宝&#xff0c;又进来偷我源码啦&#x1f44a;&#x1f44a;&#x1f44a;。欢迎偷源码 &#x1f525;&#x1f525;&#x1f525; 获取免费源码以及更多源码&#xff0c;可以私信联系我 我们常常…

数据分析思维(十一):应用篇——用数据分析解决问题

此前篇章&#xff1a; 数据分析思维&#xff08;一&#xff09;&#xff1a;业务指标&#xff08;数据分析并非只是简单三板斧&#xff09; 数据分析思维&#xff08;二&#xff09;&#xff1a;分析方法——5W2H分析方法、逻辑树分析方法、行业分析方法 数据分析思维&#…

基于Arduino平台,使用ESP32S3微处理器控制Servo时,内置Servo库无法使用

基于Arduino平台&#xff0c;使用ESP32S3微处理器驱动Servo时&#xff0c;报以下问题&#xff1a; *WARNING: library Servo claims to run on avr, megaavr, sam, samd, nrf52, stm32f4, mbed, mbed_nano, mbed_portenta, mbed_rp2040, renesas, renesas_portenta, renesas_un…

Linux : Linux环境开发工具vim / gcc / makefile / gdb / git的使用

Linux环境开发工具的使用 一、操作系统的生态二、程序下载安装&#xff08;一&#xff09;程序安装方式&#xff08;二&#xff09;包管理器 yum / apt 运行原理 三、文本编辑器 vim&#xff08;一&#xff09;认识vim 下的操作模式&#xff08;二&#xff09;命令模式常用的快…

HTML5 网站模板

HTML5 网站模板 参考 HTML5 Website Templates

怎么抓取ios 移动app的https请求?

怎么抓取IOS应用程序里面的https&#xff1f; 这个涉及到2个问题 1.电脑怎么抓到IOS手机流量&#xff1f; 2.HTTPS怎么解密&#xff1f; 部分app可以使用代理抓包的方式&#xff0c;但是正式点的app用代理抓包是抓不到的&#xff0c;例如pin检测&#xff0c;证书双向校验等…

记录一下vue2项目优化,虚拟列表vue-virtual-scroll-list处理10万条数据

文章目录 封装BrandPickerVirtual.vue组件页面使用组件属性 select下拉接口一次性返回10万条数据&#xff0c;页面卡死&#xff0c;如何优化&#xff1f;&#xff1f;这里使用 分页 虚拟列表&#xff08;vue-virtual-scroll-list&#xff09;&#xff0c;去模拟一个下拉的内容…