ControlNet让SD变得可控

这篇具有很好参考价值的文章主要介绍了ControlNet让SD变得可控。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    ControlNet是一个用于深度神经网络的控制技术,它可以通过操作神经网络块的输入条件来控制神经网络的行为。在这里,“网络块”是指常用的神经层集合,例如“resnet”块、“conv-bn-relu”块、多头注意力块等。通过克隆神经网络块的参数并应用零卷积连接层来实现ControlNet的目标。

    ControlNet的副本与神经网络块的输入和输出是一致的,这使得在训练初始阶段,ControlNet不会对神经网络产生影响。零卷积的权重和偏置值都被初始化为零,这使得ControlNet在优化过程中不会影响权重和偏置值的梯度。神经网络块的能力和质量得到了保留,同时还能有效地进行优化和定制。

    ControlNet的原理是通过控制神经网络块的输入条件来调整神经网络的行为,并适应不同的任务和数据。每个神经网络块由一组参数来定义,这些参数可以在训练过程中进行优化。ControlNet使用特殊的卷积层来连接神经网络块,以达到快速优化的效果。

ControlNet让SD变得可控

ControlNet 应用于任意神经网络块。x; y 是神经网络中的深度特征。"+" 表示特征加法。"c" 是我们要添加到神经网络中的额外条件。"zero convolution" 是一个 1 × 1 卷积层,其权重和偏置都初始化为零

ControlNet结构可以表示为:

yc = F(x; α) + Z(F(x + Z(c;β_z1); β_c); β_z2)

其中yc是该神经网络块的输出结果。它等于F(x, α)的输出结果加上使用β_z2对F(x + Z(c, β_z1), β_c)应用Z的结果。这意味着,在第一次训练步骤中,神经网络块的可训练副本和锁定副本的所有输入和输出都与ControlNet不存在时一致。任何神经网络块的能力、功能和结果质量都得到完美保留,并且任何进一步的优化将变得像微调一样快(与从头开始训练这些层相比)。

在第一次训练步骤中,由于零卷积层的权重和偏置值都初始化为零,我们有:

Z(c; β_z1) = 0
F(x + Z(c; β_z1); β_c) = F(x; β_c) = F(x; α)
Z(F(x + Z(c; β_z1); β_c); β_z2) = Z(F(x; β_c); β_z2) = 0

这些方程表明,在第一次训练步骤中,神经网络块的可训练副本和锁定副本的所有输入和输出都与ControlNet不存在时一致。换句话说,当应用ControlNet到一些神经网络块时,在任何优化之前,它都不会对深度神经特征产生影响。任何神经网络块的能力、功能和结果质量都得到完美保留,并且任何进一步的优化将变得像微调一样快(与从头开始训练这些层相比)。

    ControlNet就像一个迭代的过程,通过重复应用ControlNet操作来优化神经网络块。这样,在每一步中,我们可以保持所有其他神经网络块不变,仅对某些神经网络块进行修改和调整。

    上一部分描述了ControlNet如何控制单个神经网络块,论文中作者是以Stable Diffusion为例子,讲了如何使用ControlNet对大型网络进行控制。下图可以看到控制Stable Diffusion的过程就是将Encoder复制训练,decoder部分进行skip connection。

ControlNet让SD变得可控

上图的“Zero Convolution”是带有零初始化权重和偏差的1×1卷积。在进行自己的模型训练开始之前,所有零卷积输出都是零,此时模型仍然是原始的Stable Diffusion Model。而在加入自己的训练数据之后,则会对最终数据产生影响,这里的影响,更多是对最终结果的微调,因此不会导致模型出现重大偏离的情况。

我们从整体的模型结构上可以看出,作者在Stable Diffusion 模型的decode层加入了上述“0卷积层”,以实现对最终模型与训练数据的一致性。

没错你没有看错,网络结构就是这么简单暴力,但有效。

现在放出来的controlnet模型大致有以下几个

1、通过Canny检测边缘,然后和SD1.5进行融合

ControlNet让SD变得可控

2、通过HED轮廓,搭配SD1.5

ControlNet让SD变得可控

3、灵魂画师搭配SD1.5

ControlNet让SD变得可控

4、HED边缘检测搭配SD1.5

ControlNet让SD变得可控

5、姿态检测搭配SD1.5

ControlNet让SD变得可控

6、图像分割搭配SD1.5

ControlNet让SD变得可控

7、Midas Depth搭配SD1.5

ControlNet让SD变得可控

下面我们将通过SD-WEBUI来进行简单演示:

首先根据我前面的图文这是你幻想中的女友吗 (qq.com)中安装插件的方式安装ControlNet插件

ControlNet让SD变得可控

1. 启用(Enable)

勾选此选项后,点击 “生成” 按钮时,ControlNet 才会生效。

2. 反色模式(Invert Input Color)

将图像颜色进行反转后应用。

3. RGB 转 BGR(RGB to BGR)

把颜色通道进行反转,在 NormalMap 模式可能会用到。

4. 低显存优化(Low VRAM)

低显存模式,如果你的显卡内存小于等于4GB,建议勾选此选项。

5. 无提示词的猜测模式(Guess Mode)

也就是盲盒模式,不需要任何正面与负面提示词,出图效果随机,很有可能产生意想不到的惊喜效果!

6. 预处理器(Preprocessor)

在此列表我们可选择需要的预处理器,每个 ControlNet 的预处理器都有不同的功能,后续将会详细介绍。

7. 模型(Model)

配套各预处理器需要的专属模型。该列表内的模型必须与预处理选项框内的名称选择一致,才能保证正确生成预期结果。如果预处理与模型不一致其实也可以出图,但效果无法预料,且一般效果并不理想。

8. 权重(Weight)

权重,代表使用 ControlNet 生成图片时被应用的权重占比。

9. 引导介入时机(Guidance Start(T))

在理解此功能之前,我们应该先知道生成图片的 Sampling steps 采样步数功能,步数代表生成一张图片要刷新计算多少次,Guidance Start(T) 设置为 0 即代表开始时就介入,默认为 0,设置为 0.5 时即代表 ControlNet 从 50% 步数时开始介入计算。

10. 引导退出时机(Guidance End(T))

和引导介入时机相对应,如设置为1,则表示在100%计算完时才会退出介入也就是不退出,默认为 1,可调节范围 0-1,如设置为 0.8 时即代表从80% 步数时退出介入。

11. 缩放模式(Resize Mode)

用于选择调整图像大小的模式:默认使用(Scale to Fit (Inner Fit))缩放至合适即可,将会自动适配图片。
一共三个选项:Just Resize,Scale to Fit (Inner Fit),Envelope (Outer Fit)

12. 画布宽度和高度(Canvas Width 和 Canvas Height)

画布宽高设置,请注意这里的宽高,并不是指 SD 生成图片的图像宽高比。该宽高代表 ControlNet 引导时所使用的控制图像的分辨率,假如你用 SD 生成的图片是 1000x2000 分辨率,那么使用 ControlNet 引导图像时,对显存的消耗将是非常大的;我们可以将引导控制图像的分辨率设置为 500x1000 ,也就是缩放为原本图像一半的分辨率尺寸去进行引导,这有利于节省显存消耗。

13. 创建空白画布(Create Blank Canvas)

如果之前使用过 ControlNet 功能,那么将会在 ControlNet 的图像区域留有历史图片,点击该按钮可以清空之前的历史,也就是创建一张空白的画布。

14. 预览预处理结果(Preview Annotator Result)

点击该按钮可以预览生成的引导图。例如:如果使用 Canny 作为预处理器,那么点击该按钮之后,可以看到一张通过 Canny 模型提取的边缘线图片。

15. 隐藏预处理结果(Hide Annotator Result)

点击该按钮可以隐藏通过 Preview 按钮生成的预览图像窗口(不建议隐藏)

我们从openpose姿态开始,首先我们还是参照前面插件安装的方式安装openpose插件用来生成姿态图

ControlNet让SD变得可控

然后将将图片发送到文生图,剩下的就是之前的SD操作,我们选择的模型是NED,可以通过 这是你幻想中的女友吗 (qq.com)中的介绍在civit下载模型。

                ControlNet让SD变得可控ControlNet让SD变得可控

然后将生成的图片拖入ControlNet,然后预处理选择canny,模型也选择canny

ControlNet让SD变得可控

生成图片如下所示,风格有略微改变

ControlNet让SD变得可控ControlNet让SD变得可控

然后我们试用下depth

ControlNet让SD变得可控ControlNet让SD变得可控

HED

ControlNet让SD变得可控ControlNet让SD变得可控

mlsd

ControlNet让SD变得可控ControlNet让SD变得可控

scribble

ControlNet让SD变得可控ControlNet让SD变得可控

SEG

ControlNet让SD变得可控ControlNet让SD变得可控

总的来说,各类控制方法还算稳定,但是分割模型似乎容易出错,不太容易分割出主体,相对简单的背景问题不大。

上述就是ControlNet的基本原理以及使用,欢迎关注公众号IoT Inn文章来源地址https://www.toymoban.com/news/detail-486203.html

到了这里,关于ControlNet让SD变得可控的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ai作图可控性演进——从SD到MJ

    Ai作图从Diffusion模型开始,作图进入稳步发展快车道。然后用过diffusion系列作图的同学对产图稳定性,以及可控性都会颇有微词。diffusion系列作图方法在宏观层面上确实能够比较好的做出看上去还不错的图。然后当你细抠细节时候,发现这东西太不可控了: 1.位置关系经常搞

    2024年02月05日
    浏览(50)
  • AI绘画SD插件ControlNet模型解析

    功能型: IP2P : 环境背景天气修改, 以及单独修改人物, make it xxx 。 Tile分块重采样:忽略细节,并添加新的细节。 Inpaint局部重绘: 修改局部时, 更能懂得输入的提示词元素。 Reference参考:生成与参考图像相似的图像。会受模型和提示词的影响。只使用预处理器,不适用控

    2024年02月11日
    浏览(42)
  • OpenAI 重磅更新 变得更强啦 | 包括更多可控的 API 模型、函数调用能力、更长的上下文和更低的价格

    🍉 CSDN 叶庭云 : https://yetingyun.blog.csdn.net/ OpenAI 官网:https://openai.com/blog/function-calling-and-other-api-updates 功能调用和其他 API 更新。OpenAI 宣布更新,包括更多可控的 API 模型、函数调用能力、更长的上下文和更低的价格。 美国时间 6 月 13 日 OpenAI 官网突然发布了 ChatGPT 的最新能

    2024年02月08日
    浏览(50)
  • 为SD Web UI Controlnet使用的DWPose:令人震惊的手势识别技术。

    最近发现了一个比Openpose用来检测图片手部还好用的模型 那就是DWPose! 之前是只能在Wed页上使用,现在可以在我们的Wed UI中使用了 这次特别指出,我们可以在SD Web UI的controlnet上使用DW-pose。 链接:https://github.com/IDEA-Research/DWPose/tree/main 安装时只需使用extension的方式,复制链接

    2024年04月11日
    浏览(31)
  • AI 绘画Stable Diffusion 研究(二)sd模型ControlNet1.1 介绍与安装

    部署包作者:秋葉aaaki 免责声明: 本安装包及启动器免费提供 无任何盈利目的 大家好,我是风雨无阻。 众所周知,StableDiffusion 是非常强大的AI绘图工具,需要详细了解StableDiffusion的朋友,可查看我之前的这篇文章: 最近大火的两大AI绘图工具 Midjourney VS StableDiffusion。 今天为大

    2024年02月15日
    浏览(60)
  • (十六) AIGC、AI绘画、SD-WebUI、本地部署、Stable-Diffusion本地模型、最新Controlnet扩展

    1、简介 AI绘画的工具网站很多,大部分收费/限制数量,而且速度很慢,如果部署本地的模型,不仅免费无限制、还可以提高出图效率,随意生成自己想象中的图,部署中发现有各种各样的环境配置问题,无法正确运行。 本博整理了SD-WebUI的整合包(Windows环境下),包括启动器

    2024年02月13日
    浏览(79)
  • DeepBIO:一个自动化和可解释的深度学习平台,用于高通量生物序列预测,功能注释和可视化分析

    DeepBIO: an automated and interpretable deep-learning platform for high-throughput biological sequence prediction, functional annotation and visualization analysis 期刊:Nucleic Acids Research 中科院分区:2区 影像因子:19.16 出版时间:2023年2月17号 摘要 在这里,我们介绍了DeepBIO,这是首个用于 高通量生物序列功能

    2024年02月10日
    浏览(50)
  • 音频深度学习变得简单1:最先进的技术

    这篇文章我将介绍这个主题并概述音频应用的深度学习前景。我们将了解什么是音频以及它是如何以数字方式表示的。我将讨论音频应用程序对我们日常生活的广泛影响,并探索它们使用的架构和模型技术。 声音信号是由气压变化产生的,我们可以测量压力变化的强度并绘制

    2023年04月10日
    浏览(40)
  • 深度学习的智能家居:如何让家具变得更智能

    智能家居技术已经成为现代生活中不可或缺的一部分,它为人们提供了更舒适、更高效、更安全的生活环境。智能家居技术的核心是通过各种传感器、摄像头、微控制器等硬件设备,收集和传输家庭中的各种数据,并通过算法和人工智能技术进行处理和分析,从而实现家居环

    2024年02月19日
    浏览(50)
  • 【AI】自回归 (AR) 模型使预测和深度学习变得简单

    自回归 (AR) 模型是统计和时间序列模型,用于根据数据点的先前值进行分析和预测。这些模型广泛应用于各个领域,包括经济、金融、信号处理和自然语言处理。 自回归模型假设给定时间变量的值与其过去的值线性相关,这使得它们可用于建模和预测时间相关数据。 自回归

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包