ICTMCG / CSCS

[ACM TOG, 2024] Identity-Preserving Face Swapping via Dual Surrogate Generative Models
https://bone-11.github.io/cs-cs
27 stars 5 forks source link

Did you try training this model with "glint360k_cosface_r100_fp16_0.1" ID encoder? #5

Open Mr-Nobody-dey opened 2 days ago

Mr-Nobody-dey commented 2 days ago

Than you for your opensource mode. The results are quite good, in some cases, it is somewhat distorted.

I have few questions:

  1. Did you try with "glint360k_cosface_r100_fp16_0.1" id encoder, in the insightface website, it seems the performance of this model is better than the model (ms1mv3_arcface_r100_fp16) used by you.

  2. Are you planning on providing complete training code?

  3. The training data you provided, did you make it using dataset.py, which is provided in your code?

  4. How many epoch did you train the model, is their any benefit in training more than that.

  5. Will you make your checkpoint available?

bone-11 commented 42 minutes ago

Thank for your interests.

  1. In fact, I have tried, but the training results were not as good as those of ArcFace, possibly due to hyperparameter issues.
  2. I'm not quite sure which one you're referring to. If you mean proxy pair data generation, you can refer to the file directory structure in proxy_data, where for each image y_proxy, source and target driven image are sampled randomly, and the source_proxy and target_proxy are generated by corresponding driven image and surrogate model. Addtionally, face-shape may be modified with the code in https://github.com/jankrepl/pychubby. The release of the generation code may take more time, you may try to reproduce it for now.
  3. If you need my generation code, I can provide it later.
  4. I have trained 33 epochs with batch size=8. In my experiments, training longer did not yield better results. This observation is based on empirical evidence and likely draws reference from training configurations used in methods like FaceShifter and SimSwap (I'm not sure for too long).
  5. I have already provided the trained checkpoint and the data used for training. Which specific checkpoint are you referring to here?