当前位置:首页|资讯|AI绘画

AI绘画高清修复测试

作者:素叶锦时发布时间:2023-05-18

写在前面

这里是以为换了显卡就能跑出好图而沾沾自喜的suye——

自从换了显卡后,确实能跑高清大图了,然而跑出来的效果总是不尽人意。毕竟是第一次使用高清修复,那么自然而然就出了这期测试,高清修复怎么用才能达到最佳效果?那本期就来解答一下这个疑惑。

这次是铃兰小姐,我们的光!

测试过程

首先来认识一下高清修复的几个重要参数:

放大倍率不解释,真正影响出图效果的是上面三个参数:放大算法,采样次数和重绘幅度。

放大算法之前在放大测试那期专栏有提到过,感兴趣的小伙伴可以回顾一下:

而采样次数和重绘幅度我们也不陌生,我们在平常出图时会有一个采样迭代步数的值,这个值决定图像的迭代次数,一般拉到20—60之间,而重绘幅度在我早期的模型测试专栏中也作为一个测试项出现。

那么这两个值在高清修复中扮演了什么角色呢?

这次用于测试的模型是cetusmix:

我们首先将放大算法选为R-ESRGAN 4x+ Anime6B,对后两个参数进行测试:

好吧这么小根本看不清什么,事实上,高清修复的参数变化一般只涉及微小细节的改变,因此测试表中看不出什么变化,但还是可以发现一些显而易见的规律:在测试表左下角,当采样次数极小(1,3,5),且重绘幅度高(大于0.7)时,画面会重回噪点模式,无法出图;在测试表右下角,当重绘幅度大于0.7时,画面会出现变化,与原图不符;

那么可以得出三个猜想,一是重绘幅度与图生图中的重绘幅度特性一致,当重绘幅度大于0.7时,画面会与原图有出入;二是采样次数与采样迭代步数的特性一致,低采样次数会导致图片无法收敛;三是图片重绘的根本逻辑是将原图打回噪点图,再重新去噪。

之所以是猜想是因为我不懂底层逻辑不敢妄下定论,但应该大差不差。我们再从细节上看:

上图前者为768*512的放大前原图,后者为上行重绘幅度:0.1,下行重绘幅度0.5,左列采样次数:1,右列采样次数:100。

好吧略缩图还是看不出什么细节,有兴趣的小伙伴可以去下载文末分享的测试图链接自己对比一下,这里直接说结论了:

重绘幅度为0.1,或者说过小的情况下,图片仅有单纯的放大效果,采样次数则几乎没有影响。

左:原图,中:采样次数1,右:采样次数100

重绘幅度为0.5,约在(0.4—0.6)左右,采样次数低时,图片仍只有放大效果,采样次数高时,会有重绘的效果,如下图,采样次数为100时,人物头上的花瓣被修复,发丝也会变得更加细致。

左:原图,中:采样次数1,右:采样次数100

由此得出另一个结论,或者说猜想:图片对采样次数的敏感性与重绘幅度成正比,重绘幅度越高,采样次数变化对画面的影响就越大。

将参数更进一步细化,进行一次测试:

可以看到,在采样次数1时的噪点几乎是在0.5处形成跳变而不是一个平滑的过渡过程,另外,即使是初期形成噪点图的重绘幅度0.5—0.6区间,最终的收敛效果还是和原图相差不大。

因此我们可以得出一个比较合适的重绘参数:重绘幅度0.4—0.6,采样次数20—50,这个参数既可以防止低重绘导致的仅放大现象,又可以避免高重绘带来的噪点和图像变化问题,20—50的采样次数也可以在保证图像收敛的情况下避免无谓的生成时间浪费。

说完了重绘参数,我们再把目光放回放大算法上来,不同的放大算法重绘的效果一样吗:不同的放大算法最佳放大参数一样吗?我们先利用刚刚得到的重绘参数对不同放大算法进行一次对比测试。

根据测试结果可以大致分成六类:

Latent和Latent(antialiased):这类在测试结果中呈现了水彩似的性质

 Latent (bicubic)和 Latent (bicubic antialiased):与上一类类似,但是比较偏油画

Latent (nearest), Latent (nearest-exact):纯油画质感

上面六个为一个大类,从名字也可以看出来。

 None, Lanczos: 比较模糊的效果

Nearest:有一种喷笔的质感,放张细节图感受一下

BSRGAN, ESRGAN_4x, LDSR, R-ESRGAN 4x+, R-ESRGAN 4x+ Anime6B, SwinIR_4x:与R-ESRGAN 4x+ Anime6B相似的放大质感

显然这套“最佳参数”并不适合所有的放大算法,没办法,只好对每个类都做一遍参数测试了,看up这么辛苦的份上,就给up点个赞吧!

Latent:

Latent系列在测试中表现出了水彩与油画的混合质感,测试后发现,是因为重绘幅度不够所导致的,使用Latent系列的放大算法时,重绘幅度对画面的影响远大于采样次数。

至于将Latent分成三个小类的原因,从重绘幅度0.1中更能看出他们之间的差别;

由此可见,比起后三类放大算法的低重绘仅放大,Latent系列的放大算法在低重绘情况下根本出不了图,因此Latent系列重绘幅度仅推荐0.6,这是能保证图像不变化且正常出图的唯一参数。如果有兴趣,也可以尝试一下0.5,能够生成之前测试中那种水彩油画混合的质感(仅针对cetusmix而言)。

None, Lanczos, Nearest,BSRGAN, ESRGAN_4x, LDSR, R-ESRGAN 4x+, R-ESRGAN 4x+ Anime6B, SwinIR_4x:

后面几个方法就一起说了,其实本质上所有的的放大算法都是一样的,在0.1重绘幅度时,展现的是每个放大算法的特点,比如Lanczos的模糊放大,Nearest的像素放大,以及R-ESRGAN 4x+ Anime6B的算法放大,随着重绘幅度的提高,这些放大算法带来的特点又会被模型特点重新掩盖,但仍然会有一些特点残留下来。ESRGAN 4x+ Anime6B原来放大效果就不错,因此重绘幅度0.4,0.5也有不错的效果,而Lanczos,Nearest之类的放大算法本身就有一些问题,因此需要将重绘幅度拉到0.6才能较好地掩盖原先的问题,Latent系列也是如此。

0.6重绘的Nearest即使看似没什么问题,放大后仍然能看到类似喷笔的笔触

那么,似乎0.6的重绘幅度,40—50的权重就适用于所有放大算法了?是也不是。事实上,放大算法的效果还与具体模型有关系,用不同模型以上述参数进行了一次测试,结果如下:

首先可以看到的是,在这个参数下,几个模型都正常地出了图,这说明这个参数还是存在一定参考价值的,其次,使用Nearest放大方法的模型中,abyssorangemix等模型仍然出现了严重的喷枪质感,而nyanmix则几乎见不到,这说明不同的模型对不同的放大方法有不同的适应性。

abyssorangemix
nyanmix

因此,选择适配模型的放大算法会事半功倍,这里推荐Latent系列的放大方法,对不同模型都有比较好的适配效果。

(顺便吐槽一句,即使是同一tag用不同的模型效果也会截然不同,每个模型都有自己的侧重点,这次的tag是在cetusmix下写成的,所以用cetus跑很稳定,但是abyssorangemix似乎就认准了loli,anything立绘则偏爱big breasts,我写的明明是small啊!!nyan这次不黑暗系了,但是却右死磕gradient hair……所以大家抄tag的时候也要记得抄模型啊!!)

后话

其实我一开始用高清修复是想增加画面细节来着,但实际上,就如同它的名字一样,高清修复只能修复,不能无中生有。它可以把放大后模糊的细节高清化,但不能在空白的地方给你修复出本来没有的细节来。这对于某些本来细节就少的模型,譬如anything立绘,高清修复其实作用就相当小了,而对于一些细节多的模型,高清修复就有很好的效果。

而对于高清修复的参数,其实不同的模型都有最适合自己的参数,并没有一个统一标准,非要说的话,也只有一个大概的范围,比如用Latent系列时重绘幅度不要太低之类的,但相对来讲,一般重绘0.5—0.6,采样40—50就能适应绝大部分放大方法和模型,具体参数可以出图效果再进行微调。

本期测试表和测试参数链接:

链接:https://pan.baidu.com/s/1tK69kp9OHpKz7wtrUcLqEA?pwd=lr03 

提取码:lr03

解压码:suye

(只有测试表和测试用图哦,因为是测试用图所以很多图都只有微小差别,还占空间,没事就别下了)

往期推荐:

测试,制作专栏真的非常不容易!!如果有帮到小伙伴们就点个赞吧!!各位的支持是我持续更新的最大动力!!!  



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1