从纸到手机,这个团队“一键实现”越来越多有趣的特效。近年来,AI模型在特效方向的功力似乎已经满满当当。于是,我们看到了会说话的蒙娜丽莎,看到了cos油画中的周杰伦,看到了能让人一秒秃头的“东升发型发生器”。不过,这些技术在使用上似乎都不是很“接地气”。很少有人把它们做成“一键生成”的应用放到手机上,实时应用就更少了。到2021年,情况正在发生变化。在一款APP短视频上,我们惊喜地发现,最近火爆全网的“深深怀念”和“写真歌唱”竟然可以一键生成:这些特效全部来自腾讯微视,用户只需下载微视APP,上传一张照片即可获得你想要的特效。其中,“移动老照片”可以完成老照片上色、超分辨率、移动照片中的人物等效果;而“让照片唱歌”可以让任何一张照片中的人唱一首歌,还带有丰富的面部表情。不过,这只是微视实现的众多特效中的一种,还有更多的特效可以在微视APP上实时体验,比如变星、变欧美、变娃娃等等。另外,还可以通过手机实时控制生成图像的面部动作,实现面部动作的迁移:这些实时特效就像“魔镜”并排,可以实现各种神奇的特效在人的脸上。而且玩法非常简单,只需要在APP中找到对应的模板,然后打开相机进行拍摄即可。可能有人会问:论文发表这么久了,为什么这些效果现在只在手机上看到了?这就不得不提到将AI模型从纸上移动到手机上的难度。给手机带来特效的难点在哪里?我们知道,近几年涌现出的很多AI特效都是基于GAN(生成对抗网络)的,以上大部分特效也不例外。然而传统的GAN往往存在以下问题:1.需要大量的训练数据。数据对于AI模型的重要性不言而喻,但对于一些基于GAN的人脸效果,模型需要的不仅仅是数据,还需要大量的成对数据,这给数据收集带来了新的挑战。比如在变种族的特效中,我们不可能同时拥有一个不同种族的人的照片。2、可控性差。我们在应用GAN生成人脸的时候,可能希望单独调整某个属性,其他属性不变,比如只放大眼睛。但麻烦的是图像的信息被压缩在一个维数很小的隐向量空间中,各个属性的耦合非常紧密。因此,如何实现这些属性的解耦,提高人脸属性的可控性就成了一个难题。3、做工质量不稳定。由于输入数据的质量和生成模型本身的不稳定性,GAN模型生成的图像质量可能不佳,因此我们需要采取其他措施来提高生成图像的质量。4、计算量大,移动端部署困难。具有强大生成能力的GAN可能需要数百GB的计算量,不适合移动部署。因此,如何在视觉效果不明显损失的情况下,实现模型的高效压缩,成为亟待解决的问题。如何克服这些挑战?针对以上挑战,腾讯微视技术团队开发了一套支持移动端实时特效的GAN模型训练和部署框架。整体流程可以概括为以下几个步骤:根据需要收集未配对的数据,训练高层模型生成配对数据;提高配对数据的图像质量;使用配对数据训练移动轻量级模型。借助这些步骤,模型在没有真实配对数据的情况下也能达到预期的效果,可控性和生成图像的质量都得到了显着提升,并且还兼容各种模型,让更多人使用简单、高质量的面部魔术特效。使用高参数模型生成配对数据由于配对数据难以获取,使用高参数大模型生成配对数据是必然的选择。生成的效果如下图所示:为了完成这个任务,微视的技术团队开发了三个不同的大模型。第一个是Cycle-StyleGAN,它结合了CycleGAN和StyleGAN。StyleGAN具有强大的生成高清人脸的能力,但它是一种无条件生成模型,只能通过随机向量生成随机人脸。因此,研究人员引入了CycleGAN的思想,让模型具备图像到图像的条件生成能力。Cycle-StyleGAN的基本结构。借助这个模型设计,微视开发并推出了回春效果:但这个模型也有缺点:需要的数据量过大,稳定性和可控性不强。因此,微视开发了第二个大模型:基于隐向量的属性编辑模型。首先,他们使用亚洲面孔数据集训练了一个高质量的生成模型。该模型使用AdaIN模块提取隐藏向量信息,然后使用Decoder网络生成数据。为了解决数据解耦问题,实现单属性可控(比如只调整眼睛大小),团队做了如下优化:方向向量解耦,找到了一套行之有效的属性解耦方法;在中,隐向量的具体含义是由监督信息控制的,比如限制一定的维度来控制鼻子形状,限制一定的维度来控制脸型。通过以上操作,团队实现了对大部分属性的个体化控制,但眼袋、鱼尾纹等过于细致的属性依然无法脱钩干净。为此,团队开发了一套基于样式空间的属性编辑方法。此外,团队还针对真实数据与训练数据差异导致的模糊、噪声等问题进行了优化。整体来看,二代大模型不仅提高了模型的可控性,而且对数据的要求也大大降低,可以用于只能收集少量未配对数据的真实人脸生成场景。基于这套方案,微视开发并推出了变星、变假笑等效果。但现实中对人脸特效的需求并不仅限于真实人脸,还有一些风格化的需求需要满足,比如CG人脸生成。此类任务的数据稀缺性更为严重,因此需要数据量要求更小的模型。为此,微视团队设计了第三大模型——基于小样本的模型融合模型。该模型的主要思想是在收集到的少量数据上对预训练的真人脸模型进行微调,使预训练模型能够更好地生成目标风格图片(如CG风格图片)。然后,将调优训练好的模型与原始模型进行融合,得到混合模型,该混合模型不仅可以生成目标风格图片,还具有原始预训练模型强大多样的生成能力。CG效果图。为了增加数据的多样性,开发者还在模型中加入了数据增强模块,借助3D人脸等技术生成更加多样化的数据。有了这个模型,只需要几十条数据就可以生成一张符合要求的人脸。配对数据图像质量提升迭代了三个大模型后,小模型训练所需的配对数据基本准备就绪,但在美观、稳定性、清晰度等方面仍需优化。在美学方面,微视通过图像处理技术和属性编辑方案,对大模型生成的图片进行美化,比如使用除皱模型去除眼袋、泪沟等。在稳定性和清晰度方面,微视参考图像修复和超分辨率的相关方法分别训练了一个既能提高清晰度又能去除人脸瑕疵的GAN模型。随机调查结果显示,用户对美图的偏好明显增加。去除眼袋和泪沟效果示意图。部署在手机上的特效,用于移动端的小模型训练,对算法的实时性和稳定性有很高的要求。因此,微视团队设计了一个可以在移动端流畅运行的小模型结构,将大模型生成的配对数据进行训练和提炼,作为小模型训练的有监督信息。轻量级小模型的整体主干基于Unet结构,参考了MobileNet的深度可分离卷积和ShuffleNet的特征复用的优点。为了提高生成图像的清晰度和整体质量,研究团队不仅将整幅图像放入判别器进行训练,还根据人脸点切出眼睛、眉毛、鼻子和嘴巴,输入将它们交给判别器进行进一步分析。火车。为了适应不同的模型,团队设计了多种计算模型。而且,考虑到低端机器部署的模型参数数量少,他们还采用了知识蒸馏的方法,让学生小模型学习到更多的信息。以上三步帮助微视实现了图像到图像的实时特效生成,但团队并没有就此止步,他们还实现了实时的轻量级人脸运动迁移。Real-timefacemotionmigration在人脸运动迁移方向上,部分思路是:首先估计从目标图像到源图像的反向光流,根据opticalflow,然后再还原重建结果,比如Monkey-Net,FOMM等,微视的实时面部运动迁移模型借鉴了此类方法。为了在手机端实现实时推理,他们在模型尺寸和计算量上对大模型进行了优化,并参考GhostNet设计了相应的小模型结构,从而使模型尺寸降低了99.2%,GFLOPs降低了97.7%。为了让小模型能够成功学习到大模型的能力,他们还采用了阶段性蒸馏训练的策略。小模型训练完成后,团队借助腾讯自研的移动端深度学习推理框架TNN,实现了在手机端的部署和实时推理,让用户通过摄像头驱动任意人脸图片成为可能.特效,腾讯微视有哪些优势逼真的效果和高效的模型,离不开扎实的技术支持。这些项目的核心技术由腾讯微视拍摄算法团队与腾讯平台与内容事业群(PCG)应用研究中心(ARC)共同研发。腾讯微视拍摄算法团队致力于图像/视频方向的技术探索。聚集了一批业内顶尖的算法专家和经验丰富的研究人员和工程师。拥有丰富的业务场景,在内容上不断探索前沿的AI和CV算法。在生产和消费领域的应用和落地。ARC是PCG的侦察兵和特种部队。其主要任务是探索和挑战与智能媒体相关的前沿技术,专注于音频和视频内容的生成、增强、检索和理解。在AI特效落地方面,团队建立了以下优势:构建了从算法开发、模型迭代到上线部署的一整套流程框架,可实现各项技术的快速落地,提供效率保障探索更多特效;算法经过多次迭代,数据需求已经降到很低,几十张图片就可以达到很好的效果,为实现更多的特效提供了可能;在画质提升、模型压缩等方面积累,自身的一些技术可以保证AI模型在各种移动平台上的成功部署。除了上面讨论的GAN,研发团队还在增强现实、3D空间理解等方面做了一些探索,并在微视APP上线了一批特效,是目前整个社区比较热门的研究方向.随着技术的不断迭代,未来,我们将在微视上看到更多纸上见不到的惊艳效果。
