Coarse-to-Fine Latent Diffusion for Pose-Guided Person Image Synthesis阅读笔记

连更!!

0 Abstract

  • 先前的姿势引导图像合成方法简单的将人的外观与目标姿势进行对齐,这容易导致过拟合,因为缺乏对source person image的high-level semantic understanding;
  • 文章开发了一种新的训练范式:仅基于图片,控制pre-traind text-to-image diffusion model的图像生成过程;
    [图片]

1 Introduction

  • GAN-based方法不够稳定,因此表现不佳;
  • 现有的diffusion-based方法缺乏对人像的high-level semantic understanding,容易导致过拟合与低泛化性;
  • 本文提出了Coarse-to-Fine Latent Diffusion (CFLD)方法:
    • 打破传统范式:使用文本prompt(高度语意化与信息深度)控制SD model的图片生成过程;
    • perception-refined decoder:对细粒度的外观信息进行解耦,通过类似QFormer结构从source image学习外观信息得到一组prompt token(替代了text prompt,作为粗粒度prompt,关注人像的常规语意);
    • hybrid-granularity attention module:将多尺度细粒度外观信息作为bias term增强粗粒度prompt,控制纹理细节。

2 Related Work

3 Method

[图片]

3.1 Preliminary

  • 基于text-to-image latent diffusion model(例如Stable Diffusion):
    • VAE:原始像素空间和低维潜在空间之间的映射
    • UNet-based prediction model:对潜在空间特征进行循环去噪
      [图片]

3.2 Coarse-to-Fine Latent Diffusion

  • 训练过程使用到的数据:原始pose、原始image、目标pose、目标image
  • Architecture:
    • Hs:image decoder,例如swim-transformer,对原始image进行解码;
    • HD:Perception-Refined Decoder,于image特征交互学习一组tokens,作为condition;
    • HA:Hybrid-Granularity Attention module,将image encoder的多尺度特征映射为偏置项;
    • Hp:pose adapter,由一些ResNet blocks构成,生成的特征被加到Unet(不需要微调);
  • Perception-Refined Decoder:
    • 人像有一些常见特征,例如body parts、age、gender、hairstyle、clothing…
    • 这些常见特征启发本文通过一组固定的learnable queries去表征人像的语意,并作为SD的conditional embedding;
  • Hybrid-Granularity Attention:
    • 为了控制生成图片的纹理细节;
    • 在上采样block中,将多尺度图像特征编码(K transformer layers with a zero convolution)为cross-attention中Q值(noise image)对bias:
      [图片]

3.3 Optimization

  • 重建损失(重建原图):
    [图片]

  • mse损失(生成目标图像):
    [图片]

[图片]

  • 噪声采样:随机高斯噪声
  • 积累无分指导增强(训练过程中一定概率丢弃源图像或者目标pose):
    [图片]

4 Experience

4.1 Quantitative Comparison

  • 高精度
    [图片]

  • 高效
    [图片]

4.2 Qualitative Comparison

[图片]

4.3 User Study

  • 招募用户进行判别:
    • R2G:真实图片被认为是生成的;
    • G2R:生成图片被认为是真实的;
    • Jab:每个志愿者都被要求从不同方法生成的图像中选择与地面真相最匹配的(+34.9);
      [图片]

4.4 Ablation Study

  • B1:其他diffusion-based方法中,将多尺度外观信息作为条件;
  • B2:使用CLIP为源图像生成描述性粗粒度提示;
  • B3:Ours - bias;
  • B4:Ours - bias + Q(开放可学习);
  • B5:去除PRD模块,只使用Swin Transformer的特征作为条件;
    [图片]

[图片]

  • 可视化:
    [图片]

4.5 Appearance Editing

  • 风格迁移:将参考图片感兴趣的区域(要迁移的服饰)mark出来作为一个二值mask,即m,加入到noise prediction process(保留原图的脸,加入参考图的衣服):
    [图片]

  • 风格插值:支持粗粒度提示和细粒度外观偏差的线性插值
    [图片]

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

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

相关文章

reverse_iterator实现

对于实现reverse_iterator&#xff0c;我们可以学栈和队列的实现过程&#xff0c;利用适配器&#xff0c;实现如下; #pragma oncetemplate<class Iterator,class Ref,class Ptr> class reverse_Iterator { public://构造函数&#xff1a;reverse_Iterator(Iterator it):…

阿里春招必看:Spring面试题全解析,详尽到每个角落!99%的Java工程师都在收藏!

在迈入2024年的春季招聘季节之际&#xff0c;阿里巴巴再次展开了对优秀技术人才的寻觅。作为一家全球领先的技术创新企业&#xff0c;阿里巴巴对候选人的技术能力和创新思维有着极高的要求&#xff0c;尤其是在软件开发领域。Spring框架&#xff0c;作为Java企业级应用开发的重…

mudo服务器测试一

目录 长连接测试 测试代码 客户端 服务端 超时连接测试 测试代码 客户端 服务端 错误请求测试 测试代码 场景一 客户端 服务端 场景二 客户端 服务端 长连接测试 测试代码 /*长连接测试1: 创建一个客户端持续给服务器发送数据,直到超过时间看是否正常*/ #inc…

实用工具推荐----geek 卸载软件的神器

Geek Uninstaller 是一款软件卸载工具。它提供简单易用的界面和强大的卸载功能&#xff0c;能快速扫描和识别应用程序&#xff0c;并彻底删除与之相关的文件和注册表项&#xff0c;确保完全清除应用程序。它还可以监视应用程序安装过程&#xff0c;并记录创建的文件和注册表项…

计算机组成原理练习-计算机性能指标

CPU时间与IO时间 ------------------------------------------------------------------------------------------------------------------------------- 1.假定基准程序A在某计算机上的运行时间为100秒&#xff0c;其中90秒为CPU时间&#xff0c;其余 为l/O时间。若CPU速度…

WebGIS之实现查询地区天气并让地区高亮

一.预览>> 二.思路>> 根据搜索框的内容来进行页面视角的切换&#xff0c;对应的地区高亮&#xff0c;右边有关天气的地方实时更新&#xff0c;并且因为代码体量非常小&#xff0c;并没有选择在框架下完成。直接一个html文件搞定了&#xff0c;但实际上还是有一些坑…

2022蓝桥杯/修剪灌木/c\c++

问题描述 爱丽丝要完成一项修建灌木的工作。有N棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晚会修剪一棵灌木&#xff0c;让灌木的高度变为0厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始&#xff0c;每天向右修剪一棵灌木。当修剪了最右侧的灌木后&#xff0c;它会调转方…

爬虫的基本原理介绍,实现以及问题解决

爬虫 基本原理实现方式问题解决额外考虑 爬虫是一种自动化程序&#xff0c;用于从互联网上收集信息。其基本原理是模拟人类用户在网页上的浏览行为&#xff0c;通过发送HTTP请求获取网页内容&#xff0c;然后解析和提取所需的信息。 基本原理 发送请求&#xff1a; 爬虫首先向…

带有超令牌采样的视觉转换器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 摘要Abstract文献阅读&#xff1a;带有超令牌采样的视觉转换器1、研究背景2、方法提出3、优势4、实验5、贡献 二、StokenAttention代码学习 摘要 本周主要阅读了CV…

Elasticsearch数据存储优化方案

优化Elasticsearch数据存储有助于提升系统性能、降低成本、提高数据查询效率以及增强系统的稳定性和可靠性。通常我们再优化Elasticsearch数据存储会遇到一些问题&#xff0c;导致项目卡壳。以下是优化Elasticsearch数据存储的一些重要作用&#xff1a; 1、问题背景 在某些场景…

ARTS Week 21

Algorithm 本周的算法题为 565. 数组嵌套 索引从0开始长度为N的数组A&#xff0c;包含0到N - 1的所有整数。找到最大的集合S并返回其大小&#xff0c;其中 S[i] {A[i], A[A[i]], A[A[A[i]]], ... }且遵守以下的规则。 假设选择索引为i的元素A[i]为S的第一个元素&#xff0c;S…

AI系统性学习03—ChatGPT开发教程

文章目录 1、OpenAI关键概念⭐️2、OpenAI SDK介绍3、OpenAI API KEY&API 认证3.1 REST API安全认证 4、OpenAI模型⭐️4.1 模型分类4.2 GPT44.3 GPT-3.54.4 Embeddings 5、OpenAI快速入门6、Function calling(函数调用)⭐️⭐️⭐️6.1 应用场景6.2 支持function calling的…

打破传统,拥抱未来:解锁企业数字化转型成功的11把金钥匙

数字化转型是一个持续的过程&#xff0c;需要企业不断地适应新技术和市场变化。企业如何提高转型成功的可能性&#xff0c;并在竞争激烈的市场中保持领先地位。今天我们来解锁企业数字化转型成功的11把金钥匙。 清晰的战略目标&#xff1a; 首先&#xff0c;企业需要明确数字化…

如何高效接入 Flink: Connecter / Catalog API 核心设计与社区进展

本文整理自阿里云实时计算团队 Apache Flink Committer 和 PMC Member 任庆盛在 FFA 2023 核心技术专场&#xff08;二&#xff09;中的分享&#xff0c;内容主要分为以下四部分&#xff1a; Source APISink API将 Connecter 集成至 Table /SQL APICatalog API 在正式介绍这些 …

Vue3项目随笔

目录 富文本编辑器 [ vue-quill ]的使用步骤 1&#xff0c;安装包 2&#xff0c;注册成局部组件 3&#xff0c;页面中绑定使用 4&#xff0c;样式美化 5&#xff0c;涉及表单内容 富文本内容的清空 富文本编辑器 [ vue-quill ]的使用步骤 1&#xff0c;安装包 pnpm add…

CornerStone之读取txt文件点数据

1. 页面标签 页面中目前只提供一个按钮来进行输入文件 <input click"importZeroOne" type"file" />2. 函数定义 在输入文件之后&#xff0c;执行importZeroOne函数&#xff0c;获得输入的文件&#xff0c;进行以下处理 const importZeroOne((eve…

Vue-Vuex

文章目录 vuex是什么什么时候使用Vuex原理Vuex环境搭建实例操作 vuex是什么 1.专门在vue中实现集中式状态&#xff08;数据&#xff09;管理的一个vue插件&#xff0c;对vue应用中多个组件的共享状态进行集中式的管理&#xff08;读/写&#xff09;&#xff0c;也是一种组件之…

【Django框架学习笔记】超详细的Python后端开发Django框架学习笔记

十二&#xff0c;Django框架 可以以下链接获取Django框架学习笔记,md文档和pdf文档 Django框架超详细的学习笔记&#xff0c;点击我获取 12.1 命令行操作 # 创建django项目 django-admin startproject aini# 启动项目 cd /mysite python3 manage.py runserver## 创建应用 …

23双体系Java学习之字符串的常用操作和==,equals的区别

字符串的常用操作 toCharArray的基本用法&#xff0c;将字符串转变成数组 String str "Hello, World!"; char[] charArray str.toCharArray(); charAt的基本用法 &#xff0c;接受一个整数索引作为参数&#xff0c;并返回该索引位置的字符。 String str "…

Vue+SpringBoot打造康复中心管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 普通用户模块2.2 护工模块2.3 管理员模块 三、系统展示四、核心代码4.1 查询康复护理4.2 新增康复训练4.3 查询房间4.4 查询来访4.5 新增用药 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的康复中…