关闭

Anime4K:目前最热的开源实时动漫放大算法,Github上一周收获2600星!

2019-09-26 16:09

今天跟大家介绍一款动漫画面放大算法Anime4K,目前最热的开源、实时、视频动漫放大算法。

一周内该库在Github上收获2600+星,作者6天前在reddit上推介了该项目,也成为了大家的热门话题,引起极大关注!

为什么呢?

在这个“言必称深度、学必讲统计”的AI时代,Anime4K完全没有使用深度学习、统计方法,而且速度非常快!

下图展示了使用Anime4K将动漫画面从1080p提升到2160p的效果:

2fd54a9246c954ad2972b8bfa0458f4.jpg

时间仅需要3ms。(计算硬件Vega 64 GPU)

下图为与其他相同功能开源库的比较:

467f0da566bef9bb282062f31c5eacc.jpg

Anime4K在视觉效果最好的情况下,速度则是完胜!

作者称Anime4K 非常适合动漫放大任务,速度极快、能够保持视频内容连贯、实现只需约100行代码、效果也异常的好。

Anime4K 不使用任何机器学习或统计方法,非常适合于要保持清晰边缘和线段,而能够容忍丢失一些精细纹理的情况。 它是一种迭代算法,将颜色信息视为高度图并使用渐变上升将像素“推”到可能的边缘。 

作者认为这很可能是基于学习的方法内部已经在做的(例如VDSR,waifu2x)。

算法原理

Anime4K 仅适用于动漫图像放大,因动漫往往没有丰富的纹理,而人眼对其边缘和线段更加敏感。

图像超分辨率的一般流程:

LR_U为上采样后的低分辨率图像,r为高频残差,高分辨率图像HR = LR_U + r。

以往大部分算法都是在预测r。

作者发现这样一个事实,对于锐利图像其残差图像中边缘和线段往往比较细,而对于模糊图像,其残差图像中边缘和线段往往比较粗。

算法的主要目标是不断修改LR_U(低分辨率采样得到的模糊图像),直到其残差变得最细,给我们一个尽可能锐利的HR图像。

输入LR_U及其初始残差r,“推”(push)残差的像素,使残差图中线段边缘变得更细。对于作用于残差图中执行的每个“推”操作,在彩色图像上执行相同操作。 这具有迭代地使图像梯度最大化的效果,其在数学上等同于最小化模糊,但这种方法没有在传统方法中常见的振铃等伪像。

伪代码描述就下面几行:

  for each pixel on the image:

    for each direction (north, northeast, east, etc.):

      using the residual, if an edge is found:

        push the residual pixel in the current direction

        push the color pixel in the current direction

原理细节详见:

https://github.com/bloc97/Anime4K/blob/master/Preprint.md#proposed-method

无论在哪种设置下,Anime4K都取得了更佳的视觉效果。

开源地址:

https://github.com/bloc97/Anime4K



原创: CV君  我爱计算机视觉 

一键登录
邮箱登录
该邮箱未注册
手机登录
输入验证码