Open mateuszwyszynski opened 6 months ago
Ok, so the error is cause by the lines 70-71 in load_data.py
.
I believe the poses sampled from the amass dataset are not represented as quaternions (one can see that the pose has shape 63 not 21 x 4). I've checked the original repo and in the original implementation the code is the same. I think we have to correct it on our own.
No idea how they obtained the original results though. A good question is how long they have been training the network? Maybe I should continue the training without the flip and wait until I get similar results.
Another thing is that I should probably use indices 3:66 to generate the pose. The position of the root is of no interest for us, but the orientation impacts the pose. This is how this problem is treated in vposer
(line 102)
This should be revised with viser
after #8 is closed
Another thing is that I should probably use indices 3:66 to generate the pose. The position of the root is of no interest for us, but the orientation impacts the pose. This is how this problem is treated in
vposer
(line 102)This should be revised with
viser
after #8 is closed
Ok, so based on my preliminary observations using viser
we should actually use indices 0:63 when dealing with samples generated from AMASS using data/sample_poses.py
and indices 3:66 when dealing with the original AMASS raw data. Have to understand better what is the role of the remaining parameters, but wanted to save a note for future reference.
Training the model using configs shared with the pretrained models:
results in the following error:
Setting the
flip
tofalse
allows to start the training, so the mistake is most likely somehow caused by this functionality. Based on the paper, the flip is an additional information for the network that we always have two quaternions representing the same rotation (i.e. q and -q)