Quantcast
Channel: 電腦王
Viewing all articles
Browse latest Browse all 5915

Stable Diffusion AI算圖使用手冊(5-5):透過Hires. fix輸出大圖

$
0
0
在使用Stable Diffusion生成高解析度圖片時,是否遇到了畫面崩壞的問題,這時候就可以透過Hires. fix功能避免這種狀況。4fbb00c0784f2f13dce53e833647e988

在使用Stable Diffusion生成高解析度圖片時,是否遇到了畫面崩壞的問題,這時候就可以透過Hires. fix功能避免這種狀況。

(本教學以Stable Diffusion WebUI 1.6.0版本為例)

解決2種崩壞問題

考量到許多Stable Diffusion所使用的Checkpoint模型是以512 x 512解析度的圖像為基礎進行AI訓練,導致在進行圖像生成時,若將輸出解析度調整到1024 x 1024以上時,容易造成圖像中人物三頭六臂等崩壞問題。

另一方面,如果在低解析度圖像中指定人物的全身像,也可能會因為畫面中人物臉部分配的像素數量太少,而造成臉部變型的問題。

這些問題都可以透過Hires. fix來改善,其概念為進行多次文字生成圖片(txt2img)功能生成多張低解析度圖像,並透過升頻演算法(Upscaler)將圖像放大,最後再利用圖片生成圖片(img2img)來修飾圖像,達到輸出高解析度圖像的效果。

如果在768 x 768解析度的圖像指定生成人物的全身像,可能會因為因臉部分配的像素數量太少,而造成臉部變型的問題。

使用相同參數但改為生成半身像,就可以避免臉部變型。

如果直接生成1440 x 1440解析度的圖像,可能會出現畫面崩壞的情況。可以看看圖中右側人物的「右腳」。

利用Hires. fix功能生成1440 x 1440解析度的圖像,能夠確保圖像的正確。

高畫質外芙

根據筆者自己的使用經驗,如果生成解析度介於512 x 512至1024 x 1024之間的圖像,大多不需使用Hires. fix,除非遇到前半段文章提到的臉部變型,才需借助Hires. fix來修正問題。但是如果是想要生成解析度高於1280 x 1280的圖像,則建議使用Hires. fix功能。

讀者可以在Stable Diffusion WebUI的txt2img參數設定欄位找到Hires. fix項目,點選三角型後就會展開詳細設定選項。

Upscaler為升頻過程使用的演算法,如果生成圖像是仿真照片類型建議選擇ESRGAN_4x,如果是漫畫、插畫類型則建議選擇R-ESRGAN-4x+-Anime6B。

Hires steps表示放大圖片的運算步數,數值越大產生的圖像品質越好,但需要花更多時間,一般建議設定40~50之間的數值。Denoising strength為降噪強度,可以理解為放大過程重新繪製的幅度,數值越大將給與系統越大的空間「調整圖像內容」,建議設定0.25~0.35之間的數值以避免圖像崩壞,若輸出圖像的品質未達期望,也可嘗試提升到0.5~0.7。

Upscale by為放大的倍數,Hires. fix會將原始圖像解析度的長、寬放大至指定的倍數。如果不想以此方式指定生成圖像的解析度,也可以直接在Resize width/height to欄位輸入想要的解析度數值。

設定完成後,即可照一般方式設定其餘參數、輸入提升詞,並開始生成高解析度的圖像。

點選Hires. fix項目的三角型展開詳細設定選項。以本圖為例,原始生成解析度為960 x 540(黃框處),透過放大4倍(綠框處)以讓輸出圖像解析度達到3840 x 2160。

Upscaler為升頻過程使用的演算法,如果生成圖像是仿真照片類型建議選擇ESRGAN_4x,如果是漫畫、插畫類型則建議選擇R-ESRGAN-4x+-Anime6B。

此範例圖像將960 x 540的原始解析度透過Hires. fix功能放大4倍至3840 x 2160。(讀者可以手動放大圖片查看細節,下同)

此圖為將768 x 512的原始解析度放大2.5倍至1920 x 1280。

此圖放大設定同上。透過Hires. fix功能生成高解析度圖片能夠避免畫面崩壞的問題,細節也相當完整,比單純用繪圖軟體放大還要細膩。

不過……就算有Hires. fix加持,偶爾還是會有畫面崩壞的情況啦。這時後就只能多算幾張圖,再選其中沒問題的出來囉。

雖然Hires. fix有助於在提升解析度的同時維持畫面品質,但也有著會大幅增加運算時間的代價,所以建議讀者可以先多嘗試生成低解析度圖像進行練習與參數調整,待確定「黃金參數」後,再進行Hires. fix圖像生成。

另一方面Hires. fix也會增加算圖過程中的顯示記憶體使用量,1920 x 1080解析大約需要8GB左右顯示記憶體,而3840 x 2160則會消耗14~16GB顯示記憶體。若讀者的顯示卡不符合需求也沒關係,筆者將在下篇Tiled VAE教學中提供替代解決方法。

回到系列文章目錄

加入電腦王Facebook粉絲團

Viewing all articles
Browse latest Browse all 5915

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>