系列文章:
- 《AI - stable-diffusion(AI 繪畫)的搭建與使用》
- 《AI - AI 繪畫的精準(zhǔn)控圖(ControlNet)》
一、介紹
近日,AI 繪畫(stable-diffusion)用來藝術(shù)化二維碼算是比較火熱的事了,這個 idea 是由國人用 Checkpoint + LoRA + QR Code ControlNet 組合實現(xiàn)出來的,下面是幾張圖片案例:
這是原作者的文章:《AI 生成可掃碼圖像 — 新 ControlNet 模型展示》
不過,文章內(nèi)并沒有講述藝術(shù)化二維碼的具體過程,也沒有現(xiàn)成的 QR Code ControlNet
可供使用(可能出于某些原因沒有公布吧,瞎猜的~),從網(wǎng)上收集了一些資料,使用現(xiàn)有的 ControlNet 模型也能夠?qū)崿F(xiàn)同樣的效果,下面來看看具體實現(xiàn)步驟。
二、實戰(zhàn)
需要先下載 2 個 ControlNet 模型:
- SD15_brightness:https://huggingface.co/ioclab/ioc-controlnet/tree/main/models
- SD15_tile:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
下載后存放到 stable-diffusion-webui\extensions\sd-webui-controlnet\models
目錄下。
注:建議將 ControlNet 插件升級到最新版本,支持更多預(yù)處理器,還有更方便好用的 UI。
1、生成二維碼
我們先準(zhǔn)備一張二維碼圖片,可以通過以下任意一個網(wǎng)址生成:
- 草料二維碼:https://cli.im/
-
QR.io
:https://qr.io/
2、灰度處理
- 上傳二維碼
- ControlNet Unit 0:打鉤啟用(Enable)
- 預(yù)處理器(Preprocessor):
inpaint_global_harmonious
- 模型(Model):
control_v1p_sd15_brightness
- 權(quán)重(Control Weight):
0.4
- 開始與停止步驟(Starting Control Step、Ending Control Step):
0
和1
注:如果你找不到
inpaint_global_harmonious
預(yù)處理器,把 ControlNet 插件升級到最新就有了。
3、細(xì)節(jié)處理
- 上傳二維碼
- ControlNet Unit 1:打鉤啟用(Enable)
- 預(yù)處理器(Preprocessor):
inpaint_global_harmonious
- 模型(Model):
control_v11f1e_sd15_tile
- 權(quán)重(Control Weight):
0.6
- 開始與停止步驟(Starting Control Step、Ending Control Step):
0.35
和0.75
注:如果你頁面上沒有多個 ControlNet 單元,可以到 Settings 中,找到 Multiple ControlNets 進(jìn)行設(shè)置,詳見:《AI - AI 繪畫的精準(zhǔn)控圖(ControlNet)》
4、配置描述
根據(jù)你希望在二維碼畫面中出現(xiàn)的東西進(jìn)行配置,比如我希望在畫面中出現(xiàn)一個戰(zhàn)火中的高達(dá),我的參數(shù)配置如下:
- 正向提示詞(Prompt):
masterpiece, best quality, mecha, no humans, black armor, blue eyes, science fiction, fire, laser canon beam, war, conflict, destroyed city background
- 反向提示詞(Negative prompt):
UnrealisticDream, FastNegativeEmbedding
- 采樣方法(Sampling method):
Euler a
- 采樣步數(shù)(Sampling steps):
26
- CFG 比例(CFG Scale):
6.5
- 隨機(jī)種子(Seed):
1234843297
注:如果你不知道這些配置含義是什么,可以查閱這篇文章:《AI - stable-diffusion(AI 繪畫)的搭建與使用》
配置完描述后,點擊 Generate
按鈕,等待圖片生成即可:
至此,藝術(shù)化后的二維碼就生成好了,而且是可以被正常掃碼識別出來的哦~
三、資料
在上述實戰(zhàn)中,出現(xiàn)了 1 個新的 ControlNet 預(yù)處理器和 2 個新的 ControlNet 模型,它們的作用分別是什么呢?
1、預(yù)處理器 inpaint_global_harmonious
inpaint_global_harmonious
主要用于局部(遮罩部分)重繪,在原生基于圖生圖的重繪模式上加入了 ControlNet 的控制,從而讓 inpaint 能夠更加準(zhǔn)確的預(yù)測重繪細(xì)節(jié)。但是注意,和普通局部重繪不同,ControlNet 的 inpaint 模型除了重繪遮罩部分外,遮罩以外的地方也會發(fā)生微小變化(重繪),這樣做帶來的好處是它能夠更好地將重繪區(qū)域與整體畫面融合,讓整體出圖更加和諧統(tǒng)一。當(dāng)然你也能將 ControlNet 引導(dǎo)權(quán)重調(diào)節(jié)到最大,此時 ControlNet-inpaint 模型將盡可能得保持遮罩區(qū)域以外的畫面不發(fā)生變化。
上圖是傳統(tǒng)圖生圖的局部重繪,原圖蒙版重繪部分往往會出現(xiàn)與周圍環(huán)境不相容的獨立景物,無法統(tǒng)一整體布局。
可以看到,對比傳統(tǒng)圖生圖的局部重繪,ControlNet 的 inpaint 模型能在統(tǒng)一整體效果的前提下,補(bǔ)全蒙版部分的內(nèi)容,同時遮罩外部分的輪廓和細(xì)節(jié)也得到了較好的保留。
上述介紹源自:https://www.jianshu.com/p/2e433f71f544
2、模型 control_v1p_sd15_brightness
該模型為穩(wěn)定擴(kuò)散帶來亮度控制,允許用戶對灰度圖像著色或?qū)ι傻膱D像重新著色。
上述介紹源自:
https://aigc.ioclab.com/sd-showcase/brightness-controlnet.html
https://huggingface.co/ioclab/control_v1p_sd15_brightness
3、模型 control_v11f1e_sd15_tile
tile 模型原本是為了放大圖片而設(shè)計的,具體來講需要先將原圖分割為一塊一塊的小區(qū)域(叫做 Tile 或瓦塊),然后分別對每個瓦塊進(jìn)行圖生圖放大,最后集合所有放大后的瓦塊,拼成完整的大圖。之所以采用局部放大后拼接的模式是為了減少顯存占用。但是這樣放大圖片也有弊端,那就是必須要求每個小圖在圖生圖時重繪幅度不能太大,因為本質(zhì)上每個小圖使用的也是全圖提示詞,當(dāng)重回幅度過高時,老版本 tile 模型很可能會在每個小圖里生成全圖提示詞所描繪的全部內(nèi)容。
ControlNet1.1 版本后的 Tile 模型更加強(qiáng)大,它具有兩種特性:
- 忽略圖像中的細(xì)節(jié)并生成新的細(xì)節(jié)。
- 如果局部瓦片語義和提示不匹配,則忽略全局提示,并根據(jù)局部上下文引導(dǎo)擴(kuò)散。
因為該模型可以生成新的細(xì)節(jié)并忽略現(xiàn)有的圖像細(xì)節(jié),所以我們可以使用該模型去除不良細(xì)節(jié)并添加細(xì)化的細(xì)節(jié)。例如,消除由圖像大小調(diào)整引起的模糊。
上述介紹源自:
https://www.jianshu.com/p/2e433f71f544
https://github.com/lllyasviel/ControlNet-v1-1-nightly
四、分析
我將實戰(zhàn)中兩個 ControlNet 單元依次生成的圖片拆開,得到如下過程圖:文章來源:http://www.zghlxwxcb.cn/news/detail-496684.html
結(jié)合上述資料中對兩個 ControlNet 模型的介紹,可以大致理解為 control_v1p_sd15_brightness
在二維碼圖片的基礎(chǔ)上進(jìn)行重新著色,但會丟失二維碼信息,control_v11f1e_sd15_tile
則在此基礎(chǔ)上,對二維碼信息細(xì)節(jié)進(jìn)行補(bǔ)充。至于預(yù)處理器 inpaint_global_harmonious
,因為此場景下二維碼并不需要進(jìn)行 inpaint 處理,所以把預(yù)處理器設(shè)為 none 也是可以的,對結(jié)果并不影響。文章來源地址http://www.zghlxwxcb.cn/news/detail-496684.html
到了這里,關(guān)于AI - stable-diffusion 藝術(shù)化二維碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!