TransparentLC/realesrgan-gui

拆分大小

Closed this issue · 4 comments

请问作者,系统中拆分大小具体指的是什么,能否具体详细说一下,以及它的详细作用,谢谢

对应的是 Real-ESRGAN-ncnn-vulkan 的 -t 参数,相关的源码在这里(注意一下名字带有 tile 的那些变量)。

因为显存大小有限,所以放大的时候放进显存的并不是整张图,而是将图片分成方形的图块逐个传进显存再放大,最后拼成完整的图片。比如拆分大小设成 32 就是每次把 32x32 的一块放大成 128x128,设成不同的值应该可以注意到显存的占用不一样。

在显存允许的情况下拆分大小当然应该是越大越好,这样最后放大的图片质量也会更好(可以看看 README 的那两张对比图)。另外,因为最后得到的图片是这些图块拼出来的,那么在拼接的地方就会有不自然的切割的痕迹(虽然可能需要很仔细地看才能看出来),这种痕迹当然也应该越少越好。

下面有两张对比图,使用的拆分大小分别是 32 和 512:

仔细观察智乃头上顶着的提比右边的第一个酒瓶,应该可以在 32 的图里看到一些切割痕迹,而 512 的图则没有。

如果实在观察不出来的话……

上面的参考线围出的矩形的坐标是 (2944, 768, 3072, 896),都是 128 的倍数。

显然这个窗口是可以 resize 的……

输入输出的文本框里路径太长的话把光标挪到后面就会显示后面的内容了。