当前位置:   article > 正文

论文阅读:Neural Voice Puppetry: Audio-driven Facial Reenactment

neural voice puppetry: audio-driven facial reenactment

  • 这篇文章就简单记录一下

概览

在这里插入图片描述
这个是方法概览, 输入是视频和音频, 输出是配音之后的视频, 有些像Wav2lip, 语音提取用了deepspeech,框架分为两个部分, 一个是generalized, 一个是specialized, 通用的网络会从音频学到一个所有人共享的audio expression speech, 然后会把得到的audio expression 转变为3D face model 需要的参数。

方法

  • 这里很有意思的一点是我以为这个是可以对所有人生效的, 但是这个更像是一个先train后才能用的网络, 只是train的要求没有很多的数据。
  • 因为每个人说话的风格不一样, 所以建立了针对每个目标序列计算的person-specific expression spaces, 为了确保多个人之间的通用性,作者创建了 a latent audio-expression space,该空间由所有人共享。从这个 audio-expression space,可以映射到person specific expression space,从而实现重演。
  • 上面的怎么理解呢。 我想的就是说这个其实像个分类器, 你映射到一个音频表情的空间, 然后网络选好要映射到目标的哪个人上, 这样得到的3d model 参数就不会说不能用了
Audio2ExpressionNet

在这里插入图片描述
这个分为两个小网络,一个是单帧的一个注意连续, 这里注意1维卷积的应用, 看起来还是挺有用的, 比如一个输入维度是 (batch, seq, input_dim), pytorch的参数有方向k, 还有输出的维度, 这个变换的是input_dim, seq的维度由k决定, 输入前要变换seq和input_dim的位置, 输出就变成(seq, change_seq, change_dim)

Person-specific Expressions

一个通用的网络怎么变为特定的3D model 呢? 这里需要learn 一个person-specific audio-expression blend shape basis, 把它约束在统计人脸模型的通用blend shape basis上(也就是说通过通用模型可以得到expression的一些东西, 这个部分是通用的,然后就是从这个expression映射到person的参数, 这里提到一个人的audio-expression blendshapes是其他基础blendshape的线性组合, 是3DMM吗?)最后得到的就是N个76*32的矩阵, N就是train sequences, 76是generic blendshapes的数量

  • 这样在测试的时候选择哪个目标演员, 就选它对应的参数映射就行了。

  • 训练 Audio2ExpressionNet 的时候有针对于3d model的mask

在这里插入图片描述

具体的渲染过程是这样的:

image.png

![image.png](https://s2.loli.net/2021/12/29/yIw8nvUQNP2KMr1.png)
  • 1

这个渲染有两个部分, 一个是从栅格化的3d model变为对应的RGB图片, 然后通过另一个网络融合起来。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/118625
推荐阅读
相关标签
  

闽ICP备14008679号