B 站神曲 damedane:精髓在于换脸,五分钟就能学会

AI 换脸技术层出不穷,但一代更比一代强。最近,一个发表在 NeurIPs 2019 的 AI 换脸模型 first order motion model 火了起来,其表情迁移效果胜过同领域其它方法。最近,这项技术在 B 站引起一波新潮流……

最近,B  站上涌现出一波画风过于「生草」(B 站黑话,意为魔性搞笑)的视频,播放量动辄上百万,相当火爆。

技能满分的 Up 主们,利用 「first order motion 一阶运动模型」的 AI 换脸项目,生成了各种各样画风清奇的视频。

比如,竟然让张学友、杜甫、唐僧、熊猫头表情包声情并茂地演唱《damedane》、《unravel》……画面是这个样子的:

唐僧版《Unravel》,来源:B 站 Up 主:粗犷毛线君
杜甫版《Unravel》,来源 B 站 Up 主:cold_joke

看动图不过瘾,还是直接上视频吧:

流泪猫咪版洗脑神曲《damedane》,截至目前播放量 211.3 万,来源:B 站 Up 主浓密秀发胡图图

不得不说,有点上头……大家可以自行到小破站搜索更多作品观赏。

这些视频引得无数网友摩拳擦掌跃跃欲试,纷纷留言求教程。接下来,我们就来了解一下,实现这些换脸效果的技术(万恶之源):一阶运动模型(first order motion model)。

学习园地 B 站,多个教程教你对口型

迄今为止,类似的换脸、对口型的技术层出不穷,每提出一个,就会引起一波换脸热潮。

而 First order motion 模型由于在五官、口型优化上效果比较好,且容易上手、实现效率高,于是大受欢迎。

B 站上的 up 主们,已经积极上传了不少教程

比如要文章开头的《damedane》换脸,只需几十秒就能实现,五分钟就可以学会。

B 站上的多数 up 主选用 Google 的云端硬盘和 Colab 来进行教程。考虑到翻墙门槛,我们选取了其中一位 up 主的教程,使用国内的机器学习算力容器服务(https://openbayes.com),现在还能薅羊毛,每周都赠送 vGPU 的使用时长,轻松完成该教程。

不到 5  分钟就可以完成自己的《damedane》

这个教学视频逐步讲解,即使是小白,也能轻松学会这招换脸大法。up 主还将 notebook  上传到了平台,只要一键 clone 就可以直接使用。

不过,很多技术 Up 主表示,娱乐之余,制作视频是为了进行技术交流,所以希望大家不要恶意滥用。

上图视频教程地址:

https://openbayes.com/console/openbayes/public/containers/BwZQj5wr3Jp

原项目 Github 地址:

https://github.com/AliaksandrSiarohin/first-order-model

又一个换脸神器,好用在哪里?

First order motion 模型来自顶会 NeurlPS 2019 上的一篇论文,《First Order Motion Model for Image Animation》(《用于图像动画的一阶运动模型》),作者来自意大利的特伦托大学以及 snap 公司。

论文地址:https://arxiv.org/pdf/2003.00196.pdf

由标题就可知,该论文要实现的目标是让静态图片动起来。在给定一张源图片和一个驱动视频的情况下,让源图片中的形象,跟着驱动视频中的动作动起来。也就是,让万物皆可动起来。

效果如下图所示,左上角为驱动视频,其余为源静态图:

  模型框架构成 

总的来说,该一阶运动模型的框架主要由两个模块组成:运动估计模块(motion estimation module)和图像生成模块(image generation module)。

运动估计模块:通过自监督学习将目标物体的外观和运动信息进行分离,并进行特征表示。

图像生成模块:模型会对目标运动期间出现的遮挡进行建模,然后从给定的名人图片中提取外观信息,结合先前获得的特征表示,进行视频合成。

方法概述

  比传统模型强在哪里?

有人可能会有疑问,这和之前的 AI 换脸方法有什么不同?作者给出了解释。

此前的换脸视频操作,需要以下操作:

  • 通常需要针对换脸的双方人脸图像数据,进行事先训练;
  • 需要对源图像进行关键点标注、再进行相应的模型训练。

但现实中个人的人脸数据较少,也没有大量的时间进行训练。因此,传统的模型通常用在特定形象上效果较好,但用在普通大众身上,质量就很难保证,容易翻车。

之前的方法会出现表情迁移不准的情况

因此,该论文提出的方法,解决了对数据的依赖问题,大大提高了生成效率。想实现表情、动作迁移,需要在同类别的图像数据集上训练即可。

比如想实现表情迁移,则不管是换谁的脸,只要在人脸数据集训练即可;想实现太极动作迁移,就用太极视频数据集进行训练。

训练完成之后,使用对应的预训练模型,就可以实现让源图像跟着驱动视频动起来的结果。

该方法与其它方法在同一数据集训练效果对比第二、三列的方法对于人体动作迁移会出现偏差

作者将其方法与目前该方向最先进的方法 X2Face 和 Monkey-Net 进行了对比,结果在相同的数据集中,本方法各个指标都有所提高,在两个人脸数据集(VoxCeleb 和 Nemo)上,本方法也明显优于最初提出用于人脸生成的 X2Face。

damedane 换脸视频原型的倾情演绎

—— 完 ——