论文阅读:Synthesizing Obama: Learning Lip Sync from Audio

本文介绍了将音频转换为视频中嘴部运动的详细过程,涉及音频预处理、唇形关键点检测、时间延迟RNN以及面部纹理合成。在纹理合成中,通过加权中位数和牙齿代理图像融合技术,实现了精细的牙齿细节重建。这一方法可以用于视频人物对话生成,提高合成视频的真实感。

音频到视频部分出现的术语:

  • stock video footage:the many hours of online weekly address video
  • source:the input audio track
  • target video: stock video clip into which we composite the synthesized mouth region

音频到landmarks

  • 音频部分的处理:
  1. 给定16KHz单声道音频, 使用ffmpeg的RMS-based normalization 正则化volume
  2. 在每个25ms长的滑动窗口上进行离散傅里叶变换, 采样间隔为10ms
  3. 在傅里叶功率谱上应用40个三角形的Mel-scale lters,对输出进行对数处理。
  4. 应用离散余弦变换,将维度降低到13维矢量。

最后输出28维度的向量, 13维度加上对数平均能量和其一阶导数

  • 脸部的处理:
  1. 对每帧obama的脸进行frontalize, 正面化, 用了14年的论文:Total moving face reconstruction
  2. 然后检测嘴部landmarks, 这里是给出了18个点, 也就是36个数, 然后PCA到20维的系数
  3. Finally, we temporally upsample the mouth shape from 30Hz to 100Hz by linearly interpolating PCA coeffcients, to match the audio sampling rate. Note that this upsampling is only used for training; we generate the final video at 30Hz.(最后,我们通过线性插值PCA系数将口型从30Hz升采样到100Hz,以匹配音频采样率。请注意,这种上采样只用于训练;我们以30Hz的频率生成最终视频。)

之前音频间隔是10ms也就是1s取100次, 视频1s100hz也就是1s采样100次,和音频一一对应, 这里是正常取了30,中间的通过插值得到

  • RNN的处理:

重要的点:音频和嘴部并不完全同步, 举个例子, 比如你张开嘴发出啊的声音, 但是可能张嘴要比出声早了一点时间, 所以说网络需要看到未来的一部分音频信息, 比如我关注到几十个ms后的啊了我就知道应该张嘴了

  1. 所以在这里很重要的一点是要添加time delay, 把网络输出在时间上向前移动, 为输出增加时间延迟, 也就是说输入是当前的声音, 但是预测的landmarks有些许的延后这样效果挺好

  2. time-delayed RNN的delay为2, 网上一般叫target-delay, 搜了好长时间才发现····
    效果图如下:
    在这里插入图片描述
    这里有个疑问, 这样的话输入和输出相比不是一一对应的, 前面说是音频和视频采样率调整到一致了, 这个地方是怎么处理的呢?
    是不是输出还是同样的, 但是我不取前两个而是取后面的作为输出?

  3. cell state c是60维, time delay是20 steps(200 ms), 也就是预测的嘴部会落后音频200ms

这部分我看了源码之后懂了, 来自Obama Nettrain.py

timeDelay = 20 
lookBack = 10
n_epoch = 20
n_videos = 12

for key in tqdm(keys[0: n_videos]):
	audio = audioKp[key]
	video = videoKp[key]
	if (len(audio) > len(video)):
		audio = audio[0: len(video)]
	else:
		video = video[0: len(audio)]
	start = (timeDelay - lookBack) if (timeDelay - lookBack > 0) else 0
	for i in range(start, len(audio
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

live_for_myself

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值