una-dinosauria/3d-pose-baseline

Hip Centering in data preprocessing

YuktiADY opened this issue · 4 comments

Hallo,

I have been using this repo for estimating 3d skeleton. Below is my question that i would appreciate if you can answer.

  1. In the code this is this line which is doing hip centering.
    poses = poses - np.tile( poses[:,:3], [1, len(H36M_NAMES)] )
    poses_set[k] = poses
    Is this necessary to do hip centering on 3d skeleton for estimating 3d pose? Is the hip centering only on 3d skeleton not on 2d ?

Because i have been training this model on my custom dataset but my validation loss is not decreasing even after the so much hypermparamter tuning.

Please give your valuable suggestion.

Hello,
I am currently trying to train on the Human3.6m dataset, but my training loss is not decreasing at all and the errors for each joint is always the same at each epoch. So something tells me the model is not updating any weights since everything is the same at each epoch. Could you please tell me if you managed to successfully train on the Human3.6m dataset? And if so how did you do it?

Hello,
Hope you are doing good.

I didnt train on Human3.6m dataset, rather i trained on my custom dataset. It was running fine.
Have you evaluated your trained model. If yes which script you ran ? Can you share the script ?
Because i have trained model and i want to evaluate on different dataset .

Hi and thanks for your reply. It turns out in the end that I had to import tensorflow differently in order to use the older version of it.
I managed to run the model on the Human3.6m in the end and got good results. I will now run it on a custom dataset but I still need some time to get that to work

Recently I use this model to estimate hip joint. I think this centering is only on 3d skeleton because this centering function only passes 3d poses.
There is a note in "linear_model.LinearModel" class:
"There are in total 17 joints in H3.6M and 16 in MPII (and therefore in stacked hourglass detections). We settled with 16 joints in 2d just to make models compatible (e.g. you can train on ground truth 2d and test on SH detections). This does not seem to have an effect on prediction performance."
"In 3d all the predictions are zero-centered around the root (hip) joint, so we actually predict only 16 joints. The error is still computed over 17 joints, because if one uses, e.g. Procrustes alignment, there is still error in the hip to account for!"
In my opinion, from this note, it can be seen that centering is necessary in this model.