使用【SD-WEBUI】插件生成同一张图包含多个人物:分区域的提示词

news2024/12/23 11:07:20

文章目录

  • (零)前言
  • (一)潜变量成对(Latent Couple)
    • (1.1)可自组LoRA(Composable LoRA)
  • (二)分区扩散(Multi Diffusion)
    • (2.1)区域提示控制(Region Prompt Control)
  • (三)分区域提示词(Regional Prompter)
    • (3.1)蒙版分割+提示词分割
  • (四)总结

(零)前言

本篇主要提到几个插件,可以让一张图中包含多个人物,我也企图包含多个LoRA模型人物,但目前并不完美。
更多不断丰富的内容参考:🔗《继续Stable-Diffusion WEBUI方方面面研究(内容索引)》

(一)潜变量成对(Latent Couple)

参考:https://github.com/ashen-sensored/stable-diffusion-webui-two-shot
可以从WEBUI中直接安装。

其实它的仓库名字是“双人特写”,用法参考官网。
也可以看看这位同学的 Bilibili的教程视频,我觉得写得很详细了。

简单说大概是用参数:

  • 分割(Divisions),比如:1:1,1:2,1:2,意思:整体区域,一半区域,一半区域
  • 位置(Positions),比如:0:0,0:0,0:1,各个区域(这里3个区域)的起始位置坐标x:y
  • 权重(Weights),比如:0.2,0.8,0.8,各个区域提示词的权重。
  • 迭代止步于(end at this step),分区迭代多少步数。

哦,对了,它可以把你写的参数转换为区域的预览图(方便检查是否正确):
请添加图片描述

再配合提示词写为{全局提示词} AND {区域1提示词} AND {区域2提示词}来配对上面的区域划分。比如:

2girls, upper body, outdoors, blurry background
AND 2girls, upper body, outdoors, blurry background, <lora:FBB_v1.0:0.7>
AND 2girls, upper body, outdoors, blurry background, <lora:XYJY_v1.0:0.7>

再配合下面的【可自组LoRA】插件,画出了下面的2者都不像图片😓,嗯?:
请添加图片描述

(1.1)可自组LoRA(Composable LoRA)

参考:https://github.com/opparco/stable-diffusion-webui-composable-lora
可以从WEBUI中直接安装。

不装这个插件的话【潜变量成对】也能用,但是不能处理LoRA模型。
装了它以后,虽然看别人的二次元动漫很完美,可是真人LoRA画出来就是不像。

选项就启动第一个,不需要截图了吧。

(二)分区扩散(Multi Diffusion)

参考:https://gitcode.net/ranting8323/multidiffusion-upscaler-for-automatic1111
可以从WEBUI中直接安装。

参考官网,它的功能其实不只是分区域的提示词,主要功能包括:

  • 生成大型图像(以及放大图像)
  • 极大降低VAE编解码大图所需的显存开销
  • 区域提示控制

(2.1)区域提示控制(Region Prompt Control)

其他部分功能参考官网吧,这里不提了。

这个区域提示控制部分的特点是,你可以画区域,而不是写参数,所以非常直观,如下图:
第一个区域设置为背景(红框)
第二个区域设置为前景(橙框)
第三个区域设置为前景(黄框)
请添加图片描述

提示词和前面一样,只是需要分别写入你激活区域对应地方就OK。生成结果如下:
人物甚至背景总是分得很开(依然不像)。
请添加图片描述

(三)分区域提示词(Regional Prompter)

参考:https://github.com/hako-mikan/sd-webui-regional-prompter
可以从WEBUI中直接安装。

用法稍微复杂一点点,之前也是用参数控制区域,分横竖方向和进阶的网格区域。
官方的例子详细解释了怎么分区的。
提示词:

(blue sky:1.2) ADDCOL
green hair twintail ADDCOL
(aquarium:1.3) ADDROW
(messy desk:1.2) ADDCOL
orange dress and sofa

分区参数:

Divide mode : Horizontal
Divide Ratio : 1,2,1,1;2,4,6

得到这样的结果:
在这里插入图片描述
那个分割比例设置稍显复杂,好在也是可以预览的。
在这里插入图片描述

回到前面的例子,正常左右1比1分割。
几乎和前面一样的提示词(必须修改一点,2个左右区域至少要个ADDCOL),
生成了下面简单的例子(依然不像):
请添加图片描述

(3.1)蒙版分割+提示词分割

我正在写呢,突然发现它更新了,可以用蒙版和提示词来分割(而不是难以理解的数字)。
蒙版分割可以参考官网。提示词分割很有意思(也可以参考官网),虽然是实验性质的。

如果我想在外套上画草莓,常规的方式根本不画,如果太强调画草莓,则可能凭空出现真实的草莓(很诡异)。
这时候用提示词分割就很有效,比如:

左图常规方式,完全没画出衣服上的草莓,但又不敢加强草莓提示:

1girl, ......, turtleneck sweater, strawberry printed overcoat, outdoors on street, blurry background, ......

右图启用了提示词分割😄:

1girl, ......, turtleneck sweater, overcoat, outdoors on street, blurry background, ......, BREAK
(strawberry printed:1.5) overcoat

在这里插入图片描述
还有个提示词(EX)模式:

在提示词模式中,重复的区域被添加。
而提示词(EX)模式中,重复的区域是按顺序覆盖的。由于它们是按顺序处理的,所以先设置一个大面积的目标,使小面积的效果更容易保持不被削弱。

虽然没看懂,但应该是字面的意思没错啦,哈哈。
像上面简单的草莓外套的例子,因为没有重复和覆盖的问题,所以两个提示词模式生成的图片一样。

这部分和画双人无关。
但是看得出分区域提示词(Regional Prompter)的改进还是很大的。

(四)总结

从直观感觉上,不像的原因是LoRA的特点似乎在相互侵蚀(污染)并没有真的分别被控制在不同的区域中。
有时出图很离谱,需要多调节参数,但无论怎么调也只能让图很自然,就是不像。

PS:你能猜到上面是哪两位LoRA么……

如果去掉LoRA则多试几次基本就能得到描述的样子,比如:

2girls, upper body, outdoors, blurry background, open mouth, crying sad, eyes closed, sky blue hair, long hair,  white shirt,  ADDCOL 
2girls, upper body, outdoors, blurry background, closed mouth, light smile, red hair,  short hair, Asian, blue overcoat, 

得到了:
请添加图片描述

不过很多人的例子里二次元动漫,明明有LoRA。
为什么看上去还是那么完美呢,真是不明白。

当然分区控制不仅是为了画2个人,也可以上有蓝天右边太阳,下有草地左边池塘,这种用法。

所以这篇相当于没有写(吧?)。


🤪 to be continued…

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

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

相关文章

测试用例常见设计方法

1.基于需求的设计方法 主要从以下方面进行思考&#xff1a; 2.等价类法 将输入的数据等价划分成几个类&#xff0c;从每个类里面选出一个测试用例&#xff0c;如果这个测试用例通过&#xff0c;说明这一个类的测试用例都通过 有效等价类&#xff1a;满足输入数据要求的类 无…

rosbag相关进阶操作

一些很好用的网站 时间戳在线转换网页 旋转矩阵、四元数、绕轴旋转、欧拉角在线转换网页 四元数、欧拉角可视化在线转换网页 一、按时间截取bag 使用如下代码&#xff1a; rosbag filter 原始包名.bag 截取后的包名.bag "t.to_sec() > 开始时间 and t.to_sec() <…

如何导出windows平台下cloudflare warp内部存的私钥和token

结论&#xff1a;管理员身份运行 mimikatz&#xff1a;https://github.com/gentilkiwi/mimikatz/releases/tag/2.2.0-20220919 然后输入&#xff1a; privilege::debug &#xff08;提升权限到&#xff1a;NT-AUTHORITY\SYSTEM&#xff09;以及sekurlsa::credman 就能看到&…

免费使用GPT4.0?搭载多模态的全新New Bing开放使用教程(文末送书)

目录 1 微软发布新必应2 支持文本生成图像3 支持多模态回答4 历史记录和回答导出5 支持插件化导入本期图书推广 1 微软发布新必应 5月4日&#xff0c;微软基于ChatGPT的搜索引擎New Bing发布了一次大规模更新&#xff0c;并宣布已开放给所有用户&#xff0c;现在无需再排队等待…

前端技术搭建弹珠小游戏(内附源码)

The sand accumulates to form a pagoda ✨ 写在前面✨ 功能介绍✨ 页面搭建✨ 样式设置✨ 逻辑部分 ✨ 写在前面 上周我们实通过前端基础实现了小人逃脱&#xff0c;当然很多伙伴再评论区提出了想法&#xff0c;后续我们会考虑实现的&#xff0c;今天还是继续按照我们原定的节…

sentinel 随笔 3-降级处理

0. 像喝点东西&#xff0c;但不知道喝什么 先来段源码&#xff0c;看一下 我们在dashboard 录入的降级规则&#xff0c;都映射到哪些字段上 package com.alibaba.csp.sentinel.slots.block.degrade;public class DegradeRule extends AbstractRule {public DegradeRule(String…

redis(1)---redis的安装以及五大基本类型的使用

一)认识NoSQL 格式化数据VS格式化 1)SQL关系型数据库&#xff0c;在关系型数据库里面表中的字段是有限制的&#xff0c;况且最好不要随意删除修改表结构&#xff0c;存入到关系型数据库中的数据&#xff0c;都是结构化的数据&#xff0c;对于这些数据都是必须要有格式化的要求&…

sentinel 随笔 2-流控

0. 想要个半个月的旅游 最近发现算法比较有意思一些&#xff0c;什么企业框架都是看不完的… 书接 FlowSlot 1. FlowRuleChecker.checkFlow() : 配置的规则校验类 sentinel 并没有对这个Checker进行抽象的设计&#xff0c;第一次看有些别扭… package com.alibaba.csp.sent…

01- 综述 (目标检测)

要点&#xff1a; 区分One-stage detector 和 Two-stage detector 参考链接&#xff1a;深度学习目标检测最全综述 - 爱码网 详细模型解读参考&#xff1a;目标检测简介 - 知乎 一 目标检测分类 1.1 发展历程 检测网络发布历程&#xff1a; 1.2 检测模型分类 2014年后目标…

C嘎嘎~~ [类 下篇之运算符重载]

类 下篇 之运算符重载 5.赋值运算符重载5.1运算符重载5.1.1 运算符的概念5..1.2 重载运费符的位置5.1.3运算符重载的实质 5.2 赋值运算符重载5.2.1深刻理解---编译器生成的默认赋值运算符重载5.2.2深刻理解---拷贝构造和赋值运算符重载5.2.3深刻理解---传参和返回值用引用修饰…

CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some

问题描述&#xff1a; 在修改代码时&#xff0c;出现入下报错。 发生异常: RuntimeError CUDA error: device-side assert triggered CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect. For debuggi…

Android Switch开关按钮使用和自定义样式(系列教程五)

Switch开关按钮简介 Switch开关按钮是Android中的基本控件之一&#xff0c;其本质上也是一个按钮&#xff0c;具有开和关两种展示状态。 Switch开关按钮基本使用 在布局文件中定义开关按钮&#xff1a; <LinearLayoutandroid:layout_width"300dp"android:layo…

Vivado安装后添加器件库

1.前言 通常安装Vivado时&#xff0c;由于软件完整安装的空间需求过于庞大&#xff0c;一般只会选择一部分器件进行安装。而随着学习和工作的进展&#xff0c;遇到新的赛灵思朋友是成长的里程碑&#xff0c;也是综合不能通过的绊脚石。 今天有幸认识了一位新的赛灵思朋友——…

云原生: istio+dapr构建多运行时服务网格

2020 年&#xff0c;Bilgin Ibryam 提出了 Multi-Runtime&#xff08;多运行时&#xff09;的理念&#xff0c;对基于 Sidecar 模式的各种产品形态进行了实践总结和理论升华。那到底什么是多运行时呢&#xff1f;首先还是得从分布式应用的四大类基本需求讲起。简单来讲任何分布…

刷题练习3

文章目录 题目一分析题解 题目二分析第一种第二种 题解第一种方法代码第二种方法代码 题目一 题目链接 描述 读入一个字符串str&#xff0c;输出字符串str中的连续最长的数字串 输入描述&#xff1a; 个测试输入包含1个测试用例&#xff0c;一个字符串str&#xff0c;长度不超…

牛顿迭代法解超越方程

牛顿迭代法解超越方程 L g T 2 2 π t a n h ( 2 π L d ) L\frac{gT^2}{2\pi}tanh(\frac{2\pi}{L}d) L2πgT2​tanh(L2π​d) 方程&#xff1a; f ( L ) L − g T 2 2 π t a n h ( 2 π L d ) 0 f(L)L-\frac{gT^2}{2\pi}tanh(\frac{2\pi}{L}d)0 f(L)L−2πgT2​tanh(L2π…

~项目启动~

rmq是什么&#xff1f; "rmq" 可能指的是 "RabbitMQ"&#xff0c;它是一种开源消息队列软件&#xff0c;采用 AMQP&#xff08;Advanced Message Queuing Protocol&#xff09;协议&#xff0c;可以用于支持异步处理、任务分发、解耦合等应用场景。Rabbit…

仪表检测与读数(一):仪表检测

基于YOLOv4的仪表检测 前言YOLOv4源码下载数据集处理与模型训练模型性能测试 前言 本系列是想记录一下自己实现的一种用于仪表检测与读数的方法&#xff0c;首先方法仅针对于单指针仪表和单行显示的数字仪表进行了检测与读数方法的设计。方法的整体思路是&#xff1a;第一步对拍…

[ 云计算 | Azure ] Chapter 06 | 计算服务之虚拟机、虚拟机规模集、Azure 容器、Azure App 与 Azure Functions

本系列已经更新文章列表&#xff08;已更新&#xff09;&#xff1a; [ Azure 云计算从业者 ] Chapter 03 | 描述云计算运营中的 CapEx 与 OpEx&#xff0c;如何区分 CapEx 与 OpEx[ Azure 云计算从业者 ] Chapter 04 | Azure核心体系结构组件之数据中心、区域与区域对、可用区…

【Qt】插件Plugin入门之Q_PLUGIN_METADATA()宏【2023.05.07】

摘要 分析Q_PLUGIN_METADATA宏的设计意图&#xff0c;站在设计者的意图进行插件的高屋建瓴式学习。 Meta-Object Compiler 简称MOC Qt 的 Meta-Object Compiler&#xff08;MOC&#xff09;是一个预处理器&#xff0c;用于处理带有特殊关键字的 C 文件&#xff0c;并生成用于…