Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reproducing reported results with TotalCapture Data #34

Open
colincqian opened this issue Aug 25, 2023 · 7 comments
Open

Reproducing reported results with TotalCapture Data #34

colincqian opened this issue Aug 25, 2023 · 7 comments

Comments

@colincqian
Copy link

colincqian commented Aug 25, 2023

Hello Xinyu,

As I show in the attached image (reported results in brackets), I am trying to reproduce the reported results from the paper with the provided pre-trained model.

The test on DIP data matches the reported results well, however, the testing results on TotalCapture Data are far away from the reported ones. The dataset I am using follows your comment and README, where I get TotalCapture with IMU from the DIP website [ORIGINAL TotalCapture DATA W/ CORRESPONDING REFERENCE SMPL Poses], and the gt data from Total Capture Website.

I am not sure why the Testing on TotalCapture Data has such a large gap. Could u help me figure it out?

Screenshot from 2023-08-25 16-13-31

@Xinyu-Yi Xinyu-Yi pinned this issue Aug 26, 2023
@Xinyu-Yi
Copy link
Owner

Xinyu-Yi commented Aug 26, 2023

You can download the processed TotalCapture data here for evaluation: https://cloud.tsinghua.edu.cn/f/847a75f10ed244adb16d/?dl=1

This data seem different from [ORIGINAL TotalCapture DATA W/ CORRESPONDING REFERENCE SMPL Poses], but it can reproduce the paper's results.

@colincqian

This comment was marked as outdated.

@colincqian
Copy link
Author

Hello Xinyu, I found a small mismatch with the preprocess.py code for AMASS data. The ji_mask = torch.tensor([18, 19, 4, 5, 15, 0]) means that it uses "lelbow ,relbow" to synthesize IMU measurement. However, the real-world IMU placement is on "lwrist, rwrist". Is that a typo in the code or do you do that for some other reasons?

@Xinyu-Yi
Copy link
Owner

Thank you. That dataset works! I have already get permission from DIP and ToTalCapture data. Could you provide me with the source dataset? That will be very helpful. Here is my e-mail address chqian@student.ethz.ch.

This dataset is generated from the original TotalCapture dataset and the smpl pose that DIP sent me some years ago. I am sorry that it is difficult to find the original dataset. You can directly extract the smpl pose from the dataset. All other data can be generated from official TotalCapture dataset.

@Xinyu-Yi
Copy link
Owner

Hello Xinyu, I found a small mismatch with the preprocess.py code for AMASS data. The ji_mask = torch.tensor([18, 19, 4, 5, 15, 0]) means that it uses "lelbow ,relbow" to synthesize IMU measurement. However, the real-world IMU placement is on "lwrist, rwrist". Is that a typo in the code or do you do that for some other reasons?

This is because we need the global rotation of the elbow. but not the wrist. Actually we place the IMU on the forearm near the wrist. It still measures the orientation of the elbow.

@colincqian
Copy link
Author

Thank you so much for answering. One last question about finetuning (Finetuning, problem reproducing results for TotalCapture Xinyu-Yi/TransPose#42) I have a similar problem as it is mentioned in this issue, where metrics on DIP-IMU are good, but metrics on Total Capture is around 25(SIP)/7.5(Joint Position). I am wondering what is your setup for the fine-tuning process. ( e.g. learning rate/ epochs/loss function/)

@Xinyu-Yi
Copy link
Owner

I remember that I just finetuned the network with DIP-IMU dataset for several epochs using a 10-times lower lr. If you do not stop the finetuning and let the finetuning converge, maybe the network will overfit to DIP-IMU, leading to a low error on DIP-IMU but high error on TotalCapture

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants