Magpie内置模型食用指南

曾经作为一只热衷于折腾python AI绘画的小废物Mimosa,最近偶然接触到Magpie这款神奇的工具,内置的上百个模型让我着实震惊。作为一名对窗口缩放有重度需求的用户,于是果断抛弃了需要付费且仅支持8种缩放规则的工具LosslessScaling,转身投入开源的Magpie的怀抱。

(啊,我要退款!!)

Magpie 是一个实时画面缩放 / 拉伸工具,可以用来缩放只支持窗口模式、分辨率很低的程序或游戏,支持无边框 / 全屏放大显示。

Magpie内置了多种传统/AI缩放模型,本文将对其中的几种主要模型进行介绍与功能说明(部分内容参考ChatGPT)。

效果(具体配置见本文末尾):

几个问题

这一部分将简单介绍Magpie中模型缩放的几个原理性问题。

规则缩放&AI缩放?

规则缩放(传统缩放) = 按固定数学规则算像素,不理解画面内容,可以理解为直接把画面不加处理的放大(当然,可以加入抗锯齿等规则进行优化的)。因此,使用规则缩放并不会提升画面的清晰度,仅仅是把原先的画面进行全屏展示。它只能“拉大”,不能“变清楚”不能增加信息

AI 缩放 = 看懂画面“像什么”,再生成一个更高分辨率版本。使用AI类模型可对画面实时进行超分并输出,因此即使缩放后清晰的也是很高的(提高原画面的分辨率)

CNNGAN

它们是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 / x3GAN 超分的缩放
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去锯齿、修线条。当然,受限于显卡的性能,各个模型的参数还是调的比较低,仅供参考。

无规则缩放(720p->2k)
CuNNy->Anime4K_Thin_HQ->Anime4K_Restore,720p->2k
无规则缩放(720p->2k)
CuNNy->Anime4K_Thin_HQ->Anime4K_Restore,720p->2k

(当然,受限于网站的加载速度,服务器自动对图片进行的一定的压缩,最终的显示效果会比本文展示的更好)


多个模型叠加使用时,尽量衡量好每个模型/规则的参数量,否则可能导致某个模型生成画面的时间过长,进而造成其他模型等待的情况。

Magpie自带的性能分析器

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

大概……就是这样了。

系列文章
学习笔记/技术
Contents: 25/25
License
许可协议:CC BY-SA 4.0
原文链接:https://loneapex.cn/archives/4895
暂无评论

发送评论 编辑评论

这里支持部分markdown语法哦!
评论发布后您随时可以修改。

				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯
 ̄﹃ ̄
(/ω\)
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯
φ( ̄∇ ̄o)
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
(´っω・`。)
( ,,´・ω・)ノ)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•)
(ㆆᴗㆆ)
from『不动声色的柏田与喜形于色的太田』
from『邻座的邻座的艾莉同学』 | 最喜欢有希酱啦!(素材来自bilibili@最上川下山)
from『魔女的夜宴』 | Mimosa整理
Source: github.com/k4yt3x/flowerhd
整活by Mimosa233
颜文字
柏田
周防有希
魔女
小恐龙
花!
夸夸我!
上一篇