曾经作为一只热衷于折腾python AI绘画的小废物Mimosa,最近偶然接触到Magpie这款神奇的工具,内置的上百个模型让我着实震惊。作为一名对窗口缩放有重度需求的用户,于是果断抛弃了需要付费且仅支持8种缩放规则的工具LosslessScaling,转身投入开源的Magpie的怀抱。
(啊,我要退款!!)
Magpie 是一个实时画面缩放 / 拉伸工具,可以用来缩放只支持窗口模式、分辨率很低的程序或游戏,支持无边框 / 全屏放大显示。
Magpie内置了多种传统/AI缩放模型,本文将对其中的几种主要模型进行介绍与功能说明(部分内容参考ChatGPT)。
效果(具体配置见本文末尾):




几个问题
这一部分将简单介绍Magpie中模型缩放的几个原理性问题。
规则缩放&AI缩放?
规则缩放(传统缩放) = 按固定数学规则算像素,不理解画面内容,可以理解为直接把画面不加处理的放大(当然,可以加入抗锯齿等规则进行优化的)。因此,使用规则缩放并不会提升画面的清晰度,仅仅是把原先的画面进行全屏展示。它只能“拉大”,不能“变清楚”,不能增加信息。
AI 缩放 = 看懂画面“像什么”,再生成一个更高分辨率版本。使用AI类模型可对画面实时进行超分并输出,因此即使缩放后清晰的也是很高的(提高原画面的分辨率)
CNN 和 GAN?
它们是CNN(卷积神经网络) 和 GAN(生成对抗网络),曾经这俩在AI绘图领域比较流行(现在AI绘图领域早就被稳定扩散占据半片天地了),而在Magpie中大部分的AI缩放都是用的这俩。
CNN:根据低分辨率输入,预测一个结构上最合理的高分辨率结果。以像素结构为中心进行预测,更关注线条、轮廓和边缘的连续性,因此看起来更像原画。CNN适合超分比较注重原画的画面。
GAN:让生成结果“看起来像高清图”,而不是严格还原原始结构。GAN 由生成器和判别器对抗训练,其评价标准更偏向视觉真实感,而非结构准确性。因此,传统的GAN更适合视频增强、写实或摄影画面。
又回忆起Mimosa曾经尝试亲手用python“驯服”一只GAN模型的痛苦经历了。没事不建议自己折腾训练GAN模型,劳神伤脑
实时超分?
在被缩放的窗口中,每一帧画面在被显示之前,先经过一次 AI 处理,再立刻输出到屏幕(可以理解为实时的超分)。
当然,虽说是实时的,但可以通过可变速率缩放(VRS)只对帧中发生变化的部分进行缩放,在缩放大部分静态内容时,可以大大减少GPU的负载。
叠加模型?
在Magpie软件中,可以按一定顺序添加多个缩放模型算法来实现效果叠加。

当我们在缩放工具中启用多个模型或规则时,它们并不是并行工作的,而是以流水线的方式顺序执行,每个模型处理一次画面。在这条流水线上,所有步骤在同一帧内完成,前一个模型的输出,直接作为下一个模型的输入,且每个模型只对当前帧进行一次处理。
原始画面
↓[缩放规则/模型 A]
A处理后的画面
↓[缩放规则/模型 B]
A、B处理后的画面
↓[缩放规则/模型 C]
A、B、C处理后的画面
↓
最终输出(A、B、C共同缩放的画面)
1.AI 神经网络类模型
- 使用AI/神经网络模型进行实时画面超分
- 对于视频类画面对显卡的要求比较高,但对于以静止画面为主的视觉小说/rpg游戏,配置要求比较低
1.1.CuNNy / CuNNy2 系列
为动漫 / 视觉小说专门训练的 CNN 超分模型
由于不适用传统的GAN模型框架,风格保真度高,不会乱加细节,但不适合动态的场景。
命名规则(如:4x16C-NVL)
4x:放大倍率16C:通道数(越大越精细,也越慢)NVL:优化DN:带去噪Fast / Faster / Veryfast:性能优先,但超分质量递减

1.2.Anime4K 系列(高速规则 + 轻量 AI)
严格来说 Anime4K 不是重型 CNN,而是高度优化的 GPU Shader 算法,追求的是 低延迟 + 稳定风格。只不过后来衍生出了GAN系列模型。当然,主打轻量化的它,跟CuNNy还是大巫见小巫,眼见的被吊打。
当然,既然名字带有Anime,肯定也对动漫画风做过优化的。
下面将介绍它的子模块。
| 子模块 | 作用 |
| Upscale | 规则缩放,仅仅是放大画面,不会超分辨率。 |
| Restore | 修线条、去锯齿、改善模糊。适合显得毛糙的线条 |
| Restore_Soft | 更柔和的 Restore |
| Denoise_Bilateral | 规则缩放,用于去噪 (规模过大会除去画面原本的细节) |
| Thin_HQ | 细化线条,适合立绘、cg |
| Upscale_GAN_x2 / x3 | GAN 超分的缩放 |
| 3D_Upscale / 3D_AA | 用于3D 游戏 |

1.3.ACNet(Advanced Convolutional Network)
平衡型 CNN,去伪影能力强,不容易过锐,可作为 CuNNy 的替代
1.4.FSRCNNX
CNN 超分,线条扎实,但不如 CuNNy 细腻
1.5.NNEDI3神经网络插值
算是久战沙场的老将了。使用神经网络插值,速度有点慢
2.传统算法与后处理类
- 规则缩放,没有AI的超分辨率,因此缩放后的画面分辨率与原图大差不差,看起来比较糊。
- 不吃性能
2.1.空间缩放算法(插值)
| 算法 | 作用 |
| Nearest | 像素风专用 |
| Bilinear / Bicubic | 软,安全 |
| Lanczos / Jinc | 锐利的传统缩放 |
| SSimDownscaler | 高质量降采样 |
2.2.厂商缩放技术
| 算法 | 作用 |
| FSR | 锐化,3D 向 |
| NIS | 类似 FSR |
2.3.抗锯齿 & 锐化
| 算法 | 作用 |
| FXAA / SMAA | 平滑边缘 |
| CAS | 高质量锐化(慎用) |
| Sharpen | 统一锐化,风险高 |
| xBRZ / Pixel Art | 像素风专用 |
2.4.辅助修正
| 算法 | 作用 |
| Deband | 去色阶断层 |
| CRT | 怀旧滤镜 |
多个模型/算法叠加的正确食用姿势
前文提到过Magpie的模型叠加。用好这个功能,可以在节省性能的情况下大大提升显示效果。
Mimoa最常用的配置是这个(用于以静态画面为主的游戏):

CuNNy 作为主缩放提升画面分辨率,Anime4K的Thin_HQ做细线修复(对于立绘、cg很有效),最后用Anime4K_Restore去锯齿、修线条。当然,受限于显卡的性能,各个模型的参数还是调的比较低,仅供参考。




(当然,受限于网站的加载速度,服务器自动对图片进行的一定的压缩,最终的显示效果会比本文展示的更好)
多个模型叠加使用时,尽量衡量好每个模型/规则的参数量,否则可能导致某个模型生成画面的时间过长,进而造成其他模型等待的情况。

如果显卡性能有限,还是建议使用单一模型进行画面缩放处理。这样做通常比堆叠多个小参数量的模型效果更佳,且能避免因计算资源不足而导致的性能下降。
大概……就是这样了。










