Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

视频越往后,口型效果越差 #3

Open
weizmann opened this issue Apr 19, 2023 · 14 comments
Open

视频越往后,口型效果越差 #3

weizmann opened this issue Apr 19, 2023 · 14 comments

Comments

@weizmann
Copy link

发现刚开始几秒的口型效果很好,视频越往后,效果越差

@weizmann
Copy link
Author

weizmann commented Apr 19, 2023

怀疑是不是视频往后和第一帧ref的差异变大了,效果变差?
image

@Zz-ww
Copy link
Owner

Zz-ww commented Apr 19, 2023

怀疑是不是视频往后和第一帧ref的差异变大了,效果变差? image
谢谢提出问题,已更新代码。

@weizmann
Copy link
Author

weizmann commented Apr 19, 2023

更新了代码,但是效果仍不佳,求帮忙看下?

感觉result-2的嘴型更大了,但是和音频还是对不上,倒是和raw.mp4很接近

原视频(视频带音频,声音用的是ffmpeg -i raw.mp4 raw.wav得到)

raw.mp4

更新代码前效果 (result-1.mp4)

result-1.mp4

更新代码后效果 (result-2.mp4)

result-2.mp4

剪映做的对比效果(compare.mp4)
https://drive.google.com/file/d/1JpC_2za5b0DYHuaxL2d275xsigYLHZCJ/view?usp=sharing

@weizmann
Copy link
Author

想问下这个后续会有更新么?

@Zz-ww
Copy link
Owner

Zz-ww commented Apr 23, 2023

想问下这个后续会有更新么?

原因我已经查到了,项目代码bug,视频是根据第一帧的嘴型进行合成,所以后续帧嘴巴张的大,合成的也会很大。我改了一版但是会面部抖动和对齐的问题,还没解决,所以就没更新。

temp_issue3.issue3.mp4

@weizmann
Copy link
Author

weizmann commented Apr 23, 2023

嗯,我也发现用第一帧作为参考,会导致效果不稳定。

不稳定是指:发现如果视频第一帧是闭嘴,效果会好一些,如果视频人脸第一帧是张嘴,效果会比较差。
也就是说,哪怕是同一段视频,不同的剪辑方法也会导致嘴型效果不同。

不知道能否引入类似video-retalking的stablized的方法来做好归一化?

这个对于图片人(sadtalker)来说没问题,但是对于视频驱动来说,可能效果不太好。
作为对照组的wav2lip这种方案,应该没有这种问题

@bobo-wmdigit
Copy link

感觉wav2lip本身产生的唇形就不稳定,插帧+修复感觉无法解决长视频问题

@weizmann
Copy link
Author

感觉wav2lip本身产生的唇形就不稳定,插帧+修复感觉无法解决长视频问题

不好意思,没太懂你的这个回复和本issue的关联性?是否能详细说下

wav2lip是久经考验的lip sync SOTA战士

想问下您说的长视频问题是什么?为什么插帧+修复无法解决?

@bobo-wmdigit
Copy link

最近一直在看这个项目,看到议题,有感而发
1、一个是运行效率,感觉速度有点太慢了,冗余计算比较多
2、wav2lip的下半张脸是糊的,几乎必须靠面部修复来拉
3、插帧会减少唇形的同步效率
总之没想到一个比较好的方案来高效的解决

@Zz-ww
Copy link
Owner

Zz-ww commented Apr 25, 2023

这个项目的问题我后续改过一版,但是会产生新的问题,我因为工作的原因,还没办法抽时间去解决。如果你们有好的方法,可以集成进去。

@weizmann
Copy link
Author

weizmann commented Apr 25, 2023

这个项目的问题我后续改过一版,但是会产生新的问题,我因为工作的原因,还没办法抽时间去解决。如果你们有好的方法,可以集成进去。

好的,感谢您对这个issue的持续关注

或许您可以把优化的思路po下,或者代码branch出来下?

@Zz-ww
Copy link
Owner

Zz-ww commented Apr 25, 2023

这个项目的问题我后续改过一版,但是会产生新的问题,我因为工作的原因,还没办法抽时间去解决。如果你们有好的方法,可以集成进去。

好的,感谢您对这个issue的持续关注

或许您可以把优化的思路po下,或者代码branch出来下?

提交了一个分支beta

@weizmann
Copy link
Author

weizmann commented May 10, 2023

想问下这个后续会有更新么?

原因我已经查到了,项目代码bug,视频是根据第一帧的嘴型进行合成,所以后续帧嘴巴张的大,合成的也会很大。我改了一版但是会面部抖动和对齐的问题,还没解决,所以就没更新。

temp_issue3.issue3.mp4

我有一种猜想(针对beta branch的视觉抖动问题,不是口型问题),在这里提出来可以讨论下:

猜想是:在ExpNet中,如果将beta0从第一帧的固定值,更改为每一帧的表情系数,有可能会天然引入面部细节的抖动。

可以观察到的事实/实验是:

  1. 早先master branch的结果并不抖动(因为送给ExpNet的beta0是固定的),但是beta branch的结果在抖动

  2. 如果将第一帧图片做成一个静态视频,用音频来驱动,使用beta分支来跑结果,则可以发现每一帧脸部都会有细小的动作

如果在ExpNet中输入的beta0是随每一帧变化的话,细小动作会不连贯的持续变化(类似于布朗运动),也就是会产生视觉上的抖动

另外,我还做了对landmark的均值平滑实验,但是还是会出现抖动。这个实验应该可以排除landmark引入抖动的可能性

可能需要额外的网络训练来适配这个问题

@weizmann
Copy link
Author

想问下这个后续会有更新么?

原因我已经查到了,项目代码bug,视频是根据第一帧的嘴型进行合成,所以后续帧嘴巴张的大,合成的也会很大。我改了一版但是会面部抖动和对齐的问题,还没解决,所以就没更新。
temp_issue3.issue3.mp4

我有一种猜想(针对beta branch的视觉抖动问题,不是口型问题),在这里提出来可以讨论下:

猜想是:在ExpNet中,如果将beta0从第一帧的固定值,更改为每一帧的表情系数,有可能会天然引入面部细节的抖动。

可以观察到的事实/实验是:

  1. 早先master branch的结果并不抖动(因为送给ExpNet的beta0是固定的),但是beta branch的结果在抖动
  2. 如果将第一帧图片做成一个静态视频,用音频来驱动,使用beta分支来跑结果,则可以发现每一帧脸部都会有细小的动作

如果在ExpNet中输入的beta0是随每一帧变化的话,细小动作会不连贯的持续变化(类似于布朗运动),也就是会产生视觉上的抖动

另外,我还做了对landmark的均值平滑实验,但是还是会出现抖动。这个实验应该可以排除landmark引入抖动的可能性

可能需要额外的网络训练来适配这个问题

抖动问题的优化,可以参见这个pr

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants