LiveSpeechPortraits实现音频实时驱动视频

音频驱动视频的方案最近一年甚是火爆,这里分享的是南大的LiveSpeechPortraits,能够实现实时驱动,之前的方案很多都是速度慢或者是效果差,这篇论文思路也十分简单。

项目地址:yuanxunlu.github.io/projects/Li… 论文主要分为三个过程完成:

image.png 简要的说就是,第一阶段将音频转成待处理矩阵,第二阶段主要是收集面部的信息,这里主要是嘴部的动作、头部动作、眉毛等,这篇文章最有意思的是做了两个假设: (1)头部动作和语音是弱相关的,可以理解成也就是语音和头部动作关系不大,但是有一点点关系; (2)当前头部的和之前的头部动作也是弱相关;

把这两个假设分解一下,就是语音主要和嘴巴的动作相关,和头部运动有有点点关系,和眉毛等动作几乎没有相关性,所以我们就在论文看到,我们第一阶段处理音频得到的结果就输入给嘴巴运动,而眉毛是使用的采样,头部运行是使用的概率性的采用,这就把之前的假设融入的很到位。 第三阶段是使用上述的汇总的结果使用图片翻译的方式生成预测图像,这一阶段使用的是gan的方式进行训练;

接下来,我们将上面的过程细细说来。

第一阶段

由于音频的序列,所以首先是将音频输入给gru模块,可以得到speech representations,这里的模块是使用的APC模型,是语音识别常用的前处理的常用模型;得到speech representations还未完,为了保证模型的鲁棒性,接下来是将speech representations做了流行映射,这样保证未来在输入音频和现有的音频分布不一致时也能达到一个较好的效果,而不至于效果很差。

第二阶段

这一阶段分为3个不同的模块:

(1)嘴巴相关的运动

上面我们提到了我们输入音频得到的结果主要和嘴巴运动相关,我们根据平时生活也应该理解,语音肯定是对嘴巴运动最相关的。 我们从第一幅图就应该知道,嘴巴依次输入了两个模型,一个是LSTM,另外一个是MLP,使用数学表达式可以简洁的表达该过程:

image.png

(2)头部和上半身的运动

扫描二维码关注公众号,回复: 13470013 查看本文章

这里巧妙的设计了概率采集数据的模块,既利用了部分之前的头部数据给当前头部数据还利用了音频的数据,然后将汇总的结果输入给当前的头部数据。 image.png

(3)眼睛和眉毛

直接采样就行,没有做其他处理

第三阶段

这个阶段就是使用对抗生成网络生成图片,这个部分没有多少复杂的地方,直接使用第二阶段的数据作为输入,在中间层输入候选的几张图,然后输入结果图(序列图/视频);

结果

image.png

还可以看一下视频效果replicate.com/yuanxunlu/l… 这个代码的局限性没有公开训练的代码,只公开几个demo,没有说明demo里面的文件是怎么生成的,需要自己猜测。

猜你喜欢

转载自juejin.im/post/7035983571961511973