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

2023-11-10 23:50

本文主要是介绍旧电影焕新:从“小应用”窥见CANN计算架构的“大能力”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文 | 曾响铃

来源 | 科技向令说(xiangling0815)

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

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

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

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

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

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

只有强大的性能加持才能实现,昇腾AI三路出击提升视频质感

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

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

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

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

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

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

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

11.png

(去噪前)

22.png

(去噪后)

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

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

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

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

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

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

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

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

3.png

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

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

4.png

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

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

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

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

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

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

5.png

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

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

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

6.png

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

昇腾多层次算法优化,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,才算得上是走近了每一个人的身边。

*本文图片均来源于网络

*此内容为【科技向令说】原创,未经授权,任何人不得以任何方式使用,包括转载、摘编、复制或建立镜像。

【完】

曾响铃

1钛媒体、品途、人人都是产品经理等多家创投、科技网站年度十大作者;

2虎啸奖评委;

3作家:【移动互联网+ 新常态下的商业机会】等畅销书作者;

4《中国经营报》《商界》《商界评论》《销售与市场》等近十家报刊、杂志特约评论员;

5钛媒体、36kr、虎嗅、界面、澎湃新闻等近80家专栏作者;

6“脑艺人”(脑力手艺人)概念提出者,现演变为“自媒体”,成为一个行业;

7腾讯全媒派荣誉导师、多家科技智能公司传播顾问。

这篇关于旧电影焕新:从“小应用”窥见CANN计算架构的“大能力”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/386103

相关文章

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu1394(线段树点更新的应用)

题意:求一个序列经过一定的操作得到的序列的最小逆序数 这题会用到逆序数的一个性质,在0到n-1这些数字组成的乱序排列,将第一个数字A移到最后一位,得到的逆序数为res-a+(n-a-1) 知道上面的知识点后,可以用暴力来解 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#in

zoj3820(树的直径的应用)

题意:在一颗树上找两个点,使得所有点到选择与其更近的一个点的距离的最大值最小。 思路:如果是选择一个点的话,那么点就是直径的中点。现在考虑两个点的情况,先求树的直径,再把直径最中间的边去掉,再求剩下的两个子树中直径的中点。 代码如下: #include <stdio.h>#include <string.h>#include <algorithm>#include <map>#

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu