5分钟学会2023年最火的AI绘画(4K高清修复)

目录

(全套教程文末领取哈)

img

作品分享

img

img

对比图

img

img

对比图

img

img

对比图

img

img

对比图,这种图其实Hires. fix 2x后就挺好了,手臂有一些问题可以后期PS修复下

img
这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

介绍

在文生图的时候,一般而言,在进行高清修复的时候速度会非常慢,因此一般是先将种子设置为-1,即随机,然后批量生图寻找合适的种子, 种子找到后再对该图像继续进行高清修复,而在Stable Diffusion WebUI中,进行高清修复的功能很多,最开始的时候可能不太清楚哪种方式是最好的,目前在WebUI中,默认有以下功能选项卡可以进行高清修复

1、文生图中的高清修复(Hires. fix)

img

2、图生图中的SD放大(SD upscale)

img

3、Extras中的放大器

img

下面为其他插件,当WEBUI中自带的高清修复不满足使用时,可以使用

1、高级SD放大(Ultimate SD Upscale)

2、Tiled Diffusion

高清修复放大算法

几乎所有有关放大的功能都会涉及到放大算法的选择,一般而言,有如下图像修复放大算法

  • ESRGAN算法

ESRGAN是Enhanced Super-Resolution Generative Adversarial Network的缩写,是一种基于生成对抗网络(GAN)的图像超分辨率算法。其主要思想是通过学习低分辨率(LR)图像与其高分辨率(HR)对应物之间的映射,来实现从LR图像到HR图像的映射过程,从而实现图像的超分辨率。相较于传统的基于插值的超分辨率算法,ESRGAN可以生成更加清晰细节更加丰富的高分辨率图像。ESRGAN的训练数据集通常包括低分辨率图像及其对应的高分辨率图像,其训练过程中通过生成器网络(Generator)和判别器网络(Discriminator)相互对抗,以提高生成器的超分辨率效果。

ESRGAN_4x是一种基于超分辨率技术的图像增强算法。它是ESRGAN算法的一种改进版本,可以将低分辨率的图像通过神经网络模型增强到4倍的分辨率。ESRGAN_4x算法主要利用超分辨率技术中的单图像超分辨率重建方法,通过对低分辨率图像进行学习和训练,学习到图像的高频细节信息,然后将这些信息用于重建高分辨率图像。相比于传统的插值方法,ESRGAN_4x算法在增强图像的细节信息和保留图像质量方面有了明显的提升。

  • LDSR算法

LDSR是一种用于图像超分辨率的深度学习算法,其全称为"Deep Laplacian Pyramid Super-Resolution"。LDSR算法通过学习图像的低分辨率版本和高分辨率版本之间的关系来实现图像的超分辨率。LDSR算法采用了一种名为"深度拉普拉斯金字塔"的方法,该方法可以将原始图像分解为多个图像金字塔,以便更好地捕捉图像的细节和结构。

LDSR算法的核心思想是使用深度学习网络来学习输入图像的低分辨率版本与高分辨率版本之间的映射关系。具体来说,LDSR算法将输入图像的低分辨率版本作为网络的输入,将高分辨率版本作为网络的输出,并训练网络以最小化两者之间的差异。LDSR算法采用了深度卷积神经网络(DCNN)来实现这一目标。

LDSR算法具有高精度、高效率、易于实现等优点,在图像超分辨率等领域得到了广泛应用。

  • R-ESRGAN 4x+算法

R-ESRGAN 4x+是一种图像超分辨率重建算法。其全称为"Real-Time Enhanced Super-Resolution Generative Adversarial Network 4x+",是一种基于生成式对抗网络(GAN)的算法,是 ESRGAN(Enhanced Super-Resolution Generative Adversarial Networks)的改进版本之一。它通过引入残差连接和递归结构,改进了 ESRGAN 的生成器网络,并使用 GAN(Generative Adversarial Networks)进行训练。R-ESRGAN 4x+ 在提高图像分辨率的同时,也可以增强图像的细节和纹理,并且生成的图像质量比传统方法更高。它在许多图像增强任务中都取得了很好的效果,比如图像超分辨率、图像去模糊和图像去噪等。

  • R-ESRGAN 4x+ Anime6B算法

R-ESRGAN 4x+ Anime6B 是一种基于超分辨率技术的图像增强算法,主要用于提高动漫图像的质量和清晰度。它基于 R-ESRGAN 4x+ 算法,并使用了 Anime6B 数据集进行训练。Anime6B 数据集是一个专门用于动漫图像处理的数据集,其中包含了大量不同风格、不同质量的动漫图像,使得算法可以适应不同类型的动漫图像。

R-ESRGAN 4x+ Anime6B 算法主要通过提取图像特征、生成高分辨率图像和优化来实现图像增强。具体来说,它采用了一种名为残差块的结构来提取图像的高级特征,然后通过反卷积和上采样等方法生成高分辨率图像。最后,通过对生成的图像进行优化和后处理,进一步提高图像的质量和清晰度。

R-ESRGAN 4x+ Anime6B 算法在动漫图像增强领域具有较高的准确性和效果,并且可以应用于不同类型的动漫图像处理,如动画制作、漫画制作等。

  • SwinIR_4x

SwinIR_4x是一种基于Swin Transformer的图像超分辨率重建算法,可将低分辨率图像放大4倍,生成高分辨率图像。Swin Transformer是一种新型的Transformer模型,相对于传统的Transformer模型,在处理图像等二维数据时,具有更好的并行性和更高的计算效率。SwinIR_4x通过引入Swin Transformer和局部自适应模块(LAM)来提高图像重建的质量和速度。其中,局部自适应模块用于提高图像的局部细节,从而增强图像的真实感和清晰度。SwinIR_4x被广泛应用于计算机视觉领域,特别是图像重建、图像增强和图像超分辨率等方面。

  • Lanczos算法

Lanczos是一种用于对称矩阵的特征值分解的算法。在机器学习中,Lanczos算法通常用于实现特征值分解的近似算法,例如用于计算大规模数据集中的主成分分析(PCA)或矩阵逆运算。Lanczos算法的基本思路是利用正交矩阵将原始矩阵变换为一个三对角矩阵,然后使用迭代方法找到这个三对角矩阵的特征值和特征向量。由于三对角矩阵的维度通常比原始矩阵小得多,因此Lanczos算法可以大大加速特征值分解的计算过程。

  • Nearest算法

Nearest算法(最近邻算法)是一种常见的机器学习算法,用于分类和回归问题。在分类问题中,最近邻算法根据样本之间的距离将新样本分配给最相似的已知样本所属的类别。在回归问题中,最近邻算法通过找到与新样本最相似的已知样本来预测输出值。

最近邻算法通常包括两个步骤:首先计算新样本与已知样本之间的距离或相似度,然后根据最相似的已知样本的标签或值进行预测。

最近邻算法的优点是它非常简单且易于实现,并且对于许多数据集而言效果很好。然而,该算法的缺点是它在处理高维数据和大规模数据时的计算开销非常大,并且对于噪声数据和类别之间的不平衡性表现较差。

总结一下:

  • ESRGAN系列

ESRGAN_4x适用于照片写实类(可能出现细节过于锐利的效果,但有些人喜欢这样的风格),R-ESRGAN 4x+(全能型),R-ESRGAN 4x+ Anime6B(适用于二次元),R-ESRGAN-General-WDN-4xV3(适用于厚涂插画)

  • SwinIR_4x

SwinIR_4x需要表现光影的厚涂插画表现优于照片和二次元的图片放大,但逊于R-ESRGAN-General-WDN-4xV3

  • LDSR

LDSR照片写实类图片表现很好,插画和二次元图片不行,而且体积很大,速度很慢

如果不知道怎么选,默认选R-ESRGAN 4x+就对了

例图

假设通过多批次生成,寻找到了最终的种子,选中的例图如下

分辨率512 x 768,大小599.37KB,可以看到一些细节还是比较模糊的

img

咒语:

best quality, realistic, highres,masterpiece,photorealistic, ultra realistic 8k cg,perfect artwork,epic,intricate detail, delicate pattern,
1girl wearing hanstyle,beautiful girl,gorgeous goddess, deity,flawless,sexy,charming,seductive,erotic, alluring, enchanting, nsfw,
perfect female body,mature female,shiny skin, skindentation, narrow waist, full body, huge breasts, puffy nipples,
picture-perfect face,perfect face, beautiful face,looking at viewer,absurdly long hair, hair ribbon, hair flower, glowing eyes,
<lora:hanfu_v28:0.5>,(hanstyle,hanfu,han clothing),white thighhighs,hand of Guido Daniele,
onsen, valley,waterfall, bamboo, transpiration of water vapor,sunlight,fog,<lora:koreanDollLikeness_v10:0.3>,<lora:taiwanDollLikeness_v10:0.2>,<lora:japaneseDollLikeness_v10:0.1>, <lora:chilloutmixss_xss10:0.2> ulzzang-6500-v1.1:0.5
Negative prompt: low quality,normal quality, worst quality,
bad anatomy, extra breasts,extra nipples,extra hands,bad legs, bad feet,extra feet, bad fingers,confused fingers, extra fingers,
breasts out,
Steps: 30, Sampler: DPM++ 2M Karras, CFG scale: 8, Seed: 2603738057, Face restoration: CodeFormer, Size: 512x768, Model hash: 8c893b37ef, Model: luckyStrikeMix_V02Realistic, ENSD: 31337

文生图高清修复(Hires. fix)

这个功能非常好用,一般来讲,如果没有特殊需求,此功能基本够用,在文生图的时候就已经介绍过了,此处简单做一下对比

使用默认的参数,放大两倍(分辨率1024 x 1536,大小2.07MB)看看效果

img

左图为原始图,右图为放大之后的图,整体来看,可以看到增加了很多细节

img

放大看细节,清晰了很多,包括眼睛、头发等细节,另外可以看到它不是100%得放大,一些细节发生了变化,比如发饰,而是在原图上进行了重绘,这和图生图中的重回幅度类似,此处也有一个重绘幅度可调整,表示需要对原图进行多少调整。

img

下面都放大两倍试试不同的算法是什么样的效果,算法排序为:None,Latent,Lanczos, Nearest,R-ESRGAN 4x+, R-ESRGAN 4x+ Anime6B, SwinIR_4x

img

整体看上去区别不是很大,放大看细节会发现

  • Nearest算法整体很糊,在放大时不建议使用

img

  • Latent算法在发饰、衣服花纹上面有些变化、而且整体更加有辉光的感觉,猜测Latent会对潜空间再次应用tag,因此相较于其他算法,会在原图上有一些变化,但是还是需要看重绘幅度的设置。

img

下面试试放大2倍、放大算法选择Latent,重绘幅度设置为0.1,0.2,0.3,0.5,0.8,1.0的效果,Latent算法时,可以看到重绘幅度过大过小都不好,默认的0.5效果不错。

img

将算法换成R-ESRGAN 4x+在试试,重绘幅度在0.5以下也还行,但是放大了看手部等细节还是没有,0.8已经是另外一张图了,因此重绘幅度推荐默认的0.5,另外通过重绘幅度的设置也能看到不同算法处理过程的不同,感兴趣的读者可以做一个x/y矩阵图,观察重绘幅度和算法的关系。

img

图生图SD放大(SD upscale)

将文生图的结果转发到图生图中,下面四张图分别是原图,使用SD upscale,重绘幅度分别设置为0.1、0.2、0.4,可以看到,细节还是提升很多

img

注意使用SD upscale时重绘幅度不宜设置太大,否则放大后可能和原图产生较大差异,上图中可以看到重绘幅度越来越大的时候眼睛已经出现问题了。

附加功能(Extra)

附加功能中的放大仅仅是像素放大,而不是重新绘制,所以速度非常快,但是效果一般,并且十分忠于原图(因为没有重新绘制),并不会增加更多细节,祟拜试一张,放大4倍,像素确实有提升,但是没有更多的细节,效果不够好

img

Ultimate SD Upscale

可以看下官方的说明

此处也有一些分享

参数如图下所示,这里就不多介绍了,和SD Upscale好在可以对分块重合的地方进行设置,避免出现接痕

img

Tiled Diffusion

可参考官方说明

总体思想和Ultimate SD Upscale类似,也是将图片分成不同的小块进行重绘制,这里作者和Ultimate SD Upscale做了一些对比

对比Ultimate SD Upscale, 这一的算法更加忠实于原图,且产生更少的奇怪结果。与Ultimate SD Upscale(实测最佳去噪强度0.3),对比如下 对比图1对比图2

具体参数调整就不说了,官网都有详细说明,下面主要讲一下高清修复工作流

另外发现Tiled Diffusion有一个选项,噪声反转,笔者一般将参数设置为步数5、重绘幅度0.5

img

他可以让图像少一些细节,但是留下来的主题内容格外清晰,有一种厚涂的感觉,效果很棒

img

可以看到下面对比图中,左图中的云彩细节变少了,但是主体轮廓,如头发等变得十分清晰

img

高清修复工作流

这里先说一下以上高清修复原理:

图像放大目前有两种方法

1、将一整张图根据tag进行重新绘制,因为要将一整张图进行重绘需要较高的VRAM支持,以笔者12G显存而言,可以放大2x、3x、4x一般就爆显存了,但是重绘幅度可以设置很高,而且tag不用重新调整,因为就是作用于整张图的,修复结果比较好。

2、将整张图划分成不同的小块,单独对每张小块根据tag进行重绘制,因为是对每块进行绘制,所以需要较小的VRAM,2x只是起步、4x不在话下,但是参数调整复杂,tag也需要重新调整,因为是作用于每个小快的,不适合大范围的重绘,只适合在已有的图片上继续进行高清放大,

Hires. fix用的是第一种方法(其实Hires. fix就是一种图生图,通过源码可以发现和图生图调用的是一套代码),而不管是SD upscale还是Ultimate SD upscale亦或是Tiled Diffusion都是用的第二种,因此高清修复的工作流一般如下:

1、首先寻找种子,在文生图中多批次生成,找到适合的种子,此时由于分辨率可能较小,脸如果在画面中占比不大的话一般是崩的

2、找到种子以后进行适当的Hires. fix操作,尝试不同的算法和放大倍数以及重绘幅度,一般重绘幅度在0.5左右,太大了可能导致和原图差异过大,缩放倍数一般是1.5x、2x、2.5x、3x,在之中找一个最好的作为后续使用的图,一般而言2x比较好,3x可能产生一些奇怪的效果

3、将第二步中Hires. fix后的图作为最终缩放的图,发送到图生图中,使用SD upscale、Ultimate SD upscale或者Tiled Diffusion进行放大, 注意此处有几个特别需要注意的地方

  • **重绘幅度一定要设置小!**上面其实已经解释过了,如果重绘幅度太大的话,将会在每个小块上进行大幅度重绘,最终的效果可能看到很多重影,因为它将每个小块单独当成一块画布在上面图生图,重绘幅度建议在0.4以内,太高就会出现鬼影,假设需要画一个人物,最后可能在每个小块上都有一张人脸。
  • tag需要同步调整,负tag一般不用变,正tag只保留和画质相关的词,如masterpiece, best quality, highres, extremely detailed 8k wallpaper, very clear,其余和主题相关的一律去掉,因为我们的意图就是将图在每块上进行重绘放大,而不是在每块上都要按照正向tag重绘主体,当然tag和重绘幅度也有关系,重绘幅度很小tag也体现不出来,最好调整一下tag
  • 放大倍数不宜设置过大,一般2x就ok了,如果需要更大,可以将结果再次导入进来,在2x,不建议直接设置为4x,速度慢,而且出现废图几率高,需要循序渐进,逐渐放大。

下面我们按照这个工作流试试效果

第一步,首先找个种子,咒语如下

original,extremely delicate and beautiful,((beautiful detailed eyes)),(1girl), black hair, flower, school uniform, looking_at_viewer, mole, (solo),(masterpiece:1.4),(best quality:1.4),((sky)),dappled sunlight, grass, original,extremely delicate and beautiful,beautiful detailed eyes and face,(1girl), black_hair, flower, school uniform, looking_at_viewer, mole, red_flower, (solo),(masterpiece:1.4),(best quality:1.4),sea,((sky)),dappled sunlight,
Negative prompt: EasyNegative, extra fingers,fewer fingers,, EasyNegative, extra fingers,fewer fingers,
Steps: 25, Sampler: Euler a, CFG scale: 7, Seed: 122183507, Size: 512x768, Model hash: 694fde43fc, Model: pastelMixStylizedAnime_pastelMixPrunedFP32, Clip skip: 2, ENSD: 31337

结果为,可以看到由于分辨率太小,眼睛脸部等有一些崩

img

Hires. fix 1.5x、2x、2.5x试了三张(从左往右),发现2x还不错,因此以2x用来最终方法,其实可以看到,使用Hires. fix的效果已经可以了,如果不是要求也别高清的时候直接Hires. fix就可以出图了

img

将Hires. fix 2x的图扔到图生图里面,打开Tiled Diffusion,注意此时模型和VAE等直接用原来的就可以了,另外注意此处调整tag为masterpiece, best quality, highres, extremely detailed 8k wallpaper, very clear,负tag不变,重绘幅度设置为0.4、放大倍数注意先不要放太大,不然很慢,可以放大1.5x然后看看结果,如果结果太奇怪,可以将重绘幅度调整更小,此处我的所有Tiled Diffusion参数为

Tiled Diffusion upscaler: R-ESRGAN 4x+, Tiled Diffusion scale factor: 2, Tiled Diffusion: "{'Method': 'Mixture of Diffusers', 'Latent tile width': 128, 'Latent tile height': 128, 'Overlap': 16, 'Tile batch size': 8, 'Upscaler': 'R-ESRGAN 4x+', 'Scale factor': 2, 'Keep input size': True, 'Noise inverse': True, 'steps': 8, 'renoise strength': 0.5, 'kernel size': 64}"

官方推荐的放大参数如下,可在此基础上适当调整

采样器(Sampler) = Euler a,步数(steps) = 20,去噪强度(denoise) = 0.35,方法(method) = Mixture of Diffusers,潜变量块高和宽(Latent tile height & width) = 128,重叠(overlap) = 16,分块批处理规模(tile batch size)= 8(如果 CUDA 内存不足,请减小块批量大小)。

最终等待一会儿出图如下,效果还是非常不错

img

可以看看对比,从左往右依次是原图、Hires. fix 2x后的图、Tiled Diffusion 2x后的图

img

img

将Tiled Diffusion 2x再喂给Tiled Diffusion继续进行2x,参数保持不变,结果如下,效果非常不错,看起来在观感上没有第一次2x的时候鲜艳,可能是由于分辨率的原因。

img

下面在做下对比,下图依次是原图、Hires. fix 2x、Tiled Diffusion 2x、Tiled Diffusion 2x后再2x,可以看到提升是巨大的!

img

Topaz Photo AI修复

最后在介绍一个高清修复软件Topaz Photo AI,具体怎么下载就自行百度谷歌了,Topaz Photo AI功能非常单一,就是放大像素、去噪和锐化、但是这些都是由AI完成的,其内置了一些专门适用于这些场景的模型,而且操作十分简单,照片丢进去就行了,自动检测照片和修复

它和上面的高清修复工作流的区别是,修复过程中增加的细节还不够,只能在放大像素的基础之上增加细节(也说明它尊重原图),而Stable Diffusion增加细节的程度大得多,这也导致Stable Diffusion非常慢,而Topaz Photo AI则非常快,不管是什么场景,都建议最后丢进Topaz Photo AI进行最终修复,缺点是不支持批处理,下面来看看效果如何

把上面工作流中生成的最终的图丢进去,如下图所示,不同设置什么,软件会自动检测

img

当然这张图本身足够清晰了,其提升效果有限,只有在像素上进行提升,右下角选择Max放大,处理速度非常快

img

由于原图足够清晰了,所以几乎看不出什么差别

img

当我们放大时,比如这樱桃小嘴,就能看到细微差别了,所以原图足够清晰的时候它能锦上添花

img

如果原图不够清晰它只能增加一定的细节,并不能达到雪中送炭的效果,如下所示,所以如果是要增加大量细节还是老老实实的用Stable Diffusion进行重绘。

img

但有时候有奇效,比如下图中的老高与小沫,这么糊的照片能修复到这个清晰度还是非常不多的,在拿去PS修一修就OK,还不用写Prompt

img

  • 15
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值