旧电影焕新:从“小应用”窥见CANN计算架构的“大能力”

时代车轮滚滚向前,那些属于过去的记忆却不曾退却。

我们很幸运地看到很多以前的影像资料能够一直留存至今,例如经典电影、建党建国珍贵影像等,胶片的影像质感泛着岁月的痕迹,要么见证了一个国家无法忘却的发展历程,要么铭刻了街头巷尾集体的青春回忆,个人、家庭、集体、国家,都能在这样的“老片子”中看到属于过去的喜怒哀乐。

然而,即便能够“存档”,这些珍贵的上世纪拍摄的电影电视素材还是有很多遗憾等待弥补——受限于当时拍摄设备、存储介质、存储环境和处理播放设备的落后和简陋,一方面,留存的影像介质受到各种物理化学因素的影响,在画面上都有不同程度的劣化(称为“退化”),另一方面,当人们已经习惯了高清、超高清、高质量的视频图像,这些影像的分辨率、帧率和画面表现都已无法满足当下的观影需求。

要让珍贵的影像更好地传承,也要满足人们对于历史影像素材越来越高的质量要求,这时候,AI对视频的修复和增强价值就展现出来。

在AI技术快速发展的今天,我们几乎能用AI来做任何图像和视频的处理,例如昇腾AI以人工智能技术赋能视频修复和增强,已经能够将上世纪40-80年代的一些经典影片和珍贵史料视频——如《开国大典》《闪闪的红星》——处理成4K甚至8K视频。

这样的AI应用生动诠释了什么叫做“技术的温度”,既不失社会价值和经济价值,又以普通人看得见、摸得着的方式表达着AI技术的价值。

1

只有强大的性能加持才能实现,

昇腾AI三路出击提升视频质感

视频增强要从哪些方面出发?答案并不复杂,普通人观看老影像资料时面临什么痛点,就是AI要解决的事。

在昇腾AI加持下,已有来自高校的生态伙伴着手从以下三个方面进行视频增强技术的创新,而基于AI的视频修复和增强算法通常是由卷积神经网络(convolution neural network)来实现,需要用专门的软硬件平台进行加速,因此每一项都对昇腾AI提出了很强的性能要求。

1、让烦人的图像噪点“去无踪”

由于胶片拍摄以及物理退化等原因,老的影像资料总是有一些随机闪现的噪点,是观看时最直接面对的痛点问题。用专业的话说,这是视频画面中存在不同形式和模态的噪声,且随机分布在所有画面帧内——不同的视频,随机噪声的强弱也不尽相同。

这时候,昇腾AI“去除随机噪声”能力的价值体现出来了。

其技术原理,通过将几帧带不同强度噪声的连续图像和对应的几帧没有噪声的连续图像同时输入到算法中,让神经网络用时空卷积自动学习去除随机噪声,随着去噪模型学习过的图像数据对越多,见过的噪声模式越丰富,AI去噪效果就越好。

最终,昇腾AI在数据加噪和退化的过程上做了很多研究和优化,尽可能覆盖不同强度的随机噪声,并使用高性能的时空卷积将时间和空间两个维度的信息直接进行整合,既实现了去噪,也让图像没有因为去噪而发生前后帧图像的突变。

(去噪前)

(去噪后)

而很明显,这样的技术创新,一边要考虑拥有噪声的异常帧的复原,一边还要考虑与前后帧的统一,与单一维度考虑视频质量优化相比,这种多样性的任务要求让计算能力的需求呈现几何式提升,算法之外更重要的是要有计算平台的性能支撑,否则一个如此复杂的算法将耗费大量时间,在经济性和实用性上将大打折扣。

2、让粗糙、模糊的画面变得精细化

受限于拍摄技术,老的影像资料的分辨率往往很低,表现为图像质量差,很多时候甚至靠脑补来观赏,体验大打折扣,也不利于一些珍贵细节的保存。

于是,让分辨率超出原本素材的“底板”,实现更进一步的“超分辨率”,就成为AI在做的另一件重要的事情。昇腾AI参与《开国大典》的修复和增强,其核心目标之一,就是将分辨率从1080P提升到8K,提升画面的精细度。

我们知道,数字图像与拼图类似,实际上是由大量带颜色的像素点根据规整的网格组合而成的。所谓分辨率,即每一行每一列中所具有的像素点数量。分辨率越高,画面往往越清晰和精细。1080P分辨率是1080x1920,每一行有1920个像素点,每一列有1080个像素点,共计207万像素点;而8K分辨率是4320x7680,像素点数量是1080P的16倍,达到了3317万像素点。

视频超分辨率算法,就是从这207万像素点去生成出16倍的信息,将细节计算“脑补”出来,即所谓“管中窥豹”;而且算法不能随便“脑补”,必须考虑上下文多帧图像的信息来保持前后一致性,否则就像是断裂的镜面,前后出现跳变。脑补得不好,就会出现明显的马赛克或是锯齿效果;稍微好一点的,仍则会有明显的边缘模糊。传统的超分方法经常面临类似的问题。

而基于AI的超分辨率算法则真正具有“脑补”和假想出细节的能力。

通过合适的网络结构和算子,昇腾AI算法能够方便地融合上下文信息,来计算和填充空白像素点的信息。与去噪模型不同的是,由于需要进行像素值的估计和填充,需要更为精密的对齐过程,昇腾AI使用了最灵活的可变卷积来进行前后帧信息的对齐,能避免用传统方法带来的对齐失真问题,对每一个像素的值都做出尽可能合理的估计。

(AI补足像素点,让图像更清晰)

卷积神经网络往往蕴含大量的计算过程,尤其是应用到视频领域,计算量成倍的增加。更何况是从1080P到8K,涉及到这么多像素点。此外,视频播放需要达到每秒24帧以上,人眼才不会觉得明显的卡顿,一段12分钟长度的视频,其帧数至少达到17280帧。

所以,视频超分算法不仅是像素点数量庞大,需要处理的帧数量也很大,这是对计算能力的直接要求。算法本身的各种“脑补”创新固然能让最终呈现的效果有所不同,但实打实的计算性能“硬能力”是一切视频超分算法创新的基础,而昇腾AI,就是为这种算法创新做好了性能上的充分准备。

3、让视线焦点得到精准照顾

尽管超分辨率模型能提升视频整体清晰度,但是观众在观看视频时经常关注特写镜头和人脸区域,因此,如果能够把人脸的视频质量再提升,无疑将大大提高视频观感。

因此,昇腾AI还针对人脸区域进行单独的视觉增强,增加人脸特写部分的精细度,提升视频观感。

这个过程听着简单,但包含的AI算法更加复杂,因为,仅希望对人脸特写镜头或是人脸比较突出的区域进行针对性增强、在整幅画面中选一部分来操作,需要一系列算法流程,比如从视频帧中检测出人脸,提取出人脸,人脸关键点检测,再提升精细度,最后再将人脸融合到原画面中。

此外,为了保证单独增强的人脸与背景图像融合之后没有强烈的割裂感,还需要对融合后的图像做后处理。

如此复杂的处理流程自然包含复杂的计算过程,而这其中,只有背后支持的计算性能足够强力,才可以将人脸检测、人脸分割提取、对齐、人脸增强以及背景人脸融合这一大过程进行整合并加速,某种程度上,人脸区域的视觉增强表现出算法创新的重要路径——对计算平台性能的充分利用。

总结起来,得益于平台澎湃的算力和简单易用的特性,昇腾AI不仅支持各种前沿AI视频修复和增强算法的便捷部署和应用,例如减小视频噪声,增加流畅度,给黑白视频上色,增大图像清晰度等,也能对这些算法进行软件和硬件协同优化,提升处理的效率,高效地将低质量的视频原材料加工成精细流畅的成品。

这一AI视频修复和增强端到端全流程涵盖老视频去噪、人脸增强、插帧、超分等,基本实现了通过AI技术规模化生产4K/8K内容,使修复和增强时间从以天为单位缩短到以小时为单位。

图 历史影像素材修复和增强流程

2

昇腾多层次算法优化,

CANN以基础软件创新释放平台算力

可以看到,上述AI视频增强技术在创新之外都强调了对计算性能的需求,既要保证处理效果,又要提升处理效率,对AI平台是重大的考验,而昇腾AI很好地完成了应有的支撑任务。

这背后,尤为关键的是昇腾全栈AI体系下的异构计算架构CANN,作为基础软件创新成果,CANN高性能平台推动实现着一系列AI视频增强能力的落地。

CANN,全称Compute Architecture for Neural Networks,是昇腾处理器的异构计算架构,支持业界多种主流的AI框架,提供开放易用的ACL(Ascend Computing Language)编程接口、实现对网络模型进行图级和算子级的编译优化、自动调优等功能。用户不仅能在上层算法层面对性能进行优化,也可以通过CANN开发和优化算子。

要理解CANN的价值,要先从AI视频增强的原理谈起。

每个基于AI的视频修复和增强算法是由一个个小的计算单元组成的,专业术语为“算子”,算子有不同的处理顺序,不同算子之间也可能存在依赖关系。

通俗地理解,其处理过程我们可以用厨师做菜来打个比方:

做菜工序可分为切菜、洗菜、调料准备、烧制、调味、摆盘等,不同的工序之间有依赖关系,摆盘前必须烧制,烧制前必须洗菜;或者可以并行操作,比如切菜洗菜的时候可以一并准备调料。经验丰富的厨师都能以最大化的效率完成一道菜的制作,并且通过对原材料、配料和调味料的充分理解、搭配和融合,提升菜品质量。昇腾AI就是这样包含了许多专门用AI来“做菜”的“厨师”的平台,上面的硬件就是一位位“厨师”,异构计算架构CANN则是协调各位厨师的主厨。

这其中,而无论上文提到的去噪模型、超分辨率模型、人脸增强模型等,都包含到大量的计算过程,涉及到许多算子,整个计算复杂度非常大,如果平台能自动根据每个具体的算子情况进行调优,所谓积跬步致千里,就能显著提升各个算法的性能。

CANN对超分算法进行了自动调优,根据硬件特性和算子的输入来优化各算子的计算过程,就像让每个厨师清楚了解各种原材料的特性,并合理规划原材料的处理步骤,将材料的美味发挥到极致。

而值得一提的是,由于超分辨率算法中存在可变卷积,包含多个不同类型的小算子,需要在不同硬件上进行处理,中间会有硬件之间的数据和信息传递,这增加了处理的耗时,这就相当于是同一个工序由两个技术各有偏重的师傅一起交替处理,两者还需要配合和沟通,不如让一个技术更成熟更全面的师傅来进行处理,减小沟通成本,加快处理速度。

而CANN能够将可变卷积内包含的算子进行优化,让统一的硬件来整合和处理这一计算过程,使可变卷积的性能大幅提升,进一步提升了超分辨率算法的性能。

通过CANN的特性,昇腾AI大幅提升了这些算法的处理速度:

去噪模型在昇腾平台上的处理速度能达到其他同类平台的3倍,在保证前后帧一致的前提下,能去除画面中起落的随机噪声和小面积斑块划痕;

超分辨率算法优化后的速度比优化前最大提升了30倍,处理后画面整体和背景文字等变得更加精细;

人脸增强模型对1080P画面的处理速度仅需0.5秒,处理后人脸精细度和画面观感得到了显著提升。

可以看到,昇腾AI的这些改进都是基础软硬件层面的根技术创新,它对视频影像资料几乎是普适的,可以拓展到所有片源,在应用价值基础之上具备广泛的产业落地能力。

未来,更多珍贵影像资料将在AI的守护下历久弥新,帮助我们珍藏历史和记忆,而这样的AI,才算得上是走近了每一个人的身边。

(0)

相关推荐