Spaces:
Sleeping
Sleeping
File size: 1,269 Bytes
5ac1897 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
import torch
import numpy as np
from typing import Dict
def fliplr_params(smpl_params: Dict):
global_orient = smpl_params['global_orient'].copy().reshape(-1, 3)
body_pose = smpl_params['body_pose'].copy().reshape(-1, 69)
betas = smpl_params['betas'].copy()
body_pose_permutation = [6, 7, 8, 3, 4, 5, 9, 10, 11, 15, 16, 17, 12, 13,
14 ,18, 19, 20, 24, 25, 26, 21, 22, 23, 27, 28, 29, 33,
34, 35, 30, 31, 32, 36, 37, 38, 42, 43, 44, 39, 40, 41,
45, 46, 47, 51, 52, 53, 48, 49, 50, 57, 58, 59, 54, 55,
56, 63, 64, 65, 60, 61, 62, 69, 70, 71, 66, 67, 68]
body_pose_permutation = body_pose_permutation[:body_pose.shape[1]]
body_pose_permutation = [i-3 for i in body_pose_permutation]
body_pose = body_pose[:, body_pose_permutation]
global_orient[:, 1::3] *= -1
global_orient[:, 2::3] *= -1
body_pose[:, 1::3] *= -1
body_pose[:, 2::3] *= -1
smpl_params = {'global_orient': global_orient.reshape(-1, 1, 3).astype(np.float32),
'body_pose': body_pose.reshape(-1, 23, 3).astype(np.float32),
'betas': betas.astype(np.float32)
}
return smpl_params
|