upload main
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- main/SMPLer_X.py +468 -0
- main/_base_/datasets/300w.py +384 -0
- main/_base_/datasets/aflw.py +83 -0
- main/_base_/datasets/aic.py +140 -0
- main/_base_/datasets/animalpose.py +166 -0
- main/_base_/datasets/ap10k.py +142 -0
- main/_base_/datasets/atrw.py +144 -0
- main/_base_/datasets/campus.py +151 -0
- main/_base_/datasets/coco.py +181 -0
- main/_base_/datasets/coco_wholebody.py +1154 -0
- main/_base_/datasets/coco_wholebody_face.py +448 -0
- main/_base_/datasets/coco_wholebody_hand.py +147 -0
- main/_base_/datasets/cofw.py +134 -0
- main/_base_/datasets/crowdpose.py +147 -0
- main/_base_/datasets/deepfashion_full.py +74 -0
- main/_base_/datasets/deepfashion_lower.py +46 -0
- main/_base_/datasets/deepfashion_upper.py +60 -0
- main/_base_/datasets/fly.py +237 -0
- main/_base_/datasets/freihand2d.py +144 -0
- main/_base_/datasets/h36m.py +152 -0
- main/_base_/datasets/halpe.py +1157 -0
- main/_base_/datasets/horse10.py +201 -0
- main/_base_/datasets/interhand2d.py +142 -0
- main/_base_/datasets/interhand3d.py +487 -0
- main/_base_/datasets/jhmdb.py +129 -0
- main/_base_/datasets/locust.py +263 -0
- main/_base_/datasets/macaque.py +183 -0
- main/_base_/datasets/mhp.py +156 -0
- main/_base_/datasets/mpi_inf_3dhp.py +132 -0
- main/_base_/datasets/mpii.py +155 -0
- main/_base_/datasets/mpii_trb.py +380 -0
- main/_base_/datasets/nvgesture.py +42 -0
- main/_base_/datasets/ochuman.py +181 -0
- main/_base_/datasets/onehand10k.py +142 -0
- main/_base_/datasets/panoptic_body3d.py +160 -0
- main/_base_/datasets/panoptic_hand2d.py +143 -0
- main/_base_/datasets/posetrack18.py +176 -0
- main/_base_/datasets/rhd2d.py +151 -0
- main/_base_/datasets/shelf.py +151 -0
- main/_base_/datasets/wflw.py +582 -0
- main/_base_/datasets/zebra.py +64 -0
- main/_base_/default_runtime.py +20 -0
- main/_base_/filters/gaussian.py +5 -0
- main/_base_/filters/one_euro.py +5 -0
- main/_base_/filters/savizky_golay.py +5 -0
- main/_base_/filters/smoothnet_h36m.md +45 -0
- main/_base_/filters/smoothnet_t16_h36m.py +13 -0
- main/_base_/filters/smoothnet_t32_h36m.py +13 -0
- main/_base_/filters/smoothnet_t64_h36m.py +13 -0
- 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)
|