liangxuy / ReGenNet

[CVPR 2024] Official implementation of the paper "ReGenNet: Towards Human Action-Reaction Synthesis"
MIT License
37 stars 1 forks source link

About chi3d_smplx_test.h5 #2

Closed JackYu6 closed 1 month ago

JackYu6 commented 2 months ago

Hi, thanks for the code and data. By reading the chi3d_smplx_test.h5 through the following code:

with h5py.File(file_path, 'r') as f:
    for key in f.keys():
        print(f'{key}: {f[key].name}, Shape: {f[key].shape}')

I find the shape of every motion is [N, 56, 6]. Perhaps N represents the frame number of every motion. Then what do the last two numbers represent respectively? Are they about pose parameters, global orientation and the root translation? If so, what's the order of them. Hope to get your help, thanks.

liangxuy commented 1 month ago

The shape of motion data for each person is [N, 56, 3], thus for two persons, the motion shape is [N, 56, 6]. The details of the [56, 3] is illustrated here.

body_pose # [22, 3]
jaw_pose # [1, 3]
leye_pose # [1, 3]
reye_pose # [1, 3]
left_hand_pose # [15, 3]
right_hand_pose # [15, 3]
root_transl # [1, 3]

From body_pose to right_hand_pose are SMPLX-format rotational poses, and the last root_transl is the global trajectory of the person.

JackYu6 commented 1 month ago

Thanks for your reply. I'm also curious to know why you directly use the SMPL-X parameters rather than the manually designed motion representation?

liangxuy commented 1 month ago
JackYu6 commented 1 month ago

Really helpful. Thanks!