Anime4K
Anime4K是一套开源的高质量实时动漫画质提升/降噪算法,可以用任何编程语言实现。
Anime4K的简单性和速度允许用户实时观看画质提升后的动漫,因为我们相信保留原始内容并为所有动漫爱好者提供选择自由。应避免将动漫重新编码为4K,因为这是不可逆的,可能会通过引入伪影损害原始内容,占用O(n2)更多的磁盘空间,更重要的是,这样做并不会显著减少信息熵(丢失的信息已经丢失)。
免责声明:所有使用的艺术资产仅用于演示和教育目的。所有权利归原所有者所有。如果您(作为个人或公司)拥有这些艺术作品,不希望它们与本项目相关联,请通过anime4k.upscale@gmail.com与我们联系,我们将欣然将其删除。
前言
Anime4K针对使用h.264、h.265或VC-1编码的原生1080p动漫进行了优化。
即使它可能有效,它并非针对缩小尺寸的720p、480p或标准清晰度动漫(如DVD)进行优化。较老的动漫(特别是前数字时代的作品)有一些很难去除的伪影,如糟糕的去隔行,制作过程中的相机模糊,严重的振铃,胶片颗粒,较老的MPEG压缩伪影等。
这也不能替代SRGAN,因为SRGAN在低分辨率图像或严重退化的图像上表现更好(尽管不能实时处理)。
Anime4K提供了一种方法,可以实时将1080p动漫放大到4K屏幕,同时提供类似于SRGAN的效果,并且比waifu2x好得多(参见比较)。
目前,正在研究更好的实时放大低分辨率或较旧内容的方法。
安装说明
Windows
Linux
Mac
v4.1 低分辨率实验
实验性SRGAN着色器从360p到4K的结果:(放大查看细节)
图像按算法速度排序,双三次插值最快。FSRCNNX和Anime4K可以实时运行,而waifu2x和Real-ESRGAN不能。
v4
我们引入了一种线条重建算法,旨在解决1080p动漫中出现的分布偏移问题。在实际应用中,由于预算和时间限制导致的低质量合成,动漫表现出惊人的差异,传统超分辨率算法无法处理。GAN可以隐式编码这种分布偏移,但使用速度慢且难以训练。我们的算法明确纠正了这种分布偏移,允许传统的"MSE"超分辨率算法适用于各种动漫。
来源: https://fancaps.net/anime/picture.php?/14728493 | 模式: B
来源: https://fancaps.net/anime/picture.php?/13365760 | 模式: A
性能数据是使用Vega64 GPU获得的,并使用UL
着色器变体进行测试。快速版本适用于M
变体。
请注意,使用张量核心的CUDA加速SRGAN/Waifu2x可以快得多,接近实时(~80ms),但它们的大尺寸严重阻碍了非CUDA实现。
v3
单一的Anime4K着色器被分解为模块化组件,允许针对特定类型的动漫和/或个人喜好进行定制。 新特性:
- 对算法进行了全面改进,提高了速度、质量和效率。
- 实时、高质量的线条艺术CNN放大器。(6种变体)
- 线条艺术去模糊着色器。("盲去卷积"和DTD着色器)
- 降噪算法。(双边模式和CNN变体)
- 盲重采样伪影减少算法。(适用于重采样质量差的动漫。)
- 实验性线条加深和线条变细算法。(用于感知质量。我们感知更细/更暗的线条在感知上质量更高,即使实际情况可能并非如此。)
访问量
从2021-09-19T16:02:06Z
(ISO 8601)开始计数
使用Anime4K的项目
- https://github.com/Blinue/Magpie (Windows 10/11的多用途GUI放大器)
- https://github.com/imxieyi/Anime4KMetal (基于Metal的Apple平台Anime4K)
- https://github.com/mikigal/Anime4K-GUI (基于Anime4K的GUI应用程序,可将放大后的视频保存到磁盘)
- https://colab.research.google.com/drive/11xAn4fyAUJPZOjrxwnL2ipl_1DGGegkB (用PyTorch重新实现的Anime4K)
请注意,以下项目可能使用的是Anime4K的旧版本。自v3版本以来,质量已有显著提升。
- https://github.com/yeataro/TD-Anime4K (TouchDesigner版Anime4K)
- https://github.com/keijiro/UnityAnime4K (Unity版Anime4K)
- https://github.com/net2cn/Anime4KSharp (C#重新实现的Anime4K)
- https://github.com/andraantariksa/Anime4K-rs (Rust重新实现的Anime4K)
- https://github.com/TianZerL/Anime4KCPP (C++实现的Anime4K及更多算法)
- https://github.com/k4yt3x/video2x (动漫视频放大处理流程)
- https://github.com/Anime4KWebBoost/Anime4K-WebGPU (WebGPU版Anime4K)
致谢
OpenCV | TensorFlow | Keras | Torch | mpv | MPC |
---|---|---|---|---|---|
非常感谢OpenCV、TensorFlow、Keras和Torch团队及贡献者。没有这些高质量的开源机器学习库,本项目就无法实现。
我还要特别感谢VDSR和FSRCNN的创造者,以及开源项目waifu2x和FSRCNNX,是它们激发了我创建这个项目的兴趣。我还要感谢mpv和MPC-HC/BE的贡献者,他们努力创造了具有无限定制选项的出色媒体播放器。 此外,我要感谢以任何形式为这个项目做出贡献的人,无论是报告错误、提交建议、帮助解决他人的问题还是提交代码。我将永远高度重视你们。
我还要向蒙特利尔大学、DIRO、LIGUM和MILA的人们表示诚挚的感谢,感谢他们为学生(包括我)提供了如此多的机会,提供必要的基础设施,并营造了优秀的学习环境。
我还要感谢更广泛的开源社区,其中大量具体的例子和代码给予了极大的帮助。
最后,但同样重要的是,我要无限感谢我的家人、朋友和教授们,在这些艰难时期为我正在进行的学习之旅提供财务、技术、社交支持和专业知识。你们的帮助实在是难以言表。
这份名单并非最终版本,因为这个项目远未完成。未来的任何致谢都将及时添加。