weigq/3d_pose_baseline_pytorch

About the result of the model

Closed this issue · 14 comments

Hi,
Thanks for your codes. I wonder why the results of "original version" are different from the paper and the pytorch version is a little better than the paper?

Thanks a lot!

weigq commented

Maybe, I think, there exists some differences between Tensorflow and PyTorch, since this reimplementation tried to be as same as the original version as possible.
It is welcomed if you found something different.

Thank you!

Hi, @weigq
I wonder how to use camera.py? It seems no usage in the project.
And if I get my own 2d pose coordinates, what I need to do is to zero center them? Do I need to use camera.py to process them? Thank you!

weigq commented

@dmortem
Nope, If you have your own 2d pose, you just need to normalize it using the mean and std in stat.pth,tar.
The camera.py is used to project the 3D gt pose to 2d gt pose for generating training data.
Thx!

@weigq
Thank you for your response. Do I need to calculate the mean and std according to my own pose? Or just use the value in stat.pth.tar?

weigq commented

@dmortem
Yes, the value provided, since it is used in training.

@weigq
If I use other datasets, do I need to calculate by myself?

And in the paper, I find "Camera coordinates" section which says "it is unrealistic to expect an algorithm to infer the 3d joint positions in an arbitrary coordinate space". So can we just regress the 3d coordinate without any processing on 2d coordinates except zero centering?

weigq commented

If I understand correctly, i) the camera coordinates mean centering the pose ii) the normalization ((x- mean) / std) is a trick to boost the performance of model.
So if you use other dataset, I think,
i) if you want to train in your dataset, you`d best calculate your own mean and std;
ii) if you just want to inference using the pretrained model, you should use the values provided.

There is something interesting, the paper said training without normalization can influence the performance and i have tried their tf version, the results without normalization is worse indeed. But i tried in this pytorch version, normalization dose not have great influence on the performance.

Thank you for your explanation. So besides zero center, do I need to center the pose if I use my own 2d coordinate? The paper says "zero center the 3d poses around the hip joint". I wonder whether I need to do both "centering pose" and "normalization" on 3d poses, and only do "normalization" on 2d poses?
Thanks!

weigq commented

Same as the original paper:
normalization for both 2D and 3D poses;
centering only for 3D pose.

Thanks for your kindness and patience!

By the way, would you provide the codes for converting the original 3d poses in h36m to the centered ones?

@dmortem would you be able to share the stat.pth.tar file please

@dmortem would you be able to share the stat.pth.tar file please

Hi, in case you still need stat.pth.tar file. It is here https://drive.google.com/drive/folders/1h4S3vmtjso_rxP6_Lfg6a1ue7pJMuGp9. Hope it helps.