【扩散模型(二)】IP-Adapter 从条件分支的视角,快速理解相关的可控生成研究

系列文章目录

  • 【扩散模型(一)】中介绍了 Stable Diffusion 可以被理解为重建分支(reconstruction branch)和条件分支(condition branch)
  • 本文将从该视角快速理解 IP-Adapter 以及相关可控生成研究。

文章目录

  • 系列文章目录
  • 前言
  • 一、IP-Adapter
  • 二、InstantID
  • 三、MimicBrush
  • 总结


前言

上一篇文章提到可以从两个分支来看 Stable Diffusion 1,其中:

  • 重建分支(reconstruction)负责从噪声中逐步重建出清晰的图像。
  • 条件分支(condition)则引入额外的信息或条件,指导图像的生成过程,使得生成结果符合特定的要求。

在这里插入图片描述
从该视角,可以快速地理解基于 SD 的类似可控生成模型,重点都是在修改 condition 分支的部分,通过修改 corss-attention 中的 QKV 来更好地引入控制条件。

一、IP-Adapter

在这里插入图片描述
IP-Adapter 2 则可以看为很好地引入了图像 condition 来引导去噪过程,其核心部分是有效地将图像与文字条件信息通过 Decouple Cross-Attention 来注入 U-Net。

二、InstantID

在这里插入图片描述
InstantID3 在 IP-Adapter 的基础上(condition1 从一般的 image encoder 换成了针对 face 的 encoder),多训练了一个 U-Net 的一半(即 ControlNet),并在其中加入了人脸的 landmark 来很好地约束 FaceID 信息,提升了生成时的人脸可控性。

三、MimicBrush

在这里插入图片描述
MimicBrush 4 类似 InstantID,增加了一个 Reference Un-Net 作为条件分支来引入控制条件,而 MimicBrush 与 IP-Adapter、InstantID 的不同点在于:

  • MimicBrush 的重建分支中,是从图像输入(Source Image)来进行重建,即先加噪、再去噪的。
  • 而 IP-Adapter、InstantID 的重建分支中,是直接输入 noise 随机噪声,通过 U-Net 对其进行去噪声的。

总结

有了以上多篇论文架构图的例子,应该能很快识别各种基于 IP-Adapter 的可控生成工作啦!🎉


  1. High-Resolution Image Synthesis with Latent Diffusion Models ↩︎

  2. IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models ↩︎

  3. InstantID: Zero-shot Identity-Preserving Generation in Seconds ↩︎

  4. Zero-shot Image Editing with Reference Imitation ↩︎

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

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

相关文章

飞睿uwb芯片厂商,室内轨迹跟踪定位模块,人员、车辆和物资定位测距数据传输

在科技日新月异的今天,定位技术已经渗透到了我们生活的方方面面。从智能手机到自动驾驶汽车,再到智能仓储管理,定位技术都发挥着不可或缺的作用。然而,传统的GPS定位技术在室内环境中往往面临信号受阻、精度不足等问题。此时&…

vue:响应式原理解析,深入理解vue的响应式系统

一、文章秒读 vue的响应式系统核心有两个,简单描述就是: 1.在数据变化时重新render依赖相关函数(组件)。 2.在vue2和vue3中分别使用Object.defineProperty和Proxy进行对象属性的读写。 数据变化时: 二、什么是响应…

领夹麦买哪个牌子的好用点?一文看懂领夹麦克风什么牌子的好

自媒体时代的兴起,给了普通人很多的机会,尤其短视频的兴起更是让无数热情,有创作之心的人跃跃欲试。于是乎越来越多的人纷纷拿起了手机到各个平台去展示自己的才华,或者通过vlog记录分享自己的简单生活。 不过在分享和创作的输出时…

MYSQL 将某个字段赋值当前时间

如 我们需要将use_time 赋值为当前时间: 准备三条数据 : 执行sql ,2种当前时间赋值函数,1种关键字赋值 : update test_info SET use_timeNOW() WHERE id 1; update test_info SET use_timeCURRENT_TIMESTAMP() …

React+TS前台项目实战(十九)-- 全局常用组件封装:带加载状态和清除等功能的Input组件实现

文章目录 前言Input组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天我们来封装一个input输入框组件,并提供一些常用的功能,你可以选择不同的 尺寸、添加前缀、显示加载状态、触发回调函数、自定义样式 等等。这些功能在这个项目中…

【面试干货】Java中==和equals()的区别

【面试干货】Java中和equals()的区别 1、操作符2、equals()方法3、总结 💖The Begin💖点点关注,收藏不迷路💖 在Java中,和equals()是两个常用的比较操作符和方法,但它们之间的用法和…

微服务+云原生:打造高效、灵活的分布式系统

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、云原生概述 2、微服务概述 二、微服务架构基础 1、…

springboot学习03-[Spring Boot与Web开发]

Spring Boot与Web开发 RestTemplateMockMvc在SPringBoot中使用 SpringBoot整合swagger2SpringBoot的springmvc自动配置底层原理包含ContentNegotiatingViewResolver和BeanNameViewResolverContentNegotiatingViewResolverBeanNameViewResolver 支持提供静态资源,包括…

Firefox 编译指南2024 Windows10篇- 源码获取(二)

1. 引言 在成功准备了编译环境之后,下一步就是获取Firefox的源码。源码是编译任何软件的基础,对于开源项目如Firefox尤其重要。通过获取并理解源码,开发者不仅能够编译出自定义版本的Firefox,还能对其进行修改和优化,…

element-ui侧边栏:default-openeds

element-ui侧边栏实现路由跳转后展开对应侧边栏:default-openeds 当菜单是在本地写死时,如果想展开第一块内容、里面就只写1 :default-openeds"[‘1’]" 当菜单是动态获取时,点击跳转之后如何展开对应的菜单,在watch中监…

如何提高pcdn技术的传输效率?

提高PCDN技术的传输效率是一个复杂且多层面的任务,涉及多个关键策略和方法的结合。以下是一些具体的建议和措施,有助于提升PCDN技术的传输效率: 一.优化缓存策略: 精准定位热点内容,优先将这部分内容缓存…

Unity Apple Vision Pro 开发(三):visionOS 应用形态

文章目录 📕教程说明📕常用名词解释📕visionOS 空间类型⭐Shared Space 共享空间⭐Full Space/Immersive Space 独占空间 📕visionOS 渲染框架📕Unity 开发 visionOS 应用的不同模式⭐**窗口模式**⭐VR 模式⭐MR 模式 …

Python数据分析-电信客户流量预测与分析

一、背景介绍 研究背景:在快速发展和高度竞争的电信行业中,客户流失已成为运营商面临的主要挑战之一。电信服务的普及和用户选择的多样性使得保持客户忠诚度变得越来越困难。在这种背景下,准确预测客户流失并采取相应措施,对于运…

深入理解Java中的Collectors(Stream流)

引言 在 Java 的 Stream API 中,Collectors 是一个非常强大的工具类,它提供了许多静态方法,用于将 Stream 的元素收集到集合、字符串或其他类型的结果中。使用 Collectors,我们可以轻松地进行数据聚合和转换操作。 文章目录 引言…

【threejs】火焰特效制作

2024-06-26 08-57-16火焰 shader 来源 //shadertory:https://www.shadertoy.com/view/ctVGD1//shadertory:https://www.shadertoy.com/view/ml3GWs 代码 import { DoubleSide, ShaderChunk, ShaderMaterial } from "three";export default fu…

华为OD机试【高矮个子排队】(java)(100分)

1、题目描述 现在有一队小朋友,他们高矮不同,我们以正整数数组表示这一队小朋友的身高,如数组{5,3,1,2,3}。 我们现在希望小朋友排队,以“高”“矮”“高”“矮”顺序排列,每一个“高”位置的小朋友要比相邻的位置高或…

利用BFS解决每个零售店到仓库最短距离之和问题

1、题目 矩阵中有3种类型:0仓库,-1障碍,1零售店。现在每个零售店要去距离它最近的仓库取货物,请计算出所有零售店到最近仓库距离之和,假设矩阵中每个单元格之间距离为1。如果遇到障碍物,则表示无法通过。可…

图神经网络实战(15)——SEAL链接预测算法

图神经网络实战(15)——SEAL链接预测算法 0. 前言1. SEAL 框架1.1 基本原理1.2 算法流程 2. 实现 SEAL 框架2.1 数据预处理2.2 模型构建与训练 小结系列链接 0. 前言 我们已经学习了基于节点嵌入的链接预测算法,这种方法通过学习相关的节点嵌…

2024年上半年软件设计师上午真题及答案解析

1.在计算机网络协议五层体系结构中,( B )工作在数据链路层。 A.路由器 B.以太网交换机 C.防火墙 D.集线器 网络层:路由器、防火墙 数据链路层:交换机、网桥 物理层:中继器、集线器 2.软件交付之后&#xff…

数据可视化期末考试(编程)

1.KNN 1.新增数据的分类 import pandas as pd # 您的原始数据字典 data { 电影名称: [电影1, 电影2, 电影3, 电影4, 电影5], 打斗镜头: [10, 5, 108, 115, 20], 接吻镜头: [110, 89, 5, 8, 200], 电影类型: [爱情片, 爱情片, 动作片, 动作片, 爱情片] } …