赞
踩
这个是方法概览, 输入是视频和音频, 输出是配音之后的视频, 有些像Wav2lip, 语音提取用了deepspeech,框架分为两个部分, 一个是generalized, 一个是specialized, 通用的网络会从音频学到一个所有人共享的audio expression speech, 然后会把得到的audio expression 转变为3D face model 需要的参数。
这个分为两个小网络,一个是单帧的一个注意连续, 这里注意1维卷积的应用, 看起来还是挺有用的, 比如一个输入维度是 (batch, seq, input_dim), pytorch的参数有方向k, 还有输出的维度, 这个变换的是input_dim, seq的维度由k决定, 输入前要变换seq和input_dim的位置, 输出就变成(seq, change_seq, change_dim)
一个通用的网络怎么变为特定的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](https://s2.loli.net/2021/12/29/yIw8nvUQNP2KMr1.png)
这个渲染有两个部分, 一个是从栅格化的3d model变为对应的RGB图片, 然后通过另一个网络融合起来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。