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

devtools/2025/1/15 14:50:37/

以人物为中心的主体到图像的高保真合成,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.ppmy.cn/devtools/150703.html

相关文章

Kylin: `GLIBC_2.34‘ not found

需要查看服务器GLIBC版本 strings /lib64/libc.so.6 |grep GLIBC_如果没有,有两种办法,一种是libc.so.6降级,但是这样很容易将服务器搞崩溃 所以可以尝试下载对应版本 glibc 打包编译,重新建立软连,下列是RPM资源可以…

win10安装anaconda环境与opencv

1 下载anaconda 从清华镜像源下载,下载地址Anaconda3-2024.06-1-Windows-x86_64.exe 。 2 安装anaconda 双击下载的应用,点击下一步,选择一个安装路径,如下所示,然后再点选"Add Anaconda3 to my Path"&am…

空指针:HttpSession异常,SpringBoot集成WebSocket

异常可能性: 404 : 请检查拦截器是否将请求拦截WebSocket握手期间HttpSession为空 HttpSession为空 方法一 : 网上参考大量的文档,有说跟前端请求域名有关系的。 反正对我来说,没啥用无法连接。 需使用 localhost&a…

蓝牙开发 基础知识

文章目录 前言一、蓝牙广播1:广播信道2:广播的数据结构3:用户广播结构4:广播包的内容:广播事件: 二、蓝牙状态切换蓝牙从机(Peripheral)的状态蓝牙主机(Central)的状态 三…

ucharts写的小程序如何解决Y轴小数点问题

去除小数点 在yAxis的data中添加 formatter: (value) > { // console.log("formatter", value, typeof (value)) return value > 0 ? Math.floor(value) : value; } yAxis: {gridType: "dash",dashLength: 2,data: [{unit: &qu…

scala概念

val声明变量和var声明变量的不同? val修饰不可变变量,var修饰可变变量 trait与class的相同点和不同点? 它们的相同点在于都能包含抽象和非抽象成员,且不能直接实例化。 区别在于抽象类的构造方法可传参,而特质的构…

【2025最新】机器学习类计算机毕设选题80套,适合大数据,人工智能

【2025最新】机器学习类型计算机毕设选题 1-10套 基于Spring Boot的物流管理系统的设计与实现 基于机器学习的虚假招聘信息的分析与预测 基于机器学习的影响数据科学家职业变动因素的分析与预测 基于Spring Boot的历史文物交流平台的设计与实现 基于机器学习的肥胖影响因素的分…

平台介绍-快速开发上手指南

1、平台及其之上的应用限定了4个开发语言:: 业务后台:Java AI/大数据/爬虫等:Python PC前端:VueElmentUI 移动前端:UniApp 平台不推荐上述之外的语言、组件等。平台卖给甲方后,甲方可能会放开这个限制,这个我们无…