当前位置: 首页 > news >正文

Stable Diffusion 系统教程 | 强大的ControlNet 控制网

2023年的2月13日,一款名叫ControlNet的插件横空出世,AI绘画变得更加可控

ControlNet直译过来很简单,就叫做控制网,开发者是一名华裔,毕业于苏州大学,目前在斯坦福做读博士一年级,大佬大佬!

在controlNet之前,基于扩散模型的绘画是极为难控制的,平时自嗨画画其实没有一点问题,随机就随机一点,但是对于一些特定要求的岗位的同学来说,这种抽卡式缺乏稳定性的模型很难真正提高效率。

1 ControlNet的作用结构

​ 根据一些额外信息控制扩散生成走向,业内人士称为微调,通俗点说就是大模型你不是随机吗,那我给你一些指引信息,让你乖乖听话朝着我期望的方向走

​ 这时候有好奇的小伙伴就要问到了,那他和图生图有什么区别吗?我直接输入图片不也可以达到同样的效果吗?其实从某种意义上来说是的,但我举如下一个例子你就明白了

​ 比如我现在要生成一个有着特定姿势的图片,我固然可以通过一张自己期待的姿势的图片输入,模型可能会了解到这个姿势,但与此同时,这种图片除了姿势的其他信息如画面颜色,风格,人物特征也会被网络捕获到,因而就可能会产生意外的化学反应,但是用ControlNet可以提取人体关键点(如下图),这样的话模型只会了解到纯粹的需要生成的姿势而不会混杂其他信息,可控性就会增强了

2 ControlNet的安装和使用

ControlNet本质是一个插件,所以类似于之前插件的安装(看之前的这篇插件安装的文章)

不同于一些插件,ControlNet还需要搭配不同的模型来使用,来实现特定的功能

最推荐的安装方式,是将ControlNet的扩展文件夹放在根目录下的extensions文件夹内,可以省下很多麻烦

然后在扩展选单里重新加载WebUI 界面,就可以在文生图和图生图里面看到了

下载一个ControlNet模型(一般是pth和yaml文件)之后移动到ControlNet的扩展文件夹中

3 基本使用方式

点开ControlNet控制网。输入一张图片,我们在这里期望输出的图片模仿我们输入图片的姿势

2023年的2月13日,一款名叫ControlNet的插件横空出世,AI绘画变得更加可控

ControlNet直译过来很简单,就叫做控制网,开发者是一名华裔,毕业于苏州大学,目前在斯坦福做读博士一年级,大佬大佬!

在controlNet之前,基于扩散模型的绘画是极为难控制的,平时自嗨画画其实没有一点问题,随机就随机一点,但是对于一些特定要求的岗位的同学来说,这种抽卡式缺乏稳定性的模型很难真正提高效率。

1 ControlNet的作用结构

​ 根据一些额外信息控制扩散生成走向,业内人士称为微调,通俗点说就是大模型你不是随机吗,那我给你一些指引信息,让你乖乖听话朝着我期望的方向走

​ 这时候有好奇的小伙伴就要问到了,那他和图生图有什么区别吗?我直接输入图片不也可以达到同样的效果吗?其实从某种意义上来说是的,但我举如下一个例子你就明白了

​ 比如我现在要生成一个有着特定姿势的图片,我固然可以通过一张自己期待的姿势的图片输入,模型可能会了解到这个姿势,但与此同时,这种图片除了姿势的其他信息如画面颜色,风格,人物特征也会被网络捕获到,因而就可能会产生意外的化学反应,但是用ControlNet可以提取人体关键点(如下图),这样的话模型只会了解到纯粹的需要生成的姿势而不会混杂其他信息,可控性就会增强了

2 ControlNet的安装和使用

ControlNet本质是一个插件,所以类似于之前插件的安装(看之前的这篇插件安装的文章)

不同于一些插件,ControlNet还需要搭配不同的模型来使用,来实现特定的功能

最推荐的安装方式,是将ControlNet的扩展文件夹放在根目录下的extensions文件夹内,可以省下很多麻烦

然后在扩展选单里重新加载WebUI 界面,就可以在文生图和图生图里面看到了

下载一个ControlNet模型(一般是pth和yaml文件)之后移动到ControlNet的扩展文件夹中

3 基本使用方式

点开ControlNet控制网。输入一张图片,我们在这里期望输出的图片模仿我们输入图片的姿势

在这里插入图片描述

我们从网上找一张 在这里插入图片描述
图片上传

选择预处理器(OpenPose就是提取姿势的),并选择相应的模型

在这里插入图片描述

其他参数先维持不变

加入我们期望的场景提示词,如在森林里

1 cute girl, forest, smile,
SFW, (masterpiece:1.2), best quality, masterpiece, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed CG:1.2)

生成
在这里插入图片描述

更改一下提示词

1 cute girl, city, smile,
SFW, (masterpiece:1.2), best quality, masterpiece, highres, original, extremely detailed wallpaper, perfect lighting,(extremely detailed CG:1.2)

在这里插入图片描述

可以看出姿势完全不变

同时它还会附加给我们一张骨骼图

3.1 参数详解

Control Weight

决定这个控制效应在图片中呈现出来的强度,维持默认1不变

Starting Control step

ending Control step

什么时候加入ControlNet影响,默认的0到1表示全程生效,缩短影响,可以赋予图像更多的自由度

ControlMode

提示词影响和ControlNet之间倾向于哪一个,一般维持默认Balanced即可,二者兼顾

核心就是控制强弱

缩放模式

会在导入图片和你生成图片分辨率不匹配的时候起作用

3.2 代表性ControlNet模型应用

3.2.1 Open Pose姿态

上面讲到的只是OpenPose的基本的身体整体骨骼的刻画

选择不同的预处理器可以获得对手部,脸部更精确的刻画

在这里插入图片描述

比如我们使用openpose_face,可以看到获得了更精细的脸部特征骨骼图

在这里插入图片描述

3.2.2 Depth 深度

适合富有空间感的多层次场景

3.2.3 canny 边缘检测

通过边缘来进行绘画输出,超级强大!!!

比如我们这里用Canny检测器,可以生成几乎一模一样的

在这里插入图片描述

可以实现线稿上色

在这里插入图片描述

相关文章:

Stable Diffusion 系统教程 | 强大的ControlNet 控制网

2023年的2月13日,一款名叫ControlNet的插件横空出世,AI绘画变得更加可控 ControlNet直译过来很简单,就叫做控制网,开发者是一名华裔,毕业于苏州大学,目前在斯坦福做读博士一年级,大佬大佬&…...

Hadoop-sqoop

sqoop 1. Sqoop简介及原理 简介: Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysq1.postgresql..)间进行数据的传递,可以将一个关系型数据库(例如: MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop 的HDFS中&…...

[论文阅读]YOLOV1:You Only Look Once:Unified, Real-Time Object Detection

摘要 我们提出了YOLO,一种新的目标检测方法。之前的目标检测工作重新使用分类器来执行检测。相反,我们将目标检测表述为空间分离的边界框和相关类概率的回归问题。单个神经网络在一次评估中直接从完整图像中预测边界框和类别概率。由于整个检测管道是一…...

Ubuntu 20.04 安装MySQL 8.0.34

MySQL安装 sudo wget https://cdn.mysql.com/archives/mysql-8.0/mysql-server_8.0.31-1ubuntu20.04_amd64.deb-bundle.tar下载MySQL文件。 sudo mkdir /mysql8创建目录。 sudo tar -xf mysql-server_8.0.31-1ubuntu20.04_amd64.deb-bundle.tar -C /mysql8进行解压。 需…...

MySQL 高级语句 Part1(进阶查询语句+MySQL数据库函数+连接查询)

高级语句 第一部分 一、MySQL进阶查询语句1.1 select ----显示表格中一个或数个字段的所有数据记录1.2 distinct ----不显示重复的数据记录1.3 where ----有条件查询1.4 and or ----且 或1.5 in----显示已知的值的数据记录1.6 between----显示两个值范围内的数据记录1.7 通配符…...

Rust免杀 Shellcode加载与混淆2

前言 这是半年前我学习Rust和免杀时的一些记录,最近打开知识库看到了这篇半年前的笔记,并且发现我常逛的安全社区都比较少有人分享Rust以及Rust免杀的帖子,于是想着将这篇笔记分享出来供大家参考和指正。由于我写这篇文章时也刚刚开始接触Ru…...

牛客java训练题 day1

9.24 day1 Q 1. this 指针是用来干什么的? 2.基类和派生类分别是指什么? 3.为什么方法中不能写静态变量 4. 解释一下ASCII码和ANSI码和两者的区别 5.简述j ava.io java.sql java.awt java.rmi 分别是什么类型的包 6. 看下面一段代码:…...

接口测试练习步骤

在接触接口测试过程中补了很多课, 终于有点领悟接口测试的根本; 偶是个实用派~,那么现实中没有用的东西,基本上我都不会有很大的概念; 下面给的是接口测试的统一大步骤,其实就是让我们对接口…...

Qt/C++音视频开发56-udp推流和拉流/组播和单播推流

一、前言 之前已经实现了rtsp/rtmp推流,rtsp/rtmp/hls/flv/ws-flv/webrtc等拉流,这种一般都需要依赖一个独立的流媒体服务程序,有没有一种更便捷的方式不需要这种依赖,然后又能实现推拉流呢,当然有的那就是udpp推流&a…...

人工智能轨道交通行业周刊-第61期(2023.9.18-9.24)

本期关键词:焊线机器人、智能综合运维管理系统、信号平面图、铁路部门架构、书生浦语大模型 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通…...

for...in 和 for...of 的区别

for...in 和 for...of 都是 JavaScript 中的循环语句,但它们的作用和使用方式略有不同。 1、for..in 循环 for..in 循环用于遍历对象的可枚举属性,它会将对象的每个属性名称(或键名)作为迭代变量来遍历。 以下是 for...in 的基本语法 for (variable …...

高并发系统 - 接口幂等技术方案,高可用系统架构与技术选型

幂等概念来自于数学,在计算机科学中,幂等表示一次后、或多次请求某一资源,应该有同样的影响效果。 在业务表现上一般是同样的数据效果,下面就常用的业务场景,来聊聊幂等的技术方案。 ----------------- 数据层 ----------------- 索引与事务 根据业务需要,给表添加唯一索…...

简单的手机电脑无线传输方案@固定android生成ftp的IP地址(android@windows)

文章目录 abstractwindows浏览android文件环境准备客户端软件无线网络链接步骤其他方法 手机浏览电脑文件公网局域网everythingpython http.server 高级:固定android设备IP准备检查模块是否生效 windows 访问ftp服务器快捷方式命令行方式双击启动方式普通快捷方式映射新的网络位…...

Unity3D 检测鼠标位置的Sprite像素颜色

思路 获取鼠标所在屏幕坐标(Vector2)通过相机ScreenToWorldPoint(Vector3)转为世界坐标 (注意Vector3的z是距离相机的距离,相机需要正交)通过SpriteRenderer访问边界Bounds通过Bounds.Contain检测世界坐标是否在SpriteBounds内通过比例计算来确定在Sprite内的UV坐标…...

layui input 监听事件

//监听表单单选框复选框选择 form.on(radio, function (data) { console.log(data.value); //得到被选中的值 }); //监听表单下拉菜单选择 form.on(select, function (data) { console.log(data.value); //得到被选中的值 }); //监听表单复选框选择 …...

一致性思维链(SELF-CONSISTENCY IMPROVES CHAIN OF THOUGHT REASONING IN LANGUAGE MODELS)

概要 思维链已经在很多任务上取得了非常显著的效果,这篇论文中提出了一种 self-consistency 的算法,来代替 贪婪解码 算法。本方法通过 采样多个思维链集合,然后LLM模型生成后,选择一个最一致的答案作为最后的结果。一致性思维链…...

腾讯云16核服务器配置大全_16核CPU型号性能测评

腾讯云16核CPU服务器有哪些配置可以选择?可以选择标准型S6、标准型SA3、计算型C6或标准型S5等,目前标准型S5云服务器有优惠活动,性价比高,计算型C6云服务器16核性能更高,轻量16核32G28M带宽优惠价3468元15个月&#xf…...

HTML中Input elements should have autocomplete attributes的解决方案

kwfwservice.php:1 [DOM] Input elements should have autocomplete attributes (suggested: “current-password”): (More info: https://goo.gl/9p2vKq) <input name"password" id"password" lay-verify"required" placeholder"密码&…...

2808. 使循环数组所有元素相等的最少秒数;1015. 可被 K 整除的最小整数;1001. 网格照明

2808. 使循环数组所有元素相等的最少秒数 核心思想&#xff1a;枚举每个元素作为相等元素最多需要多少秒&#xff0c;然后维护它的最小值。最多需要多少秒是怎么计算的&#xff0c;我们可以把相等值的下标拿出来&#xff0c;然后你会发现两个相邻下标&#xff08;相邻下标只的…...

Python爬虫在Web应用自动化测试中的应用

在Web应用开发过程中&#xff0c;自动化测试是确保应用质量和稳定性的重要环节。本文将介绍如何使用Python爬虫与自动化测试技术相结合&#xff0c;实现对Web应用进行自动化测试的方法和步骤。通过这种结合&#xff0c;我们可以提高测试效率、减少人力成本&#xff0c;并确保应…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

【iOS】 Block再学习

iOS Block再学习 文章目录 iOS Block再学习前言Block的三种类型__ NSGlobalBlock____ NSMallocBlock____ NSStackBlock__小结 Block底层分析Block的结构捕获自由变量捕获全局(静态)变量捕获静态变量__block修饰符forwarding指针 Block的copy时机block作为函数返回值将block赋给…...

Linux基础开发工具——vim工具

文章目录 vim工具什么是vimvim的多模式和使用vim的基础模式vim的三种基础模式三种模式的初步了解 常用模式的详细讲解插入模式命令模式模式转化光标的移动文本的编辑 底行模式替换模式视图模式总结 使用vim的小技巧vim的配置(了解) vim工具 本文章仍然是继续讲解Linux系统下的…...

简单介绍C++中 string与wstring

在C中&#xff0c;string和wstring是两种用于处理不同字符编码的字符串类型&#xff0c;分别基于char和wchar_t字符类型。以下是它们的详细说明和对比&#xff1a; 1. 基础定义 string 类型&#xff1a;std::string 字符类型&#xff1a;char&#xff08;通常为8位&#xff09…...