Xinyu-Yi / TransPose

A real-time motion capture system that estimates poses and global translations using only 6 inertial measurement units
https://xinyu-yi.github.io/TransPose/
GNU General Public License v3.0
382 stars 75 forks source link

calibration in AMASS datasets #49

Closed iamyouno closed 1 year ago

iamyouno commented 1 year ago

I'm trying to make train.py with your given code and datasets. I made synthetic amass datasets and checked it worked well in evaluate.py.

Most of train.py was written, but there is difficulty in calibrating amass data.

In the paper, t-pose calibration was used, and to do so, ori_raw and acc_raw values of t-pose are required. How can I get data? Are they already in synthetic amass datasets?

In calibration process of the live_demo.py, I can check that smpl2imu and device2bone are created by directly collecting t-pose data. I'm trying to use a code similar to this, but I don't know how to get ori_raw and acc_raw.

Xinyu-Yi commented 1 year ago

The synthetic data do not need calibration as you define the virtual IMUs by yourself. E.g., in my preprocessing codes, the sensor-to-bone rotation is just identity.

Xinyu-Yi commented 1 year ago

Calibration is only needed when the IMU-bone extrinsics are unknown.

fandulu commented 1 year ago

Hi @Xinyu-Yi , thanks for your great work, may I ask more about the calibration here?

  1. I can understand your solution of using T-pose to obtain the sensor2bone rotation (SO(3)), but I was wondering if the imu frame has an offset in terms of SE(3) other than SO(3), then the bias of accelerations could be more significant after applying the normalization step.
  2. I suppose that the real body scale cannot be inferred from this calibration, thus, in the evaluation, the positional errors are measured with an identical mean-shape SMPL other than the real-scale SMPL.

Is my understanding correct?

Xinyu-Yi commented 1 year ago
  1. Yes, actually we assume that you put the IMU on the correct positon. Then we only consider the rotation offset. The acceleration will be different if you put the IMU on the wrong position.
  2. Yes.
fandulu commented 1 year ago

Got it. Thanks very much!