我也不想標(biāo)題黨,可樂高積木版的總部大樓就是好萌??!
我是憨憨,一個(gè)不會(huì)畫畫的設(shè)計(jì)師。過去半年里,AI繪畫曾經(jīng)多次引爆公眾討論,網(wǎng)絡(luò)上那些精致的二次元同人插畫、堪比真人的AI穿搭博主、打破次元壁的賽博Coser……背后都有一個(gè)“幕后黑手” —— Stable Diffusion,其背后的技術(shù)便是人們常說的擴(kuò)散模型(擴(kuò)散模型這個(gè)概念源自熱力學(xué),在圖像生成問題中得以應(yīng)用)。想知道上面這些精致的插畫是如何實(shí)現(xiàn)的嗎?接下來,我將結(jié)合這個(gè)案例帶你走進(jìn) Stable Diffusion 的世界,幫你系統(tǒng)性地了解并掌握這神奇AI繪畫魔法。??雖然我們把這個(gè)過程稱之為AI繪畫,但實(shí)際上它并不是像人類畫圖一樣打草稿、構(gòu)線描邊,再去上色、對(duì)細(xì)節(jié)加工……這樣按部就班地去完成一幅畫作的,它采取了一個(gè)人類不曾設(shè)想的路徑 —— Diffusion(擴(kuò)散)。一、Diffusion:眼一閉一睜,一張圖畫好了
有一個(gè)非常形象的方式,來解釋 Diffusion 的原理。這是我家的傻狗,你可以將自己的角色帶入到執(zhí)行繪畫指令的AI中,現(xiàn)在讓你把這幅畫用宮崎駿風(fēng)格重新繪制一遍,你做得到嗎?你可以嘗試著把眼睛瞇成一條縫去看它(如果你近視可以摘掉自己的眼鏡),它是不是變得模糊了?保持這個(gè)狀態(tài),想象著它正在逐漸變成動(dòng)漫里的樣子,隨后慢慢睜開眼睛……??這就是一個(gè)擴(kuò)散模型工作的基本流程了。在這個(gè)過程中,AI會(huì)將圖片通過增加噪聲的方式進(jìn)行“擴(kuò)散”,使它變得模糊,就像是瞇起眼睛的你一樣,當(dāng)內(nèi)容模糊了以后,你就有更充分的空間去從它原本的形態(tài)抽離,并且想象它是否能變成其他模樣。AI通過深度學(xué)習(xí)的方式,將很多不同的圖像都轉(zhuǎn)換成了這樣的抽象內(nèi)容,并逐漸開始理解了這個(gè)“擴(kuò)散”的過程,每學(xué)一張圖,它就會(huì)通過一些方式提取圖像里的信息特征,并和它的原圖建立關(guān)聯(lián)。在剛才的例子中,當(dāng)提到宮崎駿風(fēng)格的時(shí)候,你的腦海里肯定也會(huì)跳出跟這類作品相關(guān)的風(fēng)格特質(zhì)來,因?yàn)槟憧催^并且記得,這個(gè)時(shí)候,我們開始去想象它變成動(dòng)畫片里的樣子,并且用一個(gè)動(dòng)漫的方式“睜開眼睛”,讓圖片恢復(fù)清晰,這就是在對(duì)圖像進(jìn)行逆向的擴(kuò)散,也就是去噪。這幅畫,就已經(jīng)被你腦海里關(guān)于宮崎駿的想象重新繪制一遍了。???這一原理,為我們?cè)贏I繪畫中的操作提供了理論基礎(chǔ)和指導(dǎo)思想。當(dāng)然,這只是一個(gè)簡(jiǎn)單的比喻,在真實(shí)的AI圖像生成過程中要遠(yuǎn)復(fù)雜得多,我們只需要知道,在SD里面我們能接觸到的各種提示詞、模型、controlNet 等,其實(shí)控制的都只是AI的學(xué)習(xí)、轉(zhuǎn)化、去噪過程,而非它一筆一畫的動(dòng)作。二、一幅AI繪畫作品 = 提示詞 + 參數(shù)設(shè)置 + 模型
這是 Stable Diffusion webUI,我們所有的操作都是在這里完成的。webUI其實(shí)只是一個(gè)執(zhí)行的程序,用來屏蔽掉 Stable Diffusion 復(fù)雜的模型和代碼操作。當(dāng)你在瀏覽器里打開了這個(gè)webUI以后,就可以利用它開始作畫了。??WebUI 上面一整排標(biāo)簽欄對(duì)應(yīng)了不同的功能,作圖最常用的是前兩個(gè):文生圖與圖生圖,它代表的是兩種繪制的基本方式,第三個(gè)標(biāo)簽的更多主要用于對(duì)圖片進(jìn)行AI放大處理,它可以讓你生成更清晰的大圖。看過《哈利波特》的影迷一定會(huì)記得,在霍格沃茲的魔法世界里,一個(gè)魔咒想要成功施展,不僅需要集中精神念對(duì)咒語(yǔ),還需要一根魔杖,以及正確地?fù)]動(dòng)魔杖的手勢(shì),任何一個(gè)步驟出現(xiàn)錯(cuò)誤,都有可能導(dǎo)致魔咒發(fā)動(dòng)的失敗,極端情況甚至?xí)环词桑贏I繪畫的魔法世界里也是類似。?WebUI 中被我們輸入進(jìn)去的描述文字或圖像信息,就是 Prompts (提示詞):用于生成圖像的文字輸入,需要使用英文輸入,但你也可以通過探索 Extensions 來實(shí)現(xiàn)中文輸入。提示詞的涵蓋范圍很廣,可以包括:主體、風(fēng)格、顏色、質(zhì)感特點(diǎn)等一些具體要素。?提示詞分成兩部分,一部分是正向的提示詞,另一部分是反向提示詞,分別用來控制你想要在畫面里出現(xiàn)的、想排除在外的內(nèi)容。AI 生成出來的東西是具有隨機(jī)性的,每次生成出來的東西都會(huì)不太一樣,這個(gè)過程就像是在“抽卡”:想出好的圖片,得靠運(yùn)氣來抽。比如:一個(gè)女孩在林中漫步,這其實(shí)只是一個(gè)非常概括的描述,這個(gè)女孩長(zhǎng)什么樣子、森林里有什么、時(shí)間是早上還是晚上、天氣如何……這些AI都不知道,提示詞太過于籠統(tǒng),那AI就只能瞎蒙、抽卡了。我們可以把自己想象成一個(gè)無情的甲方,向AI溝通你的需求、AI需要改進(jìn)的地方。我們對(duì)AI提的要求其實(shí)就是提示詞 Prompts ,如果AI沒有達(dá)到想要的效果,就不斷補(bǔ)充、說明,多試幾次總有一次可以抽到想要的效果~雖說AI是人工智能,但它和人類智慧還是有一定差距的,有時(shí)候你會(huì)發(fā)現(xiàn)即使提示詞已經(jīng)給了很多,自己依然很難向AI表達(dá)清楚自己的需求。其實(shí)在現(xiàn)實(shí)生活里,這種對(duì)于需求的傳遞偏差與錯(cuò)誤解讀其實(shí)也普遍存在著,比如:總是干架的產(chǎn)品經(jīng)理和程序員、甲方客戶與設(shè)計(jì)師。拿我熟悉的設(shè)計(jì)舉例,假如你是需求方,除了不斷對(duì)著設(shè)計(jì)師一遍又一遍的咆哮需求以外,還有什么辦法讓他快速開竅呢????你可以拿著一張海報(bào)或者banner,告訴設(shè)計(jì)師我想要的感覺是這樣的,那他就會(huì)更直觀、具體的感受到你的想法。AI繪畫也是一樣,當(dāng)你覺得提示詞不足以表達(dá)你的想法,或者希望以一個(gè)更為簡(jiǎn)單清晰的方式傳遞一些要求的時(shí)候,那就再丟一張圖片給他就好了。此時(shí),圖片的作用和文字是相當(dāng)?shù)?,就是都作為一種信息輸送到AI那里,讓它拿來生成一張新的圖片,這就是圖生圖。2、參數(shù)設(shè)置:控制咒語(yǔ)釋放的魔杖
這部分內(nèi)容介紹一下在AI繪畫過程中,webUI里面這些復(fù)雜的參數(shù)設(shè)置。??(1)采樣算法(Sampler):簡(jiǎn)單來說,通過這些采樣算法,噪聲圖像可以逐漸變得更清晰。webUI提供的算法選項(xiàng)非常多,包括 Euler a、DPM、DDIM 等。我分享幾個(gè)我們經(jīng)常會(huì)用到的:- 想使用快速、新穎且質(zhì)量不錯(cuò)的算法,可以嘗試 DPM++ 2M Karras,設(shè)置 20~30 步;
- 想要高質(zhì)量的圖像,那么可以考慮使用 DPM++ SDE Karras,設(shè)置 10~15 步(計(jì)算較慢的采樣器)、或者使用 DDIM 求解器,設(shè)置 10~15 步;
- 喜歡穩(wěn)定、可重現(xiàn)的圖像,請(qǐng)避免使用任何原始采樣器(SDE 類采樣器);
- Euler、Euler a 比較適合插畫風(fēng)格,出圖比較樸素;
(2)采樣迭代步數(shù)(Steps):與采樣算法配合使用,表示生成圖像的步數(shù)。步數(shù)越大,需要等待的時(shí)間越長(zhǎng)。通常 20-30 步就足夠了。默認(rèn)的采樣步數(shù)一般都是20。如果你的算力充足且想追求更高的細(xì)致度,就設(shè)置為30-40,最低不要低于10,不然你可能會(huì)被你自己產(chǎn)出的作品嚇到。(3)面部修復(fù):在畫人物的時(shí)候需要勾選上,他可以改善細(xì)節(jié)、糾正不準(zhǔn)確的特征,讓生成的人臉顯得更加自然和美觀,類似美圖秀秀的一鍵美顏。(4)寬度 & 高度:生成圖像的寬度和高度分辨率。默認(rèn)的分辨率是 512 x 512, 但這個(gè)分辨率下的圖片,哪怕是細(xì)節(jié)再豐富,看起來也很模糊,所以設(shè)備允許的情況下,我們一般把它提到1000左右。相同的提示詞用更高的分辨率跑出來,質(zhì)感完全都不一樣。當(dāng)然,分辨率設(shè)置得太高也會(huì)有問題,顯卡顯存扛不住,出現(xiàn) “CUDA out of memory”的提示。為了讓我的AI繪畫有強(qiáng)悍的性能,保證我的出圖效率和體驗(yàn),我使用了京東云GPU云主機(jī),它擁有超強(qiáng)的并行計(jì)算能力,在深度學(xué)習(xí)、科學(xué)計(jì)算、圖形圖像處理、視頻編解碼等場(chǎng)景廣泛使用,可以提供觸手可得的算力,有效緩解計(jì)算壓力,讓我在高清出圖時(shí)不再有“爆顯存”的煩惱。京東云GPU云主機(jī):https://www.jdcloud.com/cn/pages/aistudy?utm_source=c_aimodel??(5)平鋪/分塊(Tiling):用來生成無縫貼滿整個(gè)屏幕的、紋理性圖片的,如果沒有需要慎重勾選哦,它會(huì)讓你的畫面變得很奇怪。(6)提示詞相關(guān)性(SFG Scale):CFG Scale 的范圍是 1-30,默認(rèn)值為 7。我們可以通過調(diào)整不同的 Scale 值來觀察圖像的變化。它的數(shù)值越高,AI繪畫忠實(shí)地反映你提示詞的程度就越高,7~12之間是比較安全的數(shù)值,數(shù)值太高則容易引起圖片變形。(7)隨機(jī)種子(Seed):生成圖像的隨機(jī)種子,類似于抽獎(jiǎng)的幸運(yùn)種子,會(huì)影響生成的圖像結(jié)果,是我們用來控制畫面內(nèi)容一致性的重要參數(shù)。如果我們想要畫面保持一樣的風(fēng)格,就可以使用同一個(gè)隨機(jī)種子。在這個(gè)隨機(jī)種子里面,有2個(gè)功能按鈕,點(diǎn)擊右側(cè)的骰子,可以把隨機(jī)參數(shù)設(shè)置成-1,每一次都抽一張新的卡;點(diǎn)擊中間的循環(huán)按鈕,就會(huì)把種子設(shè)置成上一張圖片抽出來的數(shù)字。(8)生成批次、每批數(shù)量:每批、每次次生成的圖像數(shù)量,如果顯存不夠大,建議調(diào)小數(shù)值。因?yàn)锳I繪畫的不確定性,即使是同一組提示詞,也需要反復(fù)試驗(yàn)。這個(gè)試驗(yàn)過程有時(shí)候會(huì)很漫長(zhǎng),如果你想讓AI一直不斷地按照同一組提示詞和參數(shù)出圖,可以嘗試批次數(shù)調(diào)高,繪制的過程則會(huì)不斷重復(fù)地進(jìn)行。所以完全可以讓它一口氣來上個(gè)幾十次甚至上百次,自己去吃個(gè)飯、睡一覺,讓顯卡默默地在這里打黑工。增大 [每批數(shù)量] 可以讓每批次繪制的圖像數(shù)量增多,理論上效率會(huì)更高,但它同一批繪制的方法是:把這些圖片拼在一起看作一張更大的圖片,所以如果你的設(shè)備不好,非常容易爆顯存。????感謝認(rèn)真的你已經(jīng)閱讀完4218個(gè)字了,如果讀到了這里,說明你對(duì)這類話題感興趣,也對(duì)我的科普比較認(rèn)可,文末有交流群可以加入????3、模型:要施展的魔法種類
AI之所以能滿足你的各種奇奇怪怪的需求,其實(shí)來源于它對(duì)很多其他畫作的深度學(xué)習(xí),我們把拿圖片給AI學(xué)的這個(gè)過程,叫做喂圖。學(xué)習(xí)的內(nèi)容不僅包括對(duì)具體事物的形象描繪,還包括對(duì)他們的呈現(xiàn)方式,說通俗一點(diǎn),就是“畫風(fēng)”。如果我們喂給AI的圖片都是二次元風(fēng)格的,那他的世界就是二次元的;如果你喂給AI的圖片都是真實(shí)世界里的照片,那它就畫不出“畫”來。我們“喂”給AI圖片以及AI學(xué)習(xí)的這個(gè)過程,會(huì)被打包、整合到一個(gè)文件里面,他們就是AI繪畫中的“模型”:使用不同風(fēng)格的模型,就能做出不同風(fēng)格的作品。??大模型:在webUI左上角的內(nèi)容就是我們常說的大模型,也叫做基礎(chǔ)模型,比如sd-v1.5.ckpt,sd官方自帶的基礎(chǔ)模型。這類模型都是由dreambooth技術(shù),經(jīng)過大量數(shù)據(jù)訓(xùn)練,可以生成各類常見元素的圖片,一個(gè)全能工具,不可缺少,否則sd不能啟動(dòng),文中的很多圖片來自不同的大模型,感興趣的可以留言或者文末加入我們的交流群一起討論。??VAE模型:變分自解碼器(Variational Auto Encoder),vae的作用是增強(qiáng)模型的色彩、光照等表現(xiàn)效果,相當(dāng)于給模型加了美顏濾鏡。所以如果你發(fā)現(xiàn)你的模型做的圖發(fā)灰,檢查一下vae文件是否勾選。目前多數(shù)比較新的模型,其實(shí)都已經(jīng)把VAE整合進(jìn)大模型文件里了,多數(shù)模型作者都會(huì)推薦他們認(rèn)為合適的VAE,也有一些普遍適用于大多數(shù)模型的VAE,例如 kf-f8-anime。下載渠道:一個(gè)是HuggingFace(https://huggingface.co/),它是一個(gè)允許用戶共享AI學(xué)習(xí)模型和數(shù)據(jù)集的平臺(tái),包含的內(nèi)容非常廣,不僅有AI繪畫,也包括很多其他AI領(lǐng)域的內(nèi)容,因此呈現(xiàn)出了比較高的專業(yè)門檻;另一個(gè)是Civitai(https://civitai.com/),俗稱C站,它是一個(gè)專業(yè)的AI繪畫模型分享平臺(tái),在這里看到的各種模型展示是非常圖像化、具體化的,并且在C站瀏覽、下載模型均不需要注冊(cè)。實(shí)際上模型不止Checkpoint一種,接下來再為你介紹3種用來微調(diào)主模型的'小模型'。(1)Lora 模型:最近最火爆的模型,最大的特點(diǎn)就是幾乎圖像上的信息它都可以訓(xùn)練,并且還原度非常高?,F(xiàn)在網(wǎng)絡(luò)上流行的很多Ai真人繪圖軟件基本都是用的Lora模型。Lora模型主要用于固定圖片風(fēng)格,因?yàn)檫@類模型具備容易訓(xùn)練、對(duì)電腦配置要求低等特點(diǎn),因此使用Lora訓(xùn)練的人更多。??比如上面這張圖,使用的lora模型是LegoAlrev,它可以讓我們的總部大樓呈現(xiàn)出樂高積木的風(fēng)格。目前LoRa主要應(yīng)用特點(diǎn)是各種游戲、動(dòng)漫角色的二次創(chuàng)作構(gòu)建,因?yàn)橛?xùn)練LoRa需要針對(duì)一個(gè)對(duì)象的各個(gè)方面的素材,如果是人物,那就需要不同姿勢(shì)、不同表情、甚至是不同畫風(fēng)的東西,來幫助AI固定里面的特征。一些熱門的ACG角色往往擁有充分的素材可供訓(xùn)練,出來的效果是非常不錯(cuò)的。(2)Embeddings模型:又叫Textual Inversion模型,需要和主模型一起搭配使用,可以簡(jiǎn)單理解為提詞打包模型,體積一般只有幾十kb??梢陨商囟ń巧奶卣鳌L(fēng)格或者畫風(fēng)。如果說checkpoint是一本大字典,那Embeddings就像是字典里面的一片小書簽,它能夠精準(zhǔn)的指向個(gè)別字、詞的含義,從而提供一個(gè)極其高效的索引。這種索引方式,除了能幫AI更好地畫好字典里已經(jīng)有的東西以外,有時(shí)候也可以幫我們實(shí)現(xiàn)特定形象的呈現(xiàn)。比如:我們想讓AI畫一只“貓又”,字典里雖然沒有直接記載貓又這種比較偏僻的概念,但它知道“貓”怎么畫、知道“人”怎么畫,也可能知道“妖怪”怎么畫,那我們就在字典上記有這些概念的頁(yè)面里,分別夾上一片醒目的書簽,那AI一聽到“貓又”,就直接翻到這幾頁(yè),把里面的信息匯總到一起,就知道“貓又”是個(gè)什么東西了。??(3)Hypernetwork模型:同樣需要搭配主模型一起使用,它最常用于畫風(fēng)、效果的轉(zhuǎn)換,也可以用于生成指定的角色。相比 Embeddings 和 LoRa 來看,網(wǎng)上多數(shù)研究者對(duì)Hypernetwork在圖像生成方面的評(píng)價(jià)并不好,并且它的作用其實(shí)是可以部分被LoRa取代的,現(xiàn)在也有不少優(yōu)秀的LoRa通過對(duì)訓(xùn)練樣本的把控實(shí)現(xiàn)了畫風(fēng)的塑造植入,我平時(shí)用的不多,所以這里就不過多介紹了。三、高清放大-拒絕低質(zhì)量的出圖
在webUI里,有一系列功能是專門為了優(yōu)化產(chǎn)出圖像質(zhì)量,讓我們獲得更大、更高清的圖片而存在的,例如高分辨率修復(fù)、Upscale腳本,以及附加功能中的圖片放大算法,他們的本質(zhì)都是把低分辨率的圖片再拿去“圖生圖”一次,從而得到一張更大的圖片。在剛才的生成的圖片中,它的畫面看上去還挺精致,但因?yàn)榉直媛实停瑢?dǎo)致了一些細(xì)節(jié)的缺失和混亂,這里我們使用 Upscale腳本來實(shí)現(xiàn)高清放大。??把它從圖庫(kù)瀏覽器加載至圖生圖,所有的生成參數(shù)會(huì)自動(dòng)同步過來,為了取得和原圖比較相似的效果,控制重繪幅度在0.4左右。在參數(shù)設(shè)置區(qū)域的最下方,有一個(gè)用于加載腳本的選項(xiàng),選擇放大腳本,縮放系數(shù)相當(dāng)于放大倍數(shù),放大算法決定了在將這個(gè)低分辨率的版本“打回重畫”的時(shí)候AI如何操作。圖塊重疊的像素(Tile overlap)選擇64,寬度和高度在原有基礎(chǔ)上各加64,設(shè)置完成后點(diǎn)擊生成就可以了。??這個(gè)過程繪制方法很巧妙,它是通過把這張圖均勻地切成4塊去畫的,畫完以后再拼回到一起。如果只是機(jī)械地拼成4塊,那相鄰圖塊之間的接縫處肯定會(huì)出現(xiàn)非常生硬的過渡邊緣,剛才設(shè)置的64像素重疊就是來解決這個(gè)問題的,它是一個(gè)緩沖帶,可以讓4塊區(qū)域“拼合”的過程變得更加絲滑。?擴(kuò)散算法給圖像生成帶來了無限的可能性,卻也有許多不可預(yù)估的問題,例如人物四肢的混亂、景觀的錯(cuò)位等等。??我們抽取到一張盲盒風(fēng)格的公司總部大樓,但是還想在這個(gè)基礎(chǔ)上再做改進(jìn):草地上多一些花,我們可以借助關(guān)鍵詞、并借助隨機(jī)種子固定畫面,但這樣一定會(huì)碰到兩個(gè)問題:首先,即使隨機(jī)種子完全一致,當(dāng)提示詞發(fā)生變化時(shí),這個(gè)新的隨機(jī)過程也是相對(duì)不可控的,就可能會(huì)出現(xiàn)人換了姿勢(shì)、畫面大幅變化的情況;另一方面,如果圖片已經(jīng)經(jīng)過了高清修復(fù)或者upscale放大,這意味著要重新畫一張非常大的圖,耗費(fèi)時(shí)間就更長(zhǎng)了。我們對(duì)這張圖99%都是滿意的,重畫一張值得嗎?我們?cè)囍堰@1%單獨(dú)拎出來處理一下,這時(shí)我們可以用局部重繪這個(gè)功能。局部重繪就像我們寫作業(yè)時(shí)使用的涂改液、修正帶一樣,它可以針對(duì)一張大圖里的某一個(gè)區(qū)域覆蓋重畫,既能修正錯(cuò)誤,又不至于把整張紙撕掉重畫一遍。將一張圖拎出來進(jìn)行局部重繪的方式有很多,最簡(jiǎn)單的就是在圖庫(kù)瀏覽器里直接點(diǎn)擊右下角的局部重繪按鈕,它會(huì)跳轉(zhuǎn)到圖生圖,因?yàn)榫植恐乩L屬于圖生圖的一個(gè)下屬分支功能。也可以通過圖片區(qū)域上方的標(biāo)簽切換到局部重繪(inPaint),在這里除了可以加載用AI畫出來的圖以外,還可以使用電腦上的其他素材圖片。??有一個(gè)小小的變化:當(dāng)你把鼠標(biāo)移動(dòng)到圖片區(qū)域上時(shí),會(huì)出現(xiàn)一個(gè)畫筆,使用它可以在圖片上涂出黑色區(qū)域,覆蓋住想要AI重畫的地方。右上角有兩個(gè)按鈕,撤銷、調(diào)節(jié)畫筆的筆觸大小。??這里面有一個(gè)“蒙版”的概念,蒙版是圖像處理領(lǐng)域的專業(yè)名詞,泛指一些用以限定處理區(qū)域的范圍對(duì)象,字面意義上理解就是一個(gè)蒙住了某些關(guān)鍵區(qū)域的版子,如果你學(xué)過PS,對(duì)這個(gè)概念一定不會(huì)陌生。在這里我們畫筆涂出來的黑色,也是一個(gè)這樣的蒙版。蒙版蒙住的內(nèi)容,可以想像是把這一小塊拿給AI圖生圖的時(shí)候,它接收到的信息。在重繪的過程中,整張圖片都經(jīng)歷了一個(gè)重新加噪并去噪的過程,相當(dāng)于把這一塊拿出來單獨(dú)“圖生圖”一下,最后再拼回到原圖里。用這種方式,就可以自由的指揮AI針對(duì)畫面內(nèi)部的各個(gè)區(qū)域做單獨(dú)的修改了,而想要進(jìn)一步的把控修改的細(xì)節(jié),就需要調(diào)整局部重繪參數(shù),他們會(huì)具體決定這個(gè)重繪過程的一些實(shí)現(xiàn)方式。??[原圖] 就是原圖的內(nèi)容,而如果你想給AI多一點(diǎn)發(fā)揮空間,可以選填充,這樣會(huì)把原圖高度模糊以后再輸入進(jìn)去生成,后面兩種涉及潛變量、潛空間的生成方式原理比較復(fù)雜,簡(jiǎn)單的說就是把這個(gè)圖生圖的過程進(jìn)一步復(fù)雜化了,加入了加噪、去噪的過程,理論上對(duì)圖像的改變會(huì)更顯著,你可以試一下。重繪區(qū)域的 [全圖] 和 [僅蒙版] 是AI針對(duì)你的畫面做處理時(shí)的一個(gè)邏輯,如果選全圖,那么AI會(huì)基于你新的要求(提示詞、參數(shù))把整張圖重新畫一遍,但最后只保留畫出來的這一塊區(qū)域拼回去;如果選擇的是僅蒙版,那畫面畫幅會(huì)縮小到蒙版區(qū)域附近,把這個(gè)區(qū)域當(dāng)作一張完整的畫面,然會(huì)再拼回去,這種方式涉及的區(qū)域小,繪制速度很快,但因?yàn)樗鼪]法讀取圖像全貌,所以經(jīng)常出現(xiàn)拼上去以后變得奇奇怪怪的問題。因此,多數(shù)時(shí)候我都會(huì)建議你把“格局打開”。這不是說 [僅蒙版] 的重繪就一點(diǎn)價(jià)值也沒有,一些針對(duì)性強(qiáng)的修改反而會(huì)希望縮小圖片畫幅,但這個(gè)時(shí)候你需要降低重繪幅度避免變形,并且對(duì)提示詞做凈化處理。僅蒙版模式的 [邊緣預(yù)留像素],和上面放大時(shí)提到過的“拼合緩沖帶”作用類似,這里不再贅述了。[蒙版模糊] 決定了你的這個(gè)重繪區(qū)域邊緣和其他部分是如何接觸的,這個(gè)和PS里面“羽化”的概念非常像,一個(gè)10以內(nèi)的模糊數(shù)值可以讓重繪區(qū)域拼接進(jìn)去的過程更加絲滑。恭喜你!已經(jīng)看完了90%的內(nèi)容,可以的話給我個(gè)“一鍵三連”吧~五、ControlNet-AI繪畫的工業(yè)革命
今年2月,一款名叫ControlNet的AI繪畫插件橫空出世,固定構(gòu)圖、定義姿勢(shì)、描繪輪廓,單憑線稿就能生成一張豐滿精致的插畫。ControlNet 翻譯過來就是“控制網(wǎng)”,開發(fā)者是一位叫做Lvmin Zhang的華裔,早在2017年,他就發(fā)表過一篇論文研究使用增強(qiáng)型殘差U-Net與輔助分類器生成對(duì)抗網(wǎng)絡(luò)來實(shí)現(xiàn)動(dòng)漫素描的風(fēng)格遷移。他第一篇關(guān)于ControlNet的研究論文發(fā)表在23年2月10號(hào),幾天后就將適配于webUI的ControlNet擴(kuò)展開源在了GitHub上,一經(jīng)公開就引發(fā)了重磅討論。???上文說到,基于擴(kuò)散模型的'AI繪畫'是非常難以控制的,去擴(kuò)散這張圖片的過程充滿了隨機(jī)性,如果只是用于自?shī)首詷?,那這種隨機(jī)性并不會(huì)帶來很大的困擾,畫出來的內(nèi)容和預(yù)想中有一點(diǎn)偏差也可以接受,但一些真正面對(duì)具體“需求”的時(shí)候,如果不能做到精確的“控制”,只能依賴“抽卡”式的反復(fù)嘗試來得到想要的東西,那AI的產(chǎn)出水平是缺乏穩(wěn)定性的,也絕對(duì)無法稱之為一個(gè)真正的生產(chǎn)力。ControlNet以一種近乎降維打擊的方式實(shí)現(xiàn)了很多前所未有的控制,我個(gè)人覺得,它的出現(xiàn)直接把SD提升到了可以大規(guī)模商用的高度,從而拉開了同 Midjourney 的差距。在作用原理上,ControlNet和LoRA有許多相似之處,定位都是對(duì)大擴(kuò)散模型做微調(diào)的額外網(wǎng)絡(luò),它的核心作用是基于一些額外輸入給它的信息來給擴(kuò)散模型的生成提供明確的指引,這個(gè)過程和圖生圖有點(diǎn)像,本質(zhì)上都是在通過一些方式給AI提供額外的信息,但ControlNet記錄的信息比圖生圖里的圖片更為純粹,排除了圖片本身的元素——比如上面已有的顏色、線條的影響,那就不會(huì)對(duì)其他你想要通過提示詞、LoRA等去輸入的信息構(gòu)成太多影響。目前有很多做ControlNet的模型,這里結(jié)合一開始的案例介紹一下Canny。Canny是一個(gè)最重要的模型,它來自于圖像處理領(lǐng)域里的一種邊緣檢測(cè)算法,致力于識(shí)別并提取出圖像里面的邊緣特征。Canny幾乎可以被應(yīng)用在任何需要還原圖像外形特征的場(chǎng)景里,比如畫一只狗狗、一輛汽車,這些復(fù)雜形象通過它們的外形得到了識(shí)別,那Canny就會(huì)把這種外形特征使用線條勾勒出來,在生成的時(shí)候控制圖像還原。如果你的圖像里包含了一些需要精確表達(dá)的內(nèi)容,例如文字、標(biāo)識(shí),使用Canny可以有效確保它不變形。??輸入一張圖片,選擇Canny預(yù)處理器和模型,它只有一種處理手段,沒有那么花里胡哨,點(diǎn)擊“爆炸”,處理出來的線條圖是這樣一幅有點(diǎn)草膏味道的黑底白線線條圖。使用Canny過程中,如果有些線條無法被識(shí)別出來,那可以考慮適當(dāng)降低下面兩個(gè)Threshold(閾值)的數(shù)值,它能將更多明暗差異不是那么明顯的線條識(shí)別進(jìn)來,從而讓形體更加準(zhǔn)確。但注意,線條也不能過于密集了,不然生成出來的圖像可能會(huì)有很多無用的小細(xì)節(jié),顯得有點(diǎn)“臟”。就像提示詞不怕越加越多、多個(gè)LoRA模型可以按照不同權(quán)重一起使用,ControlNet也可以把幾種不同的模型“混合”在一起,從而實(shí)現(xiàn)更加精準(zhǔn)的控制。??在設(shè)置里面,找到ControlNet的設(shè)置選項(xiàng),在里面有一個(gè)多重ControlNet(MultiControlNet)的最大模型數(shù)量,默認(rèn)值是1,你可以將它調(diào)大-保存-重啟webUI,你的ControlNet就變得稍微不一樣了:原來只有一組ControlNet選項(xiàng),但現(xiàn)在上面冒出來幾個(gè)新的“Unit”, 你可以在里面配置完全不同的預(yù)處理器和模型組,也可以使用完全不一樣的圖片作為輸入信息:一個(gè)經(jīng)典的組合是 lineart + brightness,實(shí)現(xiàn)創(chuàng)意字體效果,更多復(fù)雜的玩法,你可以自行嘗試~也可以文末加入交流群,我們一起探索煉丹之術(shù)??看到這里你應(yīng)該開始慌了,ControlNet已經(jīng)有了15種不同的控制模型,而他們光是兩兩組合,就會(huì)有超過100種實(shí)際應(yīng)用,但其實(shí),并不是隨便2個(gè)湊一起就一定行的,這里面組合的關(guān)鍵就在于你需要讓他們存在一定程度的“互補(bǔ)”,讓一個(gè)網(wǎng)絡(luò)幫另一個(gè)網(wǎng)絡(luò)實(shí)現(xiàn)那些它做不到的事情。??ControlNet的發(fā)展很快,只憑記憶力去追趕它,如同騎著共享單車去追高鐵一樣望塵莫及,但無論是看起來一絲不茍的Onenpose、Depth,還是天馬行空的HED、Scribble,又或者實(shí)現(xiàn)創(chuàng)新性局部重繪的inPaint模型、在放大工作流中用于增加細(xì)節(jié)的Tile模型,以及前不久剛發(fā)布用于固定特征的Reference Only……它們都是在某些方面幫助我們?nèi)?duì)AI施加一些用語(yǔ)言、文字不是那么好傳達(dá)的“控制”,而從嚴(yán)格到寬松,控制效應(yīng)的強(qiáng)弱在變化,最終塑造圖像的方式也會(huì)有差異。只要看清ControlNet的本質(zhì),預(yù)處理器和模型作用的根本關(guān)系,以及在這中間給AI施加“控制”的尺度,你就具備了自由去探索任何一種ControlNet的能力。六、取代你的不是AI,而是比你更會(huì)用AI的人
在AI繪畫誕生以來,圍繞它的討論和爭(zhēng)議從來沒有停止過,有人認(rèn)為它會(huì)“取代”設(shè)計(jì)師,對(duì)行業(yè)造成沖擊;有人不理解它的生成方式,認(rèn)為它始終是一個(gè)“玩具”……隨著AI的快速進(jìn)化,AI繪畫已經(jīng)從一種試驗(yàn)性的新技術(shù),變成了一個(gè)擁有無限潛力的新型生產(chǎn)力,并開始被行業(yè)普遍接受。網(wǎng)易、騰訊等大廠體驗(yàn)設(shè)計(jì)團(tuán)隊(duì)都已經(jīng)開始使用AI提升工作效率,并不斷探索新的可能性。我知道此刻的你在擔(dān)心什么,Stable Diffusion的架構(gòu)如此復(fù)雜,讓很多沒有代碼基礎(chǔ)的小白望而卻步。為了讓大家更低門檻的體驗(yàn)在云端“快樂作畫”,我為你制作了系統(tǒng)鏡像,里面內(nèi)置了 Stable Diffusion 及自動(dòng)補(bǔ)全提示詞等一系列好用的插件,還下載好了幾款目前社區(qū)里比較火的模型,真正做到開箱即用。購(gòu)買方式非常簡(jiǎn)單,在京東云官網(wǎng)下單后買GPU標(biāo)準(zhǔn)型(12C48G P40),現(xiàn)在購(gòu)買立項(xiàng)新人19.9元/7天的1折體驗(yàn)價(jià)。GPU標(biāo)準(zhǔn)型(12C48G P40)鏈接:https://www.jdcloud.com/cn/pages/aistudy?utm_source=c_aimodel- 開通時(shí)選擇 [AI繪畫 Stable Diffusion 鏡像];
- 公網(wǎng)IP申請(qǐng)及綁定(https://docs.jdcloud.com/cn/learn-best-practice/ipset) ;
- 按照鏡像使用說明(https://docs.jdcloud.com/cn/learn-best-practice/aihhs) 開啟端口、啟動(dòng)服務(wù),然后就可以在瀏覽器內(nèi)訪問 [IP+7860端口],即可進(jìn)入SD的魔法世界。如果你還有疑問,可以評(píng)論區(qū)留言或者加入下方交流群。
看到這里,這篇文章也進(jìn)入了尾聲,感謝你的時(shí)間,讓這篇文章子變得有意義??。在AI繪畫這個(gè)領(lǐng)域,我們可以探索的知識(shí)和應(yīng)用場(chǎng)景還有很多,在接下來的日子里,我也將繼續(xù)與你分享。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。