【可控图像生成系列论文(二)】MimicBrush 港大、阿里、蚂蚁集团合作论文解读2

【可控图像生成系列论文(一)】简要介绍了论文的整体流程和方法,本文则将就整体方法模型结构训练数据纹理迁移进行详细介绍。

在这里插入图片描述

1.整体方法

MimicBrush 的整体框架如下图所示。为了实现模仿编辑,作者设计了一种具有双扩散模型的架构,并以自监督的方式进行训练。视频数据本身包含自然一致的内容,同时也展示了视觉变化,例如同一只狗的不同姿势。
在这里插入图片描述

  • 因此,作者从视频片段中随机选择两个帧作为 MimicBrush 的训练样本。一帧作为源图像,作者在其某些区域上进行遮罩。另一帧作为参考图像,帮助模型恢复被遮罩的源图像。
    • 通过这种方式,MimicBrush 学会了定位相应的视觉信息(例如狗的脸),并将其重新绘制到源图像的遮罩区域中。
    • 为了确保重新绘制的部分能够与源图像和谐融合,MimicBrush 还学习将视觉内容转移到相同的姿势、光照和视角下
    • 值得注意的是,这样的训练过程是基于原始视频片段进行的,不需要文本或跟踪注释,并且可以通过大量视频轻松扩展。
  • MimicBrush 利用双分支的 U-Nets,即模仿 U-Net 和参考 U-Net,分别以源图像和参考图像为输入。这两个 U-Nets 在注意力层中共享它们的键和值,并被训练以从参考图像中寻找指示来复原被遮罩的源图像。
    • 作者还对源图像和参考图像进行数据增强,以增加它们之间的区别。
    • 同时,从未被遮罩的源图像中提取深度图,并将其作为可选条件添加到模仿 U-Net 中。通过这种方式,在推理过程中,用户可以决定是否启用源图像的深度图,以保留原始源图像中物体的形状

2.模型结构

框架主要包括模仿 U-Net、参考 U-Net 和深度模型。

模仿 U-Net

  • 模仿 U-Net 是基于 stable diffusion-1.5-inpainting1 模型初始化的。它以一个具有 13 个通道的张量作为输入。
  • 图像潜变量(4 个通道)负责从初始噪声一步步扩散到输出潜变量代码。作者还连接了一个二进制遮罩(1 个通道)以指示生成区域,以及被遮罩源图像的背景潜变量(4 个通道)。此外,作者将深度图投射到一个(4 通道)深度潜变量,以提供形状信息。
  • 原始 U-Net 还通过交叉注意力接收 CLIP 2 文本嵌入作为输入。在本研究中,作者用从参考图像中提取的 CLIP 图像嵌入替换了它。
  • 按照之前的研究 3 4,作者在图像嵌入之后添加了一个可训练的投射层。为了简化图示,图 3 中未包含此部分。在训练期间,模仿 U-Net 和 CLIP 投射层的所有参数都是可优化的。

参考 U-Net

  • 最近,一些研究 5 6 7 8 9 10 证明了利用额外的 U-Net 从参考图像中提取细粒度特征的有效性。
  • 在本研究中,作者应用了类似的设计并引入了一个参考 U-Net。它是基于标准 stable diffusion-1.5 11 初始化的。它采用参考图像的 4 通道潜变量来提取多层次特征。
  • 参考 12,作者在中间和上采样阶段将参考特征注入模仿 U-Net,通过将其键和值与模仿 U-Net 连接起来,如下公式所示。
    Attention = softmax ( Q i ⋅ cat ( K i , K r ) T d k ) ⋅ cat ( V i , V r ) \text{Attention} = \text{softmax}\left( \frac{Q_i \cdot \text{cat}(K_i, K_r)^T}{\sqrt{d_k}} \right) \cdot \text{cat}(V_i, V_r) Attention=softmax(dk Qicat(Ki,Kr)T)cat(Vi,Vr)
  • 通过这种方式,模仿 U-Net 可以利用参考图像的内容来完成源图像的遮罩区域。

深度模型

  • 作者利用 Depth Anything 13 来预测未遮罩源图像的深度图作为形状控制,这使 MimicBrush 能够进行纹理迁移
  • 作者冻结了深度模型并添加了一个可训练的映射器,将预测的深度图(3 通道)投射到深度潜变量(4 通道)。
  • 在训练期间,作者设定以 0.5 的概率将深度模型的输入设为全零图。因此,用户在推理过程中可以选择是否启用形状控制。

3.训练数据

  • 训练数据选择的要点:
  1. 首先,保证源图像和参考图像之间存在对应关系
  2. 其次,作者预计源图像和参考图像之间会有很大的变化,这对于寻找视觉对应关系的稳健性至关重要。
  • 如何确保“对应关系”?(数据选择)
  1. 在训练过程中,作者对同一视频中的两帧进行采样。参考前人的研究14,作者使用SSIM 15作为衡量视频帧之间的相似性的指标。
  2. 作者丢弃相似性过大或过小的帧(图片)对,以确保所选图像对包含语义对应和视觉变化。
  • 训练数据来源:
  1. 作者从 Pexels 16 等开源网站收集了10万个高分辨率视频。
  2. 为了进一步扩大训练样本的多样性,还使用SAM 17数据集,该数据集包含1000万张图像和10亿个对象掩码。作者通过对来自SAM的静态图像应用强数据增强来构建伪帧,并利用对象分割结果来掩蔽源图像。
  3. 在训练期间,视频和SAM数据的采样部分为70%,而默认情况下为30%。

如上图所示,训练数据中的源图像和参考图像都通过了一定的数据增强后,再被分别送入 U-Net 中。

  • 那么具体的数据增强是如何做的?
  1. 为了增加源图像和参考图像之间的变化,作者施加了较强的数据增强。
  2. 除了应用激进的颜色抖动、旋转、调整大小和翻转外,作者还实现了随机投影变换来模拟更强的变形。

4. 评估任务-纹理迁移

在这里插入图片描述

  • 纹理迁移需要严格保持源对象的形状,并且仅迁移参考图像的纹理/图案。
  • 为此任务,作者启用了深度图作为附加条件。与寻求语义对应的部分组合不同,在此任务中作者对完整对象进行遮罩,因此模型只能发现纹理(参考)和形状(源)之间的对应关系。
  • 作者还制定了 inter-ID 和 inner-ID 两类。
    • 前者涉及30个来自Pexels 18 的具有大变形的样本,比如将豹纹迁移到图4中的帽子上。
    • 后者包含DreamBooth 19 数据集中额外的30个示例。作者遵循与部分组合相同的数据格式和评估指标。

  1. R. Rombach, A. Blattmann, D. Lorenz, P. Esser, and B. Ommer. High-resolution image synthesis with latent diffusion models. In CVPR, 2022 ↩︎

  2. A. Radford, J. W. Kim, C. Hallacy, A. Ramesh, G. Goh, S. Agarwal, G. Sastry, A. Askell, P. Mishkin, J. Clark, et al. Learning transferable visual models from natural language supervision. In ICML, 2021. ↩︎

  3. X. Chen, L. Huang, Y. Liu, Y. Shen, D. Zhao, and H. Zhao. Anydoor: Zero-shot object-level image customization. CVPR, 2024. ↩︎

  4. H. Ye, J. Zhang, S. Liu, X. Han, and W. Yang. Ip-adapter: Text compatible image prompt adapter for text-to-image diffusion models. arXiv:2308.06721, 2023. ↩︎

  5. L. Zhang. Reference-only controlnet. https://github.com/Mikubill/sd-webui-controlnet/ discussions/1236, 2023. ↩︎

  6. L. Hu, X. Gao, P. Zhang, K. Sun, B. Zhang, and L. Bo. Animate anyone: Consistent and controllable image-to-video synthesis for character animation. CVPR, 2024. ↩︎

  7. Z. Xu, J. Zhang, J. H. Liew, H. Yan, J.-W. Liu, C. Zhang, J. Feng, and M. Z. Shou. Magicanimate: Temporally consistent human image animation using diffusion model. In CVPR, 2024. ↩︎

  8. M. Chen, X. Chen, Z. Zhai, C. Ju, X. Hong, J. Lan, and S. Xiao. Wear-any-way: Manipulable virtual try-on via sparse correspondence alignment. arXiv:2403.12965, 2024. ↩︎

  9. S. Zhang, L. Huang, X. Chen, Y. Zhang, Z.-F. Wu, Y. Feng, W. Wang, Y. Shen, Y. Liu, and P. Luo. Flashface: Human image personalization with high-fidelity identity preservation. arXiv:2403.17008, 2024. ↩︎

  10. Z. Xu, M. Chen, Z. Wang, L. Xing, Z. Zhai, N. Sang, J. Lan, S. Xiao, and C. Gao. Tunnel try-on: Excavating spatial-temporal tunnels for high-quality virtual try-on in videos. arXiv:2404.17571, 2024. ↩︎

  11. R. Rombach, A. Blattmann, D. Lorenz, P. Esser, and B. Ommer. High-resolution image synthesis with latent diffusion models. In CVPR, 2022 ↩︎

  12. Z. Xu, J. Zhang, J. H. Liew, H. Yan, J.-W. Liu, C. Zhang, J. Feng, and M. Z. Shou. Magicanimate: Temporally consistent human image animation using diffusion model. In CVPR, 2024. ↩︎

  13. L. Yang, B. Kang, Z. Huang, X. Xu, J. Feng, and H. Zhao. Depth anything: Unleashing the power of large-scale unlabeled data. In CVPR, 2024. ↩︎

  14. X. Chen, Z. Liu, M. Chen, Y. Feng, Y. Liu, Y. Shen, and H. Zhao. Livephoto: Real image animation with text-guided motion control. arXiv:2312.02928, 2023 ↩︎

  15. Z. Wang, A. C. Bovik, H. R. Sheikh, and E. P. Simoncelli. Image quality assessment: from error visibility to structural similarity. TIP, 2004. ↩︎

  16. The best free stock photos, royalty free images & videos shared by creators. https://www. pexels.com, 2024 ↩︎

  17. A. Kirillov, E. Mintun, N. Ravi, H. Mao, C. Rolland, L. Gustafson, T. Xiao, S. Whitehead, A. C. Berg, W.-Y. Lo, et al. Segment anything. In ICCV, 2023 ↩︎

  18. The best free stock photos, royalty free images & videos shared by creators. https://www. pexels.com, 2024 ↩︎

  19. N. Ruiz, Y. Li, V. Jampani, Y. Pritch, M. Rubinstein, and K. Aberman. Dreambooth: Fine tuning text-to-image diffusion models for subject-driven generation. In CVPR, 2023 ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Python】一文向您详细解析内置装饰器 @lru_cache

【Python】一文向您详细解析内置装饰器 lru_cache 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕&a…

QT-QPainter实现一个可切换的开关控件

1、效果 2、核心代码 #ifndef SWITCH_H #define SWITCH_H #include <QWidget> #include <QTimer>

GitLab项目组相关操作(创建项目组Group、创建项目组的项目、为项目添加成员并赋予权限)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。 君不见,黄河之水天上来,奔流到海不复回。 君不见,高堂明镜悲白发,朝如青丝暮成雪。 ——《将…

信息学奥赛初赛天天练-30CSP-J2022完善程序-结构体构造函数初始化、auto关键字、连通块、洪水填充算法实战

PDF文档公众号回复关键字:20240620 2022 CSP-J 阅读程序2 完善程序 (单选题 &#xff0c;每小题3分&#xff0c;共30分) 2 (洪水填充) 现有用字符标记像素颜色的8 * 8图像。颜色填充操作描述如下&#xff1a;给定起始像素的位置和待填充的颜色&#xff0c;将起始像素和所有可…

【JavaEE】Spring Boot MyBatis详解(二)

一.解决数据库字段名和对象属性名冲突的问题. 产生这个问题的本质原因就是Java 属性名和数据库字段的命名规范不同. 这个问题的本质就是查询数据库返回了字段,但是不知道和Java对象的哪个属性相对应 1.注解的解决方法 注解的解决方式有三种: 方式一:给数据库字段起别名. 本质…

QT-QPainter实现一个动态充电的电池

1、效果 2、核心代码 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTimer>

全网最全postman接口测试教程和项目实战~从入门到精通

Postman实现接口测试内容大纲一览&#xff1a; 一、什么是接口&#xff1f;为什么需要接口&#xff1f; 接口指的是实体或者软件提供给外界的一种服务。 因为接口能使我们的实体或者软件的内部数据能够被外部进行修改。从而使得内部和外部实现数据交互。所以需要接口。 比如&…

番外篇 | 基于改进YOLOv5的安全帽佩戴检测 | 重参数化结构RepVGG + 空间对象注意力机制RCS-OSA模块

前言:Hello大家好,我是小哥谈。RCS-YOLO是一种目标检测算法,它是基于YOLOv3算法的改进版本。通过查看RCS-YOLO的整体架构可知,其中包括RCS-OSA模块。RCS-OSA模块在模型中用于堆叠RCS模块,以确保特征的复用并加强不同层之间的信息流动。本文针对安全帽佩戴的检测就是基于RC…

[leetcode hot 150]第十五题,三数之和

题目&#xff1a; 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可以包含重复…

RSA 加密算法的基础数论、基本原理与 Python 实现

Title: RSA 加密算法的基础数论、基本原理与 Python 实现 文章目录 前言I. 数学原理1. 整数环2. 单位元3. 欧拉定理 II. 算法原理1. 扩展欧几里得算法2. RSA 非对称加密算法 III. 算法实现1. 源代码2. 测试结果 总结参考文献 前言 1977 年美国 MIT 的三位数学家 Ronald L. Riv…

startActivity启动流程

从桌面点击应用图标开始到Activity创建并执行onCreate&#xff0c;activity的启动涉及到两个进程system_server(AMS所在进程)和Zygote(如果进程没有创建需要先创建) 下图是从点击图标开始执行startActivity&#xff0c;一直到ActivityTaskSupervisor&#xff0c;到ActivityTas…

QT自定义标题栏窗口其二:实现拖动及可拉伸效果 + 顶部全屏/侧边半屏

1、效果 2、核心代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent<

CesiumJS整合ThreeJS插件封装

最近做项目有一个三维需求使用CesiumJS比较难以实现&#xff0c;发现THREEJS中效果比较合适&#xff0c;于是准备将THREEJS整合到CesiumJS中 为实现效果所需我们找到官方Integrating Cesium with Three.js博客&#xff0c;于是根据该博客提供的思路去实现整合 文章目录 一、创…

MySQL快速安装(mysql8.0.30区别之前yum安装)

目录 一.初始化环境并解压 二.创建程序用户管理 三.修改mysql目录和配置文件的权限 四.修改配置文件 五.设置环境变量&#xff0c;申明/宣告mysql命令便于系统识别 六.初始化数据库 七.设置系统识别&#xff0c;进行操作 八.初始化数据库密码 九.用户并设置密码 十.赋…

FinalReference 如何使 GC 过程变得拖拖拉拉

本文基于 OpenJDK17 进行讨论&#xff0c;垃圾回收器为 ZGC。 提示&#xff1a; 为了方便大家索引&#xff0c;特将在上篇文章 《以 ZGC 为例&#xff0c;谈一谈 JVM 是如何实现 Reference 语义的》 中讨论的众多主题独立出来。 FinalReference 对于我们来说是一种比较陌生的 R…

Python - 各种计算器合集【附源码】

计算器合集 一&#xff1a;极简版计算器二&#xff1a;简易版计算器三&#xff1a;不简易的计算器四&#xff1a;还可以计算器 一&#xff1a;极简版计算器 运行效果&#xff1a; import tkinter as tk import tkinter.messagebox win tk.Tk() win.title("计算器")…

如何高效应用与精准选择温补晶振

温补晶振(TCXO)是一种重要的时序元件&#xff0c;因其高精度和高稳定性在通信、导航、测控等多个领域中扮演着关键角色。晶发电子接下来将为您详细阐述温补晶振的选用和使用方法&#xff0c;助您更好地理解和运用这一核心元件。 一、温补晶振的工作原理 温补晶振能够实现在广…

绿茶集团重启IPO:流量渐退、业绩波动,还能讲出好故事吗?

近日&#xff0c;绿茶集团有限公司(下称“绿茶集团”)向港交所递交上市申请&#xff0c;花旗、招银国际为其联席保荐人。 回望绿茶集团的上市之路&#xff0c;可谓有诸多坎坷。该公司于2021年3月首度向港交所发起冲击&#xff0c;但却将中文版招股书中的“流动负债总额”错写成…

1.4自然语言的分布式表示-word2vec实操

文章目录 0写在前面1数据准备2CBOW模型结构的实现3交叉熵损失函数的前向计算3.1关于cross_entropy_error的计算3.2关于softmax 0写在前面 代码都位于&#xff1a;nlp&#xff1b;其他相关内容详见专栏&#xff1a;深度学习自然语言处理基础_骑着蜗牛环游深度学习世界的博客-CS…

深度学习模型训练中 学习率参数 设置大小问题及设置合适值

&#x1f4aa; 专业从事且热爱图像处理&#xff0c;图像处理专栏更新如下&#x1f447;&#xff1a; &#x1f4dd;《图像去噪》 &#x1f4dd;《超分辨率重建》 &#x1f4dd;《语义分割》 &#x1f4dd;《风格迁移》 &#x1f4dd;《目标检测》 &#x1f4dd;《暗光增强》 &a…