AIGC 003-Controlnet升级你的SD让图像生成更加可控!

AIGC 003-Controlnet升级你的SD让图像生成更加可控!


文章目录

    • 0 论文工作
    • 1 论文方法
    • 2 效果

0 论文工作

ControlNet 论文 (Adding Conditional Control to Text-to-Image Diffusion Models) 提出了一种名为 ControlNet 的神经网络结构,旨在为大型文本到图像扩散模型提供更精细的控制。 它允许用户通过额外的输入条件 (例如边缘图、深度图、人体姿态) 来引导图像生成过程,同时保持扩散模型原有的生成能力和图像质量。
作者提出了一个神经网络结构,控制网,以控制预先训练的大型扩散模型,以支持额外的输入条件。控制网在端到端学习过程中学习特定于任务的条件即使训练数据集很小(< 50k),学习也是鲁棒的。此外,训练一个控制网的速度和微调一个扩散模型的速度一样快,而且该模型可以在性能一般的设备上进行,作者是在3090系列上进行。或者,如果有强大的计算集群可用,该模型可以扩展到大量(数百万到数十亿)的数据。作者证明想扩散模型这样的大模型可以被Controlnet增强,以使用不同条件输入,如边缘图,语义图,关键点,深度图等。这可能会丰富控制大型扩散模型的方法,并进一步提供便利相关应用程序。
这个工作是我们在LoRA中提到的另外一种调整大模型的方法,就是超网络,用小网络控制网络。
论文链接
github

1 论文方法

ControlNet 的核心思想是将一个可训练的副本网络与冻结的预训练扩散模型相结合。 副本网络与扩散模型具有相同的架构,但参数独立训练。 它接收额外的输入条件,并通过 “零卷积” 层将其信息传递给扩散模型。lora和controlnet在形式上都像是残差的跳跃连接,在原输入输出不变的情况下增加一个额外的因子。
在这里插入图片描述
a. 副本网络 (ControlNet):
架构: 副本网络与预训练扩散模型具有相同的架构,例如 Stable Diffusion 中的 U-Net。
参数: 副本网络的参数独立于扩散模型进行训练,不会改变预训练模型的权重。
输入: 副本网络接收额外的输入条件,例如 Canny 边缘图、深度图、人体姿态等。
零卷积: 副本网络使用 “零卷积” 层将学习到的条件信息传递给扩散模型。零卷积层是一系列 1x1 卷积层,初始权重为零,在训练过程中逐渐学习。
b. 扩散模型:
冻结权重: 扩散模型的权重被冻结,不进行梯度更新,以保持其预训练的生成能力。
条件注入: 副本网络通过零卷积层将条件信息注入到扩散模型的编码器和解码器中。
c. 训练过程:
联合训练: 副本网络和扩散模型联合训练,以最小化条件图像和生成图像之间的差异。
损失函数: ControlNet 使用与原始扩散模型相同的损失函数,例如变分下界 (ELBO) 或其他图像相似度指标。
2. 优势:
精细控制: ControlNet 允许用户通过额外的输入条件对图像生成过程进行精细控制,例如控制物体的形状、姿势、布局等。
保持图像质量: 由于扩散模型的权重被冻结,ControlNet 能够保持预训练模型的生成能力和图像质量。
易于使用: ControlNet 的使用非常简单,只需将额外的输入条件传递给副本网络即可。
多功能性: ControlNet 可以与各种类型的条件信息一起使用,例如边缘图、深度图、语义分割图、人体姿态等。
3. 缺点:
需要额外的条件输入: ControlNet 需要用户提供额外的条件输入,这可能需要额外的预处理步骤。
计算成本: 使用 ControlNet 会增加训练和推理的计算成本,因为需要运行额外的副本网络。
并非所有条件都适用: ControlNet 的效果取决于所使用的条件类型和质量。并非所有条件都能有效地引导图像生成过程。
5. 应用:
ControlNet 已经成为文本到图像生成领域的一个重要工具,并被广泛应用于各种场景,例如:
图像编辑: 使用 ControlNet 可以对图像进行各种编辑操作,例如改变物体的形状、姿势、布局等。
风格迁移: 可以使用 ControlNet 将一种图像的风格迁移到另一种图像上,同时保持内容的一致性。
图像修复: 可以使用 ControlNet 修复损坏的图像,例如填充缺失的部分或去除不需要的物体。
动画生成: 可以使用 ControlNet 从一系列关键帧生成流畅的动画。

2 效果

可以在作者的github种看到更多效果。
请添加图片描述

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

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

相关文章

StackExchange.Redis跑起来,为什么这么溜?

StackExchange.Redis 是一个高性能的 Redis 客户端库&#xff0c;主要用于 .NET 环境下与 Redis 服务器进行通信&#xff0c;大名鼎鼎的stackoverflow 网站就使用它。它使用异步编程模型&#xff0c;能够高效处理大量请求。支持 Redis 的绝大部分功能&#xff0c;包括发布/订阅…

创意学习剪辑利器:一键添加动图水印,轻松提升视频专业度与创意新境界!

在数字化时代&#xff0c;视频已成为我们生活中不可或缺的一部分。无论是学习分享、工作展示还是生活记录&#xff0c;视频都以其直观、生动的形式&#xff0c;赢得了广大用户的喜爱。然而&#xff0c;如何在众多的视频中脱颖而出&#xff0c;展现出自己的专业度和创意&#xf…

[AI OpenAI] OpenAI 安全更新

AI 首尔峰会中分享我们的实践 我们自豪地构建并发布了在能力和安全性方面都处于行业领先地位的模型。 超过一亿用户和数百万开发者依赖于我们安全团队的工作。我们将安全视为我们必须在多个时间范围内投资并取得成功的事项&#xff0c;从使今天的模型与我们未来预期的更具能力…

谷歌浏览器使用vue插件查看表单提交的数据

1.查看组件&#xff1a; 对应代码里主页面引用的组件名&#xff1a; 表单名称&#xff0c;对应组件里form表单名&#xff1a; 左边的层次结构&#xff1a; 右边层次结构&#xff1a;

Excel/WPS《超级处理器》同类项处理,合并同类项与拆分同类项目

在工作中处理表格数据&#xff0c;经常会遇到同类项处理的问题&#xff0c;合并同类项或者拆分同类项&#xff0c;接下来介绍使用超级处理器工具如何完成。 合并同类项 将同一列中的相同内容合并为一个单元格。 1&#xff09;用分隔符号隔开 将AB列表格&#xff0c;合并后为…

Spring中@Component注解

Component注解 在Spring框架中&#xff0c;Component是一个通用的注解&#xff0c;用于标识一个类作为Spring容器管理的组件。当Spring扫描到被Component注解的类时&#xff0c;会自动创建一个该类的实例并将其纳入Spring容器中管理。 使用方式 1、基本用法&#xff1a; Co…

企业微信hook接口协议,ipad协议http,已读消息

已读消息 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信send_userid是long要发送的人idisRoom是bool是否是群消息 请求示例 {"uuid":"1753cdff-0501-42fe-bb5a-2a4b9629f7fb","send_userid":788130255…

Unity学习日志

目录 获取相机可视范围的世界坐标(2D) 视口转世界坐标和屏幕转世界坐标的区别: 屏幕转世界坐标 视口转屏幕坐标 视口转屏幕结合3D数学实现可视范围的怪物生成 transform.up游戏对象的方向问题 其实还有一种不用Translate的写法: 修改 transform.up 的行为和影响 C#抽象…

全国各城市间驾车耗时和距离矩阵数据集(更新至2022年)

数据简介&#xff1a;城市之间距离越远&#xff0c;耗时越长。经济发达地区的交通状况较好。各城市之间的驾车耗时和距离存在差异。有些城市之间的交通非常便捷&#xff0c;而有些城市之间的交通则较为不便。这表明中国的交通网络发展尚不平衡&#xff0c;需进一步优化。特别是…

Excel如何统计非数值内容行数

需要用到sum函数&#xff0c;具体公式如下&#xff1a; SUM(IF(ISNONTEXT(G4:G199),0,1))

Go 语言简介 -- 高效、简洁与现代化编程的完美结合

在现代软件开发领域&#xff0c;选择合适的编程语言对于项目的成功至关重要。Go 语言&#xff08;又称 Golang &#xff09;自 2009 年由Google发布以来&#xff0c;以其简洁的语法、高效的并发模型以及强大的性能&#xff0c;迅速成为开发者们的新宠。Go语言不仅融合了传统编译…

icloud照片怎么恢复到相册?2个方法,轻松解决烦恼

在现代生活中&#xff0c;照片承载着我们的回忆和珍贵的时刻&#xff0c;而iCloud提供了便捷的云存储服务&#xff0c;让用户可以方便地备份和同步手机上的照片、视频等文件。 然而&#xff0c;有时候我们可能会不小心删除了在iCloud上的照片&#xff0c;或者想要将iCloud照片…

使用B2M 算法批量将可执行文件转为灰度图像

参考论文 基于二进制文件的 C 语言编译器特征提取及识别 本实验使用 B2M 算法将可执行文件转为灰度图像&#xff0c;可执行文件转为灰度图的流程如图 4-3 所示。将 可执行文件每 8 位读取为一个无符号的的整型常量&#xff0c;一个可执行文件得到一个一维向量&#xff0c; …

基于51单片机多功能太阳能充电器设计

1 绪论1.1 本课题研究背景及现状 当代社会随着一些不可再生资源如煤炭&#xff0c;石油等日益减少&#xff0c;使得各国社会经济越来越受能源问题的约制&#xff0c;因此许多国家开始逐渐的实行“阳光计划”&#xff0c;开发洁净的能源如太阳能&#xff0c;用以成为本国经济发…

ANOVA方差分析是什么?优思学院教你如何正确使用

ANOVA&#xff08;方差分析&#xff09;是一种统计方法&#xff0c;用来研究三个或三个以上样本平均数的差异是否显著。它可以帮助研究者判断不同组间的均值是否存在统计学上的显著差异。简单来说&#xff0c;如果我们想比较多个不同处理或条件对某个变量的影响&#xff0c;ANO…

【网络层】网络攻击 ARP 欺骗

文章目录 ARP 欺骗原理实战体验 ARP 欺骗原理 ARP&#xff08;地址解析协议&#xff09;欺骗是一种网络攻击技术&#xff0c;它利用了ARP协议的工作机制来欺骗网络中的主机。ARP协议用于将IP地址转换为物理MAC地址&#xff0c;以便在局域网内部进行数据包的传输。ARP欺骗的基本…

微信小程序毕业设计-跑腿系统项目开发实战(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

可监测的到手价范围

在品牌进行电商价格监测时&#xff0c;对优惠信息范围的关注至关重要。优惠促销的形式多样&#xff0c;会直接影响到消费者最终的到手价。因此&#xff0c;为了更准确地计算到手价&#xff0c;品牌需要确保监测的促销信息尽可能全面。 不同的电商平台&#xff0c;其优惠形式可…

揭秘APP广告变现的高效秘诀:如何让你的APP更赚钱?

在数字化时代&#xff0c;APP已成为人们获取信息、娱乐休闲的重要平台。对于许多内容创作者来说&#xff0c;如何通过APP实现盈利&#xff0c;是一个亟待解决的问题。而APP广告变现项目&#xff0c;正是其中一种备受关注的盈利模式。那么&#xff0c;如何有效地利用APP广告变现…

python数据分析:爬取某东商城商品评论数据并做词云展示(含完整源码及详细注解)

python数据分析,爬取某东商城商品评论数据并做词云展示。 一、明确爬取的网页及结构 找到要爬取的网页地址,发现有一个获取json格式评论数据的接口: url = "https://club.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98&productId=217…