AI 绘画 | Stable Diffusion精确控制ControlNet扩展插件

ControlNet

在这里插入图片描述
ControlNet是一个用于控制AI图像生成的插件,通过使用Conditional Generative Adversarial Networks(条件生成对抗网络)的技术来生成图像。它允许用户对生成的图像进行更精细的控制,从而在许多应用场景中非常有用,例如计算机视觉、艺术设计、虚拟现实等。

对于stable diffusion,ControlNet的出现提供了一种新的神经网络概念,通过额外的输入来控制预训练的大模型,例如stable diffusion。这种端对端的训练方式,让这种端对端的训练有了更好的应用空间。

举个需要使用ControlNet简单的例子,假如我们想要画一个人物画,需要人物摆一个固定的姿势,如果使用提示词就难以准确描述,即使可以用提示描述人物的姿势,但是因为扩散模型的的特性,生成图片的人物姿势还有部分不一样的随机性。利用ControlNet中的OpenPose模型,我们只需要给Stable Diffusion上传一张包含我们想要生成的姿势的图片即可生成我们想要的效果。

安装ControlNet插件

秋叶整合包内整合了ControlNet扩展插件,我们无需无需安装。没有安装的可以通过这个国内镜像仓库去下载安装
https://gitcode.net/ranting8323/sd-webui-controlnet,安装方法看上一篇文章。安装成功后,在文生图和图生图的界面里会出现ControlNet的可折叠选单了。
在这里插入图片描述
我们点击展开ControlNet的可折叠选单后,显示出ControlNet的所有参数如下。
在这里插入图片描述

ControlNet模型下载

除了下载ControlNet扩展插件外,还需要下载ControlNet控制模型,秋叶的整合包内包含ControlNet的模型文件,我们只需要把这些模型文件移动到SD webUi根目录 models\ControlNet文件夹下,重启 webUI即可。

基本使用

在这里插入图片描述

  • 首先上传一张包含我们想要生成姿势的人物图片

  • 上传完,启动选项会自动被勾选

  • 如果你显存比较低,请点击低显存模式,代价就是出图会慢一点

  • 如果你想要图片生成质量好,就点击完美像素模式,代价就是出图会慢一点

  • 勾选 允许预览

  • 选择控制类型,人物姿势类的,就选择OpenPose (姿态)

  • 预处理器和模型,点击控制类型后,系统会自己选择预处理器和匹配的模型。

  • 控制类型选择OpenPose (姿态),系统会选择默认预处理器openpose_full,这个会从图片中读取人物基本姿势外,还会读取图片中人物的手部姿势和面部表情。如何你不需要控制面部和手部和原图保持一致。可以选择openpose即可。openpose_full要比openpose的生图时间长。
    在这里插入图片描述

  • 点击 预处理和模型中间的爆炸图标,可以预览ControlNet从图片中提取出来的人物姿势信息。
    在这里插入图片描述
    在这里插入图片描述

  • 控制权重 可以通过调整ControlNet的权重来控制其对生成图像的影响程度。正常设置默认皆可。

  • 引导介入时机和引导终止时机

  • 引导介入时机(Guidance Start):
    这个参数决定了ControlNet从何时开始介入生成图像的计算过程。在默认情况下,Guidance Start被设置为0,代表在开始时就介入。如果设置为0.5,则代表ControlNet从50%步数时开始介入计算。这个参数可以根据具体需求进行调整。

  • 引导终止时机(Guidance End):
    这个参数决定了ControlNet在生成图像的计算过程中何时终止介入。一般情况下,Guidance End的值会比Guidance Start的值稍大一些,以确保ControlNet在主要的图像生成过程结束后能够适时地停止介入。这个参数也需要根据具体需求进行调整。

  • 控制模式
    一般选择 均衡即可。如果生成的图片,提示词没有显示出来,可以设置更偏向提示词,如果人物姿势动作没有显示出来,就选择 更偏向ControlNet即可。缩放模式,和图生图的一样,如果我们不想出现人物出现拉伸现象,就悬着裁剪后缩放。预设功能。就是可以把我们 所有关于ControlNet的参数配置保存成一个预设配置。下次使用相同的配置,可以直接选择预设即可。
    在这里插入图片描述

控制类型

Canny 边缘检测

Canny 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,常用于生成线稿。
对应ControlNet模型: control_canny
在这里插入图片描述

MLSD 线条检测

MLSD 线条检测用于生成房间、直线条的建筑场景效果比较好。
对应ControlNet模型: control_mlsd
在这里插入图片描述

Scribble 涂鸦

不用自己画,图片自动生成类似涂鸦效果的草图线条。
对应ControlNet模型: control_scribble
在这里插入图片描述

SoftEdge 边缘检测

SoftEdge 边缘检测可保留更多柔和的边缘细节,类似手绘效果。
对应ControlNet模型: control_softedge。
在这里插入图片描述

OpenPose 姿态检测

OpenPose 姿态检测可生成图像中角色动作姿态的骨架图(含脸部特征以及手部骨架检测),这个骨架图可用于控制生成角色的姿态动作。
对应ControlNet模型: control_openpose。
在这里插入图片描述

Segmentation 语义分割

语义分割可多通道应用,原理是用颜色把不同类型的对象分割开,让AI能正确识别对象类型和需求生成的区界。
对应ControlNet模型: control_seg。
在这里插入图片描述

Depth 深度检测

通过提取原始图片中的深度信息,生成具有原图同样深度结构的深度图,越白的越靠前,越黑的越靠后。
对应ControlNet模型: control_depth。
在这里插入图片描述

Normal Map 法线贴图

根据图片生成法线贴图,适合CG或游戏美术师。法线贴图能根据原始素材生成一张记录凹凸信息的法线贴图,便于AI给图片内容进行更好的光影处理,它比深度模型对于细节的保留更加的精确。法线贴图在游戏制作领域用的较多,常用于贴在低模上模拟高模的复杂光影效果。
对应ControlNet模型: control_normal。
在这里插入图片描述

Lineart 生成线稿

Lineart 边缘检测预处理器可很好识别出图像内各对象的边缘轮廓,用于生成线稿。
对应ControlNet模型: control_lineart。
在这里插入图片描述

Lineart Anime 生成线稿

Lineart Anime 边缘检测预处理器可很好识别出卡通图像内各对象的边缘轮廓,用于生成线稿。
对应ControlNet模型: control_lineart_anime。
在这里插入图片描述

Content Shuffle 内容打乱

Content Shuffle 图片内容变换位置,打乱次序,配合模型 control_v11e_sd15_shuffle 使用。
对应ControlNet模型: control_shuffle。
在这里插入图片描述

多ControlNet控制

我们可以通过界面看出 ControlNet默认有三个单元选卡(后台可以设置更多单元),我们可以单配不同ControlNet控制类型作为每个单元的设置。比如 OpenPose (姿态)搭配 Depth (深度)类型,可以解决人物手和脚的前后问题,单靠OpenPose 无法区分出图片中人物手和腿靠前还是靠后,假如 Depth (深度)类型的控制,可以实现完美控制。不过,使用的ControlNet单元越多,对显存的要求也高,出图也越慢。

在这里插入图片描述

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

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

相关文章

突破职场竞争,引领未来发展:考取《研发效能(DevOps)工程师职业技术认证》

就业形势堪忧,什么最有保障?考个“国家级”证书傍身吧! 工信部教考中心作为中国领先的行业技能认证机构,其颁发的认证证书不仅代表了个人在信息技术领域的专业能力,更可以录入工业和信息化技术技能人才数据库&#xf…

【深度学习】pytorch——常用工具模块

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 深度学习专栏链接: http://t.csdnimg.cn/dscW7 pytorch——常用工具模块 数据处理 torch.utils.data模块DatasetDataLoadersamplertorch.utils.data的使用 计算机视觉工具包 torchvisiontorchvision.d…

JOSEF约瑟 反时限过流继电器JGL-115板前接线5A速断保护

系列型号 JGL-111反时限过流继电器;JGL-112反时限过流继电器; JGL-113反时限过流继电器;JGL-114反时限过流继电器; JGL-115反时限过流继电器;JGL-116反时限过流继电器; JGL-117反时限过流继电器&#xff1b…

PicoDiagnostics (NVH设备软件)-PS软件设置文件类型介绍

作为远程技术指导人员&#xff0c;下面这个功能对你来说可能非常有帮助。 在PicoScope 7 软件的文件保存格式里&#xff0c;通常选择的是<PS 数据文件>类型&#xff0c;容易忽略其他实用的保存文件类型&#xff0c;下面我们介绍<PS设置文件>类型。 PS 数据文件&…

Cnyunwei

运维管理系统&#xff1a;监控系统 Cnyunwei Centos 6 封装 Cacti、Nagios、Centreon&#xff08;中英文自己切换&#xff09;、Check_MK、Nconf英文版本全部采用与国外官方同步的最新版本&#xff0c;会发布32位和64位两个版本。 安装很简单&#xff0c;直接回车即可全自动安…

flink 8081 web页面无法被局域网内其他机器访问

实现 http://localhost:8081/#/overview 可以被局域网其他机器访问

RUST与Python对比分析

1 什么是Rust&#xff1f; Rust 是一种系统编程语言&#xff0c;注重安全性&#xff0c;尤其是并发安全性&#xff0c;支持函数式、命令式和泛型编程范式等多范式语言。Rust 在语法上与 C 类似&#xff0c;但设计者希望在保持性能的同时提供更好的内存安全性。Rust 最初是由 Mo…

单链表经典OJ题(二)

目录 1、链表的回文结构 2、链表分割 3、随机链表的复制 4、相交链表 5、环形链表 6、环形链表二 1、链表的回文结构 链表的回文结构_牛客题霸_牛客网 (nowcoder.com) 回文结构类似于&#xff1a;1->2->3->3->2->1&#xff0c;具体解题思路如下&#xf…

快手自动引流软件的运行分享,以及涉及到技术与核心代码分享

先来看实操成果&#xff0c;↑↑需要的同学可看我名字↖↖↖↖↖&#xff0c;或评论888无偿分享 一、引言 引流是任何网络创业者或营销人员必备的技能之一。手动引流不仅耗时&#xff0c;而且效果难以保证。因此&#xff0c;自动引流软件应运而生&#xff0c;成为许多人的得力助…

MATLAB中ginput函数用法

目录 语法 说明 示例 标识点和绘制坐标 返回用于选择坐标的按键 标识地理坐标区上的点 ginput函数的功能是标识坐标区坐标。 语法 [x,y] ginput(n) [x,y] ginput [x,y,button] ginput(___) 说明 [x,y] ginput(n) 可用于标识笛卡尔坐标区、极坐标区或地理坐标区内…

java 实现 CAN口通讯

1、引入第三方库 链接&#xff1a;https://pan.baidu.com/s/1JC-Bi_Qgts5a-tGo28JcTQ?pwd6533 提取码&#xff1a;6533 将第三方库 放在libs包里&#xff0c;并在pom文件中增加依赖 <dependency><groupId>libsocket-can-java</groupId><artifactId>…

【移远QuecPython】EC800M物联网开发板的音乐播放(PWM蜂鸣器播放生日快乐歌,Sound模块播放音频)

【移远QuecPython】EC800M物联网开发板的音乐播放&#xff08;PWM蜂鸣器播放生日快乐歌&#xff0c;Sound模块播放音频&#xff09; 效果&#xff1a; 【移远QuecPython】EC800M开发板外置功放重金属和PWM音调&#xff08;BUG调试记录&#xff09; 文章目录 PWM蜂鸣器播放播放…