不止能换脸,神经网络还能让你看到 1896 年的「 4K 」电影
说到神经网络,你第一个想到的什么,有不少人第一个想到的应该是前段时间大火的换脸 APP 「 ZAO 」,神经网络在图片领域堪称「魔法」的应用第一次展现在每一个普通用户面前。
不少用户在使用过 ZAO 后,对神经网络产生了「技术恐惧」,担心 ZAO 会对自己的肖像权产生侵害,ZAO 也因为种种原因迅速下架,成为技术应用的「负面典型」。
但神经网络还有另一种用法,那就是对图像进行增强。
▲ 1895 年的电影《火车进站》图片来自:wiki
神经网络翻新老电影
最近,国外一个 YouTuber 发布了通过神经网络增强的 1895 年拍摄的纪录片《火车进站》,整部电影只有 45 秒长度,由路易·卢米埃和奥古斯特·卢米埃拍摄于法国一沿海城市。
▲ 经过神经网络增强的《火车进站》电影
传说放映到火车驶向镜头的时候,大量观众惊恐的从剧院跑出,展现了当时人们对新技术的好奇和恐惧。当然,这些往事都已经成为了都市传说。
不过由「新技术」的神经网络对这部电影进行翻新,也有着深远的意义。
1895 年拍摄的《火车进站》采用 35mm 格式胶片制作,由于当时的放映机由手摇进行驱动,我们可以粗略的认为其原始帧率在 16 帧到 24 帧之间。
▲ 1895 年拍摄的《火车进站》原片
由于当时的胶片技术尚未成熟,我们可以看到画面景物都是比较模糊的,火车在驶来的同时还带有明显的拖影。
但经过了神经网络的画面分辨率增强和插帧之后,这部老电影获得了 4K ~ 60fps 的画质。如果不是电影黑白的画面和胶片电影独有的画面抖动,画面流畅度和清晰度几乎可以与现在的智能手机相媲美。
是什么让神经网络在图像增强和插帧上有着这样的效果呢?
我们知道,数字视频的清晰度一般由分辨率和帧率决定(暂且不考虑影响图像压缩质量的码率)。神经网络对视频的增强,也主要集中在这两种参数上。
分辨率增强
首先我们来谈谈分辨率增强,想要将一张低分辨率的图片变成高分辨率的图片,我们就需要猜测放大产生的未知像素。通常情况下,我们会采用某种插值算法进行计算,在图像边缘的模糊和锯齿间获得平衡,这种计算通常无法增加图像细节,即使放大了图像,依旧显得很模糊。
▲ waifu2x SRCNN 算法与传统算法的对比
神经网络在增强分辨率上就有着独到的优势,或许你之前曾经听说过一个软件 waifu2x ,动漫爱好者们经常用它来放大动漫插图。当然,它同样可以用作照片放大。
waifu2x的核心方法就是通过机器学习,训练一个端到端的网络,使用低分辨率的图像作为输入得到对应的高分辨率结果图像,最后得到的结果在图像的锯齿与模糊程度有较好表现,其训练的原理类似于FCN模型。
▲ 不同算法在视频分辨率增加上的效果 图片来自:download.co.jp
在效果上,waifu2x 的 SRCNN (超分辨率卷积神经网络)要好于传统的双三次插值算法。
当然,waifu2x 的算法仅能在静态图片上使用。不过方法都是相同的,madvr 中放大视频分辨率的 ngu 算法也是类似的原理。
视频插帧
对于视频插帧来说,神经网络也有自己的用武之地,之前英伟达发布了一个叫做 Super SloMo 的神经网络,能通过联合建模的运动解释和遮挡推理配合光流算法生成中间帧。
这种技术能将原本 30 帧的视频放慢到 240 帧,并在其中添加画面的运动细节。
华为 Mate 30 Pro 的 7680 帧慢动作,也是通过神经网络对 1080P/960fps 的视频插帧生成的。可见类似的神经网络插帧算法确实有很高的使用价值。
写在最后:技术是一把双刃剑
可以看到,神经网络对图像的处理(也就是常说的 AI 图像)并不是一个很可怕技术,它是一把双刃剑,如果你用它来给视频换脸,侵犯他人肖像权,它就是不好的技术。
但如果我们能将其用在老电影翻新、手机超级慢动作、和实时视频增强,那它就是好技术。