barisgecer / GANFit

Project Page of 'GANFIT: Generative Adversarial Network Fitting for High Fidelity 3D Face Reconstruction' [CVPR2019]
http://openaccess.thecvf.com/content_CVPR_2019/html/Gecer_GANFIT_Generative_Adversarial_Network_Fitting_for_High_Fidelity_3D_Face_CVPR_2019_paper.html
GNU General Public License v3.0
631 stars 64 forks source link

How long is the training time? #5

Closed vitahsu closed 2 years ago

vitahsu commented 4 years ago

This is a really nice work! I have a question about how much time does model train on an NVIDIA GTX 1080 TI GPU mentioned in paper? Thank you!

barisgecer commented 4 years ago

Sorry, we forgot that detail in the paper. As far as I remember, it was 1-2 weeks on dual 1080TI

vitahsu commented 4 years ago

Hi! I read paper very detail and have some questions to ask.

The first question is that may I know the detail about fitting process with adam slover? I know that the model fitting is not cnn-based but optimization-based, and i want to know how fitting process do. I'm appreciate if you could share some hints with me.

The second question is about I want to check the training data of texture GAN model. When training PGGAN, the training data is 10,000 UV maps(from raw mesh data) right? And how can I decide the input vector of texture generator? Can we just input the random vector to optimize or others?

I'm really interested in your work and want to know much more details. Thank you very much!

barisgecer commented 3 years ago

Hey @vitahsu , Thank you for your interest in our work. Below are the answers to your questions:

1- The fitting is actually quite similar to the way we train a CNN. But this time, we update latent parameters rather than the network parameters and keep the texture network and shape models fixed. You need to specify to your optimizer that which parameters you want to optimize, in our case, that is latent parameters of shape and texture models as well as camera and illumination parameters (as explained in the paper). Let me know if you have more specific question regarding this.

2.a- 10,000 UV maps are not from raw mesh, the scans are registered and textures are transfered to a common UV template, which means face parts corresponds to the same regions in the UV map for all textures. But yes, the training data consist of UV images. 2.b- You don't need to decide the input vector, it is randomly given during PGGAN training. You may also use something more meaningful but we haven't done such. 2.c- You can initialize randomly at the begining of the optimization and it should be just fine. However, if you have a look to our journal version, FastGANFit, it is often more stable to have an initializer CNN network that gives you initial estimates of the latent parameters.

Sorry for answering you so late. Hope this information is still useful. Let me know if you have any other questions. Cheers!