(本文阅读时间:12分钟)
1998年11月,微软亚洲研究院在北京成立。时任微软公司 CEO 比尔·盖茨为此特地录制了一段视频,让我们先一起来看看其中的片段。
这段视频对于如今看惯高清视频的我们来说,或许画质有点太渣了。为了解决现有视频增强和修复工具的痛点,充分发挥 AI 技术的优势,微软亚洲研究院多媒体搜索与挖掘组的研究员们将深度学习、机器学习等技术经验,与实际场景和需求结合,推出了一套智能化视频增强工具集——“达芬奇”(DaVinci),大大降低了用户处理视频素材的门槛,只需一键就可以让视频更清晰、更顺滑。
现在,我们再来看看下面这个被“达芬奇”修复的版本。是不是感觉瞬间拨云见日?
“达·芬奇是文艺复兴时期最杰出的艺术家之一,他将艺术创作和科学相结合,留下了许多不朽之作。因此,我们希望智能视频增强工具集‘达芬奇’可以将 AI 技术应用到多媒体内容处理领域,让视频和图像创作者们更好地挥洒他们的创意,这也是我们将该项目命名为‘达芬奇’的原因,”微软亚洲研究院主管研究员杨欢说。
据微软亚洲研究院主管研究员傅建龙介绍,学术界很早就开始了对图像视频处理的研究,并在众多方向上做了理论方法的探索,但要将这些停留在概念验证阶段的创新想法真正落地,则需要仔细筛选可行的方向。“经过仔细的研究,我们认为通用图像和视频会议这两大场景中的画质增强具有很大的潜力,其背后主要由图像/视频超分辨率、视频插帧、压缩视频超分辨率这三大技术进行支持,有着更好的落地和应用机会,也最有可能让人们体验到当前 AI 技术的优势。”最终,这三项技术被集成到了“达芬奇”工具集中,并通过开源供用户下载使用。
依托于微软亚洲研究院创新的基于 Transformer 的图像/视频超分辨率、视频插帧和压缩视频超分辨率技术,“达芬奇”工具集能够实时帮助用户完成不同场景下的视频增强需求。无论是在线还是离线状态,都能生成清晰、连贯的高质量视频,大幅提高视频观感体验。
视频超分辨率:是将视频从低分辨率帧序列提升至高分辨率帧序列。对视频来说,最直观的感受就是让我们看到的画面更加高清,视频内容中的细节更加动人,从而满足人们对视频清晰度日益提高的需求,也能更好地适应硬件分辨率的提升。比如将 480P 的老旧视频变成 2K/4K 的高清版本,无论是小屏还是大屏播放,画质都毫无压力。
视频超分辨率结果对比(左:传统 Bicubic 算法,右:“达芬奇”工具集提供的算法)
视频插帧:是在两个边缘帧之间合成不存在的帧。当前视频的主流帧率是24帧/秒,也就是一秒钟播放24幅画面。随着视频处理设备以及显示设备性能的提升,原来的帧率已不能满足大众的需求。尤其是在体育赛事或游戏中,若能将帧率提升到60帧/秒甚至120帧/秒,那么则可以让画面更丝滑,也能减少由于帧率不足而导致的眩晕。其实,这项技术可以应用于许多场景,包括慢动作视频、帧速率转换等。
视频插帧结果对比(左:传统帧交错算法,右:“达芬奇”工具集提供的算法)
压缩视频超分辨率:是指从压缩的低分辨率视频帧恢复到高分辨率的视频帧。为了保证视频在互联网上的高传输速率,或在有限的网络条件下尽可能传输流畅的视频,互联网或用户设备上的大多数视频都是以压缩格式存储和传输的。然而,视频压缩会造成质量的损失,导致终端用户观看时视频好像被打了马赛克,特别是在运动较大的场景中,尤为明显。压缩视频超分辨率就是为了修复这种损失,使得视频画质更好。
压缩视频超分辨率结果对比(左:传统 Bicubic 算法,右:“达芬奇”工具集提供的算法)
通常,一项技术在学术论文中所呈现的是其在理想情况下可以达到的上限成果,而当转化为落地应用的工具时,该技术就要应对各种下限问题。比如,我们无法预估用户会使用视频增强工具来处理哪些类型的视频素材,它可能是手机记录的儿时影像、DV 拍摄的大好河山,也可能是胶片电影、MP4 中保存的怀旧金曲 MV,又或者是朋友分享的压缩后的 4K 电影。因此,模型需要有足够的鲁棒性才能处理不同的需求。
另外,用户的部署环境也未可知,尽管大部分设备可能是手机、笔记本电脑、台式电脑等,但不同设备的内存、CPU、显卡性能也不尽相同。同时,研究员们还要考虑计算的功耗问题,对于手机等移动设备,电量的消耗、计算处理的时长也都需要精巧的优化和设计。此外,模型从实验室的服务器迁移到终端设备上,性能也会有一定的降低。如何确保所有设备体验的一致性,也是“达芬奇”模型设计的一个重要挑战。
“达芬奇”三大技能实现的背后都是以业界领先的底层视觉预训练技术(Low-level Vision Pre-training)作为支撑,并辅以大量的数据训练。针对模型的鲁棒性,研究员们一方面利用了可收集到的400万公开图像和视频数据,图像、视频内容涵盖风景、建筑、人物等等,以及不同压缩率和分辨率的众多场景;另一方面,为确保训练的数据量和丰富的数据类型,研究员们还基于已有的数据,人工合成了更多含有噪声的退化数据,从而使整个模型训练能覆盖到更多用户实际的应用场景。
为了应对用户部署环境的多样性需求,研究员们为模型做了轻量化的设计,并且对网络结构和模型存储也做了特殊优化。例如,传统的视频处理方法在处理每一帧图像本身时,还要考虑整个时间序列,大大增加了计算量。而微软亚洲研究院的研究员们认为,视频播放就是物体在时间序列上的运动轨迹,只有在这个轨迹上的内容才对当前的画面增强有所帮助,其它区域的内容则关联性较低。
由此,研究员们提出了基于轨迹 Transformer 的视频超分辨率网络(TTVSR),这也是此前微软亚洲研究院图像超分辨率纹理变换 Transformer (TTSR)的扩展性研究成果。针对超分辨率和插帧的计算,轨迹感知转换器可以把原先时间×视频单帧图像的空间复杂度降低到只是对时间序列的计算,进而简化整个模型的计算复杂度。原来工业模型处理一分钟的视频需要十分钟甚至一小时,现在利用“达芬奇”可以实时甚至超实时完成高清视频处理。在压缩视频超分辨率任务上,“达芬奇”可以更好地保留高频视觉细节和指导高频纹理的生成,降低视频压缩后伪影的影响。
杨欢和傅建龙表示,相比于图片,视频的内容更加丰富,除了空间维度还要考虑时间维度,对计算的需求更高,因此,对于视频处理就需要轨迹感知 Transformer 这样一个设计更为精巧的方法。比如针对视频不同帧之间的连续性和相关性,如果一个人上一帧出现在这个位置,下一帧可能向左走一点,那么我们针对这个人的增强和计算就只需要沿着他运动的轨迹进行计算即可,不需要对整个视频进行搜索计算。
通过在业界广泛使用的峰值信噪比(PSNR)和结构相似性(SSIM)两个指标上进行测试,“达芬奇”工具集的表现都优于现有方法。下表展示了轨迹感知视频超分辨率 Transformer(TTVSR) 在最具挑战性的 REDS4 数据集上的测试结果,其中 PSNR 分别比 BasicVSR 和 IconVSR 提高了0.70db和0.45db。
轨迹感知视频超分辨率转换器(TTVSR)在 REDS4 数据集上的测试结果
将上述提到的基于 Transformer 的视频超分辨率相关技术应用于视频插帧以及压缩视频超分辨率上,依然可以得到非常不错的结果。例如,在视频插帧的 Vimeo-90K 数据集上,可以带来 0.36db 的 PSNR 提升;应用于压缩视频超分辨率的 REDS4 数据集上,在 CRF25 的压缩率下,可以带来惊人的 1.04db 的 PSNR 提升。
以上数据集的测试都是基于学术界中特定的退化模型开展的,但考虑到实际的使用场景,用户上传的视频并非高质量的标准素材,也没有一个对比的基准。所以,为了更接近用户的真实需求,微软亚洲研究院的研究员们还设计了一个“不需要标准答案的”视频评估方法 CKDN,即业界非基于参考的质量评估,旨在为业界持续探索视频处理方法提供更多参考依据。(论文链接:https://arxiv.org/abs/2108.07948)
目前,微软亚洲研究院已将“达芬奇”工具集的部分可执行文件打包发布,GitHub 上的项目主页也将在近期上线,后续研究员们会在主页上陆续发布、更新更多的视频增强工具。专业开发者可以利用工具集,针对自己的场景进行尝试并与各自的业务深度整合或二次开发,而零技术基础的普通用户也可以通过下载、运行工具集的可执行文件,感受“达芬奇”所带来的清晰、丝滑的视频。
“达芬奇”工具集下载
图像超分辨率:
https://azsjae.blob.core.windows.net/davinci/release/DaVinci_ISR_General_20220622.zip
视频超分辨率:
https://azsjae.blob.core.windows.net/davinci/release/DaVinci_VSR_Small_Face_20220622.zip
相关论文链接:
Learning Texture Transformer Network for Image Super-Resolution
https://arxiv.org/abs/2006.04139
Learning Trajectory-Aware Transformer for Video Super-Resolution
https://arxiv.org/abs/2204.04216
Learning Conditional Knowledge Distillation for Degraded-Reference Image Quality Assessment
https://arxiv.org/abs/2108.07948
更多链接:
“达芬奇”项目 GitHub 页面(即将上线,敬请期待!):
https://github.com/microsoft/davinci
如在使用工具集时发现任何问题,请发邮件到 davinci@microsoft.com 或者在即将发布的 GitHub 页面提交 issue 联系我们。
你也许还想看: