duyle2408 commited on
Commit
975e49f
·
verified ·
1 Parent(s): d13d681

upload main

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. main/SMPLer_X.py +468 -0
  2. main/_base_/datasets/300w.py +384 -0
  3. main/_base_/datasets/aflw.py +83 -0
  4. main/_base_/datasets/aic.py +140 -0
  5. main/_base_/datasets/animalpose.py +166 -0
  6. main/_base_/datasets/ap10k.py +142 -0
  7. main/_base_/datasets/atrw.py +144 -0
  8. main/_base_/datasets/campus.py +151 -0
  9. main/_base_/datasets/coco.py +181 -0
  10. main/_base_/datasets/coco_wholebody.py +1154 -0
  11. main/_base_/datasets/coco_wholebody_face.py +448 -0
  12. main/_base_/datasets/coco_wholebody_hand.py +147 -0
  13. main/_base_/datasets/cofw.py +134 -0
  14. main/_base_/datasets/crowdpose.py +147 -0
  15. main/_base_/datasets/deepfashion_full.py +74 -0
  16. main/_base_/datasets/deepfashion_lower.py +46 -0
  17. main/_base_/datasets/deepfashion_upper.py +60 -0
  18. main/_base_/datasets/fly.py +237 -0
  19. main/_base_/datasets/freihand2d.py +144 -0
  20. main/_base_/datasets/h36m.py +152 -0
  21. main/_base_/datasets/halpe.py +1157 -0
  22. main/_base_/datasets/horse10.py +201 -0
  23. main/_base_/datasets/interhand2d.py +142 -0
  24. main/_base_/datasets/interhand3d.py +487 -0
  25. main/_base_/datasets/jhmdb.py +129 -0
  26. main/_base_/datasets/locust.py +263 -0
  27. main/_base_/datasets/macaque.py +183 -0
  28. main/_base_/datasets/mhp.py +156 -0
  29. main/_base_/datasets/mpi_inf_3dhp.py +132 -0
  30. main/_base_/datasets/mpii.py +155 -0
  31. main/_base_/datasets/mpii_trb.py +380 -0
  32. main/_base_/datasets/nvgesture.py +42 -0
  33. main/_base_/datasets/ochuman.py +181 -0
  34. main/_base_/datasets/onehand10k.py +142 -0
  35. main/_base_/datasets/panoptic_body3d.py +160 -0
  36. main/_base_/datasets/panoptic_hand2d.py +143 -0
  37. main/_base_/datasets/posetrack18.py +176 -0
  38. main/_base_/datasets/rhd2d.py +151 -0
  39. main/_base_/datasets/shelf.py +151 -0
  40. main/_base_/datasets/wflw.py +582 -0
  41. main/_base_/datasets/zebra.py +64 -0
  42. main/_base_/default_runtime.py +20 -0
  43. main/_base_/filters/gaussian.py +5 -0
  44. main/_base_/filters/one_euro.py +5 -0
  45. main/_base_/filters/savizky_golay.py +5 -0
  46. main/_base_/filters/smoothnet_h36m.md +45 -0
  47. main/_base_/filters/smoothnet_t16_h36m.py +13 -0
  48. main/_base_/filters/smoothnet_t32_h36m.py +13 -0
  49. main/_base_/filters/smoothnet_t64_h36m.py +13 -0
  50. main/_base_/filters/smoothnet_t8_h36m.py +13 -0
main/SMPLer_X.py ADDED
@@ -0,0 +1,468 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import torch
2
+ import torch.nn as nn
3
+ from torch.nn import functional as F
4
+ from nets.smpler_x import PositionNet, HandRotationNet, FaceRegressor, BoxNet, HandRoI, BodyRotationNet
5
+ from nets.loss import CoordLoss, ParamLoss, CELoss
6
+ from utils.human_models import smpl_x
7
+ from utils.transforms import rot6d_to_axis_angle, restore_bbox
8
+ from config import cfg
9
+ import math
10
+ import copy
11
+ from mmpose.models import build_posenet
12
+ from mmcv import Config
13
+
14
+ class Model(nn.Module):
15
+ def __init__(self, encoder, body_position_net, body_rotation_net, box_net, hand_position_net, hand_roi_net,
16
+ hand_rotation_net, face_regressor):
17
+ super(Model, self).__init__()
18
+
19
+ # body
20
+ self.encoder = encoder
21
+ self.body_position_net = body_position_net
22
+ self.body_regressor = body_rotation_net
23
+ self.box_net = box_net
24
+
25
+ # hand
26
+ self.hand_roi_net = hand_roi_net
27
+ self.hand_position_net = hand_position_net
28
+ self.hand_regressor = hand_rotation_net
29
+
30
+ # face
31
+ self.face_regressor = face_regressor
32
+
33
+ self.smplx_layer = copy.deepcopy(smpl_x.layer['neutral']).cuda()
34
+ self.coord_loss = CoordLoss()
35
+ self.param_loss = ParamLoss()
36
+ self.ce_loss = CELoss()
37
+
38
+ self.body_num_joints = len(smpl_x.pos_joint_part['body'])
39
+ self.hand_joint_num = len(smpl_x.pos_joint_part['rhand'])
40
+
41
+ self.neck = [self.box_net, self.hand_roi_net]
42
+
43
+ self.head = [self.body_position_net, self.body_regressor,
44
+ self.hand_position_net, self.hand_regressor,
45
+ self.face_regressor]
46
+
47
+ self.trainable_modules = [self.encoder, self.body_position_net, self.body_regressor,
48
+ self.box_net, self.hand_position_net,
49
+ self.hand_roi_net, self.hand_regressor, self.face_regressor]
50
+ self.special_trainable_modules = []
51
+
52
+ # backbone:
53
+ param_bb = sum(p.numel() for p in self.encoder.parameters() if p.requires_grad)
54
+ # neck
55
+ param_neck = 0
56
+ for module in self.neck:
57
+ param_neck += sum(p.numel() for p in module.parameters() if p.requires_grad)
58
+ # head
59
+ param_head = 0
60
+ for module in self.head:
61
+ param_head += sum(p.numel() for p in module.parameters() if p.requires_grad)
62
+
63
+ param_net = param_bb + param_neck + param_head
64
+
65
+ # print('#parameters:')
66
+ # print(f'{param_bb}, {param_neck}, {param_head}, {param_net}')
67
+
68
+ def get_camera_trans(self, cam_param):
69
+ # camera translation
70
+ t_xy = cam_param[:, :2]
71
+ gamma = torch.sigmoid(cam_param[:, 2]) # apply sigmoid to make it positive
72
+ k_value = torch.FloatTensor([math.sqrt(cfg.focal[0] * cfg.focal[1] * cfg.camera_3d_size * cfg.camera_3d_size / (
73
+ cfg.input_body_shape[0] * cfg.input_body_shape[1]))]).cuda().view(-1)
74
+ t_z = k_value * gamma
75
+ cam_trans = torch.cat((t_xy, t_z[:, None]), 1)
76
+ return cam_trans
77
+
78
+ def get_coord(self, root_pose, body_pose, lhand_pose, rhand_pose, jaw_pose, shape, expr, cam_trans, mode):
79
+ batch_size = root_pose.shape[0]
80
+ zero_pose = torch.zeros((1, 3)).float().cuda().repeat(batch_size, 1) # eye poses
81
+ output = self.smplx_layer(betas=shape, body_pose=body_pose, global_orient=root_pose, right_hand_pose=rhand_pose,
82
+ left_hand_pose=lhand_pose, jaw_pose=jaw_pose, leye_pose=zero_pose,
83
+ reye_pose=zero_pose, expression=expr)
84
+ # camera-centered 3D coordinate
85
+ mesh_cam = output.vertices
86
+ if mode == 'test' and cfg.testset == 'AGORA': # use 144 joints for AGORA evaluation
87
+ joint_cam = output.joints
88
+ else:
89
+ joint_cam = output.joints[:, smpl_x.joint_idx, :]
90
+
91
+ # project 3D coordinates to 2D space
92
+ if mode == 'train' and len(cfg.trainset_3d) == 1 and cfg.trainset_3d[0] == 'AGORA' and len(
93
+ cfg.trainset_2d) == 0: # prevent gradients from backpropagating to SMPLX paraemter regression module
94
+ x = (joint_cam[:, :, 0].detach() + cam_trans[:, None, 0]) / (
95
+ joint_cam[:, :, 2].detach() + cam_trans[:, None, 2] + 1e-4) * cfg.focal[0] + cfg.princpt[0]
96
+ y = (joint_cam[:, :, 1].detach() + cam_trans[:, None, 1]) / (
97
+ joint_cam[:, :, 2].detach() + cam_trans[:, None, 2] + 1e-4) * cfg.focal[1] + cfg.princpt[1]
98
+ else:
99
+ x = (joint_cam[:, :, 0] + cam_trans[:, None, 0]) / (joint_cam[:, :, 2] + cam_trans[:, None, 2] + 1e-4) * \
100
+ cfg.focal[0] + cfg.princpt[0]
101
+ y = (joint_cam[:, :, 1] + cam_trans[:, None, 1]) / (joint_cam[:, :, 2] + cam_trans[:, None, 2] + 1e-4) * \
102
+ cfg.focal[1] + cfg.princpt[1]
103
+ x = x / cfg.input_body_shape[1] * cfg.output_hm_shape[2]
104
+ y = y / cfg.input_body_shape[0] * cfg.output_hm_shape[1]
105
+ joint_proj = torch.stack((x, y), 2)
106
+
107
+ # root-relative 3D coordinates
108
+ root_cam = joint_cam[:, smpl_x.root_joint_idx, None, :]
109
+ joint_cam = joint_cam - root_cam
110
+ mesh_cam = mesh_cam + cam_trans[:, None, :] # for rendering
111
+ joint_cam_wo_ra = joint_cam.clone()
112
+
113
+ # left hand root (left wrist)-relative 3D coordinatese
114
+ lhand_idx = smpl_x.joint_part['lhand']
115
+ lhand_cam = joint_cam[:, lhand_idx, :]
116
+ lwrist_cam = joint_cam[:, smpl_x.lwrist_idx, None, :]
117
+ lhand_cam = lhand_cam - lwrist_cam
118
+ joint_cam = torch.cat((joint_cam[:, :lhand_idx[0], :], lhand_cam, joint_cam[:, lhand_idx[-1] + 1:, :]), 1)
119
+
120
+ # right hand root (right wrist)-relative 3D coordinatese
121
+ rhand_idx = smpl_x.joint_part['rhand']
122
+ rhand_cam = joint_cam[:, rhand_idx, :]
123
+ rwrist_cam = joint_cam[:, smpl_x.rwrist_idx, None, :]
124
+ rhand_cam = rhand_cam - rwrist_cam
125
+ joint_cam = torch.cat((joint_cam[:, :rhand_idx[0], :], rhand_cam, joint_cam[:, rhand_idx[-1] + 1:, :]), 1)
126
+
127
+ # face root (neck)-relative 3D coordinates
128
+ face_idx = smpl_x.joint_part['face']
129
+ face_cam = joint_cam[:, face_idx, :]
130
+ neck_cam = joint_cam[:, smpl_x.neck_idx, None, :]
131
+ face_cam = face_cam - neck_cam
132
+ joint_cam = torch.cat((joint_cam[:, :face_idx[0], :], face_cam, joint_cam[:, face_idx[-1] + 1:, :]), 1)
133
+
134
+ return joint_proj, joint_cam, joint_cam_wo_ra, mesh_cam
135
+
136
+ def generate_mesh_gt(self, targets, mode):
137
+ if 'smplx_mesh_cam' in targets:
138
+ return targets['smplx_mesh_cam']
139
+ nums = [3, 63, 45, 45, 3]
140
+ accu = []
141
+ temp = 0
142
+ for num in nums:
143
+ temp += num
144
+ accu.append(temp)
145
+ pose = targets['smplx_pose']
146
+ root_pose, body_pose, lhand_pose, rhand_pose, jaw_pose = \
147
+ pose[:, :accu[0]], pose[:, accu[0]:accu[1]], pose[:, accu[1]:accu[2]], pose[:, accu[2]:accu[3]], pose[:,
148
+ accu[3]:
149
+ accu[4]]
150
+ # print(lhand_pose)
151
+ shape = targets['smplx_shape']
152
+ expr = targets['smplx_expr']
153
+ cam_trans = targets['smplx_cam_trans']
154
+
155
+ # final output
156
+ joint_proj, joint_cam, joint_cam_wo_ra, mesh_cam = self.get_coord(root_pose, body_pose, lhand_pose, rhand_pose, jaw_pose, shape,
157
+ expr, cam_trans, mode)
158
+
159
+ return mesh_cam
160
+
161
+ def bbox_split(self, bbox):
162
+ # bbox:[bs, 3, 3]
163
+ lhand_bbox_center, rhand_bbox_center, face_bbox_center = \
164
+ bbox[:, 0, :2], bbox[:, 1, :2], bbox[:, 2, :2]
165
+ return lhand_bbox_center, rhand_bbox_center, face_bbox_center
166
+
167
+ def forward(self, inputs, targets, meta_info, mode):
168
+
169
+ body_img = F.interpolate(inputs['img'], cfg.input_body_shape)
170
+
171
+ # 1. Encoder
172
+ img_feat, task_tokens = self.encoder(body_img) # task_token:[bs, N, c]
173
+ shape_token, cam_token, expr_token, jaw_pose_token, hand_token, body_pose_token = \
174
+ task_tokens[:, 0], task_tokens[:, 1], task_tokens[:, 2], task_tokens[:, 3], task_tokens[:, 4:6], task_tokens[:, 6:]
175
+
176
+ # 2. Body Regressor
177
+ body_joint_hm, body_joint_img = self.body_position_net(img_feat)
178
+ root_pose, body_pose, shape, cam_param, = self.body_regressor(body_pose_token, shape_token, cam_token, body_joint_img.detach())
179
+ root_pose = rot6d_to_axis_angle(root_pose)
180
+ body_pose = rot6d_to_axis_angle(body_pose.reshape(-1, 6)).reshape(body_pose.shape[0], -1) # (N, J_R*3)
181
+ cam_trans = self.get_camera_trans(cam_param)
182
+
183
+ # 3. Hand and Face BBox Estimation
184
+ lhand_bbox_center, lhand_bbox_size, rhand_bbox_center, rhand_bbox_size, face_bbox_center, face_bbox_size = self.box_net(img_feat, body_joint_hm.detach())
185
+ lhand_bbox = restore_bbox(lhand_bbox_center, lhand_bbox_size, cfg.input_hand_shape[1] / cfg.input_hand_shape[0], 2.0).detach() # xyxy in (cfg.input_body_shape[1], cfg.input_body_shape[0]) space
186
+ rhand_bbox = restore_bbox(rhand_bbox_center, rhand_bbox_size, cfg.input_hand_shape[1] / cfg.input_hand_shape[0], 2.0).detach() # xyxy in (cfg.input_body_shape[1], cfg.input_body_shape[0]) space
187
+ face_bbox = restore_bbox(face_bbox_center, face_bbox_size, cfg.input_face_shape[1] / cfg.input_face_shape[0], 1.5).detach() # xyxy in (cfg.input_body_shape[1], cfg.input_body_shape[0]) space
188
+
189
+ # 4. Differentiable Feature-level Hand Crop-Upsample
190
+ # hand_feat: list, [bsx2, c, cfg.output_hm_shape[1]*scale, cfg.output_hm_shape[2]*scale]
191
+ hand_feat = self.hand_roi_net(img_feat, lhand_bbox, rhand_bbox) # hand_feat: flipped left hand + right hand
192
+
193
+ # 5. Hand/Face Regressor
194
+ # hand regressor
195
+ _, hand_joint_img = self.hand_position_net(hand_feat) # (2N, J_P, 3)
196
+ hand_pose = self.hand_regressor(hand_feat, hand_joint_img.detach())
197
+ hand_pose = rot6d_to_axis_angle(hand_pose.reshape(-1, 6)).reshape(hand_feat.shape[0], -1) # (2N, J_R*3)
198
+ # restore flipped left hand joint coordinates
199
+ batch_size = hand_joint_img.shape[0] // 2
200
+ lhand_joint_img = hand_joint_img[:batch_size, :, :]
201
+ lhand_joint_img = torch.cat((cfg.output_hand_hm_shape[2] - 1 - lhand_joint_img[:, :, 0:1], lhand_joint_img[:, :, 1:]), 2)
202
+ rhand_joint_img = hand_joint_img[batch_size:, :, :]
203
+ # restore flipped left hand joint rotations
204
+ batch_size = hand_pose.shape[0] // 2
205
+ lhand_pose = hand_pose[:batch_size, :].reshape(-1, len(smpl_x.orig_joint_part['lhand']), 3)
206
+ lhand_pose = torch.cat((lhand_pose[:, :, 0:1], -lhand_pose[:, :, 1:3]), 2).view(batch_size, -1)
207
+ rhand_pose = hand_pose[batch_size:, :]
208
+
209
+ # hand regressor
210
+ expr, jaw_pose = self.face_regressor(expr_token, jaw_pose_token)
211
+ jaw_pose = rot6d_to_axis_angle(jaw_pose)
212
+
213
+ # final output
214
+ joint_proj, joint_cam, joint_cam_wo_ra, mesh_cam = self.get_coord(root_pose, body_pose, lhand_pose, rhand_pose, jaw_pose, shape, expr, cam_trans, mode)
215
+ pose = torch.cat((root_pose, body_pose, lhand_pose, rhand_pose, jaw_pose), 1)
216
+ joint_img = torch.cat((body_joint_img, lhand_joint_img, rhand_joint_img), 1)
217
+
218
+ if mode == 'test' and 'smplx_pose' in targets:
219
+ mesh_pseudo_gt = self.generate_mesh_gt(targets, mode)
220
+
221
+ if mode == 'train':
222
+ # loss functions
223
+ loss = {}
224
+
225
+ smplx_kps_3d_weight = getattr(cfg, 'smplx_kps_3d_weight', 1.0)
226
+ smplx_kps_3d_weight = getattr(cfg, 'smplx_kps_weight', smplx_kps_3d_weight) # old config
227
+
228
+ smplx_kps_2d_weight = getattr(cfg, 'smplx_kps_2d_weight', 1.0)
229
+ net_kps_2d_weight = getattr(cfg, 'net_kps_2d_weight', 1.0)
230
+
231
+ smplx_pose_weight = getattr(cfg, 'smplx_pose_weight', 1.0)
232
+ smplx_shape_weight = getattr(cfg, 'smplx_loss_weight', 1.0)
233
+ # smplx_orient_weight = getattr(cfg, 'smplx_orient_weight', smplx_pose_weight) # if not specified, use the same weight as pose
234
+
235
+
236
+ # do not supervise root pose if original agora json is used
237
+ if getattr(cfg, 'agora_fix_global_orient_transl', False):
238
+ # loss['smplx_pose'] = self.param_loss(pose, targets['smplx_pose'], meta_info['smplx_pose_valid'])[:, 3:] * smplx_pose_weight
239
+ if hasattr(cfg, 'smplx_orient_weight'):
240
+ smplx_orient_weight = getattr(cfg, 'smplx_orient_weight')
241
+ loss['smplx_orient'] = self.param_loss(pose, targets['smplx_pose'], meta_info['smplx_pose_valid'])[:, :3] * smplx_orient_weight
242
+
243
+ loss['smplx_pose'] = self.param_loss(pose, targets['smplx_pose'], meta_info['smplx_pose_valid']) * smplx_pose_weight
244
+
245
+ else:
246
+ loss['smplx_pose'] = self.param_loss(pose, targets['smplx_pose'], meta_info['smplx_pose_valid'])[:, 3:] * smplx_pose_weight
247
+
248
+ loss['smplx_shape'] = self.param_loss(shape, targets['smplx_shape'],
249
+ meta_info['smplx_shape_valid'][:, None]) * smplx_shape_weight
250
+ loss['smplx_expr'] = self.param_loss(expr, targets['smplx_expr'], meta_info['smplx_expr_valid'][:, None])
251
+
252
+ # supervision for keypoints3d wo/ ra
253
+ loss['joint_cam'] = self.coord_loss(joint_cam_wo_ra, targets['joint_cam'], meta_info['joint_valid'] * meta_info['is_3D'][:, None, None]) * smplx_kps_3d_weight
254
+ # supervision for keypoints3d w/ ra
255
+ loss['smplx_joint_cam'] = self.coord_loss(joint_cam, targets['smplx_joint_cam'], meta_info['smplx_joint_valid']) * smplx_kps_3d_weight
256
+
257
+ if not (meta_info['lhand_bbox_valid'] == 0).all():
258
+ loss['lhand_bbox'] = (self.coord_loss(lhand_bbox_center, targets['lhand_bbox_center'], meta_info['lhand_bbox_valid'][:, None]) +
259
+ self.coord_loss(lhand_bbox_size, targets['lhand_bbox_size'], meta_info['lhand_bbox_valid'][:, None]))
260
+ if not (meta_info['rhand_bbox_valid'] == 0).all():
261
+ loss['rhand_bbox'] = (self.coord_loss(rhand_bbox_center, targets['rhand_bbox_center'], meta_info['rhand_bbox_valid'][:, None]) +
262
+ self.coord_loss(rhand_bbox_size, targets['rhand_bbox_size'], meta_info['rhand_bbox_valid'][:, None]))
263
+ if not (meta_info['face_bbox_valid'] == 0).all():
264
+ loss['face_bbox'] = (self.coord_loss(face_bbox_center, targets['face_bbox_center'], meta_info['face_bbox_valid'][:, None]) +
265
+ self.coord_loss(face_bbox_size, targets['face_bbox_size'], meta_info['face_bbox_valid'][:, None]))
266
+
267
+ # if (meta_info['face_bbox_valid'] == 0).all():
268
+ # out = {}
269
+ targets['original_joint_img'] = targets['joint_img'].clone()
270
+ targets['original_smplx_joint_img'] = targets['smplx_joint_img'].clone()
271
+ # out['original_joint_proj'] = joint_proj.clone()
272
+ if not (meta_info['lhand_bbox_valid'] + meta_info['rhand_bbox_valid'] == 0).all():
273
+
274
+ # change hand target joint_img and joint_trunc according to hand bbox (cfg.output_hm_shape -> downsampled hand bbox space)
275
+ for part_name, bbox in (('lhand', lhand_bbox), ('rhand', rhand_bbox)):
276
+ for coord_name, trunc_name in (('joint_img', 'joint_trunc'), ('smplx_joint_img', 'smplx_joint_trunc')):
277
+ x = targets[coord_name][:, smpl_x.joint_part[part_name], 0]
278
+ y = targets[coord_name][:, smpl_x.joint_part[part_name], 1]
279
+ z = targets[coord_name][:, smpl_x.joint_part[part_name], 2]
280
+ trunc = meta_info[trunc_name][:, smpl_x.joint_part[part_name], 0]
281
+
282
+ x -= (bbox[:, None, 0] / cfg.input_body_shape[1] * cfg.output_hm_shape[2])
283
+ x *= (cfg.output_hand_hm_shape[2] / (
284
+ (bbox[:, None, 2] - bbox[:, None, 0]) / cfg.input_body_shape[1] * cfg.output_hm_shape[
285
+ 2]))
286
+ y -= (bbox[:, None, 1] / cfg.input_body_shape[0] * cfg.output_hm_shape[1])
287
+ y *= (cfg.output_hand_hm_shape[1] / (
288
+ (bbox[:, None, 3] - bbox[:, None, 1]) / cfg.input_body_shape[0] * cfg.output_hm_shape[
289
+ 1]))
290
+ z *= cfg.output_hand_hm_shape[0] / cfg.output_hm_shape[0]
291
+ trunc *= ((x >= 0) * (x < cfg.output_hand_hm_shape[2]) * (y >= 0) * (
292
+ y < cfg.output_hand_hm_shape[1]))
293
+
294
+ coord = torch.stack((x, y, z), 2)
295
+ trunc = trunc[:, :, None]
296
+ targets[coord_name] = torch.cat((targets[coord_name][:, :smpl_x.joint_part[part_name][0], :], coord,
297
+ targets[coord_name][:, smpl_x.joint_part[part_name][-1] + 1:, :]),
298
+ 1)
299
+ meta_info[trunc_name] = torch.cat((meta_info[trunc_name][:, :smpl_x.joint_part[part_name][0], :],
300
+ trunc,
301
+ meta_info[trunc_name][:, smpl_x.joint_part[part_name][-1] + 1:,
302
+ :]), 1)
303
+
304
+ # change hand projected joint coordinates according to hand bbox (cfg.output_hm_shape -> hand bbox space)
305
+ for part_name, bbox in (('lhand', lhand_bbox), ('rhand', rhand_bbox)):
306
+ x = joint_proj[:, smpl_x.joint_part[part_name], 0]
307
+ y = joint_proj[:, smpl_x.joint_part[part_name], 1]
308
+
309
+ x -= (bbox[:, None, 0] / cfg.input_body_shape[1] * cfg.output_hm_shape[2])
310
+ x *= (cfg.output_hand_hm_shape[2] / (
311
+ (bbox[:, None, 2] - bbox[:, None, 0]) / cfg.input_body_shape[1] * cfg.output_hm_shape[2]))
312
+ y -= (bbox[:, None, 1] / cfg.input_body_shape[0] * cfg.output_hm_shape[1])
313
+ y *= (cfg.output_hand_hm_shape[1] / (
314
+ (bbox[:, None, 3] - bbox[:, None, 1]) / cfg.input_body_shape[0] * cfg.output_hm_shape[1]))
315
+
316
+ coord = torch.stack((x, y), 2)
317
+ trans = []
318
+ for bid in range(coord.shape[0]):
319
+ mask = meta_info['joint_trunc'][bid, smpl_x.joint_part[part_name], 0] == 1
320
+ if torch.sum(mask) == 0:
321
+ trans.append(torch.zeros((2)).float().cuda())
322
+ else:
323
+ trans.append((-coord[bid, mask, :2] + targets['joint_img'][:, smpl_x.joint_part[part_name], :][
324
+ bid, mask, :2]).mean(0))
325
+ trans = torch.stack(trans)[:, None, :]
326
+ coord = coord + trans # global translation alignment
327
+ joint_proj = torch.cat((joint_proj[:, :smpl_x.joint_part[part_name][0], :], coord,
328
+ joint_proj[:, smpl_x.joint_part[part_name][-1] + 1:, :]), 1)
329
+
330
+ if not (meta_info['face_bbox_valid'] == 0).all():
331
+ # change face projected joint coordinates according to face bbox (cfg.output_hm_shape -> face bbox space)
332
+ coord = joint_proj[:, smpl_x.joint_part['face'], :]
333
+ trans = []
334
+ for bid in range(coord.shape[0]):
335
+ mask = meta_info['joint_trunc'][bid, smpl_x.joint_part['face'], 0] == 1
336
+ if torch.sum(mask) == 0:
337
+ trans.append(torch.zeros((2)).float().cuda())
338
+ else:
339
+ trans.append((-coord[bid, mask, :2] + targets['joint_img'][:, smpl_x.joint_part['face'], :][bid,
340
+ mask, :2]).mean(0))
341
+ trans = torch.stack(trans)[:, None, :]
342
+ coord = coord + trans # global translation alignment
343
+ joint_proj = torch.cat((joint_proj[:, :smpl_x.joint_part['face'][0], :], coord,
344
+ joint_proj[:, smpl_x.joint_part['face'][-1] + 1:, :]), 1)
345
+
346
+ loss['joint_proj'] = self.coord_loss(joint_proj, targets['joint_img'][:, :, :2], meta_info['joint_trunc']) * smplx_kps_2d_weight
347
+ loss['joint_img'] = self.coord_loss(joint_img, smpl_x.reduce_joint_set(targets['joint_img']),
348
+ smpl_x.reduce_joint_set(meta_info['joint_trunc']), meta_info['is_3D']) * net_kps_2d_weight
349
+
350
+ loss['smplx_joint_img'] = self.coord_loss(joint_img, smpl_x.reduce_joint_set(targets['smplx_joint_img']),
351
+ smpl_x.reduce_joint_set(meta_info['smplx_joint_trunc'])) * net_kps_2d_weight
352
+
353
+ return loss
354
+ else:
355
+ # change hand output joint_img according to hand bbox
356
+ for part_name, bbox in (('lhand', lhand_bbox), ('rhand', rhand_bbox)):
357
+ joint_img[:, smpl_x.pos_joint_part[part_name], 0] *= (
358
+ ((bbox[:, None, 2] - bbox[:, None, 0]) / cfg.input_body_shape[1] * cfg.output_hm_shape[2]) /
359
+ cfg.output_hand_hm_shape[2])
360
+ joint_img[:, smpl_x.pos_joint_part[part_name], 0] += (
361
+ bbox[:, None, 0] / cfg.input_body_shape[1] * cfg.output_hm_shape[2])
362
+ joint_img[:, smpl_x.pos_joint_part[part_name], 1] *= (
363
+ ((bbox[:, None, 3] - bbox[:, None, 1]) / cfg.input_body_shape[0] * cfg.output_hm_shape[1]) /
364
+ cfg.output_hand_hm_shape[1])
365
+ joint_img[:, smpl_x.pos_joint_part[part_name], 1] += (
366
+ bbox[:, None, 1] / cfg.input_body_shape[0] * cfg.output_hm_shape[1])
367
+
368
+ # change input_body_shape to input_img_shape
369
+ for bbox in (lhand_bbox, rhand_bbox, face_bbox):
370
+ bbox[:, 0] *= cfg.input_img_shape[1] / cfg.input_body_shape[1]
371
+ bbox[:, 1] *= cfg.input_img_shape[0] / cfg.input_body_shape[0]
372
+ bbox[:, 2] *= cfg.input_img_shape[1] / cfg.input_body_shape[1]
373
+ bbox[:, 3] *= cfg.input_img_shape[0] / cfg.input_body_shape[0]
374
+
375
+ # test output
376
+ out = {}
377
+ out['img'] = inputs['img']
378
+ out['joint_img'] = joint_img
379
+ out['smplx_joint_proj'] = joint_proj
380
+ out['smplx_mesh_cam'] = mesh_cam
381
+ out['smplx_root_pose'] = root_pose
382
+ out['smplx_body_pose'] = body_pose
383
+ out['smplx_lhand_pose'] = lhand_pose
384
+ out['smplx_rhand_pose'] = rhand_pose
385
+ out['smplx_jaw_pose'] = jaw_pose
386
+ out['smplx_shape'] = shape
387
+ out['smplx_expr'] = expr
388
+ out['cam_trans'] = cam_trans
389
+ out['lhand_bbox'] = lhand_bbox
390
+ out['rhand_bbox'] = rhand_bbox
391
+ out['face_bbox'] = face_bbox
392
+ if 'smplx_shape' in targets:
393
+ out['smplx_shape_target'] = targets['smplx_shape']
394
+ if 'img_path' in meta_info:
395
+ out['img_path'] = meta_info['img_path']
396
+ if 'smplx_pose' in targets:
397
+ out['smplx_mesh_cam_pseudo_gt'] = mesh_pseudo_gt
398
+ if 'smplx_mesh_cam' in targets:
399
+ out['smplx_mesh_cam_target'] = targets['smplx_mesh_cam']
400
+ if 'smpl_mesh_cam' in targets:
401
+ out['smpl_mesh_cam_target'] = targets['smpl_mesh_cam']
402
+ if 'bb2img_trans' in meta_info:
403
+ out['bb2img_trans'] = meta_info['bb2img_trans']
404
+ if 'gt_smplx_transl' in meta_info:
405
+ out['gt_smplx_transl'] = meta_info['gt_smplx_transl']
406
+
407
+ return out
408
+
409
+ def init_weights(m):
410
+ try:
411
+ if type(m) == nn.ConvTranspose2d:
412
+ nn.init.normal_(m.weight, std=0.001)
413
+ elif type(m) == nn.Conv2d:
414
+ nn.init.normal_(m.weight, std=0.001)
415
+ nn.init.constant_(m.bias, 0)
416
+ elif type(m) == nn.BatchNorm2d:
417
+ nn.init.constant_(m.weight, 1)
418
+ nn.init.constant_(m.bias, 0)
419
+ elif type(m) == nn.Linear:
420
+ nn.init.normal_(m.weight, std=0.01)
421
+ nn.init.constant_(m.bias, 0)
422
+ except AttributeError:
423
+ pass
424
+
425
+
426
+ def get_model(mode):
427
+
428
+ # body
429
+ vit_cfg = Config.fromfile(cfg.encoder_config_file)
430
+ vit = build_posenet(vit_cfg.model)
431
+ body_position_net = PositionNet('body', feat_dim=cfg.feat_dim)
432
+ body_rotation_net = BodyRotationNet(feat_dim=cfg.feat_dim)
433
+ box_net = BoxNet(feat_dim=cfg.feat_dim)
434
+
435
+ # hand
436
+ hand_position_net = PositionNet('hand', feat_dim=cfg.feat_dim)
437
+ hand_roi_net = HandRoI(feat_dim=cfg.feat_dim, upscale=cfg.upscale)
438
+ hand_rotation_net = HandRotationNet('hand', feat_dim=cfg.feat_dim)
439
+
440
+ # face
441
+ face_regressor = FaceRegressor(feat_dim=cfg.feat_dim)
442
+
443
+ if mode == 'train':
444
+ # body
445
+ if not getattr(cfg, 'random_init', False):
446
+ encoder_pretrained_model = torch.load(cfg.encoder_pretrained_model_path)['state_dict']
447
+ vit.load_state_dict(encoder_pretrained_model, strict=False)
448
+ print(f"Initialize encoder from {cfg.encoder_pretrained_model_path}")
449
+ else:
450
+ print('Random init!!!!!!!')
451
+
452
+ body_position_net.apply(init_weights)
453
+ body_rotation_net.apply(init_weights)
454
+ box_net.apply(init_weights)
455
+
456
+ # hand
457
+ hand_position_net.apply(init_weights)
458
+ hand_roi_net.apply(init_weights)
459
+ hand_rotation_net.apply(init_weights)
460
+
461
+ # face
462
+ face_regressor.apply(init_weights)
463
+
464
+ encoder = vit.backbone
465
+
466
+ model = Model(encoder, body_position_net, body_rotation_net, box_net, hand_position_net, hand_roi_net, hand_rotation_net,
467
+ face_regressor)
468
+ return model
main/_base_/datasets/300w.py ADDED
@@ -0,0 +1,384 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='300w',
3
+ paper_info=dict(
4
+ author='Sagonas, Christos and Antonakos, Epameinondas '
5
+ 'and Tzimiropoulos, Georgios and Zafeiriou, Stefanos '
6
+ 'and Pantic, Maja',
7
+ title='300 faces in-the-wild challenge: '
8
+ 'Database and results',
9
+ container='Image and vision computing',
10
+ year='2016',
11
+ homepage='https://ibug.doc.ic.ac.uk/resources/300-W/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='kpt-0', id=0, color=[255, 255, 255], type='', swap='kpt-16'),
17
+ 1:
18
+ dict(
19
+ name='kpt-1', id=1, color=[255, 255, 255], type='', swap='kpt-15'),
20
+ 2:
21
+ dict(
22
+ name='kpt-2', id=2, color=[255, 255, 255], type='', swap='kpt-14'),
23
+ 3:
24
+ dict(
25
+ name='kpt-3', id=3, color=[255, 255, 255], type='', swap='kpt-13'),
26
+ 4:
27
+ dict(
28
+ name='kpt-4', id=4, color=[255, 255, 255], type='', swap='kpt-12'),
29
+ 5:
30
+ dict(
31
+ name='kpt-5', id=5, color=[255, 255, 255], type='', swap='kpt-11'),
32
+ 6:
33
+ dict(
34
+ name='kpt-6', id=6, color=[255, 255, 255], type='', swap='kpt-10'),
35
+ 7:
36
+ dict(name='kpt-7', id=7, color=[255, 255, 255], type='', swap='kpt-9'),
37
+ 8:
38
+ dict(name='kpt-8', id=8, color=[255, 255, 255], type='', swap=''),
39
+ 9:
40
+ dict(name='kpt-9', id=9, color=[255, 255, 255], type='', swap='kpt-7'),
41
+ 10:
42
+ dict(
43
+ name='kpt-10', id=10, color=[255, 255, 255], type='',
44
+ swap='kpt-6'),
45
+ 11:
46
+ dict(
47
+ name='kpt-11', id=11, color=[255, 255, 255], type='',
48
+ swap='kpt-5'),
49
+ 12:
50
+ dict(
51
+ name='kpt-12', id=12, color=[255, 255, 255], type='',
52
+ swap='kpt-4'),
53
+ 13:
54
+ dict(
55
+ name='kpt-13', id=13, color=[255, 255, 255], type='',
56
+ swap='kpt-3'),
57
+ 14:
58
+ dict(
59
+ name='kpt-14', id=14, color=[255, 255, 255], type='',
60
+ swap='kpt-2'),
61
+ 15:
62
+ dict(
63
+ name='kpt-15', id=15, color=[255, 255, 255], type='',
64
+ swap='kpt-1'),
65
+ 16:
66
+ dict(
67
+ name='kpt-16', id=16, color=[255, 255, 255], type='',
68
+ swap='kpt-0'),
69
+ 17:
70
+ dict(
71
+ name='kpt-17',
72
+ id=17,
73
+ color=[255, 255, 255],
74
+ type='',
75
+ swap='kpt-26'),
76
+ 18:
77
+ dict(
78
+ name='kpt-18',
79
+ id=18,
80
+ color=[255, 255, 255],
81
+ type='',
82
+ swap='kpt-25'),
83
+ 19:
84
+ dict(
85
+ name='kpt-19',
86
+ id=19,
87
+ color=[255, 255, 255],
88
+ type='',
89
+ swap='kpt-24'),
90
+ 20:
91
+ dict(
92
+ name='kpt-20',
93
+ id=20,
94
+ color=[255, 255, 255],
95
+ type='',
96
+ swap='kpt-23'),
97
+ 21:
98
+ dict(
99
+ name='kpt-21',
100
+ id=21,
101
+ color=[255, 255, 255],
102
+ type='',
103
+ swap='kpt-22'),
104
+ 22:
105
+ dict(
106
+ name='kpt-22',
107
+ id=22,
108
+ color=[255, 255, 255],
109
+ type='',
110
+ swap='kpt-21'),
111
+ 23:
112
+ dict(
113
+ name='kpt-23',
114
+ id=23,
115
+ color=[255, 255, 255],
116
+ type='',
117
+ swap='kpt-20'),
118
+ 24:
119
+ dict(
120
+ name='kpt-24',
121
+ id=24,
122
+ color=[255, 255, 255],
123
+ type='',
124
+ swap='kpt-19'),
125
+ 25:
126
+ dict(
127
+ name='kpt-25',
128
+ id=25,
129
+ color=[255, 255, 255],
130
+ type='',
131
+ swap='kpt-18'),
132
+ 26:
133
+ dict(
134
+ name='kpt-26',
135
+ id=26,
136
+ color=[255, 255, 255],
137
+ type='',
138
+ swap='kpt-17'),
139
+ 27:
140
+ dict(name='kpt-27', id=27, color=[255, 255, 255], type='', swap=''),
141
+ 28:
142
+ dict(name='kpt-28', id=28, color=[255, 255, 255], type='', swap=''),
143
+ 29:
144
+ dict(name='kpt-29', id=29, color=[255, 255, 255], type='', swap=''),
145
+ 30:
146
+ dict(name='kpt-30', id=30, color=[255, 255, 255], type='', swap=''),
147
+ 31:
148
+ dict(
149
+ name='kpt-31',
150
+ id=31,
151
+ color=[255, 255, 255],
152
+ type='',
153
+ swap='kpt-35'),
154
+ 32:
155
+ dict(
156
+ name='kpt-32',
157
+ id=32,
158
+ color=[255, 255, 255],
159
+ type='',
160
+ swap='kpt-34'),
161
+ 33:
162
+ dict(name='kpt-33', id=33, color=[255, 255, 255], type='', swap=''),
163
+ 34:
164
+ dict(
165
+ name='kpt-34',
166
+ id=34,
167
+ color=[255, 255, 255],
168
+ type='',
169
+ swap='kpt-32'),
170
+ 35:
171
+ dict(
172
+ name='kpt-35',
173
+ id=35,
174
+ color=[255, 255, 255],
175
+ type='',
176
+ swap='kpt-31'),
177
+ 36:
178
+ dict(
179
+ name='kpt-36',
180
+ id=36,
181
+ color=[255, 255, 255],
182
+ type='',
183
+ swap='kpt-45'),
184
+ 37:
185
+ dict(
186
+ name='kpt-37',
187
+ id=37,
188
+ color=[255, 255, 255],
189
+ type='',
190
+ swap='kpt-44'),
191
+ 38:
192
+ dict(
193
+ name='kpt-38',
194
+ id=38,
195
+ color=[255, 255, 255],
196
+ type='',
197
+ swap='kpt-43'),
198
+ 39:
199
+ dict(
200
+ name='kpt-39',
201
+ id=39,
202
+ color=[255, 255, 255],
203
+ type='',
204
+ swap='kpt-42'),
205
+ 40:
206
+ dict(
207
+ name='kpt-40',
208
+ id=40,
209
+ color=[255, 255, 255],
210
+ type='',
211
+ swap='kpt-47'),
212
+ 41:
213
+ dict(
214
+ name='kpt-41',
215
+ id=41,
216
+ color=[255, 255, 255],
217
+ type='',
218
+ swap='kpt-46'),
219
+ 42:
220
+ dict(
221
+ name='kpt-42',
222
+ id=42,
223
+ color=[255, 255, 255],
224
+ type='',
225
+ swap='kpt-39'),
226
+ 43:
227
+ dict(
228
+ name='kpt-43',
229
+ id=43,
230
+ color=[255, 255, 255],
231
+ type='',
232
+ swap='kpt-38'),
233
+ 44:
234
+ dict(
235
+ name='kpt-44',
236
+ id=44,
237
+ color=[255, 255, 255],
238
+ type='',
239
+ swap='kpt-37'),
240
+ 45:
241
+ dict(
242
+ name='kpt-45',
243
+ id=45,
244
+ color=[255, 255, 255],
245
+ type='',
246
+ swap='kpt-36'),
247
+ 46:
248
+ dict(
249
+ name='kpt-46',
250
+ id=46,
251
+ color=[255, 255, 255],
252
+ type='',
253
+ swap='kpt-41'),
254
+ 47:
255
+ dict(
256
+ name='kpt-47',
257
+ id=47,
258
+ color=[255, 255, 255],
259
+ type='',
260
+ swap='kpt-40'),
261
+ 48:
262
+ dict(
263
+ name='kpt-48',
264
+ id=48,
265
+ color=[255, 255, 255],
266
+ type='',
267
+ swap='kpt-54'),
268
+ 49:
269
+ dict(
270
+ name='kpt-49',
271
+ id=49,
272
+ color=[255, 255, 255],
273
+ type='',
274
+ swap='kpt-53'),
275
+ 50:
276
+ dict(
277
+ name='kpt-50',
278
+ id=50,
279
+ color=[255, 255, 255],
280
+ type='',
281
+ swap='kpt-52'),
282
+ 51:
283
+ dict(name='kpt-51', id=51, color=[255, 255, 255], type='', swap=''),
284
+ 52:
285
+ dict(
286
+ name='kpt-52',
287
+ id=52,
288
+ color=[255, 255, 255],
289
+ type='',
290
+ swap='kpt-50'),
291
+ 53:
292
+ dict(
293
+ name='kpt-53',
294
+ id=53,
295
+ color=[255, 255, 255],
296
+ type='',
297
+ swap='kpt-49'),
298
+ 54:
299
+ dict(
300
+ name='kpt-54',
301
+ id=54,
302
+ color=[255, 255, 255],
303
+ type='',
304
+ swap='kpt-48'),
305
+ 55:
306
+ dict(
307
+ name='kpt-55',
308
+ id=55,
309
+ color=[255, 255, 255],
310
+ type='',
311
+ swap='kpt-59'),
312
+ 56:
313
+ dict(
314
+ name='kpt-56',
315
+ id=56,
316
+ color=[255, 255, 255],
317
+ type='',
318
+ swap='kpt-58'),
319
+ 57:
320
+ dict(name='kpt-57', id=57, color=[255, 255, 255], type='', swap=''),
321
+ 58:
322
+ dict(
323
+ name='kpt-58',
324
+ id=58,
325
+ color=[255, 255, 255],
326
+ type='',
327
+ swap='kpt-56'),
328
+ 59:
329
+ dict(
330
+ name='kpt-59',
331
+ id=59,
332
+ color=[255, 255, 255],
333
+ type='',
334
+ swap='kpt-55'),
335
+ 60:
336
+ dict(
337
+ name='kpt-60',
338
+ id=60,
339
+ color=[255, 255, 255],
340
+ type='',
341
+ swap='kpt-64'),
342
+ 61:
343
+ dict(
344
+ name='kpt-61',
345
+ id=61,
346
+ color=[255, 255, 255],
347
+ type='',
348
+ swap='kpt-63'),
349
+ 62:
350
+ dict(name='kpt-62', id=62, color=[255, 255, 255], type='', swap=''),
351
+ 63:
352
+ dict(
353
+ name='kpt-63',
354
+ id=63,
355
+ color=[255, 255, 255],
356
+ type='',
357
+ swap='kpt-61'),
358
+ 64:
359
+ dict(
360
+ name='kpt-64',
361
+ id=64,
362
+ color=[255, 255, 255],
363
+ type='',
364
+ swap='kpt-60'),
365
+ 65:
366
+ dict(
367
+ name='kpt-65',
368
+ id=65,
369
+ color=[255, 255, 255],
370
+ type='',
371
+ swap='kpt-67'),
372
+ 66:
373
+ dict(name='kpt-66', id=66, color=[255, 255, 255], type='', swap=''),
374
+ 67:
375
+ dict(
376
+ name='kpt-67',
377
+ id=67,
378
+ color=[255, 255, 255],
379
+ type='',
380
+ swap='kpt-65'),
381
+ },
382
+ skeleton_info={},
383
+ joint_weights=[1.] * 68,
384
+ sigmas=[])
main/_base_/datasets/aflw.py ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='aflw',
3
+ paper_info=dict(
4
+ author='Koestinger, Martin and Wohlhart, Paul and '
5
+ 'Roth, Peter M and Bischof, Horst',
6
+ title='Annotated facial landmarks in the wild: '
7
+ 'A large-scale, real-world database for facial '
8
+ 'landmark localization',
9
+ container='2011 IEEE international conference on computer '
10
+ 'vision workshops (ICCV workshops)',
11
+ year='2011',
12
+ homepage='https://www.tugraz.at/institute/icg/research/'
13
+ 'team-bischof/lrs/downloads/aflw/',
14
+ ),
15
+ keypoint_info={
16
+ 0:
17
+ dict(name='kpt-0', id=0, color=[255, 255, 255], type='', swap='kpt-5'),
18
+ 1:
19
+ dict(name='kpt-1', id=1, color=[255, 255, 255], type='', swap='kpt-4'),
20
+ 2:
21
+ dict(name='kpt-2', id=2, color=[255, 255, 255], type='', swap='kpt-3'),
22
+ 3:
23
+ dict(name='kpt-3', id=3, color=[255, 255, 255], type='', swap='kpt-2'),
24
+ 4:
25
+ dict(name='kpt-4', id=4, color=[255, 255, 255], type='', swap='kpt-1'),
26
+ 5:
27
+ dict(name='kpt-5', id=5, color=[255, 255, 255], type='', swap='kpt-0'),
28
+ 6:
29
+ dict(
30
+ name='kpt-6', id=6, color=[255, 255, 255], type='', swap='kpt-11'),
31
+ 7:
32
+ dict(
33
+ name='kpt-7', id=7, color=[255, 255, 255], type='', swap='kpt-10'),
34
+ 8:
35
+ dict(name='kpt-8', id=8, color=[255, 255, 255], type='', swap='kpt-9'),
36
+ 9:
37
+ dict(name='kpt-9', id=9, color=[255, 255, 255], type='', swap='kpt-8'),
38
+ 10:
39
+ dict(
40
+ name='kpt-10', id=10, color=[255, 255, 255], type='',
41
+ swap='kpt-7'),
42
+ 11:
43
+ dict(
44
+ name='kpt-11', id=11, color=[255, 255, 255], type='',
45
+ swap='kpt-6'),
46
+ 12:
47
+ dict(
48
+ name='kpt-12',
49
+ id=12,
50
+ color=[255, 255, 255],
51
+ type='',
52
+ swap='kpt-14'),
53
+ 13:
54
+ dict(name='kpt-13', id=13, color=[255, 255, 255], type='', swap=''),
55
+ 14:
56
+ dict(
57
+ name='kpt-14',
58
+ id=14,
59
+ color=[255, 255, 255],
60
+ type='',
61
+ swap='kpt-12'),
62
+ 15:
63
+ dict(
64
+ name='kpt-15',
65
+ id=15,
66
+ color=[255, 255, 255],
67
+ type='',
68
+ swap='kpt-17'),
69
+ 16:
70
+ dict(name='kpt-16', id=16, color=[255, 255, 255], type='', swap=''),
71
+ 17:
72
+ dict(
73
+ name='kpt-17',
74
+ id=17,
75
+ color=[255, 255, 255],
76
+ type='',
77
+ swap='kpt-15'),
78
+ 18:
79
+ dict(name='kpt-18', id=18, color=[255, 255, 255], type='', swap='')
80
+ },
81
+ skeleton_info={},
82
+ joint_weights=[1.] * 19,
83
+ sigmas=[])
main/_base_/datasets/aic.py ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='aic',
3
+ paper_info=dict(
4
+ author='Wu, Jiahong and Zheng, He and Zhao, Bo and '
5
+ 'Li, Yixin and Yan, Baoming and Liang, Rui and '
6
+ 'Wang, Wenjia and Zhou, Shipei and Lin, Guosen and '
7
+ 'Fu, Yanwei and others',
8
+ title='Ai challenger: A large-scale dataset for going '
9
+ 'deeper in image understanding',
10
+ container='arXiv',
11
+ year='2017',
12
+ homepage='https://github.com/AIChallenger/AI_Challenger_2017',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='right_shoulder',
18
+ id=0,
19
+ color=[255, 128, 0],
20
+ type='upper',
21
+ swap='left_shoulder'),
22
+ 1:
23
+ dict(
24
+ name='right_elbow',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='upper',
28
+ swap='left_elbow'),
29
+ 2:
30
+ dict(
31
+ name='right_wrist',
32
+ id=2,
33
+ color=[255, 128, 0],
34
+ type='upper',
35
+ swap='left_wrist'),
36
+ 3:
37
+ dict(
38
+ name='left_shoulder',
39
+ id=3,
40
+ color=[0, 255, 0],
41
+ type='upper',
42
+ swap='right_shoulder'),
43
+ 4:
44
+ dict(
45
+ name='left_elbow',
46
+ id=4,
47
+ color=[0, 255, 0],
48
+ type='upper',
49
+ swap='right_elbow'),
50
+ 5:
51
+ dict(
52
+ name='left_wrist',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_wrist'),
57
+ 6:
58
+ dict(
59
+ name='right_hip',
60
+ id=6,
61
+ color=[255, 128, 0],
62
+ type='lower',
63
+ swap='left_hip'),
64
+ 7:
65
+ dict(
66
+ name='right_knee',
67
+ id=7,
68
+ color=[255, 128, 0],
69
+ type='lower',
70
+ swap='left_knee'),
71
+ 8:
72
+ dict(
73
+ name='right_ankle',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='lower',
77
+ swap='left_ankle'),
78
+ 9:
79
+ dict(
80
+ name='left_hip',
81
+ id=9,
82
+ color=[0, 255, 0],
83
+ type='lower',
84
+ swap='right_hip'),
85
+ 10:
86
+ dict(
87
+ name='left_knee',
88
+ id=10,
89
+ color=[0, 255, 0],
90
+ type='lower',
91
+ swap='right_knee'),
92
+ 11:
93
+ dict(
94
+ name='left_ankle',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_ankle'),
99
+ 12:
100
+ dict(
101
+ name='head_top',
102
+ id=12,
103
+ color=[51, 153, 255],
104
+ type='upper',
105
+ swap=''),
106
+ 13:
107
+ dict(name='neck', id=13, color=[51, 153, 255], type='upper', swap='')
108
+ },
109
+ skeleton_info={
110
+ 0:
111
+ dict(link=('right_wrist', 'right_elbow'), id=0, color=[255, 128, 0]),
112
+ 1: dict(
113
+ link=('right_elbow', 'right_shoulder'), id=1, color=[255, 128, 0]),
114
+ 2: dict(link=('right_shoulder', 'neck'), id=2, color=[51, 153, 255]),
115
+ 3: dict(link=('neck', 'left_shoulder'), id=3, color=[51, 153, 255]),
116
+ 4: dict(link=('left_shoulder', 'left_elbow'), id=4, color=[0, 255, 0]),
117
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
118
+ 6: dict(link=('right_ankle', 'right_knee'), id=6, color=[255, 128, 0]),
119
+ 7: dict(link=('right_knee', 'right_hip'), id=7, color=[255, 128, 0]),
120
+ 8: dict(link=('right_hip', 'left_hip'), id=8, color=[51, 153, 255]),
121
+ 9: dict(link=('left_hip', 'left_knee'), id=9, color=[0, 255, 0]),
122
+ 10: dict(link=('left_knee', 'left_ankle'), id=10, color=[0, 255, 0]),
123
+ 11: dict(link=('head_top', 'neck'), id=11, color=[51, 153, 255]),
124
+ 12: dict(
125
+ link=('right_shoulder', 'right_hip'), id=12, color=[51, 153, 255]),
126
+ 13:
127
+ dict(link=('left_shoulder', 'left_hip'), id=13, color=[51, 153, 255])
128
+ },
129
+ joint_weights=[
130
+ 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.
131
+ ],
132
+
133
+ # 'https://github.com/AIChallenger/AI_Challenger_2017/blob/master/'
134
+ # 'Evaluation/keypoint_eval/keypoint_eval.py#L50'
135
+ # delta = 2 x sigma
136
+ sigmas=[
137
+ 0.01388152, 0.01515228, 0.01057665, 0.01417709, 0.01497891, 0.01402144,
138
+ 0.03909642, 0.03686941, 0.01981803, 0.03843971, 0.03412318, 0.02415081,
139
+ 0.01291456, 0.01236173
140
+ ])
main/_base_/datasets/animalpose.py ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='animalpose',
3
+ paper_info=dict(
4
+ author='Cao, Jinkun and Tang, Hongyang and Fang, Hao-Shu and '
5
+ 'Shen, Xiaoyong and Lu, Cewu and Tai, Yu-Wing',
6
+ title='Cross-Domain Adaptation for Animal Pose Estimation',
7
+ container='The IEEE International Conference on '
8
+ 'Computer Vision (ICCV)',
9
+ year='2019',
10
+ homepage='https://sites.google.com/view/animal-pose/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='L_Eye', id=0, color=[0, 255, 0], type='upper', swap='R_Eye'),
16
+ 1:
17
+ dict(
18
+ name='R_Eye',
19
+ id=1,
20
+ color=[255, 128, 0],
21
+ type='upper',
22
+ swap='L_Eye'),
23
+ 2:
24
+ dict(
25
+ name='L_EarBase',
26
+ id=2,
27
+ color=[0, 255, 0],
28
+ type='upper',
29
+ swap='R_EarBase'),
30
+ 3:
31
+ dict(
32
+ name='R_EarBase',
33
+ id=3,
34
+ color=[255, 128, 0],
35
+ type='upper',
36
+ swap='L_EarBase'),
37
+ 4:
38
+ dict(name='Nose', id=4, color=[51, 153, 255], type='upper', swap=''),
39
+ 5:
40
+ dict(name='Throat', id=5, color=[51, 153, 255], type='upper', swap=''),
41
+ 6:
42
+ dict(
43
+ name='TailBase', id=6, color=[51, 153, 255], type='lower',
44
+ swap=''),
45
+ 7:
46
+ dict(
47
+ name='Withers', id=7, color=[51, 153, 255], type='upper', swap=''),
48
+ 8:
49
+ dict(
50
+ name='L_F_Elbow',
51
+ id=8,
52
+ color=[0, 255, 0],
53
+ type='upper',
54
+ swap='R_F_Elbow'),
55
+ 9:
56
+ dict(
57
+ name='R_F_Elbow',
58
+ id=9,
59
+ color=[255, 128, 0],
60
+ type='upper',
61
+ swap='L_F_Elbow'),
62
+ 10:
63
+ dict(
64
+ name='L_B_Elbow',
65
+ id=10,
66
+ color=[0, 255, 0],
67
+ type='lower',
68
+ swap='R_B_Elbow'),
69
+ 11:
70
+ dict(
71
+ name='R_B_Elbow',
72
+ id=11,
73
+ color=[255, 128, 0],
74
+ type='lower',
75
+ swap='L_B_Elbow'),
76
+ 12:
77
+ dict(
78
+ name='L_F_Knee',
79
+ id=12,
80
+ color=[0, 255, 0],
81
+ type='upper',
82
+ swap='R_F_Knee'),
83
+ 13:
84
+ dict(
85
+ name='R_F_Knee',
86
+ id=13,
87
+ color=[255, 128, 0],
88
+ type='upper',
89
+ swap='L_F_Knee'),
90
+ 14:
91
+ dict(
92
+ name='L_B_Knee',
93
+ id=14,
94
+ color=[0, 255, 0],
95
+ type='lower',
96
+ swap='R_B_Knee'),
97
+ 15:
98
+ dict(
99
+ name='R_B_Knee',
100
+ id=15,
101
+ color=[255, 128, 0],
102
+ type='lower',
103
+ swap='L_B_Knee'),
104
+ 16:
105
+ dict(
106
+ name='L_F_Paw',
107
+ id=16,
108
+ color=[0, 255, 0],
109
+ type='upper',
110
+ swap='R_F_Paw'),
111
+ 17:
112
+ dict(
113
+ name='R_F_Paw',
114
+ id=17,
115
+ color=[255, 128, 0],
116
+ type='upper',
117
+ swap='L_F_Paw'),
118
+ 18:
119
+ dict(
120
+ name='L_B_Paw',
121
+ id=18,
122
+ color=[0, 255, 0],
123
+ type='lower',
124
+ swap='R_B_Paw'),
125
+ 19:
126
+ dict(
127
+ name='R_B_Paw',
128
+ id=19,
129
+ color=[255, 128, 0],
130
+ type='lower',
131
+ swap='L_B_Paw')
132
+ },
133
+ skeleton_info={
134
+ 0: dict(link=('L_Eye', 'R_Eye'), id=0, color=[51, 153, 255]),
135
+ 1: dict(link=('L_Eye', 'L_EarBase'), id=1, color=[0, 255, 0]),
136
+ 2: dict(link=('R_Eye', 'R_EarBase'), id=2, color=[255, 128, 0]),
137
+ 3: dict(link=('L_Eye', 'Nose'), id=3, color=[0, 255, 0]),
138
+ 4: dict(link=('R_Eye', 'Nose'), id=4, color=[255, 128, 0]),
139
+ 5: dict(link=('Nose', 'Throat'), id=5, color=[51, 153, 255]),
140
+ 6: dict(link=('Throat', 'Withers'), id=6, color=[51, 153, 255]),
141
+ 7: dict(link=('TailBase', 'Withers'), id=7, color=[51, 153, 255]),
142
+ 8: dict(link=('Throat', 'L_F_Elbow'), id=8, color=[0, 255, 0]),
143
+ 9: dict(link=('L_F_Elbow', 'L_F_Knee'), id=9, color=[0, 255, 0]),
144
+ 10: dict(link=('L_F_Knee', 'L_F_Paw'), id=10, color=[0, 255, 0]),
145
+ 11: dict(link=('Throat', 'R_F_Elbow'), id=11, color=[255, 128, 0]),
146
+ 12: dict(link=('R_F_Elbow', 'R_F_Knee'), id=12, color=[255, 128, 0]),
147
+ 13: dict(link=('R_F_Knee', 'R_F_Paw'), id=13, color=[255, 128, 0]),
148
+ 14: dict(link=('TailBase', 'L_B_Elbow'), id=14, color=[0, 255, 0]),
149
+ 15: dict(link=('L_B_Elbow', 'L_B_Knee'), id=15, color=[0, 255, 0]),
150
+ 16: dict(link=('L_B_Knee', 'L_B_Paw'), id=16, color=[0, 255, 0]),
151
+ 17: dict(link=('TailBase', 'R_B_Elbow'), id=17, color=[255, 128, 0]),
152
+ 18: dict(link=('R_B_Elbow', 'R_B_Knee'), id=18, color=[255, 128, 0]),
153
+ 19: dict(link=('R_B_Knee', 'R_B_Paw'), id=19, color=[255, 128, 0])
154
+ },
155
+ joint_weights=[
156
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.2, 1.2,
157
+ 1.5, 1.5, 1.5, 1.5
158
+ ],
159
+
160
+ # Note: The original paper did not provide enough information about
161
+ # the sigmas. We modified from 'https://github.com/cocodataset/'
162
+ # 'cocoapi/blob/master/PythonAPI/pycocotools/cocoeval.py#L523'
163
+ sigmas=[
164
+ 0.025, 0.025, 0.026, 0.035, 0.035, 0.10, 0.10, 0.10, 0.107, 0.107,
165
+ 0.107, 0.107, 0.087, 0.087, 0.087, 0.087, 0.089, 0.089, 0.089, 0.089
166
+ ])
main/_base_/datasets/ap10k.py ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='ap10k',
3
+ paper_info=dict(
4
+ author='Yu, Hang and Xu, Yufei and Zhang, Jing and '
5
+ 'Zhao, Wei and Guan, Ziyu and Tao, Dacheng',
6
+ title='AP-10K: A Benchmark for Animal Pose Estimation in the Wild',
7
+ container='35th Conference on Neural Information Processing Systems '
8
+ '(NeurIPS 2021) Track on Datasets and Bench-marks.',
9
+ year='2021',
10
+ homepage='https://github.com/AlexTheBad/AP-10K',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='L_Eye', id=0, color=[0, 255, 0], type='upper', swap='R_Eye'),
16
+ 1:
17
+ dict(
18
+ name='R_Eye',
19
+ id=1,
20
+ color=[255, 128, 0],
21
+ type='upper',
22
+ swap='L_Eye'),
23
+ 2:
24
+ dict(name='Nose', id=2, color=[51, 153, 255], type='upper', swap=''),
25
+ 3:
26
+ dict(name='Neck', id=3, color=[51, 153, 255], type='upper', swap=''),
27
+ 4:
28
+ dict(
29
+ name='Root of tail',
30
+ id=4,
31
+ color=[51, 153, 255],
32
+ type='lower',
33
+ swap=''),
34
+ 5:
35
+ dict(
36
+ name='L_Shoulder',
37
+ id=5,
38
+ color=[51, 153, 255],
39
+ type='upper',
40
+ swap='R_Shoulder'),
41
+ 6:
42
+ dict(
43
+ name='L_Elbow',
44
+ id=6,
45
+ color=[51, 153, 255],
46
+ type='upper',
47
+ swap='R_Elbow'),
48
+ 7:
49
+ dict(
50
+ name='L_F_Paw',
51
+ id=7,
52
+ color=[0, 255, 0],
53
+ type='upper',
54
+ swap='R_F_Paw'),
55
+ 8:
56
+ dict(
57
+ name='R_Shoulder',
58
+ id=8,
59
+ color=[0, 255, 0],
60
+ type='upper',
61
+ swap='L_Shoulder'),
62
+ 9:
63
+ dict(
64
+ name='R_Elbow',
65
+ id=9,
66
+ color=[255, 128, 0],
67
+ type='upper',
68
+ swap='L_Elbow'),
69
+ 10:
70
+ dict(
71
+ name='R_F_Paw',
72
+ id=10,
73
+ color=[0, 255, 0],
74
+ type='lower',
75
+ swap='L_F_Paw'),
76
+ 11:
77
+ dict(
78
+ name='L_Hip',
79
+ id=11,
80
+ color=[255, 128, 0],
81
+ type='lower',
82
+ swap='R_Hip'),
83
+ 12:
84
+ dict(
85
+ name='L_Knee',
86
+ id=12,
87
+ color=[255, 128, 0],
88
+ type='lower',
89
+ swap='R_Knee'),
90
+ 13:
91
+ dict(
92
+ name='L_B_Paw',
93
+ id=13,
94
+ color=[0, 255, 0],
95
+ type='lower',
96
+ swap='R_B_Paw'),
97
+ 14:
98
+ dict(
99
+ name='R_Hip', id=14, color=[0, 255, 0], type='lower',
100
+ swap='L_Hip'),
101
+ 15:
102
+ dict(
103
+ name='R_Knee',
104
+ id=15,
105
+ color=[0, 255, 0],
106
+ type='lower',
107
+ swap='L_Knee'),
108
+ 16:
109
+ dict(
110
+ name='R_B_Paw',
111
+ id=16,
112
+ color=[0, 255, 0],
113
+ type='lower',
114
+ swap='L_B_Paw'),
115
+ },
116
+ skeleton_info={
117
+ 0: dict(link=('L_Eye', 'R_Eye'), id=0, color=[0, 0, 255]),
118
+ 1: dict(link=('L_Eye', 'Nose'), id=1, color=[0, 0, 255]),
119
+ 2: dict(link=('R_Eye', 'Nose'), id=2, color=[0, 0, 255]),
120
+ 3: dict(link=('Nose', 'Neck'), id=3, color=[0, 255, 0]),
121
+ 4: dict(link=('Neck', 'Root of tail'), id=4, color=[0, 255, 0]),
122
+ 5: dict(link=('Neck', 'L_Shoulder'), id=5, color=[0, 255, 255]),
123
+ 6: dict(link=('L_Shoulder', 'L_Elbow'), id=6, color=[0, 255, 255]),
124
+ 7: dict(link=('L_Elbow', 'L_F_Paw'), id=6, color=[0, 255, 255]),
125
+ 8: dict(link=('Neck', 'R_Shoulder'), id=7, color=[6, 156, 250]),
126
+ 9: dict(link=('R_Shoulder', 'R_Elbow'), id=8, color=[6, 156, 250]),
127
+ 10: dict(link=('R_Elbow', 'R_F_Paw'), id=9, color=[6, 156, 250]),
128
+ 11: dict(link=('Root of tail', 'L_Hip'), id=10, color=[0, 255, 255]),
129
+ 12: dict(link=('L_Hip', 'L_Knee'), id=11, color=[0, 255, 255]),
130
+ 13: dict(link=('L_Knee', 'L_B_Paw'), id=12, color=[0, 255, 255]),
131
+ 14: dict(link=('Root of tail', 'R_Hip'), id=13, color=[6, 156, 250]),
132
+ 15: dict(link=('R_Hip', 'R_Knee'), id=14, color=[6, 156, 250]),
133
+ 16: dict(link=('R_Knee', 'R_B_Paw'), id=15, color=[6, 156, 250]),
134
+ },
135
+ joint_weights=[
136
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
137
+ 1.5
138
+ ],
139
+ sigmas=[
140
+ 0.025, 0.025, 0.026, 0.035, 0.035, 0.079, 0.072, 0.062, 0.079, 0.072,
141
+ 0.062, 0.107, 0.087, 0.089, 0.107, 0.087, 0.089
142
+ ])
main/_base_/datasets/atrw.py ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='atrw',
3
+ paper_info=dict(
4
+ author='Li, Shuyuan and Li, Jianguo and Tang, Hanlin '
5
+ 'and Qian, Rui and Lin, Weiyao',
6
+ title='ATRW: A Benchmark for Amur Tiger '
7
+ 'Re-identification in the Wild',
8
+ container='Proceedings of the 28th ACM '
9
+ 'International Conference on Multimedia',
10
+ year='2020',
11
+ homepage='https://cvwc2019.github.io/challenge.html',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='left_ear',
17
+ id=0,
18
+ color=[51, 153, 255],
19
+ type='upper',
20
+ swap='right_ear'),
21
+ 1:
22
+ dict(
23
+ name='right_ear',
24
+ id=1,
25
+ color=[51, 153, 255],
26
+ type='upper',
27
+ swap='left_ear'),
28
+ 2:
29
+ dict(name='nose', id=2, color=[51, 153, 255], type='upper', swap=''),
30
+ 3:
31
+ dict(
32
+ name='right_shoulder',
33
+ id=3,
34
+ color=[255, 128, 0],
35
+ type='upper',
36
+ swap='left_shoulder'),
37
+ 4:
38
+ dict(
39
+ name='right_front_paw',
40
+ id=4,
41
+ color=[255, 128, 0],
42
+ type='upper',
43
+ swap='left_front_paw'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='left_front_paw',
54
+ id=6,
55
+ color=[0, 255, 0],
56
+ type='upper',
57
+ swap='right_front_paw'),
58
+ 7:
59
+ dict(
60
+ name='right_hip',
61
+ id=7,
62
+ color=[255, 128, 0],
63
+ type='lower',
64
+ swap='left_hip'),
65
+ 8:
66
+ dict(
67
+ name='right_knee',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='lower',
71
+ swap='left_knee'),
72
+ 9:
73
+ dict(
74
+ name='right_back_paw',
75
+ id=9,
76
+ color=[255, 128, 0],
77
+ type='lower',
78
+ swap='left_back_paw'),
79
+ 10:
80
+ dict(
81
+ name='left_hip',
82
+ id=10,
83
+ color=[0, 255, 0],
84
+ type='lower',
85
+ swap='right_hip'),
86
+ 11:
87
+ dict(
88
+ name='left_knee',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_knee'),
93
+ 12:
94
+ dict(
95
+ name='left_back_paw',
96
+ id=12,
97
+ color=[0, 255, 0],
98
+ type='lower',
99
+ swap='right_back_paw'),
100
+ 13:
101
+ dict(name='tail', id=13, color=[51, 153, 255], type='lower', swap=''),
102
+ 14:
103
+ dict(
104
+ name='center', id=14, color=[51, 153, 255], type='lower', swap=''),
105
+ },
106
+ skeleton_info={
107
+ 0:
108
+ dict(link=('left_ear', 'nose'), id=0, color=[51, 153, 255]),
109
+ 1:
110
+ dict(link=('right_ear', 'nose'), id=1, color=[51, 153, 255]),
111
+ 2:
112
+ dict(link=('nose', 'center'), id=2, color=[51, 153, 255]),
113
+ 3:
114
+ dict(
115
+ link=('left_shoulder', 'left_front_paw'), id=3, color=[0, 255, 0]),
116
+ 4:
117
+ dict(link=('left_shoulder', 'center'), id=4, color=[0, 255, 0]),
118
+ 5:
119
+ dict(
120
+ link=('right_shoulder', 'right_front_paw'),
121
+ id=5,
122
+ color=[255, 128, 0]),
123
+ 6:
124
+ dict(link=('right_shoulder', 'center'), id=6, color=[255, 128, 0]),
125
+ 7:
126
+ dict(link=('tail', 'center'), id=7, color=[51, 153, 255]),
127
+ 8:
128
+ dict(link=('right_back_paw', 'right_knee'), id=8, color=[255, 128, 0]),
129
+ 9:
130
+ dict(link=('right_knee', 'right_hip'), id=9, color=[255, 128, 0]),
131
+ 10:
132
+ dict(link=('right_hip', 'tail'), id=10, color=[255, 128, 0]),
133
+ 11:
134
+ dict(link=('left_back_paw', 'left_knee'), id=11, color=[0, 255, 0]),
135
+ 12:
136
+ dict(link=('left_knee', 'left_hip'), id=12, color=[0, 255, 0]),
137
+ 13:
138
+ dict(link=('left_hip', 'tail'), id=13, color=[0, 255, 0]),
139
+ },
140
+ joint_weights=[1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
141
+ sigmas=[
142
+ 0.0277, 0.0823, 0.0831, 0.0202, 0.0716, 0.0263, 0.0646, 0.0302, 0.0440,
143
+ 0.0316, 0.0333, 0.0547, 0.0263, 0.0683, 0.0539
144
+ ])
main/_base_/datasets/campus.py ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='campus',
3
+ paper_info=dict(
4
+ author='Belagiannis, Vasileios and Amin, Sikandar and Andriluka, '
5
+ 'Mykhaylo and Schiele, Bernt and Navab, Nassir and Ilic, Slobodan',
6
+ title='3D Pictorial Structures for Multiple Human Pose Estimation',
7
+ container='IEEE Computer Society Conference on Computer Vision and '
8
+ 'Pattern Recognition (CVPR)',
9
+ year='2014',
10
+ homepage='http://campar.in.tum.de/Chair/MultiHumanPose',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='right_ankle',
16
+ id=0,
17
+ color=[255, 128, 0],
18
+ type='lower',
19
+ swap='left_ankle'),
20
+ 1:
21
+ dict(
22
+ name='right_knee',
23
+ id=1,
24
+ color=[255, 128, 0],
25
+ type='lower',
26
+ swap='left_knee'),
27
+ 2:
28
+ dict(
29
+ name='right_hip',
30
+ id=2,
31
+ color=[255, 128, 0],
32
+ type='lower',
33
+ swap='left_hip'),
34
+ 3:
35
+ dict(
36
+ name='left_hip',
37
+ id=3,
38
+ color=[0, 255, 0],
39
+ type='lower',
40
+ swap='right_hip'),
41
+ 4:
42
+ dict(
43
+ name='left_knee',
44
+ id=4,
45
+ color=[0, 255, 0],
46
+ type='lower',
47
+ swap='right_knee'),
48
+ 5:
49
+ dict(
50
+ name='left_ankle',
51
+ id=5,
52
+ color=[0, 255, 0],
53
+ type='lower',
54
+ swap='right_ankle'),
55
+ 6:
56
+ dict(
57
+ name='right_wrist',
58
+ id=6,
59
+ color=[255, 128, 0],
60
+ type='upper',
61
+ swap='left_wrist'),
62
+ 7:
63
+ dict(
64
+ name='right_elbow',
65
+ id=7,
66
+ color=[255, 128, 0],
67
+ type='upper',
68
+ swap='left_elbow'),
69
+ 8:
70
+ dict(
71
+ name='right_shoulder',
72
+ id=8,
73
+ color=[255, 128, 0],
74
+ type='upper',
75
+ swap='left_shoulder'),
76
+ 9:
77
+ dict(
78
+ name='left_shoulder',
79
+ id=9,
80
+ color=[0, 255, 0],
81
+ type='upper',
82
+ swap='right_shoulder'),
83
+ 10:
84
+ dict(
85
+ name='left_elbow',
86
+ id=10,
87
+ color=[0, 255, 0],
88
+ type='upper',
89
+ swap='right_elbow'),
90
+ 11:
91
+ dict(
92
+ name='left_wrist',
93
+ id=11,
94
+ color=[0, 255, 0],
95
+ type='upper',
96
+ swap='right_wrist'),
97
+ 12:
98
+ dict(
99
+ name='bottom_head',
100
+ id=12,
101
+ color=[51, 153, 255],
102
+ type='upper',
103
+ swap=''),
104
+ 13:
105
+ dict(
106
+ name='top_head',
107
+ id=13,
108
+ color=[51, 153, 255],
109
+ type='upper',
110
+ swap=''),
111
+ },
112
+ skeleton_info={
113
+ 0:
114
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
115
+ 1:
116
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
117
+ 2:
118
+ dict(link=('left_hip', 'left_knee'), id=2, color=[0, 255, 0]),
119
+ 3:
120
+ dict(link=('left_knee', 'left_ankle'), id=3, color=[0, 255, 0]),
121
+ 4:
122
+ dict(link=('right_hip', 'left_hip'), id=4, color=[51, 153, 255]),
123
+ 5:
124
+ dict(link=('right_wrist', 'right_elbow'), id=5, color=[255, 128, 0]),
125
+ 6:
126
+ dict(
127
+ link=('right_elbow', 'right_shoulder'), id=6, color=[255, 128, 0]),
128
+ 7:
129
+ dict(link=('left_shoulder', 'left_elbow'), id=7, color=[0, 255, 0]),
130
+ 8:
131
+ dict(link=('left_elbow', 'left_wrist'), id=8, color=[0, 255, 0]),
132
+ 9:
133
+ dict(link=('right_hip', 'right_shoulder'), id=9, color=[255, 128, 0]),
134
+ 10:
135
+ dict(link=('left_hip', 'left_shoulder'), id=10, color=[0, 255, 0]),
136
+ 11:
137
+ dict(
138
+ link=('right_shoulder', 'bottom_head'), id=11, color=[255, 128,
139
+ 0]),
140
+ 12:
141
+ dict(link=('left_shoulder', 'bottom_head'), id=12, color=[0, 255, 0]),
142
+ 13:
143
+ dict(link=('bottom_head', 'top_head'), id=13, color=[51, 153, 255]),
144
+ },
145
+ joint_weights=[
146
+ 1.5, 1.2, 1.0, 1.0, 1.2, 1.5, 1.5, 1.2, 1.0, 1.0, 1.2, 1.5, 1.0, 1.0
147
+ ],
148
+ sigmas=[
149
+ 0.089, 0.087, 0.107, 0.107, 0.087, 0.089, 0.062, 0.072, 0.079, 0.079,
150
+ 0.072, 0.062, 0.026, 0.026
151
+ ])
main/_base_/datasets/coco.py ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco',
3
+ paper_info=dict(
4
+ author='Lin, Tsung-Yi and Maire, Michael and '
5
+ 'Belongie, Serge and Hays, James and '
6
+ 'Perona, Pietro and Ramanan, Deva and '
7
+ r'Doll{\'a}r, Piotr and Zitnick, C Lawrence',
8
+ title='Microsoft coco: Common objects in context',
9
+ container='European conference on computer vision',
10
+ year='2014',
11
+ homepage='http://cocodataset.org/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='left_eye',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap='right_eye'),
23
+ 2:
24
+ dict(
25
+ name='right_eye',
26
+ id=2,
27
+ color=[51, 153, 255],
28
+ type='upper',
29
+ swap='left_eye'),
30
+ 3:
31
+ dict(
32
+ name='left_ear',
33
+ id=3,
34
+ color=[51, 153, 255],
35
+ type='upper',
36
+ swap='right_ear'),
37
+ 4:
38
+ dict(
39
+ name='right_ear',
40
+ id=4,
41
+ color=[51, 153, 255],
42
+ type='upper',
43
+ swap='left_ear'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='right_shoulder',
54
+ id=6,
55
+ color=[255, 128, 0],
56
+ type='upper',
57
+ swap='left_shoulder'),
58
+ 7:
59
+ dict(
60
+ name='left_elbow',
61
+ id=7,
62
+ color=[0, 255, 0],
63
+ type='upper',
64
+ swap='right_elbow'),
65
+ 8:
66
+ dict(
67
+ name='right_elbow',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='upper',
71
+ swap='left_elbow'),
72
+ 9:
73
+ dict(
74
+ name='left_wrist',
75
+ id=9,
76
+ color=[0, 255, 0],
77
+ type='upper',
78
+ swap='right_wrist'),
79
+ 10:
80
+ dict(
81
+ name='right_wrist',
82
+ id=10,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_wrist'),
86
+ 11:
87
+ dict(
88
+ name='left_hip',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_hip'),
93
+ 12:
94
+ dict(
95
+ name='right_hip',
96
+ id=12,
97
+ color=[255, 128, 0],
98
+ type='lower',
99
+ swap='left_hip'),
100
+ 13:
101
+ dict(
102
+ name='left_knee',
103
+ id=13,
104
+ color=[0, 255, 0],
105
+ type='lower',
106
+ swap='right_knee'),
107
+ 14:
108
+ dict(
109
+ name='right_knee',
110
+ id=14,
111
+ color=[255, 128, 0],
112
+ type='lower',
113
+ swap='left_knee'),
114
+ 15:
115
+ dict(
116
+ name='left_ankle',
117
+ id=15,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='right_ankle'),
121
+ 16:
122
+ dict(
123
+ name='right_ankle',
124
+ id=16,
125
+ color=[255, 128, 0],
126
+ type='lower',
127
+ swap='left_ankle')
128
+ },
129
+ skeleton_info={
130
+ 0:
131
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
132
+ 1:
133
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
134
+ 2:
135
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
136
+ 3:
137
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
138
+ 4:
139
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
140
+ 5:
141
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
142
+ 6:
143
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
144
+ 7:
145
+ dict(
146
+ link=('left_shoulder', 'right_shoulder'),
147
+ id=7,
148
+ color=[51, 153, 255]),
149
+ 8:
150
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
151
+ 9:
152
+ dict(
153
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
154
+ 10:
155
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
156
+ 11:
157
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
158
+ 12:
159
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
160
+ 13:
161
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
162
+ 14:
163
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
164
+ 15:
165
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
166
+ 16:
167
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
168
+ 17:
169
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
170
+ 18:
171
+ dict(
172
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
173
+ },
174
+ joint_weights=[
175
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
176
+ 1.5
177
+ ],
178
+ sigmas=[
179
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
180
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
181
+ ])
main/_base_/datasets/coco_wholebody.py ADDED
@@ -0,0 +1,1154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_wholebody',
3
+ paper_info=dict(
4
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
5
+ 'Wang, Can and Liu, Wentao and '
6
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
7
+ title='Whole-Body Human Pose Estimation in the Wild',
8
+ container='Proceedings of the European '
9
+ 'Conference on Computer Vision (ECCV)',
10
+ year='2020',
11
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='left_eye',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap='right_eye'),
23
+ 2:
24
+ dict(
25
+ name='right_eye',
26
+ id=2,
27
+ color=[51, 153, 255],
28
+ type='upper',
29
+ swap='left_eye'),
30
+ 3:
31
+ dict(
32
+ name='left_ear',
33
+ id=3,
34
+ color=[51, 153, 255],
35
+ type='upper',
36
+ swap='right_ear'),
37
+ 4:
38
+ dict(
39
+ name='right_ear',
40
+ id=4,
41
+ color=[51, 153, 255],
42
+ type='upper',
43
+ swap='left_ear'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='right_shoulder',
54
+ id=6,
55
+ color=[255, 128, 0],
56
+ type='upper',
57
+ swap='left_shoulder'),
58
+ 7:
59
+ dict(
60
+ name='left_elbow',
61
+ id=7,
62
+ color=[0, 255, 0],
63
+ type='upper',
64
+ swap='right_elbow'),
65
+ 8:
66
+ dict(
67
+ name='right_elbow',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='upper',
71
+ swap='left_elbow'),
72
+ 9:
73
+ dict(
74
+ name='left_wrist',
75
+ id=9,
76
+ color=[0, 255, 0],
77
+ type='upper',
78
+ swap='right_wrist'),
79
+ 10:
80
+ dict(
81
+ name='right_wrist',
82
+ id=10,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_wrist'),
86
+ 11:
87
+ dict(
88
+ name='left_hip',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_hip'),
93
+ 12:
94
+ dict(
95
+ name='right_hip',
96
+ id=12,
97
+ color=[255, 128, 0],
98
+ type='lower',
99
+ swap='left_hip'),
100
+ 13:
101
+ dict(
102
+ name='left_knee',
103
+ id=13,
104
+ color=[0, 255, 0],
105
+ type='lower',
106
+ swap='right_knee'),
107
+ 14:
108
+ dict(
109
+ name='right_knee',
110
+ id=14,
111
+ color=[255, 128, 0],
112
+ type='lower',
113
+ swap='left_knee'),
114
+ 15:
115
+ dict(
116
+ name='left_ankle',
117
+ id=15,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='right_ankle'),
121
+ 16:
122
+ dict(
123
+ name='right_ankle',
124
+ id=16,
125
+ color=[255, 128, 0],
126
+ type='lower',
127
+ swap='left_ankle'),
128
+ 17:
129
+ dict(
130
+ name='left_big_toe',
131
+ id=17,
132
+ color=[255, 128, 0],
133
+ type='lower',
134
+ swap='right_big_toe'),
135
+ 18:
136
+ dict(
137
+ name='left_small_toe',
138
+ id=18,
139
+ color=[255, 128, 0],
140
+ type='lower',
141
+ swap='right_small_toe'),
142
+ 19:
143
+ dict(
144
+ name='left_heel',
145
+ id=19,
146
+ color=[255, 128, 0],
147
+ type='lower',
148
+ swap='right_heel'),
149
+ 20:
150
+ dict(
151
+ name='right_big_toe',
152
+ id=20,
153
+ color=[255, 128, 0],
154
+ type='lower',
155
+ swap='left_big_toe'),
156
+ 21:
157
+ dict(
158
+ name='right_small_toe',
159
+ id=21,
160
+ color=[255, 128, 0],
161
+ type='lower',
162
+ swap='left_small_toe'),
163
+ 22:
164
+ dict(
165
+ name='right_heel',
166
+ id=22,
167
+ color=[255, 128, 0],
168
+ type='lower',
169
+ swap='left_heel'),
170
+ 23:
171
+ dict(
172
+ name='face-0',
173
+ id=23,
174
+ color=[255, 255, 255],
175
+ type='',
176
+ swap='face-16'),
177
+ 24:
178
+ dict(
179
+ name='face-1',
180
+ id=24,
181
+ color=[255, 255, 255],
182
+ type='',
183
+ swap='face-15'),
184
+ 25:
185
+ dict(
186
+ name='face-2',
187
+ id=25,
188
+ color=[255, 255, 255],
189
+ type='',
190
+ swap='face-14'),
191
+ 26:
192
+ dict(
193
+ name='face-3',
194
+ id=26,
195
+ color=[255, 255, 255],
196
+ type='',
197
+ swap='face-13'),
198
+ 27:
199
+ dict(
200
+ name='face-4',
201
+ id=27,
202
+ color=[255, 255, 255],
203
+ type='',
204
+ swap='face-12'),
205
+ 28:
206
+ dict(
207
+ name='face-5',
208
+ id=28,
209
+ color=[255, 255, 255],
210
+ type='',
211
+ swap='face-11'),
212
+ 29:
213
+ dict(
214
+ name='face-6',
215
+ id=29,
216
+ color=[255, 255, 255],
217
+ type='',
218
+ swap='face-10'),
219
+ 30:
220
+ dict(
221
+ name='face-7',
222
+ id=30,
223
+ color=[255, 255, 255],
224
+ type='',
225
+ swap='face-9'),
226
+ 31:
227
+ dict(name='face-8', id=31, color=[255, 255, 255], type='', swap=''),
228
+ 32:
229
+ dict(
230
+ name='face-9',
231
+ id=32,
232
+ color=[255, 255, 255],
233
+ type='',
234
+ swap='face-7'),
235
+ 33:
236
+ dict(
237
+ name='face-10',
238
+ id=33,
239
+ color=[255, 255, 255],
240
+ type='',
241
+ swap='face-6'),
242
+ 34:
243
+ dict(
244
+ name='face-11',
245
+ id=34,
246
+ color=[255, 255, 255],
247
+ type='',
248
+ swap='face-5'),
249
+ 35:
250
+ dict(
251
+ name='face-12',
252
+ id=35,
253
+ color=[255, 255, 255],
254
+ type='',
255
+ swap='face-4'),
256
+ 36:
257
+ dict(
258
+ name='face-13',
259
+ id=36,
260
+ color=[255, 255, 255],
261
+ type='',
262
+ swap='face-3'),
263
+ 37:
264
+ dict(
265
+ name='face-14',
266
+ id=37,
267
+ color=[255, 255, 255],
268
+ type='',
269
+ swap='face-2'),
270
+ 38:
271
+ dict(
272
+ name='face-15',
273
+ id=38,
274
+ color=[255, 255, 255],
275
+ type='',
276
+ swap='face-1'),
277
+ 39:
278
+ dict(
279
+ name='face-16',
280
+ id=39,
281
+ color=[255, 255, 255],
282
+ type='',
283
+ swap='face-0'),
284
+ 40:
285
+ dict(
286
+ name='face-17',
287
+ id=40,
288
+ color=[255, 255, 255],
289
+ type='',
290
+ swap='face-26'),
291
+ 41:
292
+ dict(
293
+ name='face-18',
294
+ id=41,
295
+ color=[255, 255, 255],
296
+ type='',
297
+ swap='face-25'),
298
+ 42:
299
+ dict(
300
+ name='face-19',
301
+ id=42,
302
+ color=[255, 255, 255],
303
+ type='',
304
+ swap='face-24'),
305
+ 43:
306
+ dict(
307
+ name='face-20',
308
+ id=43,
309
+ color=[255, 255, 255],
310
+ type='',
311
+ swap='face-23'),
312
+ 44:
313
+ dict(
314
+ name='face-21',
315
+ id=44,
316
+ color=[255, 255, 255],
317
+ type='',
318
+ swap='face-22'),
319
+ 45:
320
+ dict(
321
+ name='face-22',
322
+ id=45,
323
+ color=[255, 255, 255],
324
+ type='',
325
+ swap='face-21'),
326
+ 46:
327
+ dict(
328
+ name='face-23',
329
+ id=46,
330
+ color=[255, 255, 255],
331
+ type='',
332
+ swap='face-20'),
333
+ 47:
334
+ dict(
335
+ name='face-24',
336
+ id=47,
337
+ color=[255, 255, 255],
338
+ type='',
339
+ swap='face-19'),
340
+ 48:
341
+ dict(
342
+ name='face-25',
343
+ id=48,
344
+ color=[255, 255, 255],
345
+ type='',
346
+ swap='face-18'),
347
+ 49:
348
+ dict(
349
+ name='face-26',
350
+ id=49,
351
+ color=[255, 255, 255],
352
+ type='',
353
+ swap='face-17'),
354
+ 50:
355
+ dict(name='face-27', id=50, color=[255, 255, 255], type='', swap=''),
356
+ 51:
357
+ dict(name='face-28', id=51, color=[255, 255, 255], type='', swap=''),
358
+ 52:
359
+ dict(name='face-29', id=52, color=[255, 255, 255], type='', swap=''),
360
+ 53:
361
+ dict(name='face-30', id=53, color=[255, 255, 255], type='', swap=''),
362
+ 54:
363
+ dict(
364
+ name='face-31',
365
+ id=54,
366
+ color=[255, 255, 255],
367
+ type='',
368
+ swap='face-35'),
369
+ 55:
370
+ dict(
371
+ name='face-32',
372
+ id=55,
373
+ color=[255, 255, 255],
374
+ type='',
375
+ swap='face-34'),
376
+ 56:
377
+ dict(name='face-33', id=56, color=[255, 255, 255], type='', swap=''),
378
+ 57:
379
+ dict(
380
+ name='face-34',
381
+ id=57,
382
+ color=[255, 255, 255],
383
+ type='',
384
+ swap='face-32'),
385
+ 58:
386
+ dict(
387
+ name='face-35',
388
+ id=58,
389
+ color=[255, 255, 255],
390
+ type='',
391
+ swap='face-31'),
392
+ 59:
393
+ dict(
394
+ name='face-36',
395
+ id=59,
396
+ color=[255, 255, 255],
397
+ type='',
398
+ swap='face-45'),
399
+ 60:
400
+ dict(
401
+ name='face-37',
402
+ id=60,
403
+ color=[255, 255, 255],
404
+ type='',
405
+ swap='face-44'),
406
+ 61:
407
+ dict(
408
+ name='face-38',
409
+ id=61,
410
+ color=[255, 255, 255],
411
+ type='',
412
+ swap='face-43'),
413
+ 62:
414
+ dict(
415
+ name='face-39',
416
+ id=62,
417
+ color=[255, 255, 255],
418
+ type='',
419
+ swap='face-42'),
420
+ 63:
421
+ dict(
422
+ name='face-40',
423
+ id=63,
424
+ color=[255, 255, 255],
425
+ type='',
426
+ swap='face-47'),
427
+ 64:
428
+ dict(
429
+ name='face-41',
430
+ id=64,
431
+ color=[255, 255, 255],
432
+ type='',
433
+ swap='face-46'),
434
+ 65:
435
+ dict(
436
+ name='face-42',
437
+ id=65,
438
+ color=[255, 255, 255],
439
+ type='',
440
+ swap='face-39'),
441
+ 66:
442
+ dict(
443
+ name='face-43',
444
+ id=66,
445
+ color=[255, 255, 255],
446
+ type='',
447
+ swap='face-38'),
448
+ 67:
449
+ dict(
450
+ name='face-44',
451
+ id=67,
452
+ color=[255, 255, 255],
453
+ type='',
454
+ swap='face-37'),
455
+ 68:
456
+ dict(
457
+ name='face-45',
458
+ id=68,
459
+ color=[255, 255, 255],
460
+ type='',
461
+ swap='face-36'),
462
+ 69:
463
+ dict(
464
+ name='face-46',
465
+ id=69,
466
+ color=[255, 255, 255],
467
+ type='',
468
+ swap='face-41'),
469
+ 70:
470
+ dict(
471
+ name='face-47',
472
+ id=70,
473
+ color=[255, 255, 255],
474
+ type='',
475
+ swap='face-40'),
476
+ 71:
477
+ dict(
478
+ name='face-48',
479
+ id=71,
480
+ color=[255, 255, 255],
481
+ type='',
482
+ swap='face-54'),
483
+ 72:
484
+ dict(
485
+ name='face-49',
486
+ id=72,
487
+ color=[255, 255, 255],
488
+ type='',
489
+ swap='face-53'),
490
+ 73:
491
+ dict(
492
+ name='face-50',
493
+ id=73,
494
+ color=[255, 255, 255],
495
+ type='',
496
+ swap='face-52'),
497
+ 74:
498
+ dict(name='face-51', id=74, color=[255, 255, 255], type='', swap=''),
499
+ 75:
500
+ dict(
501
+ name='face-52',
502
+ id=75,
503
+ color=[255, 255, 255],
504
+ type='',
505
+ swap='face-50'),
506
+ 76:
507
+ dict(
508
+ name='face-53',
509
+ id=76,
510
+ color=[255, 255, 255],
511
+ type='',
512
+ swap='face-49'),
513
+ 77:
514
+ dict(
515
+ name='face-54',
516
+ id=77,
517
+ color=[255, 255, 255],
518
+ type='',
519
+ swap='face-48'),
520
+ 78:
521
+ dict(
522
+ name='face-55',
523
+ id=78,
524
+ color=[255, 255, 255],
525
+ type='',
526
+ swap='face-59'),
527
+ 79:
528
+ dict(
529
+ name='face-56',
530
+ id=79,
531
+ color=[255, 255, 255],
532
+ type='',
533
+ swap='face-58'),
534
+ 80:
535
+ dict(name='face-57', id=80, color=[255, 255, 255], type='', swap=''),
536
+ 81:
537
+ dict(
538
+ name='face-58',
539
+ id=81,
540
+ color=[255, 255, 255],
541
+ type='',
542
+ swap='face-56'),
543
+ 82:
544
+ dict(
545
+ name='face-59',
546
+ id=82,
547
+ color=[255, 255, 255],
548
+ type='',
549
+ swap='face-55'),
550
+ 83:
551
+ dict(
552
+ name='face-60',
553
+ id=83,
554
+ color=[255, 255, 255],
555
+ type='',
556
+ swap='face-64'),
557
+ 84:
558
+ dict(
559
+ name='face-61',
560
+ id=84,
561
+ color=[255, 255, 255],
562
+ type='',
563
+ swap='face-63'),
564
+ 85:
565
+ dict(name='face-62', id=85, color=[255, 255, 255], type='', swap=''),
566
+ 86:
567
+ dict(
568
+ name='face-63',
569
+ id=86,
570
+ color=[255, 255, 255],
571
+ type='',
572
+ swap='face-61'),
573
+ 87:
574
+ dict(
575
+ name='face-64',
576
+ id=87,
577
+ color=[255, 255, 255],
578
+ type='',
579
+ swap='face-60'),
580
+ 88:
581
+ dict(
582
+ name='face-65',
583
+ id=88,
584
+ color=[255, 255, 255],
585
+ type='',
586
+ swap='face-67'),
587
+ 89:
588
+ dict(name='face-66', id=89, color=[255, 255, 255], type='', swap=''),
589
+ 90:
590
+ dict(
591
+ name='face-67',
592
+ id=90,
593
+ color=[255, 255, 255],
594
+ type='',
595
+ swap='face-65'),
596
+ 91:
597
+ dict(
598
+ name='left_hand_root',
599
+ id=91,
600
+ color=[255, 255, 255],
601
+ type='',
602
+ swap='right_hand_root'),
603
+ 92:
604
+ dict(
605
+ name='left_thumb1',
606
+ id=92,
607
+ color=[255, 128, 0],
608
+ type='',
609
+ swap='right_thumb1'),
610
+ 93:
611
+ dict(
612
+ name='left_thumb2',
613
+ id=93,
614
+ color=[255, 128, 0],
615
+ type='',
616
+ swap='right_thumb2'),
617
+ 94:
618
+ dict(
619
+ name='left_thumb3',
620
+ id=94,
621
+ color=[255, 128, 0],
622
+ type='',
623
+ swap='right_thumb3'),
624
+ 95:
625
+ dict(
626
+ name='left_thumb4',
627
+ id=95,
628
+ color=[255, 128, 0],
629
+ type='',
630
+ swap='right_thumb4'),
631
+ 96:
632
+ dict(
633
+ name='left_forefinger1',
634
+ id=96,
635
+ color=[255, 153, 255],
636
+ type='',
637
+ swap='right_forefinger1'),
638
+ 97:
639
+ dict(
640
+ name='left_forefinger2',
641
+ id=97,
642
+ color=[255, 153, 255],
643
+ type='',
644
+ swap='right_forefinger2'),
645
+ 98:
646
+ dict(
647
+ name='left_forefinger3',
648
+ id=98,
649
+ color=[255, 153, 255],
650
+ type='',
651
+ swap='right_forefinger3'),
652
+ 99:
653
+ dict(
654
+ name='left_forefinger4',
655
+ id=99,
656
+ color=[255, 153, 255],
657
+ type='',
658
+ swap='right_forefinger4'),
659
+ 100:
660
+ dict(
661
+ name='left_middle_finger1',
662
+ id=100,
663
+ color=[102, 178, 255],
664
+ type='',
665
+ swap='right_middle_finger1'),
666
+ 101:
667
+ dict(
668
+ name='left_middle_finger2',
669
+ id=101,
670
+ color=[102, 178, 255],
671
+ type='',
672
+ swap='right_middle_finger2'),
673
+ 102:
674
+ dict(
675
+ name='left_middle_finger3',
676
+ id=102,
677
+ color=[102, 178, 255],
678
+ type='',
679
+ swap='right_middle_finger3'),
680
+ 103:
681
+ dict(
682
+ name='left_middle_finger4',
683
+ id=103,
684
+ color=[102, 178, 255],
685
+ type='',
686
+ swap='right_middle_finger4'),
687
+ 104:
688
+ dict(
689
+ name='left_ring_finger1',
690
+ id=104,
691
+ color=[255, 51, 51],
692
+ type='',
693
+ swap='right_ring_finger1'),
694
+ 105:
695
+ dict(
696
+ name='left_ring_finger2',
697
+ id=105,
698
+ color=[255, 51, 51],
699
+ type='',
700
+ swap='right_ring_finger2'),
701
+ 106:
702
+ dict(
703
+ name='left_ring_finger3',
704
+ id=106,
705
+ color=[255, 51, 51],
706
+ type='',
707
+ swap='right_ring_finger3'),
708
+ 107:
709
+ dict(
710
+ name='left_ring_finger4',
711
+ id=107,
712
+ color=[255, 51, 51],
713
+ type='',
714
+ swap='right_ring_finger4'),
715
+ 108:
716
+ dict(
717
+ name='left_pinky_finger1',
718
+ id=108,
719
+ color=[0, 255, 0],
720
+ type='',
721
+ swap='right_pinky_finger1'),
722
+ 109:
723
+ dict(
724
+ name='left_pinky_finger2',
725
+ id=109,
726
+ color=[0, 255, 0],
727
+ type='',
728
+ swap='right_pinky_finger2'),
729
+ 110:
730
+ dict(
731
+ name='left_pinky_finger3',
732
+ id=110,
733
+ color=[0, 255, 0],
734
+ type='',
735
+ swap='right_pinky_finger3'),
736
+ 111:
737
+ dict(
738
+ name='left_pinky_finger4',
739
+ id=111,
740
+ color=[0, 255, 0],
741
+ type='',
742
+ swap='right_pinky_finger4'),
743
+ 112:
744
+ dict(
745
+ name='right_hand_root',
746
+ id=112,
747
+ color=[255, 255, 255],
748
+ type='',
749
+ swap='left_hand_root'),
750
+ 113:
751
+ dict(
752
+ name='right_thumb1',
753
+ id=113,
754
+ color=[255, 128, 0],
755
+ type='',
756
+ swap='left_thumb1'),
757
+ 114:
758
+ dict(
759
+ name='right_thumb2',
760
+ id=114,
761
+ color=[255, 128, 0],
762
+ type='',
763
+ swap='left_thumb2'),
764
+ 115:
765
+ dict(
766
+ name='right_thumb3',
767
+ id=115,
768
+ color=[255, 128, 0],
769
+ type='',
770
+ swap='left_thumb3'),
771
+ 116:
772
+ dict(
773
+ name='right_thumb4',
774
+ id=116,
775
+ color=[255, 128, 0],
776
+ type='',
777
+ swap='left_thumb4'),
778
+ 117:
779
+ dict(
780
+ name='right_forefinger1',
781
+ id=117,
782
+ color=[255, 153, 255],
783
+ type='',
784
+ swap='left_forefinger1'),
785
+ 118:
786
+ dict(
787
+ name='right_forefinger2',
788
+ id=118,
789
+ color=[255, 153, 255],
790
+ type='',
791
+ swap='left_forefinger2'),
792
+ 119:
793
+ dict(
794
+ name='right_forefinger3',
795
+ id=119,
796
+ color=[255, 153, 255],
797
+ type='',
798
+ swap='left_forefinger3'),
799
+ 120:
800
+ dict(
801
+ name='right_forefinger4',
802
+ id=120,
803
+ color=[255, 153, 255],
804
+ type='',
805
+ swap='left_forefinger4'),
806
+ 121:
807
+ dict(
808
+ name='right_middle_finger1',
809
+ id=121,
810
+ color=[102, 178, 255],
811
+ type='',
812
+ swap='left_middle_finger1'),
813
+ 122:
814
+ dict(
815
+ name='right_middle_finger2',
816
+ id=122,
817
+ color=[102, 178, 255],
818
+ type='',
819
+ swap='left_middle_finger2'),
820
+ 123:
821
+ dict(
822
+ name='right_middle_finger3',
823
+ id=123,
824
+ color=[102, 178, 255],
825
+ type='',
826
+ swap='left_middle_finger3'),
827
+ 124:
828
+ dict(
829
+ name='right_middle_finger4',
830
+ id=124,
831
+ color=[102, 178, 255],
832
+ type='',
833
+ swap='left_middle_finger4'),
834
+ 125:
835
+ dict(
836
+ name='right_ring_finger1',
837
+ id=125,
838
+ color=[255, 51, 51],
839
+ type='',
840
+ swap='left_ring_finger1'),
841
+ 126:
842
+ dict(
843
+ name='right_ring_finger2',
844
+ id=126,
845
+ color=[255, 51, 51],
846
+ type='',
847
+ swap='left_ring_finger2'),
848
+ 127:
849
+ dict(
850
+ name='right_ring_finger3',
851
+ id=127,
852
+ color=[255, 51, 51],
853
+ type='',
854
+ swap='left_ring_finger3'),
855
+ 128:
856
+ dict(
857
+ name='right_ring_finger4',
858
+ id=128,
859
+ color=[255, 51, 51],
860
+ type='',
861
+ swap='left_ring_finger4'),
862
+ 129:
863
+ dict(
864
+ name='right_pinky_finger1',
865
+ id=129,
866
+ color=[0, 255, 0],
867
+ type='',
868
+ swap='left_pinky_finger1'),
869
+ 130:
870
+ dict(
871
+ name='right_pinky_finger2',
872
+ id=130,
873
+ color=[0, 255, 0],
874
+ type='',
875
+ swap='left_pinky_finger2'),
876
+ 131:
877
+ dict(
878
+ name='right_pinky_finger3',
879
+ id=131,
880
+ color=[0, 255, 0],
881
+ type='',
882
+ swap='left_pinky_finger3'),
883
+ 132:
884
+ dict(
885
+ name='right_pinky_finger4',
886
+ id=132,
887
+ color=[0, 255, 0],
888
+ type='',
889
+ swap='left_pinky_finger4')
890
+ },
891
+ skeleton_info={
892
+ 0:
893
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
894
+ 1:
895
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
896
+ 2:
897
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
898
+ 3:
899
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
900
+ 4:
901
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
902
+ 5:
903
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
904
+ 6:
905
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
906
+ 7:
907
+ dict(
908
+ link=('left_shoulder', 'right_shoulder'),
909
+ id=7,
910
+ color=[51, 153, 255]),
911
+ 8:
912
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
913
+ 9:
914
+ dict(
915
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
916
+ 10:
917
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
918
+ 11:
919
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
920
+ 12:
921
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
922
+ 13:
923
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
924
+ 14:
925
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
926
+ 15:
927
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
928
+ 16:
929
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
930
+ 17:
931
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
932
+ 18:
933
+ dict(
934
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
935
+ 19:
936
+ dict(link=('left_ankle', 'left_big_toe'), id=19, color=[0, 255, 0]),
937
+ 20:
938
+ dict(link=('left_ankle', 'left_small_toe'), id=20, color=[0, 255, 0]),
939
+ 21:
940
+ dict(link=('left_ankle', 'left_heel'), id=21, color=[0, 255, 0]),
941
+ 22:
942
+ dict(
943
+ link=('right_ankle', 'right_big_toe'), id=22, color=[255, 128, 0]),
944
+ 23:
945
+ dict(
946
+ link=('right_ankle', 'right_small_toe'),
947
+ id=23,
948
+ color=[255, 128, 0]),
949
+ 24:
950
+ dict(link=('right_ankle', 'right_heel'), id=24, color=[255, 128, 0]),
951
+ 25:
952
+ dict(
953
+ link=('left_hand_root', 'left_thumb1'), id=25, color=[255, 128,
954
+ 0]),
955
+ 26:
956
+ dict(link=('left_thumb1', 'left_thumb2'), id=26, color=[255, 128, 0]),
957
+ 27:
958
+ dict(link=('left_thumb2', 'left_thumb3'), id=27, color=[255, 128, 0]),
959
+ 28:
960
+ dict(link=('left_thumb3', 'left_thumb4'), id=28, color=[255, 128, 0]),
961
+ 29:
962
+ dict(
963
+ link=('left_hand_root', 'left_forefinger1'),
964
+ id=29,
965
+ color=[255, 153, 255]),
966
+ 30:
967
+ dict(
968
+ link=('left_forefinger1', 'left_forefinger2'),
969
+ id=30,
970
+ color=[255, 153, 255]),
971
+ 31:
972
+ dict(
973
+ link=('left_forefinger2', 'left_forefinger3'),
974
+ id=31,
975
+ color=[255, 153, 255]),
976
+ 32:
977
+ dict(
978
+ link=('left_forefinger3', 'left_forefinger4'),
979
+ id=32,
980
+ color=[255, 153, 255]),
981
+ 33:
982
+ dict(
983
+ link=('left_hand_root', 'left_middle_finger1'),
984
+ id=33,
985
+ color=[102, 178, 255]),
986
+ 34:
987
+ dict(
988
+ link=('left_middle_finger1', 'left_middle_finger2'),
989
+ id=34,
990
+ color=[102, 178, 255]),
991
+ 35:
992
+ dict(
993
+ link=('left_middle_finger2', 'left_middle_finger3'),
994
+ id=35,
995
+ color=[102, 178, 255]),
996
+ 36:
997
+ dict(
998
+ link=('left_middle_finger3', 'left_middle_finger4'),
999
+ id=36,
1000
+ color=[102, 178, 255]),
1001
+ 37:
1002
+ dict(
1003
+ link=('left_hand_root', 'left_ring_finger1'),
1004
+ id=37,
1005
+ color=[255, 51, 51]),
1006
+ 38:
1007
+ dict(
1008
+ link=('left_ring_finger1', 'left_ring_finger2'),
1009
+ id=38,
1010
+ color=[255, 51, 51]),
1011
+ 39:
1012
+ dict(
1013
+ link=('left_ring_finger2', 'left_ring_finger3'),
1014
+ id=39,
1015
+ color=[255, 51, 51]),
1016
+ 40:
1017
+ dict(
1018
+ link=('left_ring_finger3', 'left_ring_finger4'),
1019
+ id=40,
1020
+ color=[255, 51, 51]),
1021
+ 41:
1022
+ dict(
1023
+ link=('left_hand_root', 'left_pinky_finger1'),
1024
+ id=41,
1025
+ color=[0, 255, 0]),
1026
+ 42:
1027
+ dict(
1028
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1029
+ id=42,
1030
+ color=[0, 255, 0]),
1031
+ 43:
1032
+ dict(
1033
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1034
+ id=43,
1035
+ color=[0, 255, 0]),
1036
+ 44:
1037
+ dict(
1038
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1039
+ id=44,
1040
+ color=[0, 255, 0]),
1041
+ 45:
1042
+ dict(
1043
+ link=('right_hand_root', 'right_thumb1'),
1044
+ id=45,
1045
+ color=[255, 128, 0]),
1046
+ 46:
1047
+ dict(
1048
+ link=('right_thumb1', 'right_thumb2'), id=46, color=[255, 128, 0]),
1049
+ 47:
1050
+ dict(
1051
+ link=('right_thumb2', 'right_thumb3'), id=47, color=[255, 128, 0]),
1052
+ 48:
1053
+ dict(
1054
+ link=('right_thumb3', 'right_thumb4'), id=48, color=[255, 128, 0]),
1055
+ 49:
1056
+ dict(
1057
+ link=('right_hand_root', 'right_forefinger1'),
1058
+ id=49,
1059
+ color=[255, 153, 255]),
1060
+ 50:
1061
+ dict(
1062
+ link=('right_forefinger1', 'right_forefinger2'),
1063
+ id=50,
1064
+ color=[255, 153, 255]),
1065
+ 51:
1066
+ dict(
1067
+ link=('right_forefinger2', 'right_forefinger3'),
1068
+ id=51,
1069
+ color=[255, 153, 255]),
1070
+ 52:
1071
+ dict(
1072
+ link=('right_forefinger3', 'right_forefinger4'),
1073
+ id=52,
1074
+ color=[255, 153, 255]),
1075
+ 53:
1076
+ dict(
1077
+ link=('right_hand_root', 'right_middle_finger1'),
1078
+ id=53,
1079
+ color=[102, 178, 255]),
1080
+ 54:
1081
+ dict(
1082
+ link=('right_middle_finger1', 'right_middle_finger2'),
1083
+ id=54,
1084
+ color=[102, 178, 255]),
1085
+ 55:
1086
+ dict(
1087
+ link=('right_middle_finger2', 'right_middle_finger3'),
1088
+ id=55,
1089
+ color=[102, 178, 255]),
1090
+ 56:
1091
+ dict(
1092
+ link=('right_middle_finger3', 'right_middle_finger4'),
1093
+ id=56,
1094
+ color=[102, 178, 255]),
1095
+ 57:
1096
+ dict(
1097
+ link=('right_hand_root', 'right_ring_finger1'),
1098
+ id=57,
1099
+ color=[255, 51, 51]),
1100
+ 58:
1101
+ dict(
1102
+ link=('right_ring_finger1', 'right_ring_finger2'),
1103
+ id=58,
1104
+ color=[255, 51, 51]),
1105
+ 59:
1106
+ dict(
1107
+ link=('right_ring_finger2', 'right_ring_finger3'),
1108
+ id=59,
1109
+ color=[255, 51, 51]),
1110
+ 60:
1111
+ dict(
1112
+ link=('right_ring_finger3', 'right_ring_finger4'),
1113
+ id=60,
1114
+ color=[255, 51, 51]),
1115
+ 61:
1116
+ dict(
1117
+ link=('right_hand_root', 'right_pinky_finger1'),
1118
+ id=61,
1119
+ color=[0, 255, 0]),
1120
+ 62:
1121
+ dict(
1122
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1123
+ id=62,
1124
+ color=[0, 255, 0]),
1125
+ 63:
1126
+ dict(
1127
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1128
+ id=63,
1129
+ color=[0, 255, 0]),
1130
+ 64:
1131
+ dict(
1132
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1133
+ id=64,
1134
+ color=[0, 255, 0])
1135
+ },
1136
+ joint_weights=[1.] * 133,
1137
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
1138
+ # 'evaluation/myeval_wholebody.py#L175'
1139
+ sigmas=[
1140
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1141
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.068, 0.066, 0.066,
1142
+ 0.092, 0.094, 0.094, 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031,
1143
+ 0.025, 0.020, 0.023, 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045,
1144
+ 0.013, 0.012, 0.011, 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015,
1145
+ 0.009, 0.007, 0.007, 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017,
1146
+ 0.011, 0.009, 0.011, 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010,
1147
+ 0.034, 0.008, 0.008, 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009,
1148
+ 0.009, 0.009, 0.007, 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01,
1149
+ 0.008, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035,
1150
+ 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019,
1151
+ 0.022, 0.031, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024,
1152
+ 0.035, 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02,
1153
+ 0.019, 0.022, 0.031
1154
+ ])
main/_base_/datasets/coco_wholebody_face.py ADDED
@@ -0,0 +1,448 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_wholebody_face',
3
+ paper_info=dict(
4
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
5
+ 'Wang, Can and Liu, Wentao and '
6
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
7
+ title='Whole-Body Human Pose Estimation in the Wild',
8
+ container='Proceedings of the European '
9
+ 'Conference on Computer Vision (ECCV)',
10
+ year='2020',
11
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='face-0',
17
+ id=0,
18
+ color=[255, 255, 255],
19
+ type='',
20
+ swap='face-16'),
21
+ 1:
22
+ dict(
23
+ name='face-1',
24
+ id=1,
25
+ color=[255, 255, 255],
26
+ type='',
27
+ swap='face-15'),
28
+ 2:
29
+ dict(
30
+ name='face-2',
31
+ id=2,
32
+ color=[255, 255, 255],
33
+ type='',
34
+ swap='face-14'),
35
+ 3:
36
+ dict(
37
+ name='face-3',
38
+ id=3,
39
+ color=[255, 255, 255],
40
+ type='',
41
+ swap='face-13'),
42
+ 4:
43
+ dict(
44
+ name='face-4',
45
+ id=4,
46
+ color=[255, 255, 255],
47
+ type='',
48
+ swap='face-12'),
49
+ 5:
50
+ dict(
51
+ name='face-5',
52
+ id=5,
53
+ color=[255, 255, 255],
54
+ type='',
55
+ swap='face-11'),
56
+ 6:
57
+ dict(
58
+ name='face-6',
59
+ id=6,
60
+ color=[255, 255, 255],
61
+ type='',
62
+ swap='face-10'),
63
+ 7:
64
+ dict(
65
+ name='face-7', id=7, color=[255, 255, 255], type='',
66
+ swap='face-9'),
67
+ 8:
68
+ dict(name='face-8', id=8, color=[255, 255, 255], type='', swap=''),
69
+ 9:
70
+ dict(
71
+ name='face-9', id=9, color=[255, 255, 255], type='',
72
+ swap='face-7'),
73
+ 10:
74
+ dict(
75
+ name='face-10',
76
+ id=10,
77
+ color=[255, 255, 255],
78
+ type='',
79
+ swap='face-6'),
80
+ 11:
81
+ dict(
82
+ name='face-11',
83
+ id=11,
84
+ color=[255, 255, 255],
85
+ type='',
86
+ swap='face-5'),
87
+ 12:
88
+ dict(
89
+ name='face-12',
90
+ id=12,
91
+ color=[255, 255, 255],
92
+ type='',
93
+ swap='face-4'),
94
+ 13:
95
+ dict(
96
+ name='face-13',
97
+ id=13,
98
+ color=[255, 255, 255],
99
+ type='',
100
+ swap='face-3'),
101
+ 14:
102
+ dict(
103
+ name='face-14',
104
+ id=14,
105
+ color=[255, 255, 255],
106
+ type='',
107
+ swap='face-2'),
108
+ 15:
109
+ dict(
110
+ name='face-15',
111
+ id=15,
112
+ color=[255, 255, 255],
113
+ type='',
114
+ swap='face-1'),
115
+ 16:
116
+ dict(
117
+ name='face-16',
118
+ id=16,
119
+ color=[255, 255, 255],
120
+ type='',
121
+ swap='face-0'),
122
+ 17:
123
+ dict(
124
+ name='face-17',
125
+ id=17,
126
+ color=[255, 255, 255],
127
+ type='',
128
+ swap='face-26'),
129
+ 18:
130
+ dict(
131
+ name='face-18',
132
+ id=18,
133
+ color=[255, 255, 255],
134
+ type='',
135
+ swap='face-25'),
136
+ 19:
137
+ dict(
138
+ name='face-19',
139
+ id=19,
140
+ color=[255, 255, 255],
141
+ type='',
142
+ swap='face-24'),
143
+ 20:
144
+ dict(
145
+ name='face-20',
146
+ id=20,
147
+ color=[255, 255, 255],
148
+ type='',
149
+ swap='face-23'),
150
+ 21:
151
+ dict(
152
+ name='face-21',
153
+ id=21,
154
+ color=[255, 255, 255],
155
+ type='',
156
+ swap='face-22'),
157
+ 22:
158
+ dict(
159
+ name='face-22',
160
+ id=22,
161
+ color=[255, 255, 255],
162
+ type='',
163
+ swap='face-21'),
164
+ 23:
165
+ dict(
166
+ name='face-23',
167
+ id=23,
168
+ color=[255, 255, 255],
169
+ type='',
170
+ swap='face-20'),
171
+ 24:
172
+ dict(
173
+ name='face-24',
174
+ id=24,
175
+ color=[255, 255, 255],
176
+ type='',
177
+ swap='face-19'),
178
+ 25:
179
+ dict(
180
+ name='face-25',
181
+ id=25,
182
+ color=[255, 255, 255],
183
+ type='',
184
+ swap='face-18'),
185
+ 26:
186
+ dict(
187
+ name='face-26',
188
+ id=26,
189
+ color=[255, 255, 255],
190
+ type='',
191
+ swap='face-17'),
192
+ 27:
193
+ dict(name='face-27', id=27, color=[255, 255, 255], type='', swap=''),
194
+ 28:
195
+ dict(name='face-28', id=28, color=[255, 255, 255], type='', swap=''),
196
+ 29:
197
+ dict(name='face-29', id=29, color=[255, 255, 255], type='', swap=''),
198
+ 30:
199
+ dict(name='face-30', id=30, color=[255, 255, 255], type='', swap=''),
200
+ 31:
201
+ dict(
202
+ name='face-31',
203
+ id=31,
204
+ color=[255, 255, 255],
205
+ type='',
206
+ swap='face-35'),
207
+ 32:
208
+ dict(
209
+ name='face-32',
210
+ id=32,
211
+ color=[255, 255, 255],
212
+ type='',
213
+ swap='face-34'),
214
+ 33:
215
+ dict(name='face-33', id=33, color=[255, 255, 255], type='', swap=''),
216
+ 34:
217
+ dict(
218
+ name='face-34',
219
+ id=34,
220
+ color=[255, 255, 255],
221
+ type='',
222
+ swap='face-32'),
223
+ 35:
224
+ dict(
225
+ name='face-35',
226
+ id=35,
227
+ color=[255, 255, 255],
228
+ type='',
229
+ swap='face-31'),
230
+ 36:
231
+ dict(
232
+ name='face-36',
233
+ id=36,
234
+ color=[255, 255, 255],
235
+ type='',
236
+ swap='face-45'),
237
+ 37:
238
+ dict(
239
+ name='face-37',
240
+ id=37,
241
+ color=[255, 255, 255],
242
+ type='',
243
+ swap='face-44'),
244
+ 38:
245
+ dict(
246
+ name='face-38',
247
+ id=38,
248
+ color=[255, 255, 255],
249
+ type='',
250
+ swap='face-43'),
251
+ 39:
252
+ dict(
253
+ name='face-39',
254
+ id=39,
255
+ color=[255, 255, 255],
256
+ type='',
257
+ swap='face-42'),
258
+ 40:
259
+ dict(
260
+ name='face-40',
261
+ id=40,
262
+ color=[255, 255, 255],
263
+ type='',
264
+ swap='face-47'),
265
+ 41:
266
+ dict(
267
+ name='face-41',
268
+ id=41,
269
+ color=[255, 255, 255],
270
+ type='',
271
+ swap='face-46'),
272
+ 42:
273
+ dict(
274
+ name='face-42',
275
+ id=42,
276
+ color=[255, 255, 255],
277
+ type='',
278
+ swap='face-39'),
279
+ 43:
280
+ dict(
281
+ name='face-43',
282
+ id=43,
283
+ color=[255, 255, 255],
284
+ type='',
285
+ swap='face-38'),
286
+ 44:
287
+ dict(
288
+ name='face-44',
289
+ id=44,
290
+ color=[255, 255, 255],
291
+ type='',
292
+ swap='face-37'),
293
+ 45:
294
+ dict(
295
+ name='face-45',
296
+ id=45,
297
+ color=[255, 255, 255],
298
+ type='',
299
+ swap='face-36'),
300
+ 46:
301
+ dict(
302
+ name='face-46',
303
+ id=46,
304
+ color=[255, 255, 255],
305
+ type='',
306
+ swap='face-41'),
307
+ 47:
308
+ dict(
309
+ name='face-47',
310
+ id=47,
311
+ color=[255, 255, 255],
312
+ type='',
313
+ swap='face-40'),
314
+ 48:
315
+ dict(
316
+ name='face-48',
317
+ id=48,
318
+ color=[255, 255, 255],
319
+ type='',
320
+ swap='face-54'),
321
+ 49:
322
+ dict(
323
+ name='face-49',
324
+ id=49,
325
+ color=[255, 255, 255],
326
+ type='',
327
+ swap='face-53'),
328
+ 50:
329
+ dict(
330
+ name='face-50',
331
+ id=50,
332
+ color=[255, 255, 255],
333
+ type='',
334
+ swap='face-52'),
335
+ 51:
336
+ dict(name='face-51', id=52, color=[255, 255, 255], type='', swap=''),
337
+ 52:
338
+ dict(
339
+ name='face-52',
340
+ id=52,
341
+ color=[255, 255, 255],
342
+ type='',
343
+ swap='face-50'),
344
+ 53:
345
+ dict(
346
+ name='face-53',
347
+ id=53,
348
+ color=[255, 255, 255],
349
+ type='',
350
+ swap='face-49'),
351
+ 54:
352
+ dict(
353
+ name='face-54',
354
+ id=54,
355
+ color=[255, 255, 255],
356
+ type='',
357
+ swap='face-48'),
358
+ 55:
359
+ dict(
360
+ name='face-55',
361
+ id=55,
362
+ color=[255, 255, 255],
363
+ type='',
364
+ swap='face-59'),
365
+ 56:
366
+ dict(
367
+ name='face-56',
368
+ id=56,
369
+ color=[255, 255, 255],
370
+ type='',
371
+ swap='face-58'),
372
+ 57:
373
+ dict(name='face-57', id=57, color=[255, 255, 255], type='', swap=''),
374
+ 58:
375
+ dict(
376
+ name='face-58',
377
+ id=58,
378
+ color=[255, 255, 255],
379
+ type='',
380
+ swap='face-56'),
381
+ 59:
382
+ dict(
383
+ name='face-59',
384
+ id=59,
385
+ color=[255, 255, 255],
386
+ type='',
387
+ swap='face-55'),
388
+ 60:
389
+ dict(
390
+ name='face-60',
391
+ id=60,
392
+ color=[255, 255, 255],
393
+ type='',
394
+ swap='face-64'),
395
+ 61:
396
+ dict(
397
+ name='face-61',
398
+ id=61,
399
+ color=[255, 255, 255],
400
+ type='',
401
+ swap='face-63'),
402
+ 62:
403
+ dict(name='face-62', id=62, color=[255, 255, 255], type='', swap=''),
404
+ 63:
405
+ dict(
406
+ name='face-63',
407
+ id=63,
408
+ color=[255, 255, 255],
409
+ type='',
410
+ swap='face-61'),
411
+ 64:
412
+ dict(
413
+ name='face-64',
414
+ id=64,
415
+ color=[255, 255, 255],
416
+ type='',
417
+ swap='face-60'),
418
+ 65:
419
+ dict(
420
+ name='face-65',
421
+ id=65,
422
+ color=[255, 255, 255],
423
+ type='',
424
+ swap='face-67'),
425
+ 66:
426
+ dict(name='face-66', id=66, color=[255, 255, 255], type='', swap=''),
427
+ 67:
428
+ dict(
429
+ name='face-67',
430
+ id=67,
431
+ color=[255, 255, 255],
432
+ type='',
433
+ swap='face-65')
434
+ },
435
+ skeleton_info={},
436
+ joint_weights=[1.] * 68,
437
+
438
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
439
+ # 'evaluation/myeval_wholebody.py#L177'
440
+ sigmas=[
441
+ 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031, 0.025, 0.020, 0.023,
442
+ 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045, 0.013, 0.012, 0.011,
443
+ 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015, 0.009, 0.007, 0.007,
444
+ 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017, 0.011, 0.009, 0.011,
445
+ 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010, 0.034, 0.008, 0.008,
446
+ 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009, 0.009, 0.009, 0.007,
447
+ 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01, 0.008
448
+ ])
main/_base_/datasets/coco_wholebody_hand.py ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_wholebody_hand',
3
+ paper_info=dict(
4
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
5
+ 'Wang, Can and Liu, Wentao and '
6
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
7
+ title='Whole-Body Human Pose Estimation in the Wild',
8
+ container='Proceedings of the European '
9
+ 'Conference on Computer Vision (ECCV)',
10
+ year='2020',
11
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
16
+ 1:
17
+ dict(name='thumb1', id=1, color=[255, 128, 0], type='', swap=''),
18
+ 2:
19
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
20
+ 3:
21
+ dict(name='thumb3', id=3, color=[255, 128, 0], type='', swap=''),
22
+ 4:
23
+ dict(name='thumb4', id=4, color=[255, 128, 0], type='', swap=''),
24
+ 5:
25
+ dict(
26
+ name='forefinger1', id=5, color=[255, 153, 255], type='', swap=''),
27
+ 6:
28
+ dict(
29
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
30
+ 7:
31
+ dict(
32
+ name='forefinger3', id=7, color=[255, 153, 255], type='', swap=''),
33
+ 8:
34
+ dict(
35
+ name='forefinger4', id=8, color=[255, 153, 255], type='', swap=''),
36
+ 9:
37
+ dict(
38
+ name='middle_finger1',
39
+ id=9,
40
+ color=[102, 178, 255],
41
+ type='',
42
+ swap=''),
43
+ 10:
44
+ dict(
45
+ name='middle_finger2',
46
+ id=10,
47
+ color=[102, 178, 255],
48
+ type='',
49
+ swap=''),
50
+ 11:
51
+ dict(
52
+ name='middle_finger3',
53
+ id=11,
54
+ color=[102, 178, 255],
55
+ type='',
56
+ swap=''),
57
+ 12:
58
+ dict(
59
+ name='middle_finger4',
60
+ id=12,
61
+ color=[102, 178, 255],
62
+ type='',
63
+ swap=''),
64
+ 13:
65
+ dict(
66
+ name='ring_finger1', id=13, color=[255, 51, 51], type='', swap=''),
67
+ 14:
68
+ dict(
69
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
70
+ 15:
71
+ dict(
72
+ name='ring_finger3', id=15, color=[255, 51, 51], type='', swap=''),
73
+ 16:
74
+ dict(
75
+ name='ring_finger4', id=16, color=[255, 51, 51], type='', swap=''),
76
+ 17:
77
+ dict(name='pinky_finger1', id=17, color=[0, 255, 0], type='', swap=''),
78
+ 18:
79
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
80
+ 19:
81
+ dict(name='pinky_finger3', id=19, color=[0, 255, 0], type='', swap=''),
82
+ 20:
83
+ dict(name='pinky_finger4', id=20, color=[0, 255, 0], type='', swap='')
84
+ },
85
+ skeleton_info={
86
+ 0:
87
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
88
+ 1:
89
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
90
+ 2:
91
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
92
+ 3:
93
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
94
+ 4:
95
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
96
+ 5:
97
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
98
+ 6:
99
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
100
+ 7:
101
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
102
+ 8:
103
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
104
+ 9:
105
+ dict(
106
+ link=('middle_finger1', 'middle_finger2'),
107
+ id=9,
108
+ color=[102, 178, 255]),
109
+ 10:
110
+ dict(
111
+ link=('middle_finger2', 'middle_finger3'),
112
+ id=10,
113
+ color=[102, 178, 255]),
114
+ 11:
115
+ dict(
116
+ link=('middle_finger3', 'middle_finger4'),
117
+ id=11,
118
+ color=[102, 178, 255]),
119
+ 12:
120
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
121
+ 13:
122
+ dict(
123
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
124
+ 14:
125
+ dict(
126
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
127
+ 15:
128
+ dict(
129
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
130
+ 16:
131
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
132
+ 17:
133
+ dict(
134
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
135
+ 18:
136
+ dict(
137
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
138
+ 19:
139
+ dict(
140
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
141
+ },
142
+ joint_weights=[1.] * 21,
143
+ sigmas=[
144
+ 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035, 0.018,
145
+ 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019, 0.022,
146
+ 0.031
147
+ ])
main/_base_/datasets/cofw.py ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='cofw',
3
+ paper_info=dict(
4
+ author='Burgos-Artizzu, Xavier P and Perona, '
5
+ r'Pietro and Doll{\'a}r, Piotr',
6
+ title='Robust face landmark estimation under occlusion',
7
+ container='Proceedings of the IEEE international '
8
+ 'conference on computer vision',
9
+ year='2013',
10
+ homepage='http://www.vision.caltech.edu/xpburgos/ICCV13/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='kpt-0', id=0, color=[255, 255, 255], type='', swap='kpt-1'),
15
+ 1:
16
+ dict(name='kpt-1', id=1, color=[255, 255, 255], type='', swap='kpt-0'),
17
+ 2:
18
+ dict(name='kpt-2', id=2, color=[255, 255, 255], type='', swap='kpt-3'),
19
+ 3:
20
+ dict(name='kpt-3', id=3, color=[255, 255, 255], type='', swap='kpt-2'),
21
+ 4:
22
+ dict(name='kpt-4', id=4, color=[255, 255, 255], type='', swap='kpt-6'),
23
+ 5:
24
+ dict(name='kpt-5', id=5, color=[255, 255, 255], type='', swap='kpt-7'),
25
+ 6:
26
+ dict(name='kpt-6', id=6, color=[255, 255, 255], type='', swap='kpt-4'),
27
+ 7:
28
+ dict(name='kpt-7', id=7, color=[255, 255, 255], type='', swap='kpt-5'),
29
+ 8:
30
+ dict(name='kpt-8', id=8, color=[255, 255, 255], type='', swap='kpt-9'),
31
+ 9:
32
+ dict(name='kpt-9', id=9, color=[255, 255, 255], type='', swap='kpt-8'),
33
+ 10:
34
+ dict(
35
+ name='kpt-10',
36
+ id=10,
37
+ color=[255, 255, 255],
38
+ type='',
39
+ swap='kpt-11'),
40
+ 11:
41
+ dict(
42
+ name='kpt-11',
43
+ id=11,
44
+ color=[255, 255, 255],
45
+ type='',
46
+ swap='kpt-10'),
47
+ 12:
48
+ dict(
49
+ name='kpt-12',
50
+ id=12,
51
+ color=[255, 255, 255],
52
+ type='',
53
+ swap='kpt-14'),
54
+ 13:
55
+ dict(
56
+ name='kpt-13',
57
+ id=13,
58
+ color=[255, 255, 255],
59
+ type='',
60
+ swap='kpt-15'),
61
+ 14:
62
+ dict(
63
+ name='kpt-14',
64
+ id=14,
65
+ color=[255, 255, 255],
66
+ type='',
67
+ swap='kpt-12'),
68
+ 15:
69
+ dict(
70
+ name='kpt-15',
71
+ id=15,
72
+ color=[255, 255, 255],
73
+ type='',
74
+ swap='kpt-13'),
75
+ 16:
76
+ dict(
77
+ name='kpt-16',
78
+ id=16,
79
+ color=[255, 255, 255],
80
+ type='',
81
+ swap='kpt-17'),
82
+ 17:
83
+ dict(
84
+ name='kpt-17',
85
+ id=17,
86
+ color=[255, 255, 255],
87
+ type='',
88
+ swap='kpt-16'),
89
+ 18:
90
+ dict(
91
+ name='kpt-18',
92
+ id=18,
93
+ color=[255, 255, 255],
94
+ type='',
95
+ swap='kpt-19'),
96
+ 19:
97
+ dict(
98
+ name='kpt-19',
99
+ id=19,
100
+ color=[255, 255, 255],
101
+ type='',
102
+ swap='kpt-18'),
103
+ 20:
104
+ dict(name='kpt-20', id=20, color=[255, 255, 255], type='', swap=''),
105
+ 21:
106
+ dict(name='kpt-21', id=21, color=[255, 255, 255], type='', swap=''),
107
+ 22:
108
+ dict(
109
+ name='kpt-22',
110
+ id=22,
111
+ color=[255, 255, 255],
112
+ type='',
113
+ swap='kpt-23'),
114
+ 23:
115
+ dict(
116
+ name='kpt-23',
117
+ id=23,
118
+ color=[255, 255, 255],
119
+ type='',
120
+ swap='kpt-22'),
121
+ 24:
122
+ dict(name='kpt-24', id=24, color=[255, 255, 255], type='', swap=''),
123
+ 25:
124
+ dict(name='kpt-25', id=25, color=[255, 255, 255], type='', swap=''),
125
+ 26:
126
+ dict(name='kpt-26', id=26, color=[255, 255, 255], type='', swap=''),
127
+ 27:
128
+ dict(name='kpt-27', id=27, color=[255, 255, 255], type='', swap=''),
129
+ 28:
130
+ dict(name='kpt-28', id=28, color=[255, 255, 255], type='', swap='')
131
+ },
132
+ skeleton_info={},
133
+ joint_weights=[1.] * 29,
134
+ sigmas=[])
main/_base_/datasets/crowdpose.py ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='crowdpose',
3
+ paper_info=dict(
4
+ author='Li, Jiefeng and Wang, Can and Zhu, Hao and '
5
+ 'Mao, Yihuan and Fang, Hao-Shu and Lu, Cewu',
6
+ title='CrowdPose: Efficient Crowded Scenes Pose Estimation '
7
+ 'and A New Benchmark',
8
+ container='Proceedings of IEEE Conference on Computer '
9
+ 'Vision and Pattern Recognition (CVPR)',
10
+ year='2019',
11
+ homepage='https://github.com/Jeff-sjtu/CrowdPose',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='left_shoulder',
17
+ id=0,
18
+ color=[51, 153, 255],
19
+ type='upper',
20
+ swap='right_shoulder'),
21
+ 1:
22
+ dict(
23
+ name='right_shoulder',
24
+ id=1,
25
+ color=[51, 153, 255],
26
+ type='upper',
27
+ swap='left_shoulder'),
28
+ 2:
29
+ dict(
30
+ name='left_elbow',
31
+ id=2,
32
+ color=[51, 153, 255],
33
+ type='upper',
34
+ swap='right_elbow'),
35
+ 3:
36
+ dict(
37
+ name='right_elbow',
38
+ id=3,
39
+ color=[51, 153, 255],
40
+ type='upper',
41
+ swap='left_elbow'),
42
+ 4:
43
+ dict(
44
+ name='left_wrist',
45
+ id=4,
46
+ color=[51, 153, 255],
47
+ type='upper',
48
+ swap='right_wrist'),
49
+ 5:
50
+ dict(
51
+ name='right_wrist',
52
+ id=5,
53
+ color=[0, 255, 0],
54
+ type='upper',
55
+ swap='left_wrist'),
56
+ 6:
57
+ dict(
58
+ name='left_hip',
59
+ id=6,
60
+ color=[255, 128, 0],
61
+ type='lower',
62
+ swap='right_hip'),
63
+ 7:
64
+ dict(
65
+ name='right_hip',
66
+ id=7,
67
+ color=[0, 255, 0],
68
+ type='lower',
69
+ swap='left_hip'),
70
+ 8:
71
+ dict(
72
+ name='left_knee',
73
+ id=8,
74
+ color=[255, 128, 0],
75
+ type='lower',
76
+ swap='right_knee'),
77
+ 9:
78
+ dict(
79
+ name='right_knee',
80
+ id=9,
81
+ color=[0, 255, 0],
82
+ type='lower',
83
+ swap='left_knee'),
84
+ 10:
85
+ dict(
86
+ name='left_ankle',
87
+ id=10,
88
+ color=[255, 128, 0],
89
+ type='lower',
90
+ swap='right_ankle'),
91
+ 11:
92
+ dict(
93
+ name='right_ankle',
94
+ id=11,
95
+ color=[0, 255, 0],
96
+ type='lower',
97
+ swap='left_ankle'),
98
+ 12:
99
+ dict(
100
+ name='top_head', id=12, color=[255, 128, 0], type='upper',
101
+ swap=''),
102
+ 13:
103
+ dict(name='neck', id=13, color=[0, 255, 0], type='upper', swap='')
104
+ },
105
+ skeleton_info={
106
+ 0:
107
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
108
+ 1:
109
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
110
+ 2:
111
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
112
+ 3:
113
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
114
+ 4:
115
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
116
+ 5:
117
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
118
+ 6:
119
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
120
+ 7:
121
+ dict(
122
+ link=('left_shoulder', 'right_shoulder'),
123
+ id=7,
124
+ color=[51, 153, 255]),
125
+ 8:
126
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
127
+ 9:
128
+ dict(
129
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
130
+ 10:
131
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
132
+ 11:
133
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
134
+ 12:
135
+ dict(link=('top_head', 'neck'), id=12, color=[51, 153, 255]),
136
+ 13:
137
+ dict(link=('right_shoulder', 'neck'), id=13, color=[51, 153, 255]),
138
+ 14:
139
+ dict(link=('left_shoulder', 'neck'), id=14, color=[51, 153, 255])
140
+ },
141
+ joint_weights=[
142
+ 0.2, 0.2, 0.2, 1.3, 1.5, 0.2, 1.3, 1.5, 0.2, 0.2, 0.5, 0.2, 0.2, 0.5
143
+ ],
144
+ sigmas=[
145
+ 0.079, 0.079, 0.072, 0.072, 0.062, 0.062, 0.107, 0.107, 0.087, 0.087,
146
+ 0.089, 0.089, 0.079, 0.079
147
+ ])
main/_base_/datasets/deepfashion_full.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='deepfashion_full',
3
+ paper_info=dict(
4
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
5
+ 'and Wang, Xiaogang and Tang, Xiaoou',
6
+ title='DeepFashion: Powering Robust Clothes Recognition '
7
+ 'and Retrieval with Rich Annotations',
8
+ container='Proceedings of IEEE Conference on Computer '
9
+ 'Vision and Pattern Recognition (CVPR)',
10
+ year='2016',
11
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
12
+ 'DeepFashion/LandmarkDetection.html',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='left collar',
18
+ id=0,
19
+ color=[255, 255, 255],
20
+ type='',
21
+ swap='right collar'),
22
+ 1:
23
+ dict(
24
+ name='right collar',
25
+ id=1,
26
+ color=[255, 255, 255],
27
+ type='',
28
+ swap='left collar'),
29
+ 2:
30
+ dict(
31
+ name='left sleeve',
32
+ id=2,
33
+ color=[255, 255, 255],
34
+ type='',
35
+ swap='right sleeve'),
36
+ 3:
37
+ dict(
38
+ name='right sleeve',
39
+ id=3,
40
+ color=[255, 255, 255],
41
+ type='',
42
+ swap='left sleeve'),
43
+ 4:
44
+ dict(
45
+ name='left waistline',
46
+ id=0,
47
+ color=[255, 255, 255],
48
+ type='',
49
+ swap='right waistline'),
50
+ 5:
51
+ dict(
52
+ name='right waistline',
53
+ id=1,
54
+ color=[255, 255, 255],
55
+ type='',
56
+ swap='left waistline'),
57
+ 6:
58
+ dict(
59
+ name='left hem',
60
+ id=2,
61
+ color=[255, 255, 255],
62
+ type='',
63
+ swap='right hem'),
64
+ 7:
65
+ dict(
66
+ name='right hem',
67
+ id=3,
68
+ color=[255, 255, 255],
69
+ type='',
70
+ swap='left hem'),
71
+ },
72
+ skeleton_info={},
73
+ joint_weights=[1.] * 8,
74
+ sigmas=[])
main/_base_/datasets/deepfashion_lower.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='deepfashion_lower',
3
+ paper_info=dict(
4
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
5
+ 'and Wang, Xiaogang and Tang, Xiaoou',
6
+ title='DeepFashion: Powering Robust Clothes Recognition '
7
+ 'and Retrieval with Rich Annotations',
8
+ container='Proceedings of IEEE Conference on Computer '
9
+ 'Vision and Pattern Recognition (CVPR)',
10
+ year='2016',
11
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
12
+ 'DeepFashion/LandmarkDetection.html',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='left waistline',
18
+ id=0,
19
+ color=[255, 255, 255],
20
+ type='',
21
+ swap='right waistline'),
22
+ 1:
23
+ dict(
24
+ name='right waistline',
25
+ id=1,
26
+ color=[255, 255, 255],
27
+ type='',
28
+ swap='left waistline'),
29
+ 2:
30
+ dict(
31
+ name='left hem',
32
+ id=2,
33
+ color=[255, 255, 255],
34
+ type='',
35
+ swap='right hem'),
36
+ 3:
37
+ dict(
38
+ name='right hem',
39
+ id=3,
40
+ color=[255, 255, 255],
41
+ type='',
42
+ swap='left hem'),
43
+ },
44
+ skeleton_info={},
45
+ joint_weights=[1.] * 4,
46
+ sigmas=[])
main/_base_/datasets/deepfashion_upper.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='deepfashion_upper',
3
+ paper_info=dict(
4
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
5
+ 'and Wang, Xiaogang and Tang, Xiaoou',
6
+ title='DeepFashion: Powering Robust Clothes Recognition '
7
+ 'and Retrieval with Rich Annotations',
8
+ container='Proceedings of IEEE Conference on Computer '
9
+ 'Vision and Pattern Recognition (CVPR)',
10
+ year='2016',
11
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
12
+ 'DeepFashion/LandmarkDetection.html',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='left collar',
18
+ id=0,
19
+ color=[255, 255, 255],
20
+ type='',
21
+ swap='right collar'),
22
+ 1:
23
+ dict(
24
+ name='right collar',
25
+ id=1,
26
+ color=[255, 255, 255],
27
+ type='',
28
+ swap='left collar'),
29
+ 2:
30
+ dict(
31
+ name='left sleeve',
32
+ id=2,
33
+ color=[255, 255, 255],
34
+ type='',
35
+ swap='right sleeve'),
36
+ 3:
37
+ dict(
38
+ name='right sleeve',
39
+ id=3,
40
+ color=[255, 255, 255],
41
+ type='',
42
+ swap='left sleeve'),
43
+ 4:
44
+ dict(
45
+ name='left hem',
46
+ id=4,
47
+ color=[255, 255, 255],
48
+ type='',
49
+ swap='right hem'),
50
+ 5:
51
+ dict(
52
+ name='right hem',
53
+ id=5,
54
+ color=[255, 255, 255],
55
+ type='',
56
+ swap='left hem'),
57
+ },
58
+ skeleton_info={},
59
+ joint_weights=[1.] * 6,
60
+ sigmas=[])
main/_base_/datasets/fly.py ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='fly',
3
+ paper_info=dict(
4
+ author='Pereira, Talmo D and Aldarondo, Diego E and '
5
+ 'Willmore, Lindsay and Kislin, Mikhail and '
6
+ 'Wang, Samuel S-H and Murthy, Mala and Shaevitz, Joshua W',
7
+ title='Fast animal pose estimation using deep neural networks',
8
+ container='Nature methods',
9
+ year='2019',
10
+ homepage='https://github.com/jgraving/DeepPoseKit-Data',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='head', id=0, color=[255, 255, 255], type='', swap=''),
15
+ 1:
16
+ dict(name='eyeL', id=1, color=[255, 255, 255], type='', swap='eyeR'),
17
+ 2:
18
+ dict(name='eyeR', id=2, color=[255, 255, 255], type='', swap='eyeL'),
19
+ 3:
20
+ dict(name='neck', id=3, color=[255, 255, 255], type='', swap=''),
21
+ 4:
22
+ dict(name='thorax', id=4, color=[255, 255, 255], type='', swap=''),
23
+ 5:
24
+ dict(name='abdomen', id=5, color=[255, 255, 255], type='', swap=''),
25
+ 6:
26
+ dict(
27
+ name='forelegR1',
28
+ id=6,
29
+ color=[255, 255, 255],
30
+ type='',
31
+ swap='forelegL1'),
32
+ 7:
33
+ dict(
34
+ name='forelegR2',
35
+ id=7,
36
+ color=[255, 255, 255],
37
+ type='',
38
+ swap='forelegL2'),
39
+ 8:
40
+ dict(
41
+ name='forelegR3',
42
+ id=8,
43
+ color=[255, 255, 255],
44
+ type='',
45
+ swap='forelegL3'),
46
+ 9:
47
+ dict(
48
+ name='forelegR4',
49
+ id=9,
50
+ color=[255, 255, 255],
51
+ type='',
52
+ swap='forelegL4'),
53
+ 10:
54
+ dict(
55
+ name='midlegR1',
56
+ id=10,
57
+ color=[255, 255, 255],
58
+ type='',
59
+ swap='midlegL1'),
60
+ 11:
61
+ dict(
62
+ name='midlegR2',
63
+ id=11,
64
+ color=[255, 255, 255],
65
+ type='',
66
+ swap='midlegL2'),
67
+ 12:
68
+ dict(
69
+ name='midlegR3',
70
+ id=12,
71
+ color=[255, 255, 255],
72
+ type='',
73
+ swap='midlegL3'),
74
+ 13:
75
+ dict(
76
+ name='midlegR4',
77
+ id=13,
78
+ color=[255, 255, 255],
79
+ type='',
80
+ swap='midlegL4'),
81
+ 14:
82
+ dict(
83
+ name='hindlegR1',
84
+ id=14,
85
+ color=[255, 255, 255],
86
+ type='',
87
+ swap='hindlegL1'),
88
+ 15:
89
+ dict(
90
+ name='hindlegR2',
91
+ id=15,
92
+ color=[255, 255, 255],
93
+ type='',
94
+ swap='hindlegL2'),
95
+ 16:
96
+ dict(
97
+ name='hindlegR3',
98
+ id=16,
99
+ color=[255, 255, 255],
100
+ type='',
101
+ swap='hindlegL3'),
102
+ 17:
103
+ dict(
104
+ name='hindlegR4',
105
+ id=17,
106
+ color=[255, 255, 255],
107
+ type='',
108
+ swap='hindlegL4'),
109
+ 18:
110
+ dict(
111
+ name='forelegL1',
112
+ id=18,
113
+ color=[255, 255, 255],
114
+ type='',
115
+ swap='forelegR1'),
116
+ 19:
117
+ dict(
118
+ name='forelegL2',
119
+ id=19,
120
+ color=[255, 255, 255],
121
+ type='',
122
+ swap='forelegR2'),
123
+ 20:
124
+ dict(
125
+ name='forelegL3',
126
+ id=20,
127
+ color=[255, 255, 255],
128
+ type='',
129
+ swap='forelegR3'),
130
+ 21:
131
+ dict(
132
+ name='forelegL4',
133
+ id=21,
134
+ color=[255, 255, 255],
135
+ type='',
136
+ swap='forelegR4'),
137
+ 22:
138
+ dict(
139
+ name='midlegL1',
140
+ id=22,
141
+ color=[255, 255, 255],
142
+ type='',
143
+ swap='midlegR1'),
144
+ 23:
145
+ dict(
146
+ name='midlegL2',
147
+ id=23,
148
+ color=[255, 255, 255],
149
+ type='',
150
+ swap='midlegR2'),
151
+ 24:
152
+ dict(
153
+ name='midlegL3',
154
+ id=24,
155
+ color=[255, 255, 255],
156
+ type='',
157
+ swap='midlegR3'),
158
+ 25:
159
+ dict(
160
+ name='midlegL4',
161
+ id=25,
162
+ color=[255, 255, 255],
163
+ type='',
164
+ swap='midlegR4'),
165
+ 26:
166
+ dict(
167
+ name='hindlegL1',
168
+ id=26,
169
+ color=[255, 255, 255],
170
+ type='',
171
+ swap='hindlegR1'),
172
+ 27:
173
+ dict(
174
+ name='hindlegL2',
175
+ id=27,
176
+ color=[255, 255, 255],
177
+ type='',
178
+ swap='hindlegR2'),
179
+ 28:
180
+ dict(
181
+ name='hindlegL3',
182
+ id=28,
183
+ color=[255, 255, 255],
184
+ type='',
185
+ swap='hindlegR3'),
186
+ 29:
187
+ dict(
188
+ name='hindlegL4',
189
+ id=29,
190
+ color=[255, 255, 255],
191
+ type='',
192
+ swap='hindlegR4'),
193
+ 30:
194
+ dict(
195
+ name='wingL', id=30, color=[255, 255, 255], type='', swap='wingR'),
196
+ 31:
197
+ dict(
198
+ name='wingR', id=31, color=[255, 255, 255], type='', swap='wingL'),
199
+ },
200
+ skeleton_info={
201
+ 0: dict(link=('eyeL', 'head'), id=0, color=[255, 255, 255]),
202
+ 1: dict(link=('eyeR', 'head'), id=1, color=[255, 255, 255]),
203
+ 2: dict(link=('neck', 'head'), id=2, color=[255, 255, 255]),
204
+ 3: dict(link=('thorax', 'neck'), id=3, color=[255, 255, 255]),
205
+ 4: dict(link=('abdomen', 'thorax'), id=4, color=[255, 255, 255]),
206
+ 5: dict(link=('forelegR2', 'forelegR1'), id=5, color=[255, 255, 255]),
207
+ 6: dict(link=('forelegR3', 'forelegR2'), id=6, color=[255, 255, 255]),
208
+ 7: dict(link=('forelegR4', 'forelegR3'), id=7, color=[255, 255, 255]),
209
+ 8: dict(link=('midlegR2', 'midlegR1'), id=8, color=[255, 255, 255]),
210
+ 9: dict(link=('midlegR3', 'midlegR2'), id=9, color=[255, 255, 255]),
211
+ 10: dict(link=('midlegR4', 'midlegR3'), id=10, color=[255, 255, 255]),
212
+ 11:
213
+ dict(link=('hindlegR2', 'hindlegR1'), id=11, color=[255, 255, 255]),
214
+ 12:
215
+ dict(link=('hindlegR3', 'hindlegR2'), id=12, color=[255, 255, 255]),
216
+ 13:
217
+ dict(link=('hindlegR4', 'hindlegR3'), id=13, color=[255, 255, 255]),
218
+ 14:
219
+ dict(link=('forelegL2', 'forelegL1'), id=14, color=[255, 255, 255]),
220
+ 15:
221
+ dict(link=('forelegL3', 'forelegL2'), id=15, color=[255, 255, 255]),
222
+ 16:
223
+ dict(link=('forelegL4', 'forelegL3'), id=16, color=[255, 255, 255]),
224
+ 17: dict(link=('midlegL2', 'midlegL1'), id=17, color=[255, 255, 255]),
225
+ 18: dict(link=('midlegL3', 'midlegL2'), id=18, color=[255, 255, 255]),
226
+ 19: dict(link=('midlegL4', 'midlegL3'), id=19, color=[255, 255, 255]),
227
+ 20:
228
+ dict(link=('hindlegL2', 'hindlegL1'), id=20, color=[255, 255, 255]),
229
+ 21:
230
+ dict(link=('hindlegL3', 'hindlegL2'), id=21, color=[255, 255, 255]),
231
+ 22:
232
+ dict(link=('hindlegL4', 'hindlegL3'), id=22, color=[255, 255, 255]),
233
+ 23: dict(link=('wingL', 'neck'), id=23, color=[255, 255, 255]),
234
+ 24: dict(link=('wingR', 'neck'), id=24, color=[255, 255, 255])
235
+ },
236
+ joint_weights=[1.] * 32,
237
+ sigmas=[])
main/_base_/datasets/freihand2d.py ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='freihand',
3
+ paper_info=dict(
4
+ author='Zimmermann, Christian and Ceylan, Duygu and '
5
+ 'Yang, Jimei and Russell, Bryan and '
6
+ 'Argus, Max and Brox, Thomas',
7
+ title='Freihand: A dataset for markerless capture of hand pose '
8
+ 'and shape from single rgb images',
9
+ container='Proceedings of the IEEE International '
10
+ 'Conference on Computer Vision',
11
+ year='2019',
12
+ homepage='https://lmb.informatik.uni-freiburg.de/projects/freihand/',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
17
+ 1:
18
+ dict(name='thumb1', id=1, color=[255, 128, 0], type='', swap=''),
19
+ 2:
20
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
21
+ 3:
22
+ dict(name='thumb3', id=3, color=[255, 128, 0], type='', swap=''),
23
+ 4:
24
+ dict(name='thumb4', id=4, color=[255, 128, 0], type='', swap=''),
25
+ 5:
26
+ dict(
27
+ name='forefinger1', id=5, color=[255, 153, 255], type='', swap=''),
28
+ 6:
29
+ dict(
30
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
31
+ 7:
32
+ dict(
33
+ name='forefinger3', id=7, color=[255, 153, 255], type='', swap=''),
34
+ 8:
35
+ dict(
36
+ name='forefinger4', id=8, color=[255, 153, 255], type='', swap=''),
37
+ 9:
38
+ dict(
39
+ name='middle_finger1',
40
+ id=9,
41
+ color=[102, 178, 255],
42
+ type='',
43
+ swap=''),
44
+ 10:
45
+ dict(
46
+ name='middle_finger2',
47
+ id=10,
48
+ color=[102, 178, 255],
49
+ type='',
50
+ swap=''),
51
+ 11:
52
+ dict(
53
+ name='middle_finger3',
54
+ id=11,
55
+ color=[102, 178, 255],
56
+ type='',
57
+ swap=''),
58
+ 12:
59
+ dict(
60
+ name='middle_finger4',
61
+ id=12,
62
+ color=[102, 178, 255],
63
+ type='',
64
+ swap=''),
65
+ 13:
66
+ dict(
67
+ name='ring_finger1', id=13, color=[255, 51, 51], type='', swap=''),
68
+ 14:
69
+ dict(
70
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
71
+ 15:
72
+ dict(
73
+ name='ring_finger3', id=15, color=[255, 51, 51], type='', swap=''),
74
+ 16:
75
+ dict(
76
+ name='ring_finger4', id=16, color=[255, 51, 51], type='', swap=''),
77
+ 17:
78
+ dict(name='pinky_finger1', id=17, color=[0, 255, 0], type='', swap=''),
79
+ 18:
80
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
81
+ 19:
82
+ dict(name='pinky_finger3', id=19, color=[0, 255, 0], type='', swap=''),
83
+ 20:
84
+ dict(name='pinky_finger4', id=20, color=[0, 255, 0], type='', swap='')
85
+ },
86
+ skeleton_info={
87
+ 0:
88
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
89
+ 1:
90
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
91
+ 2:
92
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
93
+ 3:
94
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
95
+ 4:
96
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
97
+ 5:
98
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
99
+ 6:
100
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
101
+ 7:
102
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
103
+ 8:
104
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
105
+ 9:
106
+ dict(
107
+ link=('middle_finger1', 'middle_finger2'),
108
+ id=9,
109
+ color=[102, 178, 255]),
110
+ 10:
111
+ dict(
112
+ link=('middle_finger2', 'middle_finger3'),
113
+ id=10,
114
+ color=[102, 178, 255]),
115
+ 11:
116
+ dict(
117
+ link=('middle_finger3', 'middle_finger4'),
118
+ id=11,
119
+ color=[102, 178, 255]),
120
+ 12:
121
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
122
+ 13:
123
+ dict(
124
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
125
+ 14:
126
+ dict(
127
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
128
+ 15:
129
+ dict(
130
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
131
+ 16:
132
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
133
+ 17:
134
+ dict(
135
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
136
+ 18:
137
+ dict(
138
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
139
+ 19:
140
+ dict(
141
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
142
+ },
143
+ joint_weights=[1.] * 21,
144
+ sigmas=[])
main/_base_/datasets/h36m.py ADDED
@@ -0,0 +1,152 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='h36m',
3
+ paper_info=dict(
4
+ author='Ionescu, Catalin and Papava, Dragos and '
5
+ 'Olaru, Vlad and Sminchisescu, Cristian',
6
+ title='Human3.6M: Large Scale Datasets and Predictive '
7
+ 'Methods for 3D Human Sensing in Natural Environments',
8
+ container='IEEE Transactions on Pattern Analysis and '
9
+ 'Machine Intelligence',
10
+ year='2014',
11
+ homepage='http://vision.imar.ro/human3.6m/description.php',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='root', id=0, color=[51, 153, 255], type='lower', swap=''),
16
+ 1:
17
+ dict(
18
+ name='right_hip',
19
+ id=1,
20
+ color=[255, 128, 0],
21
+ type='lower',
22
+ swap='left_hip'),
23
+ 2:
24
+ dict(
25
+ name='right_knee',
26
+ id=2,
27
+ color=[255, 128, 0],
28
+ type='lower',
29
+ swap='left_knee'),
30
+ 3:
31
+ dict(
32
+ name='right_foot',
33
+ id=3,
34
+ color=[255, 128, 0],
35
+ type='lower',
36
+ swap='left_foot'),
37
+ 4:
38
+ dict(
39
+ name='left_hip',
40
+ id=4,
41
+ color=[0, 255, 0],
42
+ type='lower',
43
+ swap='right_hip'),
44
+ 5:
45
+ dict(
46
+ name='left_knee',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='lower',
50
+ swap='right_knee'),
51
+ 6:
52
+ dict(
53
+ name='left_foot',
54
+ id=6,
55
+ color=[0, 255, 0],
56
+ type='lower',
57
+ swap='right_foot'),
58
+ 7:
59
+ dict(name='spine', id=7, color=[51, 153, 255], type='upper', swap=''),
60
+ 8:
61
+ dict(name='thorax', id=8, color=[51, 153, 255], type='upper', swap=''),
62
+ 9:
63
+ dict(
64
+ name='neck_base',
65
+ id=9,
66
+ color=[51, 153, 255],
67
+ type='upper',
68
+ swap=''),
69
+ 10:
70
+ dict(name='head', id=10, color=[51, 153, 255], type='upper', swap=''),
71
+ 11:
72
+ dict(
73
+ name='left_shoulder',
74
+ id=11,
75
+ color=[0, 255, 0],
76
+ type='upper',
77
+ swap='right_shoulder'),
78
+ 12:
79
+ dict(
80
+ name='left_elbow',
81
+ id=12,
82
+ color=[0, 255, 0],
83
+ type='upper',
84
+ swap='right_elbow'),
85
+ 13:
86
+ dict(
87
+ name='left_wrist',
88
+ id=13,
89
+ color=[0, 255, 0],
90
+ type='upper',
91
+ swap='right_wrist'),
92
+ 14:
93
+ dict(
94
+ name='right_shoulder',
95
+ id=14,
96
+ color=[255, 128, 0],
97
+ type='upper',
98
+ swap='left_shoulder'),
99
+ 15:
100
+ dict(
101
+ name='right_elbow',
102
+ id=15,
103
+ color=[255, 128, 0],
104
+ type='upper',
105
+ swap='left_elbow'),
106
+ 16:
107
+ dict(
108
+ name='right_wrist',
109
+ id=16,
110
+ color=[255, 128, 0],
111
+ type='upper',
112
+ swap='left_wrist')
113
+ },
114
+ skeleton_info={
115
+ 0:
116
+ dict(link=('root', 'left_hip'), id=0, color=[0, 255, 0]),
117
+ 1:
118
+ dict(link=('left_hip', 'left_knee'), id=1, color=[0, 255, 0]),
119
+ 2:
120
+ dict(link=('left_knee', 'left_foot'), id=2, color=[0, 255, 0]),
121
+ 3:
122
+ dict(link=('root', 'right_hip'), id=3, color=[255, 128, 0]),
123
+ 4:
124
+ dict(link=('right_hip', 'right_knee'), id=4, color=[255, 128, 0]),
125
+ 5:
126
+ dict(link=('right_knee', 'right_foot'), id=5, color=[255, 128, 0]),
127
+ 6:
128
+ dict(link=('root', 'spine'), id=6, color=[51, 153, 255]),
129
+ 7:
130
+ dict(link=('spine', 'thorax'), id=7, color=[51, 153, 255]),
131
+ 8:
132
+ dict(link=('thorax', 'neck_base'), id=8, color=[51, 153, 255]),
133
+ 9:
134
+ dict(link=('neck_base', 'head'), id=9, color=[51, 153, 255]),
135
+ 10:
136
+ dict(link=('thorax', 'left_shoulder'), id=10, color=[0, 255, 0]),
137
+ 11:
138
+ dict(link=('left_shoulder', 'left_elbow'), id=11, color=[0, 255, 0]),
139
+ 12:
140
+ dict(link=('left_elbow', 'left_wrist'), id=12, color=[0, 255, 0]),
141
+ 13:
142
+ dict(link=('thorax', 'right_shoulder'), id=13, color=[255, 128, 0]),
143
+ 14:
144
+ dict(
145
+ link=('right_shoulder', 'right_elbow'), id=14, color=[255, 128,
146
+ 0]),
147
+ 15:
148
+ dict(link=('right_elbow', 'right_wrist'), id=15, color=[255, 128, 0])
149
+ },
150
+ joint_weights=[1.] * 17,
151
+ sigmas=[],
152
+ stats_info=dict(bbox_center=(528., 427.), bbox_scale=400.))
main/_base_/datasets/halpe.py ADDED
@@ -0,0 +1,1157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='halpe',
3
+ paper_info=dict(
4
+ author='Li, Yong-Lu and Xu, Liang and Liu, Xinpeng and Huang, Xijie'
5
+ ' and Xu, Yue and Wang, Shiyi and Fang, Hao-Shu'
6
+ ' and Ma, Ze and Chen, Mingyang and Lu, Cewu',
7
+ title='PaStaNet: Toward Human Activity Knowledge Engine',
8
+ container='CVPR',
9
+ year='2020',
10
+ homepage='https://github.com/Fang-Haoshu/Halpe-FullBody/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
15
+ 1:
16
+ dict(
17
+ name='left_eye',
18
+ id=1,
19
+ color=[51, 153, 255],
20
+ type='upper',
21
+ swap='right_eye'),
22
+ 2:
23
+ dict(
24
+ name='right_eye',
25
+ id=2,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='left_eye'),
29
+ 3:
30
+ dict(
31
+ name='left_ear',
32
+ id=3,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='right_ear'),
36
+ 4:
37
+ dict(
38
+ name='right_ear',
39
+ id=4,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='left_ear'),
43
+ 5:
44
+ dict(
45
+ name='left_shoulder',
46
+ id=5,
47
+ color=[0, 255, 0],
48
+ type='upper',
49
+ swap='right_shoulder'),
50
+ 6:
51
+ dict(
52
+ name='right_shoulder',
53
+ id=6,
54
+ color=[255, 128, 0],
55
+ type='upper',
56
+ swap='left_shoulder'),
57
+ 7:
58
+ dict(
59
+ name='left_elbow',
60
+ id=7,
61
+ color=[0, 255, 0],
62
+ type='upper',
63
+ swap='right_elbow'),
64
+ 8:
65
+ dict(
66
+ name='right_elbow',
67
+ id=8,
68
+ color=[255, 128, 0],
69
+ type='upper',
70
+ swap='left_elbow'),
71
+ 9:
72
+ dict(
73
+ name='left_wrist',
74
+ id=9,
75
+ color=[0, 255, 0],
76
+ type='upper',
77
+ swap='right_wrist'),
78
+ 10:
79
+ dict(
80
+ name='right_wrist',
81
+ id=10,
82
+ color=[255, 128, 0],
83
+ type='upper',
84
+ swap='left_wrist'),
85
+ 11:
86
+ dict(
87
+ name='left_hip',
88
+ id=11,
89
+ color=[0, 255, 0],
90
+ type='lower',
91
+ swap='right_hip'),
92
+ 12:
93
+ dict(
94
+ name='right_hip',
95
+ id=12,
96
+ color=[255, 128, 0],
97
+ type='lower',
98
+ swap='left_hip'),
99
+ 13:
100
+ dict(
101
+ name='left_knee',
102
+ id=13,
103
+ color=[0, 255, 0],
104
+ type='lower',
105
+ swap='right_knee'),
106
+ 14:
107
+ dict(
108
+ name='right_knee',
109
+ id=14,
110
+ color=[255, 128, 0],
111
+ type='lower',
112
+ swap='left_knee'),
113
+ 15:
114
+ dict(
115
+ name='left_ankle',
116
+ id=15,
117
+ color=[0, 255, 0],
118
+ type='lower',
119
+ swap='right_ankle'),
120
+ 16:
121
+ dict(
122
+ name='right_ankle',
123
+ id=16,
124
+ color=[255, 128, 0],
125
+ type='lower',
126
+ swap='left_ankle'),
127
+ 17:
128
+ dict(name='head', id=17, color=[255, 128, 0], type='upper', swap=''),
129
+ 18:
130
+ dict(name='neck', id=18, color=[255, 128, 0], type='upper', swap=''),
131
+ 19:
132
+ dict(name='hip', id=19, color=[255, 128, 0], type='lower', swap=''),
133
+ 20:
134
+ dict(
135
+ name='left_big_toe',
136
+ id=20,
137
+ color=[255, 128, 0],
138
+ type='lower',
139
+ swap='right_big_toe'),
140
+ 21:
141
+ dict(
142
+ name='right_big_toe',
143
+ id=21,
144
+ color=[255, 128, 0],
145
+ type='lower',
146
+ swap='left_big_toe'),
147
+ 22:
148
+ dict(
149
+ name='left_small_toe',
150
+ id=22,
151
+ color=[255, 128, 0],
152
+ type='lower',
153
+ swap='right_small_toe'),
154
+ 23:
155
+ dict(
156
+ name='right_small_toe',
157
+ id=23,
158
+ color=[255, 128, 0],
159
+ type='lower',
160
+ swap='left_small_toe'),
161
+ 24:
162
+ dict(
163
+ name='left_heel',
164
+ id=24,
165
+ color=[255, 128, 0],
166
+ type='lower',
167
+ swap='right_heel'),
168
+ 25:
169
+ dict(
170
+ name='right_heel',
171
+ id=25,
172
+ color=[255, 128, 0],
173
+ type='lower',
174
+ swap='left_heel'),
175
+ 26:
176
+ dict(
177
+ name='face-0',
178
+ id=26,
179
+ color=[255, 255, 255],
180
+ type='',
181
+ swap='face-16'),
182
+ 27:
183
+ dict(
184
+ name='face-1',
185
+ id=27,
186
+ color=[255, 255, 255],
187
+ type='',
188
+ swap='face-15'),
189
+ 28:
190
+ dict(
191
+ name='face-2',
192
+ id=28,
193
+ color=[255, 255, 255],
194
+ type='',
195
+ swap='face-14'),
196
+ 29:
197
+ dict(
198
+ name='face-3',
199
+ id=29,
200
+ color=[255, 255, 255],
201
+ type='',
202
+ swap='face-13'),
203
+ 30:
204
+ dict(
205
+ name='face-4',
206
+ id=30,
207
+ color=[255, 255, 255],
208
+ type='',
209
+ swap='face-12'),
210
+ 31:
211
+ dict(
212
+ name='face-5',
213
+ id=31,
214
+ color=[255, 255, 255],
215
+ type='',
216
+ swap='face-11'),
217
+ 32:
218
+ dict(
219
+ name='face-6',
220
+ id=32,
221
+ color=[255, 255, 255],
222
+ type='',
223
+ swap='face-10'),
224
+ 33:
225
+ dict(
226
+ name='face-7',
227
+ id=33,
228
+ color=[255, 255, 255],
229
+ type='',
230
+ swap='face-9'),
231
+ 34:
232
+ dict(name='face-8', id=34, color=[255, 255, 255], type='', swap=''),
233
+ 35:
234
+ dict(
235
+ name='face-9',
236
+ id=35,
237
+ color=[255, 255, 255],
238
+ type='',
239
+ swap='face-7'),
240
+ 36:
241
+ dict(
242
+ name='face-10',
243
+ id=36,
244
+ color=[255, 255, 255],
245
+ type='',
246
+ swap='face-6'),
247
+ 37:
248
+ dict(
249
+ name='face-11',
250
+ id=37,
251
+ color=[255, 255, 255],
252
+ type='',
253
+ swap='face-5'),
254
+ 38:
255
+ dict(
256
+ name='face-12',
257
+ id=38,
258
+ color=[255, 255, 255],
259
+ type='',
260
+ swap='face-4'),
261
+ 39:
262
+ dict(
263
+ name='face-13',
264
+ id=39,
265
+ color=[255, 255, 255],
266
+ type='',
267
+ swap='face-3'),
268
+ 40:
269
+ dict(
270
+ name='face-14',
271
+ id=40,
272
+ color=[255, 255, 255],
273
+ type='',
274
+ swap='face-2'),
275
+ 41:
276
+ dict(
277
+ name='face-15',
278
+ id=41,
279
+ color=[255, 255, 255],
280
+ type='',
281
+ swap='face-1'),
282
+ 42:
283
+ dict(
284
+ name='face-16',
285
+ id=42,
286
+ color=[255, 255, 255],
287
+ type='',
288
+ swap='face-0'),
289
+ 43:
290
+ dict(
291
+ name='face-17',
292
+ id=43,
293
+ color=[255, 255, 255],
294
+ type='',
295
+ swap='face-26'),
296
+ 44:
297
+ dict(
298
+ name='face-18',
299
+ id=44,
300
+ color=[255, 255, 255],
301
+ type='',
302
+ swap='face-25'),
303
+ 45:
304
+ dict(
305
+ name='face-19',
306
+ id=45,
307
+ color=[255, 255, 255],
308
+ type='',
309
+ swap='face-24'),
310
+ 46:
311
+ dict(
312
+ name='face-20',
313
+ id=46,
314
+ color=[255, 255, 255],
315
+ type='',
316
+ swap='face-23'),
317
+ 47:
318
+ dict(
319
+ name='face-21',
320
+ id=47,
321
+ color=[255, 255, 255],
322
+ type='',
323
+ swap='face-22'),
324
+ 48:
325
+ dict(
326
+ name='face-22',
327
+ id=48,
328
+ color=[255, 255, 255],
329
+ type='',
330
+ swap='face-21'),
331
+ 49:
332
+ dict(
333
+ name='face-23',
334
+ id=49,
335
+ color=[255, 255, 255],
336
+ type='',
337
+ swap='face-20'),
338
+ 50:
339
+ dict(
340
+ name='face-24',
341
+ id=50,
342
+ color=[255, 255, 255],
343
+ type='',
344
+ swap='face-19'),
345
+ 51:
346
+ dict(
347
+ name='face-25',
348
+ id=51,
349
+ color=[255, 255, 255],
350
+ type='',
351
+ swap='face-18'),
352
+ 52:
353
+ dict(
354
+ name='face-26',
355
+ id=52,
356
+ color=[255, 255, 255],
357
+ type='',
358
+ swap='face-17'),
359
+ 53:
360
+ dict(name='face-27', id=53, color=[255, 255, 255], type='', swap=''),
361
+ 54:
362
+ dict(name='face-28', id=54, color=[255, 255, 255], type='', swap=''),
363
+ 55:
364
+ dict(name='face-29', id=55, color=[255, 255, 255], type='', swap=''),
365
+ 56:
366
+ dict(name='face-30', id=56, color=[255, 255, 255], type='', swap=''),
367
+ 57:
368
+ dict(
369
+ name='face-31',
370
+ id=57,
371
+ color=[255, 255, 255],
372
+ type='',
373
+ swap='face-35'),
374
+ 58:
375
+ dict(
376
+ name='face-32',
377
+ id=58,
378
+ color=[255, 255, 255],
379
+ type='',
380
+ swap='face-34'),
381
+ 59:
382
+ dict(name='face-33', id=59, color=[255, 255, 255], type='', swap=''),
383
+ 60:
384
+ dict(
385
+ name='face-34',
386
+ id=60,
387
+ color=[255, 255, 255],
388
+ type='',
389
+ swap='face-32'),
390
+ 61:
391
+ dict(
392
+ name='face-35',
393
+ id=61,
394
+ color=[255, 255, 255],
395
+ type='',
396
+ swap='face-31'),
397
+ 62:
398
+ dict(
399
+ name='face-36',
400
+ id=62,
401
+ color=[255, 255, 255],
402
+ type='',
403
+ swap='face-45'),
404
+ 63:
405
+ dict(
406
+ name='face-37',
407
+ id=63,
408
+ color=[255, 255, 255],
409
+ type='',
410
+ swap='face-44'),
411
+ 64:
412
+ dict(
413
+ name='face-38',
414
+ id=64,
415
+ color=[255, 255, 255],
416
+ type='',
417
+ swap='face-43'),
418
+ 65:
419
+ dict(
420
+ name='face-39',
421
+ id=65,
422
+ color=[255, 255, 255],
423
+ type='',
424
+ swap='face-42'),
425
+ 66:
426
+ dict(
427
+ name='face-40',
428
+ id=66,
429
+ color=[255, 255, 255],
430
+ type='',
431
+ swap='face-47'),
432
+ 67:
433
+ dict(
434
+ name='face-41',
435
+ id=67,
436
+ color=[255, 255, 255],
437
+ type='',
438
+ swap='face-46'),
439
+ 68:
440
+ dict(
441
+ name='face-42',
442
+ id=68,
443
+ color=[255, 255, 255],
444
+ type='',
445
+ swap='face-39'),
446
+ 69:
447
+ dict(
448
+ name='face-43',
449
+ id=69,
450
+ color=[255, 255, 255],
451
+ type='',
452
+ swap='face-38'),
453
+ 70:
454
+ dict(
455
+ name='face-44',
456
+ id=70,
457
+ color=[255, 255, 255],
458
+ type='',
459
+ swap='face-37'),
460
+ 71:
461
+ dict(
462
+ name='face-45',
463
+ id=71,
464
+ color=[255, 255, 255],
465
+ type='',
466
+ swap='face-36'),
467
+ 72:
468
+ dict(
469
+ name='face-46',
470
+ id=72,
471
+ color=[255, 255, 255],
472
+ type='',
473
+ swap='face-41'),
474
+ 73:
475
+ dict(
476
+ name='face-47',
477
+ id=73,
478
+ color=[255, 255, 255],
479
+ type='',
480
+ swap='face-40'),
481
+ 74:
482
+ dict(
483
+ name='face-48',
484
+ id=74,
485
+ color=[255, 255, 255],
486
+ type='',
487
+ swap='face-54'),
488
+ 75:
489
+ dict(
490
+ name='face-49',
491
+ id=75,
492
+ color=[255, 255, 255],
493
+ type='',
494
+ swap='face-53'),
495
+ 76:
496
+ dict(
497
+ name='face-50',
498
+ id=76,
499
+ color=[255, 255, 255],
500
+ type='',
501
+ swap='face-52'),
502
+ 77:
503
+ dict(name='face-51', id=77, color=[255, 255, 255], type='', swap=''),
504
+ 78:
505
+ dict(
506
+ name='face-52',
507
+ id=78,
508
+ color=[255, 255, 255],
509
+ type='',
510
+ swap='face-50'),
511
+ 79:
512
+ dict(
513
+ name='face-53',
514
+ id=79,
515
+ color=[255, 255, 255],
516
+ type='',
517
+ swap='face-49'),
518
+ 80:
519
+ dict(
520
+ name='face-54',
521
+ id=80,
522
+ color=[255, 255, 255],
523
+ type='',
524
+ swap='face-48'),
525
+ 81:
526
+ dict(
527
+ name='face-55',
528
+ id=81,
529
+ color=[255, 255, 255],
530
+ type='',
531
+ swap='face-59'),
532
+ 82:
533
+ dict(
534
+ name='face-56',
535
+ id=82,
536
+ color=[255, 255, 255],
537
+ type='',
538
+ swap='face-58'),
539
+ 83:
540
+ dict(name='face-57', id=83, color=[255, 255, 255], type='', swap=''),
541
+ 84:
542
+ dict(
543
+ name='face-58',
544
+ id=84,
545
+ color=[255, 255, 255],
546
+ type='',
547
+ swap='face-56'),
548
+ 85:
549
+ dict(
550
+ name='face-59',
551
+ id=85,
552
+ color=[255, 255, 255],
553
+ type='',
554
+ swap='face-55'),
555
+ 86:
556
+ dict(
557
+ name='face-60',
558
+ id=86,
559
+ color=[255, 255, 255],
560
+ type='',
561
+ swap='face-64'),
562
+ 87:
563
+ dict(
564
+ name='face-61',
565
+ id=87,
566
+ color=[255, 255, 255],
567
+ type='',
568
+ swap='face-63'),
569
+ 88:
570
+ dict(name='face-62', id=88, color=[255, 255, 255], type='', swap=''),
571
+ 89:
572
+ dict(
573
+ name='face-63',
574
+ id=89,
575
+ color=[255, 255, 255],
576
+ type='',
577
+ swap='face-61'),
578
+ 90:
579
+ dict(
580
+ name='face-64',
581
+ id=90,
582
+ color=[255, 255, 255],
583
+ type='',
584
+ swap='face-60'),
585
+ 91:
586
+ dict(
587
+ name='face-65',
588
+ id=91,
589
+ color=[255, 255, 255],
590
+ type='',
591
+ swap='face-67'),
592
+ 92:
593
+ dict(name='face-66', id=92, color=[255, 255, 255], type='', swap=''),
594
+ 93:
595
+ dict(
596
+ name='face-67',
597
+ id=93,
598
+ color=[255, 255, 255],
599
+ type='',
600
+ swap='face-65'),
601
+ 94:
602
+ dict(
603
+ name='left_hand_root',
604
+ id=94,
605
+ color=[255, 255, 255],
606
+ type='',
607
+ swap='right_hand_root'),
608
+ 95:
609
+ dict(
610
+ name='left_thumb1',
611
+ id=95,
612
+ color=[255, 128, 0],
613
+ type='',
614
+ swap='right_thumb1'),
615
+ 96:
616
+ dict(
617
+ name='left_thumb2',
618
+ id=96,
619
+ color=[255, 128, 0],
620
+ type='',
621
+ swap='right_thumb2'),
622
+ 97:
623
+ dict(
624
+ name='left_thumb3',
625
+ id=97,
626
+ color=[255, 128, 0],
627
+ type='',
628
+ swap='right_thumb3'),
629
+ 98:
630
+ dict(
631
+ name='left_thumb4',
632
+ id=98,
633
+ color=[255, 128, 0],
634
+ type='',
635
+ swap='right_thumb4'),
636
+ 99:
637
+ dict(
638
+ name='left_forefinger1',
639
+ id=99,
640
+ color=[255, 153, 255],
641
+ type='',
642
+ swap='right_forefinger1'),
643
+ 100:
644
+ dict(
645
+ name='left_forefinger2',
646
+ id=100,
647
+ color=[255, 153, 255],
648
+ type='',
649
+ swap='right_forefinger2'),
650
+ 101:
651
+ dict(
652
+ name='left_forefinger3',
653
+ id=101,
654
+ color=[255, 153, 255],
655
+ type='',
656
+ swap='right_forefinger3'),
657
+ 102:
658
+ dict(
659
+ name='left_forefinger4',
660
+ id=102,
661
+ color=[255, 153, 255],
662
+ type='',
663
+ swap='right_forefinger4'),
664
+ 103:
665
+ dict(
666
+ name='left_middle_finger1',
667
+ id=103,
668
+ color=[102, 178, 255],
669
+ type='',
670
+ swap='right_middle_finger1'),
671
+ 104:
672
+ dict(
673
+ name='left_middle_finger2',
674
+ id=104,
675
+ color=[102, 178, 255],
676
+ type='',
677
+ swap='right_middle_finger2'),
678
+ 105:
679
+ dict(
680
+ name='left_middle_finger3',
681
+ id=105,
682
+ color=[102, 178, 255],
683
+ type='',
684
+ swap='right_middle_finger3'),
685
+ 106:
686
+ dict(
687
+ name='left_middle_finger4',
688
+ id=106,
689
+ color=[102, 178, 255],
690
+ type='',
691
+ swap='right_middle_finger4'),
692
+ 107:
693
+ dict(
694
+ name='left_ring_finger1',
695
+ id=107,
696
+ color=[255, 51, 51],
697
+ type='',
698
+ swap='right_ring_finger1'),
699
+ 108:
700
+ dict(
701
+ name='left_ring_finger2',
702
+ id=108,
703
+ color=[255, 51, 51],
704
+ type='',
705
+ swap='right_ring_finger2'),
706
+ 109:
707
+ dict(
708
+ name='left_ring_finger3',
709
+ id=109,
710
+ color=[255, 51, 51],
711
+ type='',
712
+ swap='right_ring_finger3'),
713
+ 110:
714
+ dict(
715
+ name='left_ring_finger4',
716
+ id=110,
717
+ color=[255, 51, 51],
718
+ type='',
719
+ swap='right_ring_finger4'),
720
+ 111:
721
+ dict(
722
+ name='left_pinky_finger1',
723
+ id=111,
724
+ color=[0, 255, 0],
725
+ type='',
726
+ swap='right_pinky_finger1'),
727
+ 112:
728
+ dict(
729
+ name='left_pinky_finger2',
730
+ id=112,
731
+ color=[0, 255, 0],
732
+ type='',
733
+ swap='right_pinky_finger2'),
734
+ 113:
735
+ dict(
736
+ name='left_pinky_finger3',
737
+ id=113,
738
+ color=[0, 255, 0],
739
+ type='',
740
+ swap='right_pinky_finger3'),
741
+ 114:
742
+ dict(
743
+ name='left_pinky_finger4',
744
+ id=114,
745
+ color=[0, 255, 0],
746
+ type='',
747
+ swap='right_pinky_finger4'),
748
+ 115:
749
+ dict(
750
+ name='right_hand_root',
751
+ id=115,
752
+ color=[255, 255, 255],
753
+ type='',
754
+ swap='left_hand_root'),
755
+ 116:
756
+ dict(
757
+ name='right_thumb1',
758
+ id=116,
759
+ color=[255, 128, 0],
760
+ type='',
761
+ swap='left_thumb1'),
762
+ 117:
763
+ dict(
764
+ name='right_thumb2',
765
+ id=117,
766
+ color=[255, 128, 0],
767
+ type='',
768
+ swap='left_thumb2'),
769
+ 118:
770
+ dict(
771
+ name='right_thumb3',
772
+ id=118,
773
+ color=[255, 128, 0],
774
+ type='',
775
+ swap='left_thumb3'),
776
+ 119:
777
+ dict(
778
+ name='right_thumb4',
779
+ id=119,
780
+ color=[255, 128, 0],
781
+ type='',
782
+ swap='left_thumb4'),
783
+ 120:
784
+ dict(
785
+ name='right_forefinger1',
786
+ id=120,
787
+ color=[255, 153, 255],
788
+ type='',
789
+ swap='left_forefinger1'),
790
+ 121:
791
+ dict(
792
+ name='right_forefinger2',
793
+ id=121,
794
+ color=[255, 153, 255],
795
+ type='',
796
+ swap='left_forefinger2'),
797
+ 122:
798
+ dict(
799
+ name='right_forefinger3',
800
+ id=122,
801
+ color=[255, 153, 255],
802
+ type='',
803
+ swap='left_forefinger3'),
804
+ 123:
805
+ dict(
806
+ name='right_forefinger4',
807
+ id=123,
808
+ color=[255, 153, 255],
809
+ type='',
810
+ swap='left_forefinger4'),
811
+ 124:
812
+ dict(
813
+ name='right_middle_finger1',
814
+ id=124,
815
+ color=[102, 178, 255],
816
+ type='',
817
+ swap='left_middle_finger1'),
818
+ 125:
819
+ dict(
820
+ name='right_middle_finger2',
821
+ id=125,
822
+ color=[102, 178, 255],
823
+ type='',
824
+ swap='left_middle_finger2'),
825
+ 126:
826
+ dict(
827
+ name='right_middle_finger3',
828
+ id=126,
829
+ color=[102, 178, 255],
830
+ type='',
831
+ swap='left_middle_finger3'),
832
+ 127:
833
+ dict(
834
+ name='right_middle_finger4',
835
+ id=127,
836
+ color=[102, 178, 255],
837
+ type='',
838
+ swap='left_middle_finger4'),
839
+ 128:
840
+ dict(
841
+ name='right_ring_finger1',
842
+ id=128,
843
+ color=[255, 51, 51],
844
+ type='',
845
+ swap='left_ring_finger1'),
846
+ 129:
847
+ dict(
848
+ name='right_ring_finger2',
849
+ id=129,
850
+ color=[255, 51, 51],
851
+ type='',
852
+ swap='left_ring_finger2'),
853
+ 130:
854
+ dict(
855
+ name='right_ring_finger3',
856
+ id=130,
857
+ color=[255, 51, 51],
858
+ type='',
859
+ swap='left_ring_finger3'),
860
+ 131:
861
+ dict(
862
+ name='right_ring_finger4',
863
+ id=131,
864
+ color=[255, 51, 51],
865
+ type='',
866
+ swap='left_ring_finger4'),
867
+ 132:
868
+ dict(
869
+ name='right_pinky_finger1',
870
+ id=132,
871
+ color=[0, 255, 0],
872
+ type='',
873
+ swap='left_pinky_finger1'),
874
+ 133:
875
+ dict(
876
+ name='right_pinky_finger2',
877
+ id=133,
878
+ color=[0, 255, 0],
879
+ type='',
880
+ swap='left_pinky_finger2'),
881
+ 134:
882
+ dict(
883
+ name='right_pinky_finger3',
884
+ id=134,
885
+ color=[0, 255, 0],
886
+ type='',
887
+ swap='left_pinky_finger3'),
888
+ 135:
889
+ dict(
890
+ name='right_pinky_finger4',
891
+ id=135,
892
+ color=[0, 255, 0],
893
+ type='',
894
+ swap='left_pinky_finger4')
895
+ },
896
+ skeleton_info={
897
+ 0:
898
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
899
+ 1:
900
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
901
+ 2:
902
+ dict(link=('left_hip', 'hip'), id=2, color=[0, 255, 0]),
903
+ 3:
904
+ dict(link=('right_ankle', 'right_knee'), id=3, color=[255, 128, 0]),
905
+ 4:
906
+ dict(link=('right_knee', 'right_hip'), id=4, color=[255, 128, 0]),
907
+ 5:
908
+ dict(link=('right_hip', 'hip'), id=5, color=[255, 128, 0]),
909
+ 6:
910
+ dict(link=('head', 'neck'), id=6, color=[51, 153, 255]),
911
+ 7:
912
+ dict(link=('neck', 'hip'), id=7, color=[51, 153, 255]),
913
+ 8:
914
+ dict(link=('neck', 'left_shoulder'), id=8, color=[0, 255, 0]),
915
+ 9:
916
+ dict(link=('left_shoulder', 'left_elbow'), id=9, color=[0, 255, 0]),
917
+ 10:
918
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
919
+ 11:
920
+ dict(link=('neck', 'right_shoulder'), id=11, color=[255, 128, 0]),
921
+ 12:
922
+ dict(
923
+ link=('right_shoulder', 'right_elbow'), id=12, color=[255, 128,
924
+ 0]),
925
+ 13:
926
+ dict(link=('right_elbow', 'right_wrist'), id=13, color=[255, 128, 0]),
927
+ 14:
928
+ dict(link=('left_eye', 'right_eye'), id=14, color=[51, 153, 255]),
929
+ 15:
930
+ dict(link=('nose', 'left_eye'), id=15, color=[51, 153, 255]),
931
+ 16:
932
+ dict(link=('nose', 'right_eye'), id=16, color=[51, 153, 255]),
933
+ 17:
934
+ dict(link=('left_eye', 'left_ear'), id=17, color=[51, 153, 255]),
935
+ 18:
936
+ dict(link=('right_eye', 'right_ear'), id=18, color=[51, 153, 255]),
937
+ 19:
938
+ dict(link=('left_ear', 'left_shoulder'), id=19, color=[51, 153, 255]),
939
+ 20:
940
+ dict(
941
+ link=('right_ear', 'right_shoulder'), id=20, color=[51, 153, 255]),
942
+ 21:
943
+ dict(link=('left_ankle', 'left_big_toe'), id=21, color=[0, 255, 0]),
944
+ 22:
945
+ dict(link=('left_ankle', 'left_small_toe'), id=22, color=[0, 255, 0]),
946
+ 23:
947
+ dict(link=('left_ankle', 'left_heel'), id=23, color=[0, 255, 0]),
948
+ 24:
949
+ dict(
950
+ link=('right_ankle', 'right_big_toe'), id=24, color=[255, 128, 0]),
951
+ 25:
952
+ dict(
953
+ link=('right_ankle', 'right_small_toe'),
954
+ id=25,
955
+ color=[255, 128, 0]),
956
+ 26:
957
+ dict(link=('right_ankle', 'right_heel'), id=26, color=[255, 128, 0]),
958
+ 27:
959
+ dict(link=('left_wrist', 'left_thumb1'), id=27, color=[255, 128, 0]),
960
+ 28:
961
+ dict(link=('left_thumb1', 'left_thumb2'), id=28, color=[255, 128, 0]),
962
+ 29:
963
+ dict(link=('left_thumb2', 'left_thumb3'), id=29, color=[255, 128, 0]),
964
+ 30:
965
+ dict(link=('left_thumb3', 'left_thumb4'), id=30, color=[255, 128, 0]),
966
+ 31:
967
+ dict(
968
+ link=('left_wrist', 'left_forefinger1'),
969
+ id=31,
970
+ color=[255, 153, 255]),
971
+ 32:
972
+ dict(
973
+ link=('left_forefinger1', 'left_forefinger2'),
974
+ id=32,
975
+ color=[255, 153, 255]),
976
+ 33:
977
+ dict(
978
+ link=('left_forefinger2', 'left_forefinger3'),
979
+ id=33,
980
+ color=[255, 153, 255]),
981
+ 34:
982
+ dict(
983
+ link=('left_forefinger3', 'left_forefinger4'),
984
+ id=34,
985
+ color=[255, 153, 255]),
986
+ 35:
987
+ dict(
988
+ link=('left_wrist', 'left_middle_finger1'),
989
+ id=35,
990
+ color=[102, 178, 255]),
991
+ 36:
992
+ dict(
993
+ link=('left_middle_finger1', 'left_middle_finger2'),
994
+ id=36,
995
+ color=[102, 178, 255]),
996
+ 37:
997
+ dict(
998
+ link=('left_middle_finger2', 'left_middle_finger3'),
999
+ id=37,
1000
+ color=[102, 178, 255]),
1001
+ 38:
1002
+ dict(
1003
+ link=('left_middle_finger3', 'left_middle_finger4'),
1004
+ id=38,
1005
+ color=[102, 178, 255]),
1006
+ 39:
1007
+ dict(
1008
+ link=('left_wrist', 'left_ring_finger1'),
1009
+ id=39,
1010
+ color=[255, 51, 51]),
1011
+ 40:
1012
+ dict(
1013
+ link=('left_ring_finger1', 'left_ring_finger2'),
1014
+ id=40,
1015
+ color=[255, 51, 51]),
1016
+ 41:
1017
+ dict(
1018
+ link=('left_ring_finger2', 'left_ring_finger3'),
1019
+ id=41,
1020
+ color=[255, 51, 51]),
1021
+ 42:
1022
+ dict(
1023
+ link=('left_ring_finger3', 'left_ring_finger4'),
1024
+ id=42,
1025
+ color=[255, 51, 51]),
1026
+ 43:
1027
+ dict(
1028
+ link=('left_wrist', 'left_pinky_finger1'),
1029
+ id=43,
1030
+ color=[0, 255, 0]),
1031
+ 44:
1032
+ dict(
1033
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1034
+ id=44,
1035
+ color=[0, 255, 0]),
1036
+ 45:
1037
+ dict(
1038
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1039
+ id=45,
1040
+ color=[0, 255, 0]),
1041
+ 46:
1042
+ dict(
1043
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1044
+ id=46,
1045
+ color=[0, 255, 0]),
1046
+ 47:
1047
+ dict(link=('right_wrist', 'right_thumb1'), id=47, color=[255, 128, 0]),
1048
+ 48:
1049
+ dict(
1050
+ link=('right_thumb1', 'right_thumb2'), id=48, color=[255, 128, 0]),
1051
+ 49:
1052
+ dict(
1053
+ link=('right_thumb2', 'right_thumb3'), id=49, color=[255, 128, 0]),
1054
+ 50:
1055
+ dict(
1056
+ link=('right_thumb3', 'right_thumb4'), id=50, color=[255, 128, 0]),
1057
+ 51:
1058
+ dict(
1059
+ link=('right_wrist', 'right_forefinger1'),
1060
+ id=51,
1061
+ color=[255, 153, 255]),
1062
+ 52:
1063
+ dict(
1064
+ link=('right_forefinger1', 'right_forefinger2'),
1065
+ id=52,
1066
+ color=[255, 153, 255]),
1067
+ 53:
1068
+ dict(
1069
+ link=('right_forefinger2', 'right_forefinger3'),
1070
+ id=53,
1071
+ color=[255, 153, 255]),
1072
+ 54:
1073
+ dict(
1074
+ link=('right_forefinger3', 'right_forefinger4'),
1075
+ id=54,
1076
+ color=[255, 153, 255]),
1077
+ 55:
1078
+ dict(
1079
+ link=('right_wrist', 'right_middle_finger1'),
1080
+ id=55,
1081
+ color=[102, 178, 255]),
1082
+ 56:
1083
+ dict(
1084
+ link=('right_middle_finger1', 'right_middle_finger2'),
1085
+ id=56,
1086
+ color=[102, 178, 255]),
1087
+ 57:
1088
+ dict(
1089
+ link=('right_middle_finger2', 'right_middle_finger3'),
1090
+ id=57,
1091
+ color=[102, 178, 255]),
1092
+ 58:
1093
+ dict(
1094
+ link=('right_middle_finger3', 'right_middle_finger4'),
1095
+ id=58,
1096
+ color=[102, 178, 255]),
1097
+ 59:
1098
+ dict(
1099
+ link=('right_wrist', 'right_ring_finger1'),
1100
+ id=59,
1101
+ color=[255, 51, 51]),
1102
+ 60:
1103
+ dict(
1104
+ link=('right_ring_finger1', 'right_ring_finger2'),
1105
+ id=60,
1106
+ color=[255, 51, 51]),
1107
+ 61:
1108
+ dict(
1109
+ link=('right_ring_finger2', 'right_ring_finger3'),
1110
+ id=61,
1111
+ color=[255, 51, 51]),
1112
+ 62:
1113
+ dict(
1114
+ link=('right_ring_finger3', 'right_ring_finger4'),
1115
+ id=62,
1116
+ color=[255, 51, 51]),
1117
+ 63:
1118
+ dict(
1119
+ link=('right_wrist', 'right_pinky_finger1'),
1120
+ id=63,
1121
+ color=[0, 255, 0]),
1122
+ 64:
1123
+ dict(
1124
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1125
+ id=64,
1126
+ color=[0, 255, 0]),
1127
+ 65:
1128
+ dict(
1129
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1130
+ id=65,
1131
+ color=[0, 255, 0]),
1132
+ 66:
1133
+ dict(
1134
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1135
+ id=66,
1136
+ color=[0, 255, 0])
1137
+ },
1138
+ joint_weights=[1.] * 136,
1139
+
1140
+ # 'https://github.com/Fang-Haoshu/Halpe-FullBody/blob/master/'
1141
+ # 'HalpeCOCOAPI/PythonAPI/halpecocotools/cocoeval.py#L245'
1142
+ sigmas=[
1143
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1144
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.08, 0.08, 0.08,
1145
+ 0.089, 0.089, 0.089, 0.089, 0.089, 0.089, 0.015, 0.015, 0.015, 0.015,
1146
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1147
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1148
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1149
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1150
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1151
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1152
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1153
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1154
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1155
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1156
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015
1157
+ ])
main/_base_/datasets/horse10.py ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='horse10',
3
+ paper_info=dict(
4
+ author='Mathis, Alexander and Biasi, Thomas and '
5
+ 'Schneider, Steffen and '
6
+ 'Yuksekgonul, Mert and Rogers, Byron and '
7
+ 'Bethge, Matthias and '
8
+ 'Mathis, Mackenzie W',
9
+ title='Pretraining boosts out-of-domain robustness '
10
+ 'for pose estimation',
11
+ container='Proceedings of the IEEE/CVF Winter Conference on '
12
+ 'Applications of Computer Vision',
13
+ year='2021',
14
+ homepage='http://www.mackenziemathislab.org/horse10',
15
+ ),
16
+ keypoint_info={
17
+ 0:
18
+ dict(name='Nose', id=0, color=[255, 153, 255], type='upper', swap=''),
19
+ 1:
20
+ dict(name='Eye', id=1, color=[255, 153, 255], type='upper', swap=''),
21
+ 2:
22
+ dict(
23
+ name='Nearknee',
24
+ id=2,
25
+ color=[255, 102, 255],
26
+ type='upper',
27
+ swap=''),
28
+ 3:
29
+ dict(
30
+ name='Nearfrontfetlock',
31
+ id=3,
32
+ color=[255, 102, 255],
33
+ type='upper',
34
+ swap=''),
35
+ 4:
36
+ dict(
37
+ name='Nearfrontfoot',
38
+ id=4,
39
+ color=[255, 102, 255],
40
+ type='upper',
41
+ swap=''),
42
+ 5:
43
+ dict(
44
+ name='Offknee', id=5, color=[255, 102, 255], type='upper',
45
+ swap=''),
46
+ 6:
47
+ dict(
48
+ name='Offfrontfetlock',
49
+ id=6,
50
+ color=[255, 102, 255],
51
+ type='upper',
52
+ swap=''),
53
+ 7:
54
+ dict(
55
+ name='Offfrontfoot',
56
+ id=7,
57
+ color=[255, 102, 255],
58
+ type='upper',
59
+ swap=''),
60
+ 8:
61
+ dict(
62
+ name='Shoulder',
63
+ id=8,
64
+ color=[255, 153, 255],
65
+ type='upper',
66
+ swap=''),
67
+ 9:
68
+ dict(
69
+ name='Midshoulder',
70
+ id=9,
71
+ color=[255, 153, 255],
72
+ type='upper',
73
+ swap=''),
74
+ 10:
75
+ dict(
76
+ name='Elbow', id=10, color=[255, 153, 255], type='upper', swap=''),
77
+ 11:
78
+ dict(
79
+ name='Girth', id=11, color=[255, 153, 255], type='upper', swap=''),
80
+ 12:
81
+ dict(
82
+ name='Wither', id=12, color=[255, 153, 255], type='upper',
83
+ swap=''),
84
+ 13:
85
+ dict(
86
+ name='Nearhindhock',
87
+ id=13,
88
+ color=[255, 51, 255],
89
+ type='lower',
90
+ swap=''),
91
+ 14:
92
+ dict(
93
+ name='Nearhindfetlock',
94
+ id=14,
95
+ color=[255, 51, 255],
96
+ type='lower',
97
+ swap=''),
98
+ 15:
99
+ dict(
100
+ name='Nearhindfoot',
101
+ id=15,
102
+ color=[255, 51, 255],
103
+ type='lower',
104
+ swap=''),
105
+ 16:
106
+ dict(name='Hip', id=16, color=[255, 153, 255], type='lower', swap=''),
107
+ 17:
108
+ dict(
109
+ name='Stifle', id=17, color=[255, 153, 255], type='lower',
110
+ swap=''),
111
+ 18:
112
+ dict(
113
+ name='Offhindhock',
114
+ id=18,
115
+ color=[255, 51, 255],
116
+ type='lower',
117
+ swap=''),
118
+ 19:
119
+ dict(
120
+ name='Offhindfetlock',
121
+ id=19,
122
+ color=[255, 51, 255],
123
+ type='lower',
124
+ swap=''),
125
+ 20:
126
+ dict(
127
+ name='Offhindfoot',
128
+ id=20,
129
+ color=[255, 51, 255],
130
+ type='lower',
131
+ swap=''),
132
+ 21:
133
+ dict(
134
+ name='Ischium',
135
+ id=21,
136
+ color=[255, 153, 255],
137
+ type='lower',
138
+ swap='')
139
+ },
140
+ skeleton_info={
141
+ 0:
142
+ dict(link=('Nose', 'Eye'), id=0, color=[255, 153, 255]),
143
+ 1:
144
+ dict(link=('Eye', 'Wither'), id=1, color=[255, 153, 255]),
145
+ 2:
146
+ dict(link=('Wither', 'Hip'), id=2, color=[255, 153, 255]),
147
+ 3:
148
+ dict(link=('Hip', 'Ischium'), id=3, color=[255, 153, 255]),
149
+ 4:
150
+ dict(link=('Ischium', 'Stifle'), id=4, color=[255, 153, 255]),
151
+ 5:
152
+ dict(link=('Stifle', 'Girth'), id=5, color=[255, 153, 255]),
153
+ 6:
154
+ dict(link=('Girth', 'Elbow'), id=6, color=[255, 153, 255]),
155
+ 7:
156
+ dict(link=('Elbow', 'Shoulder'), id=7, color=[255, 153, 255]),
157
+ 8:
158
+ dict(link=('Shoulder', 'Midshoulder'), id=8, color=[255, 153, 255]),
159
+ 9:
160
+ dict(link=('Midshoulder', 'Wither'), id=9, color=[255, 153, 255]),
161
+ 10:
162
+ dict(
163
+ link=('Nearknee', 'Nearfrontfetlock'),
164
+ id=10,
165
+ color=[255, 102, 255]),
166
+ 11:
167
+ dict(
168
+ link=('Nearfrontfetlock', 'Nearfrontfoot'),
169
+ id=11,
170
+ color=[255, 102, 255]),
171
+ 12:
172
+ dict(
173
+ link=('Offknee', 'Offfrontfetlock'), id=12, color=[255, 102, 255]),
174
+ 13:
175
+ dict(
176
+ link=('Offfrontfetlock', 'Offfrontfoot'),
177
+ id=13,
178
+ color=[255, 102, 255]),
179
+ 14:
180
+ dict(
181
+ link=('Nearhindhock', 'Nearhindfetlock'),
182
+ id=14,
183
+ color=[255, 51, 255]),
184
+ 15:
185
+ dict(
186
+ link=('Nearhindfetlock', 'Nearhindfoot'),
187
+ id=15,
188
+ color=[255, 51, 255]),
189
+ 16:
190
+ dict(
191
+ link=('Offhindhock', 'Offhindfetlock'),
192
+ id=16,
193
+ color=[255, 51, 255]),
194
+ 17:
195
+ dict(
196
+ link=('Offhindfetlock', 'Offhindfoot'),
197
+ id=17,
198
+ color=[255, 51, 255])
199
+ },
200
+ joint_weights=[1.] * 22,
201
+ sigmas=[])
main/_base_/datasets/interhand2d.py ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='interhand2d',
3
+ paper_info=dict(
4
+ author='Moon, Gyeongsik and Yu, Shoou-I and Wen, He and '
5
+ 'Shiratori, Takaaki and Lee, Kyoung Mu',
6
+ title='InterHand2.6M: A dataset and baseline for 3D '
7
+ 'interacting hand pose estimation from a single RGB image',
8
+ container='arXiv',
9
+ year='2020',
10
+ homepage='https://mks0601.github.io/InterHand2.6M/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='thumb4', id=0, color=[255, 128, 0], type='', swap=''),
15
+ 1:
16
+ dict(name='thumb3', id=1, color=[255, 128, 0], type='', swap=''),
17
+ 2:
18
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
19
+ 3:
20
+ dict(name='thumb1', id=3, color=[255, 128, 0], type='', swap=''),
21
+ 4:
22
+ dict(
23
+ name='forefinger4', id=4, color=[255, 153, 255], type='', swap=''),
24
+ 5:
25
+ dict(
26
+ name='forefinger3', id=5, color=[255, 153, 255], type='', swap=''),
27
+ 6:
28
+ dict(
29
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
30
+ 7:
31
+ dict(
32
+ name='forefinger1', id=7, color=[255, 153, 255], type='', swap=''),
33
+ 8:
34
+ dict(
35
+ name='middle_finger4',
36
+ id=8,
37
+ color=[102, 178, 255],
38
+ type='',
39
+ swap=''),
40
+ 9:
41
+ dict(
42
+ name='middle_finger3',
43
+ id=9,
44
+ color=[102, 178, 255],
45
+ type='',
46
+ swap=''),
47
+ 10:
48
+ dict(
49
+ name='middle_finger2',
50
+ id=10,
51
+ color=[102, 178, 255],
52
+ type='',
53
+ swap=''),
54
+ 11:
55
+ dict(
56
+ name='middle_finger1',
57
+ id=11,
58
+ color=[102, 178, 255],
59
+ type='',
60
+ swap=''),
61
+ 12:
62
+ dict(
63
+ name='ring_finger4', id=12, color=[255, 51, 51], type='', swap=''),
64
+ 13:
65
+ dict(
66
+ name='ring_finger3', id=13, color=[255, 51, 51], type='', swap=''),
67
+ 14:
68
+ dict(
69
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
70
+ 15:
71
+ dict(
72
+ name='ring_finger1', id=15, color=[255, 51, 51], type='', swap=''),
73
+ 16:
74
+ dict(name='pinky_finger4', id=16, color=[0, 255, 0], type='', swap=''),
75
+ 17:
76
+ dict(name='pinky_finger3', id=17, color=[0, 255, 0], type='', swap=''),
77
+ 18:
78
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
79
+ 19:
80
+ dict(name='pinky_finger1', id=19, color=[0, 255, 0], type='', swap=''),
81
+ 20:
82
+ dict(name='wrist', id=20, color=[255, 255, 255], type='', swap='')
83
+ },
84
+ skeleton_info={
85
+ 0:
86
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
87
+ 1:
88
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
89
+ 2:
90
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
91
+ 3:
92
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
93
+ 4:
94
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
95
+ 5:
96
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
97
+ 6:
98
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
99
+ 7:
100
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
101
+ 8:
102
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
103
+ 9:
104
+ dict(
105
+ link=('middle_finger1', 'middle_finger2'),
106
+ id=9,
107
+ color=[102, 178, 255]),
108
+ 10:
109
+ dict(
110
+ link=('middle_finger2', 'middle_finger3'),
111
+ id=10,
112
+ color=[102, 178, 255]),
113
+ 11:
114
+ dict(
115
+ link=('middle_finger3', 'middle_finger4'),
116
+ id=11,
117
+ color=[102, 178, 255]),
118
+ 12:
119
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
120
+ 13:
121
+ dict(
122
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
123
+ 14:
124
+ dict(
125
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
126
+ 15:
127
+ dict(
128
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
129
+ 16:
130
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
131
+ 17:
132
+ dict(
133
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
134
+ 18:
135
+ dict(
136
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
137
+ 19:
138
+ dict(
139
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
140
+ },
141
+ joint_weights=[1.] * 21,
142
+ sigmas=[])
main/_base_/datasets/interhand3d.py ADDED
@@ -0,0 +1,487 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='interhand3d',
3
+ paper_info=dict(
4
+ author='Moon, Gyeongsik and Yu, Shoou-I and Wen, He and '
5
+ 'Shiratori, Takaaki and Lee, Kyoung Mu',
6
+ title='InterHand2.6M: A dataset and baseline for 3D '
7
+ 'interacting hand pose estimation from a single RGB image',
8
+ container='arXiv',
9
+ year='2020',
10
+ homepage='https://mks0601.github.io/InterHand2.6M/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='right_thumb4',
16
+ id=0,
17
+ color=[255, 128, 0],
18
+ type='',
19
+ swap='left_thumb4'),
20
+ 1:
21
+ dict(
22
+ name='right_thumb3',
23
+ id=1,
24
+ color=[255, 128, 0],
25
+ type='',
26
+ swap='left_thumb3'),
27
+ 2:
28
+ dict(
29
+ name='right_thumb2',
30
+ id=2,
31
+ color=[255, 128, 0],
32
+ type='',
33
+ swap='left_thumb2'),
34
+ 3:
35
+ dict(
36
+ name='right_thumb1',
37
+ id=3,
38
+ color=[255, 128, 0],
39
+ type='',
40
+ swap='left_thumb1'),
41
+ 4:
42
+ dict(
43
+ name='right_forefinger4',
44
+ id=4,
45
+ color=[255, 153, 255],
46
+ type='',
47
+ swap='left_forefinger4'),
48
+ 5:
49
+ dict(
50
+ name='right_forefinger3',
51
+ id=5,
52
+ color=[255, 153, 255],
53
+ type='',
54
+ swap='left_forefinger3'),
55
+ 6:
56
+ dict(
57
+ name='right_forefinger2',
58
+ id=6,
59
+ color=[255, 153, 255],
60
+ type='',
61
+ swap='left_forefinger2'),
62
+ 7:
63
+ dict(
64
+ name='right_forefinger1',
65
+ id=7,
66
+ color=[255, 153, 255],
67
+ type='',
68
+ swap='left_forefinger1'),
69
+ 8:
70
+ dict(
71
+ name='right_middle_finger4',
72
+ id=8,
73
+ color=[102, 178, 255],
74
+ type='',
75
+ swap='left_middle_finger4'),
76
+ 9:
77
+ dict(
78
+ name='right_middle_finger3',
79
+ id=9,
80
+ color=[102, 178, 255],
81
+ type='',
82
+ swap='left_middle_finger3'),
83
+ 10:
84
+ dict(
85
+ name='right_middle_finger2',
86
+ id=10,
87
+ color=[102, 178, 255],
88
+ type='',
89
+ swap='left_middle_finger2'),
90
+ 11:
91
+ dict(
92
+ name='right_middle_finger1',
93
+ id=11,
94
+ color=[102, 178, 255],
95
+ type='',
96
+ swap='left_middle_finger1'),
97
+ 12:
98
+ dict(
99
+ name='right_ring_finger4',
100
+ id=12,
101
+ color=[255, 51, 51],
102
+ type='',
103
+ swap='left_ring_finger4'),
104
+ 13:
105
+ dict(
106
+ name='right_ring_finger3',
107
+ id=13,
108
+ color=[255, 51, 51],
109
+ type='',
110
+ swap='left_ring_finger3'),
111
+ 14:
112
+ dict(
113
+ name='right_ring_finger2',
114
+ id=14,
115
+ color=[255, 51, 51],
116
+ type='',
117
+ swap='left_ring_finger2'),
118
+ 15:
119
+ dict(
120
+ name='right_ring_finger1',
121
+ id=15,
122
+ color=[255, 51, 51],
123
+ type='',
124
+ swap='left_ring_finger1'),
125
+ 16:
126
+ dict(
127
+ name='right_pinky_finger4',
128
+ id=16,
129
+ color=[0, 255, 0],
130
+ type='',
131
+ swap='left_pinky_finger4'),
132
+ 17:
133
+ dict(
134
+ name='right_pinky_finger3',
135
+ id=17,
136
+ color=[0, 255, 0],
137
+ type='',
138
+ swap='left_pinky_finger3'),
139
+ 18:
140
+ dict(
141
+ name='right_pinky_finger2',
142
+ id=18,
143
+ color=[0, 255, 0],
144
+ type='',
145
+ swap='left_pinky_finger2'),
146
+ 19:
147
+ dict(
148
+ name='right_pinky_finger1',
149
+ id=19,
150
+ color=[0, 255, 0],
151
+ type='',
152
+ swap='left_pinky_finger1'),
153
+ 20:
154
+ dict(
155
+ name='right_wrist',
156
+ id=20,
157
+ color=[255, 255, 255],
158
+ type='',
159
+ swap='left_wrist'),
160
+ 21:
161
+ dict(
162
+ name='left_thumb4',
163
+ id=21,
164
+ color=[255, 128, 0],
165
+ type='',
166
+ swap='right_thumb4'),
167
+ 22:
168
+ dict(
169
+ name='left_thumb3',
170
+ id=22,
171
+ color=[255, 128, 0],
172
+ type='',
173
+ swap='right_thumb3'),
174
+ 23:
175
+ dict(
176
+ name='left_thumb2',
177
+ id=23,
178
+ color=[255, 128, 0],
179
+ type='',
180
+ swap='right_thumb2'),
181
+ 24:
182
+ dict(
183
+ name='left_thumb1',
184
+ id=24,
185
+ color=[255, 128, 0],
186
+ type='',
187
+ swap='right_thumb1'),
188
+ 25:
189
+ dict(
190
+ name='left_forefinger4',
191
+ id=25,
192
+ color=[255, 153, 255],
193
+ type='',
194
+ swap='right_forefinger4'),
195
+ 26:
196
+ dict(
197
+ name='left_forefinger3',
198
+ id=26,
199
+ color=[255, 153, 255],
200
+ type='',
201
+ swap='right_forefinger3'),
202
+ 27:
203
+ dict(
204
+ name='left_forefinger2',
205
+ id=27,
206
+ color=[255, 153, 255],
207
+ type='',
208
+ swap='right_forefinger2'),
209
+ 28:
210
+ dict(
211
+ name='left_forefinger1',
212
+ id=28,
213
+ color=[255, 153, 255],
214
+ type='',
215
+ swap='right_forefinger1'),
216
+ 29:
217
+ dict(
218
+ name='left_middle_finger4',
219
+ id=29,
220
+ color=[102, 178, 255],
221
+ type='',
222
+ swap='right_middle_finger4'),
223
+ 30:
224
+ dict(
225
+ name='left_middle_finger3',
226
+ id=30,
227
+ color=[102, 178, 255],
228
+ type='',
229
+ swap='right_middle_finger3'),
230
+ 31:
231
+ dict(
232
+ name='left_middle_finger2',
233
+ id=31,
234
+ color=[102, 178, 255],
235
+ type='',
236
+ swap='right_middle_finger2'),
237
+ 32:
238
+ dict(
239
+ name='left_middle_finger1',
240
+ id=32,
241
+ color=[102, 178, 255],
242
+ type='',
243
+ swap='right_middle_finger1'),
244
+ 33:
245
+ dict(
246
+ name='left_ring_finger4',
247
+ id=33,
248
+ color=[255, 51, 51],
249
+ type='',
250
+ swap='right_ring_finger4'),
251
+ 34:
252
+ dict(
253
+ name='left_ring_finger3',
254
+ id=34,
255
+ color=[255, 51, 51],
256
+ type='',
257
+ swap='right_ring_finger3'),
258
+ 35:
259
+ dict(
260
+ name='left_ring_finger2',
261
+ id=35,
262
+ color=[255, 51, 51],
263
+ type='',
264
+ swap='right_ring_finger2'),
265
+ 36:
266
+ dict(
267
+ name='left_ring_finger1',
268
+ id=36,
269
+ color=[255, 51, 51],
270
+ type='',
271
+ swap='right_ring_finger1'),
272
+ 37:
273
+ dict(
274
+ name='left_pinky_finger4',
275
+ id=37,
276
+ color=[0, 255, 0],
277
+ type='',
278
+ swap='right_pinky_finger4'),
279
+ 38:
280
+ dict(
281
+ name='left_pinky_finger3',
282
+ id=38,
283
+ color=[0, 255, 0],
284
+ type='',
285
+ swap='right_pinky_finger3'),
286
+ 39:
287
+ dict(
288
+ name='left_pinky_finger2',
289
+ id=39,
290
+ color=[0, 255, 0],
291
+ type='',
292
+ swap='right_pinky_finger2'),
293
+ 40:
294
+ dict(
295
+ name='left_pinky_finger1',
296
+ id=40,
297
+ color=[0, 255, 0],
298
+ type='',
299
+ swap='right_pinky_finger1'),
300
+ 41:
301
+ dict(
302
+ name='left_wrist',
303
+ id=41,
304
+ color=[255, 255, 255],
305
+ type='',
306
+ swap='right_wrist'),
307
+ },
308
+ skeleton_info={
309
+ 0:
310
+ dict(link=('right_wrist', 'right_thumb1'), id=0, color=[255, 128, 0]),
311
+ 1:
312
+ dict(link=('right_thumb1', 'right_thumb2'), id=1, color=[255, 128, 0]),
313
+ 2:
314
+ dict(link=('right_thumb2', 'right_thumb3'), id=2, color=[255, 128, 0]),
315
+ 3:
316
+ dict(link=('right_thumb3', 'right_thumb4'), id=3, color=[255, 128, 0]),
317
+ 4:
318
+ dict(
319
+ link=('right_wrist', 'right_forefinger1'),
320
+ id=4,
321
+ color=[255, 153, 255]),
322
+ 5:
323
+ dict(
324
+ link=('right_forefinger1', 'right_forefinger2'),
325
+ id=5,
326
+ color=[255, 153, 255]),
327
+ 6:
328
+ dict(
329
+ link=('right_forefinger2', 'right_forefinger3'),
330
+ id=6,
331
+ color=[255, 153, 255]),
332
+ 7:
333
+ dict(
334
+ link=('right_forefinger3', 'right_forefinger4'),
335
+ id=7,
336
+ color=[255, 153, 255]),
337
+ 8:
338
+ dict(
339
+ link=('right_wrist', 'right_middle_finger1'),
340
+ id=8,
341
+ color=[102, 178, 255]),
342
+ 9:
343
+ dict(
344
+ link=('right_middle_finger1', 'right_middle_finger2'),
345
+ id=9,
346
+ color=[102, 178, 255]),
347
+ 10:
348
+ dict(
349
+ link=('right_middle_finger2', 'right_middle_finger3'),
350
+ id=10,
351
+ color=[102, 178, 255]),
352
+ 11:
353
+ dict(
354
+ link=('right_middle_finger3', 'right_middle_finger4'),
355
+ id=11,
356
+ color=[102, 178, 255]),
357
+ 12:
358
+ dict(
359
+ link=('right_wrist', 'right_ring_finger1'),
360
+ id=12,
361
+ color=[255, 51, 51]),
362
+ 13:
363
+ dict(
364
+ link=('right_ring_finger1', 'right_ring_finger2'),
365
+ id=13,
366
+ color=[255, 51, 51]),
367
+ 14:
368
+ dict(
369
+ link=('right_ring_finger2', 'right_ring_finger3'),
370
+ id=14,
371
+ color=[255, 51, 51]),
372
+ 15:
373
+ dict(
374
+ link=('right_ring_finger3', 'right_ring_finger4'),
375
+ id=15,
376
+ color=[255, 51, 51]),
377
+ 16:
378
+ dict(
379
+ link=('right_wrist', 'right_pinky_finger1'),
380
+ id=16,
381
+ color=[0, 255, 0]),
382
+ 17:
383
+ dict(
384
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
385
+ id=17,
386
+ color=[0, 255, 0]),
387
+ 18:
388
+ dict(
389
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
390
+ id=18,
391
+ color=[0, 255, 0]),
392
+ 19:
393
+ dict(
394
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
395
+ id=19,
396
+ color=[0, 255, 0]),
397
+ 20:
398
+ dict(link=('left_wrist', 'left_thumb1'), id=20, color=[255, 128, 0]),
399
+ 21:
400
+ dict(link=('left_thumb1', 'left_thumb2'), id=21, color=[255, 128, 0]),
401
+ 22:
402
+ dict(link=('left_thumb2', 'left_thumb3'), id=22, color=[255, 128, 0]),
403
+ 23:
404
+ dict(link=('left_thumb3', 'left_thumb4'), id=23, color=[255, 128, 0]),
405
+ 24:
406
+ dict(
407
+ link=('left_wrist', 'left_forefinger1'),
408
+ id=24,
409
+ color=[255, 153, 255]),
410
+ 25:
411
+ dict(
412
+ link=('left_forefinger1', 'left_forefinger2'),
413
+ id=25,
414
+ color=[255, 153, 255]),
415
+ 26:
416
+ dict(
417
+ link=('left_forefinger2', 'left_forefinger3'),
418
+ id=26,
419
+ color=[255, 153, 255]),
420
+ 27:
421
+ dict(
422
+ link=('left_forefinger3', 'left_forefinger4'),
423
+ id=27,
424
+ color=[255, 153, 255]),
425
+ 28:
426
+ dict(
427
+ link=('left_wrist', 'left_middle_finger1'),
428
+ id=28,
429
+ color=[102, 178, 255]),
430
+ 29:
431
+ dict(
432
+ link=('left_middle_finger1', 'left_middle_finger2'),
433
+ id=29,
434
+ color=[102, 178, 255]),
435
+ 30:
436
+ dict(
437
+ link=('left_middle_finger2', 'left_middle_finger3'),
438
+ id=30,
439
+ color=[102, 178, 255]),
440
+ 31:
441
+ dict(
442
+ link=('left_middle_finger3', 'left_middle_finger4'),
443
+ id=31,
444
+ color=[102, 178, 255]),
445
+ 32:
446
+ dict(
447
+ link=('left_wrist', 'left_ring_finger1'),
448
+ id=32,
449
+ color=[255, 51, 51]),
450
+ 33:
451
+ dict(
452
+ link=('left_ring_finger1', 'left_ring_finger2'),
453
+ id=33,
454
+ color=[255, 51, 51]),
455
+ 34:
456
+ dict(
457
+ link=('left_ring_finger2', 'left_ring_finger3'),
458
+ id=34,
459
+ color=[255, 51, 51]),
460
+ 35:
461
+ dict(
462
+ link=('left_ring_finger3', 'left_ring_finger4'),
463
+ id=35,
464
+ color=[255, 51, 51]),
465
+ 36:
466
+ dict(
467
+ link=('left_wrist', 'left_pinky_finger1'),
468
+ id=36,
469
+ color=[0, 255, 0]),
470
+ 37:
471
+ dict(
472
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
473
+ id=37,
474
+ color=[0, 255, 0]),
475
+ 38:
476
+ dict(
477
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
478
+ id=38,
479
+ color=[0, 255, 0]),
480
+ 39:
481
+ dict(
482
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
483
+ id=39,
484
+ color=[0, 255, 0]),
485
+ },
486
+ joint_weights=[1.] * 42,
487
+ sigmas=[])
main/_base_/datasets/jhmdb.py ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='jhmdb',
3
+ paper_info=dict(
4
+ author='H. Jhuang and J. Gall and S. Zuffi and '
5
+ 'C. Schmid and M. J. Black',
6
+ title='Towards understanding action recognition',
7
+ container='International Conf. on Computer Vision (ICCV)',
8
+ year='2013',
9
+ homepage='http://jhmdb.is.tue.mpg.de/dataset',
10
+ ),
11
+ keypoint_info={
12
+ 0:
13
+ dict(name='neck', id=0, color=[255, 128, 0], type='upper', swap=''),
14
+ 1:
15
+ dict(name='belly', id=1, color=[255, 128, 0], type='upper', swap=''),
16
+ 2:
17
+ dict(name='head', id=2, color=[255, 128, 0], type='upper', swap=''),
18
+ 3:
19
+ dict(
20
+ name='right_shoulder',
21
+ id=3,
22
+ color=[0, 255, 0],
23
+ type='upper',
24
+ swap='left_shoulder'),
25
+ 4:
26
+ dict(
27
+ name='left_shoulder',
28
+ id=4,
29
+ color=[0, 255, 0],
30
+ type='upper',
31
+ swap='right_shoulder'),
32
+ 5:
33
+ dict(
34
+ name='right_hip',
35
+ id=5,
36
+ color=[0, 255, 0],
37
+ type='lower',
38
+ swap='left_hip'),
39
+ 6:
40
+ dict(
41
+ name='left_hip',
42
+ id=6,
43
+ color=[51, 153, 255],
44
+ type='lower',
45
+ swap='right_hip'),
46
+ 7:
47
+ dict(
48
+ name='right_elbow',
49
+ id=7,
50
+ color=[51, 153, 255],
51
+ type='upper',
52
+ swap='left_elbow'),
53
+ 8:
54
+ dict(
55
+ name='left_elbow',
56
+ id=8,
57
+ color=[51, 153, 255],
58
+ type='upper',
59
+ swap='right_elbow'),
60
+ 9:
61
+ dict(
62
+ name='right_knee',
63
+ id=9,
64
+ color=[51, 153, 255],
65
+ type='lower',
66
+ swap='left_knee'),
67
+ 10:
68
+ dict(
69
+ name='left_knee',
70
+ id=10,
71
+ color=[255, 128, 0],
72
+ type='lower',
73
+ swap='right_knee'),
74
+ 11:
75
+ dict(
76
+ name='right_wrist',
77
+ id=11,
78
+ color=[255, 128, 0],
79
+ type='upper',
80
+ swap='left_wrist'),
81
+ 12:
82
+ dict(
83
+ name='left_wrist',
84
+ id=12,
85
+ color=[255, 128, 0],
86
+ type='upper',
87
+ swap='right_wrist'),
88
+ 13:
89
+ dict(
90
+ name='right_ankle',
91
+ id=13,
92
+ color=[0, 255, 0],
93
+ type='lower',
94
+ swap='left_ankle'),
95
+ 14:
96
+ dict(
97
+ name='left_ankle',
98
+ id=14,
99
+ color=[0, 255, 0],
100
+ type='lower',
101
+ swap='right_ankle')
102
+ },
103
+ skeleton_info={
104
+ 0: dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
105
+ 1: dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
106
+ 2: dict(link=('right_hip', 'belly'), id=2, color=[255, 128, 0]),
107
+ 3: dict(link=('belly', 'left_hip'), id=3, color=[0, 255, 0]),
108
+ 4: dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
109
+ 5: dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
110
+ 6: dict(link=('belly', 'neck'), id=6, color=[51, 153, 255]),
111
+ 7: dict(link=('neck', 'head'), id=7, color=[51, 153, 255]),
112
+ 8: dict(link=('neck', 'right_shoulder'), id=8, color=[255, 128, 0]),
113
+ 9: dict(
114
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
115
+ 10:
116
+ dict(link=('right_elbow', 'right_wrist'), id=10, color=[255, 128, 0]),
117
+ 11: dict(link=('neck', 'left_shoulder'), id=11, color=[0, 255, 0]),
118
+ 12:
119
+ dict(link=('left_shoulder', 'left_elbow'), id=12, color=[0, 255, 0]),
120
+ 13: dict(link=('left_elbow', 'left_wrist'), id=13, color=[0, 255, 0])
121
+ },
122
+ joint_weights=[
123
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.2, 1.2, 1.5, 1.5, 1.5, 1.5
124
+ ],
125
+ # Adapted from COCO dataset.
126
+ sigmas=[
127
+ 0.025, 0.107, 0.025, 0.079, 0.079, 0.107, 0.107, 0.072, 0.072, 0.087,
128
+ 0.087, 0.062, 0.062, 0.089, 0.089
129
+ ])
main/_base_/datasets/locust.py ADDED
@@ -0,0 +1,263 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='locust',
3
+ paper_info=dict(
4
+ author='Graving, Jacob M and Chae, Daniel and Naik, Hemal and '
5
+ 'Li, Liang and Koger, Benjamin and Costelloe, Blair R and '
6
+ 'Couzin, Iain D',
7
+ title='DeepPoseKit, a software toolkit for fast and robust '
8
+ 'animal pose estimation using deep learning',
9
+ container='Elife',
10
+ year='2019',
11
+ homepage='https://github.com/jgraving/DeepPoseKit-Data',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='head', id=0, color=[255, 255, 255], type='', swap=''),
16
+ 1:
17
+ dict(name='neck', id=1, color=[255, 255, 255], type='', swap=''),
18
+ 2:
19
+ dict(name='thorax', id=2, color=[255, 255, 255], type='', swap=''),
20
+ 3:
21
+ dict(name='abdomen1', id=3, color=[255, 255, 255], type='', swap=''),
22
+ 4:
23
+ dict(name='abdomen2', id=4, color=[255, 255, 255], type='', swap=''),
24
+ 5:
25
+ dict(
26
+ name='anttipL',
27
+ id=5,
28
+ color=[255, 255, 255],
29
+ type='',
30
+ swap='anttipR'),
31
+ 6:
32
+ dict(
33
+ name='antbaseL',
34
+ id=6,
35
+ color=[255, 255, 255],
36
+ type='',
37
+ swap='antbaseR'),
38
+ 7:
39
+ dict(name='eyeL', id=7, color=[255, 255, 255], type='', swap='eyeR'),
40
+ 8:
41
+ dict(
42
+ name='forelegL1',
43
+ id=8,
44
+ color=[255, 255, 255],
45
+ type='',
46
+ swap='forelegR1'),
47
+ 9:
48
+ dict(
49
+ name='forelegL2',
50
+ id=9,
51
+ color=[255, 255, 255],
52
+ type='',
53
+ swap='forelegR2'),
54
+ 10:
55
+ dict(
56
+ name='forelegL3',
57
+ id=10,
58
+ color=[255, 255, 255],
59
+ type='',
60
+ swap='forelegR3'),
61
+ 11:
62
+ dict(
63
+ name='forelegL4',
64
+ id=11,
65
+ color=[255, 255, 255],
66
+ type='',
67
+ swap='forelegR4'),
68
+ 12:
69
+ dict(
70
+ name='midlegL1',
71
+ id=12,
72
+ color=[255, 255, 255],
73
+ type='',
74
+ swap='midlegR1'),
75
+ 13:
76
+ dict(
77
+ name='midlegL2',
78
+ id=13,
79
+ color=[255, 255, 255],
80
+ type='',
81
+ swap='midlegR2'),
82
+ 14:
83
+ dict(
84
+ name='midlegL3',
85
+ id=14,
86
+ color=[255, 255, 255],
87
+ type='',
88
+ swap='midlegR3'),
89
+ 15:
90
+ dict(
91
+ name='midlegL4',
92
+ id=15,
93
+ color=[255, 255, 255],
94
+ type='',
95
+ swap='midlegR4'),
96
+ 16:
97
+ dict(
98
+ name='hindlegL1',
99
+ id=16,
100
+ color=[255, 255, 255],
101
+ type='',
102
+ swap='hindlegR1'),
103
+ 17:
104
+ dict(
105
+ name='hindlegL2',
106
+ id=17,
107
+ color=[255, 255, 255],
108
+ type='',
109
+ swap='hindlegR2'),
110
+ 18:
111
+ dict(
112
+ name='hindlegL3',
113
+ id=18,
114
+ color=[255, 255, 255],
115
+ type='',
116
+ swap='hindlegR3'),
117
+ 19:
118
+ dict(
119
+ name='hindlegL4',
120
+ id=19,
121
+ color=[255, 255, 255],
122
+ type='',
123
+ swap='hindlegR4'),
124
+ 20:
125
+ dict(
126
+ name='anttipR',
127
+ id=20,
128
+ color=[255, 255, 255],
129
+ type='',
130
+ swap='anttipL'),
131
+ 21:
132
+ dict(
133
+ name='antbaseR',
134
+ id=21,
135
+ color=[255, 255, 255],
136
+ type='',
137
+ swap='antbaseL'),
138
+ 22:
139
+ dict(name='eyeR', id=22, color=[255, 255, 255], type='', swap='eyeL'),
140
+ 23:
141
+ dict(
142
+ name='forelegR1',
143
+ id=23,
144
+ color=[255, 255, 255],
145
+ type='',
146
+ swap='forelegL1'),
147
+ 24:
148
+ dict(
149
+ name='forelegR2',
150
+ id=24,
151
+ color=[255, 255, 255],
152
+ type='',
153
+ swap='forelegL2'),
154
+ 25:
155
+ dict(
156
+ name='forelegR3',
157
+ id=25,
158
+ color=[255, 255, 255],
159
+ type='',
160
+ swap='forelegL3'),
161
+ 26:
162
+ dict(
163
+ name='forelegR4',
164
+ id=26,
165
+ color=[255, 255, 255],
166
+ type='',
167
+ swap='forelegL4'),
168
+ 27:
169
+ dict(
170
+ name='midlegR1',
171
+ id=27,
172
+ color=[255, 255, 255],
173
+ type='',
174
+ swap='midlegL1'),
175
+ 28:
176
+ dict(
177
+ name='midlegR2',
178
+ id=28,
179
+ color=[255, 255, 255],
180
+ type='',
181
+ swap='midlegL2'),
182
+ 29:
183
+ dict(
184
+ name='midlegR3',
185
+ id=29,
186
+ color=[255, 255, 255],
187
+ type='',
188
+ swap='midlegL3'),
189
+ 30:
190
+ dict(
191
+ name='midlegR4',
192
+ id=30,
193
+ color=[255, 255, 255],
194
+ type='',
195
+ swap='midlegL4'),
196
+ 31:
197
+ dict(
198
+ name='hindlegR1',
199
+ id=31,
200
+ color=[255, 255, 255],
201
+ type='',
202
+ swap='hindlegL1'),
203
+ 32:
204
+ dict(
205
+ name='hindlegR2',
206
+ id=32,
207
+ color=[255, 255, 255],
208
+ type='',
209
+ swap='hindlegL2'),
210
+ 33:
211
+ dict(
212
+ name='hindlegR3',
213
+ id=33,
214
+ color=[255, 255, 255],
215
+ type='',
216
+ swap='hindlegL3'),
217
+ 34:
218
+ dict(
219
+ name='hindlegR4',
220
+ id=34,
221
+ color=[255, 255, 255],
222
+ type='',
223
+ swap='hindlegL4')
224
+ },
225
+ skeleton_info={
226
+ 0: dict(link=('neck', 'head'), id=0, color=[255, 255, 255]),
227
+ 1: dict(link=('thorax', 'neck'), id=1, color=[255, 255, 255]),
228
+ 2: dict(link=('abdomen1', 'thorax'), id=2, color=[255, 255, 255]),
229
+ 3: dict(link=('abdomen2', 'abdomen1'), id=3, color=[255, 255, 255]),
230
+ 4: dict(link=('antbaseL', 'anttipL'), id=4, color=[255, 255, 255]),
231
+ 5: dict(link=('eyeL', 'antbaseL'), id=5, color=[255, 255, 255]),
232
+ 6: dict(link=('forelegL2', 'forelegL1'), id=6, color=[255, 255, 255]),
233
+ 7: dict(link=('forelegL3', 'forelegL2'), id=7, color=[255, 255, 255]),
234
+ 8: dict(link=('forelegL4', 'forelegL3'), id=8, color=[255, 255, 255]),
235
+ 9: dict(link=('midlegL2', 'midlegL1'), id=9, color=[255, 255, 255]),
236
+ 10: dict(link=('midlegL3', 'midlegL2'), id=10, color=[255, 255, 255]),
237
+ 11: dict(link=('midlegL4', 'midlegL3'), id=11, color=[255, 255, 255]),
238
+ 12:
239
+ dict(link=('hindlegL2', 'hindlegL1'), id=12, color=[255, 255, 255]),
240
+ 13:
241
+ dict(link=('hindlegL3', 'hindlegL2'), id=13, color=[255, 255, 255]),
242
+ 14:
243
+ dict(link=('hindlegL4', 'hindlegL3'), id=14, color=[255, 255, 255]),
244
+ 15: dict(link=('antbaseR', 'anttipR'), id=15, color=[255, 255, 255]),
245
+ 16: dict(link=('eyeR', 'antbaseR'), id=16, color=[255, 255, 255]),
246
+ 17:
247
+ dict(link=('forelegR2', 'forelegR1'), id=17, color=[255, 255, 255]),
248
+ 18:
249
+ dict(link=('forelegR3', 'forelegR2'), id=18, color=[255, 255, 255]),
250
+ 19:
251
+ dict(link=('forelegR4', 'forelegR3'), id=19, color=[255, 255, 255]),
252
+ 20: dict(link=('midlegR2', 'midlegR1'), id=20, color=[255, 255, 255]),
253
+ 21: dict(link=('midlegR3', 'midlegR2'), id=21, color=[255, 255, 255]),
254
+ 22: dict(link=('midlegR4', 'midlegR3'), id=22, color=[255, 255, 255]),
255
+ 23:
256
+ dict(link=('hindlegR2', 'hindlegR1'), id=23, color=[255, 255, 255]),
257
+ 24:
258
+ dict(link=('hindlegR3', 'hindlegR2'), id=24, color=[255, 255, 255]),
259
+ 25:
260
+ dict(link=('hindlegR4', 'hindlegR3'), id=25, color=[255, 255, 255])
261
+ },
262
+ joint_weights=[1.] * 35,
263
+ sigmas=[])
main/_base_/datasets/macaque.py ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='macaque',
3
+ paper_info=dict(
4
+ author='Labuguen, Rollyn and Matsumoto, Jumpei and '
5
+ 'Negrete, Salvador and Nishimaru, Hiroshi and '
6
+ 'Nishijo, Hisao and Takada, Masahiko and '
7
+ 'Go, Yasuhiro and Inoue, Ken-ichi and Shibata, Tomohiro',
8
+ title='MacaquePose: A novel "in the wild" macaque monkey pose dataset '
9
+ 'for markerless motion capture',
10
+ container='bioRxiv',
11
+ year='2020',
12
+ homepage='http://www.pri.kyoto-u.ac.jp/datasets/'
13
+ 'macaquepose/index.html',
14
+ ),
15
+ keypoint_info={
16
+ 0:
17
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
18
+ 1:
19
+ dict(
20
+ name='left_eye',
21
+ id=1,
22
+ color=[51, 153, 255],
23
+ type='upper',
24
+ swap='right_eye'),
25
+ 2:
26
+ dict(
27
+ name='right_eye',
28
+ id=2,
29
+ color=[51, 153, 255],
30
+ type='upper',
31
+ swap='left_eye'),
32
+ 3:
33
+ dict(
34
+ name='left_ear',
35
+ id=3,
36
+ color=[51, 153, 255],
37
+ type='upper',
38
+ swap='right_ear'),
39
+ 4:
40
+ dict(
41
+ name='right_ear',
42
+ id=4,
43
+ color=[51, 153, 255],
44
+ type='upper',
45
+ swap='left_ear'),
46
+ 5:
47
+ dict(
48
+ name='left_shoulder',
49
+ id=5,
50
+ color=[0, 255, 0],
51
+ type='upper',
52
+ swap='right_shoulder'),
53
+ 6:
54
+ dict(
55
+ name='right_shoulder',
56
+ id=6,
57
+ color=[255, 128, 0],
58
+ type='upper',
59
+ swap='left_shoulder'),
60
+ 7:
61
+ dict(
62
+ name='left_elbow',
63
+ id=7,
64
+ color=[0, 255, 0],
65
+ type='upper',
66
+ swap='right_elbow'),
67
+ 8:
68
+ dict(
69
+ name='right_elbow',
70
+ id=8,
71
+ color=[255, 128, 0],
72
+ type='upper',
73
+ swap='left_elbow'),
74
+ 9:
75
+ dict(
76
+ name='left_wrist',
77
+ id=9,
78
+ color=[0, 255, 0],
79
+ type='upper',
80
+ swap='right_wrist'),
81
+ 10:
82
+ dict(
83
+ name='right_wrist',
84
+ id=10,
85
+ color=[255, 128, 0],
86
+ type='upper',
87
+ swap='left_wrist'),
88
+ 11:
89
+ dict(
90
+ name='left_hip',
91
+ id=11,
92
+ color=[0, 255, 0],
93
+ type='lower',
94
+ swap='right_hip'),
95
+ 12:
96
+ dict(
97
+ name='right_hip',
98
+ id=12,
99
+ color=[255, 128, 0],
100
+ type='lower',
101
+ swap='left_hip'),
102
+ 13:
103
+ dict(
104
+ name='left_knee',
105
+ id=13,
106
+ color=[0, 255, 0],
107
+ type='lower',
108
+ swap='right_knee'),
109
+ 14:
110
+ dict(
111
+ name='right_knee',
112
+ id=14,
113
+ color=[255, 128, 0],
114
+ type='lower',
115
+ swap='left_knee'),
116
+ 15:
117
+ dict(
118
+ name='left_ankle',
119
+ id=15,
120
+ color=[0, 255, 0],
121
+ type='lower',
122
+ swap='right_ankle'),
123
+ 16:
124
+ dict(
125
+ name='right_ankle',
126
+ id=16,
127
+ color=[255, 128, 0],
128
+ type='lower',
129
+ swap='left_ankle')
130
+ },
131
+ skeleton_info={
132
+ 0:
133
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
134
+ 1:
135
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
136
+ 2:
137
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
138
+ 3:
139
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
140
+ 4:
141
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
142
+ 5:
143
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
144
+ 6:
145
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
146
+ 7:
147
+ dict(
148
+ link=('left_shoulder', 'right_shoulder'),
149
+ id=7,
150
+ color=[51, 153, 255]),
151
+ 8:
152
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
153
+ 9:
154
+ dict(
155
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
156
+ 10:
157
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
158
+ 11:
159
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
160
+ 12:
161
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
162
+ 13:
163
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
164
+ 14:
165
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
166
+ 15:
167
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
168
+ 16:
169
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
170
+ 17:
171
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
172
+ 18:
173
+ dict(
174
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
175
+ },
176
+ joint_weights=[
177
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
178
+ 1.5
179
+ ],
180
+ sigmas=[
181
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
182
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
183
+ ])
main/_base_/datasets/mhp.py ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='mhp',
3
+ paper_info=dict(
4
+ author='Zhao, Jian and Li, Jianshu and Cheng, Yu and '
5
+ 'Sim, Terence and Yan, Shuicheng and Feng, Jiashi',
6
+ title='Understanding humans in crowded scenes: '
7
+ 'Deep nested adversarial learning and a '
8
+ 'new benchmark for multi-human parsing',
9
+ container='Proceedings of the 26th ACM '
10
+ 'international conference on Multimedia',
11
+ year='2018',
12
+ homepage='https://lv-mhp.github.io/dataset',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='right_ankle',
18
+ id=0,
19
+ color=[255, 128, 0],
20
+ type='lower',
21
+ swap='left_ankle'),
22
+ 1:
23
+ dict(
24
+ name='right_knee',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='lower',
28
+ swap='left_knee'),
29
+ 2:
30
+ dict(
31
+ name='right_hip',
32
+ id=2,
33
+ color=[255, 128, 0],
34
+ type='lower',
35
+ swap='left_hip'),
36
+ 3:
37
+ dict(
38
+ name='left_hip',
39
+ id=3,
40
+ color=[0, 255, 0],
41
+ type='lower',
42
+ swap='right_hip'),
43
+ 4:
44
+ dict(
45
+ name='left_knee',
46
+ id=4,
47
+ color=[0, 255, 0],
48
+ type='lower',
49
+ swap='right_knee'),
50
+ 5:
51
+ dict(
52
+ name='left_ankle',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='lower',
56
+ swap='right_ankle'),
57
+ 6:
58
+ dict(name='pelvis', id=6, color=[51, 153, 255], type='lower', swap=''),
59
+ 7:
60
+ dict(name='thorax', id=7, color=[51, 153, 255], type='upper', swap=''),
61
+ 8:
62
+ dict(
63
+ name='upper_neck',
64
+ id=8,
65
+ color=[51, 153, 255],
66
+ type='upper',
67
+ swap=''),
68
+ 9:
69
+ dict(
70
+ name='head_top', id=9, color=[51, 153, 255], type='upper',
71
+ swap=''),
72
+ 10:
73
+ dict(
74
+ name='right_wrist',
75
+ id=10,
76
+ color=[255, 128, 0],
77
+ type='upper',
78
+ swap='left_wrist'),
79
+ 11:
80
+ dict(
81
+ name='right_elbow',
82
+ id=11,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_elbow'),
86
+ 12:
87
+ dict(
88
+ name='right_shoulder',
89
+ id=12,
90
+ color=[255, 128, 0],
91
+ type='upper',
92
+ swap='left_shoulder'),
93
+ 13:
94
+ dict(
95
+ name='left_shoulder',
96
+ id=13,
97
+ color=[0, 255, 0],
98
+ type='upper',
99
+ swap='right_shoulder'),
100
+ 14:
101
+ dict(
102
+ name='left_elbow',
103
+ id=14,
104
+ color=[0, 255, 0],
105
+ type='upper',
106
+ swap='right_elbow'),
107
+ 15:
108
+ dict(
109
+ name='left_wrist',
110
+ id=15,
111
+ color=[0, 255, 0],
112
+ type='upper',
113
+ swap='right_wrist')
114
+ },
115
+ skeleton_info={
116
+ 0:
117
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
118
+ 1:
119
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
120
+ 2:
121
+ dict(link=('right_hip', 'pelvis'), id=2, color=[255, 128, 0]),
122
+ 3:
123
+ dict(link=('pelvis', 'left_hip'), id=3, color=[0, 255, 0]),
124
+ 4:
125
+ dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
126
+ 5:
127
+ dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
128
+ 6:
129
+ dict(link=('pelvis', 'thorax'), id=6, color=[51, 153, 255]),
130
+ 7:
131
+ dict(link=('thorax', 'upper_neck'), id=7, color=[51, 153, 255]),
132
+ 8:
133
+ dict(link=('upper_neck', 'head_top'), id=8, color=[51, 153, 255]),
134
+ 9:
135
+ dict(link=('upper_neck', 'right_shoulder'), id=9, color=[255, 128, 0]),
136
+ 10:
137
+ dict(
138
+ link=('right_shoulder', 'right_elbow'), id=10, color=[255, 128,
139
+ 0]),
140
+ 11:
141
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
142
+ 12:
143
+ dict(link=('upper_neck', 'left_shoulder'), id=12, color=[0, 255, 0]),
144
+ 13:
145
+ dict(link=('left_shoulder', 'left_elbow'), id=13, color=[0, 255, 0]),
146
+ 14:
147
+ dict(link=('left_elbow', 'left_wrist'), id=14, color=[0, 255, 0])
148
+ },
149
+ joint_weights=[
150
+ 1.5, 1.2, 1., 1., 1.2, 1.5, 1., 1., 1., 1., 1.5, 1.2, 1., 1., 1.2, 1.5
151
+ ],
152
+ # Adapted from COCO dataset.
153
+ sigmas=[
154
+ 0.089, 0.083, 0.107, 0.107, 0.083, 0.089, 0.026, 0.026, 0.026, 0.026,
155
+ 0.062, 0.072, 0.179, 0.179, 0.072, 0.062
156
+ ])
main/_base_/datasets/mpi_inf_3dhp.py ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='mpi_inf_3dhp',
3
+ paper_info=dict(
4
+ author='ehta, Dushyant and Rhodin, Helge and Casas, Dan and '
5
+ 'Fua, Pascal and Sotnychenko, Oleksandr and Xu, Weipeng and '
6
+ 'Theobalt, Christian',
7
+ title='Monocular 3D Human Pose Estimation In The Wild Using Improved '
8
+ 'CNN Supervision',
9
+ container='2017 international conference on 3D vision (3DV)',
10
+ year='2017',
11
+ homepage='http://gvv.mpi-inf.mpg.de/3dhp-dataset',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='head_top', id=0, color=[51, 153, 255], type='upper',
17
+ swap=''),
18
+ 1:
19
+ dict(name='neck', id=1, color=[51, 153, 255], type='upper', swap=''),
20
+ 2:
21
+ dict(
22
+ name='right_shoulder',
23
+ id=2,
24
+ color=[255, 128, 0],
25
+ type='upper',
26
+ swap='left_shoulder'),
27
+ 3:
28
+ dict(
29
+ name='right_elbow',
30
+ id=3,
31
+ color=[255, 128, 0],
32
+ type='upper',
33
+ swap='left_elbow'),
34
+ 4:
35
+ dict(
36
+ name='right_wrist',
37
+ id=4,
38
+ color=[255, 128, 0],
39
+ type='upper',
40
+ swap='left_wrist'),
41
+ 5:
42
+ dict(
43
+ name='left_shoulder',
44
+ id=5,
45
+ color=[0, 255, 0],
46
+ type='upper',
47
+ swap='right_shoulder'),
48
+ 6:
49
+ dict(
50
+ name='left_elbow',
51
+ id=6,
52
+ color=[0, 255, 0],
53
+ type='upper',
54
+ swap='right_elbow'),
55
+ 7:
56
+ dict(
57
+ name='left_wrist',
58
+ id=7,
59
+ color=[0, 255, 0],
60
+ type='upper',
61
+ swap='right_wrist'),
62
+ 8:
63
+ dict(
64
+ name='right_hip',
65
+ id=8,
66
+ color=[255, 128, 0],
67
+ type='lower',
68
+ swap='left_hip'),
69
+ 9:
70
+ dict(
71
+ name='right_knee',
72
+ id=9,
73
+ color=[255, 128, 0],
74
+ type='lower',
75
+ swap='left_knee'),
76
+ 10:
77
+ dict(
78
+ name='right_ankle',
79
+ id=10,
80
+ color=[255, 128, 0],
81
+ type='lower',
82
+ swap='left_ankle'),
83
+ 11:
84
+ dict(
85
+ name='left_hip',
86
+ id=11,
87
+ color=[0, 255, 0],
88
+ type='lower',
89
+ swap='right_hip'),
90
+ 12:
91
+ dict(
92
+ name='left_knee',
93
+ id=12,
94
+ color=[0, 255, 0],
95
+ type='lower',
96
+ swap='right_knee'),
97
+ 13:
98
+ dict(
99
+ name='left_ankle',
100
+ id=13,
101
+ color=[0, 255, 0],
102
+ type='lower',
103
+ swap='right_ankle'),
104
+ 14:
105
+ dict(name='root', id=14, color=[51, 153, 255], type='lower', swap=''),
106
+ 15:
107
+ dict(name='spine', id=15, color=[51, 153, 255], type='upper', swap=''),
108
+ 16:
109
+ dict(name='head', id=16, color=[51, 153, 255], type='upper', swap='')
110
+ },
111
+ skeleton_info={
112
+ 0: dict(link=('neck', 'right_shoulder'), id=0, color=[255, 128, 0]),
113
+ 1: dict(
114
+ link=('right_shoulder', 'right_elbow'), id=1, color=[255, 128, 0]),
115
+ 2:
116
+ dict(link=('right_elbow', 'right_wrist'), id=2, color=[255, 128, 0]),
117
+ 3: dict(link=('neck', 'left_shoulder'), id=3, color=[0, 255, 0]),
118
+ 4: dict(link=('left_shoulder', 'left_elbow'), id=4, color=[0, 255, 0]),
119
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
120
+ 6: dict(link=('root', 'right_hip'), id=6, color=[255, 128, 0]),
121
+ 7: dict(link=('right_hip', 'right_knee'), id=7, color=[255, 128, 0]),
122
+ 8: dict(link=('right_knee', 'right_ankle'), id=8, color=[255, 128, 0]),
123
+ 9: dict(link=('root', 'left_hip'), id=9, color=[0, 255, 0]),
124
+ 10: dict(link=('left_hip', 'left_knee'), id=10, color=[0, 255, 0]),
125
+ 11: dict(link=('left_knee', 'left_ankle'), id=11, color=[0, 255, 0]),
126
+ 12: dict(link=('head_top', 'head'), id=12, color=[51, 153, 255]),
127
+ 13: dict(link=('head', 'neck'), id=13, color=[51, 153, 255]),
128
+ 14: dict(link=('neck', 'spine'), id=14, color=[51, 153, 255]),
129
+ 15: dict(link=('spine', 'root'), id=15, color=[51, 153, 255])
130
+ },
131
+ joint_weights=[1.] * 17,
132
+ sigmas=[])
main/_base_/datasets/mpii.py ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='mpii',
3
+ paper_info=dict(
4
+ author='Mykhaylo Andriluka and Leonid Pishchulin and '
5
+ 'Peter Gehler and Schiele, Bernt',
6
+ title='2D Human Pose Estimation: New Benchmark and '
7
+ 'State of the Art Analysis',
8
+ container='IEEE Conference on Computer Vision and '
9
+ 'Pattern Recognition (CVPR)',
10
+ year='2014',
11
+ homepage='http://human-pose.mpi-inf.mpg.de/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='right_ankle',
17
+ id=0,
18
+ color=[255, 128, 0],
19
+ type='lower',
20
+ swap='left_ankle'),
21
+ 1:
22
+ dict(
23
+ name='right_knee',
24
+ id=1,
25
+ color=[255, 128, 0],
26
+ type='lower',
27
+ swap='left_knee'),
28
+ 2:
29
+ dict(
30
+ name='right_hip',
31
+ id=2,
32
+ color=[255, 128, 0],
33
+ type='lower',
34
+ swap='left_hip'),
35
+ 3:
36
+ dict(
37
+ name='left_hip',
38
+ id=3,
39
+ color=[0, 255, 0],
40
+ type='lower',
41
+ swap='right_hip'),
42
+ 4:
43
+ dict(
44
+ name='left_knee',
45
+ id=4,
46
+ color=[0, 255, 0],
47
+ type='lower',
48
+ swap='right_knee'),
49
+ 5:
50
+ dict(
51
+ name='left_ankle',
52
+ id=5,
53
+ color=[0, 255, 0],
54
+ type='lower',
55
+ swap='right_ankle'),
56
+ 6:
57
+ dict(name='pelvis', id=6, color=[51, 153, 255], type='lower', swap=''),
58
+ 7:
59
+ dict(name='thorax', id=7, color=[51, 153, 255], type='upper', swap=''),
60
+ 8:
61
+ dict(
62
+ name='upper_neck',
63
+ id=8,
64
+ color=[51, 153, 255],
65
+ type='upper',
66
+ swap=''),
67
+ 9:
68
+ dict(
69
+ name='head_top', id=9, color=[51, 153, 255], type='upper',
70
+ swap=''),
71
+ 10:
72
+ dict(
73
+ name='right_wrist',
74
+ id=10,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_wrist'),
78
+ 11:
79
+ dict(
80
+ name='right_elbow',
81
+ id=11,
82
+ color=[255, 128, 0],
83
+ type='upper',
84
+ swap='left_elbow'),
85
+ 12:
86
+ dict(
87
+ name='right_shoulder',
88
+ id=12,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_shoulder'),
92
+ 13:
93
+ dict(
94
+ name='left_shoulder',
95
+ id=13,
96
+ color=[0, 255, 0],
97
+ type='upper',
98
+ swap='right_shoulder'),
99
+ 14:
100
+ dict(
101
+ name='left_elbow',
102
+ id=14,
103
+ color=[0, 255, 0],
104
+ type='upper',
105
+ swap='right_elbow'),
106
+ 15:
107
+ dict(
108
+ name='left_wrist',
109
+ id=15,
110
+ color=[0, 255, 0],
111
+ type='upper',
112
+ swap='right_wrist')
113
+ },
114
+ skeleton_info={
115
+ 0:
116
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
117
+ 1:
118
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
119
+ 2:
120
+ dict(link=('right_hip', 'pelvis'), id=2, color=[255, 128, 0]),
121
+ 3:
122
+ dict(link=('pelvis', 'left_hip'), id=3, color=[0, 255, 0]),
123
+ 4:
124
+ dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
125
+ 5:
126
+ dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
127
+ 6:
128
+ dict(link=('pelvis', 'thorax'), id=6, color=[51, 153, 255]),
129
+ 7:
130
+ dict(link=('thorax', 'upper_neck'), id=7, color=[51, 153, 255]),
131
+ 8:
132
+ dict(link=('upper_neck', 'head_top'), id=8, color=[51, 153, 255]),
133
+ 9:
134
+ dict(link=('upper_neck', 'right_shoulder'), id=9, color=[255, 128, 0]),
135
+ 10:
136
+ dict(
137
+ link=('right_shoulder', 'right_elbow'), id=10, color=[255, 128,
138
+ 0]),
139
+ 11:
140
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
141
+ 12:
142
+ dict(link=('upper_neck', 'left_shoulder'), id=12, color=[0, 255, 0]),
143
+ 13:
144
+ dict(link=('left_shoulder', 'left_elbow'), id=13, color=[0, 255, 0]),
145
+ 14:
146
+ dict(link=('left_elbow', 'left_wrist'), id=14, color=[0, 255, 0])
147
+ },
148
+ joint_weights=[
149
+ 1.5, 1.2, 1., 1., 1.2, 1.5, 1., 1., 1., 1., 1.5, 1.2, 1., 1., 1.2, 1.5
150
+ ],
151
+ # Adapted from COCO dataset.
152
+ sigmas=[
153
+ 0.089, 0.083, 0.107, 0.107, 0.083, 0.089, 0.026, 0.026, 0.026, 0.026,
154
+ 0.062, 0.072, 0.179, 0.179, 0.072, 0.062
155
+ ])
main/_base_/datasets/mpii_trb.py ADDED
@@ -0,0 +1,380 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='mpii_trb',
3
+ paper_info=dict(
4
+ author='Duan, Haodong and Lin, Kwan-Yee and Jin, Sheng and '
5
+ 'Liu, Wentao and Qian, Chen and Ouyang, Wanli',
6
+ title='TRB: A Novel Triplet Representation for '
7
+ 'Understanding 2D Human Body',
8
+ container='Proceedings of the IEEE International '
9
+ 'Conference on Computer Vision',
10
+ year='2019',
11
+ homepage='https://github.com/kennymckormick/'
12
+ 'Triplet-Representation-of-human-Body',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='left_shoulder',
18
+ id=0,
19
+ color=[0, 255, 0],
20
+ type='upper',
21
+ swap='right_shoulder'),
22
+ 1:
23
+ dict(
24
+ name='right_shoulder',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='upper',
28
+ swap='left_shoulder'),
29
+ 2:
30
+ dict(
31
+ name='left_elbow',
32
+ id=2,
33
+ color=[0, 255, 0],
34
+ type='upper',
35
+ swap='right_elbow'),
36
+ 3:
37
+ dict(
38
+ name='right_elbow',
39
+ id=3,
40
+ color=[255, 128, 0],
41
+ type='upper',
42
+ swap='left_elbow'),
43
+ 4:
44
+ dict(
45
+ name='left_wrist',
46
+ id=4,
47
+ color=[0, 255, 0],
48
+ type='upper',
49
+ swap='right_wrist'),
50
+ 5:
51
+ dict(
52
+ name='right_wrist',
53
+ id=5,
54
+ color=[255, 128, 0],
55
+ type='upper',
56
+ swap='left_wrist'),
57
+ 6:
58
+ dict(
59
+ name='left_hip',
60
+ id=6,
61
+ color=[0, 255, 0],
62
+ type='lower',
63
+ swap='right_hip'),
64
+ 7:
65
+ dict(
66
+ name='right_hip',
67
+ id=7,
68
+ color=[255, 128, 0],
69
+ type='lower',
70
+ swap='left_hip'),
71
+ 8:
72
+ dict(
73
+ name='left_knee',
74
+ id=8,
75
+ color=[0, 255, 0],
76
+ type='lower',
77
+ swap='right_knee'),
78
+ 9:
79
+ dict(
80
+ name='right_knee',
81
+ id=9,
82
+ color=[255, 128, 0],
83
+ type='lower',
84
+ swap='left_knee'),
85
+ 10:
86
+ dict(
87
+ name='left_ankle',
88
+ id=10,
89
+ color=[0, 255, 0],
90
+ type='lower',
91
+ swap='right_ankle'),
92
+ 11:
93
+ dict(
94
+ name='right_ankle',
95
+ id=11,
96
+ color=[255, 128, 0],
97
+ type='lower',
98
+ swap='left_ankle'),
99
+ 12:
100
+ dict(name='head', id=12, color=[51, 153, 255], type='upper', swap=''),
101
+ 13:
102
+ dict(name='neck', id=13, color=[51, 153, 255], type='upper', swap=''),
103
+ 14:
104
+ dict(
105
+ name='right_neck',
106
+ id=14,
107
+ color=[255, 255, 255],
108
+ type='upper',
109
+ swap='left_neck'),
110
+ 15:
111
+ dict(
112
+ name='left_neck',
113
+ id=15,
114
+ color=[255, 255, 255],
115
+ type='upper',
116
+ swap='right_neck'),
117
+ 16:
118
+ dict(
119
+ name='medial_right_shoulder',
120
+ id=16,
121
+ color=[255, 255, 255],
122
+ type='upper',
123
+ swap='medial_left_shoulder'),
124
+ 17:
125
+ dict(
126
+ name='lateral_right_shoulder',
127
+ id=17,
128
+ color=[255, 255, 255],
129
+ type='upper',
130
+ swap='lateral_left_shoulder'),
131
+ 18:
132
+ dict(
133
+ name='medial_right_bow',
134
+ id=18,
135
+ color=[255, 255, 255],
136
+ type='upper',
137
+ swap='medial_left_bow'),
138
+ 19:
139
+ dict(
140
+ name='lateral_right_bow',
141
+ id=19,
142
+ color=[255, 255, 255],
143
+ type='upper',
144
+ swap='lateral_left_bow'),
145
+ 20:
146
+ dict(
147
+ name='medial_right_wrist',
148
+ id=20,
149
+ color=[255, 255, 255],
150
+ type='upper',
151
+ swap='medial_left_wrist'),
152
+ 21:
153
+ dict(
154
+ name='lateral_right_wrist',
155
+ id=21,
156
+ color=[255, 255, 255],
157
+ type='upper',
158
+ swap='lateral_left_wrist'),
159
+ 22:
160
+ dict(
161
+ name='medial_left_shoulder',
162
+ id=22,
163
+ color=[255, 255, 255],
164
+ type='upper',
165
+ swap='medial_right_shoulder'),
166
+ 23:
167
+ dict(
168
+ name='lateral_left_shoulder',
169
+ id=23,
170
+ color=[255, 255, 255],
171
+ type='upper',
172
+ swap='lateral_right_shoulder'),
173
+ 24:
174
+ dict(
175
+ name='medial_left_bow',
176
+ id=24,
177
+ color=[255, 255, 255],
178
+ type='upper',
179
+ swap='medial_right_bow'),
180
+ 25:
181
+ dict(
182
+ name='lateral_left_bow',
183
+ id=25,
184
+ color=[255, 255, 255],
185
+ type='upper',
186
+ swap='lateral_right_bow'),
187
+ 26:
188
+ dict(
189
+ name='medial_left_wrist',
190
+ id=26,
191
+ color=[255, 255, 255],
192
+ type='upper',
193
+ swap='medial_right_wrist'),
194
+ 27:
195
+ dict(
196
+ name='lateral_left_wrist',
197
+ id=27,
198
+ color=[255, 255, 255],
199
+ type='upper',
200
+ swap='lateral_right_wrist'),
201
+ 28:
202
+ dict(
203
+ name='medial_right_hip',
204
+ id=28,
205
+ color=[255, 255, 255],
206
+ type='lower',
207
+ swap='medial_left_hip'),
208
+ 29:
209
+ dict(
210
+ name='lateral_right_hip',
211
+ id=29,
212
+ color=[255, 255, 255],
213
+ type='lower',
214
+ swap='lateral_left_hip'),
215
+ 30:
216
+ dict(
217
+ name='medial_right_knee',
218
+ id=30,
219
+ color=[255, 255, 255],
220
+ type='lower',
221
+ swap='medial_left_knee'),
222
+ 31:
223
+ dict(
224
+ name='lateral_right_knee',
225
+ id=31,
226
+ color=[255, 255, 255],
227
+ type='lower',
228
+ swap='lateral_left_knee'),
229
+ 32:
230
+ dict(
231
+ name='medial_right_ankle',
232
+ id=32,
233
+ color=[255, 255, 255],
234
+ type='lower',
235
+ swap='medial_left_ankle'),
236
+ 33:
237
+ dict(
238
+ name='lateral_right_ankle',
239
+ id=33,
240
+ color=[255, 255, 255],
241
+ type='lower',
242
+ swap='lateral_left_ankle'),
243
+ 34:
244
+ dict(
245
+ name='medial_left_hip',
246
+ id=34,
247
+ color=[255, 255, 255],
248
+ type='lower',
249
+ swap='medial_right_hip'),
250
+ 35:
251
+ dict(
252
+ name='lateral_left_hip',
253
+ id=35,
254
+ color=[255, 255, 255],
255
+ type='lower',
256
+ swap='lateral_right_hip'),
257
+ 36:
258
+ dict(
259
+ name='medial_left_knee',
260
+ id=36,
261
+ color=[255, 255, 255],
262
+ type='lower',
263
+ swap='medial_right_knee'),
264
+ 37:
265
+ dict(
266
+ name='lateral_left_knee',
267
+ id=37,
268
+ color=[255, 255, 255],
269
+ type='lower',
270
+ swap='lateral_right_knee'),
271
+ 38:
272
+ dict(
273
+ name='medial_left_ankle',
274
+ id=38,
275
+ color=[255, 255, 255],
276
+ type='lower',
277
+ swap='medial_right_ankle'),
278
+ 39:
279
+ dict(
280
+ name='lateral_left_ankle',
281
+ id=39,
282
+ color=[255, 255, 255],
283
+ type='lower',
284
+ swap='lateral_right_ankle'),
285
+ },
286
+ skeleton_info={
287
+ 0:
288
+ dict(link=('head', 'neck'), id=0, color=[51, 153, 255]),
289
+ 1:
290
+ dict(link=('neck', 'left_shoulder'), id=1, color=[51, 153, 255]),
291
+ 2:
292
+ dict(link=('neck', 'right_shoulder'), id=2, color=[51, 153, 255]),
293
+ 3:
294
+ dict(link=('left_shoulder', 'left_elbow'), id=3, color=[0, 255, 0]),
295
+ 4:
296
+ dict(
297
+ link=('right_shoulder', 'right_elbow'), id=4, color=[255, 128, 0]),
298
+ 5:
299
+ dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
300
+ 6:
301
+ dict(link=('right_elbow', 'right_wrist'), id=6, color=[255, 128, 0]),
302
+ 7:
303
+ dict(link=('left_shoulder', 'left_hip'), id=7, color=[51, 153, 255]),
304
+ 8:
305
+ dict(link=('right_shoulder', 'right_hip'), id=8, color=[51, 153, 255]),
306
+ 9:
307
+ dict(link=('left_hip', 'right_hip'), id=9, color=[51, 153, 255]),
308
+ 10:
309
+ dict(link=('left_hip', 'left_knee'), id=10, color=[0, 255, 0]),
310
+ 11:
311
+ dict(link=('right_hip', 'right_knee'), id=11, color=[255, 128, 0]),
312
+ 12:
313
+ dict(link=('left_knee', 'left_ankle'), id=12, color=[0, 255, 0]),
314
+ 13:
315
+ dict(link=('right_knee', 'right_ankle'), id=13, color=[255, 128, 0]),
316
+ 14:
317
+ dict(link=('right_neck', 'left_neck'), id=14, color=[255, 255, 255]),
318
+ 15:
319
+ dict(
320
+ link=('medial_right_shoulder', 'lateral_right_shoulder'),
321
+ id=15,
322
+ color=[255, 255, 255]),
323
+ 16:
324
+ dict(
325
+ link=('medial_right_bow', 'lateral_right_bow'),
326
+ id=16,
327
+ color=[255, 255, 255]),
328
+ 17:
329
+ dict(
330
+ link=('medial_right_wrist', 'lateral_right_wrist'),
331
+ id=17,
332
+ color=[255, 255, 255]),
333
+ 18:
334
+ dict(
335
+ link=('medial_left_shoulder', 'lateral_left_shoulder'),
336
+ id=18,
337
+ color=[255, 255, 255]),
338
+ 19:
339
+ dict(
340
+ link=('medial_left_bow', 'lateral_left_bow'),
341
+ id=19,
342
+ color=[255, 255, 255]),
343
+ 20:
344
+ dict(
345
+ link=('medial_left_wrist', 'lateral_left_wrist'),
346
+ id=20,
347
+ color=[255, 255, 255]),
348
+ 21:
349
+ dict(
350
+ link=('medial_right_hip', 'lateral_right_hip'),
351
+ id=21,
352
+ color=[255, 255, 255]),
353
+ 22:
354
+ dict(
355
+ link=('medial_right_knee', 'lateral_right_knee'),
356
+ id=22,
357
+ color=[255, 255, 255]),
358
+ 23:
359
+ dict(
360
+ link=('medial_right_ankle', 'lateral_right_ankle'),
361
+ id=23,
362
+ color=[255, 255, 255]),
363
+ 24:
364
+ dict(
365
+ link=('medial_left_hip', 'lateral_left_hip'),
366
+ id=24,
367
+ color=[255, 255, 255]),
368
+ 25:
369
+ dict(
370
+ link=('medial_left_knee', 'lateral_left_knee'),
371
+ id=25,
372
+ color=[255, 255, 255]),
373
+ 26:
374
+ dict(
375
+ link=('medial_left_ankle', 'lateral_left_ankle'),
376
+ id=26,
377
+ color=[255, 255, 255])
378
+ },
379
+ joint_weights=[1.] * 40,
380
+ sigmas=[])
main/_base_/datasets/nvgesture.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='nvgesture',
3
+ paper_info=dict(
4
+ author='Pavlo Molchanov and Xiaodong Yang and Shalini Gupta '
5
+ 'and Kihwan Kim and Stephen Tyree and Jan Kautz',
6
+ title='Online Detection and Classification of Dynamic Hand Gestures '
7
+ 'with Recurrent 3D Convolutional Neural Networks',
8
+ container='Proceedings of the IEEE Conference on '
9
+ 'Computer Vision and Pattern Recognition',
10
+ year='2016',
11
+ homepage='https://research.nvidia.com/publication/2016-06_online-'
12
+ 'detection-and-classification-dynamic-hand-gestures-recurrent-3d',
13
+ ),
14
+ category_info={
15
+ 0: 'five fingers move right',
16
+ 1: 'five fingers move left',
17
+ 2: 'five fingers move up',
18
+ 3: 'five fingers move down',
19
+ 4: 'two fingers move right',
20
+ 5: 'two fingers move left',
21
+ 6: 'two fingers move up',
22
+ 7: 'two fingers move down',
23
+ 8: 'click',
24
+ 9: 'beckoned',
25
+ 10: 'stretch hand',
26
+ 11: 'shake hand',
27
+ 12: 'one',
28
+ 13: 'two',
29
+ 14: 'three',
30
+ 15: 'lift up',
31
+ 16: 'press down',
32
+ 17: 'push',
33
+ 18: 'shrink',
34
+ 19: 'levorotation',
35
+ 20: 'dextrorotation',
36
+ 21: 'two fingers prod',
37
+ 22: 'grab',
38
+ 23: 'thumbs up',
39
+ 24: 'OK'
40
+ },
41
+ flip_pairs=[(0, 1), (4, 5), (19, 20)],
42
+ fps=30)
main/_base_/datasets/ochuman.py ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='ochuman',
3
+ paper_info=dict(
4
+ author='Zhang, Song-Hai and Li, Ruilong and Dong, Xin and '
5
+ 'Rosin, Paul and Cai, Zixi and Han, Xi and '
6
+ 'Yang, Dingcheng and Huang, Haozhi and Hu, Shi-Min',
7
+ title='Pose2seg: Detection free human instance segmentation',
8
+ container='Proceedings of the IEEE conference on computer '
9
+ 'vision and pattern recognition',
10
+ year='2019',
11
+ homepage='https://github.com/liruilong940607/OCHumanApi',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='left_eye',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap='right_eye'),
23
+ 2:
24
+ dict(
25
+ name='right_eye',
26
+ id=2,
27
+ color=[51, 153, 255],
28
+ type='upper',
29
+ swap='left_eye'),
30
+ 3:
31
+ dict(
32
+ name='left_ear',
33
+ id=3,
34
+ color=[51, 153, 255],
35
+ type='upper',
36
+ swap='right_ear'),
37
+ 4:
38
+ dict(
39
+ name='right_ear',
40
+ id=4,
41
+ color=[51, 153, 255],
42
+ type='upper',
43
+ swap='left_ear'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='right_shoulder',
54
+ id=6,
55
+ color=[255, 128, 0],
56
+ type='upper',
57
+ swap='left_shoulder'),
58
+ 7:
59
+ dict(
60
+ name='left_elbow',
61
+ id=7,
62
+ color=[0, 255, 0],
63
+ type='upper',
64
+ swap='right_elbow'),
65
+ 8:
66
+ dict(
67
+ name='right_elbow',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='upper',
71
+ swap='left_elbow'),
72
+ 9:
73
+ dict(
74
+ name='left_wrist',
75
+ id=9,
76
+ color=[0, 255, 0],
77
+ type='upper',
78
+ swap='right_wrist'),
79
+ 10:
80
+ dict(
81
+ name='right_wrist',
82
+ id=10,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_wrist'),
86
+ 11:
87
+ dict(
88
+ name='left_hip',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_hip'),
93
+ 12:
94
+ dict(
95
+ name='right_hip',
96
+ id=12,
97
+ color=[255, 128, 0],
98
+ type='lower',
99
+ swap='left_hip'),
100
+ 13:
101
+ dict(
102
+ name='left_knee',
103
+ id=13,
104
+ color=[0, 255, 0],
105
+ type='lower',
106
+ swap='right_knee'),
107
+ 14:
108
+ dict(
109
+ name='right_knee',
110
+ id=14,
111
+ color=[255, 128, 0],
112
+ type='lower',
113
+ swap='left_knee'),
114
+ 15:
115
+ dict(
116
+ name='left_ankle',
117
+ id=15,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='right_ankle'),
121
+ 16:
122
+ dict(
123
+ name='right_ankle',
124
+ id=16,
125
+ color=[255, 128, 0],
126
+ type='lower',
127
+ swap='left_ankle')
128
+ },
129
+ skeleton_info={
130
+ 0:
131
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
132
+ 1:
133
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
134
+ 2:
135
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
136
+ 3:
137
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
138
+ 4:
139
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
140
+ 5:
141
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
142
+ 6:
143
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
144
+ 7:
145
+ dict(
146
+ link=('left_shoulder', 'right_shoulder'),
147
+ id=7,
148
+ color=[51, 153, 255]),
149
+ 8:
150
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
151
+ 9:
152
+ dict(
153
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
154
+ 10:
155
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
156
+ 11:
157
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
158
+ 12:
159
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
160
+ 13:
161
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
162
+ 14:
163
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
164
+ 15:
165
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
166
+ 16:
167
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
168
+ 17:
169
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
170
+ 18:
171
+ dict(
172
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
173
+ },
174
+ joint_weights=[
175
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
176
+ 1.5
177
+ ],
178
+ sigmas=[
179
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
180
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
181
+ ])
main/_base_/datasets/onehand10k.py ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='onehand10k',
3
+ paper_info=dict(
4
+ author='Wang, Yangang and Peng, Cong and Liu, Yebin',
5
+ title='Mask-pose cascaded cnn for 2d hand pose estimation '
6
+ 'from single color image',
7
+ container='IEEE Transactions on Circuits and Systems '
8
+ 'for Video Technology',
9
+ year='2018',
10
+ homepage='https://www.yangangwang.com/papers/WANG-MCC-2018-10.html',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
15
+ 1:
16
+ dict(name='thumb1', id=1, color=[255, 128, 0], type='', swap=''),
17
+ 2:
18
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
19
+ 3:
20
+ dict(name='thumb3', id=3, color=[255, 128, 0], type='', swap=''),
21
+ 4:
22
+ dict(name='thumb4', id=4, color=[255, 128, 0], type='', swap=''),
23
+ 5:
24
+ dict(
25
+ name='forefinger1', id=5, color=[255, 153, 255], type='', swap=''),
26
+ 6:
27
+ dict(
28
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
29
+ 7:
30
+ dict(
31
+ name='forefinger3', id=7, color=[255, 153, 255], type='', swap=''),
32
+ 8:
33
+ dict(
34
+ name='forefinger4', id=8, color=[255, 153, 255], type='', swap=''),
35
+ 9:
36
+ dict(
37
+ name='middle_finger1',
38
+ id=9,
39
+ color=[102, 178, 255],
40
+ type='',
41
+ swap=''),
42
+ 10:
43
+ dict(
44
+ name='middle_finger2',
45
+ id=10,
46
+ color=[102, 178, 255],
47
+ type='',
48
+ swap=''),
49
+ 11:
50
+ dict(
51
+ name='middle_finger3',
52
+ id=11,
53
+ color=[102, 178, 255],
54
+ type='',
55
+ swap=''),
56
+ 12:
57
+ dict(
58
+ name='middle_finger4',
59
+ id=12,
60
+ color=[102, 178, 255],
61
+ type='',
62
+ swap=''),
63
+ 13:
64
+ dict(
65
+ name='ring_finger1', id=13, color=[255, 51, 51], type='', swap=''),
66
+ 14:
67
+ dict(
68
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
69
+ 15:
70
+ dict(
71
+ name='ring_finger3', id=15, color=[255, 51, 51], type='', swap=''),
72
+ 16:
73
+ dict(
74
+ name='ring_finger4', id=16, color=[255, 51, 51], type='', swap=''),
75
+ 17:
76
+ dict(name='pinky_finger1', id=17, color=[0, 255, 0], type='', swap=''),
77
+ 18:
78
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
79
+ 19:
80
+ dict(name='pinky_finger3', id=19, color=[0, 255, 0], type='', swap=''),
81
+ 20:
82
+ dict(name='pinky_finger4', id=20, color=[0, 255, 0], type='', swap='')
83
+ },
84
+ skeleton_info={
85
+ 0:
86
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
87
+ 1:
88
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
89
+ 2:
90
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
91
+ 3:
92
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
93
+ 4:
94
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
95
+ 5:
96
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
97
+ 6:
98
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
99
+ 7:
100
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
101
+ 8:
102
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
103
+ 9:
104
+ dict(
105
+ link=('middle_finger1', 'middle_finger2'),
106
+ id=9,
107
+ color=[102, 178, 255]),
108
+ 10:
109
+ dict(
110
+ link=('middle_finger2', 'middle_finger3'),
111
+ id=10,
112
+ color=[102, 178, 255]),
113
+ 11:
114
+ dict(
115
+ link=('middle_finger3', 'middle_finger4'),
116
+ id=11,
117
+ color=[102, 178, 255]),
118
+ 12:
119
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
120
+ 13:
121
+ dict(
122
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
123
+ 14:
124
+ dict(
125
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
126
+ 15:
127
+ dict(
128
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
129
+ 16:
130
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
131
+ 17:
132
+ dict(
133
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
134
+ 18:
135
+ dict(
136
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
137
+ 19:
138
+ dict(
139
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
140
+ },
141
+ joint_weights=[1.] * 21,
142
+ sigmas=[])
main/_base_/datasets/panoptic_body3d.py ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='panoptic_pose_3d',
3
+ paper_info=dict(
4
+ author='Joo, Hanbyul and Simon, Tomas and Li, Xulong'
5
+ 'and Liu, Hao and Tan, Lei and Gui, Lin and Banerjee, Sean'
6
+ 'and Godisart, Timothy and Nabbe, Bart and Matthews, Iain'
7
+ 'and Kanade, Takeo and Nobuhara, Shohei and Sheikh, Yaser',
8
+ title='Panoptic Studio: A Massively Multiview System '
9
+ 'for Interaction Motion Capture',
10
+ container='IEEE Transactions on Pattern Analysis'
11
+ ' and Machine Intelligence',
12
+ year='2017',
13
+ homepage='http://domedb.perception.cs.cmu.edu',
14
+ ),
15
+ keypoint_info={
16
+ 0:
17
+ dict(name='neck', id=0, color=[51, 153, 255], type='upper', swap=''),
18
+ 1:
19
+ dict(name='nose', id=1, color=[51, 153, 255], type='upper', swap=''),
20
+ 2:
21
+ dict(name='mid_hip', id=2, color=[0, 255, 0], type='lower', swap=''),
22
+ 3:
23
+ dict(
24
+ name='left_shoulder',
25
+ id=3,
26
+ color=[0, 255, 0],
27
+ type='upper',
28
+ swap='right_shoulder'),
29
+ 4:
30
+ dict(
31
+ name='left_elbow',
32
+ id=4,
33
+ color=[0, 255, 0],
34
+ type='upper',
35
+ swap='right_elbow'),
36
+ 5:
37
+ dict(
38
+ name='left_wrist',
39
+ id=5,
40
+ color=[0, 255, 0],
41
+ type='upper',
42
+ swap='right_wrist'),
43
+ 6:
44
+ dict(
45
+ name='left_hip',
46
+ id=6,
47
+ color=[0, 255, 0],
48
+ type='lower',
49
+ swap='right_hip'),
50
+ 7:
51
+ dict(
52
+ name='left_knee',
53
+ id=7,
54
+ color=[0, 255, 0],
55
+ type='lower',
56
+ swap='right_knee'),
57
+ 8:
58
+ dict(
59
+ name='left_ankle',
60
+ id=8,
61
+ color=[0, 255, 0],
62
+ type='lower',
63
+ swap='right_ankle'),
64
+ 9:
65
+ dict(
66
+ name='right_shoulder',
67
+ id=9,
68
+ color=[255, 128, 0],
69
+ type='upper',
70
+ swap='left_shoulder'),
71
+ 10:
72
+ dict(
73
+ name='right_elbow',
74
+ id=10,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_elbow'),
78
+ 11:
79
+ dict(
80
+ name='right_wrist',
81
+ id=11,
82
+ color=[255, 128, 0],
83
+ type='upper',
84
+ swap='left_wrist'),
85
+ 12:
86
+ dict(
87
+ name='right_hip',
88
+ id=12,
89
+ color=[255, 128, 0],
90
+ type='lower',
91
+ swap='left_hip'),
92
+ 13:
93
+ dict(
94
+ name='right_knee',
95
+ id=13,
96
+ color=[255, 128, 0],
97
+ type='lower',
98
+ swap='left_knee'),
99
+ 14:
100
+ dict(
101
+ name='right_ankle',
102
+ id=14,
103
+ color=[255, 128, 0],
104
+ type='lower',
105
+ swap='left_ankle'),
106
+ 15:
107
+ dict(
108
+ name='left_eye',
109
+ id=15,
110
+ color=[51, 153, 255],
111
+ type='upper',
112
+ swap='right_eye'),
113
+ 16:
114
+ dict(
115
+ name='left_ear',
116
+ id=16,
117
+ color=[51, 153, 255],
118
+ type='upper',
119
+ swap='right_ear'),
120
+ 17:
121
+ dict(
122
+ name='right_eye',
123
+ id=17,
124
+ color=[51, 153, 255],
125
+ type='upper',
126
+ swap='left_eye'),
127
+ 18:
128
+ dict(
129
+ name='right_ear',
130
+ id=18,
131
+ color=[51, 153, 255],
132
+ type='upper',
133
+ swap='left_ear')
134
+ },
135
+ skeleton_info={
136
+ 0: dict(link=('nose', 'neck'), id=0, color=[51, 153, 255]),
137
+ 1: dict(link=('neck', 'left_shoulder'), id=1, color=[0, 255, 0]),
138
+ 2: dict(link=('neck', 'right_shoulder'), id=2, color=[255, 128, 0]),
139
+ 3: dict(link=('left_shoulder', 'left_elbow'), id=3, color=[0, 255, 0]),
140
+ 4: dict(
141
+ link=('right_shoulder', 'right_elbow'), id=4, color=[255, 128, 0]),
142
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
143
+ 6:
144
+ dict(link=('right_elbow', 'right_wrist'), id=6, color=[255, 128, 0]),
145
+ 7: dict(link=('left_ankle', 'left_knee'), id=7, color=[0, 255, 0]),
146
+ 8: dict(link=('left_knee', 'left_hip'), id=8, color=[0, 255, 0]),
147
+ 9: dict(link=('right_ankle', 'right_knee'), id=9, color=[255, 128, 0]),
148
+ 10: dict(link=('right_knee', 'right_hip'), id=10, color=[255, 128, 0]),
149
+ 11: dict(link=('mid_hip', 'left_hip'), id=11, color=[0, 255, 0]),
150
+ 12: dict(link=('mid_hip', 'right_hip'), id=12, color=[255, 128, 0]),
151
+ 13: dict(link=('mid_hip', 'neck'), id=13, color=[51, 153, 255]),
152
+ },
153
+ joint_weights=[
154
+ 1.0, 1.0, 1.0, 1.0, 1.2, 1.5, 1.0, 1.2, 1.5, 1.0, 1.2, 1.5, 1.0, 1.2,
155
+ 1.5, 1.0, 1.0, 1.0, 1.0
156
+ ],
157
+ sigmas=[
158
+ 0.026, 0.026, 0.107, 0.079, 0.072, 0.062, 0.107, 0.087, 0.089, 0.079,
159
+ 0.072, 0.062, 0.107, 0.087, 0.089, 0.025, 0.035, 0.025, 0.035
160
+ ])
main/_base_/datasets/panoptic_hand2d.py ADDED
@@ -0,0 +1,143 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='panoptic_hand2d',
3
+ paper_info=dict(
4
+ author='Simon, Tomas and Joo, Hanbyul and '
5
+ 'Matthews, Iain and Sheikh, Yaser',
6
+ title='Hand keypoint detection in single images using '
7
+ 'multiview bootstrapping',
8
+ container='Proceedings of the IEEE conference on '
9
+ 'Computer Vision and Pattern Recognition',
10
+ year='2017',
11
+ homepage='http://domedb.perception.cs.cmu.edu/handdb.html',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
16
+ 1:
17
+ dict(name='thumb1', id=1, color=[255, 128, 0], type='', swap=''),
18
+ 2:
19
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
20
+ 3:
21
+ dict(name='thumb3', id=3, color=[255, 128, 0], type='', swap=''),
22
+ 4:
23
+ dict(name='thumb4', id=4, color=[255, 128, 0], type='', swap=''),
24
+ 5:
25
+ dict(
26
+ name='forefinger1', id=5, color=[255, 153, 255], type='', swap=''),
27
+ 6:
28
+ dict(
29
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
30
+ 7:
31
+ dict(
32
+ name='forefinger3', id=7, color=[255, 153, 255], type='', swap=''),
33
+ 8:
34
+ dict(
35
+ name='forefinger4', id=8, color=[255, 153, 255], type='', swap=''),
36
+ 9:
37
+ dict(
38
+ name='middle_finger1',
39
+ id=9,
40
+ color=[102, 178, 255],
41
+ type='',
42
+ swap=''),
43
+ 10:
44
+ dict(
45
+ name='middle_finger2',
46
+ id=10,
47
+ color=[102, 178, 255],
48
+ type='',
49
+ swap=''),
50
+ 11:
51
+ dict(
52
+ name='middle_finger3',
53
+ id=11,
54
+ color=[102, 178, 255],
55
+ type='',
56
+ swap=''),
57
+ 12:
58
+ dict(
59
+ name='middle_finger4',
60
+ id=12,
61
+ color=[102, 178, 255],
62
+ type='',
63
+ swap=''),
64
+ 13:
65
+ dict(
66
+ name='ring_finger1', id=13, color=[255, 51, 51], type='', swap=''),
67
+ 14:
68
+ dict(
69
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
70
+ 15:
71
+ dict(
72
+ name='ring_finger3', id=15, color=[255, 51, 51], type='', swap=''),
73
+ 16:
74
+ dict(
75
+ name='ring_finger4', id=16, color=[255, 51, 51], type='', swap=''),
76
+ 17:
77
+ dict(name='pinky_finger1', id=17, color=[0, 255, 0], type='', swap=''),
78
+ 18:
79
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
80
+ 19:
81
+ dict(name='pinky_finger3', id=19, color=[0, 255, 0], type='', swap=''),
82
+ 20:
83
+ dict(name='pinky_finger4', id=20, color=[0, 255, 0], type='', swap='')
84
+ },
85
+ skeleton_info={
86
+ 0:
87
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
88
+ 1:
89
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
90
+ 2:
91
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
92
+ 3:
93
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
94
+ 4:
95
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
96
+ 5:
97
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
98
+ 6:
99
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
100
+ 7:
101
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
102
+ 8:
103
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
104
+ 9:
105
+ dict(
106
+ link=('middle_finger1', 'middle_finger2'),
107
+ id=9,
108
+ color=[102, 178, 255]),
109
+ 10:
110
+ dict(
111
+ link=('middle_finger2', 'middle_finger3'),
112
+ id=10,
113
+ color=[102, 178, 255]),
114
+ 11:
115
+ dict(
116
+ link=('middle_finger3', 'middle_finger4'),
117
+ id=11,
118
+ color=[102, 178, 255]),
119
+ 12:
120
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
121
+ 13:
122
+ dict(
123
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
124
+ 14:
125
+ dict(
126
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
127
+ 15:
128
+ dict(
129
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
130
+ 16:
131
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
132
+ 17:
133
+ dict(
134
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
135
+ 18:
136
+ dict(
137
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
138
+ 19:
139
+ dict(
140
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
141
+ },
142
+ joint_weights=[1.] * 21,
143
+ sigmas=[])
main/_base_/datasets/posetrack18.py ADDED
@@ -0,0 +1,176 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='posetrack18',
3
+ paper_info=dict(
4
+ author='Andriluka, Mykhaylo and Iqbal, Umar and '
5
+ 'Insafutdinov, Eldar and Pishchulin, Leonid and '
6
+ 'Milan, Anton and Gall, Juergen and Schiele, Bernt',
7
+ title='Posetrack: A benchmark for human pose estimation and tracking',
8
+ container='Proceedings of the IEEE Conference on '
9
+ 'Computer Vision and Pattern Recognition',
10
+ year='2018',
11
+ homepage='https://posetrack.net/users/download.php',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='head_bottom',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap=''),
23
+ 2:
24
+ dict(
25
+ name='head_top', id=2, color=[51, 153, 255], type='upper',
26
+ swap=''),
27
+ 3:
28
+ dict(
29
+ name='left_ear',
30
+ id=3,
31
+ color=[51, 153, 255],
32
+ type='upper',
33
+ swap='right_ear'),
34
+ 4:
35
+ dict(
36
+ name='right_ear',
37
+ id=4,
38
+ color=[51, 153, 255],
39
+ type='upper',
40
+ swap='left_ear'),
41
+ 5:
42
+ dict(
43
+ name='left_shoulder',
44
+ id=5,
45
+ color=[0, 255, 0],
46
+ type='upper',
47
+ swap='right_shoulder'),
48
+ 6:
49
+ dict(
50
+ name='right_shoulder',
51
+ id=6,
52
+ color=[255, 128, 0],
53
+ type='upper',
54
+ swap='left_shoulder'),
55
+ 7:
56
+ dict(
57
+ name='left_elbow',
58
+ id=7,
59
+ color=[0, 255, 0],
60
+ type='upper',
61
+ swap='right_elbow'),
62
+ 8:
63
+ dict(
64
+ name='right_elbow',
65
+ id=8,
66
+ color=[255, 128, 0],
67
+ type='upper',
68
+ swap='left_elbow'),
69
+ 9:
70
+ dict(
71
+ name='left_wrist',
72
+ id=9,
73
+ color=[0, 255, 0],
74
+ type='upper',
75
+ swap='right_wrist'),
76
+ 10:
77
+ dict(
78
+ name='right_wrist',
79
+ id=10,
80
+ color=[255, 128, 0],
81
+ type='upper',
82
+ swap='left_wrist'),
83
+ 11:
84
+ dict(
85
+ name='left_hip',
86
+ id=11,
87
+ color=[0, 255, 0],
88
+ type='lower',
89
+ swap='right_hip'),
90
+ 12:
91
+ dict(
92
+ name='right_hip',
93
+ id=12,
94
+ color=[255, 128, 0],
95
+ type='lower',
96
+ swap='left_hip'),
97
+ 13:
98
+ dict(
99
+ name='left_knee',
100
+ id=13,
101
+ color=[0, 255, 0],
102
+ type='lower',
103
+ swap='right_knee'),
104
+ 14:
105
+ dict(
106
+ name='right_knee',
107
+ id=14,
108
+ color=[255, 128, 0],
109
+ type='lower',
110
+ swap='left_knee'),
111
+ 15:
112
+ dict(
113
+ name='left_ankle',
114
+ id=15,
115
+ color=[0, 255, 0],
116
+ type='lower',
117
+ swap='right_ankle'),
118
+ 16:
119
+ dict(
120
+ name='right_ankle',
121
+ id=16,
122
+ color=[255, 128, 0],
123
+ type='lower',
124
+ swap='left_ankle')
125
+ },
126
+ skeleton_info={
127
+ 0:
128
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
129
+ 1:
130
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
131
+ 2:
132
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
133
+ 3:
134
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
135
+ 4:
136
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
137
+ 5:
138
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
139
+ 6:
140
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
141
+ 7:
142
+ dict(
143
+ link=('left_shoulder', 'right_shoulder'),
144
+ id=7,
145
+ color=[51, 153, 255]),
146
+ 8:
147
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
148
+ 9:
149
+ dict(
150
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
151
+ 10:
152
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
153
+ 11:
154
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
155
+ 12:
156
+ dict(link=('nose', 'head_bottom'), id=12, color=[51, 153, 255]),
157
+ 13:
158
+ dict(link=('nose', 'head_top'), id=13, color=[51, 153, 255]),
159
+ 14:
160
+ dict(
161
+ link=('head_bottom', 'left_shoulder'), id=14, color=[51, 153,
162
+ 255]),
163
+ 15:
164
+ dict(
165
+ link=('head_bottom', 'right_shoulder'),
166
+ id=15,
167
+ color=[51, 153, 255])
168
+ },
169
+ joint_weights=[
170
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
171
+ 1.5
172
+ ],
173
+ sigmas=[
174
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
175
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
176
+ ])
main/_base_/datasets/rhd2d.py ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='rhd2d',
3
+ paper_info=dict(
4
+ author='Christian Zimmermann and Thomas Brox',
5
+ title='Learning to Estimate 3D Hand Pose from Single RGB Images',
6
+ container='arXiv',
7
+ year='2017',
8
+ homepage='https://lmb.informatik.uni-freiburg.de/resources/'
9
+ 'datasets/RenderedHandposeDataset.en.html',
10
+ ),
11
+ # In RHD, 1-4: left thumb [tip to palm], which means the finger is from
12
+ # tip to palm, so as other fingers. Please refer to
13
+ # `https://lmb.informatik.uni-freiburg.de/resources/datasets/
14
+ # RenderedHandpose/README` for details of keypoint definition.
15
+ # But in COCO-WholeBody-Hand, FreiHand, CMU Panoptic HandDB, it is in
16
+ # inverse order. Pay attention to this if you want to combine RHD with
17
+ # other hand datasets to train a single model.
18
+ # Also, note that 'keypoint_info' will not directly affect the order of
19
+ # the keypoint in the dataset. It is mostly for visualization & storing
20
+ # information about flip_pairs.
21
+ keypoint_info={
22
+ 0:
23
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
24
+ 1:
25
+ dict(name='thumb4', id=1, color=[255, 128, 0], type='', swap=''),
26
+ 2:
27
+ dict(name='thumb3', id=2, color=[255, 128, 0], type='', swap=''),
28
+ 3:
29
+ dict(name='thumb2', id=3, color=[255, 128, 0], type='', swap=''),
30
+ 4:
31
+ dict(name='thumb1', id=4, color=[255, 128, 0], type='', swap=''),
32
+ 5:
33
+ dict(
34
+ name='forefinger4', id=5, color=[255, 153, 255], type='', swap=''),
35
+ 6:
36
+ dict(
37
+ name='forefinger3', id=6, color=[255, 153, 255], type='', swap=''),
38
+ 7:
39
+ dict(
40
+ name='forefinger2', id=7, color=[255, 153, 255], type='', swap=''),
41
+ 8:
42
+ dict(
43
+ name='forefinger1', id=8, color=[255, 153, 255], type='', swap=''),
44
+ 9:
45
+ dict(
46
+ name='middle_finger4',
47
+ id=9,
48
+ color=[102, 178, 255],
49
+ type='',
50
+ swap=''),
51
+ 10:
52
+ dict(
53
+ name='middle_finger3',
54
+ id=10,
55
+ color=[102, 178, 255],
56
+ type='',
57
+ swap=''),
58
+ 11:
59
+ dict(
60
+ name='middle_finger2',
61
+ id=11,
62
+ color=[102, 178, 255],
63
+ type='',
64
+ swap=''),
65
+ 12:
66
+ dict(
67
+ name='middle_finger1',
68
+ id=12,
69
+ color=[102, 178, 255],
70
+ type='',
71
+ swap=''),
72
+ 13:
73
+ dict(
74
+ name='ring_finger4', id=13, color=[255, 51, 51], type='', swap=''),
75
+ 14:
76
+ dict(
77
+ name='ring_finger3', id=14, color=[255, 51, 51], type='', swap=''),
78
+ 15:
79
+ dict(
80
+ name='ring_finger2', id=15, color=[255, 51, 51], type='', swap=''),
81
+ 16:
82
+ dict(
83
+ name='ring_finger1', id=16, color=[255, 51, 51], type='', swap=''),
84
+ 17:
85
+ dict(name='pinky_finger4', id=17, color=[0, 255, 0], type='', swap=''),
86
+ 18:
87
+ dict(name='pinky_finger3', id=18, color=[0, 255, 0], type='', swap=''),
88
+ 19:
89
+ dict(name='pinky_finger2', id=19, color=[0, 255, 0], type='', swap=''),
90
+ 20:
91
+ dict(name='pinky_finger1', id=20, color=[0, 255, 0], type='', swap='')
92
+ },
93
+ skeleton_info={
94
+ 0:
95
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
96
+ 1:
97
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
98
+ 2:
99
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
100
+ 3:
101
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
102
+ 4:
103
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
104
+ 5:
105
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
106
+ 6:
107
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
108
+ 7:
109
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
110
+ 8:
111
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
112
+ 9:
113
+ dict(
114
+ link=('middle_finger1', 'middle_finger2'),
115
+ id=9,
116
+ color=[102, 178, 255]),
117
+ 10:
118
+ dict(
119
+ link=('middle_finger2', 'middle_finger3'),
120
+ id=10,
121
+ color=[102, 178, 255]),
122
+ 11:
123
+ dict(
124
+ link=('middle_finger3', 'middle_finger4'),
125
+ id=11,
126
+ color=[102, 178, 255]),
127
+ 12:
128
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
129
+ 13:
130
+ dict(
131
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
132
+ 14:
133
+ dict(
134
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
135
+ 15:
136
+ dict(
137
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
138
+ 16:
139
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
140
+ 17:
141
+ dict(
142
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
143
+ 18:
144
+ dict(
145
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
146
+ 19:
147
+ dict(
148
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
149
+ },
150
+ joint_weights=[1.] * 21,
151
+ sigmas=[])
main/_base_/datasets/shelf.py ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='shelf',
3
+ paper_info=dict(
4
+ author='Belagiannis, Vasileios and Amin, Sikandar and Andriluka, '
5
+ 'Mykhaylo and Schiele, Bernt and Navab, Nassir and Ilic, Slobodan',
6
+ title='3D Pictorial Structures for Multiple Human Pose Estimation',
7
+ container='IEEE Computer Society Conference on Computer Vision and '
8
+ 'Pattern Recognition (CVPR)',
9
+ year='2014',
10
+ homepage='http://campar.in.tum.de/Chair/MultiHumanPose',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='right_ankle',
16
+ id=0,
17
+ color=[255, 128, 0],
18
+ type='lower',
19
+ swap='left_ankle'),
20
+ 1:
21
+ dict(
22
+ name='right_knee',
23
+ id=1,
24
+ color=[255, 128, 0],
25
+ type='lower',
26
+ swap='left_knee'),
27
+ 2:
28
+ dict(
29
+ name='right_hip',
30
+ id=2,
31
+ color=[255, 128, 0],
32
+ type='lower',
33
+ swap='left_hip'),
34
+ 3:
35
+ dict(
36
+ name='left_hip',
37
+ id=3,
38
+ color=[0, 255, 0],
39
+ type='lower',
40
+ swap='right_hip'),
41
+ 4:
42
+ dict(
43
+ name='left_knee',
44
+ id=4,
45
+ color=[0, 255, 0],
46
+ type='lower',
47
+ swap='right_knee'),
48
+ 5:
49
+ dict(
50
+ name='left_ankle',
51
+ id=5,
52
+ color=[0, 255, 0],
53
+ type='lower',
54
+ swap='right_ankle'),
55
+ 6:
56
+ dict(
57
+ name='right_wrist',
58
+ id=6,
59
+ color=[255, 128, 0],
60
+ type='upper',
61
+ swap='left_wrist'),
62
+ 7:
63
+ dict(
64
+ name='right_elbow',
65
+ id=7,
66
+ color=[255, 128, 0],
67
+ type='upper',
68
+ swap='left_elbow'),
69
+ 8:
70
+ dict(
71
+ name='right_shoulder',
72
+ id=8,
73
+ color=[255, 128, 0],
74
+ type='upper',
75
+ swap='left_shoulder'),
76
+ 9:
77
+ dict(
78
+ name='left_shoulder',
79
+ id=9,
80
+ color=[0, 255, 0],
81
+ type='upper',
82
+ swap='right_shoulder'),
83
+ 10:
84
+ dict(
85
+ name='left_elbow',
86
+ id=10,
87
+ color=[0, 255, 0],
88
+ type='upper',
89
+ swap='right_elbow'),
90
+ 11:
91
+ dict(
92
+ name='left_wrist',
93
+ id=11,
94
+ color=[0, 255, 0],
95
+ type='upper',
96
+ swap='right_wrist'),
97
+ 12:
98
+ dict(
99
+ name='bottom_head',
100
+ id=12,
101
+ color=[51, 153, 255],
102
+ type='upper',
103
+ swap=''),
104
+ 13:
105
+ dict(
106
+ name='top_head',
107
+ id=13,
108
+ color=[51, 153, 255],
109
+ type='upper',
110
+ swap=''),
111
+ },
112
+ skeleton_info={
113
+ 0:
114
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
115
+ 1:
116
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
117
+ 2:
118
+ dict(link=('left_hip', 'left_knee'), id=2, color=[0, 255, 0]),
119
+ 3:
120
+ dict(link=('left_knee', 'left_ankle'), id=3, color=[0, 255, 0]),
121
+ 4:
122
+ dict(link=('right_hip', 'left_hip'), id=4, color=[51, 153, 255]),
123
+ 5:
124
+ dict(link=('right_wrist', 'right_elbow'), id=5, color=[255, 128, 0]),
125
+ 6:
126
+ dict(
127
+ link=('right_elbow', 'right_shoulder'), id=6, color=[255, 128, 0]),
128
+ 7:
129
+ dict(link=('left_shoulder', 'left_elbow'), id=7, color=[0, 255, 0]),
130
+ 8:
131
+ dict(link=('left_elbow', 'left_wrist'), id=8, color=[0, 255, 0]),
132
+ 9:
133
+ dict(link=('right_hip', 'right_shoulder'), id=9, color=[255, 128, 0]),
134
+ 10:
135
+ dict(link=('left_hip', 'left_shoulder'), id=10, color=[0, 255, 0]),
136
+ 11:
137
+ dict(
138
+ link=('right_shoulder', 'bottom_head'), id=11, color=[255, 128,
139
+ 0]),
140
+ 12:
141
+ dict(link=('left_shoulder', 'bottom_head'), id=12, color=[0, 255, 0]),
142
+ 13:
143
+ dict(link=('bottom_head', 'top_head'), id=13, color=[51, 153, 255]),
144
+ },
145
+ joint_weights=[
146
+ 1.5, 1.2, 1.0, 1.0, 1.2, 1.5, 1.5, 1.2, 1.0, 1.0, 1.2, 1.5, 1.0, 1.0
147
+ ],
148
+ sigmas=[
149
+ 0.089, 0.087, 0.107, 0.107, 0.087, 0.089, 0.062, 0.072, 0.079, 0.079,
150
+ 0.072, 0.062, 0.026, 0.026
151
+ ])
main/_base_/datasets/wflw.py ADDED
@@ -0,0 +1,582 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='wflw',
3
+ paper_info=dict(
4
+ author='Wu, Wayne and Qian, Chen and Yang, Shuo and Wang, '
5
+ 'Quan and Cai, Yici and Zhou, Qiang',
6
+ title='Look at boundary: A boundary-aware face alignment algorithm',
7
+ container='Proceedings of the IEEE conference on computer '
8
+ 'vision and pattern recognition',
9
+ year='2018',
10
+ homepage='https://wywu.github.io/projects/LAB/WFLW.html',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='kpt-0', id=0, color=[255, 255, 255], type='', swap='kpt-32'),
16
+ 1:
17
+ dict(
18
+ name='kpt-1', id=1, color=[255, 255, 255], type='', swap='kpt-31'),
19
+ 2:
20
+ dict(
21
+ name='kpt-2', id=2, color=[255, 255, 255], type='', swap='kpt-30'),
22
+ 3:
23
+ dict(
24
+ name='kpt-3', id=3, color=[255, 255, 255], type='', swap='kpt-29'),
25
+ 4:
26
+ dict(
27
+ name='kpt-4', id=4, color=[255, 255, 255], type='', swap='kpt-28'),
28
+ 5:
29
+ dict(
30
+ name='kpt-5', id=5, color=[255, 255, 255], type='', swap='kpt-27'),
31
+ 6:
32
+ dict(
33
+ name='kpt-6', id=6, color=[255, 255, 255], type='', swap='kpt-26'),
34
+ 7:
35
+ dict(
36
+ name='kpt-7', id=7, color=[255, 255, 255], type='', swap='kpt-25'),
37
+ 8:
38
+ dict(
39
+ name='kpt-8', id=8, color=[255, 255, 255], type='', swap='kpt-24'),
40
+ 9:
41
+ dict(
42
+ name='kpt-9', id=9, color=[255, 255, 255], type='', swap='kpt-23'),
43
+ 10:
44
+ dict(
45
+ name='kpt-10',
46
+ id=10,
47
+ color=[255, 255, 255],
48
+ type='',
49
+ swap='kpt-22'),
50
+ 11:
51
+ dict(
52
+ name='kpt-11',
53
+ id=11,
54
+ color=[255, 255, 255],
55
+ type='',
56
+ swap='kpt-21'),
57
+ 12:
58
+ dict(
59
+ name='kpt-12',
60
+ id=12,
61
+ color=[255, 255, 255],
62
+ type='',
63
+ swap='kpt-20'),
64
+ 13:
65
+ dict(
66
+ name='kpt-13',
67
+ id=13,
68
+ color=[255, 255, 255],
69
+ type='',
70
+ swap='kpt-19'),
71
+ 14:
72
+ dict(
73
+ name='kpt-14',
74
+ id=14,
75
+ color=[255, 255, 255],
76
+ type='',
77
+ swap='kpt-18'),
78
+ 15:
79
+ dict(
80
+ name='kpt-15',
81
+ id=15,
82
+ color=[255, 255, 255],
83
+ type='',
84
+ swap='kpt-17'),
85
+ 16:
86
+ dict(name='kpt-16', id=16, color=[255, 255, 255], type='', swap=''),
87
+ 17:
88
+ dict(
89
+ name='kpt-17',
90
+ id=17,
91
+ color=[255, 255, 255],
92
+ type='',
93
+ swap='kpt-15'),
94
+ 18:
95
+ dict(
96
+ name='kpt-18',
97
+ id=18,
98
+ color=[255, 255, 255],
99
+ type='',
100
+ swap='kpt-14'),
101
+ 19:
102
+ dict(
103
+ name='kpt-19',
104
+ id=19,
105
+ color=[255, 255, 255],
106
+ type='',
107
+ swap='kpt-13'),
108
+ 20:
109
+ dict(
110
+ name='kpt-20',
111
+ id=20,
112
+ color=[255, 255, 255],
113
+ type='',
114
+ swap='kpt-12'),
115
+ 21:
116
+ dict(
117
+ name='kpt-21',
118
+ id=21,
119
+ color=[255, 255, 255],
120
+ type='',
121
+ swap='kpt-11'),
122
+ 22:
123
+ dict(
124
+ name='kpt-22',
125
+ id=22,
126
+ color=[255, 255, 255],
127
+ type='',
128
+ swap='kpt-10'),
129
+ 23:
130
+ dict(
131
+ name='kpt-23', id=23, color=[255, 255, 255], type='',
132
+ swap='kpt-9'),
133
+ 24:
134
+ dict(
135
+ name='kpt-24', id=24, color=[255, 255, 255], type='',
136
+ swap='kpt-8'),
137
+ 25:
138
+ dict(
139
+ name='kpt-25', id=25, color=[255, 255, 255], type='',
140
+ swap='kpt-7'),
141
+ 26:
142
+ dict(
143
+ name='kpt-26', id=26, color=[255, 255, 255], type='',
144
+ swap='kpt-6'),
145
+ 27:
146
+ dict(
147
+ name='kpt-27', id=27, color=[255, 255, 255], type='',
148
+ swap='kpt-5'),
149
+ 28:
150
+ dict(
151
+ name='kpt-28', id=28, color=[255, 255, 255], type='',
152
+ swap='kpt-4'),
153
+ 29:
154
+ dict(
155
+ name='kpt-29', id=29, color=[255, 255, 255], type='',
156
+ swap='kpt-3'),
157
+ 30:
158
+ dict(
159
+ name='kpt-30', id=30, color=[255, 255, 255], type='',
160
+ swap='kpt-2'),
161
+ 31:
162
+ dict(
163
+ name='kpt-31', id=31, color=[255, 255, 255], type='',
164
+ swap='kpt-1'),
165
+ 32:
166
+ dict(
167
+ name='kpt-32', id=32, color=[255, 255, 255], type='',
168
+ swap='kpt-0'),
169
+ 33:
170
+ dict(
171
+ name='kpt-33',
172
+ id=33,
173
+ color=[255, 255, 255],
174
+ type='',
175
+ swap='kpt-46'),
176
+ 34:
177
+ dict(
178
+ name='kpt-34',
179
+ id=34,
180
+ color=[255, 255, 255],
181
+ type='',
182
+ swap='kpt-45'),
183
+ 35:
184
+ dict(
185
+ name='kpt-35',
186
+ id=35,
187
+ color=[255, 255, 255],
188
+ type='',
189
+ swap='kpt-44'),
190
+ 36:
191
+ dict(
192
+ name='kpt-36',
193
+ id=36,
194
+ color=[255, 255, 255],
195
+ type='',
196
+ swap='kpt-43'),
197
+ 37:
198
+ dict(
199
+ name='kpt-37',
200
+ id=37,
201
+ color=[255, 255, 255],
202
+ type='',
203
+ swap='kpt-42'),
204
+ 38:
205
+ dict(
206
+ name='kpt-38',
207
+ id=38,
208
+ color=[255, 255, 255],
209
+ type='',
210
+ swap='kpt-50'),
211
+ 39:
212
+ dict(
213
+ name='kpt-39',
214
+ id=39,
215
+ color=[255, 255, 255],
216
+ type='',
217
+ swap='kpt-49'),
218
+ 40:
219
+ dict(
220
+ name='kpt-40',
221
+ id=40,
222
+ color=[255, 255, 255],
223
+ type='',
224
+ swap='kpt-48'),
225
+ 41:
226
+ dict(
227
+ name='kpt-41',
228
+ id=41,
229
+ color=[255, 255, 255],
230
+ type='',
231
+ swap='kpt-47'),
232
+ 42:
233
+ dict(
234
+ name='kpt-42',
235
+ id=42,
236
+ color=[255, 255, 255],
237
+ type='',
238
+ swap='kpt-37'),
239
+ 43:
240
+ dict(
241
+ name='kpt-43',
242
+ id=43,
243
+ color=[255, 255, 255],
244
+ type='',
245
+ swap='kpt-36'),
246
+ 44:
247
+ dict(
248
+ name='kpt-44',
249
+ id=44,
250
+ color=[255, 255, 255],
251
+ type='',
252
+ swap='kpt-35'),
253
+ 45:
254
+ dict(
255
+ name='kpt-45',
256
+ id=45,
257
+ color=[255, 255, 255],
258
+ type='',
259
+ swap='kpt-34'),
260
+ 46:
261
+ dict(
262
+ name='kpt-46',
263
+ id=46,
264
+ color=[255, 255, 255],
265
+ type='',
266
+ swap='kpt-33'),
267
+ 47:
268
+ dict(
269
+ name='kpt-47',
270
+ id=47,
271
+ color=[255, 255, 255],
272
+ type='',
273
+ swap='kpt-41'),
274
+ 48:
275
+ dict(
276
+ name='kpt-48',
277
+ id=48,
278
+ color=[255, 255, 255],
279
+ type='',
280
+ swap='kpt-40'),
281
+ 49:
282
+ dict(
283
+ name='kpt-49',
284
+ id=49,
285
+ color=[255, 255, 255],
286
+ type='',
287
+ swap='kpt-39'),
288
+ 50:
289
+ dict(
290
+ name='kpt-50',
291
+ id=50,
292
+ color=[255, 255, 255],
293
+ type='',
294
+ swap='kpt-38'),
295
+ 51:
296
+ dict(name='kpt-51', id=51, color=[255, 255, 255], type='', swap=''),
297
+ 52:
298
+ dict(name='kpt-52', id=52, color=[255, 255, 255], type='', swap=''),
299
+ 53:
300
+ dict(name='kpt-53', id=53, color=[255, 255, 255], type='', swap=''),
301
+ 54:
302
+ dict(name='kpt-54', id=54, color=[255, 255, 255], type='', swap=''),
303
+ 55:
304
+ dict(
305
+ name='kpt-55',
306
+ id=55,
307
+ color=[255, 255, 255],
308
+ type='',
309
+ swap='kpt-59'),
310
+ 56:
311
+ dict(
312
+ name='kpt-56',
313
+ id=56,
314
+ color=[255, 255, 255],
315
+ type='',
316
+ swap='kpt-58'),
317
+ 57:
318
+ dict(name='kpt-57', id=57, color=[255, 255, 255], type='', swap=''),
319
+ 58:
320
+ dict(
321
+ name='kpt-58',
322
+ id=58,
323
+ color=[255, 255, 255],
324
+ type='',
325
+ swap='kpt-56'),
326
+ 59:
327
+ dict(
328
+ name='kpt-59',
329
+ id=59,
330
+ color=[255, 255, 255],
331
+ type='',
332
+ swap='kpt-55'),
333
+ 60:
334
+ dict(
335
+ name='kpt-60',
336
+ id=60,
337
+ color=[255, 255, 255],
338
+ type='',
339
+ swap='kpt-72'),
340
+ 61:
341
+ dict(
342
+ name='kpt-61',
343
+ id=61,
344
+ color=[255, 255, 255],
345
+ type='',
346
+ swap='kpt-71'),
347
+ 62:
348
+ dict(
349
+ name='kpt-62',
350
+ id=62,
351
+ color=[255, 255, 255],
352
+ type='',
353
+ swap='kpt-70'),
354
+ 63:
355
+ dict(
356
+ name='kpt-63',
357
+ id=63,
358
+ color=[255, 255, 255],
359
+ type='',
360
+ swap='kpt-69'),
361
+ 64:
362
+ dict(
363
+ name='kpt-64',
364
+ id=64,
365
+ color=[255, 255, 255],
366
+ type='',
367
+ swap='kpt-68'),
368
+ 65:
369
+ dict(
370
+ name='kpt-65',
371
+ id=65,
372
+ color=[255, 255, 255],
373
+ type='',
374
+ swap='kpt-75'),
375
+ 66:
376
+ dict(
377
+ name='kpt-66',
378
+ id=66,
379
+ color=[255, 255, 255],
380
+ type='',
381
+ swap='kpt-74'),
382
+ 67:
383
+ dict(
384
+ name='kpt-67',
385
+ id=67,
386
+ color=[255, 255, 255],
387
+ type='',
388
+ swap='kpt-73'),
389
+ 68:
390
+ dict(
391
+ name='kpt-68',
392
+ id=68,
393
+ color=[255, 255, 255],
394
+ type='',
395
+ swap='kpt-64'),
396
+ 69:
397
+ dict(
398
+ name='kpt-69',
399
+ id=69,
400
+ color=[255, 255, 255],
401
+ type='',
402
+ swap='kpt-63'),
403
+ 70:
404
+ dict(
405
+ name='kpt-70',
406
+ id=70,
407
+ color=[255, 255, 255],
408
+ type='',
409
+ swap='kpt-62'),
410
+ 71:
411
+ dict(
412
+ name='kpt-71',
413
+ id=71,
414
+ color=[255, 255, 255],
415
+ type='',
416
+ swap='kpt-61'),
417
+ 72:
418
+ dict(
419
+ name='kpt-72',
420
+ id=72,
421
+ color=[255, 255, 255],
422
+ type='',
423
+ swap='kpt-60'),
424
+ 73:
425
+ dict(
426
+ name='kpt-73',
427
+ id=73,
428
+ color=[255, 255, 255],
429
+ type='',
430
+ swap='kpt-67'),
431
+ 74:
432
+ dict(
433
+ name='kpt-74',
434
+ id=74,
435
+ color=[255, 255, 255],
436
+ type='',
437
+ swap='kpt-66'),
438
+ 75:
439
+ dict(
440
+ name='kpt-75',
441
+ id=75,
442
+ color=[255, 255, 255],
443
+ type='',
444
+ swap='kpt-65'),
445
+ 76:
446
+ dict(
447
+ name='kpt-76',
448
+ id=76,
449
+ color=[255, 255, 255],
450
+ type='',
451
+ swap='kpt-82'),
452
+ 77:
453
+ dict(
454
+ name='kpt-77',
455
+ id=77,
456
+ color=[255, 255, 255],
457
+ type='',
458
+ swap='kpt-81'),
459
+ 78:
460
+ dict(
461
+ name='kpt-78',
462
+ id=78,
463
+ color=[255, 255, 255],
464
+ type='',
465
+ swap='kpt-80'),
466
+ 79:
467
+ dict(name='kpt-79', id=79, color=[255, 255, 255], type='', swap=''),
468
+ 80:
469
+ dict(
470
+ name='kpt-80',
471
+ id=80,
472
+ color=[255, 255, 255],
473
+ type='',
474
+ swap='kpt-78'),
475
+ 81:
476
+ dict(
477
+ name='kpt-81',
478
+ id=81,
479
+ color=[255, 255, 255],
480
+ type='',
481
+ swap='kpt-77'),
482
+ 82:
483
+ dict(
484
+ name='kpt-82',
485
+ id=82,
486
+ color=[255, 255, 255],
487
+ type='',
488
+ swap='kpt-76'),
489
+ 83:
490
+ dict(
491
+ name='kpt-83',
492
+ id=83,
493
+ color=[255, 255, 255],
494
+ type='',
495
+ swap='kpt-87'),
496
+ 84:
497
+ dict(
498
+ name='kpt-84',
499
+ id=84,
500
+ color=[255, 255, 255],
501
+ type='',
502
+ swap='kpt-86'),
503
+ 85:
504
+ dict(name='kpt-85', id=85, color=[255, 255, 255], type='', swap=''),
505
+ 86:
506
+ dict(
507
+ name='kpt-86',
508
+ id=86,
509
+ color=[255, 255, 255],
510
+ type='',
511
+ swap='kpt-84'),
512
+ 87:
513
+ dict(
514
+ name='kpt-87',
515
+ id=87,
516
+ color=[255, 255, 255],
517
+ type='',
518
+ swap='kpt-83'),
519
+ 88:
520
+ dict(
521
+ name='kpt-88',
522
+ id=88,
523
+ color=[255, 255, 255],
524
+ type='',
525
+ swap='kpt-92'),
526
+ 89:
527
+ dict(
528
+ name='kpt-89',
529
+ id=89,
530
+ color=[255, 255, 255],
531
+ type='',
532
+ swap='kpt-91'),
533
+ 90:
534
+ dict(name='kpt-90', id=90, color=[255, 255, 255], type='', swap=''),
535
+ 91:
536
+ dict(
537
+ name='kpt-91',
538
+ id=91,
539
+ color=[255, 255, 255],
540
+ type='',
541
+ swap='kpt-89'),
542
+ 92:
543
+ dict(
544
+ name='kpt-92',
545
+ id=92,
546
+ color=[255, 255, 255],
547
+ type='',
548
+ swap='kpt-88'),
549
+ 93:
550
+ dict(
551
+ name='kpt-93',
552
+ id=93,
553
+ color=[255, 255, 255],
554
+ type='',
555
+ swap='kpt-95'),
556
+ 94:
557
+ dict(name='kpt-94', id=94, color=[255, 255, 255], type='', swap=''),
558
+ 95:
559
+ dict(
560
+ name='kpt-95',
561
+ id=95,
562
+ color=[255, 255, 255],
563
+ type='',
564
+ swap='kpt-93'),
565
+ 96:
566
+ dict(
567
+ name='kpt-96',
568
+ id=96,
569
+ color=[255, 255, 255],
570
+ type='',
571
+ swap='kpt-97'),
572
+ 97:
573
+ dict(
574
+ name='kpt-97',
575
+ id=97,
576
+ color=[255, 255, 255],
577
+ type='',
578
+ swap='kpt-96')
579
+ },
580
+ skeleton_info={},
581
+ joint_weights=[1.] * 98,
582
+ sigmas=[])
main/_base_/datasets/zebra.py ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='zebra',
3
+ paper_info=dict(
4
+ author='Graving, Jacob M and Chae, Daniel and Naik, Hemal and '
5
+ 'Li, Liang and Koger, Benjamin and Costelloe, Blair R and '
6
+ 'Couzin, Iain D',
7
+ title='DeepPoseKit, a software toolkit for fast and robust '
8
+ 'animal pose estimation using deep learning',
9
+ container='Elife',
10
+ year='2019',
11
+ homepage='https://github.com/jgraving/DeepPoseKit-Data',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='snout', id=0, color=[255, 255, 255], type='', swap=''),
16
+ 1:
17
+ dict(name='head', id=1, color=[255, 255, 255], type='', swap=''),
18
+ 2:
19
+ dict(name='neck', id=2, color=[255, 255, 255], type='', swap=''),
20
+ 3:
21
+ dict(
22
+ name='forelegL1',
23
+ id=3,
24
+ color=[255, 255, 255],
25
+ type='',
26
+ swap='forelegR1'),
27
+ 4:
28
+ dict(
29
+ name='forelegR1',
30
+ id=4,
31
+ color=[255, 255, 255],
32
+ type='',
33
+ swap='forelegL1'),
34
+ 5:
35
+ dict(
36
+ name='hindlegL1',
37
+ id=5,
38
+ color=[255, 255, 255],
39
+ type='',
40
+ swap='hindlegR1'),
41
+ 6:
42
+ dict(
43
+ name='hindlegR1',
44
+ id=6,
45
+ color=[255, 255, 255],
46
+ type='',
47
+ swap='hindlegL1'),
48
+ 7:
49
+ dict(name='tailbase', id=7, color=[255, 255, 255], type='', swap=''),
50
+ 8:
51
+ dict(name='tailtip', id=8, color=[255, 255, 255], type='', swap='')
52
+ },
53
+ skeleton_info={
54
+ 0: dict(link=('head', 'snout'), id=0, color=[255, 255, 255]),
55
+ 1: dict(link=('neck', 'head'), id=1, color=[255, 255, 255]),
56
+ 2: dict(link=('forelegL1', 'neck'), id=2, color=[255, 255, 255]),
57
+ 3: dict(link=('forelegR1', 'neck'), id=3, color=[255, 255, 255]),
58
+ 4: dict(link=('hindlegL1', 'tailbase'), id=4, color=[255, 255, 255]),
59
+ 5: dict(link=('hindlegR1', 'tailbase'), id=5, color=[255, 255, 255]),
60
+ 6: dict(link=('tailbase', 'neck'), id=6, color=[255, 255, 255]),
61
+ 7: dict(link=('tailtip', 'tailbase'), id=7, color=[255, 255, 255])
62
+ },
63
+ joint_weights=[1.] * 9,
64
+ sigmas=[])
main/_base_/default_runtime.py ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ checkpoint_config = dict(interval=10)
2
+
3
+ log_config = dict(
4
+ interval=50,
5
+ hooks=[
6
+ dict(type='TextLoggerHook'),
7
+ # dict(type='TensorboardLoggerHook')
8
+ # dict(type='PaviLoggerHook') # for internal services
9
+ ])
10
+
11
+ log_level = 'INFO'
12
+ load_from = None
13
+ resume_from = None
14
+ dist_params = dict(backend='nccl')
15
+ workflow = [('train', 1)]
16
+
17
+ # disable opencv multithreading to avoid system being overloaded
18
+ opencv_num_threads = 0
19
+ # set multi-process start method as `fork` to speed up the training
20
+ mp_start_method = 'fork'
main/_base_/filters/gaussian.py ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ filter_cfg = dict(
2
+ type='GaussianFilter',
3
+ window_size=11,
4
+ sigma=4.0,
5
+ )
main/_base_/filters/one_euro.py ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ filter_cfg = dict(
2
+ type='OneEuroFilter',
3
+ min_cutoff=0.004,
4
+ beta=0.7,
5
+ )
main/_base_/filters/savizky_golay.py ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ filter_cfg = dict(
2
+ type='SavizkyGolayFilter',
3
+ window_size=11,
4
+ polyorder=2,
5
+ )
main/_base_/filters/smoothnet_h36m.md ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- [OTHERS] -->
2
+
3
+ <details>
4
+ <summary align="right"><a href="https://arxiv.org/abs/2112.13715">SmoothNet (arXiv'2021)</a></summary>
5
+
6
+ ```bibtex
7
+ @article{zeng2021smoothnet,
8
+ title={SmoothNet: A Plug-and-Play Network for Refining Human Poses in Videos},
9
+ author={Zeng, Ailing and Yang, Lei and Ju, Xuan and Li, Jiefeng and Wang, Jianyi and Xu, Qiang},
10
+ journal={arXiv preprint arXiv:2112.13715},
11
+ year={2021}
12
+ }
13
+ ```
14
+
15
+ </details>
16
+
17
+ <!-- [DATASET] -->
18
+
19
+ <details>
20
+ <summary align="right"><a href="https://ieeexplore.ieee.org/abstract/document/6682899/">Human3.6M (TPAMI'2014)</a></summary>
21
+
22
+ ```bibtex
23
+ @article{h36m_pami,
24
+ author = {Ionescu, Catalin and Papava, Dragos and Olaru, Vlad and Sminchisescu, Cristian},
25
+ title = {Human3.6M: Large Scale Datasets and Predictive Methods for 3D Human Sensing in Natural Environments},
26
+ journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
27
+ publisher = {IEEE Computer Society},
28
+ volume = {36},
29
+ number = {7},
30
+ pages = {1325-1339},
31
+ month = {jul},
32
+ year = {2014}
33
+ }
34
+ ```
35
+
36
+ </details>
37
+
38
+ The following SmoothNet model checkpoints are available for pose smoothing. The table shows the the performance of [SimpleBaseline3D](https://arxiv.org/abs/1705.03098) on [Human3.6M](https://ieeexplore.ieee.org/abstract/document/6682899/) dataset without/with the SmoothNet plugin, and compares the SmoothNet models with 4 different window sizes (8, 16, 32 and 64). The metrics are MPJPE(mm), P-MEJPE(mm) and Acceleration Error (mm/frame^2).
39
+
40
+ | Arch | Window Size | MPJPE<sup>w/o</sup> | MPJPE<sup>w</sup> | P-MPJPE<sup>w/o</sup> | P-MPJPE<sup>w</sup> | AC. Err<sup>w/o</sup> | AC. Err<sup>w</sup> | ckpt |
41
+ | :----------------------------------- | :---------: | :-----------------: | :---------------: | :-------------------: | :-----------------: | :-------------------: | :-----------------: | :-----------------------------------: |
42
+ | [smoothnet_ws8](/configs/_base_/filters/smoothnet_t8_h36m.py) | 8 | 54.48 | 53.15 | 42.20 | 41.32 | 19.18 | 1.87 | [ckpt](https://download.openmmlab.com/mmpose/plugin/smoothnet/smoothnet_ws8_h36m.pth) |
43
+ | [smoothnet_ws16](/configs/_base_/filters/smoothnet_t16_h36m.py) | 16 | 54.48 | 52.74 | 42.20 | 41.20 | 19.18 | 1.22 | [ckpt](https://download.openmmlab.com/mmpose/plugin/smoothnet/smoothnet_ws16_h36m.pth) |
44
+ | [smoothnet_ws32](/configs/_base_/filters/smoothnet_t32_h36m.py) | 32 | 54.48 | 52.47 | 42.20 | 40.84 | 19.18 | 0.99 | [ckpt](https://download.openmmlab.com/mmpose/plugin/smoothnet/smoothnet_ws32_h36m.pth) |
45
+ | [smoothnet_ws64](/configs/_base_/filters/smoothnet_t64_h36m.py) | 64 | 54.48 | 53.37 | 42.20 | 40.77 | 19.18 | 0.92 | [ckpt](https://download.openmmlab.com/mmpose/plugin/smoothnet/smoothnet_ws64_h36m.pth) |
main/_base_/filters/smoothnet_t16_h36m.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Config for SmoothNet filter trained on Human3.6M data with a window size of
2
+ # 16. The model is trained using root-centered keypoint coordinates around the
3
+ # pelvis (index:0), thus we set root_index=0 for the filter
4
+ filter_cfg = dict(
5
+ type='SmoothNetFilter',
6
+ window_size=16,
7
+ output_size=16,
8
+ checkpoint='https://download.openmmlab.com/mmpose/plugin/smoothnet/'
9
+ 'smoothnet_ws16_h36m.pth',
10
+ hidden_size=512,
11
+ res_hidden_size=256,
12
+ num_blocks=3,
13
+ root_index=0)
main/_base_/filters/smoothnet_t32_h36m.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Config for SmoothNet filter trained on Human3.6M data with a window size of
2
+ # 32. The model is trained using root-centered keypoint coordinates around the
3
+ # pelvis (index:0), thus we set root_index=0 for the filter
4
+ filter_cfg = dict(
5
+ type='SmoothNetFilter',
6
+ window_size=32,
7
+ output_size=32,
8
+ checkpoint='https://download.openmmlab.com/mmpose/plugin/smoothnet/'
9
+ 'smoothnet_ws32_h36m.pth',
10
+ hidden_size=512,
11
+ res_hidden_size=256,
12
+ num_blocks=3,
13
+ root_index=0)
main/_base_/filters/smoothnet_t64_h36m.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Config for SmoothNet filter trained on Human3.6M data with a window size of
2
+ # 64. The model is trained using root-centered keypoint coordinates around the
3
+ # pelvis (index:0), thus we set root_index=0 for the filter
4
+ filter_cfg = dict(
5
+ type='SmoothNetFilter',
6
+ window_size=64,
7
+ output_size=64,
8
+ checkpoint='https://download.openmmlab.com/mmpose/plugin/smoothnet/'
9
+ 'smoothnet_ws64_h36m.pth',
10
+ hidden_size=512,
11
+ res_hidden_size=256,
12
+ num_blocks=3,
13
+ root_index=0)
main/_base_/filters/smoothnet_t8_h36m.py ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Config for SmoothNet filter trained on Human3.6M data with a window size of
2
+ # 8. The model is trained using root-centered keypoint coordinates around the
3
+ # pelvis (index:0), thus we set root_index=0 for the filter
4
+ filter_cfg = dict(
5
+ type='SmoothNetFilter',
6
+ window_size=8,
7
+ output_size=8,
8
+ checkpoint='https://download.openmmlab.com/mmpose/plugin/smoothnet/'
9
+ 'smoothnet_ws8_h36m.pth',
10
+ hidden_size=512,
11
+ res_hidden_size=256,
12
+ num_blocks=3,
13
+ root_index=0)