AIGC - Stable Diffusion 多重控制网络 ControlNet (OpenPose + Depth) 配置

news2024/9/20 8:59:27

欢迎关注我的CSDN:https://spike.blog.csdn.net/
本文地址:https://spike.blog.csdn.net/article/details/131603523

Multi-ControlNet 是 Stable Diffusion 的一个功能,让用户用不同的空间条件来控制图像生成的过程。例如,可以用深度图、分割图、涂鸦、关键点等,来指定生成的图像的内容、风格和姿态。ControlNet 是在 Adding Conditional Control to Text-to-Image Diffusion Models 这篇论文中提出的,原理是用一个可训练的参数副本和一个固定的参数副本来连接 Stable Diffusion 的潜在 UNet,然后用零卷积层来优化这些参数,使得生成的图像能够符合条件。Multi-ControlNet 是 ControlNet 的一个扩展,可以让用户同时使用多个 ControlNet 模型来控制图像生成。例如,可以用 openpose 和 canny 两个模型来同时指定人物的姿态和轮廓。

要使用 Multi-ControlNet,需要先在 Stable Diffusion 的 Web UI 中设置 Multi ControlNet: Max models amount,这个选项表示每次可以使用的 ControlNet 模型的数量。然后,需要下载相应的 ControlNet 模型,把模型放在 Stable Diffusion 的 models 文件夹中。最后,需要在 web UI 中选择要使用的 ControlNet 模型,并输入相应的条件和文本提示,然后点击 生成 按钮就可以看到结果了。

即:
Num

Multi-ControlNet 可以支持多种不同的组合,具体取决于想要生成的图像。一些常用的组合有:

  • OpenPose + Canny:用于生成具有特定姿态和轮廓的人物图像。
  • Depth + Segmentation:用于生成具有特定深度和分割信息的场景图像。
  • Sketch + Style:用于生成具有特定涂鸦和风格的艺术图像。
  • Logo + Color:用于生成具有特定标志和颜色的商标图像。

示例图像 (OpenPose + Depth):

Img

Prompt:

(sfw:1.2), absurdres, 1girl, ocean,white dress, long sleeves,light smile,
Negative prompt: nsfw, (worst quality:1.2), (low quality:1.2), (lowres:1.1),(monochrome:1.1),(greyscale),multiple views, comic,sketch,animal ears, pointy ears, blurry, transparent,see through,cleavage,(badhandv4:1.2),
Steps: 30, Sampler: DPM++ SDE Karras, CFG scale: 7, Seed: 2069951556, Face restoration: CodeFormer, Size: 512x768, Model hash: 86aa256dd5, Model: AWPortrait_v1.1, Denoising strength: 0.3, ControlNet 0: "preprocessor: depth_leres++, model: control_v11f1p_sd15_depth [cfd03158], weight: 0.5, starting/ending: (0.05, 1), resize mode: Crop and Resize, pixel perfect: False, control mode: Balanced, preprocessor params: (512, 0, 0)", ControlNet 1: "preprocessor: openpose_hand, model: control_v11p_sd15_openpose [cab727d4], weight: 0.5, starting/ending: (0.07, 1), resize mode: Crop and Resize, pixel perfect: False, control mode: Balanced, preprocessor params: (512, -1, -1)", Hires upscale: 2, Hires upscaler: 4x-UltraSharp, Version: v1.4.0

Pose 图像,提取 Pose 图像的姿态 (OpenPose) 和深度 (Depth),如下:

Pose

混合控制网络深度 (Depth) 模块,效果如下:

在这里插入图片描述

混合控制网络姿态 (OpenPose) 模型,效果如下:

OpenPose

两者参数相同,控制权重 0.5,引导介入时机 0.05,给予图像更多的灵活度,如下:

Weights

基本配置,如下:

Base

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

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

相关文章

【高并发网络通信架构】2.引入多线程实现多客户端连接的tcp服务端

目录 一,往期文章 二,代码实现 一,往期文章 【高并发网络通信架构】1.Linux下实现单客户连接的tcp服务端 二,代码实现 关键代码 因为accept是阻塞等待客户端连接,当客户端连接成功后才会执行accept后面的代码&…

简介Maven结构与配置方法

一、Maven是什么 Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。 它有什么用呢? 比如我以前要IOUtils这个包,那要到网站下去下载下来,再导入。 当jar包多的时候,一个一个导出,…

开源Cillium项目为容器提供强大的网络功能

试验性的开源Cillium项目使用Linux内核的一项现有特性,为容器提供高速、强大的网络功能。一项名为Cilium的开源项目试图基于Linux内核中所用的技术,为容器提供一种新的网络方法。 试验性的开源Cillium项目使用Linux内核的一项现有特性,为容器…

ARM中断实验

#ifndef __KEY_H__ #define __KEY_H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_gic.h"//对RCC/GPIO/EXTI章节的初始化 void hal_key1_exti_init();//对GIC的初始…

算法笔记(Java)——链表篇

链表类问题通常比较简单,面试中应该不会出现这么简单的题型,需要注意的地方只有两个: 使用虚拟头节点增加便捷性判断链表是否有环 使用虚拟头节点 力扣题目链接: 203. 移除链表元素 这道题目比较简单,但是使用虚拟…

使用pyhton将文件夹内多个excel表格合并成总表

前言: 本文讲述使用python将需要处理的文件夹内多个excel文件内容进行合并,并输出为xlsx格式的总表。就比如一个文件夹里又有许多子文件夹,这些子文件夹里分布有excel文件,这里的python文件就能将这个文件夹内的所有excel文件进行…

【SpringMVC】| SpringMVC执行流程(含源码分析)

目录 SpringMVC执行流程 1. SpringMVC常用组件 2. DispatcherServlet初始化过程(源码分析) 3. DispatcherServlet调用组件处理请求 4. SpringMVC的完整执行流程 图书推荐:Spring Cloud Alibaba核心技术与实战案例 SpringMVC执行流程 1…

2.3.cuda驱动API-上下文管理设置及其作用

目录 前言1. CUcontext总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记 本次课程学习精简 CUDA 教程-Driver API 上下文管理设置及其作用 课…

css 中的几种颜色格式

css 中的几种颜色格式 css有一系列不同的颜色格式: 十六进制代码、RGB()、HSL()、lch()等等。 我们在使用的时候可能并不太注重这些。但是它们之前存在非常重要区别。本文会介绍不同的颜色格式及区别。 命名颜色 这并不是一种真正的颜色格式,但是对于初学者还是…

kube-proxy代理模式详解

kube-proxy代理模式详解 kube-proxy当前支持以下几种代理模式: 1、userspace:最早的负载均衡方案,它在用户空间监听一个端口,所有服务通过iptables转发到这个端口,然后在其内部负载均衡到实际的Pod。该方式最主要的问…

如何让大型语言模型(LLMs)遵守道德原则?

我们知道像ChatGPT那样的大型语言模型提供了内容审查机制,我们从openai的官方文档中可以看到open提供了Moderation的内容审查机制,主要包含以下11个方面: 从官方文档上看这11方面的审核机制似乎只停留在严格的法律层面的审查,但是对于那些没…

Java web开发--springboot

Java web开发--springboot Java有很多web框架 但是有的框架不是很好用:比如Java Servlets(个人感觉)不好调试,WEB-INF文件关联来关联去很烦躁,启动后 crtlc还关闭不了(我一般习惯用ctrlc命令来关闭服务).导致后面我调试springboot时一直报错,原来是Java Servlets的服务没关(我习…

Handshake failed due to invalid Upgrade header: null 解决方案以及连接60s,信息不交互,连接断开

Handshake failed due to invalid Upgrade header: null 解决方案以及连接60s,信息不交互,连接断开 1. 问题背景:因为后端用了nginx代理,所以websocket连接的过程中报错:Handshake failed due to invalid Upgrade hea…

[MySQL]数据类型(图文详解)

[MySQL]数据类型 文章目录 [MySQL]数据类型1. 数据类型分类2. 数值类型2.1 bit类型2.2 tinyint类型2.3 float类型2.4 decimal类型2.5 char类型2.6 varchar类型2.7 日期和时间类型2.8 enum和set类型 1. 数据类型分类 2. 数值类型 说明: 数值类型在定义时不加unsign…

【雕爷学编程】Arduino动手做(154)---AFMotor电机扩展板模块

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

备忘录模式的学习与使用

1、备忘录模式的学习 当您需要在不破坏封装性的前提下保存和恢复对象的状态时,备忘录模式是一种有用的设计模式。备忘录模式允许您将对象的状态保存到备忘录对象中,并在需要时从备忘录中恢复状态。这种模式分离了状态的保存和恢复逻辑,使得对…

stm32usart+中断接收定长数据

文章目录 前言一、cubemx的配置二、代码编写1.主函数在这里插入图片描述2. it.c 总结 前言 中断接收固定的数据值。 一、cubemx的配置 开启USART1 打开NVIC中断 二、代码编写 1.主函数 #define RxBuf_SIZE_1 50 //USART1接收缓冲区大小 #define MainBuf_SIZE_1 50 //USAR…

实现会议管理功能

目录 生成原始会议数据 一、数据结构 二、添加测试数据 查询会议列表分页数据(后端) 一、业务分析 二、编写持久层代码 三、编辑业务层代码 四、编写Web层代码 查询成员列表(后端) 一、编写持久层代码 二、编写业务层…

Mybatis-plus——查询条件设置+字段映射和表名映射

查询条件设置 等匹配查询 假如要进行登录查询的话&#xff0c;需要用到如下的等匹配&#xff0c;在实际的登录中应该做md5加密&#xff0c;从查询条件取出密码。 //条件查询LambdaQueryWrapper<mpdb> lqwnew LambdaQueryWrapper<mpdb>();//模拟登陆查询等匹配lqw…

SELF-ATTENTION DOES NOT NEED O(n2) MEMORY

背景 主要是要解决self-attention空间复杂度的问题&#xff0c;因为对于gpu计算来说&#xff0c;内存空间非常宝贵&#xff0c;序列长度较长的时候会出现oom问题。 用线性时间解决self-attention问题 解决数据稳定问题 因为由于进行求和计算&#xff0c;容易导致浮点数超过最…