✨背景
正如,最顶级的料理只需要最简单的烹饪方法一样,图像放大,是设计领域里边最常面对的一个问题,在AI绘画里边也是很常见的一个课题。虽然现在放大算法、放大模型有很多,但是真的能实现的比较好的,并不多。
所以SUPIR这个放大模型的出现,让不少关心“图像无损放大/高清放大”这个课题的朋友又开心了一下,所以这里做一篇简单的介绍。
🍤简要介绍
首先,SUPIR这个模型的论文地址是:https://arxiv.org/abs/2401.13627
感兴趣的朋友也可以自行阅读。
以下部分是结合论文阅读工具给出的一些片段,辅助了解下论文大概含义:
在这篇论文中,作者们介绍了 SUPIR 模型的主要特点和优势,包括:
- 模型扩展:通过模型扩展显著增强了图像恢复的能力,展示了图像恢复的新潜力。
- 数据集:收集了包含2000万张高分辨率、高质量的图片的数据集,每张图片都有描述性文本注释,用于模型训练。
- 文本提示引导的恢复:SUPIR 提供了根据文本提示指导图像恢复的能力,扩大了其应用范围和潜力。
- 负面质量提示:引入负面质量提示以进一步提高感知质量。
- 恢复引导的采样方法:开发了一种恢复引导的采样方法,以抑制基于生成的恢复中遇到的保真度问题。
在这篇论文中,作者们提出了一种称为“恢复引导的采样方法”(Restoration-Guided Sampling),旨在提高图像恢复的质量。这种方法特别针对生成模型在图像恢复任务中可能出现的过度生成问题,导致恢复的图像与原始低质量输入图像的保真度降低。为了解决这个问题,作者们采取了以下步骤:
修改EDM采样方法:作者们对现有的EDM(Euler Discrete Method)采样方法进行了修改,以引入恢复引导的采样策略。这种方法的目的是在扩散过程的每一步中,有选择性地引导预测结果更接近于低质量(LQ)图像。
控制生成过程:通过在扩散采样过程中施加额外的控制,以确保生成的图像恢复结果对原始LQ图像保持较高的保真度。这是通过在算法中引入一个额外的超参数τr(restore guidance hyper-parameter)来实现的,该参数控制着每一步中对生成结果的调整程度。
平衡保真度和感知质量:通过调整τr的值,可以在恢复图像的保真度和感知质量之间进行权衡。较小的τr值会使结果更偏向LQ图像,强调保真度;而较大的τr值则允许更多的生成自由度,强调感知质量,但可能会降低保真度。
算法实现:在算法1中,作者们详细描述了恢复引导采样的具体实现步骤。这个过程包括从高斯分布中采样、计算权重、更新预测结果以及调整生成内容以接近LQ图像。
通过这种方法,SUPIR模型能够在保持与原始输入图像高度一致的同时,生成具有高感知质量的图像。这在图像恢复领域是一个重要的进步,因为它提供了一种在不牺牲图像内容真实性的前提下,提高图像质量的有效手段。
论文中的实验结果表明,这种恢复引导的采样方法能够显著提高图像恢复的视觉效果,尤其是在处理复杂和具有挑战性的现实世界场景时。此外,通过用户研究,作者们还证明了该方法在感知质量上相比于现有技术有显著提升。
🎡Comfyui中对比测试
首先,插件地址是:GitHub - kijai/ComfyUI-SUPIR: SUPIR upscaling wrapper for ComfyUI
大家可以按照自己喜欢的方式安装这个插件,安装方面并不复杂;
其次:需要下载两个SUPIR的模型,之前的版本比较大,每个模型5G多,两个就是10G多,最近有了优化模型,每个只有2G多,给硬盘减负了属于是。
网盘地址:https://pan.quark.cn/s/8a17372a97aa
模型下载后放在大模型目录下就可以,可以建立二级目录,方便自己查找。
第三步,工作流的话,插件作者直接放在了插件里边,大家自己安装完插件到这个目录下找到拖进comfyui里边就好了,记得更改下模型的地址和选择supir模型;
至于两个模型的选择,根据描述来看,选择其一就好,效果不好的话,可以换另外一个看看:
-
SUPIR-v0Q
:百度网盘、谷歌云端硬盘使用默认训练设置。大多数情况下通用性高,图像质量高。
-
SUPIR-v0F
:百度网盘、谷歌云端硬盘使用光衰减设置进行训练。
SUPIR-v0F
当面对光衰减时,Stage1 编码器保留更多细节。
工作流本身相对比较好理解,红箭头的两个地方改一下模型,红框框为了防止图片形变,我稍微改动了下这个节点,大家也可以不改,不影响效果,注意大模型的部分要选择sdxl 或者sdxl-lighting的模型:
原图是从https://pixabay.com/zh/photos/pug-dog-sunglasses-pink-glasses-8632718/这里下载的共享图片:
放大3倍之后的图像:
emm,还是很不错的:
换一张人物的:
原始图像:
放大图像:
原始:
放大:
甚至是卡通图像:
放大之后:
总的来说,画面保真度还可以,但总有一点锐化过度的感觉,如果要解决这个问题,可以考虑使用正常的sdxl模型而不是lightning模型,比如说同样是放大三倍,下图1是用了lightning模型,而图2用了正常sdxl模型,画面效果会更细腻一点:
图1:
图2:
好,这篇的分享就到这里,如果对你有帮助,记得帮忙点个赞哦~
🎉写在最后~
去年的时候写了两门比较基础的Stable Diffuison WebUI的基础文字课程,大家如果喜欢的话,可以按需购买,在这里首先感谢各位老板的支持和厚爱~
✨StableDiffusion系统基础课(适合啥也不会的朋友,但是得有块Nvidia显卡):
https://blog.csdn.net/jumengxiaoketang/category_12477471.html
🎆综合案例课程(适合有一点基础的朋友):
https://blog.csdn.net/jumengxiaoketang/category_12526584.html
这里是聚梦小课堂,就算不买课也没关系,点个关注,交个朋友😄