手把手教你用 “三步法” 快速实现 4K+ 超高分辨率满细节出图
https://ngabbs.com/read.php?tid=35888357&rand=488
准备工作
- 如果你的显存不足以直出你期望的最终分辨率,请先按照你习惯的方式安装 切片扩展;
- 选择一个合适的放大算法,这里我选择的是 4x-UltraSharp,下载以后将PTH文件放在 .\models\ESRGAN\ 目录下;
- 重新启动SDWebUI,在Settings- Upscaling 页面中,将 Upscaler For img2img 设置为你喜欢的放大算法,这里我设置为4x-UltraSharp;
第一步 出草图
- 在不超过 768x768 分辨率的范围内,选择你习惯的方式批量出草图,我一般使用 768x576 分辨率;
- 挑选整体构图和画面元素基本符合你预期的某一张草图,这个时候细节不重要;
第二步 细节修缮
- 将你挑出的草图拖入 PNG Info 页面,点击右侧的 Send to img2img 按钮;
- 在图生图页面中,将目标分辨率设置为你的显存可以直出的最大分辨率,建议最少为草图的两倍左右,此时请不要启用切片功能;
- 将采样方法设置为 DPM++ SDE Karras,迭代步数设置为 40 或者更高,重绘幅度设置为 0.35-0.45,随机种子重置为 -1,出图;
- 你将得到一张细节完善的清晰的大图,如果不满意,可以重复这个过程,直到得到一张基本满意的大图;
- 在大图的基础上使用局部重绘或者其他你习惯的方式修改和完善各种细节,直至定稿;
第三步 出成品图
- 将大图拖入 PNG Info 页面,点击右侧的 Send to img2img 按钮;
- 在图生图页面中,启用 Tiled Diffusion 功能,设置 Upscaler 为 4x-UltraSharp,Scale Factor 设置为你期望的倍率,比如希望从 1536x1152 放大到 4k 分辨率,就设置为 2.5倍;
- 在图生图页面中,启用 Tiled VAE 功能,禁用 Fast Encoder 、Fast Decoder 功能 ;
- 移除包含特定含义的 Prompt,比如发色、道具、动作等,如果你拿不准哪些需要移除,可以只保留 masterpiece, best quality 之类的画质描述词汇;
- 将采样方法设置为 DPM++ SDE Karras,迭代步数设置为 40 或者更高,重绘幅度设置为 0.10-0.20,随机种子重置为 -1,出图;
常见问题
除了主楼推荐的 4x-UltraSharp 外,也可以试试 SDWebUI 内置的 SwinIR_4x、R-ESRGAN 4x+、R-ESRGAN 4x+ Anime6B
一般认为 R-ESRGAN 4x+、4x-UltraSharp 是较为通用的放大算法,SwinIR_4x、R-ESRGAN 4x+ Anime6B 更适用于 2D 动漫风格图像的放大
-
在使用第二步中的方法与使用文生图中的高清修复有什么区别呢
使用图生图的更为稳定,可以在基本保证画面元素与构图不发生重大变化的同时完善细节;
使用高清修复随机性较强,可能与草稿产生显著的画面结构或画面元素的变化;
所以如果你对草稿已经比较满意了,使用文中的方法得到的效果更接近于“放大”;
三步法的基本逻辑是将 “确定构图” -> “细节调整” -> “放大出图” 三个步骤分开进行
这么做的原因还是 SD 这套系统本身的限制 :
- 第一步信息量太小(分辨率太低)很难进行细节调整;
- 第三步的4K+下就算是4090也无法提供足够的算力来支撑反复尝试所需的出图效率;
所以通过在两者之间插入一个步骤给人工介入进行局部调节的机会,这其实也是无奈之举;
相信随着系统的进一步改善和显卡算力的进一步提升,如果文生图直出1920分辨率时依然能保证画面的正确,并且速度跟现在的768分辨率相近,那自然不用这么麻烦了;
目前来说,如果你不准备在第二步人工介入进行细节的调整,那确实可以在第二步直接生成大分辨率成品图,省略第三步;