korrawe / halo

74 stars 4 forks source link

About the MANO model taking no_root_rot parameter as input #1

Closed sergiuoprea closed 2 years ago

sergiuoprea commented 2 years ago

https://github.com/korrawe/halo/blob/dcc6949edca80d21bf538c2c9221bce3b67dad7a/halo_base/scripts/prepare_data_from_mano_interhand_keypoints.py#L510

Hi there!

First of all, congrats for this 3DV paper! It looks outstanding.

Did you use the MANO model implementation without any changes? I can't find the no_root_rot parameter in the original code.

Moreover, it would be great to know why did you use Hasson's MANO implementation and not the one from the repo related to the MANO paper? I am asking this because InterHands dataset used the latter, and it seems you adapted the code to use Hasson's implementation.

Appreciate your time and effort!

korrawe commented 2 years ago

Hi, Thank you for your kind words!

For the MANO model implementation, I just noticed that I modified the original code to return more values which I need for the transformation matrix computation. I put the modified code online here with the recent code cleanup. Only manolayer.py is edited from Yana Hasson's version.

As for why I use this implementation instead of the SMPLx version, I just find that this version is much more lightweight and transparent on how the transformation matrices are computed than the SMPLx version. I have used both implementations for my projects, and there should be no difference between the two if we only consider the inputs and outputs. So you could you the MANO parameters from one implementation and use them in the other interchangeably.

Best!

sergiuoprea commented 2 years ago

Thanks for updating the code. Looks great!

I have been checking both SMPLx and Yana Hasson's implementations and there are some superficial differences, yet with no major performance implications. However, I agree the latter is more lightweight, readable and pythonic.

All the best!