AMD 单个MLP采样时2倍放大,LPIPS胜过双三次

Patch-Based Generalized Neural Texture Upscaling

Shin Fujieda, Takahiro Harada

cs.GR

2026-11-05

通用 MLP 采样时放大两倍,Hangar 漫反射 LPIPS 从双三次 0.156 降到 0.075。

这篇在解决什么

高清贴图同时吃掉磁盘和显存。离线超分从 SRCNN 做到 PFT,能把缺掉的细节补锐,也不用对着某一套资产再训练。它们按整张图计算,没有纹理采样要的随机访问,只能预先跑完再进引擎。高清结果照样存盘、进显存。

NTC 把一套 PBR 贴图过拟合进小 MLP,采样时解码,磁盘和显存一起降。每套资产单独压缩,权重各不相同,同一 wavefront 采多套材质就会发散,矩阵核不友好。NTBC 输出块压缩格式,解码走纹理单元,质量被格式封顶,同样要预处理。

这篇把放大放进采样器。一份通用 MLP 读低清邻域,当场写出两倍分辨率的纹素。贴图文件不用改,资产流程也不加步。

方法

放大按小块做。patch 边长 n 取 1,四周各垫 1 个纹素,三通道,输入是 3×3,输出是 2×2。边长取最小,是为了每次少读纹素。不垫边的话,相邻块接不上。贴图外缘用镜像,默认边缘平滑。

低频先交给双线性。它把输入放大到输出分辨率,MLP 只预测残差,最终纹素是两者相加。双线性已经接近能用,网络只补高频,目标更窄。损失用 L1,同一设定下比 MSE 更锐。优化用 Adam,学习率千分之一,可选余弦退火到百万分之一。

邻域展成 27 维,线性投到宽度 256,再过 4 个残差块。每块两层线性,中间夹 ReLU,加回输入后再过一次 ReLU,数值截到不超过 1。输出 12 个数,就是 2×2 的三通道纹素。这个尺寸放得进采样着色器。所有贴图共用一套权重,换贴图也不会让线程走不同的矩阵。

训练用 Poly Haven 的三类贴图,diffuse、normal、ARM 每类约 560 张,长边不超过 2048。分开训时,Hangar 的漫反射和法线往往更好;Museum 的法线只用法线训练反而不好。三类合训不是单类最优,两个场景上更均衡,部署只留一份权重。后文数字都来自这一份。Hangar、Victorian、Museum 不进训练集,Poly Haven 内部做了划分。

结果

对照是双线性、双三次、Lanczos,以及离线超分 PFT。PFT 只作画质参照,模型大得多,也不能在采样时跑。主指标是 LPIPS,越低越好。PSNR、SSIM 拉开得有限,糊图有时 PSNR 更高,和肉眼对锐度的判断相反。

数据贴图本方法双线性双三次LanczosPFT
Poly Havendiffuse0.2390.3960.3690.3830.224
Hangardiffuse0.0750.1930.1560.1570.043
Hangarnormal0.0230.0880.0670.0650.014
HangarARM0.0410.0940.0680.0650.024
Victoriandiffuse0.10260.22540.18950.19180.091
Museumdiffuse0.0520.1420.1070.1070.048

类别平均的 LPIPS 全部低于三种解析插值。PFT 仍更好,差距随数据变。Hangar 漫反射 0.075 对 0.043,Poly Haven 漫反射 0.239 对 0.224,后者已经很近。Hangar、Victorian 的部分法线,以及 Museum 的部分漫反射,单张可以追平 PFT。

像素误差不是一边倒。Hangar 漫反射 PSNR,本方法 36.86 dB,双三次 35.42 dB,PFT 39.38 dB。Museum 法线上双三次 PSNR 40.23 dB、SSIM 0.970,本方法 38.44 dB、0.966。同一行 LPIPS 却是 0.020 对 0.044。像素指标和感知指标排序相反。

HIP 渲染器里,Hangar 三个机位的 FLIP 是 0.0519、0.0415、0.0441,双三次是 0.0573、0.0441、0.0470,双线性是 0.0626、0.0473、0.0495。近处高光和漫反射差别更明显,数值上大约低 0.005。

按资产过拟合,LPIPS 多数再降一截。Hangar 漫反射从 0.076 到 0.059,Victorian 的 ARM 从 0.047 到 0.033。Museum 法线从 0.020 变成 0.021,过拟合更差。

NTC 只比了一张 Poly Haven 漫反射。对方用四频率的 PEPS,输入 11 维,隐层 64、四层。边长 512 的潜网格胜过本方法和 PFT,因为直接拟合原图。本方法大致对齐边长 256,难例落后。图上没有逐项读数。每张贴图另存的网络被忽略了。

隐层收到 8,Hangar 漫反射 LPIPS 仍是 0.079,低于双三次的 0.156。论文把 128 维标成拐点。去掉上下文,LPIPS 从 0.0755 掉到 0.0871,PSNR 从 36.87 dB 掉到 33.79 dB。关掉残差连接,LPIPS 从 0.0755 到 0.0796。残差的底换成双三次,质量没有上去。

为什么重要

只发行低清底图的项目,可以把采样器换成这个 MLP,省掉按资产压缩。权重全局一份,材质数量不会造成参数发散。它替换双线性、双三次和 Lanczos。PFT 的画质和 NTC 的压缩比都接不住。两倍边长意味着底图像素大约四分之一,字节数没有测。

还有一个 NTC 做不到的开关。经过漫反射之后如果不再需要高频,可以直接读低清纹素,把 MLP 跳过。NTC 的潜网格必须先解码。这个开关只停留在论证,没有进帧时间测试。

局限与存疑

运行时一个数字都没有。逐采样耗时、帧时间、模型宽度和吞吐的交换,都留给以后。集成方式说得通,不代表着色预算放得下。每次采样读 3×3,写出 2×2。相邻样本不复用的话,多算的纹素是空的。论文提到更大的块会浪费纹素,所以停在 2×2,但没有缓存方案。

倍率只做了两倍。低清图里不存在的亚像素细节,本方法和 PFT 都补不回来。难例上的差距还在。Hangar 的 WeaponD,LPIPS 是 0.097,PFT 是 0.030。Poly Haven 的牛仔布是 0.552 对 0.441。

NTC 对照只有一张图。法线放大后是否仍接近单位长度,粗糙度和金属度是否留在合法范围,都没查。损失是贴图上的 L1,不是辐射域里的物理约束。边界按镜像处理,默认边缘平滑,不能平铺的贴图会不会出缝,没有单独测。

术语

原文与代码

社区讨论

相关论文

全部论文解读