CalciferZh / SMPL

NumPy, TensorFlow and PyTorch implementation of human body SMPL model and infant body SMIL model.
MIT License
881 stars 138 forks source link

Some question about wrist rotation matrix #72

Closed zzzbbs closed 1 year ago

zzzbbs commented 1 year ago

Thank you for sharing such a valuable project. I want to extract the actual human hand rotation matrix. I knew that smpl is relative rotation, so I directly use the global rotation matrix by utilizing smpl_layer.py. to extract th_results_global. After that, I found the rotation matrix I got will change rapidly according to the states of human. While human hands up, the z axis of wrist rotation matrix is not parallel to the vector from elbow to wrist. While human began to walk and hands down, the z axis of wrist rotation matrix is now parallel to the vector from elbow to wrist. Is this phenomenon normal?

Human hands up:

https://user-images.githubusercontent.com/81844650/220058612-ab05d2de-1859-425e-a8e9-cc745ba878b6.mp4

Human walking:

https://user-images.githubusercontent.com/81844650/220058656-6d73f7cc-d1d6-4a00-8410-2ad23ddb81bc.mp4

CalciferZh commented 1 year ago

Hi, this is an interesting issue. Did you compute joint positions by multiplying the joint regressor with the posed mesh?

zzzbbs commented 1 year ago

Hi, this is an interesting issue. Did you compute joint positions by multiplying the joint regressor with the posed mesh?

Thanks for your answering, I made some mistakes while I drew rotation matrix yesterday. The following is a correct rotation matrix image. image