张倩原创

火爆的老照片动起来、唱歌,微视把AI视频特效打包「一键」实现了

从论文到手机,这个团队正在「一键实现」越来越多的好玩特效。

这几年,AI 模型在特效方向的技能似乎已被拉满。因此,我们在有生之年见到了会说话的蒙娜丽莎cos 油画的周杰伦以及可以让人一秒变秃的「东升发型生成器」。但是,这些技术似乎在使用层面都不太「接地气」,很少有人将其做成「一键生成」类应用放到手机上,实时类应用就更少了。

到了 2021 年,这种局面正在发生变化。

在一款短视频应用上,我们惊喜地看到,最近火遍全网的「深度怀旧」、「照片唱歌」都已经可以一键生成了:

这些特效都来自腾讯微视,用户只需要下载微视 APP,上传一张照片就可以得到想要的特效效果。其中,「会动的老照片」可以完成老照片上色、超分辨率、让照片中的人物动起来等效果;而「让照片唱首歌」可以让任意照片中的人演唱一首曲目,还搭配丰富的面部表情。

不过,这还只是微视实现的众多特效之一,还有更多特效可以在微视 APP 实时体验,如变明星、变欧美、变娃娃等。

此外,你还可以通过手机实时控制生成图像的面部动作,实现人脸动作迁移:

这些实时特效就像一面又一面的「魔镜」,可以实现各种奇妙的人脸魔法特效。而且玩法非常简单,只需要在 APP 中找到相应模板,然后打开摄像头拍摄即可。

也许有人会问:论文都出来那么久了,怎么现在才在手机上看到这些效果?这就不得不提把 AI 模型从论文搬上手机的那些难处了。

把特效搬上手机难在哪儿?

我们知道,近年来兴起的很多 AI 特效都是基于 GAN(生成对抗网络)的,上文中的大部分特效也不例外。但是,传统的 GAN 往往存在以下问题:

1. 需要大量的训练数据。数据对 AI 模型的重要性不言而喻,但对于一些基于 GAN 的人脸特效来说,模型不光需要数据,还需要大量的成对数据,这给数据采集工作带来了新的挑战。比如,在变换人种的特效中,我们不可能同时拥有一个人作为不同人种的图片。

2. 可控性差。我们在应用 GAN 生成人脸的时候可能会希望单独调整某个属性,其他属性保持不变,如只把眼睛放大。但麻烦的是,图像的信息被压缩在一个维度很小的隐向量空间中,各个属性耦合十分紧密。因此,如何实现这些属性的解耦、提高人脸属性的可控性就成了一个难题。

3. 生成质量不稳定。由于输入数据的质量和生成模型本身的不稳定性,GAN 模型生成的图像画质可能较低,因此我们还需要采取其他措施来提高生成图像的质量。

4. 计算量大,难以部署在移动端。一个拥有强大生成能力的 GAN 可能计算量要达到上百 G,不适合在移动端部署。因此,如何在不明显损失视觉效果的前提下实现模型的高效压缩成了一个亟待解决的问题。

这些挑战如何克服?

针对上述挑战,腾讯微视的技术团队研发出了一套支持移动端实时特效的 GAN 模型训练和部署框架,整体流程可以概括为以下几个步骤:
  1. 按需求采集非成对数据,并训练高参数量的模型生成成对数据;

  2. 对成对数据进行画质增强;

  3. 利用成对数据训练移动端轻量化模型。

借助这些步骤,模型不需要真实的成对数据也能达到预期的效果,可控性、生成图像的质量都得到了显著提升,还适配各种机型,让更多人用上了简单、高质量的人脸魔法特效。

利用高参数量模型生成成对数据

当成对的数据难以获得,利用高参数量的大模型生成成对数据就成了一个必然选择。生成效果如下图:

为了完成这项任务,微视的技术团队研发了三种不同的大模型

第一种是融合了 CycleGAN 和 StyleGAN 的 Cycle-StyleGAN。StyleGAN 拥有强大的高清人脸生成能力,但它是非条件生成模型,只能通过随机向量生成随机人脸。因此,研究人员引入了 CycleGAN 的思想,使模型具备 image-to-image 的条件生成能力。

Cycle-StyleGAN 的基本结构。

借助这一模型设计,微视研发并上线了变年轻的效果:

但这一模型也有缺点:需要的数据量太大,而且稳定性、可控性都不强。因此,微视又研发了第二种大模型:基于隐向量的属性编辑模型

首先,他们利用亚洲人脸数据集训练了一个高质量的生成模型。该模型通过 AdaIN 模块来提取隐向量的信息,然后利用 Decoder 网络来生成数据。为了解决数据解耦问题,实现单属性可控(如只调节眼睛大小),团队做出了以下优化:
  • 对方向向量进行解耦,摸索出了一套有效的属性解耦方法;

  • 在训练的过程中,通过监督信息控制隐向量的具体意义,比如限定某些维度控制鼻型,某些维度控制脸型。

通过以上操作,团队实现了对大部分属性的单独控制,但眼袋、鱼尾纹等过于细致的属性依旧无法做到干净的解耦。为此,团队开发出了一套基于风格空间的属性编辑方法。此外,团队还针对真实数据与训练数据之间的差异所导致的模糊、噪声等问题进行了优化。

整体来看,第二代大模型不仅提高了模型可控性,还大大减少了数据需求量,可以在只能收集到少量非成对数据的真实人脸生成场景中使用。基于这套方案,微视研发并上线了变明星和变假笑等效果。

然而,现实中的人脸特效需求并不局限于真实人脸,还有一些风格化的需求需要满足,如 CG 人脸生成。这类任务的数据匮乏程度更为严重,因此需要一种数据量需求更小的模型。为此,微视的团队设计了第三种大模型——基于小样本的模型融合模型。这种模型的主要思想是:在收集的少量数据上对预训练的真实人脸模型进行调优训练,使预训练模型能够较好地生成目标风格的图片(如 CG 风格图)。然后,将调优训练后的模型与原始模型进行融合得到一个混合模型,该模型既能生成目标风格的图片,又兼具原始预训练模型强大多样的生成能力。

CG 效果图。

为了增加数据的多样性,研发人员还给该模型加了一个数据增强模块,借助 3D 人脸等技术生成更加多样的数据。借助这一模型,只需要几十张数据就能生成符合要求的人脸

成对数据画质增强

在迭代了三种大模型之后,小模型训练所需的成对数据已经基本就绪,但还需要在美观程度、稳定性和清晰度等方面进行优化。在美观程度方面,微视利用图像处理技术和属性编辑方案对大模型生成的图片进行美化,如利用去皱纹模型去除眼袋和泪沟。在稳定性和清晰度方面,微视参考图像修复和超分辨率的相关方法单独训练了一个既能提升清晰度又能消除人脸瑕疵的 GAN 模型。随机调研的结果显示,用户对美化后的图片的喜爱程度明显提高。

去眼袋和泪沟效果示意图。

移动端小模型训练

在手机上部署的特效对算法的实时性、稳定性要求都很高,因此微视的团队设计了能在移动端流畅运行的小模型结构,把大模型生成的成对数据作为小模型训练的监督信息进行训练和蒸馏。

轻量级的小模型整体骨干基于 Unet 结构,参考了 MobileNet 深度可分离卷积和 ShuffleNet 的特征重利用等优点。为了提高生成图像的清晰度和整体质量,研究团队不仅将整张图放进判别器进行训练,还根据人脸点位裁剪出眼、眉、鼻、嘴,并将其分别输入到判别器进行训练。

为了适配不同机型,团队设计了多种计算量的模型。而且,考虑到低端机部署的模型参数量较少,他们还用到了知识蒸馏的方法让 student 小模型学习到更多的信息。

以上三大步骤帮助微视实现了 image-to-image 的实时特效生成效果,但团队并没有止步于此,他们还实现了实时的轻量化人脸动作迁移。

实时人脸动作迁移

在人脸动作迁移方向,有一部分工作的思路是:首先估计从目标图片到源图片的反向光流,基于光流对源图片的特征表示进行扭曲(warping)操作,然后再恢复出重建结果,例如 Monkey-Net、FOMM 等。微视的实时人脸动作迁移大模型就借鉴了此类方法。

为了实现手机端实时推断,他们在模型大小和计算量两个方面对大模型进行了优化,借鉴 GhostNet 分别设计了相应的小模型结构,从而将模型大小缩减了 99.2%,GFLOPs 降低了 97.7%。为了让小模型成功学到大模型的能力,他们还采用了分阶段蒸馏训练的策略。

训练完小模型之后,团队借助腾讯自己研发的移动端深度学习推理框架 TNN实现了手机端的部署和实时推理,从而使得用户通过摄像头驱动任意人脸图片的玩法变为可能。

做特效,腾讯微视优势在哪儿

逼真的效果、高效的模型离不开坚实的技术支撑。这些项目的核心技术由腾讯微视拍摄算法团队与腾讯平台与内容事业群(PCG)应用研究中心(Applied Research Center,ARC)共同研发。腾讯微视拍摄算法团队致力于图像 / 视频方向的技术探索,汇聚了一批行业内顶尖的算法专家和产品经验丰富的研究员和工程师,拥有丰富的业务场景,持续探索前沿 AI 和 CV 算法在内容生产和消费领域的应用和落地。ARC 则是 PCG 的侦察兵和特种兵,主要任务是探索和挑战智能媒体相关的前沿技术,聚焦于音视频内容的生成、增强、检索和理解等方向。

在 AI 特效落地方面,团队建立了以下优势:
  1. 已经搭建了从算法研发、模型迭代到线上部署的一整套流程化框架,可以实现各项技术的快速落地,为探索更多特效提供了效率保证;

  2. 算法经过了多次迭代,数据需求量已经降至很低的水平,几十张图像就能实现不错的效果,使得更多特效的实现成为可能;

  3. 在图像质量提升、模型压缩等方面积累了一些自己的技术,可以保障 AI 模型在各种移动端平台上成功部署。

除了上面讨论的 GAN 之外,研发团队在增强现实、3D 空间理解等方面也做了一些探索,并在微视 APP 上上线了一批特效,这也是当前整个社区比较热门的研究方向。

随着技术的不断迭代,未来,我们还将在微视上看到更多原本只能在论文中看到的惊艳效果。

如果你也想参与这些有趣的项目,可以按照以下方式联系腾讯微视的技术团队,具体方向包括但不限于 GAN 生成、2D/3D 人体 / 人脸、SLAM/3D 视觉 / AR、AutoML、移动端推理引擎、特效工程、渲染引擎、算法工程等。

联系方式:quenslincai@tencent.com、jonytang@tencent.com

产业特效一键生成腾讯微视
3
相关数据
增强现实技术

增强现实,是指透过摄影机影像的位置及角度精算并加上图像分析技术,让屏幕上的虚拟世界能够与现实世界场景进行结合与互动的技术。这种技术于1990年提出。随着随身电子产品运算能力的提升,增强现实的用途也越来越广。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

图像处理技术

图像处理是指对图像进行分析、加工和处理,使其满足视觉、心理或其他要求的技术。 图像处理是信号处理在图像领域上的一个应用。 目前大多数的图像均是以数字形式存储,因而图像处理很多情况下指数字图像处理。

CycleGAN技术

GAN的一个变种

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

生成对抗网络技术

生成对抗网络是一种无监督学习方法,是一种通过用对抗网络来训练生成模型的架构。它由两个网络组成:用来拟合数据分布的生成网络G,和用来判断输入是否“真实”的判别网络D。在训练过程中,生成网络-G通过接受一个随机的噪声来尽量模仿训练集中的真实图片去“欺骗”D,而D则尽可能的分辨真实数据和生成网络的输出,从而形成两个网络的博弈过程。理想的情况下,博弈的结果会得到一个可以“以假乱真”的生成模型。

推理引擎技术

推理机是实施问题求解的核心执行机构,常见于专家系统。它是对知识进行解释的程序,根据知识的语义,对按一定策略找到的知识进行解释执行,并把结果记录到动态库的适当空间中去。

知识蒸馏技术

Hinton 的工作引入了知识蒸馏压缩框架,即通过遵循“学生-教师”的范式减少深度网络的训练量,这种“学生-教师”的范式,即通过软化“教师”的输出而惩罚“学生”。为了完成这一点,学生学要训练以预测教师的输出,即真实的分类标签。这种方法十分简单,但它同样在各种图像分类任务中表现出较好的结果。

腾讯机构

腾讯,1998年11月诞生于中国深圳,是一家以互联网为基础的科技与文化公司。我们的使命是“通过互联网服务提升人类生活品质”。腾讯秉承着 “一切以用户价值为依归”的经营理念,为亿万网民提供优质的互联网综合服务。 腾讯的战略目标是“连接一切”,我们长期致力于社交平台与数字内容两大核心业务:一方面通过微信与QQ等社交平台,实现人与人、服务及设备的智慧连接;另一方面为数以亿计的用户提供优质的新闻、视频、游戏、音乐、文学、动漫、影业等数字内容产品及相关服务。我们还积极推动金融科技的发展,通过普及移动支付等技术能力,为智慧交通、智慧零售、智慧城市等领域提供有力支持。 腾讯希望成为各行各业的数字化助手,助力数字中国建设。在工业、医疗、零售、教育等各个领域,腾讯为传统行业的数字化转型升级提供“数字接口”和“数字工具箱”。我们秉持数字工匠精神,希望用数字创新提升每个人的生活品质。随着“互联网+”战略实施和数字经济的发展,我们通过战略合作与开放平台,与合作伙伴共建数字生态共同体,推进云计算、大数据、人工智能等前沿科技与各行各业的融合发展及创新共赢。多年来,腾讯的开放生态带动社会创业就业人次达数千万,相关创业企业估值已达数千亿元。 腾讯的愿景是成为“最受尊敬的互联网企业”。我们始终坚守“科技向善”的初心,运用科技手段助力公益事业发展,并将社会责任融入每一个产品。2007年,腾讯倡导并发起了中国互联网第一家在民政部注册的全国性非公募基金会——腾讯公益慈善基金会。腾讯公益致力于成为“人人可公益的创连者”,以互联网核心能力推动公益行业的长远发展为己任。腾讯公益联合多方发起了中国首个互联网公益日——99公益日,帮助公益组织和广大爱心网友、企业之间形成良好的公益生态,让透明化的“指尖公益”融入亿万网民的生活。

http://www.tencent.com/
图像修复技术

人脸生成技术

人脸生成是从现有数据集生成(或插值)新面孔的任务。

移动端深度学习技术

现阶段的移动端 APP 主要通过以下两种模式来使用深度学习: online 方式:移动端做初步预处理,把数据传到服务器执行深度学习模型,优点是这个方式部署相对简单,将现成的框架(Caffe,Theano,MXNet,Torch) 做下封装就可以直接拿来用,服务器性能大, 能够处理比较大的模型,缺点是必须联网。 offline 方式:在服务器上进行训练的过程,在手机上进行预测的过程。 当前移动端的三大框架(Caffe2、TensorFlow Lite、Core ML)均使用 offline 方式,该方式可在无需网络连接的情况下确保用户数据的私密性。

生成对抗技术

生成对抗是训练生成对抗网络时,两个神经网络相互博弈的过程。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

推荐文章
暂无评论
暂无评论~