视觉检测领先者
全国咨询热线:13812953225

【开放视觉】AI人像特效之「更快、更高、更强的互娱换脸解决方案」

发布时间:2023-11-03 12:34:36 人气: 来源:下载雷火电竞亚洲先驱
案例介绍

  换脸技术旨在将图像或者视频中的人脸替换成目标人脸,使生成的图像与目标人脸相似,且具有图像或视频中人脸的外貌特征。作为近几年计算机视觉和图形学领域较热门的应用之一,已被大范围的使用在互动娱乐,肖像替换,广告宣发,电影后期等场景中。本工作面向互动娱乐场景,扎根于学术前沿,聚焦于行业落地,提出了一个脸型自适应的换脸算法(SaSwap),并结合落地过程中的若干痛点难点逐一攻关,最终以高效的输出方式组成了一套完整的互娱换脸解决方案。

  换脸技术旨在将图像或者视频中的人脸替换成目标人脸使生成的图像与目标人脸相似且具有图像或视频中人脸的外貌特征。作为近几年计算机视觉和图形学领域较热门的应用之一已被大范围的使用在互动娱乐肖像替换广告宣发电影后期等场景中。本工作面向互动娱乐场景扎根于学术前沿聚焦于行业落地提出了一个脸型自适应的换脸算法(SaSwap)并结合落地过程中的若干痛点难点逐一攻关最终以高效的输出方式组成了一套完整的互娱换脸解决方案。我们工作的主要创新点如下

  「更高」结合客户反馈针对换脸技术中涉及的若干典型挑战提出了有效且实用的解决方案将效果提升到更高的标准保证了换脸结果的线c;稳定性和高保线;。

  「更强」针对模板脸与目标脸有几率存在的脸型不匹配问题创新性地研发了脸型自适应的加强版换脸算法业内首创提升了生成人脸与目标脸的相似性。

  生成对抗网络(GAN)由生成器和判别器构成生成器用于生成以假乱线c;判别器用于判别图像线c;两者相互博弈从而促进生成逼近真实数据分布的样本。

  最直接的换脸能够最终靠2D形状拟合贴图方式实现具体来说就是检测两张脸的关键点特征信息然后计算两个人脸形状之间的变形映射并将目标脸匹配到模板脸上最后添加图像融合等后处理技术修复边缘的痕迹此类方法虽然实现起来快速简单但是鲁棒性较差只能处理较标准姿态的人脸。本部分相关研究着重关注三类典型的基于深度学习的换脸算法。

  基于3D人脸重建的换脸算法是一类比较经典的思路它首先对人脸进行三维重建重建出表情姿态等系数接着进行姿态对齐纹理映射和融合改进最终生成脸部替换的效果。以On face segmentation [1] 这类算法作代表。该类方法可处理大角度及部分遮挡条件下的换脸但是由于引入了重建流程导致pipeline耗时较长效果上也易出现较生硬的合成痕迹线 基于GAN的换脸算法

  Deepfake的总体框架如上图所示他的训练集需要两个域人脸的图像集A和B, 在使用同一编码器权重共享的约束下在两个集合分别训练各自的编解码模型推理的时候对集合A的图像经过编码器提取特征再输入集合B的解码器完成人脸替换。Deepfake在收集到大量不同姿态、表情模板人脸和目标人脸数据时能取得不错的效果但是其局限性在于每次需要换不同的人脸时都需要收集目标人脸数据并重新训练对训练数据敏感训练成本高扩展性差。

  那么是否有方法能够在训练好一个通用模型后就能支持替换任意人脸呢Faceshifter[3]的提出很好地解决了这个疑问其将任意图像的换脸问题转换为一个特征抽取和融合的过程通过一个身份编码器提取目标图像的特征该特征编码了用于区分目标图像面部身份的特征如眼睛的形状、眼睛和嘴的距离等再通过一个多级属性编码器提取模板图像的多个中间特征该特征编码了不同尺度下的模板脸属性如面部的姿势、轮廓、表情等。最终通过一个生成器将上述两类特征进行融合直接输出换脸的结果。该网络架构使得Faceshifer能够支持推理阶段对任意的两张图像进行换脸极大提升了换脸效率和扩展性。Simswap[4]基于类似的流程设计了一套不同的特征提取和融合网络。效率的提升不可避免的带来了效果上的妥协Faceshifter和Simswap在实际使用中都存在诸如肤色大角度侧脸和遮挡等问题在第三章我们会介绍解决这些特定难点的思路。

  3D办法能够重建表情姿态等系数可提供更丰富的属性信息同时对各种姿态人脸适配性更好。而生成式方法具有强大的特征提取能力支持任意图像对的换脸。两种方法的联合也成为一个直观的优化思路其基本思路是借助于3D可形变人脸模型(3DMM)分别提取模板脸和目标脸的ID, ColorExpression, Pose, Light等系数进行系数替换合成后作为额外的信息输入生成式框架进行换脸。其中最新工作Facecontroller[5]HifiFace[6]就是基于此思路来优化的换脸算法通过更多详细的信息的引入以及不同特征解耦模块的设计能够提升对换脸中间态特征的控制能力得到更高保真度的结果。

  截止到今天学术界针对任意图像的换脸算法大多分布在在研究怎么样通过设计更好的特征解耦与融合方式以提升最终效果的保真度、相似度和分辨率主流的任意图像的换脸算法都默认在保留模板脸的脸型基础上将目标脸和模板脸的特征进行融合而我们得知用户从主观进行评判换脸结果是否与目标脸相似时除了五官一些特征外脸型是另一个很重要的评判维度。特别是当模板脸和目标脸脸型相差较大时如果换脸结果完全保留模板脸的脸型从感观层面会觉得相似性不足且容易在面部融合边缘出现一些合成痕迹明显的问题。

  针对这一学术界和工业界公认的难点和痛点我们结合3D先验的思路开创性地设计了一个脸型自适应的换脸框架Shape-aware swapping by 3D face priors, SaSwap能够支持在换脸过程中对目标脸型的感知在换脸的同时根据目标脸的脸型进行可控程度的变化。

  上图是我们SaSwap框架的网络结构图大致上可以分为多尺度人脸变换模块基于3D先验的面部形变估计模块和可形变特征融合模块。具体流程为首先将模板图$X_t$输入属性编码器获取其属性特征目标人脸图$X_s$输入人脸ID提取器获取其ID特征通过引入可形变特征融合结构在将ID特征嵌入属性特征空间的同时以光流场的形式实现面部的自适应变化融合后的图像特征通过生成器得到最终合成结果。

  多尺度人脸变换模块受启发于faceshifter AEI-Net[3]的流程包括一个ID提取器用于提取目标脸的ID特征一个U-Net结构的属性编码器用于提取模板脸的多尺度信息和一个生成器用于将两个特征进行自适应融合我们重新改良了生成器部分融合模块的结构使得信息能更有效的结合并生成更鲁棒的效果。

  面部形变估计网络用于构建从输入图像到光流形成的前向通路该模块基于3D先验信息实现。首先通过3D人脸重建模块对模板图、目标脸分别提取对应3D人脸结构并得到相关3DMM系数通过人脸系数融合得到目标脸在指定表情姿态下的重建效果。此时依据变换后人脸mesh和原人脸mesh中的关键点信息得到运动位移最后利用稠密光流估计网络将稀疏的关键点运动转换为稠密光流场由于换脸任务中多为面部形态及五官形态结构的变化因此该光流场预示了图像像素在空间位置上的运动变化。

  可形变特征融合模块用于在特征融合序列模块的中间层借助网络预测的光流对深层特征施加warp形变以此来实现像素在语义空间更大范围的自由运动变换。其中光流场以无监督、自发形式生成通过换脸相关损失约束自发产生所需纹理形变需求从而反馈给面部形变估计网络产生相应光流。

  重建损失分为三大块分别是像素重建损失3D重建损失和光流重建损失。

  3D重建损失用于约束合成图像的3D人脸重建结果与融合后的3D人脸重建结果保持一致定义为两个重建结果的$L_1$距离

  其中$F(\cdot)$表示对图像进行3D重建当输入两张图像时表示分别对每张图进行3D重建再通过参数融合转换得到新的3D模型$R_{kp}$表示对图像3D重建结果提取对应的关键点。

  光流重建损失定义为目标图$X_s$与模板图$X_t$的光流预测特征的$L_1$距离

  在复现相关论文过程中我们会发现其应用在真实场景时的泛化性往往存在不足。真实数据场景的分布具有更复杂与多样的特点在实际使用中易产生各种artifacts。我们结合换脸落地过程中遇到的问题和实际的需求总结了以下痛点并分别提出了针对性的有效改进措施。

  效果上换脸一个基础要求是生成的结果需要保持与模板人脸一致的肤色特征但当目标人脸和模板人脸的肤色差距较大时往往有可能会出现一些肤色偏差的问题。针对这一现象我们引入了在图像风格迁移中应用的Contextual Loss[7], 该loss优点是可用于非对齐(non-aligned)数据能够较好地保留ground truth的特征对于换脸场景两张脸五官分布非对齐的场景是十分适合的。通过引入Contextual Loss我们的换脸算法能够准确的保持target图像的肤色信息。

  大角度侧脸在视频类互娱场景中出现频率很高是其中最容易出badcase的一类难题侧脸图像的生成效果和稳定能力对于整段视频结果的完整性起着至关重要的作用。鉴于此我们第一步优化了人脸检测的关键点算法相较开源算法大幅度的提高了对侧脸场景的检测准确性接下来我们针对侧脸数据来进行细粒度的分类并在训练过程中结合3Dshape系数的约束使得侧脸效果得到了极大的改善。

  实际场景中输入的图像或视频帧中有几率存在部分遮挡人脸的情况相对来说比较常见的遮挡情况包括手眼镜口罩装饰等针对这样一些问题我们目前采取的方式是使用数据增广模拟频繁出现的遮挡场景在训练时随机进行遮挡贴图。如下图是我们优化眼镜遮挡的效果在未优化前由于GAN生成网络的特性容易在遮挡区域补全一些脸部纹理信息导致遮挡信息丢失而优化后该遮挡信息得到了保留。

  由于我们网络输入的图像大小为256x256分辨率的人脸当用户要处理较高分辨率的图像或视频裁剪后人脸区域的分辨率大于256x256)我们生成的换脸结果分辨率无法匹配输入的分辨率会显得有些模糊。此时需要对生成的人脸进行增强个人会使用了一个预训练的人脸增强模型GPEN[8]作为后处理步骤根据应用场景进行选择性的人脸增强操作。为了进一步节省这部分后处理的开销后续我们将进一步借鉴HiFaceGAN[9]的思路将增强直接融入训练过程中。

  对于视频换脸基本流程是将视频进行拆帧逐帧进行图像换脸后再合并所有帧输出换脸后的视频。相较于图像换脸除了上述的挑战其对视频帧间的连续性具有较高的要求其中涉及转场模糊渐变帧间位移等各类复杂情况如果处理不好结果会出现抖动突变上一帧换脸下一帧未换等不稳定的现象极度影响换脸后的视觉效果。针对这样一些问题我们从以下两个方面做优化。

  关键点检测稳定性优化。着重优化互娱场景的转场模糊渐变等有可能会出现漏帧现象的情况同时加入前后帧平滑逻辑保证关键点在连续帧的五官关键区域的稳定性。

  模拟帧间变化的数据增强策略。通过模拟帧间小幅度位移的现象能有效提升网络鲁棒性保证相邻两帧换脸效果的连续性和真实感。

  在互娱场景性能是除效果之外决定产品走向落地的关键步骤。目前业界评估视频换脸的效率指标为1:N具体指的是在NVIDIA GPU机器上处理一段720p30fps(其他fps进行相应折算)长度为1秒的视频处理时长RT为N秒。对于可支持任意图像的视频换脸技术方案在推理阶段输入一张用户图像对于视频解码得到的每一帧需要依次经过预处理人脸关键点检测图像对齐裁剪模型推理输入用户图像特征当前视频帧输出融合结果后处理图像变形还原图像编码三大阶段。考虑到整个换脸的pipeline做到1:1.5已经算得上是比较快的一个效率了。为了进一步降本提效我们从推理加速和离线框架设计两个方面做了优化最终将视频换脸效率提升至1:0.35极大优化资源成本。下图展示了效率优化的各阶段时间开销以上测试均在NVIDIA A10机器完成。

  推理加速包括两方面一是模型的推理加速二是预处理和后处理的推理加速针对模型加速除了本身对模型框架的精简优化也借助于模型加速团队的力量先后使用了xcnn和tensorrt框架将模型推理效率从单帧40ms最终提升至6ms加速比达到近7倍。进一步我们对预处理阶段的检测关键点模型进行tensorrt加速以及对pipeline中的处理逻辑来优化将单帧前后处理时长从30ms优化至6ms。最终单帧总处理时长从98ms提速至24ms效率指标为1:0.7。

  互娱场景主要面向toC客户用户上传的图像可以频繁变化而模板往往是固定的因此我们大家可以提前将模板进行预先处理将每次换脸要使用到的视频模板公共信息如关键点变形矩阵等提前存储省去实际换脸时该部分的额外开销。下图是我们的离线c;通过提前处理模板信息加入合理有效的本地回写策略逐步提升了整个视频换脸的效率达到1:0.35。

  目前业界有包括face人工智能开放平台火山引擎头条百度开放平台和腾讯开放平台提供了换脸服务综合比较后腾讯的效果大幅优于其他三家是我们的主要竞争对手而我们在整体效果上与腾讯不分伯仲几个单项技术创新已经让我们领先了一小步。由于这些竞品的视频换脸未开放测试下面我们展示部分与竞品在图像换脸上的效果对比。

  2023云栖大会上,阿里云宣布了一项重磅计划:阿里云高校计划,助力高校科研与教育加速,让每位中国在校大学生真实受益于普惠算力。目前,清华大学、北京大学、浙江大学、上海交通大学、中国科学技术大学、华南理工大学等高校已首批达成合作。

  今天上午,2023云栖大会在杭州云栖小镇开幕。 阿里巴巴集团董事会主席蔡崇信在开幕式上致辞,他提出,阿里巴巴“要打造AI时代最开放的云”。

  智慧校园建设是现阶段高校研究的重点方向。通过如今科技发展,将科学技术、先进设备更好的融合到校园各项工作的开展以及校园安全的保障,对校园来说是至关重要的。 作者将从校园安全建设、校园文化生活两个方向,挖掘开放视觉API在智慧校园中的更多应用。

  为了零成本低门槛地提供极致酷炫的人像玩法,我们提出了一套人像风格化通用框架「AI Maleonn」AI 版神笔马良,用于一键生成风格百变的人物虚拟形象,在风格上涵盖手绘、3D、日漫、艺术特效、铅笔画等多种风格,同时能支持面向小样本的专属风格定制,利用少量目标风格图就可以实现快速迁移拓展;在处理维度上,不仅适用于生成头部效果,更支持全图精细化纹理转换,兼容多人场景;在模型鲁棒性上,有效克服了多角度姿态、面部遮挡等各类复杂场景,整体稳定性大大提升。

  08.25 北京站|阿里云 Serverless 技术实践营( AI 专场)开放报名

  08.25 北京站|阿里云 Serverless 技术实践营( AI 专场)开放报名

  08.25北京站|阿里云Serverless 技术实践营( AI 专场)开放报名

  学术界自2000年左右开始对图像生成进行研究。日常采集到的图像数量非常有限,而且采集成本相比来说较高。因此,我们大家都希望计算机能够自动化生成新的图像。但是,如果图像内容随机生成,无法控制生成结果,则图像依然不可用。

  【ECS生长万物之开源】手动部署Java Web环境(CentOS 7)