lyx0208 / 3dSwap

Code and project page for "3D-aware Face Swapping" in CVPR 2023
70 stars 3 forks source link

推理时为什么不能直接预测,而要训练一下才能预测呢? #9

Open wjy3326 opened 9 months ago

wjy3326 commented 9 months ago

非常感谢您分享您的代码,我现在有一些疑问希望请教一下。

  1. 看到您的代码,想问下推理的时候执行run_3dSwap.py的时候,为什么不能直接预测呢,而是要先给定src 图片跟dst图片,然后训练一下才能预测呢?我之前看deepfacelab的代码,推理或者合成的时候,只需要给出dst的视频帧序列或者图片序列,就可以根据模型合成换脸视频。请问您的代码可以只给定dst的视频帧图片,就可以合成换脸的视频吗?
  2. 因为run_3dSwap.py换一张图片就需要几分钟的时间,那针对需要大量换脸的比较长的视频中的图片,有没有比较好的方法可以缩短合成时间呢?
  3. 我用您github上分享的预训练模型用 CelebA-HD 数据集中的两张照片进行合成,默认使用您给定的参数,发现合成的时候下牙跟舌头合成的不清晰,脸的两侧微笑那里也比较假,dst是不露齿的,但是合成的图片是露齿的,而且眼睛的颜色是dst图片的颜色,请问这是什么原因呢?(合成效果图如下)
  4. 您的代码中可以加一些专门针对眼睛,嘴或者眉毛的优化方法吗?请问在哪里修改代码比较好呢?
  5. 我现在有自己的数据集,src数据集表情,角度比较丰富,dst数据集也是一个视频切的图片。请问用这个数据集训练的话,是不是比CelebA-HD或者ffhq数据集更好的构建某个人的三维模型呢,那我用自己的数据集训练的话,run_3dSwap.py那里out_name是dst中的一张照片,那in_name怎么写呢,是随便选src中的一张照片就可以吗? 谢谢! 0_1 0_2
lyx0208 commented 8 months ago

您好~ 很抱歉由于之前春节期间没有check这边的issue,回复的比较慢。 关于您提出的几点问题: 1)请参考论文中Method部分的最后一个section。简单来说,由于3D生成模型的inversion难度更大,因此需要对latent code进行finetune。注:此次训练的不是用于face swapping的模块 2)如果一段视频中换脸与被换脸的人保持一致,可以尝试根据其中某几帧来finetune对应的latent code,可以较大程度上降低所需时间 3)主要因为我们训练时未对对于部分做过于细致的约束,因此会导致生成时有一定偏差 4)可以在训练代码损失函数处加上对于约束 5)可以尝试用多视角的图片进行finetune latent code

qym77 commented 3 months ago

非常感谢您分享您的代码,我现在有一些疑问希望请教一下。

  1. 看到您的代码,想问下推理的时候执行run_3dSwap.py的时候,为什么不能直接预测呢,而是要先给定src 图片跟dst图片,然后训练一下才能预测呢?我之前看deepfacelab的代码,推理或者合成的时候,只需要给出dst的视频帧序列或者图片序列,就可以根据模型合成换脸视频。请问您的代码可以只给定dst的视频帧图片,就可以合成换脸的视频吗?
  2. 因为run_3dSwap.py换一张图片就需要几分钟的时间,那针对需要大量换脸的比较长的视频中的图片,有没有比较好的方法可以缩短合成时间呢?
  3. 我用您github上分享的预训练模型用 CelebA-HD 数据集中的两张照片进行合成,默认使用您给定的参数,发现合成的时候下牙跟舌头合成的不清晰,脸的两侧微笑那里也比较假,dst是不露齿的,但是合成的图片是露齿的,而且眼睛的颜色是dst图片的颜色,请问这是什么原因呢?(合成效果图如下)
  4. 您的代码中可以加一些专门针对眼睛,嘴或者眉毛的优化方法吗?请问在哪里修改代码比较好呢?
  5. 我现在有自己的数据集,src数据集表情,角度比较丰富,dst数据集也是一个视频切的图片。请问用这个数据集训练的话,是不是比CelebA-HD或者ffhq数据集更好的构建某个人的三维模型呢,那我用自己的数据集训练的话,run_3dSwap.py那里out_name是dst中的一张照片,那in_name怎么写呢,是随便选src中的一张照片就可以吗? 谢谢! 0_1 0_2

您好,我在run_3dSwap.py的时候缺少数据,No such file or directory: ‘/new/3dSwap/datasets/CelebA-HD/final_crops/gsy_src_2.jpg’,请问是因为您提到的第一点问题吗,请问是我加一张数据来解决这个问题吗