【NovelAI绘画知识总结】教你理解tag的使用,什么是元素三论,tag排序,权重隔离渲染 您所在的位置:网站首页 英文nove是什么意思 【NovelAI绘画知识总结】教你理解tag的使用,什么是元素三论,tag排序,权重隔离渲染

【NovelAI绘画知识总结】教你理解tag的使用,什么是元素三论,tag排序,权重隔离渲染

2024-07-02 17:05| 来源: 网络整理| 查看: 265

【NovelAI绘画阶段性知识总结】教你理解tag的使用,什么是元素三论,三段式,tag排序,权重渲染隔离。

目录

1.前言

2.什么是元素三论

3.什么是容器,画面层次感

4.什么是广义三段论和标准三段论

5.什么是tag排序,如何tag排序

6.什么是权重调整,tag隐藏属性

7.什么是三目运算(分步渲染) 和 管道运算(循环迭代)

8.什么是隔离绘制(短中长吟唱)

9.未来预测

10.感谢

1.前言

    随着AI绘画越来越火,各个炼丹师,魔法师,咒术师源源不断。我们迫切需要一些比较简短的理论概括这几个月以来的知识总结。再次特别感谢各位up主宝贵的知识分享。还是希望大家好好地观看,内容不多,相信对你也有好的收获。

2.什么是元素三论

    AI绘画可以画出很多想要的,美丽的画。很多人不明白,为何AI总是画不出自己想要的效果,看着别人的魔法和元素法典,不禁潸然泪下。

    首先,要对画面进行掌控。出名的造成画面不能掌控的说法就是元素三论。

什么是元素?可以理解为一个tag,或者称为提示词(Prompt),或者一个对象,用于一定特性的对象。

分别是:元素溢出,元素冲突,元素污染。

    元素溢出,就是元素不在想要的位置出现,生成错误元素或者生成多个相同元素的错误。(多是指结构错误)

    元素冲突,就是某些元素能出现,某些元素和它冲突而不能出现或失效的情况。(多是指同种性质的tag)

    元素污染,多是指,某些元素覆盖但不完全覆盖其他元素,或者某些元素的颜色覆盖到其他元素上。

接下来都是围绕这些问题,提出的些许解决方案,理论在进步,或许有些错误,见谅。

比如接下来 3,4,5 主要解决 元素溢出,6,7 主要解决 元素冲突, 8 主要解决 元素污染。

3.什么是容器,画面层次感

    容器,也可称之为空间,为画面的某一区域划定空间,从而在该空间绘制。(无组织的空间划分)

    目前,我们可以通过某些 位置tag,空间tag,为 对象 (通俗的说是“物”或“物体”,“东西”)划定绘制范围。

    例如,indoors,典型的室内画法,lake,湖。

    人物在场景前面,就是人物画,场景在人物前,人物就会成为容器的成员,也就是人在环境中的一员,类似环境画。

    例如,indoors,against window, sitting on chair ,1girl ,可以生成一个在室内坐在靠窗坐在一个椅子上的一个女孩。

    其次要注意的是,一般tag需要满足规范,例如自然语言上的状语前置,冠词量词省略,比如 the 定冠词可以省略,这样可以满足AI绘画需求和相应的减少词数。

    要画好环境画,则需要理解画面层次感,(AI可能或许不会理解什么是画面层次)。画面层次依次绘图,也是绘画的基本要领。

    比如将画面分为背景人物前景,依次覆盖,物品tag放在人物后面,可以有效防止元素溢出的出现。比如,如果想人抱着瓶子,瓶子就要后面出现。如果先出现了瓶子,再出现人,就会使人出现在瓶子中。这也是强调无论人物画,场景画,山水画,都必须使次要物体晚于主要物体出现。

    原理:ai是从头到尾扫一遍并且向图喷色称为一步step,越先出现的越掌握画面主动权,后面出现的基本上是在容器上补元素,如果元素不够,ai自动帮你补,有可能帮你多补个腿,或者物体出现人脸的情况。

    同样的,如果元素多,画面尺寸小,或者元素少,画面尺寸大,皆会出现元素溢出的情况。

4.什么是广义三段论和标准三段论

    很多up为了尝试解决元素溢出的错误,提出了广义三段术式和标准三段术式,也称为广义三段论和标准三段论。

广义三段论

从语言学上,描述一个东西都可以有这样的形式:“目标,定义,细节”。

而对于计算机语言来说,可以是,“对象实例化,类定义,属性”。

人物画

一副画,这是怎样一副画,画的具体情况→画质画风镜头

一个人,这是怎么的人,人的具体情况(人的五官,穿着是什么,人在做什么)

一个背景,这是怎样的背景,背景的具体情况。背景里的物体,这是怎样的物体,该物体的具体情况。

场景画

一副画,这是怎样一副画,画的具体情况→画质画风镜头

一个背景,这是怎样的背景,背景的具体情况。

一个人,这是怎么的人,人的具体情况(人的五官,穿着是什么,人在做什么)

背景前景里的物体,这是怎样的物体,该物体的具体情况。

    注意物品一定要在人物后面,以免物品出现人脸的掉SAM值情况。

上面就是广义三段论,可以完全符合人工绘画的要点。

标准三段论

前缀(基本前缀+画风词+整体效果器) 也就是 画质画风光线镜头

主体(画面中的主体部分) 也就是人物,场景或是建筑,

场景(背景,环境物品,前景,特效) 补图元素,尽量使得画面得以填充。

三段论的调整

这些理论是灵活的,有序的,有章可循的。

    例如 绚丽术,我们想突出画面特效而使之成为元素法典,可以把特效放置在前面突出特效,例如放在生成人物的前面,使画面变得绚丽。也可以通过加权调整绘画力度,后面了解。

也要再次注意画面填充,尽量画面尺寸和元素数量成正比。

5.什么是tag排序,如何tag排序

    按照广义三段论的要点,每种物体绘制都可以做到一个有规律的由大到小的顺序描述:主要目标->次要目标->更次要目标。

    由于先出现的tag会率先占据画面主体,后面的基本就是辅助填补画面元素。所以,也解释了相应的为什么人物目标和场景目标的关系,也解释了为什么需要tag排序。

    如何进行tag排序,见以前发布的专栏点击查看 如何进行tag排序,或者点击链接https://b23.tv/2kt6Xy0

其中补充

    后面有up觉得画风对画面影响太大,从而放到最后也是可以的,提供一些画面维护。

    艺术家可以是 beautiful detailed sky by xxx,由专门艺术家对指定对象进行绘画,也可以直接放在前面 by xxx,使整个画风变成艺术家的画风,这里by可以省略。

    艺术家社/公司tag/动漫角色 tag 均会导致一些画面改变,慎用。

    以上是解决元素溢出的一些要点,可以通过tag排序尝试解决。

6.什么是权重调整,tag隐藏属性

理论讲完,我们需要施法了,开始使用tag。

    许多新人不知道括号有什么用。

    {}大括号是naifu的加权符,()中括号是web-ui的加权符,[]中括号是两者的减权符。其中每加一层,权值变为原来的1.1倍。[]减权,即权值除以1.1 约(0.91)。但大括号在 WEB-UI 中并没有用,在官方网站上则会增加为 1.05 倍权重。

(prompt)

(prompt:权重乘数)

    外层一定是小括号而非其它括号。例如 (white hair:1.1) 增加权重。除了整词附加权重,也可以对形容词等加局部权重,如 (white:1.1) hair,

    由于利用权值乘数可以有效控制权重。但步数过高权值会加深,也侧面明白步数过大可以修手(据说一般在120步左右),但过于大的权重并且高步数会导致画面失衡。

而直接加括号的效果如下。

(prompt)  ===  (prompt:1.1)

((prompt))  ===  (prompt:1.21) ....

减权同样的道理。

    利用数学或计算机语言来说,是一个函数f(x),加一层则是f(f(x)),具有结合率,因为前后顺序会影响生图,所以不具有标准的交换率,更不具标准的分配率。

(可跳过)相应的代码是(助于理解(不是))      //所以加权也称为赋值语句

    我们可以调整tag权重使一些元素着重出现。这样可以一定程度解决元素冲突,这也是大多数人的常规做法。

    什么是tag隐藏属性?tag隐藏属性 指 tag本来拥有的属性,即我们不需要去为该对象赋属性的 tag 。

    比如 maid女仆,AI可能会自动给它赋女仆装的tag,让它拥有该属性。

    比如 elf精灵,也可能会自动给它赋尖耳朵的属性,在绿森林的属性。

    种种本来拥有属性的实体对象,皆有隐藏属性,可以用其他属性对其进行元素冲突而覆盖。隐藏属性有好有坏,一般的,我们使用1girl这个隐藏属性少的tag来使用,进行属性DIY。

    比如加上画风tag,艺术家tag,再加上某一动漫角色的tag,再进行其他属性的DIY,就可以生成想要的角色特性,例如五更琉璃的公主切,因为常规的hime_cut不能实现想要的结果,所以我们引用其他角色的属性来生成想要的效果。注意一点:某些tag的隐藏属性权重过于大,比如五更琉璃的黑发,需要用其他颜色加很多权才能压住。

7.什么是 三目运算(分步渲染) 和 管道运算(循环迭代)

    为了AI绘制符合预期,我们需要过程化控制绘图节奏。哪些步不画,哪些步骤不画。这时候我们引入三目运算和管道运算。通俗的就称为 分步渲染 和 循环迭代。这些被称为”高阶语法“。详见《元素同典》。

    以下用[]中括号包裹。()小括号包裹的:是赋值,[]中括号:是分步。

分步渲染  if

首先介绍分步描绘的几种形式:

[from:to:step]

[:to:step] (不建议)

[to:step] (不建议)

[from::step] (不建议)

    也就是 它的作用是让 prompt 在达到 step 之前被视为 from,在达到后视为 to。若是在对应位置没有 from 或者没有 to 则视为空。step 为大于 1 的整数时表示步数,为小于 1 的正小数时表示总步数的百分比。

    比如 a girl with [green hair:red hair flower:0.2],在前20%步数绘制绿头发,后面80%绘制红色花饰,由于没有进行隔离绘制(元素绑定),所以会造成一定的元素污染。

分步描绘具有视觉延后性,比如会在4步后才有视觉效果。

分步描绘可以提前生成画面主导元素,大幅影响后面元素的构图布局。可以一定程度解决元素溢出和元素冲突。

在最新版中,分步描绘可以嵌套,形如 [from:[to:end :step2]:step1] 的语句是可以被正确识别的。且分步描绘现在支持逗号分割,形如 [1 girl, red hair: 2 girls, white hair:0.3] 的语句也可以被正确识别。

from和to都可以省略,从而达到控制步数的效果。

(可跳过)用计算机编程语言来说就类似于三目运算符

循环迭代  for

循环迭代又称融合描绘,我们都知道furry等合体技可以用融合来表示,常见的有三种融合例如

[dog|cat]  (融合型),

dog cat hybrid (杂交型),

dog made of cat (制作型),

都可以进行对象的融合,而其中的融合型就是接下来要说的。

然后介绍融合描绘的两种方式:(w代表权重)

[A | B]

[A:w1 | B:w2]

它们还有各自对应的可无限延长版:

[A | B | C | ...]

[A:w1 | B:w2 | C:w3 | ...]

对于形如 [A | B] 的第一种,AI 将在 第一步画 A、第二步画 B、第三步画 A...交替进行。

而对于无限延长版,则变为 第一步画 A、第二步画 B、第三步画 C...循环往复交替进行。

这种[]带中竖线中的:也是权值赋值,可以进行加权。

对于形如 [A:w1 | B:w2] 的第二种带权重版本,截至这句话被写下时仍由 NAIFU 端独占(且本语法在 NAIFU 端的中括号是不必要的),如果强行加入webui会被视作一个带数字的tag。当然,WEB-UI 有着看上去类似的 [(A:w1) | (B:w2)] 语法,但它的本质其实是嵌套了一层加权。

不可嵌套,但允许局部名词混合。如 a [dog|cat] on ground,

(可跳过)这种循环迭代的方式在一些编程语言的意义是按位或,不符合预期,但可以当做&&。并且也可以把它当做批处理的管道运算符 | 或者 依次处理 &&。

    以上都可以通过调整步数绘画来达到减少元素溢出和元素冲突的可能性。

8.什么是隔离绘制(短中长吟唱)

    很多人不知道怎么画两个人,或者怎么防止颜色对周围元素的破坏。这里我们采用隔离绘制。

    隔离绘制,是短元素,中元素,长元素 用法 或者 短中长吟唱 的总称。 咏唱大致有着三种不同形式——最常见的直接咏唱、稍不常见的短句咏唱和堪称自然语言一般的长咏唱。

    假设生成一个红眼,黄发,白衣,粉裙,白色过膝袜,坐着的美少女。一般的直接咏唱会导致颜色污染。

直接咏唱(pitch 式咏唱):

masterpiece, best quality, full body ,sitting , 1 girl , (red eyes),(yellow hair),(white clothes),(pink skirt),(white kneehighs),

短句咏唱(AND 强调咏唱):

masterpiece, best quality, full body ,sitting , 1 girl , (red eyes) AND (yellow hair),(white clothes) AND (pink skirt) AND (white kneehighs),

长咏唱(自然语言咏唱):

masterpiece, best quality, full body ,sitting , (1 girl with red eyes and yellow hair wearing white clothes and pink skirt with white kneehighs),

注意短句咏唱的 AND 必须是三个大写字母,AND 两侧的小括号是不必要的(但建议加上),这是一个专用语法。短句强调吟唱类似于属性绑定,把该对象具有的属性绑定起来,使之具有一定稳定性。此外,该语法并不能应用于所有采样方法,例如 DDIM 就不支持 AND,会导致报错。

长句咏唱,类似于对象外绑定属性,用自然语言介词with或者动词的现在分词wearing连词and,等能够良好的把属性绑定到相应的对象,从而实现隔离渲染。用 对象 with 属性  动名词  and 名词 绑定到对象上,提高tag稳定性。

魔法师们最常用的直接咏唱总是难以很好地绑定元素颜色,短句式咏唱错误的视觉占比变小了,长咏唱没有出现明显元素颜色错误,很好地处理了各个颜色与元素的绑定关系。

    综上,元素污染仍是多人物绘制头疼的一大问题。通过tag排序,分步加权 , 自然语言,能够有效的防止元素溢出,元素冲突,元素污染的发生。

9.未来预测

    我们现在也都知道emoji也可被识别,赋予了编码一样的tag,生成了相应的图,似乎说明了也可以通过组合emoji来控制画面位置等其他用途,希望炼丹师魔法师们推动理论进步(doge)。

未来我预测tag会逐渐更新更多可操作的东西。

编程语言tag写法说

    可以引入if,for等条件循环控制,但类似的,分步渲染类似if,循环迭代类似for,两者配合使用也可以达到for的效果,这些可以近似联想。也可以引入更多符号,来控制元素位置,像素级操作。使写tag能像写代码一样”可控“。这是一种思路。

自然语言tag写法说

    编程对于大多数人来说不具有普适性,那么就需要更多介词分词等来操作元素。可能现在已经有了很多可用的介词,只是我们不知道。那么就随着时间,去发现它吧。

10.感谢

以上是我对最近大家和我成果的简短性总结。欢迎大家去查看原版内容。

感谢各位大佬提供的理论和实验支持!

感谢

感谢NovelAI贴吧官方频道,元素法典制作协会,困困眠眠不想睡,凌霜雪猫,沐蓉-残心,以及其他人的理论支持。

感谢NovelAI爱好者交流群,NovelAI交流频道 等群等成员的支持。

感谢观看。

总结截止2022年11月9日,如有新知识,此为借鉴。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有