zhangchenxu528 / FACIAL

FACIAL: Synthesizing Dynamic Talking Face With Implicit Attribute Learning. ICCV, 2021.
GNU Affero General Public License v3.0
377 stars 83 forks source link

两个问题 #32

Closed yaleimeng closed 2 years ago

yaleimeng commented 2 years ago

首先感谢作者公开项目代码供大家研究。费尽千辛万苦总算把demo脚本和公开的train脚本都跑通了,而且是在CUDA10.1、tf2.3环境。但在使用新的语音生成视频的过程中,发现几个问题。希望作者有空给予解答。 1,face2vid在执行 test_video.py 时,我使用RTX 2080Ti 大约为15帧/秒。作者曾称使用了1080Ti,应该不会比这个更快。 我使用1分钟的音频,预处理声音耗时3分钟左右,合成画面环节又耗时3分钟左右。整体耗时相当于声音时长的6倍以上,在效率上距离实时合成画面应该还有很大差距。作者曾说可以做到近似实时,能否在效率改进等方面提供一些思路?

2,在声音预处理过程采用了deepspeech 0.1.0的模型,已经非常陈旧了。这个项目已经更新到了0.9.3版本,并且有了支持中文的pbmm模型,为什么不采用更新版本的模型而要用最初版本的pb模型呢?作者能否调整一下代码以提供对新版本的支持?

zhangchenxu528 commented 2 years ago

感谢你的关注。

  1. 我们采用deep speech 预处理feature时间较长。如果你直接使用MFCC feature的话,应该可以减少耗时。face2vid这里模块实际上是image2image的应用,可以使用小型网络优化test速度,但是质量有可能下降。
  2. 多谢你的建议,有空我会调整一下。
yaleimeng commented 2 years ago

感谢您的及时回应。 经过中文语音的视频完整地从头训练,发现口型同步性不太理想。 尝试新版普通话模型的256维特征,人物嘴巴基本不动。直接采用MFCC的26维特征,口型同步性比直接字母表概率还略差。个人的实验结果供参考。

xiao-keeplearning commented 2 years ago

@yaleimeng 你好,我在尝试使用0.9.3的pbmm模型替换原始模型,但是会报错(google.protobuf.message.DecodeError: Error parsing message with type 'tensorflow.GraphDef')。请问你修改过音频处理的代码么,可否给一些修改的建议?

yaleimeng commented 2 years ago

@xiao-keeplearning 新版模型不能直接用FACIAL中的代码加载计算图进行推理,可以用deepspeech的源码加载并执行推理。 由于deepspeech资料很少,根本看不懂怎么用。可以参考 https://github.com/wuhaozhe/style_avatar 里面的部分代码。读懂之后跟本项目进行一些融合即可。

xiao-keeplearning commented 2 years ago

@yaleimeng 多谢你的建议,对我很有帮助

感谢您的及时回应。 经过中文语音的视频完整地从头训练,发现口型同步性不太理想。 尝试新版普通话模型的256维特征,人物嘴巴基本不动。直接采用MFCC的26维特征,口型同步性比直接字母表概率还略差。个人的实验结果供参考。

另,字母表概率是指可视音素表那种么?

yaleimeng commented 2 years ago

@xiao-keeplearning 就是项目代码的默认模式。在获取声音MFCC特征并预处理后,经过神经网络推理得到的深度特征(识别为文字的上一步特征)。

CruiseYuGH commented 2 years ago

@yaleimeng 你好,我是根据deepspeech的源码,替换目前项目里面的英文模型,有两个问题想咨询下。 由于FACIAL 使用deepspeech 0.1.0生成出来的结果没有归一化,所以替换0.9.3我同样没归一化。但是从结果上来看的话0.1.0 获取的值大概是(-5 ~ 3)之间吧,但是0.9.3 差异很大(-98000 ~ 1)之间,不知道是否你也是这样的? 其次我替换256维中文训练出来的效果貌似也并不好。不知道你这边效果如何?

yaleimeng commented 2 years ago

@CruiseYuGH 直接用256维的效果我这边测试结果是嘴巴几乎不怎么动,原因不明。 正常29维的,没看具体数值,但不同版本模型预测视频的观看感受差不多。就是口型与发音不一致,且不够同步。

CruiseYuGH commented 2 years ago

@yaleimeng 256维度我这边,嘴巴动是动就是发音不一致。感觉这个模型学的最好的是如何闭嘴 T.T

MingZJU commented 2 years ago

deepspeech换成0.9.2中文模型,重新训练Gen,嘴唇动作挺明显,但同步性也差,正在检查。

wzx7084 commented 1 year ago

deepspeech换成0.9.2中文模型,重新训练Gen,嘴唇动作挺明显,但同步性也差,正在检查。

你好,请问你在哪里获取的092中文模型,是否可以分享一下?

yaleimeng commented 1 year ago

https://github.com/mozilla/DeepSpeech/releases 模型下载。 也可以指定某个版本 :https://github.com/mozilla/DeepSpeech/releases/tag/v0.9.2

wzx7084 commented 1 year ago

https://github.com/mozilla/DeepSpeech/releases 模型下载。 也可以指定某个版本 :https://github.com/mozilla/DeepSpeech/releases/tag/v0.9.2

非常感谢