stable-diffusion-webui的介绍与使用——Controlnet1.1

源码地址:https://github.com/lllyasviel/ControlNet | 最新版本 controlnet-v1.1
论文地址:2302.Adding Conditional Control to Text-to-Image Diffusion Models
扩展UI地址(需先安装sd-webui):https://github.com/Mikubill/sd-webui-controlnet

相关博文

  1. 相关博文- stable-diffusion-webui的基础功能手动安装,了解代码结构、依赖、模型出处
  2. stable-diffusion 训练GUI安装——lora、dreambooth
  3. stable-diffusion-webui安装(2):扩展模块extensions——汉化、双语等

  • 一、controlnet-v1.1 能做什么?
    • 1.1 图片-深度图-重绘-模型(ControlNet 1.1 Depth)
    • 1.2 图片-Bae's的正则化图-重构
    • 1.3 图像-candy边缘-重构 (Canny)
    • 1.4 图片-`MLSD直线检测`-重绘
    • 1.5 图片-线稿-重绘
      • 真实图片 (选择内置)处理器
      • 自己手绘(hand-drawn )
    • 1.6 图像-平滑线稿-重绘
    • 1.7 图片-语义分割图-重绘
    • 1.8 图片-人体(手)关键点-重绘
      • 几种使用组合(普通关键点、人脸关键点、手指关键点)
        • 单人姿态迁移
    • 1.9 图片-详细线稿(Lineart)-重绘
      • 线稿上色感
    • 1.10 动漫线稿上色-anime lineart
    • *1.11 图片-排布随机-重绘 `Shuffle`(实验行功能)
      • 配合mul-contolnet
    • 1.12 Instruct Pix2Pix (实验性功能)
    • 1.13 对原图进行修复(Inpaint)
    • 1.14 图片细节重构(`Tile`)
  • 安装
  • 附录
    • 论文以及原理

一、controlnet-v1.1 能做什么?

包含14个模型(11个成熟模型,3个实验)

1.1 图片-深度图-重绘-模型(ControlNet 1.1 Depth)

对应模型与配置(两个都要存在):

control_v11f1p_sd15_depth.pth
control_v11f1p_sd15_depth.yaml

内置的3种预处理器(Preprocessors)生成深度图:
Depth_Midas
Depth_Leres
Depth_Zoe
也可以直接从rendering engines 到处的深度图(depth)
下图来源于官方git (题词为):

a handsome man

在这里插入图片描述

1.2 图片-Bae’s的正则化图-重构

Model file: control_v11p_sd15_normalbae.pth
Config file: control_v11p_sd15_normalbae.yaml
Acceptable Preprocessors: Normal BAE.
This model can accept normal maps from rendering engines as long as the normal map follows ScanNet’s protocol

题词

random seed 12345
(“a man made of flowers”):

在这里插入图片描述

1.3 图像-candy边缘-重构 (Canny)

对应模型与配置

control_v11p_sd15_canny.pth
control_v11p_sd15_canny.yaml

在这里插入图片描述

1.4 图片-MLSD直线检测-重绘

control_v11p_sd15_mlsd.pth
control_v11p_sd15_mlsd.yaml

Preprocessors: MLSD.
在这里插入图片描述

1.5 图片-线稿-重绘

模型

Model file: control_v11p_sd15_scribble.pth
Config file: control_v11p_sd15_scribble.yaml

输入

真实图片 (选择内置)处理器

  • Scribble_HED,
  • Scribble_PIDI

在这里插入图片描述

自己手绘(hand-drawn )

, “the beautiful landscape”):

在这里插入图片描述

1.6 图像-平滑线稿-重绘

Acceptable Preprocessors:
SoftEdge_PIDI,
SoftEdge_PIDI_safe,
SoftEdge_HED,
SoftEdge_HED_safe.
在这里插入图片描述

1.7 图片-语义分割图-重绘

相当于1.0版本支持150种颜色,本版本支持182 coco颜色
模型与配置

Model file: control_v11p_sd15_seg.pth
Config file: control_v11p_sd15_seg.yaml

在这里插入图片描述

1.8 图片-人体(手)关键点-重绘

Model file: control_v11p_sd15_openpose.pth
Config file: control_v11p_sd15_openpose.yaml

几种使用组合(普通关键点、人脸关键点、手指关键点)

Openpose body
Openpose hand
Openpose face
Openpose body + Openpose hand
Openpose body + Openpose face
Openpose hand + Openpose face
Openpose body + Openpose hand + Openpose face
上面的组合太复杂了,建议使用下面2种
“Openpose” = Openpose body
“Openpose Full” = Openpose body + Openpose hand + Openpose face

单人姿态迁移

在这里插入图片描述
全部
在这里插入图片描述

1.9 图片-详细线稿(Lineart)-重绘

Model file: control_v11p_sd15_lineart.pth
Config file: control_v11p_sd15_lineart.yaml

详细程度
在这里插入图片描述
简略
在这里插入图片描述

线稿上色感

在这里插入图片描述

1.10 动漫线稿上色-anime lineart

在这里插入图片描述
在这里插入图片描述

*1.11 图片-排布随机-重绘 Shuffle(实验行功能)

Model file: control_v11e_sd15_shuffle.pth
Config file: control_v11e_sd15_shuffle.yaml

在这里插入图片描述

生成人物
在这里插入图片描述

配合mul-contolnet

在这里插入图片描述

1.12 Instruct Pix2Pix (实验性功能)

Model file: control_v11e_sd15_ip2p.pth
Config file: control_v11e_sd15_ip2p.yaml

基于instrcuct pix2pix的数据集训练的
在这里插入图片描述

1.13 对原图进行修复(Inpaint)

Model file: control_v11p_sd15_inpaint.pth
Config file: control_v11p_sd15_inpaint.yaml
在这里插入图片描述

Model file: control_v11f1e_sd15_tile.pth
Config file: control_v11f1e_sd15_tile.yaml

1.14 图片细节重构(Tile

Model file: control_v11f1e_sd15_tile.pth
Config file: control_v11f1e_sd15_tile.yaml

在这里插入图片描述

安装

本机安装

服务器安装方法

git clone https://github.com/Mikubill/sd-webui-controlnet
git clone https://github.com/fkunn1326/openpose-editor.git

附录

论文以及原理

2302.Adding Conditional Control to Text-to-Image Diffusion Models
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【gcc, cmake, eigen, opencv,ubuntu】四.opencv安装和使用,获取opencv matiax 的指针

文章目录 ubuntu系统安装opencv1.下载opencv和opencv_contrib2.安装指导3.Linux 下 fatal error: opencv2/opencv.hpp: 没有那个文件或目录4.g 和cmake 编译使用opencv的程序5.opencv,eigen速度比较6.opencv常用类型符号7.获取opencv matiax 的指针 ubuntu系统安装opencv 1.下…

设计模式大全

使用设计模式的目的: 程序猿在编码的过程中面临着来自耦合性、内聚性、可维护性、可扩展性、重用性、灵活性等多方面的挑战。设计模式是为了让程序具有更好的: 1)重用性,即相同功能的代码编写一次即可,不用重复编写 …

史上最全Hadoop面试题:尼恩大数据面试宝典专题1

说在前面: 《尼恩 大数据 面试宝典》 是 《尼恩Java面试宝典》 姊妹篇。 这里特别说明一下:《尼恩Java面试宝典》41个专题 PDF (请在文末获取)自发布以来, 已经收集了 好几千题, 足足4000多页&#xff0c…

haproxy

haproxy haproxy一:常见的Web集群调度器1.软件2.硬件3.LVS ,Nginx ,Haproxy 的区别: 二:Haproxy应用分析1.HAProxy的主要特性有:2.HAProxy负载均衡策略非常多,常见的有如下8种: 三&a…

【深度学习】YOLOv8训练过程,YOLOv8实战教程,目标检测任务SOTA,关键点回归

文章目录 可用资源资源安装模型训练(检测)模型pridict模型导出 可用资源 https://github.com/ultralytics/ultralytics 官方教程:https://docs.ultralytics.com/modes/train/ 资源安装 更建议下载代码后使用 下面指令安装,这样…

C高级 day37

1、编写一个名为myfirstshell.sh的脚本,它包括以下内容。 1、包含一段注释,列出您的姓名、脚本的名称和编写这个脚本的目的 2、和当前用户说“hello 用户名” 3、显示您的机器名 hostname 4、显示上一级目录中的所有文件的列表 5、显示变量PATH和HOME的值…

uniapp实现应用wgt资源热更新

APP更新一般有两种形式 1、整包更新,通过hbuliderx提供的在线云打包就属于整包更新,属于全量更新,缺点就是打包时间长、要重新走市场审核。费时 2、wgt资源包热更新,通过hbuliderx打wgt包 ,速度快,能在应用…

28.vite

目录 1 一些概念 1.1 单页面应用程序SPA 1.2 vite 2 初始化vite项目 3 项目中的文件 1 一些概念 1.1 单页面应用程序SPA 单页面应用程序是只有一个页面的前端,切换页面通过前端路由来切换 特点如下 实现了前后端分离,后端仅出接口&#…

域名解析详解

域名解析 记录类型: 提示: 将域名指向云服务器,选择 A; 将域名指向另一个域名,选择 CNAME; 建立邮箱选择 MX,根据邮箱服务商提供的 MX 记录填写。 记录类型解释A用来指定域名的 IPv4 地址&…

优思学院|六西格玛倡导者与项目赞助人是什么角色?有何区别?

倡导者(Champion)和项目赞助人(Sponsor)在正式的六西格玛的组织架构中是两个不同的角色,所以希望在这篇文章中解释一下两个角色的区别。 倡导者(Champion)是负责组织竞争力和增长的董事和高管&…

C#提升(一、泛型)

一、什么是泛型 泛型,即“参数化类型” 我们来看以下代码,目的很明确,就是显示参数类型,这种类似的代码或者说只有参数类型不同,但是功能相同时,我们如何让代码写的更优雅? 在泛型没有出现的…

Android11 DNS解析流程

Android11 DNS解析 1. DNS解析概念 ​ DNS的全称是domain name system,即域名系统。主要目的是将域名解析为IP地址,域名是方便用户记忆,但网络传输中源目地址使用IP地址来进行标识的,所以Android中的网络应用程序在发起http请求…

Python(request)爬虫有多强大?

requests是Python中的一种HTTP客户端库,用于发送HTTP请求并获取服务器响应。使用requests库可以轻松地进行常见的HTTP操作,如GET、POST、PUT、DELETE等,支持HTTPS和HTTP连接以及摘要验证、基本认证等身份验证方式。 因此,Python的…

阿里云创建ALB_Ingress

阿里云参考文档 1、编写alb AlbConfig创建文档 rootbiking-pre-middleware:~/alb# cat ingress-alb.yaml apiVersion: alibabacloud.com/v1 kind: AlbConfig metadata: #alb名称name: ingress-alb spec:config:name: ingress-albaddressType: InternetzoneMappings:# 两个交换…

ESP32学习之定时器和PWM

一.定时器代码如下&#xff1a; #include <Arduino.h>hw_timer_t *timer NULL; int interruptCounter 0;// 函数名称&#xff1a;onTimer() // 函数功能&#xff1a;中断服务的功能&#xff0c;它必须是一个返回void&#xff08;空&#xff09;且没有输入参数的函数 //…

Redis 哨兵模式

哨兵模式 自动选举 Redis 主服务器&#xff08;当主服务器宕机时&#xff09; 在 Redis2.8 之前&#xff0c;采用手动配置主从机的形式&#xff08;会导致一段时间服务不可用&#xff09; Redis2.8 之后&#xff0c;Redis正是提供了 Sentinel&#xff08;哨兵&#xff09;来解…

逆向Android开发工程,抓包!抓包!学习哪里?

抓包是什么&#xff1f; 在Android逆向工程中&#xff0c;抓包是一项重要的技术&#xff0c;用于获取手机应用程序与服务器之间的通信数据。通过抓包&#xff0c;可以分析应用程序的网络请求&#xff0c;获取请求的URL、参数、响应数据等信息&#xff0c;对应用程序的行为进行…

Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能

文章目录 入门基础安装 Python 环境&#xff0c;选择一个 IDE&#xff0c;如 PyCharm、VSCode等。学习基本语法&#xff1a;变量、数据类型、条件语句、循环语句、函数、异常处理等。熟悉标准库&#xff1a;常用模块、内置函数等。学习基本的面向对象编程&#xff08;OOP&#…

Rust in Action笔记 第六章 内存

Option<T>类型在Rust中使用了空指针优化&#xff08;null pointer optimization&#xff09;来保证该类型在编译后的二进制文件中占用0个字节。None变量是通过一个空指针null pointer来表示&#xff1b;内存地址、指针、引用的区别&#xff0c;内存地址是指在内存中的一个…

【kubernetes】Etcd集群部署与验证

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…