sicxu / Deep3DFaceRecon_pytorch

Accurate 3D Face Reconstruction with Weakly-Supervised Learning: From Single Image to Image Set (CVPRW 2019). A PyTorch implementation.
MIT License
1.7k stars 314 forks source link

Rescale factor and similarity_Lm3D_all.mat #25

Open humannumber196 opened 3 years ago

humannumber196 commented 3 years ago

Hi! Thanks for sharing your code, it is a great work! But there are something confusing me, could you please give some explanation? The first one is the rescale factor for aligning images. Why it is chosen to be 102? Can I change it? Another one is the similarity_Lm3D_all.mat file. I'd like to know how did you get these 3d landmarks in this file. Thanks again!

YuDeng commented 3 years ago

The rescale factor is to ensure that faces in images have a proper scale. Our model is trained using this scale so if you change it the performance might drop.

The similarity_Lm3D_all.mat contains 68 3D landmarks of the BFM2009 mean shape. We use them to align the size of faces in different images.

humannumber196 commented 3 years ago

The rescale factor is to ensure that faces in images have a proper scale. Our model is trained using this scale so if you change it the performance might drop.

The similarity_Lm3D_all.mat contains 68 3D landmarks of the BFM2009 mean shape. We use them to align the size of faces in different images.

Thanks for your reply, Yu! I tried to extract the 68 3D landmarks from the mean shape, but the coordinates value are very large, it seems you normalized them? I used the 68 landmarks indices from https://github.com/anilbas/BFMLandmarks and tried to normalize them, but the results are still different from yours. Could you please tell me how did you normalize them or how did you get these values?

YuDeng commented 3 years ago

Yes, we rescale the BFM meanshape. For details you can check https://github.com/sicxu/Deep3DFaceRecon_pytorch/blob/master/util/load_mats.py. After the preprocessing, we extract the 68 landmarks using the indices in facemodel_info.mat. We get the keypoints indices information from https://github.com/Juyong/3DFace.

humannumber196 commented 3 years ago

Yes, we rescale the BFM meanshape. For details you can check https://github.com/sicxu/Deep3DFaceRecon_pytorch/blob/master/util/load_mats.py. After the preprocessing, we extract the 68 landmarks using the indices in facemodel_info.mat. We get the keypoints indices information from https://github.com/Juyong/3DFace.

OK. Thanks a lot, Yu!

giracle commented 2 years ago

Hi, Thanks for sharing your code, it is a great work! But I have a question about it. How do you normalize the 3D landmarks? Thank you.