要将模糊图片变清晰,整个流程主要分为以下三部分:
此外,修复模糊图片还需注意以下几点:
对于老照片,可将其放入后期处理中,使用 GFPGAN 算法将人脸变清晰。然后将图片发送到图生图当中,打开 stableSR 脚本进行放大修复。切换到 sd2.1 的模型进行修复,vae 选择 vqgan,提示词可以不写以免对原图产生干扰。
整个图像修复放大的流程分为三部分:输入原始图像、修复图像、放大并重绘图像。下面将详细拆解每一部分的生成原理。[heading3]一、图像输入[content]第一部分添加Load Image节点加载图像,只需上传需要处理的图片即可。不建议上传大分辨率的图片,图片分辨率越大,处理的时间就越长。[heading3]二、图像高清修复[content]第二部分进行高清修复,把原本模糊的图片修复,并进行2倍放大。Checkpoint大模型使用Iceclear/StableSR,这是一种新颖的方法来利用封装在预先训练的文本到图像扩散模型中的先验知识来实现盲超分辨率(SR)。具体来说,就是通过时间感知编码器,在不改变预先训练的合成模型的情况下实现有希望的恢复结果,从而保留生成先验并最小化训练成本。并且需要搭配Stable SR Upscaler模型才能在最大程度上修复图像,推理图片每个噪点,以还原图像。提示词部分应包含我们想要达到的目的内容,在此场景中如正向:(masterpiece),(best quality),(realistic),(very clear),反向:3d,cartoon,anime,sketches,(worst quality),(low quality)(杰作),(最高品质),(逼真的),(非常清晰);3D,卡通,动漫,素描,(最差质量),(低质量)全程采取两次高清修复,这一次修复原始图像分辨率并且放大,已经很完美还原,但是分辨率并不够,继续进行下一步。[heading3]三、图像高清放大[content]这一步主要针对第一次放大修复后的图像,进行二次修复。这里用realisticVision底膜最合适,这个模型在重绘扩图放大等领域效果非常好。使用提示词反推node对图像进行画面提示词提取,搭配tile ControlNet提升画面细节感,然后需用合适的高清放大模型,对图像进行二次放大。
这个修复必须要使用StabilityAI官方的Stable Diffusion V2.1 512 EMA模型,放入stable-diffusion-webui/models/Stable-Diffusion/文件夹中。然后是StableSR模块(约400M大小)放入stable-diffusion-webui/extensions/sd-webui-stablesr/models/文件夹中。还有一个VQVAE(约750MB大小)放在你的stable-diffusion-webui/models/VAE中。这三个文件我会放在百度云盘的链接中。安装好之后,我们用一张从网上找的神仙姐姐的照片来做一个测试,这张图片的分辨率为512x768。放大之后看是比较模糊的,脸上有很多噪点,头发丝也糊在一起了。我们先使用“Ultimate SD upscale”脚本放大看一下,哪怕是重绘幅度只开到0.1,也可以看到人物细节的变化,比如嘴角、眼睛等部位,而且整个人磨皮很严重,失去了真实感。重绘幅度开到0.4之后,基本上就变了一个人了。所以,想要还原一些老照片,追求最大保真度的话,用重绘的方法是不太好的。接下来,我们再试验一下“后期处理”的放大方法,缩放3倍。眼神变得更锐利了一些,但是头发还是模糊的,因为原图就很模糊。最后,我们再测试一下StableSR的放大,先将大模型和VAE分别调整为我们刚才下载安装的“Stable Diffusion V2.1 512 EMA ”和“VQGAN vae”。打开脚本下拉,选择“StableSR”,模型选择和大模型对应的这个,放大倍数为3,下面勾选“pure noise”。
将照片放入到后期处理中,使用GFPGAN算法将人脸变清晰,不知道这个功能的可以参考我这篇文章——[【Stable Diffusion】图片高清化+面部修复+一键抠图,一些你不知道的事儿](http://mp.weixin.qq.com/s?__biz=MzkzMzIwMDgxMQ==&mid=2247487422&idx=1&sn=9cdf7ef37c2acb3c0fc3328d0ba8af74&chksm=c251597af526d06c921ea6728cb2a32bdf1d5f699e19d6ba13b849994e4d01af8a5144132aad&scene=21#wechat_redirect)。这个步骤,可以将我们的五官进行重绘,但是却没有办法将照片中的头发、衣服等其他元素变清晰。所以,接下来我将图片再发送到图生图当中,打开stableSR脚本,放大两倍。这个放大插件是所有插件中对原图还原最精准的,也是重绘效果最好的,不知道的朋友可以参考我的这篇文章——[【Stable Diffusion】超清无损放大器StableSR](http://mp.weixin.qq.com/s?__biz=MzkzMzIwMDgxMQ==&mid=2247487403&idx=1&sn=cbb96534fa6f58c37cf9fc64bc7ade0c&chksm=c251596ff526d0792b4bba0e21b69427b23e780824bdc75b22f1073e8bad6f61f30199fc8344&scene=21#wechat_redirect)。切换到sd2.1的模型进行修复,vae选择vqgan,提示词可以什么都不写,以免对原图产生干扰。