AI绘图(8)stable diffusion ControlNet用法解析

ControlNet是SD中一个很重要的插件,下面我们就详细介绍这个插件。

ControlNet

ControlNet是一种神经网络结构,通过添加额外条件来控制扩散模型。简单的说,ControlNet就是Stable Diffusion生成图片时候的限制条件,例如限制生成的图片中的人物是什么姿势。

Canny边缘检测示例

工作流程:边缘检测会从输入的图像中提取图像的轮廓,作为提示词之外的额外条件输入,参与到Stable Diffusion图形构建中,控制的图形的生成。

在之前的例子中,整体图像的背景、衣服都是不变的,改变的头发的颜色。详情可以看这篇文章:AI绘图(7)stable diffusion 绘图 局部重绘

人体姿势检测

Openpose是一种快速人体关键点检测模型,可以提取人体姿势,如手、腿和头部的位置。详情可以看这篇文章:AI绘图(6)stable diffusion 绘图 图生图

工作流程:使用OpenPose从输入图像中提取关键点,并将其保存为包含关键点位置的控制图。然后将其作为额外条件与文本提示一起提供给Stable Diffusion图像是根据这两个条件生成的。

使用Canny边缘检测和OpenPose有什么区别呢?

Canny边缘检测器提取主体和背景的相似边缘。它倾向于翻译场景。在前面的例子中AI绘图(7)stable diffusion 绘图 局部重绘可以看到黑发的小姐姐变成了红色头发的小姐姐,但轮廓和发型都保留了下来。

OpenPose只检测人体关键点,如头部、手臂等位置。图像生成更自由,但遵循原始姿势。

ControlNet插件介绍

界面如下图所示:

相关按钮介绍:

启用/Enable:是否启动ControlNet

低显存模式/Low VRAM:显卡显存不够时候开启

Pixel Perfect: ControlNet 将使用你在图像中指定的图像高度和宽度来生成预处理图像

Allow Preview: 预处理图形是需不需要预览

预处理/Preprocessor:假设我们输入的是一张普通的图片,预处理起会进行处理,例如,上传一张图片,OpenPose模型会将图片处理成姿势图。

上传图片,先选择[Allow Preview],在选择[预处理/Preproessor]旁边的爆炸按钮,

预外理的结里就会显示在右侧的图片框中

模型/Model:在我们选择[预处理/Preproessor]之后,接下来我们就要选择[模型/Model],这里有个细节点,我们选择的[预处理/Preproessor]的模型要和[模型/Model] ——对应,

例如;

姿势检测/openpose -- control_v11p_sd15_openpose

线稿检测/canny -- control_v11p_sd15_canny

ControlNet模型详解

在选择模型的时候,会发现ControlNet的模型非常多,为了方便快速检索到我们需要的功能,我们按照功能的维度做了下面的思维导图。功能的划分参考了 https://github.com/lllyasviel/ControlNet

设定人体姿势

查看[设定人体姿势],其对应5个设定人体姿势的预处理模块。我们选择预处理模型[openpose],模型选[control_v11p_sd15_openpose],注意预处理模型和模型是一一对应的。

prompt:

best quality,masterpiece,super high resolution,realistic,a girl,wide shot,full body,Long black straight hair, big blue eyes, black jeanwhite tights, adult female, asian,tree,ocean

Negative prompt:

mutated hands and fingers, deformed, bad anatomy, disfigured, poorly drawnface,mutated, extra limb, ugly, poorly drawn hands, missing limb, floatinglimbs, disconnected limbs, malformed hands, out of focus,long neck,long body

改变风格/配色

想要对当前的图片换一种风格或者更改配色,就使用canny和hed,两者都是边缘检测模型,这两个模型会保留图片的整体构图。hed保留的细节比canny多,具体好坏看个人喜好吧。

预处理模型[线稿检测/canny]和模型[control_v11p _sd15_canny]搭配使用

预处理模型[softedge_hed]和模型[control_v11p_sd15_softedge]搭配使用

 

可以看到,hed保留的细节比canny多。具体的使用看个人情况。

结语

那么,今天我们就介绍到这里。有兴趣的朋友可以关注我们,我们会持续更新本系列教程。

如果觉得不错,对你有帮助,可以关注我,在后续会发布更多的内容,也可以加入我们的星球,关注公众号,回复”星球“,获取邀请码,即可加入。如果不了解我们的星球是什么,可以看这篇文章,里面有详细介绍。

AI工具赋能,实现高效变现,实现提前下班_牧子川的博客-CSDN博客https://blog.csdn.net/qq_48764574/article/details/132250585https://blog.csdn.net/qq_48764574/article/details/132250585

我正在「AI高效率【工作、学习】」和朋友们讨论有趣的话题,你⼀起来吧?
https://t.zsxq.com/11KVfN0RChttps://t.zsxq.com/11KVfN0RC

公众号 @AI宅玩貳号玩家,一个靠AI助力学习与工作的痴迷实践者。全网粉丝2万+,连续不间断更新小白也能玩的AI,让你提前2小时下班。

星球上面有什么:
电子竞赛专栏、深度学习专栏、AI辅助学习专栏、AI工具变现专栏等

适合人群:
在校学生:希望我的经验可以帮助你解决你遇到问题,
开发人员:分享自己的经验,并且可以扩宽自己的道路,学习到更多的内容
希望用副业赚钱:我们有用AI变现的方式,可以帮助你实现用副业赚钱

硬性的标准其实限制不了无限可能的我们,所以啊!少年们加油吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
stable diffusion controlnet是一个用于网络技术的源码,它主要用于实现网络中的扩散控制功能。扩散控制是指通过调整网络节点之间的通信速率,以实现网络资源的平衡利用和避免网络拥塞的技术。 源码分析是指对该源码进行深入的研究和解析。 首先,stable diffusion controlnet的源码可以从开源社区或者相关的资源库中获取。我们首先需要对源码进行编译和构建,确保可以成功地在我们的环境中运行。 然后,我们可以对源码的结构进行分析。通常,源码包含多个文件和目录,其中主要包括各种类、函数和变量的定义和实现。我们需要仔细阅读每个文件和目录的功能和作用,了解它们之间的关联和调用关系。 在阅读源码的过程中,我们可以关注以下几点: 1. 网络扩散控制算法:源码中实现网络扩散控制的核心算法。我们需要了解算法的原理和实现方式,以及它如何根据网络环境的变化来动态地调整节点之间的通信速率。 2. 数据结构:源码中通常定义一些数据结构,用于存储和处理网络中的节点信息、拓扑结构和通信状态。我们需要了解这些数据结构的定义和使用方式,以及它们在算法中的作用。 3. 调度和控制逻辑:源码中可能包含一些调度和控制逻辑,用于管理网络中各个节点的通信行为。我们需要分析这些逻辑的实现方式和策略,了解它们如何协调和控制节点之间的通信行为,以保证网络资源的平衡利用和避免拥塞。 4. 代码的可读性和健壮性:除了功能实现外,源码的可读性和健壮性也是需要关注的。我们可以评估源码的编码规范、注释和错误处理机制等方面,以确保代码的可维护性和稳定性。 总之,通过对stable diffusion controlnet源码的分析,我们可以深入了解网络扩散控制技术的实现方式和原理,为实际应用和二次开发提供参考和指导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

牧锦程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值