2023-11-19
在这里,我们首先通过一个简单的例子,逐步学习如何应用分区提示词技术。然后,学习如何结合 ControlNet 更好地使用分区域提示词。
Regional Prompter 插件的远程仓库存储地址如下: https://github.com/hako-mikan/sd-webui-regional-prompter 。
安装插件有两种方式:
安装成功后,出现在文生图片和图片的标签页上 Regional Prompter 下拉列表,可以在不同的区域设置提示词。
下面我们通过一个简单的例子来解释 Regional Prompter 使用插件。为了测试效果,我们先用一个特别简单的提示词来尝试。
假设我们想形成一张包含一个男人和一个女人的照片。一个男人和一个女人可以用下面的提示词和反向提示词得到:
正向提示词:a man and a woman
反向提示词:disfigured, ugly
例如:

看上去还不错。但是如果要更具体的点该怎么办呢?比如想形成一个黑发男人和一个金发女孩,很自然,我们会这样写提示:
a man with black hair, a woman with blonde hair
生成图可能如下:




Stable Diffusion 有时候会搞混属。有时我们会被描述,但更多的时候,Stable Diffusion 会搞混哪种头发颜色应该和谁结合。有时我们会被描述,但更多的时候,Stable Diffusion 会搞混哪种头发颜色应该和谁结合。如果你想进一步了解特定衣服的颜色,那就更难了。
这到底是怎么回事?为什么这么简单的事情,Stable Diffusion 你做不到吗?这是因为 self-attention 系统错误地将头发的颜色与人物联系起来。
这个问题有一个解决办法:黑发男人的提示词只特定在图像左边,金发女孩的提示词特定在图像右边。
要使用 Regional Prompter,按以下步骤操作:


a man and a woman, a man with black hair
BREAK
a man and a woman, a woman with blonde hair
提示词使用关键词 BREAK 隔开。所以上面有两个提示词,第一个提示词会应用到区域 0.第二个提示词将应用于区域 1。
反向提示词为:
disfigured, deformed, ugly
因为反向提示词没有 BREAK,因此,将整个反向提示词应用于两个区域。
下面是我们得到的几张照片:




Stable Diffusion 会到地区 0 (左)形成一个黑发男人,在区域 1(右)形成一个金发女郎。
请注意,这不是 100% 合理。
请注意,这不是 100% 合理。根据我的经验,只有 75% 成功概率。但还是比完全看运气好很多。
你可能已经注意到两个提示词都有自己共同的部分:
a man and a woman, a man with black hair
a man and a woman, a woman with blonde hair
如果没有共同的部分,Stable Diffusion 只会产生一个人:
a man with black hair
a woman with blonde hair
原因是左右两个区域的提示只描述了一个人,所以只有一个人!我们应该告诉我们 Stable Diffusion 这是一张有两种人的照片:一个男人,一个女人。我们应该告诉我们 Stable Diffusion 这是一张有两种人的照片:一个男人,一个女人。这就是为什么必须一起提示“a man and a woman" 的原因。
选定
Use common prompt

BREAK
a man with black hair
a woman with blonde hair
我们上面有三个提示:(1)公共提示;(2) 地区 0 提示词;(3)区域 1 的提示词。可以导入每个区域的公共提示开始。可以导入每个区域的公共提示开始。
事实上,公共提示词只是一种语法糖:相当于初始提示词的内容。
应用 Regional Prompter 秘诀是准确定义区域。在这一节中,我可以表达如何设置它
切分比(divide ratio)
,以我们想要的方式划分图像。如何正确指定区域可能无法理解或难以记住,因此可以单击
生成区域图。
在一维区划中,区域可以水平或垂直划分。
如果要水平划分区域,那就是
divide mode(区划方式)
中挑选
。每个区域都用逗号分割的数据来描述。数字意义区域的大小。
切分比例:
1,1
1,1,1
1,2,1
垂直划分方法相似,但垂直划分区域。以下是一些切分比的例子:
1,1
1,1,1
1,2,1
在一张图片中,可以同时垂直划分和能力划分。这时候挑选
每一行都是用逗号分隔的一系列数据,比如 1,1,1。
下面我们来看几个例子。
1,1,1; 1,1,1

每行有两个宽度相同的区域 (1,1)。
一共有 4 个区域。
最后,让我们来看看一个更复杂的例子。了解了这个例子,就明白了区域规划的全部内容!
第二行有 2 总宽分别为个区域 1 和 2 (1,2)。
一共有 5 个区域。
假设大家都在尝试真实的图片。我想出了下面的提示。
模型:Lyriel v1.5
提示词:
a witch, highly detailed face, half body, studio lighting, dramatic lighting, highly detailed clothing, looking at you, mysterious, dramatic lighting, (full moon:1.3), (beautiful fire magic: 1.2)
反向提示:
underage, immature, disfigured, deformed



这些照片很好,但月亮和火的部分还没有被操纵。在得到想要的东西之前,我们只能不断地点击形成按钮。在得到我们想要的东西之前,我们只能不断地点击形成按钮。此刻 Regional Prompter 派上用场。
Use common prompt: Yes
Divide ratio: 1,1,1;2,1,1
提示词:
BREAK
(full moon:1.3)
BREAK
BREAK(beautiful fire magic: 1.2)


接下来,我们把月亮放在右上角(地区) 1)将火放在左下角(区域) 2)。
BREAK
BREAK
BREAK
(beautiful fire magic: 1.2)BREAK


同样,我们应该知道,区域提示并不总是100%合理。因此,最好一次形成更多的图片。
不同区域的提示器可以指定每个区域的提示词,但它不能控制整个图像构图。但是,有一个工具可以做到这一点。这个工具就是 ControlNet。
让我们来看看两个例子。搭配使用这两个例子 Regional Prompter 和 ControlNet,在没有他们的情况下,我们只能实现梦想的控制水平。

a mysterious wizard , highly detailed face, highly detailed clothing, cinematic, dark, horror, worn stone wall, ancient symbol, old mystical torn scroll, wolf, many skulls

反向提示:
underage, immature, disfigured, deformed
模型: Lyriel v1.5

这些图片挺好的,感谢我的提示词方法。
但这并不完全是我想要的。
但这并不完全是我想要的。也许我不明白她在研究秘药书店。让我们重新安排提示:
a mysterious wizard
studying old mystical torn scroll

现在,形成的图片更接近于我脑海中的想法。但我还没有办法操纵巫师的姿势及其放大到多近。但我还没有办法操纵巫师的姿势及其放大到多近。

很自然,下一步就是应用。 ControlNet 操纵姿态。在这里,我假设大家都好了。 ControlNet 并且知道怎么玩软件。
我可以参考这张压箱底的图片。将参考图像上传到图像画板,也可以直接拖动参考图像。
第 2 步.
。

第 4 步
. 选择模型下拉列表
。
或者使用以下流程浏览获取姿势:
选定
Allow Preview
模型下拉列表旁边会出现一个看起来像爆炸的新标志。点击标志浏览姿势。
现在,我向前迈进了一步,修复了巫师的姿势。如今巫师一直坐着,可以展示他的全身。
但是,特定区域的提示词仍然缺乏机制。大家都知道我要说什么。是的,加上分区域提示词!
Active


采用
水平划分方法(Horizontal Divide mode)
应用公共提示词(Use common prompt)
。
我们必须把图分成两部分 4 个区域。
切分比(Divide Ratio) 为:
全图: 一个巫师
地区 0: 含有古代符号的石墙
地区 1: 巫师在读一本秘药书
地区 3: 一些颅骨
因此,提示词是:
a mysterious wizard , highly detailed face, highly detailed clothing, cinematic, dark, horror
BREAK
BREAK
old mystical (torn scroll :1.2)
worn stone wall, (wolf:1.5)
BREAK
请注意,我在这里增加了一些关键词的权重。否则,这个东西可能不会出现。否则,这个东西可能不会出现。
现在,己经可以完全控制狼、颅骨和神秘符号的位置。请参见下图。
假设我们想形成一些照片,照片中是一位棕色头发、黄色衬衫和蓝色连衣裙的女士(a woman with
brown hair, yellow blouse and blue dress
让我们来看看一些使用以下提示词的例子:
full body photo of young woman,
natural brown hair, yellow blouse, blue dress
大家会发现 Stable Diffusion 即兴发挥!颜色混合在一起...
可以使用色调分布 Regional Prompter 解决。在下面,我们将图像垂直分为垂直图像 3 个部分。
Divide ratio: 1, 1, 1.5
Use common prompt: Yes

提示词:

BREAK
natural brown hair
(yellow blouse: 1.3)
BREAK
Divide mode: Horizontal
Model: Lyriel v1.5
a beautiful wild park, path to freedom, courage and love, national geographic photo of the year
spring, trees, birds, green grasses, (sunny, wild flowers:1.2), god ray, clear sky
BREAK
BREAK
thunderstorm, rain
winter, heavy snow, barren trees
反向提示: