IDEA-Research / Motion-X

[NeurIPS 2023] Official implementation of the paper "Motion-X: A Large-scale 3D Expressive Whole-body Human Motion Dataset"
https://motion-x-dataset.github.io
Other
547 stars 15 forks source link

Discrepancy between AMASS sequence Lengths and Indices in humanml_index.csv #56

Open vadeli opened 8 months ago

vadeli commented 8 months ago

I ran into an issue with humanml.py when processing samples like CMU/80/80_63_poses.npy. It seems that the start and end indices in humanml_index.csv don't match the length of the sequence. For instance, CMU/80/80_63_poses.npy has 569 frames, but in humanml.py, there's a line: pose = pose[int(start_frame*1.5):int(end_frame*1.5)] And in humanml_index.csv, there's an entry like this: ./pose_data/CMU/80/80_63_poses.npy,516,716,000004.npy This results in an empty pose. I'm wondering why the start and end indices in the CSV file aren't consistent with the length of the AMASS sequences. Thanks

luomingshuang commented 8 months ago

Yes, I also meet this problem. I think it is an error.

sohananisetty commented 8 months ago

it might be due to the fact that the original humanml dataset (and I guess the csv) was in 20fps but this dataset is in 30fps—thats where the 1.5 factor comes in.

luomingshuang commented 8 months ago

The mocap_framerate in SMPL_HG is 60, while the mocap_frame_rate in SMPL_XG is 120.

sohananisetty commented 8 months ago

I meant I think they are using the original csv file (in the original humanml dataset) which had start and end durations according to 20fps.

LinghaoChan commented 8 months ago

I ran into an issue with humanml.py when processing samples like CMU/80/80_63_poses.npy. It seems that the start and end indices in humanml_index.csv don't match the length of the sequence. For instance, CMU/80/80_63_poses.npy has 569 frames, but in humanml.py, there's a line: pose = pose[int(start_frame*1.5):int(end_frame*1.5)] And in humanml_index.csv, there's an entry like this: ./pose_data/CMU/80/80_63_poses.npy,516,716,000004.npy This results in an empty pose. I'm wondering why the start and end indices in the CSV file aren't consistent with the length of the AMASS sequences. Thanks

@vadeli @sohananisetty @luomingshuang The issue comes from the inconsistency of SMPL-H and SMPL-X annotation in AMASS. The AMASS author team seems not to have replied to it yet. Plz refer to the issue and another issue.

luomingshuang commented 8 months ago

thanks for your reply. Another question is about the frame-level annotations in humanml. The released frame-level annotations texts/body_texts/humanml and texts/hand_texts/humanml have some issues. For example, the number of frames in motion-x/texts/body_texts/humanml/000000.json is 97 (0-96). But the number of frames in motion_data/smplx_322/humanml/000000.npy is 146 (based on frame rate=120 and ex_fps=30). So I want to know how to match these two files. Or it still should be modified due to the inconsistent frame rate? Hope your reply. Thanks.

luomingshuang commented 8 months ago

So can the generated humanml based on humanml_index.csv and amass/smpl-xg still be used normally? (even humanml_index.csv doesn't match well)