TerenceCYJ / S2HAND

Model-based 3D Hand Reconstruction via Self-Supervised Learning, CVPR2021
104 stars 13 forks source link

Rotation representation #3

Open zhangy76 opened 3 years ago

zhangy76 commented 3 years ago

Hi,

Thank you for presenting this intereting work!

I notice the output of your model is in axis-angle representation. I wonder how did you convert them to Azimuth, Pitch, and Roll and impose the feasible range loss?

TerenceCYJ commented 3 years ago

Hi.

In our experiments, we directly use MANO's pose parameters as Azimuth, Pitch, and Roll.

zhangy76 commented 3 years ago

Thanks for the reply! May I ask where did you define the Azimuth, Pitch, and Roll parameters in the code?

TerenceCYJ commented 3 years ago

Please refer to examples/losses.py#L143, examples/traineval_util.py#L378 and examples/utils/freihandnet.py#L208.

zhangy76 commented 3 years ago

Thanks. Could you please also point out where you define the function to compute the rotation matrix using Azimuth, Pitch, and Roll? Since I only find a "rodrigues" function, I am confused about the rotation representation.

TerenceCYJ commented 3 years ago

Please also refer to examples/utils/hand_3d_model.py#L59.

zhangy76 commented 3 years ago

examples/utils/hand_3d_model.py#L59 tries to obtain 3D hand mesh given hand model parameters. In this part, the only function to compute rotation matrix given hand pose parameters is "rodrigues", which computes rotation matrix from axis-angle pose parameters but not Azimuth, Pitch, and Roll. I wonder if my understanding is correct?