KeyError for 18 joints in GENEA 2022 evaluation
YoungSeng opened this issue · comments
Hello! Thanks for the great work!
In GENEA 2022 forked “genea-workshop / genea_numerical_evaluations”, For your bvh2npy.py, it seems that for 18 joints it will report an error KeyError, as the bvh in .zip file:
When I experimented myself bvh2npy.npy is written like this, what do you think about this?
target_joints = ['b_spine0', 'b_spine1', 'b_spine2', 'b_spine3', 'b_l_shoulder', 'b_l_arm', 'b_l_arm_twist',
'b_l_forearm', 'b_l_wrist_twist', 'b_l_wrist', 'b_r_shoulder', 'b_r_arm', 'b_r_arm_twist',
'b_r_forearm', 'b_r_wrist_twist', 'b_r_wrist', 'b_neck0', 'b_head']
data_pipe = Pipeline([
('dwnsampl', DownSampler(tgt_fps=30, keep_all=False)),
('root', RootNormalizer()),
('jtsel', JointSelector(target_joints, include_root=False)),
('np', Numpyfier())
])
You have to add the following joints to the 'target_joints': ['p_r_scap', 'p_l_scap', 'body_world', 'b_root']
As for the other joint set: https://github.com/genea-workshop/genea_numerical_evaluations/blob/2022/bvh2npy.py#L30
After I tried to add these joints, the error is KeyError: None, How does this work out?
I can generate npy without using ('exp', MocapParameterizer('position')).
Hmm... that is very unexpected to me, since the code works just fine for me.
Here is the commit where I update the range of joints: genea-workshop@431c3a5
Can you convert the bvh file in val_2022_v1_000.zip to an npy file?
Is the pymo you are using is that in https://github.com/genea-workshop/Speech_driven_gesture_generation_with_autoencoder/tree/GENEA_2022? If not, can you share it?
@YoungSeng Could you try this PyMo (https://github.com/youngwoo-yoon/Co-Speech_Gesture_Generation/tree/master/scripts/pymo)? The previous PyMo wasn't compatible to the joint names in GENEA 2022 dataset, so we updated a bit. You might want to see this commit: youngwoo-yoon/Co-Speech_Gesture_Generation@f67dc6c#diff-fdecc1a80d49c1eeee7d9a3f24e241487fb7c5290d118682914a597a25f7523d
Thank you very much! I got it! @Svito-zar @youngwoo-yoon
I only updated the code for JointSelector in pymo, but not MocapParameterizer. Sorry, I was too careless.
Thank you, @youngwoo-yoon for resolving this confusion