如何用 Stable Diffusion 產生高解析度的圖?

2023/05/19閱讀時間約 4 分鐘
txt2img 時,會用 512、768 等等大小來測試算圖,反覆迭代找到一個適合的 prompt 和參數組合。如果想要以此組合算出高解析度的圖片,直接調整長寬會遇到畫面跑掉的問題。該如何在固定構圖的情況下增加圖片的解析度呢?本文提供三個方法讓大家嘗試看看!
目錄

法一:透過 img2img 放大

將 txt2img 算出的圖片送入 img2img ,並輸入一樣的 prompt,如此及能算出高度類似,但細節略為不同的圖片。

img2img 法詳細步驟

在 txt2img 得到適合的結果後,點選 send to img2img
或者將圖片拉到 png info,再點選 send to img2img
跳轉至 img2img tab,調整長寬放大圖片。調整 denoising strength 控制 AI 自由度。
denoising strength 以 0.5 作為臨界值,大於 0.5 表示 Stable Diffusion 算圖自由度越高,與原圖差異越大。反之小於 0.5 AI 自由度下降,與原圖較為相似。
原圖:
透過 img2img 放大
img2img 算圖時拉高 denoising strength 構圖有可能跑掉,我們可以嘗試使用 ControlNet 控制畫面。ControlNet 使用方法將在另一篇文章中介紹。
原圖:
透過 img2img 放大:

img2img 法小結

優點:
  • 因為是透過 Stable Diffusion Model 算圖,除了放大解析度外,還能增加細部細節!
  • 調整 prompt 和 denoising strength,在此階段同時對圖片作更進一步的優化
缺點:
  • 解析度拉越高,所需算圖時間越久,VRAM 也需要更多、甚至會爆顯存,因此提高的解析度有上限(以 google Colab 的 T4 為例,15 GB 的 VRAM 在接近 2000 x 2000 的時候就會爆掉)
  • 是本文篇文章三法中,放大到同等級解析度時最耗費 VRAM 的方法
  • 放大圖片的細節或構圖可能會改變,需要依照經驗調整 denoising strength,或者引入 ControlNet 來解決

法二:透過 AI Upscaler 放大

透過 ESRGAN 等 AI upscaler 的方式將原圖放大,相對於傳統的 upscaler(如 PhotoShop),放大時能夠增加細節,算圖速度也比 img2img 快。

AI Upscaler 詳細步驟

  • 切換到 Extras tab,點選 Single Image,將想放大的圖片丟到 Source 中
  • 調整 Resize 決定放大幾倍。比如說原圖為 512×512,Resize = 2x.....
延伸閱讀
為什麼會看到廣告
KodingWork
KodingWork
大學唸的是生物,但持著興趣與熱情自學,畢業後轉戰硬體工程師,過著沒日沒夜的生活。之後憑一股傻勁創業,再度轉戰軟體工程師,一手扛起前後端、app開發,過程中雖跌跌撞撞,卻也累計不少經驗。 可惜不是那 1% 的成功人士,於是加入其他新創公司開發後端。沒想到卻在採坑的過程中拓寬了眼界,得到了深層的領悟。
留言0
查看全部
發表第一個留言支持創作者!
從 Google News 追蹤更多 vocus 的最新精選內容