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

【论文阅读+复现】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.lryc.cn/news/520989.html

相关文章:

  • Spring Boot 应用开发入门
  • 【C语言】字符串函数详解
  • 【Vim Masterclass 笔记14】S07L29 + L30:练习课08 —— Vim 文本对象同步练习(含点评课内容)
  • 非PHP开源内容管理系统(CMS)一览
  • WEB 攻防-通用漏-XSS 跨站脚本攻击-反射型/存储型/DOMBEEF-XSS
  • SQLAlchemy -批量插入时忽略重复
  • 1月13日学习
  • Steam个人开发者注册备记
  • django在线考试系统
  • Laravel 中 Cache::remember 的基本用途
  • 前端进程和线程及介绍
  • OpenGL —— 基于Qt的视频播放器 - ffmpeg硬解码,QOpenGL渲染yuv420p或nv12视频(附源码)
  • Vue Router
  • 【黑灰产】人工查档业务产业链
  • 114周二复盘 (178)
  • day10_Structured Steaming
  • Python的秘密基地--[章节11] Python 性能优化与多线程编程
  • drawDB docker部属
  • 探索图像编辑的无限可能——Adobe Photoshop全解析
  • 【Vim Masterclass 笔记13】第 7 章:Vim 核心操作之——文本对象与宏操作 + S07L28:Vim 文本对象
  • Spring Boot教程之五十五:Spring Boot Kafka 消费者示例
  • 统计有序矩阵中的负数
  • 【6】Word:海名公司文秘❗
  • c语言 --- 字符串
  • LeetCode 热题 100_二叉树的最近公共祖先(49_236_中等_C++)(二叉树;深度优先搜索)
  • (三)c#中const、static、readonly的区别
  • 人工智能任务19-基于BERT、ELMO模型对诈骗信息文本进行识别与应用
  • 【C++】函数(下)
  • 一个使用 Golang 编写的新一代网络爬虫框架,支持JS动态内容爬取
  • 深入探讨 Vue.js 的动态组件渲染与性能优化