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.mzph.cn/news/139526.shtml

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

相关文章

每次重启完IDEA,application.properties文件里的中文变成?

出现这种情况,在IDEA打开Settings-->Editor-->File Encodings 然后,你需要将问号改为你需要的汉字。 重启IDEA,再次查看你的.properties文件就会发现再没有变成问号了

order by的注入与Insert ,update和delete注入

order by的注入 Insert ,update和delete注入

大二第四周总结——用原生js封装一个分页器

用原生js封装一个分页器 起因:这次项目还是用原生的js来写的,我负责的是后台,分页是后台最常见的一个功能了,于是干脆封装一下,废话少说,直接上代码 这里是基本的样式 .pagination {display: flex;width: 600px;hei…

PCB知识补充

系列文章目录 文章目录 系列文章目录参考文献PCB知识互连线电阻过孔/铜箔电流能力铜箔载流能力过孔载流能力 热设计电磁兼容及部分要求 参考文献 [1]牛森,张敏娟,银子燕.高速PCB多板互联的电源完整性分析[J].单片机与嵌入式系统应用,2023,23(09). [2]陈之秀,刘洋,张涵舒等.高…

Django中简单的增删改查

用户列表展示 建立列表 views.py def userlist(request):return render(request,userlist.html) urls.py urlpatterns [path(admin/, admin.site.urls),path(userlist/, views.userlist), ]templates----userlist.html <!DOCTYPE html> <html lang"en">…

【Java】反射

1.什么是反射机制? Java 反射机制是在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类中的所有属性和方法&#xff0c;对于任意一个对象&#xff0c;都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 Java 的反射机制…

《软件工程与计算》期末考试真题范例及答案

今天分享一套针对《软件工程与计算》这本书的真题案例&#xff0c;有关《软件工程与计算》23章内容的重点知识整理&#xff0c;已经总结在了博客专栏中&#xff0c;有需要的自行阅读&#xff1a; 《软件工程与计算》啃书总结https://blog.csdn.net/jsl123x/category_12468792.…

进程状态和优先级

文章目录 进程状态Linux中具体的进程状态僵尸进程孤儿进程 进程优先级 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的 人工智能学习网站&#xff0c; 通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。 点击跳转到网站。 进程状态 进程在操…

每天一点python——day66

#每天一点Python——66 #字符串的分隔 #如图&#xff1a; #方法①split()从左开始分隔&#xff0c;默认空格为分割字符&#xff0c;返回值是一个列表 shello world jisuanji#首先创建一个字符串 list1s.split() print(list1)#输出结果是&#xff1a;[hello, world, jisuanji]注…

Git的原理与使用(一)

目录 Git初始 Git安装 Git基本操作 创建git本地仓库 配置git 工作区,暂存区,版本库 添加文件,提交文件 查看.git文件 修改文件 版本回退 小结 Git初始 git是一个非常强大的版本控制工具.可以快速的将我们的文档和代码等进行版本管理. 下面这个实例看理解下为什么需…

Java 简单实现一个 UDP 回显服务器

文章目录 UDP 服务端UDP 客户端实现效果UDP 服务端(实现字典功能)总结 UDP 服务端 package network;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;public class UdpEchoServer {private Da…

【开源】基于Vue.js的大学兼职教师管理系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目详细录屏 二、研究内容三、界面展示3.1 登录注册3.2 学生教师管理3.3 课程管理模块3.4 授课管理模块3.5 课程考勤模块3.6 课程评价模块3.7 课程成绩模块3.8 可视化图表 四、免责说明 一、摘要 1.1 项目介绍 大学兼职教师管理系统&#xff0…

Java13新增特性

前言 前面的文章&#xff0c;我们对Java9、Java10、Java11、Java12 的特性进行了介绍&#xff0c;对应的文章如下 Java9新增特性 Java10新增特性 Java11新增特性 Java12新增特性 今天我们来一起看一下Java13这个版本的一些重要信息 版本介绍 Java 13 是在 2019 年 9 月 17 日…

Technology Strategy Patterns 学习笔记9 - bringing it all together

1 Patterns Map 2 Creating the Strategy 2.1 Ansoff Growth Matrix 和owth-share Matrix 区别参见https://fourweekmba.com/bcg-matrix-vs-ansoff-matrix/ 3 Communicating

Docker进阶——再次认识docker的概念 Docker的结构 Docker镜像结构 镜像的构建方式

前言 在微服务大量应用的互联网时代&#xff0c;经常能看到docker的身影。作为docker的爱好者&#xff08;在服务器安装MySQL&#xff0c;Redis。。。我用的都是docker&#xff09;&#xff0c;我也会持续深入学习和认识docker。 本篇博客再次介绍docker的基本概念&#xff0…

FPGA UDP RGMII 千兆以太网(3)ODDR

1 xilinx原语 在 7 系列 FPGA 中实现 RGMII 接口需要借助 5 种原语,分别是:IDDR、ODDR、IDELAYE2、ODELAYE2(A7 中没有)、IDELAYCTRL。其中,IDDR和ODDR分别是输入和输出的双边沿寄存器,位于IOB中。IDELAYE2和ODELAYE2,分别用于控制 IO 口输入和输出延时。同时,IDELAYE2 …

R系组播调优方案

修改/etc/sysctl.conf添加如下内容&#xff1a; Vim /etc/sysctl.con net.ipv4.ip_forward1 net.ipv4.ip_nonlocal_bind1 net.ipv4.conf.all.rp_filter0 net.ipv4.conf.default.rp_filter0 net.bridge.bridge-nf-call-arptables 0 net.bridge.bridge-nf-call-ip6tables 0 …

深度学习之基于Pytorch框架的MNIST手写数字识别

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 MNIST是一个手写数字识别的数据集&#xff0c;是深度学习中最常用的数据集之一。基于Pytorch框架的MNIST手写数字识…

腾讯云3年期轻量应用服务器优惠(薅羊毛教程)

腾讯云轻量应用服务器特价是有新用户限制的&#xff0c;所以阿腾云建议大家选择3年期轻量应用服务器&#xff0c;一劳永逸&#xff0c;免去续费困扰。腾讯云轻量应用服务器3年优惠可以选择2核2G4M和2核4G5M带宽&#xff0c;3年轻量2核2G4M服务器540元&#xff0c;2核4G5M轻量应…

Python实用技巧:将 Excel转为PDF

将Excel文件转换为PDF可以方便储存表格数据&#xff0c;此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致。今天给大家分享一个使用第三方Python库Spire.XLS for Python 实现Excel转PDF的简单方法。 实现步骤 首先&#xff0c;通过pip命令来安装依…