当前位置: 首页 > 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)进行了对比,进一步验证了其生成高质量图像的有效性和鲁棒性。

相关文章:

【论文阅读+复现】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 背景 研究问题:这篇文…...

Spring Boot 应用开发入门

一、Spring Boot简介 Spring Boot 是一个基于 Spring 框架的开源 Java 基础框架,它简化了基于 Spring 的应用开发。Spring Boot 提供了一种快速、便捷的方式来创建独立、生产级的基于 Spring 框架的应用程序。它通过提供一系列的“启动器”依赖,帮助开发…...

【C语言】字符串函数详解

文章目录 Ⅰ. strcpy -- 字符串拷贝1、函数介绍2、模拟实现 Ⅱ. strcat -- 字符串追加1、函数介绍2、模拟实现 Ⅲ. strcmp -- 字符串比较1、函数介绍2、模拟实现 Ⅳ. strncpy、strncat、strncmp -- 可限制操作长度Ⅴ. strlen -- 求字符串长度1、函数介绍2、模拟实现&#xff08…...

【Vim Masterclass 笔记14】S07L29 + L30:练习课08 —— Vim 文本对象同步练习(含点评课内容)

文章目录 L29 Exercise 08 - Text Objects1 训练目标2 操作指令2.1. 打开 textobjectspractice.txt 文件2.2. 单词对象练习 Word Objects2.3. 区块对象 ( ) 练习 Block Object ( )2.4. 引用字符串练习 Quoted Strings2.5. 区块对象 [ ] 练习 Block Object [ ]2.6. 区块对象 <…...

非PHP开源内容管理系统(CMS)一览

在现代网站开发中&#xff0c;内容管理系统&#xff08;CMS&#xff09;是不可或缺的工具。虽然许多广泛使用的CMS&#xff08;如WordPress和Joomla&#xff09;是基于PHP开发的&#xff0c;但其他编程语言同样诞生了许多优秀的开源CMS&#xff0c;适用于不同需求和技术栈的项目…...

WEB 攻防-通用漏-XSS 跨站脚本攻击-反射型/存储型/DOMBEEF-XSS

XSS跨站脚本攻击技术&#xff08;一&#xff09; XSS的定义 XSS攻击&#xff0c;全称为跨站脚本攻击&#xff0c;是指攻击者通过在网页中插入恶意脚本代码&#xff0c;当用户浏览该网页时&#xff0c;恶意脚本会被执行&#xff0c;从而达到攻击目的的一种安全漏洞。这些恶意脚…...

SQLAlchemy -批量插入时忽略重复

PostgreSQL 有一个很棒的INSERT() ON CONFLICT DO NOTHING子句,您可以将其与 SQLAlchemy 一起使用: from sqlalchemy.dialects.postgresql import insert session.execute(insert(MyTable).values(my_entries).on_conflict_do_nothing())MySQL 有类似的INSERT IGNORE子句,但…...

1月13日学习

[HITCON 2017]SSRFme 直接给了源代码&#xff0c;题目名称还是ssrf&#xff0c;那么该题大概率就是SSRF的漏洞&#xff0c;进行代码审计。 <?php// 检查是否存在 HTTP_X_FORWARDED_FOR 头&#xff0c;如果存在&#xff0c;则将其拆分为数组&#xff0c;并将第一个 IP 地址…...

Steam个人开发者注册备记

具体的注册过程有很多同志已经写过了&#xff0c;这里只写一点自己搞得有点费劲的地方。有点久了记得也不多了。 1.姓名用汉语拼音&#xff0c;参考护照上的&#xff0c;一般是Zhang Sanli这样的格式&#xff0c;姓一个单词&#xff0c;名字一个单词&#xff08;不管1个字还是…...

django在线考试系统

Django在线考试系统是一种基于Django框架开发的在线考试平台&#xff0c;它提供了完整的在线考试解决方案。 一、系统概述 Django在线考试系统旨在为用户提供便捷、高效的在线考试环境&#xff0c;满足教育机构、企业、个人等不同场景下的考试需求。通过该系统&#xff0c;用…...

Laravel 中 Cache::remember 的基本用途

在 Laravel 中&#xff0c;Cache::remember 方法用于缓存数据&#xff0c;以提高应用程序的性能。当需要从数据库或其他较慢的数据源中检索数据时&#xff0c;可以使用 Cache::remember 来检查请求的数据是否已经被缓存。如果数据已缓存&#xff0c;则直接从缓存中读取&#xf…...

前端进程和线程及介绍

前端开发中经常涉及到进程和线程的概念&#xff0c;特别是在浏览器中。理解这两个概念对于理解浏览器的工作机制和前端性能优化非常重要。以下是详细介绍&#xff1a; 1. 什么是进程和线程&#xff1f; 进程&#xff1a; 是操作系统分配资源的基本单位。一个程序启动后&#xf…...

OpenGL —— 基于Qt的视频播放器 - ffmpeg硬解码,QOpenGL渲染yuv420p或nv12视频(附源码)

运行效果 工程说明 源码 vertex.glsl...

Vue Router

Vue Router4 匹配 Vue3&#xff1b;Vue Router3 匹配 Vue2。 Vue Router 是 Vue.js 官方的路由管理器。Vue Router 基于路由和组件的映射关系&#xff0c;监听页面路径的变化&#xff0c;渲染对应的组件。 安装&#xff1a; npm install vue-router。 基本使用&#xff1a; …...

【黑灰产】人工查档业务产业链

2024年“查档”类型泄露事件快速上涨&#xff0c;涉及电商、外卖、社交、快递等行业数据。 近年来&#xff0c;陆续关注到非法数据交易产业链中游频繁出现的“查档”数据泄露情况&#xff0c;例如通过一个手机号&#xff0c;就可以查询这个手机号相关的所有身份信息&#xff0…...

114周二复盘 (178)

1、打新包&#xff0c;测试 2、白天为打包开始冲刺&#xff0c;问题不少&#xff0c;一堆细节问题&#xff0c; 但还是傍晚打包&#xff0c;不到3分钟&#xff0c;1.77G。 速度超预期。 3、开始测试。 基本还是达到预期的&#xff0c;但还是很多问题。 好在打包速度很快&am…...

day10_Structured Steaming

文章目录 Structured Steaming一、结构化流介绍&#xff08;了解&#xff09;1、有界和无界数据2、基本介绍3、使用三大步骤(掌握)4.回顾sparkSQL的词频统计案例 二、结构化流的编程模型&#xff08;掌握&#xff09;1、数据结构2、读取数据源2.1 File Source2.2 Socket Source…...

Python的秘密基地--[章节11] Python 性能优化与多线程编程

第11章&#xff1a;Python 性能优化与多线程编程 在开发复杂系统时&#xff0c;性能优化和并发编程是不可忽视的重点。Python 提供了多种工具和技术用于优化代码性能&#xff0c;并通过多线程、多进程等方式实现并发处理。本章将探讨如何在 Python 中提升性能&#xff0c;并实…...

drawDB docker部属

docker pull xinsodev/drawdb docker run --name some-drawdb -p 3000:80 -d xinsodev/drawdb浏览器访问&#xff1a;http://192.168.31.135:3000/...

探索图像编辑的无限可能——Adobe Photoshop全解析

文章目录 前言一、PS的历史二、PS的应用场景三、PS的功能及工具用法四、图层的概念五、调整与滤镜六、创建蒙版七、绘制形状与路径八、实战练习结语 前言 在当今数字化的世界里&#xff0c;视觉内容无处不在&#xff0c;而创建和编辑这些内容的能力已经成为许多行业的核心技能…...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别

【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而&#xff0c;传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案&#xff0c;能够实现大范围覆盖并远程采集数据。尽管具备这些优势&#xf…...