【转载】AI驱动的智能图形应用

2020-02-19 20:37:37 浏览数 (1)

既然AR、AI这么火,就转载一篇看看

高速5G和性能更强大的终端为社交、游戏、教育等场景带来的更丰富的互动体验,本文内容来自相芯科技的蔡锐涛在LiveVideoStackCon2019深圳站上的精彩分享,他将介绍AI驱动的智能图形应用,以及因此带来的新的用户交互方式。

文 / 蔡锐涛

整理 / LiveVideoStack

大家好,我是相芯科技的蔡锐涛,很高兴今天在这里与大家分享交流。今天与大家分享的题目是AI驱动的智能图形应用。按照惯例,我简单介绍下我们公司。

相芯科技专注于智能图形技术的创新与应用,为移动互联网、AR、AI提供3D内容生成与互动的行业解决方案。我们致力于将好莱坞电影级别特效技术应用到消费级中来普及它。举例来说,我们开发了一个AI助手——Alice。大家听到的声音、看到的视频以及嘴唇与声音的实时同步都是由程序实时合成出来的视频。随着我后面的介绍,大家会对这个领域有更深入的了解。

今天我的分享包括三个部分,第一部分,我会简单介绍下智能图形学,第二部分我会从AR视频、AI视频两个方面介绍智能图形学在应用视频领域如何创造价值。

这里我们所说的AR视频不是指一些AR效果,而是泛指利用增强现实的方式丰富视频内容。这里我会分享三点:一个是全自动千人千面的虚拟化个人形象的生成;第二个是基于单目相机、普通摄像头的虚拟形象全身的驱动技术,包括表情、肢体、手指;第三个是人像视频的美化,从开始的美颜到后面的美妆、美发以及全身美体。

在AI视频领域,我会介绍如何利用人工智能技术自动合成视频。其中会重点介绍虚拟主播以及虚拟助手的核心技术方案。同时我会介绍照片级视频合成技术,最后会介绍这一领域技术的应用场景以及一些落地案例。

1. 智能图形学

首先,我来简单介绍下智能图形学,计算机图形学解决的问题是让计算机生成图形图像,在一般意义上这里主要涵盖三个问题,第一个是如何构造三维数字世界模拟现实世界(建模),有了这些虚拟对象后,我们要考虑如何让这些对象动起来,实际上是一个运动仿真的过程,第三个问题是利用计算机光与场景的交互,生成一张足够好看的图像。

一切需要视觉交流的应用都可以用到计算机图形学,这里面包括工业制造方面的CAD、CAM,一些电影的特效文化创意,还有可视化、仿真训练以及数字化文物保护。

传统的计算机图形学解决的是专业用户如何生成图形给人看的问题,这是一个PGC的范畴,最常见的就是电影和游戏,需要动画师,美术以及游戏设计师做出内容给消费者看。近年来,计算机图形学希望解决的内容是普通用户可以生成图形内容,这属于UGC范畴。计算机图形学,加上计算机视觉、机器学习、人机交互之后,能够更自动化的生成一些内容以及更自动化地进行内容交互,这便形成智能图形学的概念。

传统的计算机图形学主要是用数学建模的方式模拟现实世界,进行渲染,仿真。内容生成方式是手动生成,交互手段也是比较传统的。我们新一代图形学是从大量数据中学习一些知识,学习如何生成好看的图形和新的交互方式,尝试改变图片的生成方式,使图片生成方式更加自动化,生成的图片更加自然。

同时,我们处于通信技术快速发展的时代,很多人都经历过从只能打电话发短信到3G时代能简单发些图文信息,再到4G时代能在线看高清视频以及现在有很多直播应用,到5G时代,我们可以在线看4K甚至8K视频,这背后都是底层通信带宽的发展。在带宽压力得到极大的缓解后,我们可以更加自由无障碍的分享原生视频。用技术手段创造视频,使原生视频内容更加丰富,是智能图形学在视频上创造的价值。

2. AR视频
2.1 虚拟形象

图中展示的实例是通过一张照片快速生成一个虚拟形象,也是我们今年带到美国图形学展会上的一个实例。

在这个实例中,用户只需上传一张照片就可以生成一个“千人千面”的卡通虚拟形象,之后可以将卡通形象下载到手机接入各种应用中。这里我们提出一套全新的方法,第一步是三维人脸重建,然后将重建后的人脸模型进行风格迁移生成一个卡通虚拟形象。这个相对于市面上常见方法而言,我们的方法并不是简单的通过分析人脸的特征点,进行类别划分,然后在数据库中匹配后,最终拼凑出一个形象。

通过此技术生成虚拟形象后,此形象可以用于很多需要虚拟形象的场景,比如虚拟社交、虚拟主播甚至车载问答助手都可以使用。

此实例背后使用的技术是分两个步骤的。第一步是对人像的三维人建模并进行特征提取,然后用结构化的人脸信息进行三维人脸风格的迁移,最后生成卡通形象。这里我们使用的是多任务网络来完成。其中一个分支是输入图片特征提取器处理后,经过语义分割常用网络获得一个语义分割过的面部模型。在三维人脸回归的分支,我们在特征提取器之后去获得三维重建所需的系数,整个任务公共一个特征提取器,可以有效减少计算量。

2.2 虚拟形象驱动技术

有了这两个系数后,我们便可以并行三维风格迁移。这里的主要挑战在于,常用的神经网络更擅长处理二维视频,对于三维神经网络的研究还不太成熟。但是我想说的是,正如我所说的先重建出一个三维人脸信息,我们如何进行映射,如何将典型数据通过UV映射方式转化成2D贴图,应用神经网络进行处理三维信息重构。实际这个过程就是将重建的三维节点信息做UV映射,映射到图片空间,然后给网络模块做风格迁移。具体来讲,我们将同时回归顶点贴图和法线贴图。这样做的原因是顶点数据是比较稀疏的数据,能表达的是相对粗粒度的信息,这些信息不够时,我们可以使用法线贴图去增强这些单元的信息。得到这些信息后,我们还需要进行一次求解得到网格的信息。以上是我们的一些示例,大家可以看到两种不同的风格,即我们用一些不同的实例建一些模型,中间还有一个生成的模型,我们去圈一个网络生成风格迁移的能力。

上图是一些我们生成的结果,左边一列是输入的原图,中间一列是更Q一点卡通风格的图像,最后一列是相对写实的生成图。可以看到,我们提取了很多信息,例如脸型、头发的形状,眼睛眉毛的形状,胡子的形状风格等。

通过 “千人千面”的形象生成技术有了虚拟形象后,用户可以通过虚拟形象驱动玩起来。全套驱动包括面部形象驱动、肢体驱动,手指驱动。我们提供市面上最成熟的单目相机面部驱动技术,在效果、标准上与苹果Animoji方案比较接近,同时我们支持全平台实时高效支持。

上图展示的是我们面部驱动的一些关键参数,在一般手机上,我们可以实现七毫秒内完成计算,包括二维特征点、三维重建模型以及一些表情系数、人脸姿态等信息。并且我们对SDK包做了很多优化,现在它的体积非常小。

这张图给大家介绍了人脸跟踪算法的框架。这个技术比较成熟,我们采用了多任务的神经网络,通过前面所讲的特征提取共享方式来实现,在后面接入一个表情回归器,特征回归器以及姿态回归器,最终得到一个三维人脸的实时重建结果。这里多任务的好处就是,特征提取只需要做一次,无论是全脸还是后期运行上都可以节省很多计算资源。另外值得一提的是,我们借鉴了一个计算机图形学领域的一个知识——人脸张量模型,可以理解为三维重建中用于表达人脸的一个参数化模型,给出一组人脸系数,便可以生成足够像的人脸。通过人脸张量模型,可以给网络提供一个很好的先验知识,大大加快训练的过程。

下面为大家简单介绍一下人脸张量模型。我们通过深度摄像机采集了上千人的三维人脸数据,针对不同人,采集了多种表情。利用这些原始数据,我们可以生成一个高维的数据,其中一个维度针对个人,另一个维度针对表情。这些原始数据可能有几十G那么大,我们会对这些数据进行压缩与优化,这样我们可以做高效的人脸三维重建的参数化表达。使用人脸张量模型,我们可以给网络一个优化空间,有效降低网络所处理的问题的复杂度。

讲完人脸跟踪之后,我们来讲一下三维人体驱动算法。市面上比较常见的是2D人体驱动算法,直接通过图片预测一个2D的点,3D的还比较少。我们希望打造的是一个UGC系统,直接供C端用户在手机上使用。图片上显示的是我们现在在做的一个效果,里面是一个跳舞的小伙子,右边是我们抽取出的实时骨骼表达。抽取之后,我们便可以用于驱动之前生成的虚拟形象达到全身扮演的效果。

2D肢体驱动的流程是通过2D图像进行模型训练,最后就可通过获得的点位进行肢体驱动。3D肢体有特殊的挑战。第一个问题是,我们基于2D视频抽取3D肢体信息有很强的二义性。一些不同的肢体动作通过不同的角度看起来是一样的,所以会产生一定二义性。另外一个问题是3D骨骼数据是相对稀少的,需要特别地去标注它的深度值,这是比较难的,我们需要用专用设备进行采集。因为我们希望程序最终能在手机上运行,所以3D骨骼计算复杂性虽然提高了,但我们的目标性能和2D是一致的。还有一个问题是视频中骨骼提取的时域一致性问题,快速跳变不能使动作变形。

针对这些问题,我们提出了一个分两阶段的算法。首先使图片经过特征提取器提取2D特征点和节点相对关系。我们只需要把特征点和节点相对关系输入到3D网络,便可以得到3D骨骼点的位置。这个方案的优势在于,我们只需要标注顶点的位置以及节点的相对关系,通过节点与父节点的前后关系标记大量数据。大量数据的数据可以增强网络的稳定性。投入人工越多,系统越智能。到了3D阶段,通过输入之前生成的节点信息以及节点相对关系可以生成更小的模型。得到3D骨骼点信息后,我们需要通过反向动力学解算,得到最终的骨骼姿态。

2D特征点提取过程是输入图片经过特征提取网络,输入反卷积模块提取到热度图。生成热度图之后,我们会将结果作为下一帧的输入。通过这样的回归思想,可以提高视频提取过程中的时域一致性,后一帧只需要在上一帧基础上搜索一个最优结果。

我们用了类似的方式完成了手指驱动。有了面部驱动、肢体驱动以及复杂的手指驱动,我们便可以进行全身扮演。

2.3 人像美化

早期人像美化技术其实是基于图像处理技术的方案,是以美肤、美型为核心的人脸美颜技术,包括美白亮眼、人脸美型、精准磨皮、人像滤镜等技术,称为美化1.0时代。

在1.0基础上,我们利用AI对视频人像进行处理后,现在可以实现美颜、美妆、美发、美体等更多操作。

针对美妆方案,我们提出209高精度模型。这个模型在眼睛、鼻子、嘴这些地方做的非常精细,再基于图形绘制技术,已经可以做到实时渲染口红、眉毛、腮红等面部妆容。

美发方案中,我们通过语义分割网路完成了高精度的头发分割模型,将分割出的区域进行变色、绘制等功能。

美体功能基于之前提到的身体特征点提取技术,对于身体美化,我们只需要提取一些身体骨骼点,再结合人脸检测,我们便实时可以对视频中的人进行瘦腰、拉长腿等微调。

3. AI视频

在AI视频部分,我会重点介绍如何利用人工智能全自动合成视频以及AI虚拟主播,虚拟助手的核心技术方案,同时,我会介绍我们最新的照片级的视频合成技术。

如图中介绍,我们只需要输入一段文字,我们的算法可以生成一系列包括形象渲染、声音的合成、嘴唇同步的视频。这也是大家常见的虚拟主播、虚拟助手的核心技术。

在虚拟主播的技术方案中,输入是一段文本,经过TTS语音合成一段音频和文字一起进入STA模块。针对虚拟机器人的方案中,就是在上述操作前接入了智能问答系统。输入一个问答文本,经过语音的识别,经过NLP的理解后合成一个问答文本,与TTS合成的语音一起进入STA模块进行视频合成。STA是我们的核心图像生成技术。

简单介绍一下STA的算法流程。我们同时把音频和文本作为输入,然后会进行三个操作。口型分析使口型和声音同步,但这还不够。我们会进行情景分析,分析语音中表达的情绪。将这些信息输入到图形合成模块就可以生成虚拟形象。我们有四种不同的图形合成方式分别满足不同的落地场景需求,有些是低成本的,有些是高质量的。

对于语音动画合成其实也面临一些技术挑战。第一个是动态合成和输入内容匹配的动画是动态合成而不是离线合成的,常规的离线合成视频需要耗费大量时间。第二个问题虚拟人需要具备表现力,包括情境和动作。第三个问题是我们需要有应用平台适配的图形渲染能力,针对不同的场景做图像适配。

上图介绍的是目前针对的四种场景的图形合成模块治理方案。第一种是卡通形象,这个形象可以是美术做的也可以按照之前的方案生成的虚拟形象。第二种是2.5D的仿真人,这种方案中也是通过对照片建模生成一个模型。这两种模型我们都可以做到实时交互,可以通过手机实时去说一段音频。第三种是高精度3D虚拟人方案,此方案对硬件渲染能力要求较高,目前只能在高性能PC端以及云端运行,也可做到实时完成。第四种是照片级视频合成,目前我们只能做到半实时,但是合成出的视频每一帧都不会失真。

上图展示的是基于物理的真实感皮肤渲染。我们要渲染一个人的皮肤需要模拟很多信息,首先是皮肤底色,其次是模拟光线照射到的阴影,嘴唇,脸上等的油光等,次表面散射模拟皮肤通透质感,还有一些增强皮肤纹理的,以及其他一些基于真实感的皮肤渲染,还有就是头发的模拟我们也做了很多工作。

简单介绍下图片合成技术。这个技术基于生成对抗网络,值得一提的一点是,我们还是把这个问题拆解成了两个部分。我们先对图片进行三维人脸重建,重建完成后先对图像做大致的变形,变形到比较接近的形状,然后使用神经网络细化。与之前所讲的一样,我们先用图形学简化问题,然后交给功能强大的神经网络,极大地简化了需求。

图片合成技术网络结构

上图是一些执行结果的展示。这些图像的表情都是非常自然的,任何一帧的结果都不会有问题。

我们关于有虚拟主播的落地案例。如浙江台钱江频道AI“小范儿”、北京世园会吉祥物播报、济南电视台AI“小沫儿”、京东AI虚拟主播“京小蕾”、京东双十一虚拟主播播报天团、阳泉日报AI双主播、扬子晚报“阿紫”、新媒体节目AI主播等等。

我们关于虚拟助手的一些案例。这个的交付日程比较长,可以用于车载系统,智能音箱,杭州互联网法院的智能法官,还有一些党建助手等问答式虚拟形象。

4. 总结

以上给大家讲解了AR视频、AI视频两大场景,这里面包括很多技术,我们在这些基础上已经构建了三条可落地的产品线。一个是全平台人脸AR特效SDK,另外一个是卡通形象智能生成云服务,第三个是虚拟主播、虚拟助手的解决方案。我们公司在2016成立,在2017年,我们公司实现整体盈利,2018年初获得 1.2亿A轮融资。经过三年的发展,我们现在已有五百多家行业客户合作并且SDK平均月调用量达到了二十二亿次。

讲了很多,希望大家对以下几点有印象。第一点是相芯科技已经可以通过技术全自动生成虚拟形象,并且可以在手机实现全身驱动,包括人脸驱动、身体驱动以及手势驱动。第二点是相芯科技的视频美化技术已经从美颜发展到了美妆、美发、美体全身式的美化。第三点是我们的STA技术不仅可以全自动的合成视频,而且可以赋予智能问答系统亲切可见的形象。最后一点实际上是经验之谈,我们总结出利用领域知识简化AI处理问题,可以有效减少训练网络所需的数据量。

0 人点赞