Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation is different with the paper? #26

Closed
niujinshuchong opened this issue Nov 27, 2018 · 8 comments
Closed

Implementation is different with the paper? #26

niujinshuchong opened this issue Nov 27, 2018 · 8 comments

Comments

@niujinshuchong
Copy link

Hi, thank you for sharing you work.
I read the TPAMI paper, but i didn't found the two stream architecture in this repositories. The paper propose Pose Adaptive Convolution and Projected Normalized Coordinate Code which are not contained in this repositories either.
Well, from the main.py, it just crops face region in image and feeds to mobilenet. I wonder why using simple regression strategy can produce promising results as you provided? Is data augmentation matters?

@cleardusk
Copy link
Owner

Well, good question, you are the first one to propose it.

To be honest, the experiments in this project's conclusion is not completely consistent with the original paper.

  1. I use the 3x4 matrix (11 degrees if more precise) form to substitute the original R (rotation, 3 degrees) and t_2d (2 degrees) in the original paper.
  2. In this repo, VDC finetuned from WPDC loss is better than WPDC loss, while there is no such experiment in the original paper. The original paper's conclusion is that WPDC is better than VDC.
  3. PAC and PNCC are all implemented, but the two-stream cascade structure does not bring any performance improvement under my circumstance.
  4. The augmentation part has no big difference with the original paper. But it matters.

Why simple regression strategy can produce promising results? The method still needs improvement.

@niujinshuchong
Copy link
Author

@cleardusk Thank you for your quick reply. I am very interesting in PAC and PNCC since it may work in human pose estimation.
From the params.py, you load some .npy file. How do you generate those file?
From main.py, you said the network's output control shape, pose and expression of the face. I wonder how they can control the expression, because as I know, there is no such label in the training set.

@cleardusk
Copy link
Owner

I use BFM face model, the network's output is pose, shape, expression parameter. 3DDFA is parameter regression.
I will update the code of PAC and PNCC, but it may require a little time to release as I am busy these days.
*.npy are generated from BFM (original form is *.mat)

@developer-mayuan
Copy link

developer-mayuan commented Nov 28, 2018

Well, good question, you are the first one to propose it.

To be honest, the experiments in this project's conclusion is not completely consistent with the original paper.

  1. I use the 3x4 matrix (11 degrees if more precise) form to substitute the original R (rotation, 3 degrees) and t_2d (2 degrees) in the original paper.
  2. In this repo, VDC finetuned from WPDC loss is better than WPDC loss, while there is no such experiment in the original paper. The original paper's conclusion is that WPDC is better than VDC.
  3. PAC and PNCC are all implemented, but the two-stream cascade structure does not bring any performance improvement under my circumstance.
  4. The augmentation part has no big difference with the original paper. But it matters.

Why simple regression strategy can produce promising results? The method still needs improvement.

I also wonder why regression strategy works but your result proved it, nice work. What I care about is that since your current implementation only need parameters as the ground truth, does this mean I can prepare the training data by just taking down the first 40 attributes of the shape info and the first 10 attributes of the expression info with 12 elements of the projection matrix from 300W_LP dataset?

@cleardusk
Copy link
Owner

Yes, but if you do some pre-process to the original image, the corresponding param should be modified, such as scale, offset.

@KeyKy
Copy link

KeyKy commented Feb 18, 2019

@cleardusk How do you generate param_all_norm.pkl? Do you release the code for generating param_all_norm.pkl?

@cleardusk
Copy link
Owner

Sorry for that, the training details will be updated in the next two months.

@KeyKy
Copy link

KeyKy commented Apr 17, 2019

@cleardusk How do you generate param_all_norm.pkl? Do you open source the code to create the param_all_norm.pkl

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants