最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

【AI繪畫】完整tags書寫思路,從人工智能理論來了解如何繪畫

2022-11-15 15:26 作者:凌霜雪貓  | 我要投稿

摘要

本文希望通過研究Stable diffusion模型來理解我們使用過程中發(fā)現(xiàn)的種種神奇的語(yǔ)法和現(xiàn)象。為什么順序公式會(huì)有順序?為什么屎山出圖很漂亮?為什么ai畫不好手?為什么短句描述比較好?為什么ai is sb?

文章介紹了novel ai所使用的stable diffusion模型的具體運(yùn)行過程。這能夠幫助我們理解一些使用過程的發(fā)現(xiàn)的有趣現(xiàn)象。甚至更近一步獲得一種通行的、模板化的tags書寫流程。

第一部分為AI的運(yùn)作過程科普,如果看不懂可以直接看第二部分


一、AI是怎么運(yùn)作的

novel ai作為一款人工智能生成軟件,不管是根據(jù)描述生成文章還是根據(jù)描述生成圖片,其人工智能的核心要點(diǎn)都包含兩個(gè)部分:藍(lán)色的用于理解描述的自然語(yǔ)言處理器和紅色的用于生成結(jié)果的生成器。

對(duì)輸入表述的解析,就是處于自然語(yǔ)言解析階段。在這一階段,它將文本信息轉(zhuǎn)換為數(shù)字表示,從而捕捉文本中的想法。對(duì)于不同的文本,其轉(zhuǎn)換為的數(shù)字量也有區(qū)別,這就是顯示在我們輸入框右下角的輸入量。

在訓(xùn)練embedding的時(shí)候,我們也被要求選擇embedding詞所代表的向量數(shù),這個(gè)向量數(shù),就是我們要訓(xùn)練的詞會(huì)被解析成的數(shù)字量。之后我們統(tǒng)一使用輸入量來稱呼這個(gè)數(shù)量。

被藍(lán)色的自然語(yǔ)言處理器解析后的輸入表述會(huì)通過CLIP網(wǎng)絡(luò)結(jié)合圖像,以數(shù)組的形式保存下來,即下圖中藍(lán)色方格的token embedding。

CLIP網(wǎng)絡(luò)就是理解tags如何被寫入模型的關(guān)鍵點(diǎn)。下圖就是CLIP網(wǎng)絡(luò)在訓(xùn)練過程中是如何將tags與圖像進(jìn)行結(jié)合的。


輸入描述和圖片在分別經(jīng)過兩個(gè)神經(jīng)網(wǎng)絡(luò)(Encoder)變成了計(jì)算機(jī)更容易理解的數(shù)字編碼后,進(jìn)行了一個(gè)對(duì)比訓(xùn)練,從而將描述詞和圖片一一對(duì)應(yīng)上。這個(gè)過程中就訓(xùn)練這兩個(gè)Encoder。這兩encoder就會(huì)在之后的txt2img或者img2img中發(fā)揮作用。


我們拿到手里模型都是訓(xùn)練好的,實(shí)際使用的時(shí)候其實(shí)就是一個(gè)直接獲得結(jié)果的過程,


在CLIP里面即第一部分里,encoder會(huì)有順序的一個(gè)一個(gè)編碼輸入的tags,然后在諸多的可能性里面,計(jì)算出最接近的token。

每一組輸入詞會(huì)形成一個(gè)token集合,這個(gè)集合可以看住是一個(gè)數(shù)組。這個(gè)數(shù)組會(huì)與高斯噪聲結(jié)合輸入到紅色圖像生成器中,即上圖的第二部分。這一組詞就會(huì)同時(shí)去生成圖塊。如果tags過長(zhǎng)就會(huì)有多個(gè)這樣的分組,每一組詞生成完成后,就會(huì)立刻生成下一組詞,然后將它們的圖塊結(jié)合在一起。

這就是為什么我們說tags的輸入一定要講求順序的原因的。

數(shù)組里面的數(shù),完整輸入進(jìn)圖像生成器后,并生成了一副模糊的圖像時(shí),這就是一個(gè)step。

下一個(gè)step的時(shí)候,數(shù)組里的數(shù)會(huì)和上一輪生成的圖像一起輸入紅色生成器,來生成一個(gè)更接近需求的圖像。這樣的反復(fù)過程就是迭代。

最后黃色的圖像放大器了,幫助我們把一副小的圖像放大成我們想要的圖像大小,并在過程豐富細(xì)節(jié)。

AI工作流程的總結(jié)

總結(jié)一下我們的輸入是怎么變成圖像的。

第一步,我們輸入的詞句,會(huì)被藍(lán)色的自然語(yǔ)言處理器解析成一個(gè)個(gè)數(shù)字,存進(jìn)藍(lán)色的數(shù)組中。

第二步,這個(gè)輸入數(shù)組會(huì)按順序結(jié)合高斯噪聲輸入到紅色的生成器中,生成粗糙的圖像。

第三步,將粗糙的圖與輸入數(shù)組重復(fù)第二步,對(duì)生成的圖像進(jìn)行迭代

第四步,將迭代完的輸入黃色的放大器,擴(kuò)大圖像分辨率,使圖像細(xì)致。


我們知道了什么:

通過這個(gè)過程,首先我們可以看到,為什么ai畫不好手腳,因?yàn)閍i在生成圖像的過程中,圖像都是以一個(gè)小尺寸在進(jìn)行迭代,最后再進(jìn)行放大。像手,腳趾這類細(xì)小的物體,一開始占據(jù)的原始像素就少,所以放大后效果也不好。

另一點(diǎn)就是,ai讀取的文本是有順序性的。而且這點(diǎn)是寫入他DNA的。

最后就是,我們手動(dòng)寫的單詞性的tags,其實(shí)就是幫ai做了藍(lán)色自然語(yǔ)言處理里的詞句分割工作。

另一方面,在webui里,雖然現(xiàn)在能寫入超量的輸入量,但是webui會(huì)自動(dòng)把過長(zhǎng)的輸入量按照最長(zhǎng)75個(gè)輸入量一組的形式放入CLIP。也就是說,如果很有可能寫一個(gè)長(zhǎng)句或者說獨(dú)立單詞組時(shí),你所給出的形容詞和名詞卻被分到了兩個(gè)不同的組。這就會(huì)照成污染。

這個(gè)分組的長(zhǎng)度可以在設(shè)置里面調(diào)整(默認(rèn)是20)

?

基于以上這些結(jié)論,我們可以推斷出:

1、為什么長(zhǎng)句和強(qiáng)短句,比零碎的單詞污染少?因?yàn)榱闼榈膯卧~缺少了元素間的聯(lián)系,而ai也沒辦法自己去聯(lián)想到這個(gè)聯(lián)系。而長(zhǎng)句和強(qiáng)短句,ai可以通過自己進(jìn)行自然語(yǔ)言處理,收集到一些元素間的聯(lián)系。

2、為什么長(zhǎng)句聯(lián)系好卻不夠穩(wěn)定?因?yàn)閍i是sb,有時(shí)候進(jìn)自然語(yǔ)言處理時(shí)句子分析得不好。

3、為什么ai畫不好細(xì)節(jié)的東西,因?yàn)閍i一開始只在很小分辨率的圖上畫,而小東西分配到的像素太少了。

4、為什么ai畫不好長(zhǎng)的有連續(xù)性的東西?理由基本同上,長(zhǎng)的東西在小圖上可能是連續(xù)的,但是放大后就不一定了。

二、用寫作的思想來書寫tags

由此我們可以試圖構(gòu)建出一個(gè)通用的書寫的tags的方法。

我們可以思考一個(gè)大概的畫面,然后通過廣義三段式的思想來豐富場(chǎng)景的內(nèi)容。

通過對(duì)一個(gè)主體進(jìn)行三段式拆分,然后將每個(gè)小短句拆分到整個(gè)tags中,利用多次描述的強(qiáng)化疊加效果來強(qiáng)化主體的表現(xiàn)。同時(shí)因?yàn)閷?duì)主體的完整描述進(jìn)行了拆分,這個(gè)方法可以把幾個(gè)顏色組隔離到幾個(gè)段落中,從而減少污染。

最后再根據(jù)需求,使用分步渲染等進(jìn)階技術(shù),來調(diào)整部分語(yǔ)句的內(nèi)容或者順序,使畫面更接近所需要的情況。

例如:

一副油畫風(fēng)格的女孩坐在森林的水邊。

先按基本三段式寫一個(gè):前綴+主體+背景

masterpiece, best quality, best 8k wallpaper,realistic oil painting, 1beautiful girl sitting near the water in a forest.

廣義三段式擴(kuò)充一下細(xì)節(jié):

一副畫,寫實(shí)的油畫,油畫畫的女孩在森林里,女孩是一個(gè)穿著華麗的魔法師,她有著精美的面龐和美麗的眼睛,她有著一頭金色的長(zhǎng)發(fā),她佩戴著大檐帽、金色的發(fā)飾和星星耳環(huán),她穿著一身藍(lán)色的華麗禮服,禮服上裝飾著金色的紋路和蕾絲邊。她靜靜坐在森林里。森林里有花叢樹木和河流。陽(yáng)光穿過樹叢撒下一片片亮斑。整個(gè)森林都在閃閃發(fā)光。

masterpiece, best quality, best 8k wallpaper,

realistic oil painting,

1 girl, beautiful face, beautiful shining eyes, long blonde hair with wide brim hat, gold hair ornaments and star earrings, gorgeous blue dress, gold patterns and lace, solo, sit down near water in the forest,

flowers, sunlight, bright spots, shine

基于廣義三段式的思想目標(biāo),定義,細(xì)節(jié),我們對(duì)人物的描寫進(jìn)行拆分。分為了女孩的總體概況,女孩的面貌,女孩的裝飾,女孩的衣著。并將環(huán)境描寫以女孩與環(huán)境的關(guān)系的方式,穿插進(jìn)女孩的人物描寫中:

一副畫很棒的寫實(shí)的油畫,油畫畫的女孩在森林里

masterpiece, best quality, best 8k wallpaper, realistic oil painting,1girl sitting inside forest,

女孩一個(gè)人靜靜坐在森林里的河流邊。

1 girl, solo, the girl sitting near a water,

有著精美的面龐和美麗的大眼睛,她有著一頭金色的長(zhǎng)發(fā),頭戴大檐帽,

The girl has a beautiful and detailed cute face and beautiful detailed eyes, long blonde hair with a wide brim hat,

佩戴者藍(lán)色的發(fā)飾和星星耳環(huán)坐在一片繁花草甸中,樹木環(huán)繞著她。微笑著看著森林中的色彩鮮艷的小花。

The girl has blue Headdress, star earrings,sitting on Flowery meadow, upper body, trees and colorful (wildflowers) bloom surround the girl, she smiled at the colorful flowers in the forest

穿著一身藍(lán)色的華麗禮服,禮服上裝飾著金色的紋路蕾絲邊。

the girl wears gorgeous blue dress, the dress?has?gold patterns and lace,

今天天氣很好,陽(yáng)光穿過樹叢撒下一片片亮斑。她與森林都在閃閃發(fā)光。

clear sky, Cumulus, sunlight, bright spots, glowing, the girl and forest are shining



當(dāng)然我們要理解,ai的自然語(yǔ)言處理功能沒有想象中那么好使,我們還是得幫ai簡(jiǎn)單處理一下句子,把關(guān)鍵詞提取出來,盡量減少邏輯主語(yǔ)的變化。

細(xì)分化后,就能很方便的調(diào)整權(quán)重和其他高級(jí)語(yǔ)法設(shè)置了。這里按照人物背景的涂色,方法大家理解多次描述疊加強(qiáng)化。

多次描述疊加強(qiáng)化也被叫多重渲染,一方面就像是傳統(tǒng)寫作中對(duì)同一目標(biāo)的多側(cè)面描寫豐富細(xì)節(jié)從而起到強(qiáng)調(diào)的作用,另一方面也是利用這個(gè)多段的方式,方便穿插背景或占位詞用于隔斷污染。

(((masterpiece))), (extremely detailed 8k wallpaper),(((best quality))), ((ultra-detailed)),(best illumination, best shadow), ((an extremely delicate and beautiful)),(best illustration), dynamic angle,floating,realistic oil painting,

1beautifully and detailed girl sitting near water, solo, mid shot,

(the girl has a [+++beautifully detailed cute face+++]:1.4), (beautiful and detailed red eyes:1.2), (long blonde hair with a wide brim hat),[[:?,:0.5]::0.8] [smile],the girl sitting near a river, beautiful and delicate water,

ai is sb, the girl has a blue ribbon,[: star earrings, : 0.5 ] ai is sb, standing in a Flowery meadow, trees and colourful (wildflowers) blooming surround,

(the girl wearing a gorgeous white and light blue dress:1.1), with gold patterns and lace, upper body, (clear sky, Cumulus:1.2), sunlight, bright spots, glowing, the girl and forest are shining,

前綴懶得想,直接絢麗術(shù)開道,

可以看到第一段人物描述只是簡(jiǎn)單的描述了整個(gè)畫面的場(chǎng)景,并且給出了鏡頭注釋。

為了更好的畫出一個(gè)可愛美麗的女孩,第二段使用了大量的語(yǔ)法來具體描述這個(gè)女孩的面貌。

我們用[+++tags+++] (符號(hào)占位詞)的語(yǔ)法來提升女孩臉的渲染程度,并且增強(qiáng)女孩面貌描寫的權(quán)重以獲得更清晰,更靠近鏡頭的人物。這個(gè)語(yǔ)法大概是來自一個(gè)bug或者也可以當(dāng)做是占位詞的延伸應(yīng)用。

做占位的只是+++, tags是我們要寫的詞比如【+++ hands +++】,占位詞會(huì)增加輸入量的大小,但是幾乎不影響意思,原本hands就占一個(gè)輸入量,現(xiàn)在這么寫了就占了7個(gè)輸入量(6個(gè)+和1個(gè)hands)這樣變相的增加了hands的受關(guān)注度。文中使用【+++tags+++】不是那么推薦,[]?會(huì)影響權(quán)重。所以直接用中文的【】來包裹吧233

接下來我們對(duì)小的物件使用分步渲染,在圖像整體成型后再進(jìn)行繪制。ai is sb是一個(gè)占位詞,他的作用就用來隔斷前后,避免污染,所以我將其使用在了另一組顏色詞上,減少金發(fā)或者彩色花朵對(duì)裝飾的影響。當(dāng)然,使用多次描述疊加強(qiáng)化本來就能起到隔離污染的效果,將多組色彩分散到不同自然段中,就降低了色彩的間的關(guān)聯(lián)性,從而降低了污染。這兩者原理是一樣的,都是將容易污染的元素分開,使他們?cè)诒蛔x成token embedding時(shí)離得遠(yuǎn),從而在生成圖像時(shí)減少混淆。

多次描述疊加強(qiáng)化的對(duì)污染的隔離大概就是利用了第一章提到的webui對(duì)輸入詞的分組功能。占位詞可能也會(huì)是這樣的原理,但是實(shí)際跑圖時(shí)卻明顯獲得了強(qiáng)化之類的提升,很神奇,可能需要進(jìn)一步對(duì)源代碼進(jìn)行解讀才能解釋。

對(duì)難度較大的東西,例如手,我們可以用emoji加強(qiáng)繪制。Emoji經(jīng)過了獨(dú)特的訓(xùn)練,具有很強(qiáng)的指向性。我們可以理解為emoji就像是單獨(dú)訓(xùn)練過的embedding一樣,可以很強(qiáng)的改變圖像。正常情況下,手通常在50%左右開始進(jìn)行繪制,所以我們?cè)谶@個(gè)階段把手的強(qiáng)化加入,避免過早加入而產(chǎn)生很多個(gè)手的問題。[[:?,:0.5]::0.8]這個(gè)詞條意思就是從50%開始啟用到80%截止。分布渲染的具體過程可以參照我的另一個(gè)專欄

另外,我們觀察了前面幾個(gè)例子,發(fā)現(xiàn)描述時(shí)只寫了樹林花草,這導(dǎo)致了畫面被深色的樹木充滿,顯得非常壓抑,我們可以添加一點(diǎn)天空來平衡畫面。

最后再對(duì)負(fù)面詞條按照重要性順序進(jìn)行一波調(diào)整:將比較重要的負(fù)面詞提到前面,在開始渲染細(xì)節(jié)后,增加細(xì)節(jié)的負(fù)面詞組。清理負(fù)面詞組中的重復(fù)、錯(cuò)誤單詞。

精簡(jiǎn)版強(qiáng)化負(fù)面tags

ugly,lowres, bad anatomy,worst quality, low quality, normal quality,

[:((No more than one thumb, index finger, middle finger, ring finger and little finger on one hand),(mutated hands and fingers:1.5 ), fused ears, one hand with more than 5 fingers, one hand with less than 5 fingers,):0.5]

bad hands, text, error, missing fingers, extra digit, fewer digits, cropped,?jpeg artifacts, signature, watermark, username, blurry, Missing limbs, three arms, bad feet, text font ui, signature, blurry, malformed hands, long neck, mutated hands and fingers :1.5).(long body :1.3),(mutation ,poorly drawn :1.2), disfigured, malformed, mutated, multiple breasts, futa, yaoi, three legs, huge breasts,

Steps: 70, Sampler: DPM++ 2S a Karras, CFG scale: 7, Seed: 1036849954, Size: 1024x576, Model hash: e6e8e1fc, Eta: 0.667, Clip skip: 2, ENSD: 31337

最終我們可以得到一個(gè)幾乎穩(wěn)定出圖的咒語(yǔ)。再根據(jù)需求簡(jiǎn)單調(diào)整背景元素,或者人物修飾,就可以得到更多風(fēng)格的同類圖像

其他細(xì)分教程:

元素同典,從零開始的魔導(dǎo)書

[NovelAI]標(biāo)準(zhǔn)三段術(shù)式及絢麗術(shù)入門與解析[AI繪圖的tag書寫規(guī)范] - 嗶哩嗶哩 (bilibili.com)

[NovelAI]標(biāo)準(zhǔn)術(shù)式中的權(quán)重 - 嗶哩嗶哩 (bilibili.com)

廣義的三段術(shù)式構(gòu)造 - 嗶哩嗶哩 (bilibili.com)

[AI繪畫]分步渲染及循環(huán)迭代 - 嗶哩嗶哩 (bilibili.com)

[AI繪畫]如何畫兩人貼貼,雙子貼貼tags解讀-分步渲染與循環(huán)迭代的運(yùn)用

多層疊加強(qiáng)化的具體實(shí)現(xiàn)?https://www.kdocs.cn/l/ccq39UcdjCHe

元素同典:確實(shí)不完全科學(xué)的魔導(dǎo)書 奏咒術(shù)一章,有完整的占位詞使用理論:

https://docs.qq.com/doc/DWFdSTHJtQWRzYk9k

webui基本指南,從代碼端解讀了webui的功能:

https://draw.dianas.cyou/paint/WebUi/base


【AI繪畫】完整tags書寫思路,從人工智能理論來了解如何繪畫的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
含山县| 章丘市| 佛学| 齐齐哈尔市| 南康市| 亚东县| 紫阳县| 民勤县| 和田市| 泾阳县| 独山县| 从化市| 吴忠市| 自贡市| 信阳市| 弋阳县| 栖霞市| 新乡县| 安溪县| 肥城市| 宝清县| 安达市| 松江区| 太和县| 江陵县| 石林| 漯河市| 景东| 桓台县| 微山县| 新兴县| 冀州市| 菏泽市| 枣强县| 蛟河市| 东源县| 南投县| 闸北区| 垣曲县| 赣州市| 和龙市|