yfeng95 / PRNet

Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network (ECCV 2018)
http://openaccess.thecvf.com/content_ECCV_2018/papers/Yao_Feng_Joint_3D_Face_ECCV_2018_paper.pdf
MIT License
4.95k stars 947 forks source link

Reconstruction Precision Problem #56

Closed franciszzj closed 6 years ago

franciszzj commented 6 years ago

Hi,

Thanks for your code, and you did a great job!

When I reproduce your work, I found the model trained by me is not as precision as the model trained by you. For example, the following contrast figure. default The left is the output of your model, and the right is mine.

I find that the facial contour/texture details of the model I trained are very imprecise. Do you need other skills to train the model? Are there any other ways to improve performance other than those mentioned in the paper?

I look forward to your reply very much. Thank you.

jhgfkdj commented 6 years ago

Hi I wonder if you wrote the training code by yourself ? and you used your own dataset to fine-tune author's model?

franciszzj commented 6 years ago

@jhgfkdj I reproduce PRNet use MXNet, and use 300W-LP to train my model. I don't fine-tune the author's model because it is based on TensorFlow.

franciszzj commented 6 years ago

Hi, all. I solved this problem. Just not use the .jpg or .png label form to save label, while save position map label as npy, and read npy during training. Make sure no precision loss on label!

jhgfkdj commented 6 years ago

@Franciszzj Well I think the author did the same as you shared, see here

franciszzj commented 6 years ago

@jhgfkdj Yes, but for MXNet, we often package data into rec files to speed up data io.

chenyihang1993 commented 5 years ago

@Franciszzj Could you share the PRNet code reproduced by MXNet? I really need it!

KevinLee752 commented 5 years ago

@Franciszzj Hi! I did train the model with label saved as npy, but I still get an unprecision face model somehow like the result you posted at first time. Would you please give me some advice? By the way, I didn't do the data augmentation like the paper said, and I'm wondering if it is the problem.

franciszzj commented 5 years ago

@Franciszzj Hi! I did train the model with label saved as npy, but I still get an unprecision face model somehow like the result you posted at first time. Would you please give me some advice? By the way, I didn't do the data augmentation like the paper said, and I'm wondering if it is the problem.

@KevinLee752 YES! Make sure you use the same data aug and optimizer strategies as paper did. Hope you get better results.

vitahsu commented 4 years ago

@KevinLee752 @Franciszzj sorry to bother you guys! I'm reproducing model now and I face some problems. When training model, should we do normalization on training input data(original 2D image)? Did you guys reproduce model on tensorflow? If yes, what hyper parameter you guys set(learning rate, epoch, batch)? Now I'm facing that result have same position on all vertex, I cannot find what problem to model.

.obj like this: v 231.068704044 172.688475031 177.332809448 0.737254901961 0.411764705882 0.286274509804 v 231.090035233 172.685373009 177.320831299 0.737254901961 0.411764705882 0.286274509804 v 231.063706342 172.687900582 177.333007812 0.737254901961 0.411764705882 0.286274509804 v 231.086990656 172.688283548 177.320907593 0.737254901961 0.411764705882 0.286274509804 v 231.059493719 172.696555607 177.336380005 0.737254901961 0.411764705882 0.286274509804 v 231.085592831 172.686981464 177.320404053 0.737254901961 0.411764705882 0.286274509804 v 231.06372549 172.688666513 177.331939697 0.737254901961 0.411764705882 0.286274509804

Did anyone face this problem before? Please give me some advice ><. Thank you so much!