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 放大:
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 快。