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.rhkb.cn/news/191225.html

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

相关文章

工业数据的“最后一公里”怎么走?

随着工业互联网的迅猛发展,工业数据已经成为推动制造业转型升级的重要动力。然而,面对海量的工业数据,如何高效、准确地走过数据的“最后一公里”,成为制约企业发展的关键问题。本文将探讨工业数据“最后一公里”所面临的挑战&…

nginx四层tcp负载均衡及主备、四层udp负载均衡及主备、7层http负载均衡及主备配置(wndows系统主备、负载均衡)

准备工作 服务器上安装、配置网络负载平衡管理器 windows服务器热备、负载均衡配置-CSDN博客 在windows服务器上安装vmware17 在windows上利用vmware17 搭建centos7 mini版本服务器 设置好静态ip地址(因为windows 服务器上的网络负载平衡管理器不支持dhcp的服务器…

Docker的本地镜像发布到阿里云或者私有库步骤

学习笔记来源Docker 本地镜像发布到阿里云 1、生成镜像(使用commit命令) 创建阿里云仓库镜像 阿里云开发者平台 https://promotion.aliyun.com/ntms/act/kubernetes.html 创建仓库镜像 选择控制台,进入容器镜像服务 选择个人实例 命名空…

adb常用命令

系统参数获取指令 获取手机系统的命令: adb shell getprop ro.build.version.release 获取系统api版本----比如系统对应的系统的API版本为:29,11系统对应的安卓系统API版本为:30 adb shell getprop ro.build.version.sdk 获取手机…

雅虎、美客多、Temu、Allegro、亚马逊跨境平台选品技巧方法,测评养号攻略。

(1) Best Sellers选品法 这个方法顾名思义,就是大家熟悉的热销榜单选品法。 不做过多解释,在自己熟悉的品类,隔几天就会观察一下前100名里有没有冒出什么新品。 它和现有的产品相同还是不同,自己做哪些搭配或者迭代…

asp.net core mvc之模型绑定、特性约束模型绑定、模型验证(服务器/客户端/远程)

一、不用模型绑定 数据类型都是string 1、UserController.cs public class UserController : Controller {public IActionResult Register(){return View();}[HttpPost]public IActionResult DoRegister(){//不用模型绑定 以前的方法取表单数据或Url的参数//数据类型都是s…

linux系统下文件操作常用的命令

一、是什么 Linux 是一个开源的操作系统(OS),是一系列Linux内核基础上开发的操作系统的总称(常见的有Ubuntu、centos) 系统通常会包含以下4个主要部分 内核shell文件系统应用程序 文件系统是一个目录树的结构&…

双编码器构建机器人零力拖动/导纳控制思路

前言 这篇博客主要记录昨日与实验室大佬针对UR5机器人拖动示教功能实现的思路。由于本人并非主攻力控方面。直到昨天在做实验的时候,与力控组的大佬讨论过后才了解UR机器人实现导纳控制的思路。 关于导纳控制/零力拖动 导纳控制与阻抗控制单从字面去理解很容易记…

如何编写一个Perl爬虫程序

要编写一个Perl爬虫程序,首先需要安装LWP::UserAgent模块。你可以使用cpan命令来安装该模块: cpan LWP::UserAgent 安装完成后,可以使用以下代码来编写爬虫程序: use LWP::UserAgent; use HTML::TreeBuilder; my $proxy_host …

分发饼干(贪心算法+图解)

455. 分发饼干 - 力扣(LeetCode) 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最…

centos利用find提权反弹shell

需要说明的是利用find命令进行提权的方式已经不存在了,因为Linux默认不会为find命令授予suid权限,这里只是刻意的制造出了一种存在提权的环境 首先我们先介绍一下find命令,find命令主要用来在Linux中查找文件使用,它可以进行最基础…

thinkphp 自定义错误页面

在访问无效的UI 这个效果不好&#xff0c;要改成自定义的 <?php namespace app\controller;class ErrorController {public function __call($method,$args){return error request!;} }之后就是提示

【蓝桥杯 第十三届省赛Java B组】真题训练(A - F)

目录 A、星期计算 - BigInteger B、山 - 暴力判断 字符串 C、字符统计 - 简单哈希 D、最少刷题数 - 排序 思维 二分 分情况讨论 &#xff08;1&#xff09;&#xff08;错误&#xff09;自写哈希表 &#xff08;2&#xff09;正解 E、求阶乘 - 数学思维 二分 F、…

Postman小白安装和注册入门教程

近期在复习Postman的基础知识&#xff0c;在小破站上跟着百里老师系统复习了一遍&#xff0c;也做了一些笔记&#xff0c;希望可以给大家一点点启发。 一&#xff09;安装 访问官网https://www.getpostman.com/downloads/&#xff0c;直接下载安装。 二&#xff09;注册和登录…

【python自动化】Playwright基础教程(六)事件操作③单击双击计数过滤截图JS注入

【python自动化】Playwright基础教程(六)事件操作③单击&双击&计数&过滤&截图&JS注入 本文目录 文章目录 【python自动化】Playwright基础教程(六)事件操作③单击&双击&计数&过滤&截图&JS注入playwright系列回顾前文代码点击 - click…

基于单片机智能输液器监控系统的设计

**单片机设计介绍&#xff0c; 基于单片机智能输液器监控系统的设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的智能输液器监控系统可以实现对输液过程的实时监测和控制&#xff0c;以下是一个基本的设计介绍&am…

简单地聊一聊Spring Boot的构架

本文由葡萄城技术团队发布。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 本文小编将详细解析Spring Boot框架&#xff0c;并通过代码举例说明每个层的作用。我们将深入探讨Spring Boot的…

二维码智慧门牌管理系统升级,实现综合运营可视化

文章目录 前言一、升级解决方案概述二、重点指标综合展示三、综合运营可视化 前言 随着科技的发展和城市化进程的加速&#xff0c;传统的门牌管理系统已经无法满足现代社会的需求。为了解决这一问题&#xff0c;一款二维码智慧门牌管理系统应运而生&#xff0c;为城市管理和运…

Nginx 使用笔记大全(唯一入口)

Linux服务器因为Nginx日志access.log文件过大项目无法访问 项目处于运行状态下无法访问&#xff0c;第一步查看磁盘状态 1、查看磁盘状态 df -h 2、查找100M以上的文件 find / -size 100M |xargs ls -lh 3、删除文件 rm -rf /usr/local/nginx/logs/access.log 4、配置nginx.…

类和对象(4):Date类.运算符重载 1

一、赋值运算符重载 1.1 运算符重载 运算符重载是具有特殊函数名的函数&#xff0c;函数名字为&#xff1a;关键词operator需要重载的运算符符号。 不能重载C/C中未出现的符号&#xff0c;如&#xff1a;operator。重载操作符必须有一个类类型参数。不能改变用于内置类型运算…