in empose/helpers/configuration.py [0:0]
def __init__(self):
# Environment setup.
self.DEVICE = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
self.DTYPE = torch.float32
self.DATA_DIR = os.environ['EM_DATA_SYNTH']
self.EXPERIMENT_DIR = os.environ['EM_EXPERIMENTS']
self.SMPL_MODELS_DIR = os.environ['SMPL_MODELS']
self.DATA_DIR_TEST = os.environ['EM_DATA_REAL']
self.FPS = 60.0
# Virtual tracker vertex IDs.
self.VERTEX_IDS = [3027, 3748,
5430, 5178, 5006, 4447, 4559,
1961, 1391, 1535, 959, 1072]
# Virtual tracker names and configuration.
self.T_ROOT = 'root_0'
self.T_HEAD = 'head_1'
self.T_BACK = 'back_8'
self.T_RLA = 'r_wrist_3'
self.T_RUA = 'r_arm_5'
self.T_RSH = 'r_shoulder_7'
self.T_RUL = 'r_leg_9'
self.T_RLL = 'r_low_leg_11'
self.T_LLA = 'l_wrist_2'
self.T_LUA = 'l_arm_4'
self.T_LSH = 'l_shoulder_6'
self.T_LUL = 'l_leg_10'
self.T_LLL = 'l_low_leg_12'
self.T_ORDER = [self.T_ROOT, self.T_BACK, self.T_HEAD,
self.T_RLA, self.T_RUA, self.T_RSH, self.T_RUL, self.T_RLL,
self.T_LLA, self.T_LUA, self.T_LSH, self.T_LUL, self.T_LLL]
self.T_TO_IDX = {k: i for i, k in enumerate(self.T_ORDER)}
self.T_TO_IDX_WO_ROOT = {k: i - 1 for i, k in enumerate(self.T_ORDER)}
self.N_TRACKERS_WO_ROOT = len(self.T_ORDER) - 1 # The root is not a tracker
self.T_SKELETON_W_ROOT = [[self.T_TO_IDX[self.T_ROOT], self.T_TO_IDX[self.T_BACK]],
[self.T_TO_IDX[self.T_ROOT], self.T_TO_IDX[self.T_RUL]],
[self.T_TO_IDX[self.T_ROOT], self.T_TO_IDX[self.T_LUL]],
[self.T_TO_IDX[self.T_BACK], self.T_TO_IDX[self.T_HEAD]],
[self.T_TO_IDX[self.T_BACK], self.T_TO_IDX[self.T_RSH]],
[self.T_TO_IDX[self.T_BACK], self.T_TO_IDX[self.T_LSH]],
[self.T_TO_IDX[self.T_RSH], self.T_TO_IDX[self.T_RUA]],
[self.T_TO_IDX[self.T_RUA], self.T_TO_IDX[self.T_RLA]],
[self.T_TO_IDX[self.T_LSH], self.T_TO_IDX[self.T_LUA]],
[self.T_TO_IDX[self.T_LUA], self.T_TO_IDX[self.T_LLA]],
[self.T_TO_IDX[self.T_RUL], self.T_TO_IDX[self.T_RLL]],
[self.T_TO_IDX[self.T_LUL], self.T_TO_IDX[self.T_LLL]]]
# Real tracker (sensor) names and configuration.
self.S_HEAD = 'ID113.Set7.Num1'
self.S_BACK = 'ID120.Set7.Num8'
self.S_RLA = 'ID115.Set7.Num3'
self.S_RUA = 'ID117.Set7.Num5'
self.S_RSH = 'ID119.Set7.Num7'
self.S_RUL = 'ID121.Set7.Num9'
self.S_RLL = 'ID123.Set7.Num11'
self.S_LLA = 'ID114.Set7.Num2'
self.S_LUA = 'ID116.Set7.Num4'
self.S_LSH = 'ID118.Set7.Num6'
self.S_LUL = 'ID122.Set7.Num10'
self.S_LLL = 'ID124.Set7.Num12'
# This is the sensor order how the neural network expects it.
self.S_ORDER = [self.S_BACK, self.S_HEAD,
self.S_RLA, self.S_RUA, self.S_RSH, self.S_RUL, self.S_RLL,
self.S_LLA, self.S_LUA, self.S_LSH, self.S_LUL, self.S_LLL]
self.S_CONFIG_6 = [0, 1, 2, 6, 7, 11]
self.S_TO_IDX_WO_ROOT = {k: i for i, k in enumerate(self.S_ORDER)}
self.S_SKELETON_WO_ROOT = [[self.S_TO_IDX_WO_ROOT[self.S_BACK], self.S_TO_IDX_WO_ROOT[self.S_HEAD]],
[self.S_TO_IDX_WO_ROOT[self.S_BACK], self.S_TO_IDX_WO_ROOT[self.S_RSH]],
[self.S_TO_IDX_WO_ROOT[self.S_BACK], self.S_TO_IDX_WO_ROOT[self.S_LSH]],
[self.S_TO_IDX_WO_ROOT[self.S_BACK], self.S_TO_IDX_WO_ROOT[self.S_LUL]],
[self.S_TO_IDX_WO_ROOT[self.S_BACK], self.S_TO_IDX_WO_ROOT[self.S_RUL]],
[self.S_TO_IDX_WO_ROOT[self.S_RSH], self.S_TO_IDX_WO_ROOT[self.S_RUA]],
[self.S_TO_IDX_WO_ROOT[self.S_RUA], self.S_TO_IDX_WO_ROOT[self.S_RLA]],
[self.S_TO_IDX_WO_ROOT[self.S_LSH], self.S_TO_IDX_WO_ROOT[self.S_LUA]],
[self.S_TO_IDX_WO_ROOT[self.S_LUA], self.S_TO_IDX_WO_ROOT[self.S_LLA]],
[self.S_TO_IDX_WO_ROOT[self.S_RUL], self.S_TO_IDX_WO_ROOT[self.S_RLL]],
[self.S_TO_IDX_WO_ROOT[self.S_LUL], self.S_TO_IDX_WO_ROOT[self.S_LLL]]]
# SMPL constants
self.N_JOINTS = 21 # not counting root
self.MAX_INDEX_ROOT_AND_BODY = 66 # including root and assuming angle-axis
self.N_JOINTS_HAND = 15
self.N_SHAPE_PARAMS = 10
# VISUALIZATION
self.COLOR_PRED = (184 / 255, 130 / 255, 0 / 255, 1.0)
self.COLOR_GT = (15 / 255, 127 / 255, 174 / 255, 1.0)
self.COLOR_PRED_12 = (3 / 255, 180 / 255, 138 / 255, 1.0)
self.COLOR_BIRNN = (116 / 255, 109 / 255, 144 / 255, 1.0)
self.SMPL_JOINTS = ['root', 'l_hip', 'r_hip', 'spine1', 'l_knee', 'r_knee', 'spine2', 'l_ankle', 'r_ankle',
'spine3', 'l_foot', 'r_foot', 'neck', 'l_collar', 'r_collar', 'head', 'l_shoulder',
'r_shoulder', 'l_elbow', 'r_elbow', 'l_wrist', 'r_wrist']
self.SMPL_PARENTS = [-1, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 12, 13, 14, 16, 17, 18, 19]