korrawe / guided-motion-diffusion

Other
142 stars 9 forks source link

SMPL translation inaccuracy #16

Closed zq-chen22 closed 6 months ago

zq-chen22 commented 6 months ago

Hi there, I'm interested in your project and wish to use GMD to generate scenes in the Isaac Gym simulater, which requires translation, rotation and other theta/beta parameters as input. Now I'm able to get the rotation and all theta parameters correct, while there is a trans gap between the meshes I reconstruct and those you provide. (gray: .obj from GMD; colorful: .obj reconstructed from parameters; visualizer: open3d)

屏幕截图 2024-03-13 105530

I've noticed that you do something in model/rotation2xyz.py,

# the first translation root at the origin
x_translations = x_translations - x_translations[:, :, [0]]

but after following it, there is still a tiny gap :(

屏幕截图 2024-03-13 113052

Could you please provide some hints/information about the exact translation of the models?

Thanks, Lofen Chen

korrawe commented 6 months ago

Hi Lofen,

I supposed the colorful ones are meshes produced by the visualize/render_mesh.py. Can you describe how you got the grey ones? I'm unsure if I understand exactly what you'd like to do. But If you are comparing the saved .npy and meshes then they should match. Both of them are produced from render_mesh.py here. You can compare the difference inside the vis_utils here (the save_obj and save_obj).

Best, Korrawe

zq-chen22 commented 6 months ago

Thanks for reply:)

The grey ones are produced by sample##_rep##_obj which are excellent. I just hope the colorful ones which are produced by only smpl parameters can identically align with the grey ones.

The thing is, when I follow sample##_rep##_smpl_params.npy and converts the 6D rotation to rotation vector representation for smpl-h model in the simulator (sadly, an articulated body is required so I cannot directly use the meshes). But it turns out that there is still some gap especially for the translation part. I'm managing to solve the problem these days, and I would greatly appreciate any ideas you could provide.

zq-chen22 commented 6 months ago

I‘ve figured out that SMPLX model had a slight difference from SMPL even though with the same parameter. And there are some methods available for this problem. Thanks a lot.