teemosliang commited on
Commit
d5532b9
·
verified ·
1 Parent(s): 5ff4722

realease: publish the huggingface space demo of SDPose

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. app.py +828 -2
  3. assets/logo/logo.png +3 -0
  4. configs/_base_/datasets/300w.py +140 -0
  5. configs/_base_/datasets/aflw.py +50 -0
  6. configs/_base_/datasets/aic.py +146 -0
  7. configs/_base_/datasets/aic2coco.py +187 -0
  8. configs/_base_/datasets/aic2goliath.py +11 -0
  9. configs/_base_/datasets/aic2goliath3d.py +11 -0
  10. configs/_base_/datasets/ak.py +273 -0
  11. configs/_base_/datasets/animalpose.py +172 -0
  12. configs/_base_/datasets/ap10k.py +148 -0
  13. configs/_base_/datasets/atrw.py +150 -0
  14. configs/_base_/datasets/campus.py +157 -0
  15. configs/_base_/datasets/coco.py +187 -0
  16. configs/_base_/datasets/coco_openpose.py +163 -0
  17. configs/_base_/datasets/coco_wholebody.py +1160 -0
  18. configs/_base_/datasets/coco_wholebody2goliath.py +11 -0
  19. configs/_base_/datasets/coco_wholebody2goliath3d.py +11 -0
  20. configs/_base_/datasets/coco_wholebody_face.py +160 -0
  21. configs/_base_/datasets/coco_wholebody_hand.py +153 -0
  22. configs/_base_/datasets/coco_wholebody_openpose.py +1034 -0
  23. configs/_base_/datasets/cofw.py +63 -0
  24. configs/_base_/datasets/crowdpose.py +153 -0
  25. configs/_base_/datasets/crowdpose2coco.py +187 -0
  26. configs/_base_/datasets/crowdpose2goliath.py +11 -0
  27. configs/_base_/datasets/crowdpose2goliath3d.py +11 -0
  28. configs/_base_/datasets/deepfashion2.py +2666 -0
  29. configs/_base_/datasets/deepfashion_full.py +80 -0
  30. configs/_base_/datasets/deepfashion_lower.py +52 -0
  31. configs/_base_/datasets/deepfashion_upper.py +66 -0
  32. configs/_base_/datasets/fly.py +243 -0
  33. configs/_base_/datasets/freihand2d.py +150 -0
  34. configs/_base_/datasets/goliath.py +0 -0
  35. configs/_base_/datasets/goliath3d.py +2131 -0
  36. configs/_base_/datasets/h36m.py +158 -0
  37. configs/_base_/datasets/halpe.py +1163 -0
  38. configs/_base_/datasets/halpe26.py +280 -0
  39. configs/_base_/datasets/horse10.py +207 -0
  40. configs/_base_/datasets/humanart.py +187 -0
  41. configs/_base_/datasets/humanart_aic.py +211 -0
  42. configs/_base_/datasets/interhand2d.py +148 -0
  43. configs/_base_/datasets/interhand3d.py +493 -0
  44. configs/_base_/datasets/jhmdb.py +135 -0
  45. configs/_base_/datasets/lapa.py +694 -0
  46. configs/_base_/datasets/locust.py +269 -0
  47. configs/_base_/datasets/macaque.py +189 -0
  48. configs/_base_/datasets/mhp.py +162 -0
  49. configs/_base_/datasets/mpi_inf_3dhp.py +138 -0
  50. configs/_base_/datasets/mpii.py +161 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ assets/logo/logo.png filter=lfs diff=lfs merge=lfs -text
app.py CHANGED
@@ -1,3 +1,829 @@
1
- import trackio
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
 
3
- trackio.show()
 
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ """
4
+ SDPose Gradio Space - Deployment Version
5
+ Optimized for Hugging Face Spaces with model selection
6
+ """
7
+
8
+ import gradio as gr
9
+ import cv2
10
+ import numpy as np
11
+ import torch
12
+ import os
13
+ import sys
14
+ import math
15
+ import json
16
+ import matplotlib.colors
17
+ from pathlib import Path
18
+ from PIL import Image
19
+ from torchvision import transforms
20
+ from typing import Optional, Tuple, List
21
+ import tempfile
22
+ from huggingface_hub import hf_hub_download, snapshot_download
23
+
24
+ # Add current directory to path for imports
25
+ sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
26
+
27
+ # Import required modules
28
+ from diffusers import DDPMScheduler, AutoencoderKL, UNet2DConditionModel
29
+ from transformers import CLIPTokenizer, CLIPTextModel
30
+ from models.HeatmapHead import get_heatmap_head
31
+ from models.ModifiedUNet import Modified_forward
32
+ from pipelines.SDPose_D_Pipeline import SDPose_D_Pipeline
33
+ from safetensors.torch import load_file
34
+
35
+ try:
36
+ from diffusers.utils import is_xformers_available
37
+ except ImportError:
38
+ def is_xformers_available():
39
+ return False
40
+
41
+ # Try to import YOLO
42
+ try:
43
+ from ultralytics import YOLO
44
+ YOLO_AVAILABLE = True
45
+ except ImportError:
46
+ YOLO_AVAILABLE = False
47
+ print("⚠️ ultralytics not available, YOLO detection will be disabled")
48
+
49
+ # Constants for Gradio Space
50
+ MODEL_REPOS = {
51
+ "body": "teemosliang/SDPose-Body",
52
+ "wholebody": "teemosliang/SDPose-Wholebody"
53
+ }
54
+ DEFAULT_YOLO_MODEL = "yolov8n.pt" # Will auto-download
55
+
56
+ def draw_body17_keypoints_openpose_style(canvas, keypoints, scores=None, threshold=0.3, overlay_mode=False, overlay_alpha=0.6):
57
+ """Draw body keypoints in OpenPose style"""
58
+ H, W, C = canvas.shape
59
+
60
+ if len(keypoints) >= 7:
61
+ neck = (keypoints[5] + keypoints[6]) / 2
62
+ neck_score = min(scores[5], scores[6]) if scores is not None else 1.0
63
+
64
+ candidate = np.zeros((18, 2))
65
+ candidate_scores = np.zeros(18)
66
+
67
+ candidate[0] = keypoints[0]
68
+ candidate[1] = neck
69
+ candidate[2] = keypoints[6]
70
+ candidate[3] = keypoints[8]
71
+ candidate[4] = keypoints[10]
72
+ candidate[5] = keypoints[5]
73
+ candidate[6] = keypoints[7]
74
+ candidate[7] = keypoints[9]
75
+ candidate[8] = keypoints[12]
76
+ candidate[9] = keypoints[14]
77
+ candidate[10] = keypoints[16]
78
+ candidate[11] = keypoints[11]
79
+ candidate[12] = keypoints[13]
80
+ candidate[13] = keypoints[15]
81
+ candidate[14] = keypoints[2]
82
+ candidate[15] = keypoints[1]
83
+ candidate[16] = keypoints[4]
84
+ candidate[17] = keypoints[3]
85
+
86
+ if scores is not None:
87
+ candidate_scores[0] = scores[0]
88
+ candidate_scores[1] = neck_score
89
+ candidate_scores[2] = scores[6]
90
+ candidate_scores[3] = scores[8]
91
+ candidate_scores[4] = scores[10]
92
+ candidate_scores[5] = scores[5]
93
+ candidate_scores[6] = scores[7]
94
+ candidate_scores[7] = scores[9]
95
+ candidate_scores[8] = scores[12]
96
+ candidate_scores[9] = scores[14]
97
+ candidate_scores[10] = scores[16]
98
+ candidate_scores[11] = scores[11]
99
+ candidate_scores[12] = scores[13]
100
+ candidate_scores[13] = scores[15]
101
+ candidate_scores[14] = scores[2]
102
+ candidate_scores[15] = scores[1]
103
+ candidate_scores[16] = scores[4]
104
+ candidate_scores[17] = scores[3]
105
+ else:
106
+ return canvas
107
+
108
+ avg_size = (H + W) / 2
109
+ stickwidth = max(1, int(avg_size / 256))
110
+ circle_radius = max(2, int(avg_size / 192))
111
+
112
+ limbSeq = [
113
+ [2, 3], [2, 6], [3, 4], [4, 5], [6, 7], [7, 8], [2, 9], [9, 10],
114
+ [10, 11], [2, 12], [12, 13], [13, 14], [2, 1], [1, 15], [15, 17],
115
+ [1, 16], [16, 18]
116
+ ]
117
+
118
+ colors = [
119
+ [255, 0, 0], [255, 85, 0], [255, 170, 0], [255, 255, 0], [170, 255, 0],
120
+ [85, 255, 0], [0, 255, 0], [0, 255, 85], [0, 255, 170], [0, 255, 255],
121
+ [0, 170, 255], [0, 85, 255], [0, 0, 255], [85, 0, 255],
122
+ [170, 0, 255], [255, 0, 255], [255, 0, 170], [255, 0, 85]
123
+ ]
124
+
125
+ for i in range(len(limbSeq)):
126
+ index = np.array(limbSeq[i]) - 1
127
+ if index[0] >= len(candidate) or index[1] >= len(candidate):
128
+ continue
129
+
130
+ if scores is not None:
131
+ if candidate_scores[index[0]] < threshold or candidate_scores[index[1]] < threshold:
132
+ continue
133
+
134
+ Y = candidate[index.astype(int), 0]
135
+ X = candidate[index.astype(int), 1]
136
+ mX = np.mean(X)
137
+ mY = np.mean(Y)
138
+ length = ((X[0] - X[1]) ** 2 + (Y[0] - Y[1]) ** 2) ** 0.5
139
+
140
+ if length < 1:
141
+ continue
142
+
143
+ angle = math.degrees(math.atan2(X[0] - X[1], Y[0] - Y[1]))
144
+ polygon = cv2.ellipse2Poly(
145
+ (int(mY), int(mX)), (int(length / 2), stickwidth), int(angle), 0, 360, 1
146
+ )
147
+ cv2.fillConvexPoly(canvas, polygon, colors[i % len(colors)])
148
+
149
+ for i in range(18):
150
+ if scores is not None and candidate_scores[i] < threshold:
151
+ continue
152
+
153
+ x, y = candidate[i]
154
+ x = int(x)
155
+ y = int(y)
156
+
157
+ if x < 0 or y < 0 or x >= W or y >= H:
158
+ continue
159
+
160
+ cv2.circle(canvas, (int(x), int(y)), circle_radius, colors[i % len(colors)], thickness=-1)
161
+
162
+ return canvas
163
+
164
+
165
+ def draw_wholebody_keypoints_openpose_style(canvas, keypoints, scores=None, threshold=0.3, overlay_mode=False, overlay_alpha=0.6):
166
+ """Draw wholebody keypoints (134 keypoints) in DWPose style"""
167
+ H, W, C = canvas.shape
168
+
169
+ stickwidth = 4
170
+
171
+ # Body connections
172
+ body_limbSeq = [
173
+ [2, 3], [2, 6], [3, 4], [4, 5], [6, 7], [7, 8], [2, 9], [9, 10],
174
+ [10, 11], [2, 12], [12, 13], [13, 14], [2, 1], [1, 15], [15, 17],
175
+ [1, 16], [16, 18]
176
+ ]
177
+
178
+ # Hand connections
179
+ hand_edges = [
180
+ [0, 1], [1, 2], [2, 3], [3, 4], # thumb
181
+ [0, 5], [5, 6], [6, 7], [7, 8], # index
182
+ [0, 9], [9, 10], [10, 11], [11, 12], # middle
183
+ [0, 13], [13, 14], [14, 15], [15, 16], # ring
184
+ [0, 17], [17, 18], [18, 19], [19, 20], # pinky
185
+ ]
186
+
187
+ colors = [
188
+ [255, 0, 0], [255, 85, 0], [255, 170, 0], [255, 255, 0], [170, 255, 0],
189
+ [85, 255, 0], [0, 255, 0], [0, 255, 85], [0, 255, 170], [0, 255, 255],
190
+ [0, 170, 255], [0, 85, 255], [0, 0, 255], [85, 0, 255],
191
+ [170, 0, 255], [255, 0, 255], [255, 0, 170], [255, 0, 85]
192
+ ]
193
+
194
+ # Draw body limbs
195
+ if len(keypoints) >= 18:
196
+ for i, limb in enumerate(body_limbSeq):
197
+ idx1, idx2 = limb[0] - 1, limb[1] - 1
198
+ if idx1 >= 18 or idx2 >= 18:
199
+ continue
200
+ if scores is not None:
201
+ if scores[idx1] < threshold or scores[idx2] < threshold:
202
+ continue
203
+
204
+ Y = np.array([keypoints[idx1][0], keypoints[idx2][0]])
205
+ X = np.array([keypoints[idx1][1], keypoints[idx2][1]])
206
+ mX = np.mean(X)
207
+ mY = np.mean(Y)
208
+ length = ((X[0] - X[1]) ** 2 + (Y[0] - Y[1]) ** 2) ** 0.5
209
+
210
+ if length < 1:
211
+ continue
212
+
213
+ angle = math.degrees(math.atan2(X[0] - X[1], Y[0] - Y[1]))
214
+ polygon = cv2.ellipse2Poly(
215
+ (int(mY), int(mX)), (int(length / 2), stickwidth), int(angle), 0, 360, 1
216
+ )
217
+ cv2.fillConvexPoly(canvas, polygon, colors[i % len(colors)])
218
+
219
+ # Draw body keypoints
220
+ if len(keypoints) >= 18:
221
+ for i in range(18):
222
+ if scores is not None and scores[i] < threshold:
223
+ continue
224
+ x, y = int(keypoints[i][0]), int(keypoints[i][1])
225
+ if 0 <= x < W and 0 <= y < H:
226
+ cv2.circle(canvas, (x, y), 4, colors[i % len(colors)], thickness=-1)
227
+
228
+ # Draw foot keypoints
229
+ if len(keypoints) >= 24:
230
+ for i in range(18, 24):
231
+ if scores is not None and scores[i] < threshold:
232
+ continue
233
+ x, y = int(keypoints[i][0]), int(keypoints[i][1])
234
+ if 0 <= x < W and 0 <= y < H:
235
+ cv2.circle(canvas, (x, y), 4, colors[i % len(colors)], thickness=-1)
236
+
237
+ # Draw right hand
238
+ if len(keypoints) >= 113:
239
+ eps = 0.01
240
+ for ie, edge in enumerate(hand_edges):
241
+ idx1, idx2 = 92 + edge[0], 92 + edge[1]
242
+ if scores is not None:
243
+ if scores[idx1] < threshold or scores[idx2] < threshold:
244
+ continue
245
+
246
+ x1, y1 = int(keypoints[idx1][0]), int(keypoints[idx1][1])
247
+ x2, y2 = int(keypoints[idx2][0]), int(keypoints[idx2][1])
248
+
249
+ if x1 > eps and y1 > eps and x2 > eps and y2 > eps:
250
+ if 0 <= x1 < W and 0 <= y1 < H and 0 <= x2 < W and 0 <= y2 < H:
251
+ color = matplotlib.colors.hsv_to_rgb([ie / float(len(hand_edges)), 1.0, 1.0]) * 255
252
+ cv2.line(canvas, (x1, y1), (x2, y2), color, thickness=2)
253
+
254
+ for i in range(92, 113):
255
+ if scores is not None and scores[i] < threshold:
256
+ continue
257
+ x, y = int(keypoints[i][0]), int(keypoints[i][1])
258
+ if x > eps and y > eps and 0 <= x < W and 0 <= y < H:
259
+ cv2.circle(canvas, (x, y), 4, (0, 0, 255), thickness=-1)
260
+
261
+ # Draw left hand
262
+ if len(keypoints) >= 134:
263
+ eps = 0.01
264
+ for ie, edge in enumerate(hand_edges):
265
+ idx1, idx2 = 113 + edge[0], 113 + edge[1]
266
+ if scores is not None:
267
+ if scores[idx1] < threshold or scores[idx2] < threshold:
268
+ continue
269
+
270
+ x1, y1 = int(keypoints[idx1][0]), int(keypoints[idx1][1])
271
+ x2, y2 = int(keypoints[idx2][0]), int(keypoints[idx2][1])
272
+
273
+ if x1 > eps and y1 > eps and x2 > eps and y2 > eps:
274
+ if 0 <= x1 < W and 0 <= y1 < H and 0 <= x2 < W and 0 <= y2 < H:
275
+ color = matplotlib.colors.hsv_to_rgb([ie / float(len(hand_edges)), 1.0, 1.0]) * 255
276
+ cv2.line(canvas, (x1, y1), (x2, y2), color, thickness=2)
277
+
278
+ for i in range(113, 134):
279
+ if scores is not None and i < len(scores) and scores[i] < threshold:
280
+ continue
281
+ x, y = int(keypoints[i][0]), int(keypoints[i][1])
282
+ if x > eps and y > eps and 0 <= x < W and 0 <= y < H:
283
+ cv2.circle(canvas, (x, y), 4, (0, 0, 255), thickness=-1)
284
+
285
+ # Draw face keypoints
286
+ if len(keypoints) >= 92:
287
+ eps = 0.01
288
+ for i in range(24, 92):
289
+ if scores is not None and scores[i] < threshold:
290
+ continue
291
+ x, y = int(keypoints[i][0]), int(keypoints[i][1])
292
+ if x > eps and y > eps and 0 <= x < W and 0 <= y < H:
293
+ cv2.circle(canvas, (x, y), 3, (255, 255, 255), thickness=-1)
294
+
295
+ return canvas
296
+
297
+
298
+ def detect_person_yolo(image, confidence_threshold=0.5):
299
+ """Detect person using YOLO with auto-download"""
300
+ if not YOLO_AVAILABLE:
301
+ h, w = image.shape[:2]
302
+ return [[0, 0, w, h]], False
303
+
304
+ try:
305
+ # Auto-download YOLOv8n if not exists
306
+ model = YOLO(DEFAULT_YOLO_MODEL)
307
+ results = model(image, verbose=False)
308
+
309
+ person_bboxes = []
310
+ for result in results:
311
+ boxes = result.boxes
312
+ if boxes is not None:
313
+ for box in boxes:
314
+ cls = int(box.cls[0].cpu().numpy())
315
+ conf = float(box.conf[0].cpu().numpy())
316
+ if cls == 0 and conf > confidence_threshold:
317
+ x1, y1, x2, y2 = box.xyxy[0].cpu().numpy()
318
+ person_bboxes.append([float(x1), float(y1), float(x2), float(y2), conf])
319
+
320
+ if person_bboxes:
321
+ person_bboxes.sort(key=lambda x: x[4], reverse=True)
322
+ bboxes = [bbox[:4] for bbox in person_bboxes]
323
+ return bboxes, True
324
+ else:
325
+ h, w = image.shape[:2]
326
+ return [[0, 0, w, h]], False
327
+
328
+ except Exception as e:
329
+ print(f"YOLO detection failed: {e}")
330
+ h, w = image.shape[:2]
331
+ return [[0, 0, w, h]], False
332
+
333
+
334
+ def preprocess_image_for_sdpose(image, bbox=None, input_size=(768, 1024)):
335
+ """Preprocess image for SDPose inference"""
336
+ if isinstance(image, np.ndarray):
337
+ if len(image.shape) == 3 and image.shape[2] == 3:
338
+ image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
339
+ else:
340
+ image_rgb = image
341
+ pil_image = Image.fromarray(image_rgb)
342
+ original_size = (image.shape[1], image.shape[0])
343
+ else:
344
+ pil_image = image
345
+ original_size = pil_image.size
346
+
347
+ crop_info = None
348
+ if bbox is not None:
349
+ x1, y1, x2, y2 = map(int, bbox)
350
+ x1 = max(0, x1)
351
+ y1 = max(0, y1)
352
+ x2 = min(pil_image.width, x2)
353
+ y2 = min(pil_image.height, y2)
354
+
355
+ if x2 > x1 and y2 > y1:
356
+ cropped_image = pil_image.crop((x1, y1, x2, y2))
357
+ crop_info = (x1, y1, x2 - x1, y2 - y1)
358
+ pil_image = cropped_image
359
+ else:
360
+ crop_info = (0, 0, pil_image.width, pil_image.height)
361
+ else:
362
+ crop_info = (0, 0, pil_image.width, pil_image.height)
363
+
364
+ transform_list = [
365
+ transforms.Resize((input_size[1], input_size[0])),
366
+ transforms.ToTensor(),
367
+ transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
368
+ ]
369
+
370
+ val_transform = transforms.Compose(transform_list)
371
+ input_tensor = val_transform(pil_image).unsqueeze(0)
372
+
373
+ return input_tensor, original_size, crop_info
374
+
375
+
376
+ def restore_keypoints_to_original(keypoints, crop_info, input_size, original_size):
377
+ """Restore keypoints from cropped/resized space to original image space"""
378
+ x1, y1, crop_w, crop_h = crop_info
379
+ input_w, input_h = input_size
380
+
381
+ scale_x = crop_w / input_w
382
+ scale_y = crop_h / input_h
383
+
384
+ keypoints_restored = keypoints.copy()
385
+ keypoints_restored[:, 0] = keypoints[:, 0] * scale_x + x1
386
+ keypoints_restored[:, 1] = keypoints[:, 1] * scale_y + y1
387
+
388
+ return keypoints_restored
389
+
390
+
391
+ class SDPoseInference:
392
+ """SDPose inference class for Gradio Space"""
393
+
394
+ def __init__(self):
395
+ self.pipeline = None
396
+ self.device = None
397
+ self.model_loaded = False
398
+ self.keypoint_scheme = "body"
399
+ self.input_size = (768, 1024)
400
+ self.model_cache_dir = None
401
+
402
+ def load_model_from_hub(self, repo_id=None, keypoint_scheme="body"):
403
+ """Load model from Hugging Face Hub"""
404
+ try:
405
+ if repo_id is None:
406
+ repo_id = MODEL_REPOS.get(keypoint_scheme, MODEL_REPOS["body"])
407
+
408
+ self.device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
409
+ self.keypoint_scheme = keypoint_scheme
410
+
411
+ print(f"🔄 Loading model from Hugging Face Hub: {repo_id}")
412
+ print(f"📱 Device: {self.device}")
413
+ print(f"🎯 Keypoint scheme: {keypoint_scheme}")
414
+
415
+ # Download entire model repository
416
+ print("📥 Downloading model files...")
417
+ cache_dir = snapshot_download(
418
+ repo_id=repo_id,
419
+ allow_patterns=["*.safetensors", "*.json", "*.txt", "*.model"],
420
+ cache_dir="./model_cache"
421
+ )
422
+ self.model_cache_dir = cache_dir
423
+ print(f"✅ Model files downloaded to: {cache_dir}")
424
+
425
+ # Load components from downloaded files
426
+ print("🔧 Loading model components...")
427
+
428
+ # Load UNet
429
+ unet_path = os.path.join(cache_dir, "unet")
430
+ if os.path.exists(unet_path):
431
+ unet = UNet2DConditionModel.from_pretrained(
432
+ unet_path,
433
+ class_embed_type="projection",
434
+ projection_class_embeddings_input_dim=4,
435
+ low_cpu_mem_usage=False,
436
+ device_map=None,
437
+ )
438
+ else:
439
+ # Try loading from cache_dir directly
440
+ unet = UNet2DConditionModel.from_pretrained(
441
+ cache_dir,
442
+ subfolder="unet",
443
+ class_embed_type="projection",
444
+ projection_class_embeddings_input_dim=4,
445
+ low_cpu_mem_usage=False,
446
+ device_map=None,
447
+ )
448
+
449
+ unet = Modified_forward(unet, keypoint_scheme=keypoint_scheme)
450
+
451
+ # Load VAE
452
+ vae_path = os.path.join(cache_dir, "vae")
453
+ if os.path.exists(vae_path):
454
+ vae = AutoencoderKL.from_pretrained(vae_path)
455
+ else:
456
+ vae = AutoencoderKL.from_pretrained(cache_dir, subfolder="vae")
457
+
458
+ # Load tokenizer and text encoder
459
+ tokenizer_path = os.path.join(cache_dir, "tokenizer")
460
+ text_encoder_path = os.path.join(cache_dir, "text_encoder")
461
+
462
+ if os.path.exists(tokenizer_path):
463
+ tokenizer = CLIPTokenizer.from_pretrained(tokenizer_path)
464
+ else:
465
+ tokenizer = CLIPTokenizer.from_pretrained(cache_dir, subfolder="tokenizer")
466
+
467
+ if os.path.exists(text_encoder_path):
468
+ text_encoder = CLIPTextModel.from_pretrained(text_encoder_path)
469
+ else:
470
+ text_encoder = CLIPTextModel.from_pretrained(cache_dir, subfolder="text_encoder")
471
+
472
+ # Load decoder
473
+ hm_decoder = get_heatmap_head(mode=keypoint_scheme)
474
+ decoder_file = os.path.join(cache_dir, "decoder", "decoder.safetensors")
475
+ if not os.path.exists(decoder_file):
476
+ # Try alternative path
477
+ decoder_file = os.path.join(cache_dir, "decoder.safetensors")
478
+
479
+ if os.path.exists(decoder_file):
480
+ print(f"📂 Loading decoder from: {decoder_file}")
481
+ hm_decoder.load_state_dict(load_file(decoder_file, device="cpu"), strict=True)
482
+ else:
483
+ print("⚠️ Decoder weights not found, using random initialization")
484
+
485
+ # Load scheduler
486
+ scheduler_path = os.path.join(cache_dir, "scheduler")
487
+ if os.path.exists(scheduler_path):
488
+ noise_scheduler = DDPMScheduler.from_pretrained(scheduler_path)
489
+ else:
490
+ noise_scheduler = DDPMScheduler.from_pretrained(cache_dir, subfolder="scheduler")
491
+
492
+ # Move to device
493
+ print("🚀 Moving models to device...")
494
+ unet = unet.to(self.device)
495
+ vae = vae.to(self.device)
496
+ text_encoder = text_encoder.to(self.device)
497
+ hm_decoder = hm_decoder.to(self.device)
498
+
499
+ # Create pipeline
500
+ self.pipeline = SDPose_D_Pipeline(
501
+ unet=unet,
502
+ vae=vae,
503
+ tokenizer=tokenizer,
504
+ text_encoder=text_encoder,
505
+ scheduler=noise_scheduler,
506
+ decoder=hm_decoder
507
+ )
508
+
509
+ # Enable xformers if available
510
+ if is_xformers_available():
511
+ try:
512
+ self.pipeline.unet.enable_xformers_memory_efficient_attention()
513
+ print("✅ xformers enabled")
514
+ except:
515
+ print("⚠️ xformers not enabled")
516
+
517
+ self.model_loaded = True
518
+ print("✅ Model loaded successfully!")
519
+ return True
520
+
521
+ except Exception as e:
522
+ print(f"❌ Error loading model: {e}")
523
+ import traceback
524
+ traceback.print_exc()
525
+ return False
526
+
527
+ def predict_image(self, image, enable_yolo=True, score_threshold=0.3, overlay_alpha=0.6):
528
+ """Run inference on a single image"""
529
+ if not self.model_loaded or self.pipeline is None:
530
+ return None, "❌ Model not loaded. Please wait for model to load."
531
+
532
+ try:
533
+ if isinstance(image, np.ndarray):
534
+ original_image_rgb = image.copy()
535
+ else:
536
+ original_image_rgb = np.array(image)
537
+
538
+ original_image_bgr = cv2.cvtColor(original_image_rgb, cv2.COLOR_RGB2BGR)
539
+
540
+ # Person detection
541
+ bboxes_list = []
542
+ if enable_yolo:
543
+ bboxes, used_yolo = detect_person_yolo(original_image_bgr)
544
+ bboxes_list = bboxes if bboxes else [None]
545
+ else:
546
+ bboxes_list = [None]
547
+
548
+ # Process each person
549
+ pose_canvas = np.zeros_like(original_image_rgb)
550
+ all_keypoints = []
551
+ all_scores = []
552
+
553
+ for bbox in bboxes_list:
554
+ input_tensor, original_size, crop_info = preprocess_image_for_sdpose(
555
+ original_image_bgr, bbox, self.input_size
556
+ )
557
+ input_tensor = input_tensor.to(self.device)
558
+
559
+ with torch.no_grad():
560
+ out = self.pipeline(
561
+ input_tensor,
562
+ timesteps=[999],
563
+ test_cfg={'flip_test': False},
564
+ show_progress_bar=False,
565
+ mode="inference",
566
+ )
567
+
568
+ heatmap_inst = out[0]
569
+ keypoints = heatmap_inst.keypoints[0].cpu().numpy()
570
+ scores = heatmap_inst.keypoint_scores[0].cpu().numpy()
571
+
572
+ if bbox is not None:
573
+ keypoints_original = restore_keypoints_to_original(
574
+ keypoints, crop_info, self.input_size, original_size
575
+ )
576
+ else:
577
+ scale_x = original_size[0] / self.input_size[0]
578
+ scale_y = original_size[1] / self.input_size[1]
579
+ keypoints_original = keypoints.copy()
580
+ keypoints_original[:, 0] *= scale_x
581
+ keypoints_original[:, 1] *= scale_y
582
+
583
+ all_keypoints.append(keypoints_original)
584
+ all_scores.append(scores)
585
+
586
+ # Draw keypoints
587
+ if self.keypoint_scheme == "body" and len(keypoints_original) >= 17:
588
+ pose_canvas = draw_body17_keypoints_openpose_style(
589
+ pose_canvas, keypoints_original[:17], scores[:17],
590
+ threshold=score_threshold
591
+ )
592
+ elif self.keypoint_scheme == "wholebody":
593
+ # Process wholebody keypoints
594
+ keypoints_with_neck = keypoints_original.copy()
595
+ scores_with_neck = scores.copy()
596
+
597
+ if len(keypoints_original) >= 17:
598
+ # Insert neck
599
+ neck = (keypoints_original[5] + keypoints_original[6]) / 2
600
+ neck_score = min(scores[5], scores[6]) if scores[5] > 0.3 and scores[6] > 0.3 else 0
601
+
602
+ keypoints_with_neck = np.insert(keypoints_original, 17, neck, axis=0)
603
+ scores_with_neck = np.insert(scores, 17, neck_score)
604
+
605
+ # Remap from mmpose to openpose format
606
+ mmpose_idx = np.array([17, 6, 8, 10, 7, 9, 12, 14, 16, 13, 15, 2, 1, 4, 3])
607
+ openpose_idx = np.array([1, 2, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17])
608
+
609
+ temp_kpts = keypoints_with_neck.copy()
610
+ temp_scores = scores_with_neck.copy()
611
+ temp_kpts[openpose_idx] = keypoints_with_neck[mmpose_idx]
612
+ temp_scores[openpose_idx] = scores_with_neck[mmpose_idx]
613
+
614
+ keypoints_with_neck = temp_kpts
615
+ scores_with_neck = temp_scores
616
+
617
+ pose_canvas = draw_wholebody_keypoints_openpose_style(
618
+ pose_canvas, keypoints_with_neck, scores_with_neck,
619
+ threshold=score_threshold
620
+ )
621
+
622
+ # Blend images
623
+ result_image = cv2.addWeighted(original_image_rgb, 1.0 - overlay_alpha, pose_canvas, overlay_alpha, 0)
624
+
625
+ info_text = f"✅ Detected {len(all_keypoints)} person(s)\n"
626
+ info_text += f"📊 Keypoint scheme: {self.keypoint_scheme}\n"
627
+ if self.keypoint_scheme == "body":
628
+ info_text += f"🔢 Keypoints: 17 (COCO body)\n"
629
+ else:
630
+ info_text += f"��� Keypoints: 133 (body + face + hands + feet)\n"
631
+ info_text += f"🎯 Score threshold: {score_threshold}\n"
632
+ info_text += f"🎨 Overlay alpha: {overlay_alpha}"
633
+
634
+ return result_image, info_text
635
+
636
+ except Exception as e:
637
+ import traceback
638
+ error_msg = f"❌ Error during inference: {str(e)}\n{traceback.format_exc()}"
639
+ print(error_msg)
640
+ return image, error_msg
641
+
642
+
643
+ # Global inference instances for both models
644
+ inference_engines = {
645
+ "body": SDPoseInference(),
646
+ "wholebody": SDPoseInference()
647
+ }
648
+ current_model = None
649
+
650
+
651
+ def switch_model(model_type):
652
+ """Switch between body and wholebody models"""
653
+ global current_model
654
+ current_model = model_type
655
+
656
+ if not inference_engines[model_type].model_loaded:
657
+ print(f"🔄 Loading {model_type} model...")
658
+ success = inference_engines[model_type].load_model_from_hub(keypoint_scheme=model_type)
659
+ if success:
660
+ return f"✅ {model_type.capitalize()} model loaded successfully!"
661
+ else:
662
+ return f"❌ Failed to load {model_type} model"
663
+ else:
664
+ return f"✅ {model_type.capitalize()} model is ready"
665
+
666
+
667
+ def run_inference(image, model_type, enable_yolo, score_threshold, overlay_alpha):
668
+ """Gradio interface function"""
669
+ if image is None:
670
+ return None, "⚠️ Please upload an image first!"
671
+
672
+ # Ensure model is loaded
673
+ if not inference_engines[model_type].model_loaded:
674
+ status = switch_model(model_type)
675
+ if "Failed" in status:
676
+ return image, status
677
+
678
+ result_image, info_text = inference_engines[model_type].predict_image(
679
+ image,
680
+ enable_yolo=enable_yolo,
681
+ score_threshold=score_threshold,
682
+ overlay_alpha=overlay_alpha
683
+ )
684
+
685
+ return result_image, info_text
686
+
687
+
688
+ def create_gradio_interface():
689
+ """Create Gradio interface for Spaces"""
690
+
691
+ with gr.Blocks(title="SDPose - Pose Estimation", theme=gr.themes.Soft()) as demo:
692
+ gr.Markdown("""
693
+ # 🎯 SDPose: Diffusion-based Pose Estimation
694
+
695
+ **Exploiting Diffusion Priors for Out-of-Domain and Robust Pose Estimation**
696
+
697
+ Upload an image to detect human poses with high accuracy, even in challenging conditions!
698
+
699
+ 📄 [Paper](https://arxiv.org/abs/2409.24980) | 💻 [GitHub](https://github.com/T-S-Liang/SDPose-OOD) | 🤗 [Body Model](https://huggingface.co/teemosliang/SDPose-Body) | 🤗 [WholeBody Model](https://huggingface.co/teemosliang/SDPose-Wholebody)
700
+ """)
701
+
702
+ with gr.Row():
703
+ with gr.Column():
704
+ gr.Markdown("### 📥 Input")
705
+ input_image = gr.Image(
706
+ label="Upload Image",
707
+ type="numpy",
708
+ height=400
709
+ )
710
+
711
+ gr.Markdown("### ⚙️ Settings")
712
+
713
+ model_type = gr.Radio(
714
+ choices=["body", "wholebody"],
715
+ value="body",
716
+ label="Model Selection",
717
+ info="Body (17 keypoints) or WholeBody (133 keypoints: body + face + hands + feet)"
718
+ )
719
+
720
+ model_status = gr.Textbox(
721
+ label="Model Status",
722
+ value="Select a model and upload an image to begin",
723
+ interactive=False,
724
+ lines=2
725
+ )
726
+
727
+ enable_yolo = gr.Checkbox(
728
+ label="Enable YOLO Person Detection",
729
+ value=True,
730
+ info="Automatically detect persons in the image (recommended for multi-person)"
731
+ )
732
+
733
+ score_threshold = gr.Slider(
734
+ minimum=0.1,
735
+ maximum=0.9,
736
+ value=0.3,
737
+ step=0.05,
738
+ label="Confidence Threshold",
739
+ info="Minimum confidence score for keypoints"
740
+ )
741
+
742
+ overlay_alpha = gr.Slider(
743
+ minimum=0.0,
744
+ maximum=1.0,
745
+ value=0.6,
746
+ step=0.05,
747
+ label="Pose Overlay Opacity",
748
+ info="Transparency of pose visualization"
749
+ )
750
+
751
+ run_btn = gr.Button(
752
+ "🚀 Run Pose Estimation",
753
+ variant="primary",
754
+ size="lg"
755
+ )
756
+
757
+ with gr.Column():
758
+ gr.Markdown("### 📤 Output")
759
+ output_image = gr.Image(
760
+ label="Result with Keypoints",
761
+ height=400
762
+ )
763
+
764
+ info_output = gr.Textbox(
765
+ label="Detection Info",
766
+ lines=6,
767
+ interactive=False
768
+ )
769
+
770
+ gr.Markdown("""
771
+ ### 📝 Usage Instructions
772
+
773
+ 1. **Select Model**: Choose Body (17 keypoints) or WholeBody (133 keypoints)
774
+ 2. **Upload Image**: Upload an image containing one or more persons
775
+ 3. **Configure Settings**: Adjust YOLO detection, threshold, and opacity
776
+ 4. **Run Estimation**: Click the button to process
777
+ 5. **View Results**: See detected keypoints overlaid on the image
778
+
779
+ ### 📊 Model Details
780
+
781
+ - **Body Model**: 17 COCO keypoints (nose, eyes, ears, shoulders, elbows, wrists, hips, knees, ankles)
782
+ - **WholeBody Model**: 133 keypoints (17 body + 68 face + 42 hands + 6 feet)
783
+ - YOLO detection recommended for multi-person scenes
784
+ - First model load may take 1-2 minutes depending on your connection
785
+ - Switching models will load the new model automatically
786
+
787
+ ### 🔗 Links
788
+
789
+ - 📄 [Read the Paper](https://arxiv.org/abs/2409.24980)
790
+ - 💻 [GitHub Repository](https://github.com/T-S-Liang/SDPose-OOD)
791
+ - 🤗 [Body Model Hub](https://huggingface.co/teemosliang/SDPose-Body)
792
+ - 🤗 [WholeBody Model Hub](https://huggingface.co/teemosliang/SDPose-Wholebody)
793
+ """)
794
+
795
+ # Event handlers
796
+ model_type.change(
797
+ fn=switch_model,
798
+ inputs=[model_type],
799
+ outputs=[model_status]
800
+ )
801
+
802
+ run_btn.click(
803
+ fn=run_inference,
804
+ inputs=[input_image, model_type, enable_yolo, score_threshold, overlay_alpha],
805
+ outputs=[output_image, info_output]
806
+ )
807
+
808
+ return demo
809
+
810
+
811
+ # Pre-load body model on startup (wholebody loads on demand)
812
+ print("=" * 50)
813
+ print("🚀 SDPose Gradio Space Starting...")
814
+ print("=" * 50)
815
+ print("🔄 Pre-loading Body model...")
816
+ success = inference_engines["body"].load_model_from_hub(keypoint_scheme="body")
817
+ if success:
818
+ print("✅ Body model loaded and ready!")
819
+ current_model = "body"
820
+ else:
821
+ print("⚠️ Body model loading failed, will try on demand")
822
+
823
+ print("ℹ️ WholeBody model will load when selected")
824
+ print("=" * 50)
825
+
826
+ if __name__ == "__main__":
827
+ demo = create_gradio_interface()
828
+ demo.launch()
829
 
 
assets/logo/logo.png ADDED

Git LFS Details

  • SHA256: 736d4218e353cfe716d6c3d89c7f613abbedb4c28cf8f691f987a09b7269ceec
  • Pointer size: 132 Bytes
  • Size of remote file: 1 MB
configs/_base_/datasets/300w.py ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='300w',
9
+ paper_info=dict(
10
+ author='Sagonas, Christos and Antonakos, Epameinondas '
11
+ 'and Tzimiropoulos, Georgios and Zafeiriou, Stefanos '
12
+ 'and Pantic, Maja',
13
+ title='300 faces in-the-wild challenge: '
14
+ 'Database and results',
15
+ container='Image and vision computing',
16
+ year='2016',
17
+ homepage='https://ibug.doc.ic.ac.uk/resources/300-W/',
18
+ ),
19
+ keypoint_info={
20
+ 0: dict(name='kpt-0', id=0, color=[255, 0, 0], type='', swap='kpt-16'),
21
+ 1: dict(name='kpt-1', id=1, color=[255, 0, 0], type='', swap='kpt-15'),
22
+ 2: dict(name='kpt-2', id=2, color=[255, 0, 0], type='', swap='kpt-14'),
23
+ 3: dict(name='kpt-3', id=3, color=[255, 0, 0], type='', swap='kpt-13'),
24
+ 4: dict(name='kpt-4', id=4, color=[255, 0, 0], type='', swap='kpt-12'),
25
+ 5: dict(name='kpt-5', id=5, color=[255, 0, 0], type='', swap='kpt-11'),
26
+ 6: dict(name='kpt-6', id=6, color=[255, 0, 0], type='', swap='kpt-10'),
27
+ 7: dict(name='kpt-7', id=7, color=[255, 0, 0], type='', swap='kpt-9'),
28
+ 8: dict(name='kpt-8', id=8, color=[255, 0, 0], type='', swap=''),
29
+ 9: dict(name='kpt-9', id=9, color=[255, 0, 0], type='', swap='kpt-7'),
30
+ 10:
31
+ dict(name='kpt-10', id=10, color=[255, 0, 0], type='', swap='kpt-6'),
32
+ 11:
33
+ dict(name='kpt-11', id=11, color=[255, 0, 0], type='', swap='kpt-5'),
34
+ 12:
35
+ dict(name='kpt-12', id=12, color=[255, 0, 0], type='', swap='kpt-4'),
36
+ 13:
37
+ dict(name='kpt-13', id=13, color=[255, 0, 0], type='', swap='kpt-3'),
38
+ 14:
39
+ dict(name='kpt-14', id=14, color=[255, 0, 0], type='', swap='kpt-2'),
40
+ 15:
41
+ dict(name='kpt-15', id=15, color=[255, 0, 0], type='', swap='kpt-1'),
42
+ 16:
43
+ dict(name='kpt-16', id=16, color=[255, 0, 0], type='', swap='kpt-0'),
44
+ 17:
45
+ dict(name='kpt-17', id=17, color=[255, 0, 0], type='', swap='kpt-26'),
46
+ 18:
47
+ dict(name='kpt-18', id=18, color=[255, 0, 0], type='', swap='kpt-25'),
48
+ 19:
49
+ dict(name='kpt-19', id=19, color=[255, 0, 0], type='', swap='kpt-24'),
50
+ 20:
51
+ dict(name='kpt-20', id=20, color=[255, 0, 0], type='', swap='kpt-23'),
52
+ 21:
53
+ dict(name='kpt-21', id=21, color=[255, 0, 0], type='', swap='kpt-22'),
54
+ 22:
55
+ dict(name='kpt-22', id=22, color=[255, 0, 0], type='', swap='kpt-21'),
56
+ 23:
57
+ dict(name='kpt-23', id=23, color=[255, 0, 0], type='', swap='kpt-20'),
58
+ 24:
59
+ dict(name='kpt-24', id=24, color=[255, 0, 0], type='', swap='kpt-19'),
60
+ 25:
61
+ dict(name='kpt-25', id=25, color=[255, 0, 0], type='', swap='kpt-18'),
62
+ 26:
63
+ dict(name='kpt-26', id=26, color=[255, 0, 0], type='', swap='kpt-17'),
64
+ 27: dict(name='kpt-27', id=27, color=[255, 0, 0], type='', swap=''),
65
+ 28: dict(name='kpt-28', id=28, color=[255, 0, 0], type='', swap=''),
66
+ 29: dict(name='kpt-29', id=29, color=[255, 0, 0], type='', swap=''),
67
+ 30: dict(name='kpt-30', id=30, color=[255, 0, 0], type='', swap=''),
68
+ 31:
69
+ dict(name='kpt-31', id=31, color=[255, 0, 0], type='', swap='kpt-35'),
70
+ 32:
71
+ dict(name='kpt-32', id=32, color=[255, 0, 0], type='', swap='kpt-34'),
72
+ 33: dict(name='kpt-33', id=33, color=[255, 0, 0], type='', swap=''),
73
+ 34:
74
+ dict(name='kpt-34', id=34, color=[255, 0, 0], type='', swap='kpt-32'),
75
+ 35:
76
+ dict(name='kpt-35', id=35, color=[255, 0, 0], type='', swap='kpt-31'),
77
+ 36:
78
+ dict(name='kpt-36', id=36, color=[255, 0, 0], type='', swap='kpt-45'),
79
+ 37:
80
+ dict(name='kpt-37', id=37, color=[255, 0, 0], type='', swap='kpt-44'),
81
+ 38:
82
+ dict(name='kpt-38', id=38, color=[255, 0, 0], type='', swap='kpt-43'),
83
+ 39:
84
+ dict(name='kpt-39', id=39, color=[255, 0, 0], type='', swap='kpt-42'),
85
+ 40:
86
+ dict(name='kpt-40', id=40, color=[255, 0, 0], type='', swap='kpt-47'),
87
+ 41: dict(
88
+ name='kpt-41', id=41, color=[255, 0, 0], type='', swap='kpt-46'),
89
+ 42: dict(
90
+ name='kpt-42', id=42, color=[255, 0, 0], type='', swap='kpt-39'),
91
+ 43: dict(
92
+ name='kpt-43', id=43, color=[255, 0, 0], type='', swap='kpt-38'),
93
+ 44: dict(
94
+ name='kpt-44', id=44, color=[255, 0, 0], type='', swap='kpt-37'),
95
+ 45: dict(
96
+ name='kpt-45', id=45, color=[255, 0, 0], type='', swap='kpt-36'),
97
+ 46: dict(
98
+ name='kpt-46', id=46, color=[255, 0, 0], type='', swap='kpt-41'),
99
+ 47: dict(
100
+ name='kpt-47', id=47, color=[255, 0, 0], type='', swap='kpt-40'),
101
+ 48: dict(
102
+ name='kpt-48', id=48, color=[255, 0, 0], type='', swap='kpt-54'),
103
+ 49: dict(
104
+ name='kpt-49', id=49, color=[255, 0, 0], type='', swap='kpt-53'),
105
+ 50: dict(
106
+ name='kpt-50', id=50, color=[255, 0, 0], type='', swap='kpt-52'),
107
+ 51: dict(name='kpt-51', id=51, color=[255, 0, 0], type='', swap=''),
108
+ 52: dict(
109
+ name='kpt-52', id=52, color=[255, 0, 0], type='', swap='kpt-50'),
110
+ 53: dict(
111
+ name='kpt-53', id=53, color=[255, 0, 0], type='', swap='kpt-49'),
112
+ 54: dict(
113
+ name='kpt-54', id=54, color=[255, 0, 0], type='', swap='kpt-48'),
114
+ 55: dict(
115
+ name='kpt-55', id=55, color=[255, 0, 0], type='', swap='kpt-59'),
116
+ 56: dict(
117
+ name='kpt-56', id=56, color=[255, 0, 0], type='', swap='kpt-58'),
118
+ 57: dict(name='kpt-57', id=57, color=[255, 0, 0], type='', swap=''),
119
+ 58: dict(
120
+ name='kpt-58', id=58, color=[255, 0, 0], type='', swap='kpt-56'),
121
+ 59: dict(
122
+ name='kpt-59', id=59, color=[255, 0, 0], type='', swap='kpt-55'),
123
+ 60: dict(
124
+ name='kpt-60', id=60, color=[255, 0, 0], type='', swap='kpt-64'),
125
+ 61: dict(
126
+ name='kpt-61', id=61, color=[255, 0, 0], type='', swap='kpt-63'),
127
+ 62: dict(name='kpt-62', id=62, color=[255, 0, 0], type='', swap=''),
128
+ 63: dict(
129
+ name='kpt-63', id=63, color=[255, 0, 0], type='', swap='kpt-61'),
130
+ 64: dict(
131
+ name='kpt-64', id=64, color=[255, 0, 0], type='', swap='kpt-60'),
132
+ 65: dict(
133
+ name='kpt-65', id=65, color=[255, 0, 0], type='', swap='kpt-67'),
134
+ 66: dict(name='kpt-66', id=66, color=[255, 0, 0], type='', swap=''),
135
+ 67: dict(
136
+ name='kpt-67', id=67, color=[255, 0, 0], type='', swap='kpt-65'),
137
+ },
138
+ skeleton_info={},
139
+ joint_weights=[1.] * 68,
140
+ sigmas=[])
configs/_base_/datasets/aflw.py ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='aflw',
9
+ paper_info=dict(
10
+ author='Koestinger, Martin and Wohlhart, Paul and '
11
+ 'Roth, Peter M and Bischof, Horst',
12
+ title='Annotated facial landmarks in the wild: '
13
+ 'A large-scale, real-world database for facial '
14
+ 'landmark localization',
15
+ container='2011 IEEE international conference on computer '
16
+ 'vision workshops (ICCV workshops)',
17
+ year='2011',
18
+ homepage='https://www.tugraz.at/institute/icg/research/'
19
+ 'team-bischof/lrs/downloads/aflw/',
20
+ ),
21
+ keypoint_info={
22
+ 0: dict(name='kpt-0', id=0, color=[255, 0, 0], type='', swap='kpt-5'),
23
+ 1: dict(name='kpt-1', id=1, color=[255, 0, 0], type='', swap='kpt-4'),
24
+ 2: dict(name='kpt-2', id=2, color=[255, 0, 0], type='', swap='kpt-3'),
25
+ 3: dict(name='kpt-3', id=3, color=[255, 0, 0], type='', swap='kpt-2'),
26
+ 4: dict(name='kpt-4', id=4, color=[255, 0, 0], type='', swap='kpt-1'),
27
+ 5: dict(name='kpt-5', id=5, color=[255, 0, 0], type='', swap='kpt-0'),
28
+ 6: dict(name='kpt-6', id=6, color=[255, 0, 0], type='', swap='kpt-11'),
29
+ 7: dict(name='kpt-7', id=7, color=[255, 0, 0], type='', swap='kpt-10'),
30
+ 8: dict(name='kpt-8', id=8, color=[255, 0, 0], type='', swap='kpt-9'),
31
+ 9: dict(name='kpt-9', id=9, color=[255, 0, 0], type='', swap='kpt-8'),
32
+ 10:
33
+ dict(name='kpt-10', id=10, color=[255, 0, 0], type='', swap='kpt-7'),
34
+ 11:
35
+ dict(name='kpt-11', id=11, color=[255, 0, 0], type='', swap='kpt-6'),
36
+ 12:
37
+ dict(name='kpt-12', id=12, color=[255, 0, 0], type='', swap='kpt-14'),
38
+ 13: dict(name='kpt-13', id=13, color=[255, 0, 0], type='', swap=''),
39
+ 14:
40
+ dict(name='kpt-14', id=14, color=[255, 0, 0], type='', swap='kpt-12'),
41
+ 15:
42
+ dict(name='kpt-15', id=15, color=[255, 0, 0], type='', swap='kpt-17'),
43
+ 16: dict(name='kpt-16', id=16, color=[255, 0, 0], type='', swap=''),
44
+ 17:
45
+ dict(name='kpt-17', id=17, color=[255, 0, 0], type='', swap='kpt-15'),
46
+ 18: dict(name='kpt-18', id=18, color=[255, 0, 0], type='', swap='')
47
+ },
48
+ skeleton_info={},
49
+ joint_weights=[1.] * 19,
50
+ sigmas=[])
configs/_base_/datasets/aic.py ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='aic',
9
+ paper_info=dict(
10
+ author='Wu, Jiahong and Zheng, He and Zhao, Bo and '
11
+ 'Li, Yixin and Yan, Baoming and Liang, Rui and '
12
+ 'Wang, Wenjia and Zhou, Shipei and Lin, Guosen and '
13
+ 'Fu, Yanwei and others',
14
+ title='Ai challenger: A large-scale dataset for going '
15
+ 'deeper in image understanding',
16
+ container='arXiv',
17
+ year='2017',
18
+ homepage='https://github.com/AIChallenger/AI_Challenger_2017',
19
+ ),
20
+ keypoint_info={
21
+ 0:
22
+ dict(
23
+ name='right_shoulder',
24
+ id=0,
25
+ color=[255, 128, 0],
26
+ type='upper',
27
+ swap='left_shoulder'),
28
+ 1:
29
+ dict(
30
+ name='right_elbow',
31
+ id=1,
32
+ color=[255, 128, 0],
33
+ type='upper',
34
+ swap='left_elbow'),
35
+ 2:
36
+ dict(
37
+ name='right_wrist',
38
+ id=2,
39
+ color=[255, 128, 0],
40
+ type='upper',
41
+ swap='left_wrist'),
42
+ 3:
43
+ dict(
44
+ name='left_shoulder',
45
+ id=3,
46
+ color=[0, 255, 0],
47
+ type='upper',
48
+ swap='right_shoulder'),
49
+ 4:
50
+ dict(
51
+ name='left_elbow',
52
+ id=4,
53
+ color=[0, 255, 0],
54
+ type='upper',
55
+ swap='right_elbow'),
56
+ 5:
57
+ dict(
58
+ name='left_wrist',
59
+ id=5,
60
+ color=[0, 255, 0],
61
+ type='upper',
62
+ swap='right_wrist'),
63
+ 6:
64
+ dict(
65
+ name='right_hip',
66
+ id=6,
67
+ color=[255, 128, 0],
68
+ type='lower',
69
+ swap='left_hip'),
70
+ 7:
71
+ dict(
72
+ name='right_knee',
73
+ id=7,
74
+ color=[255, 128, 0],
75
+ type='lower',
76
+ swap='left_knee'),
77
+ 8:
78
+ dict(
79
+ name='right_ankle',
80
+ id=8,
81
+ color=[255, 128, 0],
82
+ type='lower',
83
+ swap='left_ankle'),
84
+ 9:
85
+ dict(
86
+ name='left_hip',
87
+ id=9,
88
+ color=[0, 255, 0],
89
+ type='lower',
90
+ swap='right_hip'),
91
+ 10:
92
+ dict(
93
+ name='left_knee',
94
+ id=10,
95
+ color=[0, 255, 0],
96
+ type='lower',
97
+ swap='right_knee'),
98
+ 11:
99
+ dict(
100
+ name='left_ankle',
101
+ id=11,
102
+ color=[0, 255, 0],
103
+ type='lower',
104
+ swap='right_ankle'),
105
+ 12:
106
+ dict(
107
+ name='head_top',
108
+ id=12,
109
+ color=[51, 153, 255],
110
+ type='upper',
111
+ swap=''),
112
+ 13:
113
+ dict(name='neck', id=13, color=[51, 153, 255], type='upper', swap='')
114
+ },
115
+ skeleton_info={
116
+ 0:
117
+ dict(link=('right_wrist', 'right_elbow'), id=0, color=[255, 128, 0]),
118
+ 1: dict(
119
+ link=('right_elbow', 'right_shoulder'), id=1, color=[255, 128, 0]),
120
+ 2: dict(link=('right_shoulder', 'neck'), id=2, color=[51, 153, 255]),
121
+ 3: dict(link=('neck', 'left_shoulder'), id=3, color=[51, 153, 255]),
122
+ 4: dict(link=('left_shoulder', 'left_elbow'), id=4, color=[0, 255, 0]),
123
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
124
+ 6: dict(link=('right_ankle', 'right_knee'), id=6, color=[255, 128, 0]),
125
+ 7: dict(link=('right_knee', 'right_hip'), id=7, color=[255, 128, 0]),
126
+ 8: dict(link=('right_hip', 'left_hip'), id=8, color=[51, 153, 255]),
127
+ 9: dict(link=('left_hip', 'left_knee'), id=9, color=[0, 255, 0]),
128
+ 10: dict(link=('left_knee', 'left_ankle'), id=10, color=[0, 255, 0]),
129
+ 11: dict(link=('head_top', 'neck'), id=11, color=[51, 153, 255]),
130
+ 12: dict(
131
+ link=('right_shoulder', 'right_hip'), id=12, color=[51, 153, 255]),
132
+ 13:
133
+ dict(link=('left_shoulder', 'left_hip'), id=13, color=[51, 153, 255])
134
+ },
135
+ joint_weights=[
136
+ 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.
137
+ ],
138
+
139
+ # 'https://github.com/AIChallenger/AI_Challenger_2017/blob/master/'
140
+ # 'Evaluation/keypoint_eval/keypoint_eval.py#L50'
141
+ # delta = 2 x sigma
142
+ sigmas=[
143
+ 0.01388152, 0.01515228, 0.01057665, 0.01417709, 0.01497891, 0.01402144,
144
+ 0.03909642, 0.03686941, 0.01981803, 0.03843971, 0.03412318, 0.02415081,
145
+ 0.01291456, 0.01236173
146
+ ])
configs/_base_/datasets/aic2coco.py ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='aic2coco',
9
+ paper_info=dict(
10
+ author='Lin, Tsung-Yi and Maire, Michael and '
11
+ 'Belongie, Serge and Hays, James and '
12
+ 'Perona, Pietro and Ramanan, Deva and '
13
+ r'Doll{\'a}r, Piotr and Zitnick, C Lawrence',
14
+ title='Microsoft coco: Common objects in context',
15
+ container='European conference on computer vision',
16
+ year='2014',
17
+ homepage='http://cocodataset.org/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
22
+ 1:
23
+ dict(
24
+ name='left_eye',
25
+ id=1,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='right_eye'),
29
+ 2:
30
+ dict(
31
+ name='right_eye',
32
+ id=2,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='left_eye'),
36
+ 3:
37
+ dict(
38
+ name='left_ear',
39
+ id=3,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='right_ear'),
43
+ 4:
44
+ dict(
45
+ name='right_ear',
46
+ id=4,
47
+ color=[51, 153, 255],
48
+ type='upper',
49
+ swap='left_ear'),
50
+ 5:
51
+ dict(
52
+ name='left_shoulder',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_shoulder'),
57
+ 6:
58
+ dict(
59
+ name='right_shoulder',
60
+ id=6,
61
+ color=[255, 128, 0],
62
+ type='upper',
63
+ swap='left_shoulder'),
64
+ 7:
65
+ dict(
66
+ name='left_elbow',
67
+ id=7,
68
+ color=[0, 255, 0],
69
+ type='upper',
70
+ swap='right_elbow'),
71
+ 8:
72
+ dict(
73
+ name='right_elbow',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_elbow'),
78
+ 9:
79
+ dict(
80
+ name='left_wrist',
81
+ id=9,
82
+ color=[0, 255, 0],
83
+ type='upper',
84
+ swap='right_wrist'),
85
+ 10:
86
+ dict(
87
+ name='right_wrist',
88
+ id=10,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_wrist'),
92
+ 11:
93
+ dict(
94
+ name='left_hip',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_hip'),
99
+ 12:
100
+ dict(
101
+ name='right_hip',
102
+ id=12,
103
+ color=[255, 128, 0],
104
+ type='lower',
105
+ swap='left_hip'),
106
+ 13:
107
+ dict(
108
+ name='left_knee',
109
+ id=13,
110
+ color=[0, 255, 0],
111
+ type='lower',
112
+ swap='right_knee'),
113
+ 14:
114
+ dict(
115
+ name='right_knee',
116
+ id=14,
117
+ color=[255, 128, 0],
118
+ type='lower',
119
+ swap='left_knee'),
120
+ 15:
121
+ dict(
122
+ name='left_ankle',
123
+ id=15,
124
+ color=[0, 255, 0],
125
+ type='lower',
126
+ swap='right_ankle'),
127
+ 16:
128
+ dict(
129
+ name='right_ankle',
130
+ id=16,
131
+ color=[255, 128, 0],
132
+ type='lower',
133
+ swap='left_ankle')
134
+ },
135
+ skeleton_info={
136
+ 0:
137
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
138
+ 1:
139
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
140
+ 2:
141
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
142
+ 3:
143
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
144
+ 4:
145
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
146
+ 5:
147
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
148
+ 6:
149
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
150
+ 7:
151
+ dict(
152
+ link=('left_shoulder', 'right_shoulder'),
153
+ id=7,
154
+ color=[51, 153, 255]),
155
+ 8:
156
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
157
+ 9:
158
+ dict(
159
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
160
+ 10:
161
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
162
+ 11:
163
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
164
+ 12:
165
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
166
+ 13:
167
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
168
+ 14:
169
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
170
+ 15:
171
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
172
+ 16:
173
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
174
+ 17:
175
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
176
+ 18:
177
+ dict(
178
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
179
+ },
180
+ joint_weights=[
181
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
182
+ 1.5
183
+ ],
184
+ sigmas=[
185
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
186
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
187
+ ])
configs/_base_/datasets/aic2goliath.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ from configs._base_.datasets.goliath import dataset_info as goliath_info
8
+
9
+ goliath_info = goliath_info.build()
10
+ dataset_info = goliath_info.copy()
11
+ dataset_info['dataset_name'] = 'aic2goliath'
configs/_base_/datasets/aic2goliath3d.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ from configs._base_.datasets.goliath3d import dataset_info as goliath_info
8
+
9
+ goliath_info = goliath_info.build()
10
+ dataset_info = goliath_info.copy()
11
+ dataset_info['dataset_name'] = 'aic2goliath3d'
configs/_base_/datasets/ak.py ADDED
@@ -0,0 +1,273 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='Animal Kingdom',
9
+ paper_info=dict(
10
+ author='Singapore University of Technology and Design, Singapore.'
11
+ ' Xun Long Ng, Kian Eng Ong, Qichen Zheng,'
12
+ ' Yun Ni, Si Yong Yeo, Jun Liu.',
13
+ title='Animal Kingdom: '
14
+ 'A Large and Diverse Dataset for Animal Behavior Understanding',
15
+ container='Conference on Computer Vision '
16
+ 'and Pattern Recognition (CVPR)',
17
+ year='2022',
18
+ homepage='https://sutdcv.github.io/Animal-Kingdom',
19
+ version='1.0 (2022-06)',
20
+ date_created='2022-06',
21
+ ),
22
+ keypoint_info={
23
+ 0:
24
+ dict(
25
+ name='Head_Mid_Top',
26
+ id=0,
27
+ color=(225, 0, 255),
28
+ type='upper',
29
+ swap=''),
30
+ 1:
31
+ dict(
32
+ name='Eye_Left',
33
+ id=1,
34
+ color=[220, 20, 60],
35
+ type='upper',
36
+ swap='Eye_Right'),
37
+ 2:
38
+ dict(
39
+ name='Eye_Right',
40
+ id=2,
41
+ color=[0, 255, 255],
42
+ type='upper',
43
+ swap='Eye_Left'),
44
+ 3:
45
+ dict(
46
+ name='Mouth_Front_Top',
47
+ id=3,
48
+ color=(0, 255, 42),
49
+ type='upper',
50
+ swap=''),
51
+ 4:
52
+ dict(
53
+ name='Mouth_Back_Left',
54
+ id=4,
55
+ color=[221, 160, 221],
56
+ type='upper',
57
+ swap='Mouth_Back_Right'),
58
+ 5:
59
+ dict(
60
+ name='Mouth_Back_Right',
61
+ id=5,
62
+ color=[135, 206, 250],
63
+ type='upper',
64
+ swap='Mouth_Back_Left'),
65
+ 6:
66
+ dict(
67
+ name='Mouth_Front_Bottom',
68
+ id=6,
69
+ color=[50, 205, 50],
70
+ type='upper',
71
+ swap=''),
72
+ 7:
73
+ dict(
74
+ name='Shoulder_Left',
75
+ id=7,
76
+ color=[255, 182, 193],
77
+ type='upper',
78
+ swap='Shoulder_Right'),
79
+ 8:
80
+ dict(
81
+ name='Shoulder_Right',
82
+ id=8,
83
+ color=[0, 191, 255],
84
+ type='upper',
85
+ swap='Shoulder_Left'),
86
+ 9:
87
+ dict(
88
+ name='Elbow_Left',
89
+ id=9,
90
+ color=[255, 105, 180],
91
+ type='upper',
92
+ swap='Elbow_Right'),
93
+ 10:
94
+ dict(
95
+ name='Elbow_Right',
96
+ id=10,
97
+ color=[30, 144, 255],
98
+ type='upper',
99
+ swap='Elbow_Left'),
100
+ 11:
101
+ dict(
102
+ name='Wrist_Left',
103
+ id=11,
104
+ color=[255, 20, 147],
105
+ type='upper',
106
+ swap='Wrist_Right'),
107
+ 12:
108
+ dict(
109
+ name='Wrist_Right',
110
+ id=12,
111
+ color=[0, 0, 255],
112
+ type='upper',
113
+ swap='Wrist_Left'),
114
+ 13:
115
+ dict(
116
+ name='Torso_Mid_Back',
117
+ id=13,
118
+ color=(185, 3, 221),
119
+ type='upper',
120
+ swap=''),
121
+ 14:
122
+ dict(
123
+ name='Hip_Left',
124
+ id=14,
125
+ color=[255, 215, 0],
126
+ type='lower',
127
+ swap='Hip_Right'),
128
+ 15:
129
+ dict(
130
+ name='Hip_Right',
131
+ id=15,
132
+ color=[147, 112, 219],
133
+ type='lower',
134
+ swap='Hip_Left'),
135
+ 16:
136
+ dict(
137
+ name='Knee_Left',
138
+ id=16,
139
+ color=[255, 165, 0],
140
+ type='lower',
141
+ swap='Knee_Right'),
142
+ 17:
143
+ dict(
144
+ name='Knee_Right',
145
+ id=17,
146
+ color=[138, 43, 226],
147
+ type='lower',
148
+ swap='Knee_Left'),
149
+ 18:
150
+ dict(
151
+ name='Ankle_Left',
152
+ id=18,
153
+ color=[255, 140, 0],
154
+ type='lower',
155
+ swap='Ankle_Right'),
156
+ 19:
157
+ dict(
158
+ name='Ankle_Right',
159
+ id=19,
160
+ color=[128, 0, 128],
161
+ type='lower',
162
+ swap='Ankle_Left'),
163
+ 20:
164
+ dict(
165
+ name='Tail_Top_Back',
166
+ id=20,
167
+ color=(0, 251, 255),
168
+ type='lower',
169
+ swap=''),
170
+ 21:
171
+ dict(
172
+ name='Tail_Mid_Back',
173
+ id=21,
174
+ color=[32, 178, 170],
175
+ type='lower',
176
+ swap=''),
177
+ 22:
178
+ dict(
179
+ name='Tail_End_Back',
180
+ id=22,
181
+ color=(0, 102, 102),
182
+ type='lower',
183
+ swap='')
184
+ },
185
+ skeleton_info={
186
+ 0:
187
+ dict(link=('Eye_Left', 'Head_Mid_Top'), id=0, color=[220, 20, 60]),
188
+ 1:
189
+ dict(link=('Eye_Right', 'Head_Mid_Top'), id=1, color=[0, 255, 255]),
190
+ 2:
191
+ dict(
192
+ link=('Mouth_Front_Top', 'Mouth_Back_Left'),
193
+ id=2,
194
+ color=[221, 160, 221]),
195
+ 3:
196
+ dict(
197
+ link=('Mouth_Front_Top', 'Mouth_Back_Right'),
198
+ id=3,
199
+ color=[135, 206, 250]),
200
+ 4:
201
+ dict(
202
+ link=('Mouth_Front_Bottom', 'Mouth_Back_Left'),
203
+ id=4,
204
+ color=[221, 160, 221]),
205
+ 5:
206
+ dict(
207
+ link=('Mouth_Front_Bottom', 'Mouth_Back_Right'),
208
+ id=5,
209
+ color=[135, 206, 250]),
210
+ 6:
211
+ dict(
212
+ link=('Head_Mid_Top', 'Torso_Mid_Back'), id=6,
213
+ color=(225, 0, 255)),
214
+ 7:
215
+ dict(
216
+ link=('Torso_Mid_Back', 'Tail_Top_Back'),
217
+ id=7,
218
+ color=(185, 3, 221)),
219
+ 8:
220
+ dict(
221
+ link=('Tail_Top_Back', 'Tail_Mid_Back'), id=8,
222
+ color=(0, 251, 255)),
223
+ 9:
224
+ dict(
225
+ link=('Tail_Mid_Back', 'Tail_End_Back'),
226
+ id=9,
227
+ color=[32, 178, 170]),
228
+ 10:
229
+ dict(
230
+ link=('Head_Mid_Top', 'Shoulder_Left'),
231
+ id=10,
232
+ color=[255, 182, 193]),
233
+ 11:
234
+ dict(
235
+ link=('Head_Mid_Top', 'Shoulder_Right'),
236
+ id=11,
237
+ color=[0, 191, 255]),
238
+ 12:
239
+ dict(
240
+ link=('Shoulder_Left', 'Elbow_Left'), id=12, color=[255, 105,
241
+ 180]),
242
+ 13:
243
+ dict(
244
+ link=('Shoulder_Right', 'Elbow_Right'),
245
+ id=13,
246
+ color=[30, 144, 255]),
247
+ 14:
248
+ dict(link=('Elbow_Left', 'Wrist_Left'), id=14, color=[255, 20, 147]),
249
+ 15:
250
+ dict(link=('Elbow_Right', 'Wrist_Right'), id=15, color=[0, 0, 255]),
251
+ 16:
252
+ dict(link=('Tail_Top_Back', 'Hip_Left'), id=16, color=[255, 215, 0]),
253
+ 17:
254
+ dict(
255
+ link=('Tail_Top_Back', 'Hip_Right'), id=17, color=[147, 112, 219]),
256
+ 18:
257
+ dict(link=('Hip_Left', 'Knee_Left'), id=18, color=[255, 165, 0]),
258
+ 19:
259
+ dict(link=('Hip_Right', 'Knee_Right'), id=19, color=[138, 43, 226]),
260
+ 20:
261
+ dict(link=('Knee_Left', 'Ankle_Left'), id=20, color=[255, 140, 0]),
262
+ 21:
263
+ dict(link=('Knee_Right', 'Ankle_Right'), id=21, color=[128, 0, 128])
264
+ },
265
+ joint_weights=[
266
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
267
+ 1., 1., 1., 1., 1.
268
+ ],
269
+ sigmas=[
270
+ 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025,
271
+ 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025,
272
+ 0.025, 0.025, 0.025
273
+ ])
configs/_base_/datasets/animalpose.py ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='animalpose',
9
+ paper_info=dict(
10
+ author='Cao, Jinkun and Tang, Hongyang and Fang, Hao-Shu and '
11
+ 'Shen, Xiaoyong and Lu, Cewu and Tai, Yu-Wing',
12
+ title='Cross-Domain Adaptation for Animal Pose Estimation',
13
+ container='The IEEE International Conference on '
14
+ 'Computer Vision (ICCV)',
15
+ year='2019',
16
+ homepage='https://sites.google.com/view/animal-pose/',
17
+ ),
18
+ keypoint_info={
19
+ 0:
20
+ dict(
21
+ name='L_Eye', id=0, color=[0, 255, 0], type='upper', swap='R_Eye'),
22
+ 1:
23
+ dict(
24
+ name='R_Eye',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='upper',
28
+ swap='L_Eye'),
29
+ 2:
30
+ dict(
31
+ name='L_EarBase',
32
+ id=2,
33
+ color=[0, 255, 0],
34
+ type='upper',
35
+ swap='R_EarBase'),
36
+ 3:
37
+ dict(
38
+ name='R_EarBase',
39
+ id=3,
40
+ color=[255, 128, 0],
41
+ type='upper',
42
+ swap='L_EarBase'),
43
+ 4:
44
+ dict(name='Nose', id=4, color=[51, 153, 255], type='upper', swap=''),
45
+ 5:
46
+ dict(name='Throat', id=5, color=[51, 153, 255], type='upper', swap=''),
47
+ 6:
48
+ dict(
49
+ name='TailBase', id=6, color=[51, 153, 255], type='lower',
50
+ swap=''),
51
+ 7:
52
+ dict(
53
+ name='Withers', id=7, color=[51, 153, 255], type='upper', swap=''),
54
+ 8:
55
+ dict(
56
+ name='L_F_Elbow',
57
+ id=8,
58
+ color=[0, 255, 0],
59
+ type='upper',
60
+ swap='R_F_Elbow'),
61
+ 9:
62
+ dict(
63
+ name='R_F_Elbow',
64
+ id=9,
65
+ color=[255, 128, 0],
66
+ type='upper',
67
+ swap='L_F_Elbow'),
68
+ 10:
69
+ dict(
70
+ name='L_B_Elbow',
71
+ id=10,
72
+ color=[0, 255, 0],
73
+ type='lower',
74
+ swap='R_B_Elbow'),
75
+ 11:
76
+ dict(
77
+ name='R_B_Elbow',
78
+ id=11,
79
+ color=[255, 128, 0],
80
+ type='lower',
81
+ swap='L_B_Elbow'),
82
+ 12:
83
+ dict(
84
+ name='L_F_Knee',
85
+ id=12,
86
+ color=[0, 255, 0],
87
+ type='upper',
88
+ swap='R_F_Knee'),
89
+ 13:
90
+ dict(
91
+ name='R_F_Knee',
92
+ id=13,
93
+ color=[255, 128, 0],
94
+ type='upper',
95
+ swap='L_F_Knee'),
96
+ 14:
97
+ dict(
98
+ name='L_B_Knee',
99
+ id=14,
100
+ color=[0, 255, 0],
101
+ type='lower',
102
+ swap='R_B_Knee'),
103
+ 15:
104
+ dict(
105
+ name='R_B_Knee',
106
+ id=15,
107
+ color=[255, 128, 0],
108
+ type='lower',
109
+ swap='L_B_Knee'),
110
+ 16:
111
+ dict(
112
+ name='L_F_Paw',
113
+ id=16,
114
+ color=[0, 255, 0],
115
+ type='upper',
116
+ swap='R_F_Paw'),
117
+ 17:
118
+ dict(
119
+ name='R_F_Paw',
120
+ id=17,
121
+ color=[255, 128, 0],
122
+ type='upper',
123
+ swap='L_F_Paw'),
124
+ 18:
125
+ dict(
126
+ name='L_B_Paw',
127
+ id=18,
128
+ color=[0, 255, 0],
129
+ type='lower',
130
+ swap='R_B_Paw'),
131
+ 19:
132
+ dict(
133
+ name='R_B_Paw',
134
+ id=19,
135
+ color=[255, 128, 0],
136
+ type='lower',
137
+ swap='L_B_Paw')
138
+ },
139
+ skeleton_info={
140
+ 0: dict(link=('L_Eye', 'R_Eye'), id=0, color=[51, 153, 255]),
141
+ 1: dict(link=('L_Eye', 'L_EarBase'), id=1, color=[0, 255, 0]),
142
+ 2: dict(link=('R_Eye', 'R_EarBase'), id=2, color=[255, 128, 0]),
143
+ 3: dict(link=('L_Eye', 'Nose'), id=3, color=[0, 255, 0]),
144
+ 4: dict(link=('R_Eye', 'Nose'), id=4, color=[255, 128, 0]),
145
+ 5: dict(link=('Nose', 'Throat'), id=5, color=[51, 153, 255]),
146
+ 6: dict(link=('Throat', 'Withers'), id=6, color=[51, 153, 255]),
147
+ 7: dict(link=('TailBase', 'Withers'), id=7, color=[51, 153, 255]),
148
+ 8: dict(link=('Throat', 'L_F_Elbow'), id=8, color=[0, 255, 0]),
149
+ 9: dict(link=('L_F_Elbow', 'L_F_Knee'), id=9, color=[0, 255, 0]),
150
+ 10: dict(link=('L_F_Knee', 'L_F_Paw'), id=10, color=[0, 255, 0]),
151
+ 11: dict(link=('Throat', 'R_F_Elbow'), id=11, color=[255, 128, 0]),
152
+ 12: dict(link=('R_F_Elbow', 'R_F_Knee'), id=12, color=[255, 128, 0]),
153
+ 13: dict(link=('R_F_Knee', 'R_F_Paw'), id=13, color=[255, 128, 0]),
154
+ 14: dict(link=('TailBase', 'L_B_Elbow'), id=14, color=[0, 255, 0]),
155
+ 15: dict(link=('L_B_Elbow', 'L_B_Knee'), id=15, color=[0, 255, 0]),
156
+ 16: dict(link=('L_B_Knee', 'L_B_Paw'), id=16, color=[0, 255, 0]),
157
+ 17: dict(link=('TailBase', 'R_B_Elbow'), id=17, color=[255, 128, 0]),
158
+ 18: dict(link=('R_B_Elbow', 'R_B_Knee'), id=18, color=[255, 128, 0]),
159
+ 19: dict(link=('R_B_Knee', 'R_B_Paw'), id=19, color=[255, 128, 0])
160
+ },
161
+ joint_weights=[
162
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.2, 1.2,
163
+ 1.5, 1.5, 1.5, 1.5
164
+ ],
165
+
166
+ # Note: The original paper did not provide enough information about
167
+ # the sigmas. We modified from 'https://github.com/cocodataset/'
168
+ # 'cocoapi/blob/master/PythonAPI/pycocotools/cocoeval.py#L523'
169
+ sigmas=[
170
+ 0.025, 0.025, 0.026, 0.035, 0.035, 0.10, 0.10, 0.10, 0.107, 0.107,
171
+ 0.107, 0.107, 0.087, 0.087, 0.087, 0.087, 0.089, 0.089, 0.089, 0.089
172
+ ])
configs/_base_/datasets/ap10k.py ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='ap10k',
9
+ paper_info=dict(
10
+ author='Yu, Hang and Xu, Yufei and Zhang, Jing and '
11
+ 'Zhao, Wei and Guan, Ziyu and Tao, Dacheng',
12
+ title='AP-10K: A Benchmark for Animal Pose Estimation in the Wild',
13
+ container='35th Conference on Neural Information Processing Systems '
14
+ '(NeurIPS 2021) Track on Datasets and Bench-marks.',
15
+ year='2021',
16
+ homepage='https://github.com/AlexTheBad/AP-10K',
17
+ ),
18
+ keypoint_info={
19
+ 0:
20
+ dict(
21
+ name='L_Eye', id=0, color=[0, 255, 0], type='upper', swap='R_Eye'),
22
+ 1:
23
+ dict(
24
+ name='R_Eye',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='upper',
28
+ swap='L_Eye'),
29
+ 2:
30
+ dict(name='Nose', id=2, color=[51, 153, 255], type='upper', swap=''),
31
+ 3:
32
+ dict(name='Neck', id=3, color=[51, 153, 255], type='upper', swap=''),
33
+ 4:
34
+ dict(
35
+ name='Root of tail',
36
+ id=4,
37
+ color=[51, 153, 255],
38
+ type='lower',
39
+ swap=''),
40
+ 5:
41
+ dict(
42
+ name='L_Shoulder',
43
+ id=5,
44
+ color=[51, 153, 255],
45
+ type='upper',
46
+ swap='R_Shoulder'),
47
+ 6:
48
+ dict(
49
+ name='L_Elbow',
50
+ id=6,
51
+ color=[51, 153, 255],
52
+ type='upper',
53
+ swap='R_Elbow'),
54
+ 7:
55
+ dict(
56
+ name='L_F_Paw',
57
+ id=7,
58
+ color=[0, 255, 0],
59
+ type='upper',
60
+ swap='R_F_Paw'),
61
+ 8:
62
+ dict(
63
+ name='R_Shoulder',
64
+ id=8,
65
+ color=[0, 255, 0],
66
+ type='upper',
67
+ swap='L_Shoulder'),
68
+ 9:
69
+ dict(
70
+ name='R_Elbow',
71
+ id=9,
72
+ color=[255, 128, 0],
73
+ type='upper',
74
+ swap='L_Elbow'),
75
+ 10:
76
+ dict(
77
+ name='R_F_Paw',
78
+ id=10,
79
+ color=[0, 255, 0],
80
+ type='lower',
81
+ swap='L_F_Paw'),
82
+ 11:
83
+ dict(
84
+ name='L_Hip',
85
+ id=11,
86
+ color=[255, 128, 0],
87
+ type='lower',
88
+ swap='R_Hip'),
89
+ 12:
90
+ dict(
91
+ name='L_Knee',
92
+ id=12,
93
+ color=[255, 128, 0],
94
+ type='lower',
95
+ swap='R_Knee'),
96
+ 13:
97
+ dict(
98
+ name='L_B_Paw',
99
+ id=13,
100
+ color=[0, 255, 0],
101
+ type='lower',
102
+ swap='R_B_Paw'),
103
+ 14:
104
+ dict(
105
+ name='R_Hip', id=14, color=[0, 255, 0], type='lower',
106
+ swap='L_Hip'),
107
+ 15:
108
+ dict(
109
+ name='R_Knee',
110
+ id=15,
111
+ color=[0, 255, 0],
112
+ type='lower',
113
+ swap='L_Knee'),
114
+ 16:
115
+ dict(
116
+ name='R_B_Paw',
117
+ id=16,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='L_B_Paw'),
121
+ },
122
+ skeleton_info={
123
+ 0: dict(link=('L_Eye', 'R_Eye'), id=0, color=[0, 0, 255]),
124
+ 1: dict(link=('L_Eye', 'Nose'), id=1, color=[0, 0, 255]),
125
+ 2: dict(link=('R_Eye', 'Nose'), id=2, color=[0, 0, 255]),
126
+ 3: dict(link=('Nose', 'Neck'), id=3, color=[0, 255, 0]),
127
+ 4: dict(link=('Neck', 'Root of tail'), id=4, color=[0, 255, 0]),
128
+ 5: dict(link=('Neck', 'L_Shoulder'), id=5, color=[0, 255, 255]),
129
+ 6: dict(link=('L_Shoulder', 'L_Elbow'), id=6, color=[0, 255, 255]),
130
+ 7: dict(link=('L_Elbow', 'L_F_Paw'), id=6, color=[0, 255, 255]),
131
+ 8: dict(link=('Neck', 'R_Shoulder'), id=7, color=[6, 156, 250]),
132
+ 9: dict(link=('R_Shoulder', 'R_Elbow'), id=8, color=[6, 156, 250]),
133
+ 10: dict(link=('R_Elbow', 'R_F_Paw'), id=9, color=[6, 156, 250]),
134
+ 11: dict(link=('Root of tail', 'L_Hip'), id=10, color=[0, 255, 255]),
135
+ 12: dict(link=('L_Hip', 'L_Knee'), id=11, color=[0, 255, 255]),
136
+ 13: dict(link=('L_Knee', 'L_B_Paw'), id=12, color=[0, 255, 255]),
137
+ 14: dict(link=('Root of tail', 'R_Hip'), id=13, color=[6, 156, 250]),
138
+ 15: dict(link=('R_Hip', 'R_Knee'), id=14, color=[6, 156, 250]),
139
+ 16: dict(link=('R_Knee', 'R_B_Paw'), id=15, color=[6, 156, 250]),
140
+ },
141
+ joint_weights=[
142
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
143
+ 1.5
144
+ ],
145
+ sigmas=[
146
+ 0.025, 0.025, 0.026, 0.035, 0.035, 0.079, 0.072, 0.062, 0.079, 0.072,
147
+ 0.062, 0.107, 0.087, 0.089, 0.107, 0.087, 0.089
148
+ ])
configs/_base_/datasets/atrw.py ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='atrw',
9
+ paper_info=dict(
10
+ author='Li, Shuyuan and Li, Jianguo and Tang, Hanlin '
11
+ 'and Qian, Rui and Lin, Weiyao',
12
+ title='ATRW: A Benchmark for Amur Tiger '
13
+ 'Re-identification in the Wild',
14
+ container='Proceedings of the 28th ACM '
15
+ 'International Conference on Multimedia',
16
+ year='2020',
17
+ homepage='https://cvwc2019.github.io/challenge.html',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(
22
+ name='left_ear',
23
+ id=0,
24
+ color=[51, 153, 255],
25
+ type='upper',
26
+ swap='right_ear'),
27
+ 1:
28
+ dict(
29
+ name='right_ear',
30
+ id=1,
31
+ color=[51, 153, 255],
32
+ type='upper',
33
+ swap='left_ear'),
34
+ 2:
35
+ dict(name='nose', id=2, color=[51, 153, 255], type='upper', swap=''),
36
+ 3:
37
+ dict(
38
+ name='right_shoulder',
39
+ id=3,
40
+ color=[255, 128, 0],
41
+ type='upper',
42
+ swap='left_shoulder'),
43
+ 4:
44
+ dict(
45
+ name='right_front_paw',
46
+ id=4,
47
+ color=[255, 128, 0],
48
+ type='upper',
49
+ swap='left_front_paw'),
50
+ 5:
51
+ dict(
52
+ name='left_shoulder',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_shoulder'),
57
+ 6:
58
+ dict(
59
+ name='left_front_paw',
60
+ id=6,
61
+ color=[0, 255, 0],
62
+ type='upper',
63
+ swap='right_front_paw'),
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='right_knee',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='lower',
77
+ swap='left_knee'),
78
+ 9:
79
+ dict(
80
+ name='right_back_paw',
81
+ id=9,
82
+ color=[255, 128, 0],
83
+ type='lower',
84
+ swap='left_back_paw'),
85
+ 10:
86
+ dict(
87
+ name='left_hip',
88
+ id=10,
89
+ color=[0, 255, 0],
90
+ type='lower',
91
+ swap='right_hip'),
92
+ 11:
93
+ dict(
94
+ name='left_knee',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_knee'),
99
+ 12:
100
+ dict(
101
+ name='left_back_paw',
102
+ id=12,
103
+ color=[0, 255, 0],
104
+ type='lower',
105
+ swap='right_back_paw'),
106
+ 13:
107
+ dict(name='tail', id=13, color=[51, 153, 255], type='lower', swap=''),
108
+ 14:
109
+ dict(
110
+ name='center', id=14, color=[51, 153, 255], type='lower', swap=''),
111
+ },
112
+ skeleton_info={
113
+ 0:
114
+ dict(link=('left_ear', 'nose'), id=0, color=[51, 153, 255]),
115
+ 1:
116
+ dict(link=('right_ear', 'nose'), id=1, color=[51, 153, 255]),
117
+ 2:
118
+ dict(link=('nose', 'center'), id=2, color=[51, 153, 255]),
119
+ 3:
120
+ dict(
121
+ link=('left_shoulder', 'left_front_paw'), id=3, color=[0, 255, 0]),
122
+ 4:
123
+ dict(link=('left_shoulder', 'center'), id=4, color=[0, 255, 0]),
124
+ 5:
125
+ dict(
126
+ link=('right_shoulder', 'right_front_paw'),
127
+ id=5,
128
+ color=[255, 128, 0]),
129
+ 6:
130
+ dict(link=('right_shoulder', 'center'), id=6, color=[255, 128, 0]),
131
+ 7:
132
+ dict(link=('tail', 'center'), id=7, color=[51, 153, 255]),
133
+ 8:
134
+ dict(link=('right_back_paw', 'right_knee'), id=8, color=[255, 128, 0]),
135
+ 9:
136
+ dict(link=('right_knee', 'right_hip'), id=9, color=[255, 128, 0]),
137
+ 10:
138
+ dict(link=('right_hip', 'tail'), id=10, color=[255, 128, 0]),
139
+ 11:
140
+ dict(link=('left_back_paw', 'left_knee'), id=11, color=[0, 255, 0]),
141
+ 12:
142
+ dict(link=('left_knee', 'left_hip'), id=12, color=[0, 255, 0]),
143
+ 13:
144
+ dict(link=('left_hip', 'tail'), id=13, color=[0, 255, 0]),
145
+ },
146
+ joint_weights=[1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
147
+ sigmas=[
148
+ 0.0277, 0.0823, 0.0831, 0.0202, 0.0716, 0.0263, 0.0646, 0.0302, 0.0440,
149
+ 0.0316, 0.0333, 0.0547, 0.0263, 0.0683, 0.0539
150
+ ])
configs/_base_/datasets/campus.py ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='campus',
9
+ paper_info=dict(
10
+ author='Belagiannis, Vasileios and Amin, Sikandar and Andriluka, '
11
+ 'Mykhaylo and Schiele, Bernt and Navab, Nassir and Ilic, Slobodan',
12
+ title='3D Pictorial Structures for Multiple Human Pose Estimation',
13
+ container='IEEE Computer Society Conference on Computer Vision and '
14
+ 'Pattern Recognition (CVPR)',
15
+ year='2014',
16
+ homepage='http://campar.in.tum.de/Chair/MultiHumanPose',
17
+ ),
18
+ keypoint_info={
19
+ 0:
20
+ dict(
21
+ name='right_ankle',
22
+ id=0,
23
+ color=[255, 128, 0],
24
+ type='lower',
25
+ swap='left_ankle'),
26
+ 1:
27
+ dict(
28
+ name='right_knee',
29
+ id=1,
30
+ color=[255, 128, 0],
31
+ type='lower',
32
+ swap='left_knee'),
33
+ 2:
34
+ dict(
35
+ name='right_hip',
36
+ id=2,
37
+ color=[255, 128, 0],
38
+ type='lower',
39
+ swap='left_hip'),
40
+ 3:
41
+ dict(
42
+ name='left_hip',
43
+ id=3,
44
+ color=[0, 255, 0],
45
+ type='lower',
46
+ swap='right_hip'),
47
+ 4:
48
+ dict(
49
+ name='left_knee',
50
+ id=4,
51
+ color=[0, 255, 0],
52
+ type='lower',
53
+ swap='right_knee'),
54
+ 5:
55
+ dict(
56
+ name='left_ankle',
57
+ id=5,
58
+ color=[0, 255, 0],
59
+ type='lower',
60
+ swap='right_ankle'),
61
+ 6:
62
+ dict(
63
+ name='right_wrist',
64
+ id=6,
65
+ color=[255, 128, 0],
66
+ type='upper',
67
+ swap='left_wrist'),
68
+ 7:
69
+ dict(
70
+ name='right_elbow',
71
+ id=7,
72
+ color=[255, 128, 0],
73
+ type='upper',
74
+ swap='left_elbow'),
75
+ 8:
76
+ dict(
77
+ name='right_shoulder',
78
+ id=8,
79
+ color=[255, 128, 0],
80
+ type='upper',
81
+ swap='left_shoulder'),
82
+ 9:
83
+ dict(
84
+ name='left_shoulder',
85
+ id=9,
86
+ color=[0, 255, 0],
87
+ type='upper',
88
+ swap='right_shoulder'),
89
+ 10:
90
+ dict(
91
+ name='left_elbow',
92
+ id=10,
93
+ color=[0, 255, 0],
94
+ type='upper',
95
+ swap='right_elbow'),
96
+ 11:
97
+ dict(
98
+ name='left_wrist',
99
+ id=11,
100
+ color=[0, 255, 0],
101
+ type='upper',
102
+ swap='right_wrist'),
103
+ 12:
104
+ dict(
105
+ name='bottom_head',
106
+ id=12,
107
+ color=[51, 153, 255],
108
+ type='upper',
109
+ swap=''),
110
+ 13:
111
+ dict(
112
+ name='top_head',
113
+ id=13,
114
+ color=[51, 153, 255],
115
+ type='upper',
116
+ swap=''),
117
+ },
118
+ skeleton_info={
119
+ 0:
120
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
121
+ 1:
122
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
123
+ 2:
124
+ dict(link=('left_hip', 'left_knee'), id=2, color=[0, 255, 0]),
125
+ 3:
126
+ dict(link=('left_knee', 'left_ankle'), id=3, color=[0, 255, 0]),
127
+ 4:
128
+ dict(link=('right_hip', 'left_hip'), id=4, color=[51, 153, 255]),
129
+ 5:
130
+ dict(link=('right_wrist', 'right_elbow'), id=5, color=[255, 128, 0]),
131
+ 6:
132
+ dict(
133
+ link=('right_elbow', 'right_shoulder'), id=6, color=[255, 128, 0]),
134
+ 7:
135
+ dict(link=('left_shoulder', 'left_elbow'), id=7, color=[0, 255, 0]),
136
+ 8:
137
+ dict(link=('left_elbow', 'left_wrist'), id=8, color=[0, 255, 0]),
138
+ 9:
139
+ dict(link=('right_hip', 'right_shoulder'), id=9, color=[255, 128, 0]),
140
+ 10:
141
+ dict(link=('left_hip', 'left_shoulder'), id=10, color=[0, 255, 0]),
142
+ 11:
143
+ dict(
144
+ link=('right_shoulder', 'bottom_head'), id=11, color=[255, 128,
145
+ 0]),
146
+ 12:
147
+ dict(link=('left_shoulder', 'bottom_head'), id=12, color=[0, 255, 0]),
148
+ 13:
149
+ dict(link=('bottom_head', 'top_head'), id=13, color=[51, 153, 255]),
150
+ },
151
+ joint_weights=[
152
+ 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
153
+ ],
154
+ sigmas=[
155
+ 0.089, 0.087, 0.107, 0.107, 0.087, 0.089, 0.062, 0.072, 0.079, 0.079,
156
+ 0.072, 0.062, 0.026, 0.026
157
+ ])
configs/_base_/datasets/coco.py ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='coco',
9
+ paper_info=dict(
10
+ author='Lin, Tsung-Yi and Maire, Michael and '
11
+ 'Belongie, Serge and Hays, James and '
12
+ 'Perona, Pietro and Ramanan, Deva and '
13
+ r'Doll{\'a}r, Piotr and Zitnick, C Lawrence',
14
+ title='Microsoft coco: Common objects in context',
15
+ container='European conference on computer vision',
16
+ year='2014',
17
+ homepage='http://cocodataset.org/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
22
+ 1:
23
+ dict(
24
+ name='left_eye',
25
+ id=1,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='right_eye'),
29
+ 2:
30
+ dict(
31
+ name='right_eye',
32
+ id=2,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='left_eye'),
36
+ 3:
37
+ dict(
38
+ name='left_ear',
39
+ id=3,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='right_ear'),
43
+ 4:
44
+ dict(
45
+ name='right_ear',
46
+ id=4,
47
+ color=[51, 153, 255],
48
+ type='upper',
49
+ swap='left_ear'),
50
+ 5:
51
+ dict(
52
+ name='left_shoulder',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_shoulder'),
57
+ 6:
58
+ dict(
59
+ name='right_shoulder',
60
+ id=6,
61
+ color=[255, 128, 0],
62
+ type='upper',
63
+ swap='left_shoulder'),
64
+ 7:
65
+ dict(
66
+ name='left_elbow',
67
+ id=7,
68
+ color=[0, 255, 0],
69
+ type='upper',
70
+ swap='right_elbow'),
71
+ 8:
72
+ dict(
73
+ name='right_elbow',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_elbow'),
78
+ 9:
79
+ dict(
80
+ name='left_wrist',
81
+ id=9,
82
+ color=[0, 255, 0],
83
+ type='upper',
84
+ swap='right_wrist'),
85
+ 10:
86
+ dict(
87
+ name='right_wrist',
88
+ id=10,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_wrist'),
92
+ 11:
93
+ dict(
94
+ name='left_hip',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_hip'),
99
+ 12:
100
+ dict(
101
+ name='right_hip',
102
+ id=12,
103
+ color=[255, 128, 0],
104
+ type='lower',
105
+ swap='left_hip'),
106
+ 13:
107
+ dict(
108
+ name='left_knee',
109
+ id=13,
110
+ color=[0, 255, 0],
111
+ type='lower',
112
+ swap='right_knee'),
113
+ 14:
114
+ dict(
115
+ name='right_knee',
116
+ id=14,
117
+ color=[255, 128, 0],
118
+ type='lower',
119
+ swap='left_knee'),
120
+ 15:
121
+ dict(
122
+ name='left_ankle',
123
+ id=15,
124
+ color=[0, 255, 0],
125
+ type='lower',
126
+ swap='right_ankle'),
127
+ 16:
128
+ dict(
129
+ name='right_ankle',
130
+ id=16,
131
+ color=[255, 128, 0],
132
+ type='lower',
133
+ swap='left_ankle')
134
+ },
135
+ skeleton_info={
136
+ 0:
137
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
138
+ 1:
139
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
140
+ 2:
141
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
142
+ 3:
143
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
144
+ 4:
145
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
146
+ 5:
147
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
148
+ 6:
149
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
150
+ 7:
151
+ dict(
152
+ link=('left_shoulder', 'right_shoulder'),
153
+ id=7,
154
+ color=[51, 153, 255]),
155
+ 8:
156
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
157
+ 9:
158
+ dict(
159
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
160
+ 10:
161
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
162
+ 11:
163
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
164
+ 12:
165
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
166
+ 13:
167
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
168
+ 14:
169
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
170
+ 15:
171
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
172
+ 16:
173
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
174
+ 17:
175
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
176
+ 18:
177
+ dict(
178
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
179
+ },
180
+ joint_weights=[
181
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
182
+ 1.5
183
+ ],
184
+ sigmas=[
185
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
186
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
187
+ ])
configs/_base_/datasets/coco_openpose.py ADDED
@@ -0,0 +1,163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='coco_openpose',
9
+ paper_info=dict(
10
+ author='Zhe, Cao and Tomas, Simon and '
11
+ 'Shih-En, Wei and Yaser, Sheikh',
12
+ title='OpenPose: Realtime Multi-Person 2D Pose '
13
+ 'Estimation using Part Affinity Fields',
14
+ container='IEEE Transactions on Pattern Analysis '
15
+ 'and Machine Intelligence',
16
+ year='2019',
17
+ homepage='https://github.com/CMU-Perceptual-Computing-Lab/openpose/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='nose', id=0, color=[255, 0, 0], type='upper', swap=''),
22
+ 1:
23
+ dict(name='neck', id=1, color=[255, 85, 0], type='upper', swap=''),
24
+ 2:
25
+ dict(
26
+ name='right_shoulder',
27
+ id=2,
28
+ color=[255, 170, 0],
29
+ type='upper',
30
+ swap='left_shoulder'),
31
+ 3:
32
+ dict(
33
+ name='right_elbow',
34
+ id=3,
35
+ color=[255, 255, 0],
36
+ type='upper',
37
+ swap='left_elbow'),
38
+ 4:
39
+ dict(
40
+ name='right_wrist',
41
+ id=4,
42
+ color=[170, 255, 0],
43
+ type='upper',
44
+ swap='left_wrist'),
45
+ 5:
46
+ dict(
47
+ name='left_shoulder',
48
+ id=5,
49
+ color=[85, 255, 0],
50
+ type='upper',
51
+ swap='right_shoulder'),
52
+ 6:
53
+ dict(
54
+ name='left_elbow',
55
+ id=6,
56
+ color=[0, 255, 0],
57
+ type='upper',
58
+ swap='right_elbow'),
59
+ 7:
60
+ dict(
61
+ name='left_wrist',
62
+ id=7,
63
+ color=[0, 255, 85],
64
+ type='upper',
65
+ swap='right_wrist'),
66
+ 8:
67
+ dict(
68
+ name='right_hip',
69
+ id=8,
70
+ color=[0, 255, 170],
71
+ type='lower',
72
+ swap='left_hip'),
73
+ 9:
74
+ dict(
75
+ name='right_knee',
76
+ id=9,
77
+ color=[0, 255, 255],
78
+ type='lower',
79
+ swap='left_knee'),
80
+ 10:
81
+ dict(
82
+ name='right_ankle',
83
+ id=10,
84
+ color=[0, 170, 255],
85
+ type='lower',
86
+ swap='left_ankle'),
87
+ 11:
88
+ dict(
89
+ name='left_hip',
90
+ id=11,
91
+ color=[0, 85, 255],
92
+ type='lower',
93
+ swap='right_hip'),
94
+ 12:
95
+ dict(
96
+ name='left_knee',
97
+ id=12,
98
+ color=[0, 0, 255],
99
+ type='lower',
100
+ swap='right_knee'),
101
+ 13:
102
+ dict(
103
+ name='left_ankle',
104
+ id=13,
105
+ color=[85, 0, 255],
106
+ type='lower',
107
+ swap='right_ankle'),
108
+ 14:
109
+ dict(
110
+ name='right_eye',
111
+ id=14,
112
+ color=[170, 0, 255],
113
+ type='upper',
114
+ swap='left_eye'),
115
+ 15:
116
+ dict(
117
+ name='left_eye',
118
+ id=15,
119
+ color=[255, 0, 255],
120
+ type='upper',
121
+ swap='right_eye'),
122
+ 16:
123
+ dict(
124
+ name='right_ear',
125
+ id=16,
126
+ color=[255, 0, 170],
127
+ type='upper',
128
+ swap='left_ear'),
129
+ 17:
130
+ dict(
131
+ name='left_ear',
132
+ id=17,
133
+ color=[255, 0, 85],
134
+ type='upper',
135
+ swap='right_ear'),
136
+ },
137
+ skeleton_info={
138
+ 0: dict(link=('neck', 'right_shoulder'), id=0, color=[255, 0, 0]),
139
+ 1: dict(link=('neck', 'left_shoulder'), id=1, color=[255, 85, 0]),
140
+ 2: dict(
141
+ link=('right_shoulder', 'right_elbow'), id=2, color=[255, 170, 0]),
142
+ 3:
143
+ dict(link=('right_elbow', 'right_wrist'), id=3, color=[255, 255, 0]),
144
+ 4:
145
+ dict(link=('left_shoulder', 'left_elbow'), id=4, color=[170, 255, 0]),
146
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[85, 255, 0]),
147
+ 6: dict(link=('neck', 'right_hip'), id=6, color=[0, 255, 0]),
148
+ 7: dict(link=('right_hip', 'right_knee'), id=7, color=[0, 255, 85]),
149
+ 8: dict(link=('right_knee', 'right_ankle'), id=8, color=[0, 255, 170]),
150
+ 9: dict(link=('neck', 'left_hip'), id=9, color=[0, 255, 225]),
151
+ 10: dict(link=('left_hip', 'left_knee'), id=10, color=[0, 170, 255]),
152
+ 11: dict(link=('left_knee', 'left_ankle'), id=11, color=[0, 85, 255]),
153
+ 12: dict(link=('neck', 'nose'), id=12, color=[0, 0, 255]),
154
+ 13: dict(link=('nose', 'right_eye'), id=13, color=[255, 0, 170]),
155
+ 14: dict(link=('right_eye', 'right_ear'), id=14, color=[170, 0, 255]),
156
+ 15: dict(link=('nose', 'left_eye'), id=15, color=[255, 0, 255]),
157
+ 16: dict(link=('left_eye', 'left_ear'), id=16, color=[255, 0, 170]),
158
+ },
159
+ joint_weights=[1.] * 18,
160
+ sigmas=[
161
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
162
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.082
163
+ ])
configs/_base_/datasets/coco_wholebody.py ADDED
@@ -0,0 +1,1160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='coco_wholebody',
9
+ paper_info=dict(
10
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
11
+ 'Wang, Can and Liu, Wentao and '
12
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
13
+ title='Whole-Body Human Pose Estimation in the Wild',
14
+ container='Proceedings of the European '
15
+ 'Conference on Computer Vision (ECCV)',
16
+ year='2020',
17
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
22
+ 1:
23
+ dict(
24
+ name='left_eye',
25
+ id=1,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='right_eye'),
29
+ 2:
30
+ dict(
31
+ name='right_eye',
32
+ id=2,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='left_eye'),
36
+ 3:
37
+ dict(
38
+ name='left_ear',
39
+ id=3,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='right_ear'),
43
+ 4:
44
+ dict(
45
+ name='right_ear',
46
+ id=4,
47
+ color=[51, 153, 255],
48
+ type='upper',
49
+ swap='left_ear'),
50
+ 5:
51
+ dict(
52
+ name='left_shoulder',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_shoulder'),
57
+ 6:
58
+ dict(
59
+ name='right_shoulder',
60
+ id=6,
61
+ color=[255, 128, 0],
62
+ type='upper',
63
+ swap='left_shoulder'),
64
+ 7:
65
+ dict(
66
+ name='left_elbow',
67
+ id=7,
68
+ color=[0, 255, 0],
69
+ type='upper',
70
+ swap='right_elbow'),
71
+ 8:
72
+ dict(
73
+ name='right_elbow',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_elbow'),
78
+ 9:
79
+ dict(
80
+ name='left_wrist',
81
+ id=9,
82
+ color=[0, 255, 0],
83
+ type='upper',
84
+ swap='right_wrist'),
85
+ 10:
86
+ dict(
87
+ name='right_wrist',
88
+ id=10,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_wrist'),
92
+ 11:
93
+ dict(
94
+ name='left_hip',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_hip'),
99
+ 12:
100
+ dict(
101
+ name='right_hip',
102
+ id=12,
103
+ color=[255, 128, 0],
104
+ type='lower',
105
+ swap='left_hip'),
106
+ 13:
107
+ dict(
108
+ name='left_knee',
109
+ id=13,
110
+ color=[0, 255, 0],
111
+ type='lower',
112
+ swap='right_knee'),
113
+ 14:
114
+ dict(
115
+ name='right_knee',
116
+ id=14,
117
+ color=[255, 128, 0],
118
+ type='lower',
119
+ swap='left_knee'),
120
+ 15:
121
+ dict(
122
+ name='left_ankle',
123
+ id=15,
124
+ color=[0, 255, 0],
125
+ type='lower',
126
+ swap='right_ankle'),
127
+ 16:
128
+ dict(
129
+ name='right_ankle',
130
+ id=16,
131
+ color=[255, 128, 0],
132
+ type='lower',
133
+ swap='left_ankle'),
134
+ 17:
135
+ dict(
136
+ name='left_big_toe',
137
+ id=17,
138
+ color=[255, 128, 0],
139
+ type='lower',
140
+ swap='right_big_toe'),
141
+ 18:
142
+ dict(
143
+ name='left_small_toe',
144
+ id=18,
145
+ color=[255, 128, 0],
146
+ type='lower',
147
+ swap='right_small_toe'),
148
+ 19:
149
+ dict(
150
+ name='left_heel',
151
+ id=19,
152
+ color=[255, 128, 0],
153
+ type='lower',
154
+ swap='right_heel'),
155
+ 20:
156
+ dict(
157
+ name='right_big_toe',
158
+ id=20,
159
+ color=[255, 128, 0],
160
+ type='lower',
161
+ swap='left_big_toe'),
162
+ 21:
163
+ dict(
164
+ name='right_small_toe',
165
+ id=21,
166
+ color=[255, 128, 0],
167
+ type='lower',
168
+ swap='left_small_toe'),
169
+ 22:
170
+ dict(
171
+ name='right_heel',
172
+ id=22,
173
+ color=[255, 128, 0],
174
+ type='lower',
175
+ swap='left_heel'),
176
+ 23:
177
+ dict(
178
+ name='face-0',
179
+ id=23,
180
+ color=[255, 255, 255],
181
+ type='',
182
+ swap='face-16'),
183
+ 24:
184
+ dict(
185
+ name='face-1',
186
+ id=24,
187
+ color=[255, 255, 255],
188
+ type='',
189
+ swap='face-15'),
190
+ 25:
191
+ dict(
192
+ name='face-2',
193
+ id=25,
194
+ color=[255, 255, 255],
195
+ type='',
196
+ swap='face-14'),
197
+ 26:
198
+ dict(
199
+ name='face-3',
200
+ id=26,
201
+ color=[255, 255, 255],
202
+ type='',
203
+ swap='face-13'),
204
+ 27:
205
+ dict(
206
+ name='face-4',
207
+ id=27,
208
+ color=[255, 255, 255],
209
+ type='',
210
+ swap='face-12'),
211
+ 28:
212
+ dict(
213
+ name='face-5',
214
+ id=28,
215
+ color=[255, 255, 255],
216
+ type='',
217
+ swap='face-11'),
218
+ 29:
219
+ dict(
220
+ name='face-6',
221
+ id=29,
222
+ color=[255, 255, 255],
223
+ type='',
224
+ swap='face-10'),
225
+ 30:
226
+ dict(
227
+ name='face-7',
228
+ id=30,
229
+ color=[255, 255, 255],
230
+ type='',
231
+ swap='face-9'),
232
+ 31:
233
+ dict(name='face-8', id=31, color=[255, 255, 255], type='', swap=''),
234
+ 32:
235
+ dict(
236
+ name='face-9',
237
+ id=32,
238
+ color=[255, 255, 255],
239
+ type='',
240
+ swap='face-7'),
241
+ 33:
242
+ dict(
243
+ name='face-10',
244
+ id=33,
245
+ color=[255, 255, 255],
246
+ type='',
247
+ swap='face-6'),
248
+ 34:
249
+ dict(
250
+ name='face-11',
251
+ id=34,
252
+ color=[255, 255, 255],
253
+ type='',
254
+ swap='face-5'),
255
+ 35:
256
+ dict(
257
+ name='face-12',
258
+ id=35,
259
+ color=[255, 255, 255],
260
+ type='',
261
+ swap='face-4'),
262
+ 36:
263
+ dict(
264
+ name='face-13',
265
+ id=36,
266
+ color=[255, 255, 255],
267
+ type='',
268
+ swap='face-3'),
269
+ 37:
270
+ dict(
271
+ name='face-14',
272
+ id=37,
273
+ color=[255, 255, 255],
274
+ type='',
275
+ swap='face-2'),
276
+ 38:
277
+ dict(
278
+ name='face-15',
279
+ id=38,
280
+ color=[255, 255, 255],
281
+ type='',
282
+ swap='face-1'),
283
+ 39:
284
+ dict(
285
+ name='face-16',
286
+ id=39,
287
+ color=[255, 255, 255],
288
+ type='',
289
+ swap='face-0'),
290
+ 40:
291
+ dict(
292
+ name='face-17',
293
+ id=40,
294
+ color=[255, 255, 255],
295
+ type='',
296
+ swap='face-26'),
297
+ 41:
298
+ dict(
299
+ name='face-18',
300
+ id=41,
301
+ color=[255, 255, 255],
302
+ type='',
303
+ swap='face-25'),
304
+ 42:
305
+ dict(
306
+ name='face-19',
307
+ id=42,
308
+ color=[255, 255, 255],
309
+ type='',
310
+ swap='face-24'),
311
+ 43:
312
+ dict(
313
+ name='face-20',
314
+ id=43,
315
+ color=[255, 255, 255],
316
+ type='',
317
+ swap='face-23'),
318
+ 44:
319
+ dict(
320
+ name='face-21',
321
+ id=44,
322
+ color=[255, 255, 255],
323
+ type='',
324
+ swap='face-22'),
325
+ 45:
326
+ dict(
327
+ name='face-22',
328
+ id=45,
329
+ color=[255, 255, 255],
330
+ type='',
331
+ swap='face-21'),
332
+ 46:
333
+ dict(
334
+ name='face-23',
335
+ id=46,
336
+ color=[255, 255, 255],
337
+ type='',
338
+ swap='face-20'),
339
+ 47:
340
+ dict(
341
+ name='face-24',
342
+ id=47,
343
+ color=[255, 255, 255],
344
+ type='',
345
+ swap='face-19'),
346
+ 48:
347
+ dict(
348
+ name='face-25',
349
+ id=48,
350
+ color=[255, 255, 255],
351
+ type='',
352
+ swap='face-18'),
353
+ 49:
354
+ dict(
355
+ name='face-26',
356
+ id=49,
357
+ color=[255, 255, 255],
358
+ type='',
359
+ swap='face-17'),
360
+ 50:
361
+ dict(name='face-27', id=50, color=[255, 255, 255], type='', swap=''),
362
+ 51:
363
+ dict(name='face-28', id=51, color=[255, 255, 255], type='', swap=''),
364
+ 52:
365
+ dict(name='face-29', id=52, color=[255, 255, 255], type='', swap=''),
366
+ 53:
367
+ dict(name='face-30', id=53, color=[255, 255, 255], type='', swap=''),
368
+ 54:
369
+ dict(
370
+ name='face-31',
371
+ id=54,
372
+ color=[255, 255, 255],
373
+ type='',
374
+ swap='face-35'),
375
+ 55:
376
+ dict(
377
+ name='face-32',
378
+ id=55,
379
+ color=[255, 255, 255],
380
+ type='',
381
+ swap='face-34'),
382
+ 56:
383
+ dict(name='face-33', id=56, color=[255, 255, 255], type='', swap=''),
384
+ 57:
385
+ dict(
386
+ name='face-34',
387
+ id=57,
388
+ color=[255, 255, 255],
389
+ type='',
390
+ swap='face-32'),
391
+ 58:
392
+ dict(
393
+ name='face-35',
394
+ id=58,
395
+ color=[255, 255, 255],
396
+ type='',
397
+ swap='face-31'),
398
+ 59:
399
+ dict(
400
+ name='face-36',
401
+ id=59,
402
+ color=[255, 255, 255],
403
+ type='',
404
+ swap='face-45'),
405
+ 60:
406
+ dict(
407
+ name='face-37',
408
+ id=60,
409
+ color=[255, 255, 255],
410
+ type='',
411
+ swap='face-44'),
412
+ 61:
413
+ dict(
414
+ name='face-38',
415
+ id=61,
416
+ color=[255, 255, 255],
417
+ type='',
418
+ swap='face-43'),
419
+ 62:
420
+ dict(
421
+ name='face-39',
422
+ id=62,
423
+ color=[255, 255, 255],
424
+ type='',
425
+ swap='face-42'),
426
+ 63:
427
+ dict(
428
+ name='face-40',
429
+ id=63,
430
+ color=[255, 255, 255],
431
+ type='',
432
+ swap='face-47'),
433
+ 64:
434
+ dict(
435
+ name='face-41',
436
+ id=64,
437
+ color=[255, 255, 255],
438
+ type='',
439
+ swap='face-46'),
440
+ 65:
441
+ dict(
442
+ name='face-42',
443
+ id=65,
444
+ color=[255, 255, 255],
445
+ type='',
446
+ swap='face-39'),
447
+ 66:
448
+ dict(
449
+ name='face-43',
450
+ id=66,
451
+ color=[255, 255, 255],
452
+ type='',
453
+ swap='face-38'),
454
+ 67:
455
+ dict(
456
+ name='face-44',
457
+ id=67,
458
+ color=[255, 255, 255],
459
+ type='',
460
+ swap='face-37'),
461
+ 68:
462
+ dict(
463
+ name='face-45',
464
+ id=68,
465
+ color=[255, 255, 255],
466
+ type='',
467
+ swap='face-36'),
468
+ 69:
469
+ dict(
470
+ name='face-46',
471
+ id=69,
472
+ color=[255, 255, 255],
473
+ type='',
474
+ swap='face-41'),
475
+ 70:
476
+ dict(
477
+ name='face-47',
478
+ id=70,
479
+ color=[255, 255, 255],
480
+ type='',
481
+ swap='face-40'),
482
+ 71:
483
+ dict(
484
+ name='face-48',
485
+ id=71,
486
+ color=[255, 255, 255],
487
+ type='',
488
+ swap='face-54'),
489
+ 72:
490
+ dict(
491
+ name='face-49',
492
+ id=72,
493
+ color=[255, 255, 255],
494
+ type='',
495
+ swap='face-53'),
496
+ 73:
497
+ dict(
498
+ name='face-50',
499
+ id=73,
500
+ color=[255, 255, 255],
501
+ type='',
502
+ swap='face-52'),
503
+ 74:
504
+ dict(name='face-51', id=74, color=[255, 255, 255], type='', swap=''),
505
+ 75:
506
+ dict(
507
+ name='face-52',
508
+ id=75,
509
+ color=[255, 255, 255],
510
+ type='',
511
+ swap='face-50'),
512
+ 76:
513
+ dict(
514
+ name='face-53',
515
+ id=76,
516
+ color=[255, 255, 255],
517
+ type='',
518
+ swap='face-49'),
519
+ 77:
520
+ dict(
521
+ name='face-54',
522
+ id=77,
523
+ color=[255, 255, 255],
524
+ type='',
525
+ swap='face-48'),
526
+ 78:
527
+ dict(
528
+ name='face-55',
529
+ id=78,
530
+ color=[255, 255, 255],
531
+ type='',
532
+ swap='face-59'),
533
+ 79:
534
+ dict(
535
+ name='face-56',
536
+ id=79,
537
+ color=[255, 255, 255],
538
+ type='',
539
+ swap='face-58'),
540
+ 80:
541
+ dict(name='face-57', id=80, color=[255, 255, 255], type='', swap=''),
542
+ 81:
543
+ dict(
544
+ name='face-58',
545
+ id=81,
546
+ color=[255, 255, 255],
547
+ type='',
548
+ swap='face-56'),
549
+ 82:
550
+ dict(
551
+ name='face-59',
552
+ id=82,
553
+ color=[255, 255, 255],
554
+ type='',
555
+ swap='face-55'),
556
+ 83:
557
+ dict(
558
+ name='face-60',
559
+ id=83,
560
+ color=[255, 255, 255],
561
+ type='',
562
+ swap='face-64'),
563
+ 84:
564
+ dict(
565
+ name='face-61',
566
+ id=84,
567
+ color=[255, 255, 255],
568
+ type='',
569
+ swap='face-63'),
570
+ 85:
571
+ dict(name='face-62', id=85, color=[255, 255, 255], type='', swap=''),
572
+ 86:
573
+ dict(
574
+ name='face-63',
575
+ id=86,
576
+ color=[255, 255, 255],
577
+ type='',
578
+ swap='face-61'),
579
+ 87:
580
+ dict(
581
+ name='face-64',
582
+ id=87,
583
+ color=[255, 255, 255],
584
+ type='',
585
+ swap='face-60'),
586
+ 88:
587
+ dict(
588
+ name='face-65',
589
+ id=88,
590
+ color=[255, 255, 255],
591
+ type='',
592
+ swap='face-67'),
593
+ 89:
594
+ dict(name='face-66', id=89, color=[255, 255, 255], type='', swap=''),
595
+ 90:
596
+ dict(
597
+ name='face-67',
598
+ id=90,
599
+ color=[255, 255, 255],
600
+ type='',
601
+ swap='face-65'),
602
+ 91:
603
+ dict(
604
+ name='left_hand_root',
605
+ id=91,
606
+ color=[255, 255, 255],
607
+ type='',
608
+ swap='right_hand_root'),
609
+ 92:
610
+ dict(
611
+ name='left_thumb1',
612
+ id=92,
613
+ color=[255, 128, 0],
614
+ type='',
615
+ swap='right_thumb1'),
616
+ 93:
617
+ dict(
618
+ name='left_thumb2',
619
+ id=93,
620
+ color=[255, 128, 0],
621
+ type='',
622
+ swap='right_thumb2'),
623
+ 94:
624
+ dict(
625
+ name='left_thumb3',
626
+ id=94,
627
+ color=[255, 128, 0],
628
+ type='',
629
+ swap='right_thumb3'),
630
+ 95:
631
+ dict(
632
+ name='left_thumb4',
633
+ id=95,
634
+ color=[255, 128, 0],
635
+ type='',
636
+ swap='right_thumb4'),
637
+ 96:
638
+ dict(
639
+ name='left_forefinger1',
640
+ id=96,
641
+ color=[255, 153, 255],
642
+ type='',
643
+ swap='right_forefinger1'),
644
+ 97:
645
+ dict(
646
+ name='left_forefinger2',
647
+ id=97,
648
+ color=[255, 153, 255],
649
+ type='',
650
+ swap='right_forefinger2'),
651
+ 98:
652
+ dict(
653
+ name='left_forefinger3',
654
+ id=98,
655
+ color=[255, 153, 255],
656
+ type='',
657
+ swap='right_forefinger3'),
658
+ 99:
659
+ dict(
660
+ name='left_forefinger4',
661
+ id=99,
662
+ color=[255, 153, 255],
663
+ type='',
664
+ swap='right_forefinger4'),
665
+ 100:
666
+ dict(
667
+ name='left_middle_finger1',
668
+ id=100,
669
+ color=[102, 178, 255],
670
+ type='',
671
+ swap='right_middle_finger1'),
672
+ 101:
673
+ dict(
674
+ name='left_middle_finger2',
675
+ id=101,
676
+ color=[102, 178, 255],
677
+ type='',
678
+ swap='right_middle_finger2'),
679
+ 102:
680
+ dict(
681
+ name='left_middle_finger3',
682
+ id=102,
683
+ color=[102, 178, 255],
684
+ type='',
685
+ swap='right_middle_finger3'),
686
+ 103:
687
+ dict(
688
+ name='left_middle_finger4',
689
+ id=103,
690
+ color=[102, 178, 255],
691
+ type='',
692
+ swap='right_middle_finger4'),
693
+ 104:
694
+ dict(
695
+ name='left_ring_finger1',
696
+ id=104,
697
+ color=[255, 51, 51],
698
+ type='',
699
+ swap='right_ring_finger1'),
700
+ 105:
701
+ dict(
702
+ name='left_ring_finger2',
703
+ id=105,
704
+ color=[255, 51, 51],
705
+ type='',
706
+ swap='right_ring_finger2'),
707
+ 106:
708
+ dict(
709
+ name='left_ring_finger3',
710
+ id=106,
711
+ color=[255, 51, 51],
712
+ type='',
713
+ swap='right_ring_finger3'),
714
+ 107:
715
+ dict(
716
+ name='left_ring_finger4',
717
+ id=107,
718
+ color=[255, 51, 51],
719
+ type='',
720
+ swap='right_ring_finger4'),
721
+ 108:
722
+ dict(
723
+ name='left_pinky_finger1',
724
+ id=108,
725
+ color=[0, 255, 0],
726
+ type='',
727
+ swap='right_pinky_finger1'),
728
+ 109:
729
+ dict(
730
+ name='left_pinky_finger2',
731
+ id=109,
732
+ color=[0, 255, 0],
733
+ type='',
734
+ swap='right_pinky_finger2'),
735
+ 110:
736
+ dict(
737
+ name='left_pinky_finger3',
738
+ id=110,
739
+ color=[0, 255, 0],
740
+ type='',
741
+ swap='right_pinky_finger3'),
742
+ 111:
743
+ dict(
744
+ name='left_pinky_finger4',
745
+ id=111,
746
+ color=[0, 255, 0],
747
+ type='',
748
+ swap='right_pinky_finger4'),
749
+ 112:
750
+ dict(
751
+ name='right_hand_root',
752
+ id=112,
753
+ color=[255, 255, 255],
754
+ type='',
755
+ swap='left_hand_root'),
756
+ 113:
757
+ dict(
758
+ name='right_thumb1',
759
+ id=113,
760
+ color=[255, 128, 0],
761
+ type='',
762
+ swap='left_thumb1'),
763
+ 114:
764
+ dict(
765
+ name='right_thumb2',
766
+ id=114,
767
+ color=[255, 128, 0],
768
+ type='',
769
+ swap='left_thumb2'),
770
+ 115:
771
+ dict(
772
+ name='right_thumb3',
773
+ id=115,
774
+ color=[255, 128, 0],
775
+ type='',
776
+ swap='left_thumb3'),
777
+ 116:
778
+ dict(
779
+ name='right_thumb4',
780
+ id=116,
781
+ color=[255, 128, 0],
782
+ type='',
783
+ swap='left_thumb4'),
784
+ 117:
785
+ dict(
786
+ name='right_forefinger1',
787
+ id=117,
788
+ color=[255, 153, 255],
789
+ type='',
790
+ swap='left_forefinger1'),
791
+ 118:
792
+ dict(
793
+ name='right_forefinger2',
794
+ id=118,
795
+ color=[255, 153, 255],
796
+ type='',
797
+ swap='left_forefinger2'),
798
+ 119:
799
+ dict(
800
+ name='right_forefinger3',
801
+ id=119,
802
+ color=[255, 153, 255],
803
+ type='',
804
+ swap='left_forefinger3'),
805
+ 120:
806
+ dict(
807
+ name='right_forefinger4',
808
+ id=120,
809
+ color=[255, 153, 255],
810
+ type='',
811
+ swap='left_forefinger4'),
812
+ 121:
813
+ dict(
814
+ name='right_middle_finger1',
815
+ id=121,
816
+ color=[102, 178, 255],
817
+ type='',
818
+ swap='left_middle_finger1'),
819
+ 122:
820
+ dict(
821
+ name='right_middle_finger2',
822
+ id=122,
823
+ color=[102, 178, 255],
824
+ type='',
825
+ swap='left_middle_finger2'),
826
+ 123:
827
+ dict(
828
+ name='right_middle_finger3',
829
+ id=123,
830
+ color=[102, 178, 255],
831
+ type='',
832
+ swap='left_middle_finger3'),
833
+ 124:
834
+ dict(
835
+ name='right_middle_finger4',
836
+ id=124,
837
+ color=[102, 178, 255],
838
+ type='',
839
+ swap='left_middle_finger4'),
840
+ 125:
841
+ dict(
842
+ name='right_ring_finger1',
843
+ id=125,
844
+ color=[255, 51, 51],
845
+ type='',
846
+ swap='left_ring_finger1'),
847
+ 126:
848
+ dict(
849
+ name='right_ring_finger2',
850
+ id=126,
851
+ color=[255, 51, 51],
852
+ type='',
853
+ swap='left_ring_finger2'),
854
+ 127:
855
+ dict(
856
+ name='right_ring_finger3',
857
+ id=127,
858
+ color=[255, 51, 51],
859
+ type='',
860
+ swap='left_ring_finger3'),
861
+ 128:
862
+ dict(
863
+ name='right_ring_finger4',
864
+ id=128,
865
+ color=[255, 51, 51],
866
+ type='',
867
+ swap='left_ring_finger4'),
868
+ 129:
869
+ dict(
870
+ name='right_pinky_finger1',
871
+ id=129,
872
+ color=[0, 255, 0],
873
+ type='',
874
+ swap='left_pinky_finger1'),
875
+ 130:
876
+ dict(
877
+ name='right_pinky_finger2',
878
+ id=130,
879
+ color=[0, 255, 0],
880
+ type='',
881
+ swap='left_pinky_finger2'),
882
+ 131:
883
+ dict(
884
+ name='right_pinky_finger3',
885
+ id=131,
886
+ color=[0, 255, 0],
887
+ type='',
888
+ swap='left_pinky_finger3'),
889
+ 132:
890
+ dict(
891
+ name='right_pinky_finger4',
892
+ id=132,
893
+ color=[0, 255, 0],
894
+ type='',
895
+ swap='left_pinky_finger4')
896
+ },
897
+ skeleton_info={
898
+ 0:
899
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
900
+ 1:
901
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
902
+ 2:
903
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
904
+ 3:
905
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
906
+ 4:
907
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
908
+ 5:
909
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
910
+ 6:
911
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
912
+ 7:
913
+ dict(
914
+ link=('left_shoulder', 'right_shoulder'),
915
+ id=7,
916
+ color=[51, 153, 255]),
917
+ 8:
918
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
919
+ 9:
920
+ dict(
921
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
922
+ 10:
923
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
924
+ 11:
925
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
926
+ 12:
927
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
928
+ 13:
929
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
930
+ 14:
931
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
932
+ 15:
933
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
934
+ 16:
935
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
936
+ 17:
937
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
938
+ 18:
939
+ dict(
940
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
941
+ 19:
942
+ dict(link=('left_ankle', 'left_big_toe'), id=19, color=[0, 255, 0]),
943
+ 20:
944
+ dict(link=('left_ankle', 'left_small_toe'), id=20, color=[0, 255, 0]),
945
+ 21:
946
+ dict(link=('left_ankle', 'left_heel'), id=21, color=[0, 255, 0]),
947
+ 22:
948
+ dict(
949
+ link=('right_ankle', 'right_big_toe'), id=22, color=[255, 128, 0]),
950
+ 23:
951
+ dict(
952
+ link=('right_ankle', 'right_small_toe'),
953
+ id=23,
954
+ color=[255, 128, 0]),
955
+ 24:
956
+ dict(link=('right_ankle', 'right_heel'), id=24, color=[255, 128, 0]),
957
+ 25:
958
+ dict(
959
+ link=('left_hand_root', 'left_thumb1'), id=25, color=[255, 128,
960
+ 0]),
961
+ 26:
962
+ dict(link=('left_thumb1', 'left_thumb2'), id=26, color=[255, 128, 0]),
963
+ 27:
964
+ dict(link=('left_thumb2', 'left_thumb3'), id=27, color=[255, 128, 0]),
965
+ 28:
966
+ dict(link=('left_thumb3', 'left_thumb4'), id=28, color=[255, 128, 0]),
967
+ 29:
968
+ dict(
969
+ link=('left_hand_root', 'left_forefinger1'),
970
+ id=29,
971
+ color=[255, 153, 255]),
972
+ 30:
973
+ dict(
974
+ link=('left_forefinger1', 'left_forefinger2'),
975
+ id=30,
976
+ color=[255, 153, 255]),
977
+ 31:
978
+ dict(
979
+ link=('left_forefinger2', 'left_forefinger3'),
980
+ id=31,
981
+ color=[255, 153, 255]),
982
+ 32:
983
+ dict(
984
+ link=('left_forefinger3', 'left_forefinger4'),
985
+ id=32,
986
+ color=[255, 153, 255]),
987
+ 33:
988
+ dict(
989
+ link=('left_hand_root', 'left_middle_finger1'),
990
+ id=33,
991
+ color=[102, 178, 255]),
992
+ 34:
993
+ dict(
994
+ link=('left_middle_finger1', 'left_middle_finger2'),
995
+ id=34,
996
+ color=[102, 178, 255]),
997
+ 35:
998
+ dict(
999
+ link=('left_middle_finger2', 'left_middle_finger3'),
1000
+ id=35,
1001
+ color=[102, 178, 255]),
1002
+ 36:
1003
+ dict(
1004
+ link=('left_middle_finger3', 'left_middle_finger4'),
1005
+ id=36,
1006
+ color=[102, 178, 255]),
1007
+ 37:
1008
+ dict(
1009
+ link=('left_hand_root', 'left_ring_finger1'),
1010
+ id=37,
1011
+ color=[255, 51, 51]),
1012
+ 38:
1013
+ dict(
1014
+ link=('left_ring_finger1', 'left_ring_finger2'),
1015
+ id=38,
1016
+ color=[255, 51, 51]),
1017
+ 39:
1018
+ dict(
1019
+ link=('left_ring_finger2', 'left_ring_finger3'),
1020
+ id=39,
1021
+ color=[255, 51, 51]),
1022
+ 40:
1023
+ dict(
1024
+ link=('left_ring_finger3', 'left_ring_finger4'),
1025
+ id=40,
1026
+ color=[255, 51, 51]),
1027
+ 41:
1028
+ dict(
1029
+ link=('left_hand_root', 'left_pinky_finger1'),
1030
+ id=41,
1031
+ color=[0, 255, 0]),
1032
+ 42:
1033
+ dict(
1034
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1035
+ id=42,
1036
+ color=[0, 255, 0]),
1037
+ 43:
1038
+ dict(
1039
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1040
+ id=43,
1041
+ color=[0, 255, 0]),
1042
+ 44:
1043
+ dict(
1044
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1045
+ id=44,
1046
+ color=[0, 255, 0]),
1047
+ 45:
1048
+ dict(
1049
+ link=('right_hand_root', 'right_thumb1'),
1050
+ id=45,
1051
+ color=[255, 128, 0]),
1052
+ 46:
1053
+ dict(
1054
+ link=('right_thumb1', 'right_thumb2'), id=46, color=[255, 128, 0]),
1055
+ 47:
1056
+ dict(
1057
+ link=('right_thumb2', 'right_thumb3'), id=47, color=[255, 128, 0]),
1058
+ 48:
1059
+ dict(
1060
+ link=('right_thumb3', 'right_thumb4'), id=48, color=[255, 128, 0]),
1061
+ 49:
1062
+ dict(
1063
+ link=('right_hand_root', 'right_forefinger1'),
1064
+ id=49,
1065
+ color=[255, 153, 255]),
1066
+ 50:
1067
+ dict(
1068
+ link=('right_forefinger1', 'right_forefinger2'),
1069
+ id=50,
1070
+ color=[255, 153, 255]),
1071
+ 51:
1072
+ dict(
1073
+ link=('right_forefinger2', 'right_forefinger3'),
1074
+ id=51,
1075
+ color=[255, 153, 255]),
1076
+ 52:
1077
+ dict(
1078
+ link=('right_forefinger3', 'right_forefinger4'),
1079
+ id=52,
1080
+ color=[255, 153, 255]),
1081
+ 53:
1082
+ dict(
1083
+ link=('right_hand_root', 'right_middle_finger1'),
1084
+ id=53,
1085
+ color=[102, 178, 255]),
1086
+ 54:
1087
+ dict(
1088
+ link=('right_middle_finger1', 'right_middle_finger2'),
1089
+ id=54,
1090
+ color=[102, 178, 255]),
1091
+ 55:
1092
+ dict(
1093
+ link=('right_middle_finger2', 'right_middle_finger3'),
1094
+ id=55,
1095
+ color=[102, 178, 255]),
1096
+ 56:
1097
+ dict(
1098
+ link=('right_middle_finger3', 'right_middle_finger4'),
1099
+ id=56,
1100
+ color=[102, 178, 255]),
1101
+ 57:
1102
+ dict(
1103
+ link=('right_hand_root', 'right_ring_finger1'),
1104
+ id=57,
1105
+ color=[255, 51, 51]),
1106
+ 58:
1107
+ dict(
1108
+ link=('right_ring_finger1', 'right_ring_finger2'),
1109
+ id=58,
1110
+ color=[255, 51, 51]),
1111
+ 59:
1112
+ dict(
1113
+ link=('right_ring_finger2', 'right_ring_finger3'),
1114
+ id=59,
1115
+ color=[255, 51, 51]),
1116
+ 60:
1117
+ dict(
1118
+ link=('right_ring_finger3', 'right_ring_finger4'),
1119
+ id=60,
1120
+ color=[255, 51, 51]),
1121
+ 61:
1122
+ dict(
1123
+ link=('right_hand_root', 'right_pinky_finger1'),
1124
+ id=61,
1125
+ color=[0, 255, 0]),
1126
+ 62:
1127
+ dict(
1128
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1129
+ id=62,
1130
+ color=[0, 255, 0]),
1131
+ 63:
1132
+ dict(
1133
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1134
+ id=63,
1135
+ color=[0, 255, 0]),
1136
+ 64:
1137
+ dict(
1138
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1139
+ id=64,
1140
+ color=[0, 255, 0])
1141
+ },
1142
+ joint_weights=[1.] * 133,
1143
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
1144
+ # 'evaluation/myeval_wholebody.py#L175'
1145
+ sigmas=[
1146
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1147
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.068, 0.066, 0.066,
1148
+ 0.092, 0.094, 0.094, 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031,
1149
+ 0.025, 0.020, 0.023, 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045,
1150
+ 0.013, 0.012, 0.011, 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015,
1151
+ 0.009, 0.007, 0.007, 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017,
1152
+ 0.011, 0.009, 0.011, 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010,
1153
+ 0.034, 0.008, 0.008, 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009,
1154
+ 0.009, 0.009, 0.007, 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01,
1155
+ 0.008, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035,
1156
+ 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019,
1157
+ 0.022, 0.031, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024,
1158
+ 0.035, 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02,
1159
+ 0.019, 0.022, 0.031
1160
+ ])
configs/_base_/datasets/coco_wholebody2goliath.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ from configs._base_.datasets.goliath import dataset_info as goliath_info
8
+
9
+ goliath_info = goliath_info.build()
10
+ dataset_info = goliath_info.copy()
11
+ dataset_info['dataset_name'] = 'coco_wholebody2goliath'
configs/_base_/datasets/coco_wholebody2goliath3d.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ from configs._base_.datasets.goliath3d import dataset_info as goliath_info
8
+
9
+ goliath_info = goliath_info.build()
10
+ dataset_info = goliath_info.copy()
11
+ dataset_info['dataset_name'] = 'coco_wholebody2goliath3d'
configs/_base_/datasets/coco_wholebody_face.py ADDED
@@ -0,0 +1,160 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='coco_wholebody_face',
9
+ paper_info=dict(
10
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
11
+ 'Wang, Can and Liu, Wentao and '
12
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
13
+ title='Whole-Body Human Pose Estimation in the Wild',
14
+ container='Proceedings of the European '
15
+ 'Conference on Computer Vision (ECCV)',
16
+ year='2020',
17
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='face-0', id=0, color=[255, 0, 0], type='', swap='face-16'),
22
+ 1:
23
+ dict(name='face-1', id=1, color=[255, 0, 0], type='', swap='face-15'),
24
+ 2:
25
+ dict(name='face-2', id=2, color=[255, 0, 0], type='', swap='face-14'),
26
+ 3:
27
+ dict(name='face-3', id=3, color=[255, 0, 0], type='', swap='face-13'),
28
+ 4:
29
+ dict(name='face-4', id=4, color=[255, 0, 0], type='', swap='face-12'),
30
+ 5:
31
+ dict(name='face-5', id=5, color=[255, 0, 0], type='', swap='face-11'),
32
+ 6:
33
+ dict(name='face-6', id=6, color=[255, 0, 0], type='', swap='face-10'),
34
+ 7:
35
+ dict(name='face-7', id=7, color=[255, 0, 0], type='', swap='face-9'),
36
+ 8: dict(name='face-8', id=8, color=[255, 0, 0], type='', swap=''),
37
+ 9:
38
+ dict(name='face-9', id=9, color=[255, 0, 0], type='', swap='face-7'),
39
+ 10:
40
+ dict(name='face-10', id=10, color=[255, 0, 0], type='', swap='face-6'),
41
+ 11:
42
+ dict(name='face-11', id=11, color=[255, 0, 0], type='', swap='face-5'),
43
+ 12:
44
+ dict(name='face-12', id=12, color=[255, 0, 0], type='', swap='face-4'),
45
+ 13:
46
+ dict(name='face-13', id=13, color=[255, 0, 0], type='', swap='face-3'),
47
+ 14:
48
+ dict(name='face-14', id=14, color=[255, 0, 0], type='', swap='face-2'),
49
+ 15:
50
+ dict(name='face-15', id=15, color=[255, 0, 0], type='', swap='face-1'),
51
+ 16:
52
+ dict(name='face-16', id=16, color=[255, 0, 0], type='', swap='face-0'),
53
+ 17: dict(
54
+ name='face-17', id=17, color=[255, 0, 0], type='', swap='face-26'),
55
+ 18: dict(
56
+ name='face-18', id=18, color=[255, 0, 0], type='', swap='face-25'),
57
+ 19: dict(
58
+ name='face-19', id=19, color=[255, 0, 0], type='', swap='face-24'),
59
+ 20: dict(
60
+ name='face-20', id=20, color=[255, 0, 0], type='', swap='face-23'),
61
+ 21: dict(
62
+ name='face-21', id=21, color=[255, 0, 0], type='', swap='face-22'),
63
+ 22: dict(
64
+ name='face-22', id=22, color=[255, 0, 0], type='', swap='face-21'),
65
+ 23: dict(
66
+ name='face-23', id=23, color=[255, 0, 0], type='', swap='face-20'),
67
+ 24: dict(
68
+ name='face-24', id=24, color=[255, 0, 0], type='', swap='face-19'),
69
+ 25: dict(
70
+ name='face-25', id=25, color=[255, 0, 0], type='', swap='face-18'),
71
+ 26: dict(
72
+ name='face-26', id=26, color=[255, 0, 0], type='', swap='face-17'),
73
+ 27: dict(name='face-27', id=27, color=[255, 0, 0], type='', swap=''),
74
+ 28: dict(name='face-28', id=28, color=[255, 0, 0], type='', swap=''),
75
+ 29: dict(name='face-29', id=29, color=[255, 0, 0], type='', swap=''),
76
+ 30: dict(name='face-30', id=30, color=[255, 0, 0], type='', swap=''),
77
+ 31: dict(
78
+ name='face-31', id=31, color=[255, 0, 0], type='', swap='face-35'),
79
+ 32: dict(
80
+ name='face-32', id=32, color=[255, 0, 0], type='', swap='face-34'),
81
+ 33: dict(name='face-33', id=33, color=[255, 0, 0], type='', swap=''),
82
+ 34: dict(
83
+ name='face-34', id=34, color=[255, 0, 0], type='', swap='face-32'),
84
+ 35: dict(
85
+ name='face-35', id=35, color=[255, 0, 0], type='', swap='face-31'),
86
+ 36: dict(
87
+ name='face-36', id=36, color=[255, 0, 0], type='', swap='face-45'),
88
+ 37: dict(
89
+ name='face-37', id=37, color=[255, 0, 0], type='', swap='face-44'),
90
+ 38: dict(
91
+ name='face-38', id=38, color=[255, 0, 0], type='', swap='face-43'),
92
+ 39: dict(
93
+ name='face-39', id=39, color=[255, 0, 0], type='', swap='face-42'),
94
+ 40: dict(
95
+ name='face-40', id=40, color=[255, 0, 0], type='', swap='face-47'),
96
+ 41: dict(
97
+ name='face-41', id=41, color=[255, 0, 0], type='', swap='face-46'),
98
+ 42: dict(
99
+ name='face-42', id=42, color=[255, 0, 0], type='', swap='face-39'),
100
+ 43: dict(
101
+ name='face-43', id=43, color=[255, 0, 0], type='', swap='face-38'),
102
+ 44: dict(
103
+ name='face-44', id=44, color=[255, 0, 0], type='', swap='face-37'),
104
+ 45: dict(
105
+ name='face-45', id=45, color=[255, 0, 0], type='', swap='face-36'),
106
+ 46: dict(
107
+ name='face-46', id=46, color=[255, 0, 0], type='', swap='face-41'),
108
+ 47: dict(
109
+ name='face-47', id=47, color=[255, 0, 0], type='', swap='face-40'),
110
+ 48: dict(
111
+ name='face-48', id=48, color=[255, 0, 0], type='', swap='face-54'),
112
+ 49: dict(
113
+ name='face-49', id=49, color=[255, 0, 0], type='', swap='face-53'),
114
+ 50: dict(
115
+ name='face-50', id=50, color=[255, 0, 0], type='', swap='face-52'),
116
+ 51: dict(name='face-51', id=52, color=[255, 0, 0], type='', swap=''),
117
+ 52: dict(
118
+ name='face-52', id=52, color=[255, 0, 0], type='', swap='face-50'),
119
+ 53: dict(
120
+ name='face-53', id=53, color=[255, 0, 0], type='', swap='face-49'),
121
+ 54: dict(
122
+ name='face-54', id=54, color=[255, 0, 0], type='', swap='face-48'),
123
+ 55: dict(
124
+ name='face-55', id=55, color=[255, 0, 0], type='', swap='face-59'),
125
+ 56: dict(
126
+ name='face-56', id=56, color=[255, 0, 0], type='', swap='face-58'),
127
+ 57: dict(name='face-57', id=57, color=[255, 0, 0], type='', swap=''),
128
+ 58: dict(
129
+ name='face-58', id=58, color=[255, 0, 0], type='', swap='face-56'),
130
+ 59: dict(
131
+ name='face-59', id=59, color=[255, 0, 0], type='', swap='face-55'),
132
+ 60: dict(
133
+ name='face-60', id=60, color=[255, 0, 0], type='', swap='face-64'),
134
+ 61: dict(
135
+ name='face-61', id=61, color=[255, 0, 0], type='', swap='face-63'),
136
+ 62: dict(name='face-62', id=62, color=[255, 0, 0], type='', swap=''),
137
+ 63: dict(
138
+ name='face-63', id=63, color=[255, 0, 0], type='', swap='face-61'),
139
+ 64: dict(
140
+ name='face-64', id=64, color=[255, 0, 0], type='', swap='face-60'),
141
+ 65: dict(
142
+ name='face-65', id=65, color=[255, 0, 0], type='', swap='face-67'),
143
+ 66: dict(name='face-66', id=66, color=[255, 0, 0], type='', swap=''),
144
+ 67: dict(
145
+ name='face-67', id=67, color=[255, 0, 0], type='', swap='face-65')
146
+ },
147
+ skeleton_info={},
148
+ joint_weights=[1.] * 68,
149
+
150
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
151
+ # 'evaluation/myeval_wholebody.py#L177'
152
+ sigmas=[
153
+ 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031, 0.025, 0.020, 0.023,
154
+ 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045, 0.013, 0.012, 0.011,
155
+ 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015, 0.009, 0.007, 0.007,
156
+ 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017, 0.011, 0.009, 0.011,
157
+ 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010, 0.034, 0.008, 0.008,
158
+ 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009, 0.009, 0.009, 0.007,
159
+ 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01, 0.008
160
+ ])
configs/_base_/datasets/coco_wholebody_hand.py ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='coco_wholebody_hand',
9
+ paper_info=dict(
10
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
11
+ 'Wang, Can and Liu, Wentao and '
12
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
13
+ title='Whole-Body Human Pose Estimation in the Wild',
14
+ container='Proceedings of the European '
15
+ 'Conference on Computer Vision (ECCV)',
16
+ year='2020',
17
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
22
+ 1:
23
+ dict(name='thumb1', id=1, color=[255, 128, 0], type='', swap=''),
24
+ 2:
25
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
26
+ 3:
27
+ dict(name='thumb3', id=3, color=[255, 128, 0], type='', swap=''),
28
+ 4:
29
+ dict(name='thumb4', id=4, color=[255, 128, 0], type='', swap=''),
30
+ 5:
31
+ dict(
32
+ name='forefinger1', id=5, color=[255, 153, 255], type='', swap=''),
33
+ 6:
34
+ dict(
35
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
36
+ 7:
37
+ dict(
38
+ name='forefinger3', id=7, color=[255, 153, 255], type='', swap=''),
39
+ 8:
40
+ dict(
41
+ name='forefinger4', id=8, color=[255, 153, 255], type='', swap=''),
42
+ 9:
43
+ dict(
44
+ name='middle_finger1',
45
+ id=9,
46
+ color=[102, 178, 255],
47
+ type='',
48
+ swap=''),
49
+ 10:
50
+ dict(
51
+ name='middle_finger2',
52
+ id=10,
53
+ color=[102, 178, 255],
54
+ type='',
55
+ swap=''),
56
+ 11:
57
+ dict(
58
+ name='middle_finger3',
59
+ id=11,
60
+ color=[102, 178, 255],
61
+ type='',
62
+ swap=''),
63
+ 12:
64
+ dict(
65
+ name='middle_finger4',
66
+ id=12,
67
+ color=[102, 178, 255],
68
+ type='',
69
+ swap=''),
70
+ 13:
71
+ dict(
72
+ name='ring_finger1', id=13, color=[255, 51, 51], type='', swap=''),
73
+ 14:
74
+ dict(
75
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
76
+ 15:
77
+ dict(
78
+ name='ring_finger3', id=15, color=[255, 51, 51], type='', swap=''),
79
+ 16:
80
+ dict(
81
+ name='ring_finger4', id=16, color=[255, 51, 51], type='', swap=''),
82
+ 17:
83
+ dict(name='pinky_finger1', id=17, color=[0, 255, 0], type='', swap=''),
84
+ 18:
85
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
86
+ 19:
87
+ dict(name='pinky_finger3', id=19, color=[0, 255, 0], type='', swap=''),
88
+ 20:
89
+ dict(name='pinky_finger4', id=20, color=[0, 255, 0], type='', swap='')
90
+ },
91
+ skeleton_info={
92
+ 0:
93
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
94
+ 1:
95
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
96
+ 2:
97
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
98
+ 3:
99
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
100
+ 4:
101
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
102
+ 5:
103
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
104
+ 6:
105
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
106
+ 7:
107
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
108
+ 8:
109
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
110
+ 9:
111
+ dict(
112
+ link=('middle_finger1', 'middle_finger2'),
113
+ id=9,
114
+ color=[102, 178, 255]),
115
+ 10:
116
+ dict(
117
+ link=('middle_finger2', 'middle_finger3'),
118
+ id=10,
119
+ color=[102, 178, 255]),
120
+ 11:
121
+ dict(
122
+ link=('middle_finger3', 'middle_finger4'),
123
+ id=11,
124
+ color=[102, 178, 255]),
125
+ 12:
126
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
127
+ 13:
128
+ dict(
129
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
130
+ 14:
131
+ dict(
132
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
133
+ 15:
134
+ dict(
135
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
136
+ 16:
137
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
138
+ 17:
139
+ dict(
140
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
141
+ 18:
142
+ dict(
143
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
144
+ 19:
145
+ dict(
146
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
147
+ },
148
+ joint_weights=[1.] * 21,
149
+ sigmas=[
150
+ 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035, 0.018,
151
+ 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019, 0.022,
152
+ 0.031
153
+ ])
configs/_base_/datasets/coco_wholebody_openpose.py ADDED
@@ -0,0 +1,1034 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='coco_wholebody_openpose',
9
+ paper_info=dict(
10
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
11
+ 'Wang, Can and Liu, Wentao and '
12
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
13
+ title='Whole-Body Human Pose Estimation in the Wild',
14
+ container='Proceedings of the European '
15
+ 'Conference on Computer Vision (ECCV)',
16
+ year='2020',
17
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='nose', id=0, color=[255, 0, 0], type='upper', swap=''),
22
+ 1:
23
+ dict(name='neck', id=1, color=[255, 85, 0], type='upper', swap=''),
24
+ 2:
25
+ dict(
26
+ name='right_shoulder',
27
+ id=2,
28
+ color=[255, 170, 0],
29
+ type='upper',
30
+ swap='left_shoulder'),
31
+ 3:
32
+ dict(
33
+ name='right_elbow',
34
+ id=3,
35
+ color=[255, 255, 0],
36
+ type='upper',
37
+ swap='left_elbow'),
38
+ 4:
39
+ dict(
40
+ name='right_wrist',
41
+ id=4,
42
+ color=[170, 255, 0],
43
+ type='upper',
44
+ swap='left_wrist'),
45
+ 5:
46
+ dict(
47
+ name='left_shoulder',
48
+ id=5,
49
+ color=[85, 255, 0],
50
+ type='upper',
51
+ swap='right_shoulder'),
52
+ 6:
53
+ dict(
54
+ name='left_elbow',
55
+ id=6,
56
+ color=[0, 255, 0],
57
+ type='upper',
58
+ swap='right_elbow'),
59
+ 7:
60
+ dict(
61
+ name='left_wrist',
62
+ id=7,
63
+ color=[0, 255, 85],
64
+ type='upper',
65
+ swap='right_wrist'),
66
+ 8:
67
+ dict(
68
+ name='right_hip',
69
+ id=8,
70
+ color=[0, 255, 170],
71
+ type='lower',
72
+ swap='left_hip'),
73
+ 9:
74
+ dict(
75
+ name='right_knee',
76
+ id=9,
77
+ color=[0, 255, 255],
78
+ type='lower',
79
+ swap='left_knee'),
80
+ 10:
81
+ dict(
82
+ name='right_ankle',
83
+ id=10,
84
+ color=[0, 170, 255],
85
+ type='lower',
86
+ swap='left_ankle'),
87
+ 11:
88
+ dict(
89
+ name='left_hip',
90
+ id=11,
91
+ color=[0, 85, 255],
92
+ type='lower',
93
+ swap='right_hip'),
94
+ 12:
95
+ dict(
96
+ name='left_knee',
97
+ id=12,
98
+ color=[0, 0, 255],
99
+ type='lower',
100
+ swap='right_knee'),
101
+ 13:
102
+ dict(
103
+ name='left_ankle',
104
+ id=13,
105
+ color=[85, 0, 255],
106
+ type='lower',
107
+ swap='right_ankle'),
108
+ 14:
109
+ dict(
110
+ name='right_eye',
111
+ id=14,
112
+ color=[170, 0, 255],
113
+ type='upper',
114
+ swap='left_eye'),
115
+ 15:
116
+ dict(
117
+ name='left_eye',
118
+ id=15,
119
+ color=[255, 0, 255],
120
+ type='upper',
121
+ swap='right_eye'),
122
+ 16:
123
+ dict(
124
+ name='right_ear',
125
+ id=16,
126
+ color=[255, 0, 170],
127
+ type='upper',
128
+ swap='left_ear'),
129
+ 17:
130
+ dict(
131
+ name='left_ear',
132
+ id=17,
133
+ color=[255, 0, 85],
134
+ type='upper',
135
+ swap='right_ear'),
136
+ 18:
137
+ dict(
138
+ name='left_big_toe',
139
+ id=18,
140
+ color=[255, 128, 0],
141
+ type='lower',
142
+ swap='right_big_toe'),
143
+ 19:
144
+ dict(
145
+ name='left_small_toe',
146
+ id=19,
147
+ color=[255, 128, 0],
148
+ type='lower',
149
+ swap='right_small_toe'),
150
+ 20:
151
+ dict(
152
+ name='left_heel',
153
+ id=20,
154
+ color=[255, 128, 0],
155
+ type='lower',
156
+ swap='right_heel'),
157
+ 21:
158
+ dict(
159
+ name='right_big_toe',
160
+ id=21,
161
+ color=[255, 128, 0],
162
+ type='lower',
163
+ swap='left_big_toe'),
164
+ 22:
165
+ dict(
166
+ name='right_small_toe',
167
+ id=22,
168
+ color=[255, 128, 0],
169
+ type='lower',
170
+ swap='left_small_toe'),
171
+ 23:
172
+ dict(
173
+ name='right_heel',
174
+ id=23,
175
+ color=[255, 128, 0],
176
+ type='lower',
177
+ swap='left_heel'),
178
+ 24:
179
+ dict(
180
+ name='face-0',
181
+ id=24,
182
+ color=[255, 255, 255],
183
+ type='',
184
+ swap='face-16'),
185
+ 25:
186
+ dict(
187
+ name='face-1',
188
+ id=25,
189
+ color=[255, 255, 255],
190
+ type='',
191
+ swap='face-15'),
192
+ 26:
193
+ dict(
194
+ name='face-2',
195
+ id=26,
196
+ color=[255, 255, 255],
197
+ type='',
198
+ swap='face-14'),
199
+ 27:
200
+ dict(
201
+ name='face-3',
202
+ id=27,
203
+ color=[255, 255, 255],
204
+ type='',
205
+ swap='face-13'),
206
+ 28:
207
+ dict(
208
+ name='face-4',
209
+ id=28,
210
+ color=[255, 255, 255],
211
+ type='',
212
+ swap='face-12'),
213
+ 29:
214
+ dict(
215
+ name='face-5',
216
+ id=29,
217
+ color=[255, 255, 255],
218
+ type='',
219
+ swap='face-11'),
220
+ 30:
221
+ dict(
222
+ name='face-6',
223
+ id=30,
224
+ color=[255, 255, 255],
225
+ type='',
226
+ swap='face-10'),
227
+ 31:
228
+ dict(
229
+ name='face-7',
230
+ id=31,
231
+ color=[255, 255, 255],
232
+ type='',
233
+ swap='face-9'),
234
+ 32:
235
+ dict(name='face-8', id=32, color=[255, 255, 255], type='', swap=''),
236
+ 33:
237
+ dict(
238
+ name='face-9',
239
+ id=33,
240
+ color=[255, 255, 255],
241
+ type='',
242
+ swap='face-7'),
243
+ 34:
244
+ dict(
245
+ name='face-10',
246
+ id=34,
247
+ color=[255, 255, 255],
248
+ type='',
249
+ swap='face-6'),
250
+ 35:
251
+ dict(
252
+ name='face-11',
253
+ id=35,
254
+ color=[255, 255, 255],
255
+ type='',
256
+ swap='face-5'),
257
+ 36:
258
+ dict(
259
+ name='face-12',
260
+ id=36,
261
+ color=[255, 255, 255],
262
+ type='',
263
+ swap='face-4'),
264
+ 37:
265
+ dict(
266
+ name='face-13',
267
+ id=37,
268
+ color=[255, 255, 255],
269
+ type='',
270
+ swap='face-3'),
271
+ 38:
272
+ dict(
273
+ name='face-14',
274
+ id=38,
275
+ color=[255, 255, 255],
276
+ type='',
277
+ swap='face-2'),
278
+ 39:
279
+ dict(
280
+ name='face-15',
281
+ id=39,
282
+ color=[255, 255, 255],
283
+ type='',
284
+ swap='face-1'),
285
+ 40:
286
+ dict(
287
+ name='face-16',
288
+ id=40,
289
+ color=[255, 255, 255],
290
+ type='',
291
+ swap='face-0'),
292
+ 41:
293
+ dict(
294
+ name='face-17',
295
+ id=41,
296
+ color=[255, 255, 255],
297
+ type='',
298
+ swap='face-26'),
299
+ 42:
300
+ dict(
301
+ name='face-18',
302
+ id=42,
303
+ color=[255, 255, 255],
304
+ type='',
305
+ swap='face-25'),
306
+ 43:
307
+ dict(
308
+ name='face-19',
309
+ id=43,
310
+ color=[255, 255, 255],
311
+ type='',
312
+ swap='face-24'),
313
+ 44:
314
+ dict(
315
+ name='face-20',
316
+ id=44,
317
+ color=[255, 255, 255],
318
+ type='',
319
+ swap='face-23'),
320
+ 45:
321
+ dict(
322
+ name='face-21',
323
+ id=45,
324
+ color=[255, 255, 255],
325
+ type='',
326
+ swap='face-22'),
327
+ 46:
328
+ dict(
329
+ name='face-22',
330
+ id=46,
331
+ color=[255, 255, 255],
332
+ type='',
333
+ swap='face-21'),
334
+ 47:
335
+ dict(
336
+ name='face-23',
337
+ id=47,
338
+ color=[255, 255, 255],
339
+ type='',
340
+ swap='face-20'),
341
+ 48:
342
+ dict(
343
+ name='face-24',
344
+ id=48,
345
+ color=[255, 255, 255],
346
+ type='',
347
+ swap='face-19'),
348
+ 49:
349
+ dict(
350
+ name='face-25',
351
+ id=49,
352
+ color=[255, 255, 255],
353
+ type='',
354
+ swap='face-18'),
355
+ 50:
356
+ dict(
357
+ name='face-26',
358
+ id=50,
359
+ color=[255, 255, 255],
360
+ type='',
361
+ swap='face-17'),
362
+ 51:
363
+ dict(name='face-27', id=51, color=[255, 255, 255], type='', swap=''),
364
+ 52:
365
+ dict(name='face-28', id=52, color=[255, 255, 255], type='', swap=''),
366
+ 53:
367
+ dict(name='face-29', id=53, color=[255, 255, 255], type='', swap=''),
368
+ 54:
369
+ dict(name='face-30', id=54, color=[255, 255, 255], type='', swap=''),
370
+ 55:
371
+ dict(
372
+ name='face-31',
373
+ id=55,
374
+ color=[255, 255, 255],
375
+ type='',
376
+ swap='face-35'),
377
+ 56:
378
+ dict(
379
+ name='face-32',
380
+ id=56,
381
+ color=[255, 255, 255],
382
+ type='',
383
+ swap='face-34'),
384
+ 57:
385
+ dict(name='face-33', id=57, color=[255, 255, 255], type='', swap=''),
386
+ 58:
387
+ dict(
388
+ name='face-34',
389
+ id=58,
390
+ color=[255, 255, 255],
391
+ type='',
392
+ swap='face-32'),
393
+ 59:
394
+ dict(
395
+ name='face-35',
396
+ id=59,
397
+ color=[255, 255, 255],
398
+ type='',
399
+ swap='face-31'),
400
+ 60:
401
+ dict(
402
+ name='face-36',
403
+ id=60,
404
+ color=[255, 255, 255],
405
+ type='',
406
+ swap='face-45'),
407
+ 61:
408
+ dict(
409
+ name='face-37',
410
+ id=61,
411
+ color=[255, 255, 255],
412
+ type='',
413
+ swap='face-44'),
414
+ 62:
415
+ dict(
416
+ name='face-38',
417
+ id=62,
418
+ color=[255, 255, 255],
419
+ type='',
420
+ swap='face-43'),
421
+ 63:
422
+ dict(
423
+ name='face-39',
424
+ id=63,
425
+ color=[255, 255, 255],
426
+ type='',
427
+ swap='face-42'),
428
+ 64:
429
+ dict(
430
+ name='face-40',
431
+ id=64,
432
+ color=[255, 255, 255],
433
+ type='',
434
+ swap='face-47'),
435
+ 65:
436
+ dict(
437
+ name='face-41',
438
+ id=65,
439
+ color=[255, 255, 255],
440
+ type='',
441
+ swap='face-46'),
442
+ 66:
443
+ dict(
444
+ name='face-42',
445
+ id=66,
446
+ color=[255, 255, 255],
447
+ type='',
448
+ swap='face-39'),
449
+ 67:
450
+ dict(
451
+ name='face-43',
452
+ id=67,
453
+ color=[255, 255, 255],
454
+ type='',
455
+ swap='face-38'),
456
+ 68:
457
+ dict(
458
+ name='face-44',
459
+ id=68,
460
+ color=[255, 255, 255],
461
+ type='',
462
+ swap='face-37'),
463
+ 69:
464
+ dict(
465
+ name='face-45',
466
+ id=69,
467
+ color=[255, 255, 255],
468
+ type='',
469
+ swap='face-36'),
470
+ 70:
471
+ dict(
472
+ name='face-46',
473
+ id=70,
474
+ color=[255, 255, 255],
475
+ type='',
476
+ swap='face-41'),
477
+ 71:
478
+ dict(
479
+ name='face-47',
480
+ id=71,
481
+ color=[255, 255, 255],
482
+ type='',
483
+ swap='face-40'),
484
+ 72:
485
+ dict(
486
+ name='face-48',
487
+ id=72,
488
+ color=[255, 255, 255],
489
+ type='',
490
+ swap='face-54'),
491
+ 73:
492
+ dict(
493
+ name='face-49',
494
+ id=73,
495
+ color=[255, 255, 255],
496
+ type='',
497
+ swap='face-53'),
498
+ 74:
499
+ dict(
500
+ name='face-50',
501
+ id=74,
502
+ color=[255, 255, 255],
503
+ type='',
504
+ swap='face-52'),
505
+ 75:
506
+ dict(name='face-51', id=75, color=[255, 255, 255], type='', swap=''),
507
+ 76:
508
+ dict(
509
+ name='face-52',
510
+ id=76,
511
+ color=[255, 255, 255],
512
+ type='',
513
+ swap='face-50'),
514
+ 77:
515
+ dict(
516
+ name='face-53',
517
+ id=77,
518
+ color=[255, 255, 255],
519
+ type='',
520
+ swap='face-49'),
521
+ 78:
522
+ dict(
523
+ name='face-54',
524
+ id=78,
525
+ color=[255, 255, 255],
526
+ type='',
527
+ swap='face-48'),
528
+ 79:
529
+ dict(
530
+ name='face-55',
531
+ id=79,
532
+ color=[255, 255, 255],
533
+ type='',
534
+ swap='face-59'),
535
+ 80:
536
+ dict(
537
+ name='face-56',
538
+ id=80,
539
+ color=[255, 255, 255],
540
+ type='',
541
+ swap='face-58'),
542
+ 81:
543
+ dict(name='face-57', id=81, color=[255, 255, 255], type='', swap=''),
544
+ 82:
545
+ dict(
546
+ name='face-58',
547
+ id=82,
548
+ color=[255, 255, 255],
549
+ type='',
550
+ swap='face-56'),
551
+ 83:
552
+ dict(
553
+ name='face-59',
554
+ id=83,
555
+ color=[255, 255, 255],
556
+ type='',
557
+ swap='face-55'),
558
+ 84:
559
+ dict(
560
+ name='face-60',
561
+ id=84,
562
+ color=[255, 255, 255],
563
+ type='',
564
+ swap='face-64'),
565
+ 85:
566
+ dict(
567
+ name='face-61',
568
+ id=85,
569
+ color=[255, 255, 255],
570
+ type='',
571
+ swap='face-63'),
572
+ 86:
573
+ dict(name='face-62', id=86, color=[255, 255, 255], type='', swap=''),
574
+ 87:
575
+ dict(
576
+ name='face-63',
577
+ id=87,
578
+ color=[255, 255, 255],
579
+ type='',
580
+ swap='face-61'),
581
+ 88:
582
+ dict(
583
+ name='face-64',
584
+ id=88,
585
+ color=[255, 255, 255],
586
+ type='',
587
+ swap='face-60'),
588
+ 89:
589
+ dict(
590
+ name='face-65',
591
+ id=89,
592
+ color=[255, 255, 255],
593
+ type='',
594
+ swap='face-67'),
595
+ 90:
596
+ dict(name='face-66', id=90, color=[255, 255, 255], type='', swap=''),
597
+ 91:
598
+ dict(
599
+ name='face-67',
600
+ id=91,
601
+ color=[255, 255, 255],
602
+ type='',
603
+ swap='face-65'),
604
+ 92:
605
+ dict(
606
+ name='left_hand_root',
607
+ id=92,
608
+ color=[255, 255, 255],
609
+ type='',
610
+ swap='right_hand_root'),
611
+ 93:
612
+ dict(
613
+ name='left_thumb1',
614
+ id=93,
615
+ color=[255, 128, 0],
616
+ type='',
617
+ swap='right_thumb1'),
618
+ 94:
619
+ dict(
620
+ name='left_thumb2',
621
+ id=94,
622
+ color=[255, 128, 0],
623
+ type='',
624
+ swap='right_thumb2'),
625
+ 95:
626
+ dict(
627
+ name='left_thumb3',
628
+ id=95,
629
+ color=[255, 128, 0],
630
+ type='',
631
+ swap='right_thumb3'),
632
+ 96:
633
+ dict(
634
+ name='left_thumb4',
635
+ id=96,
636
+ color=[255, 128, 0],
637
+ type='',
638
+ swap='right_thumb4'),
639
+ 97:
640
+ dict(
641
+ name='left_forefinger1',
642
+ id=97,
643
+ color=[255, 153, 255],
644
+ type='',
645
+ swap='right_forefinger1'),
646
+ 98:
647
+ dict(
648
+ name='left_forefinger2',
649
+ id=98,
650
+ color=[255, 153, 255],
651
+ type='',
652
+ swap='right_forefinger2'),
653
+ 99:
654
+ dict(
655
+ name='left_forefinger3',
656
+ id=99,
657
+ color=[255, 153, 255],
658
+ type='',
659
+ swap='right_forefinger3'),
660
+ 100:
661
+ dict(
662
+ name='left_forefinger4',
663
+ id=100,
664
+ color=[255, 153, 255],
665
+ type='',
666
+ swap='right_forefinger4'),
667
+ 101:
668
+ dict(
669
+ name='left_middle_finger1',
670
+ id=101,
671
+ color=[102, 178, 255],
672
+ type='',
673
+ swap='right_middle_finger1'),
674
+ 102:
675
+ dict(
676
+ name='left_middle_finger2',
677
+ id=102,
678
+ color=[102, 178, 255],
679
+ type='',
680
+ swap='right_middle_finger2'),
681
+ 103:
682
+ dict(
683
+ name='left_middle_finger3',
684
+ id=103,
685
+ color=[102, 178, 255],
686
+ type='',
687
+ swap='right_middle_finger3'),
688
+ 104:
689
+ dict(
690
+ name='left_middle_finger4',
691
+ id=104,
692
+ color=[102, 178, 255],
693
+ type='',
694
+ swap='right_middle_finger4'),
695
+ 105:
696
+ dict(
697
+ name='left_ring_finger1',
698
+ id=105,
699
+ color=[255, 51, 51],
700
+ type='',
701
+ swap='right_ring_finger1'),
702
+ 106:
703
+ dict(
704
+ name='left_ring_finger2',
705
+ id=106,
706
+ color=[255, 51, 51],
707
+ type='',
708
+ swap='right_ring_finger2'),
709
+ 107:
710
+ dict(
711
+ name='left_ring_finger3',
712
+ id=107,
713
+ color=[255, 51, 51],
714
+ type='',
715
+ swap='right_ring_finger3'),
716
+ 108:
717
+ dict(
718
+ name='left_ring_finger4',
719
+ id=108,
720
+ color=[255, 51, 51],
721
+ type='',
722
+ swap='right_ring_finger4'),
723
+ 109:
724
+ dict(
725
+ name='left_pinky_finger1',
726
+ id=109,
727
+ color=[0, 255, 0],
728
+ type='',
729
+ swap='right_pinky_finger1'),
730
+ 110:
731
+ dict(
732
+ name='left_pinky_finger2',
733
+ id=110,
734
+ color=[0, 255, 0],
735
+ type='',
736
+ swap='right_pinky_finger2'),
737
+ 111:
738
+ dict(
739
+ name='left_pinky_finger3',
740
+ id=111,
741
+ color=[0, 255, 0],
742
+ type='',
743
+ swap='right_pinky_finger3'),
744
+
745
+ 112:
746
+ dict(
747
+ name='left_pinky_finger4',
748
+ id=112,
749
+ color=[0, 255, 0],
750
+ type='',
751
+ swap='right_pinky_finger4'),
752
+ 113:
753
+ dict(
754
+ name='right_hand_root',
755
+ id=113,
756
+ color=[255, 255, 255],
757
+ type='',
758
+ swap='left_hand_root'),
759
+ 114:
760
+ dict(
761
+ name='right_thumb1',
762
+ id=114,
763
+ color=[255, 128, 0],
764
+ type='',
765
+ swap='left_thumb1'),
766
+ 115:
767
+ dict(
768
+ name='right_thumb2',
769
+ id=115,
770
+ color=[255, 128, 0],
771
+ type='',
772
+ swap='left_thumb2'),
773
+ 116:
774
+ dict(
775
+ name='right_thumb3',
776
+ id=116,
777
+ color=[255, 128, 0],
778
+ type='',
779
+ swap='left_thumb3'),
780
+ 117:
781
+ dict(
782
+ name='right_thumb4',
783
+ id=117,
784
+ color=[255, 128, 0],
785
+ type='',
786
+ swap='left_thumb4'),
787
+ 118:
788
+ dict(
789
+ name='right_forefinger1',
790
+ id=118,
791
+ color=[255, 153, 255],
792
+ type='',
793
+ swap='left_forefinger1'),
794
+ 119:
795
+ dict(
796
+ name='right_forefinger2',
797
+ id=119,
798
+ color=[255, 153, 255],
799
+ type='',
800
+ swap='left_forefinger2'),
801
+ 120:
802
+ dict(
803
+ name='right_forefinger3',
804
+ id=120,
805
+ color=[255, 153, 255],
806
+ type='',
807
+ swap='left_forefinger3'),
808
+ 121:
809
+ dict(
810
+ name='right_forefinger4',
811
+ id=121,
812
+ color=[255, 153, 255],
813
+ type='',
814
+ swap='left_forefinger4'),
815
+ 122:
816
+ dict(
817
+ name='right_middle_finger1',
818
+ id=122,
819
+ color=[102, 178, 255],
820
+ type='',
821
+ swap='left_middle_finger1'),
822
+ 123:
823
+ dict(
824
+ name='right_middle_finger2',
825
+ id=123,
826
+ color=[102, 178, 255],
827
+ type='',
828
+ swap='left_middle_finger2'),
829
+ 124:
830
+ dict(
831
+ name='right_middle_finger3',
832
+ id=124,
833
+ color=[102, 178, 255],
834
+ type='',
835
+ swap='left_middle_finger3'),
836
+ 125:
837
+ dict(
838
+ name='right_middle_finger4',
839
+ id=125,
840
+ color=[102, 178, 255],
841
+ type='',
842
+ swap='left_middle_finger4'),
843
+ 126:
844
+ dict(
845
+ name='right_ring_finger1',
846
+ id=126,
847
+ color=[255, 51, 51],
848
+ type='',
849
+ swap='left_ring_finger1'),
850
+ 127:
851
+ dict(
852
+ name='right_ring_finger2',
853
+ id=127,
854
+ color=[255, 51, 51],
855
+ type='',
856
+ swap='left_ring_finger2'),
857
+ 128:
858
+ dict(
859
+ name='right_ring_finger3',
860
+ id=128,
861
+ color=[255, 51, 51],
862
+ type='',
863
+ swap='left_ring_finger3'),
864
+ 129:
865
+ dict(
866
+ name='right_ring_finger4',
867
+ id=129,
868
+ color=[255, 51, 51],
869
+ type='',
870
+ swap='left_ring_finger4'),
871
+ 130:
872
+ dict(
873
+ name='right_pinky_finger1',
874
+ id=130,
875
+ color=[0, 255, 0],
876
+ type='',
877
+ swap='left_pinky_finger1'),
878
+ 131:
879
+ dict(
880
+ name='right_pinky_finger2',
881
+ id=131,
882
+ color=[0, 255, 0],
883
+ type='',
884
+ swap='left_pinky_finger2'),
885
+ 132:
886
+ dict(
887
+ name='right_pinky_finger3',
888
+ id=132,
889
+ color=[0, 255, 0],
890
+ type='',
891
+ swap='left_pinky_finger3'),
892
+ 133:
893
+ dict(
894
+ name='right_pinky_finger4',
895
+ id=133,
896
+ color=[0, 255, 0],
897
+ type='',
898
+ swap='left_pinky_finger4'),
899
+ },
900
+ skeleton_info={
901
+ 0: dict(link=('neck', 'right_shoulder'), id=0, color=[255, 0, 0]),
902
+ 1: dict(link=('neck', 'left_shoulder'), id=1, color=[255, 85, 0]),
903
+ 2: dict(
904
+ link=('right_shoulder', 'right_elbow'), id=2, color=[255, 170, 0]),
905
+ 3:
906
+ dict(link=('right_elbow', 'right_wrist'), id=3, color=[255, 255, 0]),
907
+ 4:
908
+ dict(link=('left_shoulder', 'left_elbow'), id=4, color=[170, 255, 0]),
909
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[85, 255, 0]),
910
+ 6: dict(link=('neck', 'right_hip'), id=6, color=[0, 255, 0]),
911
+ 7: dict(link=('right_hip', 'right_knee'), id=7, color=[0, 255, 85]),
912
+ 8: dict(link=('right_knee', 'right_ankle'), id=8, color=[0, 255, 170]),
913
+ 9: dict(link=('neck', 'left_hip'), id=9, color=[0, 255, 225]),
914
+ 10: dict(link=('left_hip', 'left_knee'), id=10, color=[0, 170, 255]),
915
+ 11: dict(link=('left_knee', 'left_ankle'), id=11, color=[0, 85, 255]),
916
+ 12: dict(link=('neck', 'nose'), id=12, color=[0, 0, 255]),
917
+ 13: dict(link=('nose', 'right_eye'), id=13, color=[255, 0, 170]),
918
+ 14: dict(link=('right_eye', 'right_ear'), id=14, color=[170, 0, 255]),
919
+ 15: dict(link=('nose', 'left_eye'), id=15, color=[255, 0, 255]),
920
+ 16: dict(link=('left_eye', 'left_ear'), id=16, color=[255, 0, 170]),
921
+ 17:
922
+ dict(link=('left_ankle', 'left_big_toe'), id=17, color=[0, 255, 0]),
923
+ 18:
924
+ dict(link=('left_ankle', 'left_small_toe'), id=18, color=[0, 255, 0]),
925
+ 19:
926
+ dict(link=('left_ankle', 'left_heel'), id=19, color=[0, 255, 0]),
927
+ 20:
928
+ dict(link=('right_ankle', 'right_big_toe'), id=20, color=[255, 128, 0]),
929
+ 21:
930
+ dict(link=('right_ankle', 'right_small_toe'), id=21, color=[255, 128, 0]),
931
+ 22:
932
+ dict(link=('right_ankle', 'right_heel'), id=22, color=[255, 128, 0]),
933
+ 23:
934
+ dict(link=('left_hand_root', 'left_thumb1'), id=23, color=[255, 128, 0]),
935
+ 24:
936
+ dict(link=('left_thumb1', 'left_thumb2'), id=24, color=[255, 128, 0]),
937
+ 25:
938
+ dict(link=('left_thumb2', 'left_thumb3'), id=25, color=[255, 128, 0]),
939
+ 26:
940
+ dict(link=('left_thumb3', 'left_thumb4'), id=26, color=[255, 128, 0]),
941
+ 27:
942
+ dict(link=('left_hand_root', 'left_forefinger1'), id=27, color=[255, 153, 255]),
943
+ 28:
944
+ dict(link=('left_forefinger1', 'left_forefinger2'), id=28, color=[255, 153, 255]),
945
+ 29:
946
+ dict(link=('left_forefinger2', 'left_forefinger3'), id=29, color=[255, 153, 255]),
947
+ 30:
948
+ dict(link=('left_forefinger3', 'left_forefinger4'), id=30, color=[255, 153, 255]),
949
+ 31:
950
+ dict(link=('left_hand_root', 'left_middle_finger1'), id=31, color=[102, 178, 255]),
951
+ 32:
952
+ dict(link=('left_middle_finger1', 'left_middle_finger2'), id=32, color=[102, 178, 255]),
953
+ 33:
954
+ dict(link=('left_middle_finger2', 'left_middle_finger3'), id=33, color=[102, 178, 255]),
955
+ 34:
956
+ dict(link=('left_middle_finger3', 'left_middle_finger4'), id=34, color=[102, 178, 255]),
957
+ 35:
958
+ dict(link=('left_hand_root', 'left_ring_finger1'), id=35, color=[255, 51, 51]),
959
+ 36:
960
+ dict(link=('left_ring_finger1', 'left_ring_finger2'), id=36, color=[255, 51, 51]),
961
+ 37:
962
+ dict(link=('left_ring_finger2', 'left_ring_finger3'), id=37, color=[255, 51, 51]),
963
+ 38:
964
+ dict(link=('left_ring_finger3', 'left_ring_finger4'), id=38, color=[255, 51, 51]),
965
+ 39:
966
+ dict(link=('left_hand_root', 'left_pinky_finger1'), id=39, color=[0, 255, 0]),
967
+ 40:
968
+ dict(link=('left_pinky_finger1', 'left_pinky_finger2'), id=40, color=[0, 255, 0]),
969
+ 41:
970
+ dict(link=('left_pinky_finger2', 'left_pinky_finger3'), id=41, color=[0, 255, 0]),
971
+ 42:
972
+ dict(link=('left_pinky_finger3', 'left_pinky_finger4'), id=42, color=[0, 255, 0]),
973
+ 43:
974
+ dict(link=('right_hand_root', 'right_thumb1'), id=43, color=[255, 128, 0]),
975
+ 44:
976
+ dict(link=('right_thumb1', 'right_thumb2'), id=44, color=[255, 128, 0]),
977
+ 45:
978
+ dict(link=('right_thumb2', 'right_thumb3'), id=45, color=[255, 128, 0]),
979
+ 46:
980
+ dict(link=('right_thumb3', 'right_thumb4'), id=46, color=[255, 128, 0]),
981
+ 47:
982
+ dict(link=('right_hand_root', 'right_forefinger1'), id=47, color=[255, 153, 255]),
983
+ 48:
984
+ dict(link=('right_forefinger1', 'right_forefinger2'), id=48, color=[255, 153, 255]),
985
+ 49:
986
+ dict(link=('right_forefinger2', 'right_forefinger3'), id=49, color=[255, 153, 255]),
987
+ 50:
988
+ dict(link=('right_forefinger3', 'right_forefinger4'), id=50, color=[255, 153, 255]),
989
+ 51:
990
+ dict(link=('right_hand_root', 'right_middle_finger1'), id=51, color=[102, 178, 255]),
991
+ 52:
992
+ dict(link=('right_middle_finger1', 'right_middle_finger2'), id=52, color=[102, 178, 255]),
993
+ 53:
994
+ dict(link=('right_middle_finger2', 'right_middle_finger3'), id=53, color=[102, 178, 255]),
995
+ 54:
996
+ dict(link=('right_middle_finger3', 'right_middle_finger4'), id=54, color=[102, 178, 255]),
997
+ 55:
998
+ dict(link=('right_hand_root', 'right_ring_finger1'), id=55, color=[255, 51, 51]),
999
+ 56:
1000
+ dict(link=('right_ring_finger1', 'right_ring_finger2'), id=56, color=[255, 51, 51]),
1001
+ 57:
1002
+ dict(link=('right_ring_finger2', 'right_ring_finger3'), id=57, color=[255, 51, 51]),
1003
+ 58:
1004
+ dict(link=('right_ring_finger3', 'right_ring_finger4'), id=58, color=[255, 51, 51]),
1005
+ 59:
1006
+ dict(link=('right_hand_root', 'right_pinky_finger1'), id=59, color=[0, 255, 0]),
1007
+ 60:
1008
+ dict(link=('right_pinky_finger1', 'right_pinky_finger2'), id=60, color=[0, 255, 0]),
1009
+ 61:
1010
+ dict(link=('right_pinky_finger2', 'right_pinky_finger3'), id=61, color=[0, 255, 0]),
1011
+ 62:
1012
+ dict(link=('right_pinky_finger3', 'right_pinky_finger4'), id=62, color=[0, 255, 0])
1013
+
1014
+ },
1015
+ joint_weights=[1.] * 134,
1016
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
1017
+ # 'evaluation/myeval_wholebody.py#L175'
1018
+ sigmas=[
1019
+ 0.025,
1020
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1021
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.068, 0.066, 0.066,
1022
+ 0.092, 0.094, 0.094, 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031,
1023
+ 0.025, 0.020, 0.023, 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045,
1024
+ 0.013, 0.012, 0.011, 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015,
1025
+ 0.009, 0.007, 0.007, 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017,
1026
+ 0.011, 0.009, 0.011, 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010,
1027
+ 0.034, 0.008, 0.008, 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009,
1028
+ 0.009, 0.009, 0.007, 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01,
1029
+ 0.008, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035,
1030
+ 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019,
1031
+ 0.022, 0.031, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024,
1032
+ 0.035, 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02,
1033
+ 0.019, 0.022, 0.031
1034
+ ])
configs/_base_/datasets/cofw.py ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='cofw',
9
+ paper_info=dict(
10
+ author='Burgos-Artizzu, Xavier P and Perona, '
11
+ r'Pietro and Doll{\'a}r, Piotr',
12
+ title='Robust face landmark estimation under occlusion',
13
+ container='Proceedings of the IEEE international '
14
+ 'conference on computer vision',
15
+ year='2013',
16
+ homepage='http://www.vision.caltech.edu/xpburgos/ICCV13/',
17
+ ),
18
+ keypoint_info={
19
+ 0: dict(name='kpt-0', id=0, color=[255, 0, 0], type='', swap='kpt-1'),
20
+ 1: dict(name='kpt-1', id=1, color=[255, 0, 0], type='', swap='kpt-0'),
21
+ 2: dict(name='kpt-2', id=2, color=[255, 0, 0], type='', swap='kpt-3'),
22
+ 3: dict(name='kpt-3', id=3, color=[255, 0, 0], type='', swap='kpt-2'),
23
+ 4: dict(name='kpt-4', id=4, color=[255, 0, 0], type='', swap='kpt-6'),
24
+ 5: dict(name='kpt-5', id=5, color=[255, 0, 0], type='', swap='kpt-7'),
25
+ 6: dict(name='kpt-6', id=6, color=[255, 0, 0], type='', swap='kpt-4'),
26
+ 7: dict(name='kpt-7', id=7, color=[255, 0, 0], type='', swap='kpt-5'),
27
+ 8: dict(name='kpt-8', id=8, color=[255, 0, 0], type='', swap='kpt-9'),
28
+ 9: dict(name='kpt-9', id=9, color=[255, 0, 0], type='', swap='kpt-8'),
29
+ 10:
30
+ dict(name='kpt-10', id=10, color=[255, 0, 0], type='', swap='kpt-11'),
31
+ 11:
32
+ dict(name='kpt-11', id=11, color=[255, 0, 0], type='', swap='kpt-10'),
33
+ 12:
34
+ dict(name='kpt-12', id=12, color=[255, 0, 0], type='', swap='kpt-14'),
35
+ 13:
36
+ dict(name='kpt-13', id=13, color=[255, 0, 0], type='', swap='kpt-15'),
37
+ 14:
38
+ dict(name='kpt-14', id=14, color=[255, 0, 0], type='', swap='kpt-12'),
39
+ 15:
40
+ dict(name='kpt-15', id=15, color=[255, 0, 0], type='', swap='kpt-13'),
41
+ 16:
42
+ dict(name='kpt-16', id=16, color=[255, 0, 0], type='', swap='kpt-17'),
43
+ 17:
44
+ dict(name='kpt-17', id=17, color=[255, 0, 0], type='', swap='kpt-16'),
45
+ 18:
46
+ dict(name='kpt-18', id=18, color=[255, 0, 0], type='', swap='kpt-19'),
47
+ 19:
48
+ dict(name='kpt-19', id=19, color=[255, 0, 0], type='', swap='kpt-18'),
49
+ 20: dict(name='kpt-20', id=20, color=[255, 0, 0], type='', swap=''),
50
+ 21: dict(name='kpt-21', id=21, color=[255, 0, 0], type='', swap=''),
51
+ 22:
52
+ dict(name='kpt-22', id=22, color=[255, 0, 0], type='', swap='kpt-23'),
53
+ 23:
54
+ dict(name='kpt-23', id=23, color=[255, 0, 0], type='', swap='kpt-22'),
55
+ 24: dict(name='kpt-24', id=24, color=[255, 0, 0], type='', swap=''),
56
+ 25: dict(name='kpt-25', id=25, color=[255, 0, 0], type='', swap=''),
57
+ 26: dict(name='kpt-26', id=26, color=[255, 0, 0], type='', swap=''),
58
+ 27: dict(name='kpt-27', id=27, color=[255, 0, 0], type='', swap=''),
59
+ 28: dict(name='kpt-28', id=28, color=[255, 0, 0], type='', swap='')
60
+ },
61
+ skeleton_info={},
62
+ joint_weights=[1.] * 29,
63
+ sigmas=[])
configs/_base_/datasets/crowdpose.py ADDED
@@ -0,0 +1,153 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='crowdpose',
9
+ paper_info=dict(
10
+ author='Li, Jiefeng and Wang, Can and Zhu, Hao and '
11
+ 'Mao, Yihuan and Fang, Hao-Shu and Lu, Cewu',
12
+ title='CrowdPose: Efficient Crowded Scenes Pose Estimation '
13
+ 'and A New Benchmark',
14
+ container='Proceedings of IEEE Conference on Computer '
15
+ 'Vision and Pattern Recognition (CVPR)',
16
+ year='2019',
17
+ homepage='https://github.com/Jeff-sjtu/CrowdPose',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(
22
+ name='left_shoulder',
23
+ id=0,
24
+ color=[51, 153, 255],
25
+ type='upper',
26
+ swap='right_shoulder'),
27
+ 1:
28
+ dict(
29
+ name='right_shoulder',
30
+ id=1,
31
+ color=[51, 153, 255],
32
+ type='upper',
33
+ swap='left_shoulder'),
34
+ 2:
35
+ dict(
36
+ name='left_elbow',
37
+ id=2,
38
+ color=[51, 153, 255],
39
+ type='upper',
40
+ swap='right_elbow'),
41
+ 3:
42
+ dict(
43
+ name='right_elbow',
44
+ id=3,
45
+ color=[51, 153, 255],
46
+ type='upper',
47
+ swap='left_elbow'),
48
+ 4:
49
+ dict(
50
+ name='left_wrist',
51
+ id=4,
52
+ color=[51, 153, 255],
53
+ type='upper',
54
+ swap='right_wrist'),
55
+ 5:
56
+ dict(
57
+ name='right_wrist',
58
+ id=5,
59
+ color=[0, 255, 0],
60
+ type='upper',
61
+ swap='left_wrist'),
62
+ 6:
63
+ dict(
64
+ name='left_hip',
65
+ id=6,
66
+ color=[255, 128, 0],
67
+ type='lower',
68
+ swap='right_hip'),
69
+ 7:
70
+ dict(
71
+ name='right_hip',
72
+ id=7,
73
+ color=[0, 255, 0],
74
+ type='lower',
75
+ swap='left_hip'),
76
+ 8:
77
+ dict(
78
+ name='left_knee',
79
+ id=8,
80
+ color=[255, 128, 0],
81
+ type='lower',
82
+ swap='right_knee'),
83
+ 9:
84
+ dict(
85
+ name='right_knee',
86
+ id=9,
87
+ color=[0, 255, 0],
88
+ type='lower',
89
+ swap='left_knee'),
90
+ 10:
91
+ dict(
92
+ name='left_ankle',
93
+ id=10,
94
+ color=[255, 128, 0],
95
+ type='lower',
96
+ swap='right_ankle'),
97
+ 11:
98
+ dict(
99
+ name='right_ankle',
100
+ id=11,
101
+ color=[0, 255, 0],
102
+ type='lower',
103
+ swap='left_ankle'),
104
+ 12:
105
+ dict(
106
+ name='top_head', id=12, color=[255, 128, 0], type='upper',
107
+ swap=''),
108
+ 13:
109
+ dict(name='neck', id=13, color=[0, 255, 0], type='upper', swap='')
110
+ },
111
+ skeleton_info={
112
+ 0:
113
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
114
+ 1:
115
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
116
+ 2:
117
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
118
+ 3:
119
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
120
+ 4:
121
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
122
+ 5:
123
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
124
+ 6:
125
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
126
+ 7:
127
+ dict(
128
+ link=('left_shoulder', 'right_shoulder'),
129
+ id=7,
130
+ color=[51, 153, 255]),
131
+ 8:
132
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
133
+ 9:
134
+ dict(
135
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
136
+ 10:
137
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
138
+ 11:
139
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
140
+ 12:
141
+ dict(link=('top_head', 'neck'), id=12, color=[51, 153, 255]),
142
+ 13:
143
+ dict(link=('right_shoulder', 'neck'), id=13, color=[51, 153, 255]),
144
+ 14:
145
+ dict(link=('left_shoulder', 'neck'), id=14, color=[51, 153, 255])
146
+ },
147
+ joint_weights=[
148
+ 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
149
+ ],
150
+ sigmas=[
151
+ 0.079, 0.079, 0.072, 0.072, 0.062, 0.062, 0.107, 0.107, 0.087, 0.087,
152
+ 0.089, 0.089, 0.079, 0.079
153
+ ])
configs/_base_/datasets/crowdpose2coco.py ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='crowdpose2coco',
9
+ paper_info=dict(
10
+ author='Lin, Tsung-Yi and Maire, Michael and '
11
+ 'Belongie, Serge and Hays, James and '
12
+ 'Perona, Pietro and Ramanan, Deva and '
13
+ r'Doll{\'a}r, Piotr and Zitnick, C Lawrence',
14
+ title='Microsoft coco: Common objects in context',
15
+ container='European conference on computer vision',
16
+ year='2014',
17
+ homepage='http://cocodataset.org/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
22
+ 1:
23
+ dict(
24
+ name='left_eye',
25
+ id=1,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='right_eye'),
29
+ 2:
30
+ dict(
31
+ name='right_eye',
32
+ id=2,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='left_eye'),
36
+ 3:
37
+ dict(
38
+ name='left_ear',
39
+ id=3,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='right_ear'),
43
+ 4:
44
+ dict(
45
+ name='right_ear',
46
+ id=4,
47
+ color=[51, 153, 255],
48
+ type='upper',
49
+ swap='left_ear'),
50
+ 5:
51
+ dict(
52
+ name='left_shoulder',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_shoulder'),
57
+ 6:
58
+ dict(
59
+ name='right_shoulder',
60
+ id=6,
61
+ color=[255, 128, 0],
62
+ type='upper',
63
+ swap='left_shoulder'),
64
+ 7:
65
+ dict(
66
+ name='left_elbow',
67
+ id=7,
68
+ color=[0, 255, 0],
69
+ type='upper',
70
+ swap='right_elbow'),
71
+ 8:
72
+ dict(
73
+ name='right_elbow',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_elbow'),
78
+ 9:
79
+ dict(
80
+ name='left_wrist',
81
+ id=9,
82
+ color=[0, 255, 0],
83
+ type='upper',
84
+ swap='right_wrist'),
85
+ 10:
86
+ dict(
87
+ name='right_wrist',
88
+ id=10,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_wrist'),
92
+ 11:
93
+ dict(
94
+ name='left_hip',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_hip'),
99
+ 12:
100
+ dict(
101
+ name='right_hip',
102
+ id=12,
103
+ color=[255, 128, 0],
104
+ type='lower',
105
+ swap='left_hip'),
106
+ 13:
107
+ dict(
108
+ name='left_knee',
109
+ id=13,
110
+ color=[0, 255, 0],
111
+ type='lower',
112
+ swap='right_knee'),
113
+ 14:
114
+ dict(
115
+ name='right_knee',
116
+ id=14,
117
+ color=[255, 128, 0],
118
+ type='lower',
119
+ swap='left_knee'),
120
+ 15:
121
+ dict(
122
+ name='left_ankle',
123
+ id=15,
124
+ color=[0, 255, 0],
125
+ type='lower',
126
+ swap='right_ankle'),
127
+ 16:
128
+ dict(
129
+ name='right_ankle',
130
+ id=16,
131
+ color=[255, 128, 0],
132
+ type='lower',
133
+ swap='left_ankle')
134
+ },
135
+ skeleton_info={
136
+ 0:
137
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
138
+ 1:
139
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
140
+ 2:
141
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
142
+ 3:
143
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
144
+ 4:
145
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
146
+ 5:
147
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
148
+ 6:
149
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
150
+ 7:
151
+ dict(
152
+ link=('left_shoulder', 'right_shoulder'),
153
+ id=7,
154
+ color=[51, 153, 255]),
155
+ 8:
156
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
157
+ 9:
158
+ dict(
159
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
160
+ 10:
161
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
162
+ 11:
163
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
164
+ 12:
165
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
166
+ 13:
167
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
168
+ 14:
169
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
170
+ 15:
171
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
172
+ 16:
173
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
174
+ 17:
175
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
176
+ 18:
177
+ dict(
178
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
179
+ },
180
+ joint_weights=[
181
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
182
+ 1.5
183
+ ],
184
+ sigmas=[
185
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
186
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
187
+ ])
configs/_base_/datasets/crowdpose2goliath.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ from configs._base_.datasets.goliath import dataset_info as goliath_info
8
+
9
+ goliath_info = goliath_info.build()
10
+ dataset_info = goliath_info.copy()
11
+ dataset_info['dataset_name'] = 'crowdpose2goliath'
configs/_base_/datasets/crowdpose2goliath3d.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ from configs._base_.datasets.goliath3d import dataset_info as goliath_info
8
+
9
+ goliath_info = goliath_info.build()
10
+ dataset_info = goliath_info.copy()
11
+ dataset_info['dataset_name'] = 'crowdpose2goliath3d'
configs/_base_/datasets/deepfashion2.py ADDED
@@ -0,0 +1,2666 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ colors = dict(
8
+ sss=[255, 128, 0], # short_sleeve_shirt
9
+ lss=[255, 0, 128], # long_sleeved_shirt
10
+ sso=[128, 0, 255], # short_sleeved_outwear
11
+ lso=[0, 128, 255], # long_sleeved_outwear
12
+ vest=[0, 128, 128], # vest
13
+ sling=[0, 0, 128], # sling
14
+ shorts=[128, 128, 128], # shorts
15
+ trousers=[128, 0, 128], # trousers
16
+ skirt=[64, 128, 128], # skirt
17
+ ssd=[64, 64, 128], # short_sleeved_dress
18
+ lsd=[128, 64, 0], # long_sleeved_dress
19
+ vd=[128, 64, 255], # vest_dress
20
+ sd=[128, 64, 0], # sling_dress
21
+ )
22
+ dataset_info = dict(
23
+ dataset_name='deepfashion2',
24
+ paper_info=dict(
25
+ author='Yuying Ge and Ruimao Zhang and Lingyun Wu '
26
+ 'and Xiaogang Wang and Xiaoou Tang and Ping Luo',
27
+ title='DeepFashion2: A Versatile Benchmark for '
28
+ 'Detection, Pose Estimation, Segmentation and '
29
+ 'Re-Identification of Clothing Images',
30
+ container='Proceedings of IEEE Conference on Computer '
31
+ 'Vision and Pattern Recognition (CVPR)',
32
+ year='2019',
33
+ homepage='https://github.com/switchablenorms/DeepFashion2',
34
+ ),
35
+ keypoint_info={
36
+ # short_sleeved_shirt
37
+ 0:
38
+ dict(name='sss_kpt1', id=0, color=colors['sss'], type='', swap=''),
39
+ 1:
40
+ dict(
41
+ name='sss_kpt2',
42
+ id=1,
43
+ color=colors['sss'],
44
+ type='',
45
+ swap='sss_kpt6'),
46
+ 2:
47
+ dict(
48
+ name='sss_kpt3',
49
+ id=2,
50
+ color=colors['sss'],
51
+ type='',
52
+ swap='sss_kpt5'),
53
+ 3:
54
+ dict(name='sss_kpt4', id=3, color=colors['sss'], type='', swap=''),
55
+ 4:
56
+ dict(
57
+ name='sss_kpt5',
58
+ id=4,
59
+ color=colors['sss'],
60
+ type='',
61
+ swap='sss_kpt3'),
62
+ 5:
63
+ dict(
64
+ name='sss_kpt6',
65
+ id=5,
66
+ color=colors['sss'],
67
+ type='',
68
+ swap='sss_kpt2'),
69
+ 6:
70
+ dict(
71
+ name='sss_kpt7',
72
+ id=6,
73
+ color=colors['sss'],
74
+ type='',
75
+ swap='sss_kpt25'),
76
+ 7:
77
+ dict(
78
+ name='sss_kpt8',
79
+ id=7,
80
+ color=colors['sss'],
81
+ type='',
82
+ swap='sss_kpt24'),
83
+ 8:
84
+ dict(
85
+ name='sss_kpt9',
86
+ id=8,
87
+ color=colors['sss'],
88
+ type='',
89
+ swap='sss_kpt23'),
90
+ 9:
91
+ dict(
92
+ name='sss_kpt10',
93
+ id=9,
94
+ color=colors['sss'],
95
+ type='',
96
+ swap='sss_kpt22'),
97
+ 10:
98
+ dict(
99
+ name='sss_kpt11',
100
+ id=10,
101
+ color=colors['sss'],
102
+ type='',
103
+ swap='sss_kpt21'),
104
+ 11:
105
+ dict(
106
+ name='sss_kpt12',
107
+ id=11,
108
+ color=colors['sss'],
109
+ type='',
110
+ swap='sss_kpt20'),
111
+ 12:
112
+ dict(
113
+ name='sss_kpt13',
114
+ id=12,
115
+ color=colors['sss'],
116
+ type='',
117
+ swap='sss_kpt19'),
118
+ 13:
119
+ dict(
120
+ name='sss_kpt14',
121
+ id=13,
122
+ color=colors['sss'],
123
+ type='',
124
+ swap='sss_kpt18'),
125
+ 14:
126
+ dict(
127
+ name='sss_kpt15',
128
+ id=14,
129
+ color=colors['sss'],
130
+ type='',
131
+ swap='sss_kpt17'),
132
+ 15:
133
+ dict(name='sss_kpt16', id=15, color=colors['sss'], type='', swap=''),
134
+ 16:
135
+ dict(
136
+ name='sss_kpt17',
137
+ id=16,
138
+ color=colors['sss'],
139
+ type='',
140
+ swap='sss_kpt15'),
141
+ 17:
142
+ dict(
143
+ name='sss_kpt18',
144
+ id=17,
145
+ color=colors['sss'],
146
+ type='',
147
+ swap='sss_kpt14'),
148
+ 18:
149
+ dict(
150
+ name='sss_kpt19',
151
+ id=18,
152
+ color=colors['sss'],
153
+ type='',
154
+ swap='sss_kpt13'),
155
+ 19:
156
+ dict(
157
+ name='sss_kpt20',
158
+ id=19,
159
+ color=colors['sss'],
160
+ type='',
161
+ swap='sss_kpt12'),
162
+ 20:
163
+ dict(
164
+ name='sss_kpt21',
165
+ id=20,
166
+ color=colors['sss'],
167
+ type='',
168
+ swap='sss_kpt11'),
169
+ 21:
170
+ dict(
171
+ name='sss_kpt22',
172
+ id=21,
173
+ color=colors['sss'],
174
+ type='',
175
+ swap='sss_kpt10'),
176
+ 22:
177
+ dict(
178
+ name='sss_kpt23',
179
+ id=22,
180
+ color=colors['sss'],
181
+ type='',
182
+ swap='sss_kpt9'),
183
+ 23:
184
+ dict(
185
+ name='sss_kpt24',
186
+ id=23,
187
+ color=colors['sss'],
188
+ type='',
189
+ swap='sss_kpt8'),
190
+ 24:
191
+ dict(
192
+ name='sss_kpt25',
193
+ id=24,
194
+ color=colors['sss'],
195
+ type='',
196
+ swap='sss_kpt7'),
197
+ # long_sleeved_shirt
198
+ 25:
199
+ dict(name='lss_kpt1', id=25, color=colors['lss'], type='', swap=''),
200
+ 26:
201
+ dict(
202
+ name='lss_kpt2',
203
+ id=26,
204
+ color=colors['lss'],
205
+ type='',
206
+ swap='lss_kpt6'),
207
+ 27:
208
+ dict(
209
+ name='lss_kpt3',
210
+ id=27,
211
+ color=colors['lss'],
212
+ type='',
213
+ swap='lss_kpt5'),
214
+ 28:
215
+ dict(name='lss_kpt4', id=28, color=colors['lss'], type='', swap=''),
216
+ 29:
217
+ dict(
218
+ name='lss_kpt5',
219
+ id=29,
220
+ color=colors['lss'],
221
+ type='',
222
+ swap='lss_kpt3'),
223
+ 30:
224
+ dict(
225
+ name='lss_kpt6',
226
+ id=30,
227
+ color=colors['lss'],
228
+ type='',
229
+ swap='lss_kpt2'),
230
+ 31:
231
+ dict(
232
+ name='lss_kpt7',
233
+ id=31,
234
+ color=colors['lss'],
235
+ type='',
236
+ swap='lss_kpt33'),
237
+ 32:
238
+ dict(
239
+ name='lss_kpt8',
240
+ id=32,
241
+ color=colors['lss'],
242
+ type='',
243
+ swap='lss_kpt32'),
244
+ 33:
245
+ dict(
246
+ name='lss_kpt9',
247
+ id=33,
248
+ color=colors['lss'],
249
+ type='',
250
+ swap='lss_kpt31'),
251
+ 34:
252
+ dict(
253
+ name='lss_kpt10',
254
+ id=34,
255
+ color=colors['lss'],
256
+ type='',
257
+ swap='lss_kpt30'),
258
+ 35:
259
+ dict(
260
+ name='lss_kpt11',
261
+ id=35,
262
+ color=colors['lss'],
263
+ type='',
264
+ swap='lss_kpt29'),
265
+ 36:
266
+ dict(
267
+ name='lss_kpt12',
268
+ id=36,
269
+ color=colors['lss'],
270
+ type='',
271
+ swap='lss_kpt28'),
272
+ 37:
273
+ dict(
274
+ name='lss_kpt13',
275
+ id=37,
276
+ color=colors['lss'],
277
+ type='',
278
+ swap='lss_kpt27'),
279
+ 38:
280
+ dict(
281
+ name='lss_kpt14',
282
+ id=38,
283
+ color=colors['lss'],
284
+ type='',
285
+ swap='lss_kpt26'),
286
+ 39:
287
+ dict(
288
+ name='lss_kpt15',
289
+ id=39,
290
+ color=colors['lss'],
291
+ type='',
292
+ swap='lss_kpt25'),
293
+ 40:
294
+ dict(
295
+ name='lss_kpt16',
296
+ id=40,
297
+ color=colors['lss'],
298
+ type='',
299
+ swap='lss_kpt24'),
300
+ 41:
301
+ dict(
302
+ name='lss_kpt17',
303
+ id=41,
304
+ color=colors['lss'],
305
+ type='',
306
+ swap='lss_kpt23'),
307
+ 42:
308
+ dict(
309
+ name='lss_kpt18',
310
+ id=42,
311
+ color=colors['lss'],
312
+ type='',
313
+ swap='lss_kpt22'),
314
+ 43:
315
+ dict(
316
+ name='lss_kpt19',
317
+ id=43,
318
+ color=colors['lss'],
319
+ type='',
320
+ swap='lss_kpt21'),
321
+ 44:
322
+ dict(name='lss_kpt20', id=44, color=colors['lss'], type='', swap=''),
323
+ 45:
324
+ dict(
325
+ name='lss_kpt21',
326
+ id=45,
327
+ color=colors['lss'],
328
+ type='',
329
+ swap='lss_kpt19'),
330
+ 46:
331
+ dict(
332
+ name='lss_kpt22',
333
+ id=46,
334
+ color=colors['lss'],
335
+ type='',
336
+ swap='lss_kpt18'),
337
+ 47:
338
+ dict(
339
+ name='lss_kpt23',
340
+ id=47,
341
+ color=colors['lss'],
342
+ type='',
343
+ swap='lss_kpt17'),
344
+ 48:
345
+ dict(
346
+ name='lss_kpt24',
347
+ id=48,
348
+ color=colors['lss'],
349
+ type='',
350
+ swap='lss_kpt16'),
351
+ 49:
352
+ dict(
353
+ name='lss_kpt25',
354
+ id=49,
355
+ color=colors['lss'],
356
+ type='',
357
+ swap='lss_kpt15'),
358
+ 50:
359
+ dict(
360
+ name='lss_kpt26',
361
+ id=50,
362
+ color=colors['lss'],
363
+ type='',
364
+ swap='lss_kpt14'),
365
+ 51:
366
+ dict(
367
+ name='lss_kpt27',
368
+ id=51,
369
+ color=colors['lss'],
370
+ type='',
371
+ swap='lss_kpt13'),
372
+ 52:
373
+ dict(
374
+ name='lss_kpt28',
375
+ id=52,
376
+ color=colors['lss'],
377
+ type='',
378
+ swap='lss_kpt12'),
379
+ 53:
380
+ dict(
381
+ name='lss_kpt29',
382
+ id=53,
383
+ color=colors['lss'],
384
+ type='',
385
+ swap='lss_kpt11'),
386
+ 54:
387
+ dict(
388
+ name='lss_kpt30',
389
+ id=54,
390
+ color=colors['lss'],
391
+ type='',
392
+ swap='lss_kpt10'),
393
+ 55:
394
+ dict(
395
+ name='lss_kpt31',
396
+ id=55,
397
+ color=colors['lss'],
398
+ type='',
399
+ swap='lss_kpt9'),
400
+ 56:
401
+ dict(
402
+ name='lss_kpt32',
403
+ id=56,
404
+ color=colors['lss'],
405
+ type='',
406
+ swap='lss_kpt8'),
407
+ 57:
408
+ dict(
409
+ name='lss_kpt33',
410
+ id=57,
411
+ color=colors['lss'],
412
+ type='',
413
+ swap='lss_kpt7'),
414
+ # short_sleeved_outwear
415
+ 58:
416
+ dict(name='sso_kpt1', id=58, color=colors['sso'], type='', swap=''),
417
+ 59:
418
+ dict(
419
+ name='sso_kpt2',
420
+ id=59,
421
+ color=colors['sso'],
422
+ type='',
423
+ swap='sso_kpt26'),
424
+ 60:
425
+ dict(
426
+ name='sso_kpt3',
427
+ id=60,
428
+ color=colors['sso'],
429
+ type='',
430
+ swap='sso_kpt5'),
431
+ 61:
432
+ dict(
433
+ name='sso_kpt4',
434
+ id=61,
435
+ color=colors['sso'],
436
+ type='',
437
+ swap='sso_kpt6'),
438
+ 62:
439
+ dict(
440
+ name='sso_kpt5',
441
+ id=62,
442
+ color=colors['sso'],
443
+ type='',
444
+ swap='sso_kpt3'),
445
+ 63:
446
+ dict(
447
+ name='sso_kpt6',
448
+ id=63,
449
+ color=colors['sso'],
450
+ type='',
451
+ swap='sso_kpt4'),
452
+ 64:
453
+ dict(
454
+ name='sso_kpt7',
455
+ id=64,
456
+ color=colors['sso'],
457
+ type='',
458
+ swap='sso_kpt25'),
459
+ 65:
460
+ dict(
461
+ name='sso_kpt8',
462
+ id=65,
463
+ color=colors['sso'],
464
+ type='',
465
+ swap='sso_kpt24'),
466
+ 66:
467
+ dict(
468
+ name='sso_kpt9',
469
+ id=66,
470
+ color=colors['sso'],
471
+ type='',
472
+ swap='sso_kpt23'),
473
+ 67:
474
+ dict(
475
+ name='sso_kpt10',
476
+ id=67,
477
+ color=colors['sso'],
478
+ type='',
479
+ swap='sso_kpt22'),
480
+ 68:
481
+ dict(
482
+ name='sso_kpt11',
483
+ id=68,
484
+ color=colors['sso'],
485
+ type='',
486
+ swap='sso_kpt21'),
487
+ 69:
488
+ dict(
489
+ name='sso_kpt12',
490
+ id=69,
491
+ color=colors['sso'],
492
+ type='',
493
+ swap='sso_kpt20'),
494
+ 70:
495
+ dict(
496
+ name='sso_kpt13',
497
+ id=70,
498
+ color=colors['sso'],
499
+ type='',
500
+ swap='sso_kpt19'),
501
+ 71:
502
+ dict(
503
+ name='sso_kpt14',
504
+ id=71,
505
+ color=colors['sso'],
506
+ type='',
507
+ swap='sso_kpt18'),
508
+ 72:
509
+ dict(
510
+ name='sso_kpt15',
511
+ id=72,
512
+ color=colors['sso'],
513
+ type='',
514
+ swap='sso_kpt17'),
515
+ 73:
516
+ dict(
517
+ name='sso_kpt16',
518
+ id=73,
519
+ color=colors['sso'],
520
+ type='',
521
+ swap='sso_kpt29'),
522
+ 74:
523
+ dict(
524
+ name='sso_kpt17',
525
+ id=74,
526
+ color=colors['sso'],
527
+ type='',
528
+ swap='sso_kpt15'),
529
+ 75:
530
+ dict(
531
+ name='sso_kpt18',
532
+ id=75,
533
+ color=colors['sso'],
534
+ type='',
535
+ swap='sso_kpt14'),
536
+ 76:
537
+ dict(
538
+ name='sso_kpt19',
539
+ id=76,
540
+ color=colors['sso'],
541
+ type='',
542
+ swap='sso_kpt13'),
543
+ 77:
544
+ dict(
545
+ name='sso_kpt20',
546
+ id=77,
547
+ color=colors['sso'],
548
+ type='',
549
+ swap='sso_kpt12'),
550
+ 78:
551
+ dict(
552
+ name='sso_kpt21',
553
+ id=78,
554
+ color=colors['sso'],
555
+ type='',
556
+ swap='sso_kpt11'),
557
+ 79:
558
+ dict(
559
+ name='sso_kpt22',
560
+ id=79,
561
+ color=colors['sso'],
562
+ type='',
563
+ swap='sso_kpt10'),
564
+ 80:
565
+ dict(
566
+ name='sso_kpt23',
567
+ id=80,
568
+ color=colors['sso'],
569
+ type='',
570
+ swap='sso_kpt9'),
571
+ 81:
572
+ dict(
573
+ name='sso_kpt24',
574
+ id=81,
575
+ color=colors['sso'],
576
+ type='',
577
+ swap='sso_kpt8'),
578
+ 82:
579
+ dict(
580
+ name='sso_kpt25',
581
+ id=82,
582
+ color=colors['sso'],
583
+ type='',
584
+ swap='sso_kpt7'),
585
+ 83:
586
+ dict(
587
+ name='sso_kpt26',
588
+ id=83,
589
+ color=colors['sso'],
590
+ type='',
591
+ swap='sso_kpt2'),
592
+ 84:
593
+ dict(
594
+ name='sso_kpt27',
595
+ id=84,
596
+ color=colors['sso'],
597
+ type='',
598
+ swap='sso_kpt30'),
599
+ 85:
600
+ dict(
601
+ name='sso_kpt28',
602
+ id=85,
603
+ color=colors['sso'],
604
+ type='',
605
+ swap='sso_kpt31'),
606
+ 86:
607
+ dict(
608
+ name='sso_kpt29',
609
+ id=86,
610
+ color=colors['sso'],
611
+ type='',
612
+ swap='sso_kpt16'),
613
+ 87:
614
+ dict(
615
+ name='sso_kpt30',
616
+ id=87,
617
+ color=colors['sso'],
618
+ type='',
619
+ swap='sso_kpt27'),
620
+ 88:
621
+ dict(
622
+ name='sso_kpt31',
623
+ id=88,
624
+ color=colors['sso'],
625
+ type='',
626
+ swap='sso_kpt28'),
627
+ # long_sleeved_outwear
628
+ 89:
629
+ dict(name='lso_kpt1', id=89, color=colors['lso'], type='', swap=''),
630
+ 90:
631
+ dict(
632
+ name='lso_kpt2',
633
+ id=90,
634
+ color=colors['lso'],
635
+ type='',
636
+ swap='lso_kpt6'),
637
+ 91:
638
+ dict(
639
+ name='lso_kpt3',
640
+ id=91,
641
+ color=colors['lso'],
642
+ type='',
643
+ swap='lso_kpt5'),
644
+ 92:
645
+ dict(
646
+ name='lso_kpt4',
647
+ id=92,
648
+ color=colors['lso'],
649
+ type='',
650
+ swap='lso_kpt34'),
651
+ 93:
652
+ dict(
653
+ name='lso_kpt5',
654
+ id=93,
655
+ color=colors['lso'],
656
+ type='',
657
+ swap='lso_kpt3'),
658
+ 94:
659
+ dict(
660
+ name='lso_kpt6',
661
+ id=94,
662
+ color=colors['lso'],
663
+ type='',
664
+ swap='lso_kpt2'),
665
+ 95:
666
+ dict(
667
+ name='lso_kpt7',
668
+ id=95,
669
+ color=colors['lso'],
670
+ type='',
671
+ swap='lso_kpt33'),
672
+ 96:
673
+ dict(
674
+ name='lso_kpt8',
675
+ id=96,
676
+ color=colors['lso'],
677
+ type='',
678
+ swap='lso_kpt32'),
679
+ 97:
680
+ dict(
681
+ name='lso_kpt9',
682
+ id=97,
683
+ color=colors['lso'],
684
+ type='',
685
+ swap='lso_kpt31'),
686
+ 98:
687
+ dict(
688
+ name='lso_kpt10',
689
+ id=98,
690
+ color=colors['lso'],
691
+ type='',
692
+ swap='lso_kpt30'),
693
+ 99:
694
+ dict(
695
+ name='lso_kpt11',
696
+ id=99,
697
+ color=colors['lso'],
698
+ type='',
699
+ swap='lso_kpt29'),
700
+ 100:
701
+ dict(
702
+ name='lso_kpt12',
703
+ id=100,
704
+ color=colors['lso'],
705
+ type='',
706
+ swap='lso_kpt28'),
707
+ 101:
708
+ dict(
709
+ name='lso_kpt13',
710
+ id=101,
711
+ color=colors['lso'],
712
+ type='',
713
+ swap='lso_kpt27'),
714
+ 102:
715
+ dict(
716
+ name='lso_kpt14',
717
+ id=102,
718
+ color=colors['lso'],
719
+ type='',
720
+ swap='lso_kpt26'),
721
+ 103:
722
+ dict(
723
+ name='lso_kpt15',
724
+ id=103,
725
+ color=colors['lso'],
726
+ type='',
727
+ swap='lso_kpt25'),
728
+ 104:
729
+ dict(
730
+ name='lso_kpt16',
731
+ id=104,
732
+ color=colors['lso'],
733
+ type='',
734
+ swap='lso_kpt24'),
735
+ 105:
736
+ dict(
737
+ name='lso_kpt17',
738
+ id=105,
739
+ color=colors['lso'],
740
+ type='',
741
+ swap='lso_kpt23'),
742
+ 106:
743
+ dict(
744
+ name='lso_kpt18',
745
+ id=106,
746
+ color=colors['lso'],
747
+ type='',
748
+ swap='lso_kpt22'),
749
+ 107:
750
+ dict(
751
+ name='lso_kpt19',
752
+ id=107,
753
+ color=colors['lso'],
754
+ type='',
755
+ swap='lso_kpt21'),
756
+ 108:
757
+ dict(
758
+ name='lso_kpt20',
759
+ id=108,
760
+ color=colors['lso'],
761
+ type='',
762
+ swap='lso_kpt37'),
763
+ 109:
764
+ dict(
765
+ name='lso_kpt21',
766
+ id=109,
767
+ color=colors['lso'],
768
+ type='',
769
+ swap='lso_kpt19'),
770
+ 110:
771
+ dict(
772
+ name='lso_kpt22',
773
+ id=110,
774
+ color=colors['lso'],
775
+ type='',
776
+ swap='lso_kpt18'),
777
+ 111:
778
+ dict(
779
+ name='lso_kpt23',
780
+ id=111,
781
+ color=colors['lso'],
782
+ type='',
783
+ swap='lso_kpt17'),
784
+ 112:
785
+ dict(
786
+ name='lso_kpt24',
787
+ id=112,
788
+ color=colors['lso'],
789
+ type='',
790
+ swap='lso_kpt16'),
791
+ 113:
792
+ dict(
793
+ name='lso_kpt25',
794
+ id=113,
795
+ color=colors['lso'],
796
+ type='',
797
+ swap='lso_kpt15'),
798
+ 114:
799
+ dict(
800
+ name='lso_kpt26',
801
+ id=114,
802
+ color=colors['lso'],
803
+ type='',
804
+ swap='lso_kpt14'),
805
+ 115:
806
+ dict(
807
+ name='lso_kpt27',
808
+ id=115,
809
+ color=colors['lso'],
810
+ type='',
811
+ swap='lso_kpt13'),
812
+ 116:
813
+ dict(
814
+ name='lso_kpt28',
815
+ id=116,
816
+ color=colors['lso'],
817
+ type='',
818
+ swap='lso_kpt12'),
819
+ 117:
820
+ dict(
821
+ name='lso_kpt29',
822
+ id=117,
823
+ color=colors['lso'],
824
+ type='',
825
+ swap='lso_kpt11'),
826
+ 118:
827
+ dict(
828
+ name='lso_kpt30',
829
+ id=118,
830
+ color=colors['lso'],
831
+ type='',
832
+ swap='lso_kpt10'),
833
+ 119:
834
+ dict(
835
+ name='lso_kpt31',
836
+ id=119,
837
+ color=colors['lso'],
838
+ type='',
839
+ swap='lso_kpt9'),
840
+ 120:
841
+ dict(
842
+ name='lso_kpt32',
843
+ id=120,
844
+ color=colors['lso'],
845
+ type='',
846
+ swap='lso_kpt8'),
847
+ 121:
848
+ dict(
849
+ name='lso_kpt33',
850
+ id=121,
851
+ color=colors['lso'],
852
+ type='',
853
+ swap='lso_kpt7'),
854
+ 122:
855
+ dict(
856
+ name='lso_kpt34',
857
+ id=122,
858
+ color=colors['lso'],
859
+ type='',
860
+ swap='lso_kpt4'),
861
+ 123:
862
+ dict(
863
+ name='lso_kpt35',
864
+ id=123,
865
+ color=colors['lso'],
866
+ type='',
867
+ swap='lso_kpt38'),
868
+ 124:
869
+ dict(
870
+ name='lso_kpt36',
871
+ id=124,
872
+ color=colors['lso'],
873
+ type='',
874
+ swap='lso_kpt39'),
875
+ 125:
876
+ dict(
877
+ name='lso_kpt37',
878
+ id=125,
879
+ color=colors['lso'],
880
+ type='',
881
+ swap='lso_kpt20'),
882
+ 126:
883
+ dict(
884
+ name='lso_kpt38',
885
+ id=126,
886
+ color=colors['lso'],
887
+ type='',
888
+ swap='lso_kpt35'),
889
+ 127:
890
+ dict(
891
+ name='lso_kpt39',
892
+ id=127,
893
+ color=colors['lso'],
894
+ type='',
895
+ swap='lso_kpt36'),
896
+ # vest
897
+ 128:
898
+ dict(name='vest_kpt1', id=128, color=colors['vest'], type='', swap=''),
899
+ 129:
900
+ dict(
901
+ name='vest_kpt2',
902
+ id=129,
903
+ color=colors['vest'],
904
+ type='',
905
+ swap='vest_kpt6'),
906
+ 130:
907
+ dict(
908
+ name='vest_kpt3',
909
+ id=130,
910
+ color=colors['vest'],
911
+ type='',
912
+ swap='vest_kpt5'),
913
+ 131:
914
+ dict(name='vest_kpt4', id=131, color=colors['vest'], type='', swap=''),
915
+ 132:
916
+ dict(
917
+ name='vest_kpt5',
918
+ id=132,
919
+ color=colors['vest'],
920
+ type='',
921
+ swap='vest_kpt3'),
922
+ 133:
923
+ dict(
924
+ name='vest_kpt6',
925
+ id=133,
926
+ color=colors['vest'],
927
+ type='',
928
+ swap='vest_kpt2'),
929
+ 134:
930
+ dict(
931
+ name='vest_kpt7',
932
+ id=134,
933
+ color=colors['vest'],
934
+ type='',
935
+ swap='vest_kpt15'),
936
+ 135:
937
+ dict(
938
+ name='vest_kpt8',
939
+ id=135,
940
+ color=colors['vest'],
941
+ type='',
942
+ swap='vest_kpt14'),
943
+ 136:
944
+ dict(
945
+ name='vest_kpt9',
946
+ id=136,
947
+ color=colors['vest'],
948
+ type='',
949
+ swap='vest_kpt13'),
950
+ 137:
951
+ dict(
952
+ name='vest_kpt10',
953
+ id=137,
954
+ color=colors['vest'],
955
+ type='',
956
+ swap='vest_kpt12'),
957
+ 138:
958
+ dict(
959
+ name='vest_kpt11', id=138, color=colors['vest'], type='', swap=''),
960
+ 139:
961
+ dict(
962
+ name='vest_kpt12',
963
+ id=139,
964
+ color=colors['vest'],
965
+ type='',
966
+ swap='vest_kpt10'),
967
+ 140:
968
+ dict(
969
+ name='vest_kpt13', id=140, color=colors['vest'], type='', swap=''),
970
+ 141:
971
+ dict(
972
+ name='vest_kpt14',
973
+ id=141,
974
+ color=colors['vest'],
975
+ type='',
976
+ swap='vest_kpt8'),
977
+ 142:
978
+ dict(
979
+ name='vest_kpt15',
980
+ id=142,
981
+ color=colors['vest'],
982
+ type='',
983
+ swap='vest_kpt7'),
984
+ # sling
985
+ 143:
986
+ dict(
987
+ name='sling_kpt1', id=143, color=colors['sling'], type='',
988
+ swap=''),
989
+ 144:
990
+ dict(
991
+ name='sling_kpt2',
992
+ id=144,
993
+ color=colors['sling'],
994
+ type='',
995
+ swap='sling_kpt6'),
996
+ 145:
997
+ dict(
998
+ name='sling_kpt3',
999
+ id=145,
1000
+ color=colors['sling'],
1001
+ type='',
1002
+ swap='sling_kpt5'),
1003
+ 146:
1004
+ dict(
1005
+ name='sling_kpt4', id=146, color=colors['sling'], type='',
1006
+ swap=''),
1007
+ 147:
1008
+ dict(
1009
+ name='sling_kpt5',
1010
+ id=147,
1011
+ color=colors['sling'],
1012
+ type='',
1013
+ swap='sling_kpt3'),
1014
+ 148:
1015
+ dict(
1016
+ name='sling_kpt6',
1017
+ id=148,
1018
+ color=colors['sling'],
1019
+ type='',
1020
+ swap='sling_kpt2'),
1021
+ 149:
1022
+ dict(
1023
+ name='sling_kpt7',
1024
+ id=149,
1025
+ color=colors['sling'],
1026
+ type='',
1027
+ swap='sling_kpt15'),
1028
+ 150:
1029
+ dict(
1030
+ name='sling_kpt8',
1031
+ id=150,
1032
+ color=colors['sling'],
1033
+ type='',
1034
+ swap='sling_kpt14'),
1035
+ 151:
1036
+ dict(
1037
+ name='sling_kpt9',
1038
+ id=151,
1039
+ color=colors['sling'],
1040
+ type='',
1041
+ swap='sling_kpt13'),
1042
+ 152:
1043
+ dict(
1044
+ name='sling_kpt10',
1045
+ id=152,
1046
+ color=colors['sling'],
1047
+ type='',
1048
+ swap='sling_kpt12'),
1049
+ 153:
1050
+ dict(
1051
+ name='sling_kpt11',
1052
+ id=153,
1053
+ color=colors['sling'],
1054
+ type='',
1055
+ swap=''),
1056
+ 154:
1057
+ dict(
1058
+ name='sling_kpt12',
1059
+ id=154,
1060
+ color=colors['sling'],
1061
+ type='',
1062
+ swap='sling_kpt10'),
1063
+ 155:
1064
+ dict(
1065
+ name='sling_kpt13',
1066
+ id=155,
1067
+ color=colors['sling'],
1068
+ type='',
1069
+ swap='sling_kpt9'),
1070
+ 156:
1071
+ dict(
1072
+ name='sling_kpt14',
1073
+ id=156,
1074
+ color=colors['sling'],
1075
+ type='',
1076
+ swap='sling_kpt8'),
1077
+ 157:
1078
+ dict(
1079
+ name='sling_kpt15',
1080
+ id=157,
1081
+ color=colors['sling'],
1082
+ type='',
1083
+ swap='sling_kpt7'),
1084
+ # shorts
1085
+ 158:
1086
+ dict(
1087
+ name='shorts_kpt1',
1088
+ id=158,
1089
+ color=colors['shorts'],
1090
+ type='',
1091
+ swap='shorts_kpt3'),
1092
+ 159:
1093
+ dict(
1094
+ name='shorts_kpt2',
1095
+ id=159,
1096
+ color=colors['shorts'],
1097
+ type='',
1098
+ swap=''),
1099
+ 160:
1100
+ dict(
1101
+ name='shorts_kpt3',
1102
+ id=160,
1103
+ color=colors['shorts'],
1104
+ type='',
1105
+ swap='shorts_kpt1'),
1106
+ 161:
1107
+ dict(
1108
+ name='shorts_kpt4',
1109
+ id=161,
1110
+ color=colors['shorts'],
1111
+ type='',
1112
+ swap='shorts_kpt10'),
1113
+ 162:
1114
+ dict(
1115
+ name='shorts_kpt5',
1116
+ id=162,
1117
+ color=colors['shorts'],
1118
+ type='',
1119
+ swap='shorts_kpt9'),
1120
+ 163:
1121
+ dict(
1122
+ name='shorts_kpt6',
1123
+ id=163,
1124
+ color=colors['shorts'],
1125
+ type='',
1126
+ swap='shorts_kpt8'),
1127
+ 164:
1128
+ dict(
1129
+ name='shorts_kpt7',
1130
+ id=164,
1131
+ color=colors['shorts'],
1132
+ type='',
1133
+ swap=''),
1134
+ 165:
1135
+ dict(
1136
+ name='shorts_kpt8',
1137
+ id=165,
1138
+ color=colors['shorts'],
1139
+ type='',
1140
+ swap='shorts_kpt6'),
1141
+ 166:
1142
+ dict(
1143
+ name='shorts_kpt9',
1144
+ id=166,
1145
+ color=colors['shorts'],
1146
+ type='',
1147
+ swap='shorts_kpt5'),
1148
+ 167:
1149
+ dict(
1150
+ name='shorts_kpt10',
1151
+ id=167,
1152
+ color=colors['shorts'],
1153
+ type='',
1154
+ swap='shorts_kpt4'),
1155
+ # trousers
1156
+ 168:
1157
+ dict(
1158
+ name='trousers_kpt1',
1159
+ id=168,
1160
+ color=colors['trousers'],
1161
+ type='',
1162
+ swap='trousers_kpt3'),
1163
+ 169:
1164
+ dict(
1165
+ name='trousers_kpt2',
1166
+ id=169,
1167
+ color=colors['trousers'],
1168
+ type='',
1169
+ swap=''),
1170
+ 170:
1171
+ dict(
1172
+ name='trousers_kpt3',
1173
+ id=170,
1174
+ color=colors['trousers'],
1175
+ type='',
1176
+ swap='trousers_kpt1'),
1177
+ 171:
1178
+ dict(
1179
+ name='trousers_kpt4',
1180
+ id=171,
1181
+ color=colors['trousers'],
1182
+ type='',
1183
+ swap='trousers_kpt14'),
1184
+ 172:
1185
+ dict(
1186
+ name='trousers_kpt5',
1187
+ id=172,
1188
+ color=colors['trousers'],
1189
+ type='',
1190
+ swap='trousers_kpt13'),
1191
+ 173:
1192
+ dict(
1193
+ name='trousers_kpt6',
1194
+ id=173,
1195
+ color=colors['trousers'],
1196
+ type='',
1197
+ swap='trousers_kpt12'),
1198
+ 174:
1199
+ dict(
1200
+ name='trousers_kpt7',
1201
+ id=174,
1202
+ color=colors['trousers'],
1203
+ type='',
1204
+ swap='trousers_kpt11'),
1205
+ 175:
1206
+ dict(
1207
+ name='trousers_kpt8',
1208
+ id=175,
1209
+ color=colors['trousers'],
1210
+ type='',
1211
+ swap='trousers_kpt10'),
1212
+ 176:
1213
+ dict(
1214
+ name='trousers_kpt9',
1215
+ id=176,
1216
+ color=colors['trousers'],
1217
+ type='',
1218
+ swap=''),
1219
+ 177:
1220
+ dict(
1221
+ name='trousers_kpt10',
1222
+ id=177,
1223
+ color=colors['trousers'],
1224
+ type='',
1225
+ swap='trousers_kpt8'),
1226
+ 178:
1227
+ dict(
1228
+ name='trousers_kpt11',
1229
+ id=178,
1230
+ color=colors['trousers'],
1231
+ type='',
1232
+ swap='trousers_kpt7'),
1233
+ 179:
1234
+ dict(
1235
+ name='trousers_kpt12',
1236
+ id=179,
1237
+ color=colors['trousers'],
1238
+ type='',
1239
+ swap='trousers_kpt6'),
1240
+ 180:
1241
+ dict(
1242
+ name='trousers_kpt13',
1243
+ id=180,
1244
+ color=colors['trousers'],
1245
+ type='',
1246
+ swap='trousers_kpt5'),
1247
+ 181:
1248
+ dict(
1249
+ name='trousers_kpt14',
1250
+ id=181,
1251
+ color=colors['trousers'],
1252
+ type='',
1253
+ swap='trousers_kpt4'),
1254
+ # skirt
1255
+ 182:
1256
+ dict(
1257
+ name='skirt_kpt1',
1258
+ id=182,
1259
+ color=colors['skirt'],
1260
+ type='',
1261
+ swap='skirt_kpt3'),
1262
+ 183:
1263
+ dict(
1264
+ name='skirt_kpt2', id=183, color=colors['skirt'], type='',
1265
+ swap=''),
1266
+ 184:
1267
+ dict(
1268
+ name='skirt_kpt3',
1269
+ id=184,
1270
+ color=colors['skirt'],
1271
+ type='',
1272
+ swap='skirt_kpt1'),
1273
+ 185:
1274
+ dict(
1275
+ name='skirt_kpt4',
1276
+ id=185,
1277
+ color=colors['skirt'],
1278
+ type='',
1279
+ swap='skirt_kpt8'),
1280
+ 186:
1281
+ dict(
1282
+ name='skirt_kpt5',
1283
+ id=186,
1284
+ color=colors['skirt'],
1285
+ type='',
1286
+ swap='skirt_kpt7'),
1287
+ 187:
1288
+ dict(
1289
+ name='skirt_kpt6', id=187, color=colors['skirt'], type='',
1290
+ swap=''),
1291
+ 188:
1292
+ dict(
1293
+ name='skirt_kpt7',
1294
+ id=188,
1295
+ color=colors['skirt'],
1296
+ type='',
1297
+ swap='skirt_kpt5'),
1298
+ 189:
1299
+ dict(
1300
+ name='skirt_kpt8',
1301
+ id=189,
1302
+ color=colors['skirt'],
1303
+ type='',
1304
+ swap='skirt_kpt4'),
1305
+ # short_sleeved_dress
1306
+ 190:
1307
+ dict(name='ssd_kpt1', id=190, color=colors['ssd'], type='', swap=''),
1308
+ 191:
1309
+ dict(
1310
+ name='ssd_kpt2',
1311
+ id=191,
1312
+ color=colors['ssd'],
1313
+ type='',
1314
+ swap='ssd_kpt6'),
1315
+ 192:
1316
+ dict(
1317
+ name='ssd_kpt3',
1318
+ id=192,
1319
+ color=colors['ssd'],
1320
+ type='',
1321
+ swap='ssd_kpt5'),
1322
+ 193:
1323
+ dict(name='ssd_kpt4', id=193, color=colors['ssd'], type='', swap=''),
1324
+ 194:
1325
+ dict(
1326
+ name='ssd_kpt5',
1327
+ id=194,
1328
+ color=colors['ssd'],
1329
+ type='',
1330
+ swap='ssd_kpt3'),
1331
+ 195:
1332
+ dict(
1333
+ name='ssd_kpt6',
1334
+ id=195,
1335
+ color=colors['ssd'],
1336
+ type='',
1337
+ swap='ssd_kpt2'),
1338
+ 196:
1339
+ dict(
1340
+ name='ssd_kpt7',
1341
+ id=196,
1342
+ color=colors['ssd'],
1343
+ type='',
1344
+ swap='ssd_kpt29'),
1345
+ 197:
1346
+ dict(
1347
+ name='ssd_kpt8',
1348
+ id=197,
1349
+ color=colors['ssd'],
1350
+ type='',
1351
+ swap='ssd_kpt28'),
1352
+ 198:
1353
+ dict(
1354
+ name='ssd_kpt9',
1355
+ id=198,
1356
+ color=colors['ssd'],
1357
+ type='',
1358
+ swap='ssd_kpt27'),
1359
+ 199:
1360
+ dict(
1361
+ name='ssd_kpt10',
1362
+ id=199,
1363
+ color=colors['ssd'],
1364
+ type='',
1365
+ swap='ssd_kpt26'),
1366
+ 200:
1367
+ dict(
1368
+ name='ssd_kpt11',
1369
+ id=200,
1370
+ color=colors['ssd'],
1371
+ type='',
1372
+ swap='ssd_kpt25'),
1373
+ 201:
1374
+ dict(
1375
+ name='ssd_kpt12',
1376
+ id=201,
1377
+ color=colors['ssd'],
1378
+ type='',
1379
+ swap='ssd_kpt24'),
1380
+ 202:
1381
+ dict(
1382
+ name='ssd_kpt13',
1383
+ id=202,
1384
+ color=colors['ssd'],
1385
+ type='',
1386
+ swap='ssd_kpt23'),
1387
+ 203:
1388
+ dict(
1389
+ name='ssd_kpt14',
1390
+ id=203,
1391
+ color=colors['ssd'],
1392
+ type='',
1393
+ swap='ssd_kpt22'),
1394
+ 204:
1395
+ dict(
1396
+ name='ssd_kpt15',
1397
+ id=204,
1398
+ color=colors['ssd'],
1399
+ type='',
1400
+ swap='ssd_kpt21'),
1401
+ 205:
1402
+ dict(
1403
+ name='ssd_kpt16',
1404
+ id=205,
1405
+ color=colors['ssd'],
1406
+ type='',
1407
+ swap='ssd_kpt20'),
1408
+ 206:
1409
+ dict(
1410
+ name='ssd_kpt17',
1411
+ id=206,
1412
+ color=colors['ssd'],
1413
+ type='',
1414
+ swap='ssd_kpt19'),
1415
+ 207:
1416
+ dict(name='ssd_kpt18', id=207, color=colors['ssd'], type='', swap=''),
1417
+ 208:
1418
+ dict(
1419
+ name='ssd_kpt19',
1420
+ id=208,
1421
+ color=colors['ssd'],
1422
+ type='',
1423
+ swap='ssd_kpt17'),
1424
+ 209:
1425
+ dict(
1426
+ name='ssd_kpt20',
1427
+ id=209,
1428
+ color=colors['ssd'],
1429
+ type='',
1430
+ swap='ssd_kpt16'),
1431
+ 210:
1432
+ dict(
1433
+ name='ssd_kpt21',
1434
+ id=210,
1435
+ color=colors['ssd'],
1436
+ type='',
1437
+ swap='ssd_kpt15'),
1438
+ 211:
1439
+ dict(
1440
+ name='ssd_kpt22',
1441
+ id=211,
1442
+ color=colors['ssd'],
1443
+ type='',
1444
+ swap='ssd_kpt14'),
1445
+ 212:
1446
+ dict(
1447
+ name='ssd_kpt23',
1448
+ id=212,
1449
+ color=colors['ssd'],
1450
+ type='',
1451
+ swap='ssd_kpt13'),
1452
+ 213:
1453
+ dict(
1454
+ name='ssd_kpt24',
1455
+ id=213,
1456
+ color=colors['ssd'],
1457
+ type='',
1458
+ swap='ssd_kpt12'),
1459
+ 214:
1460
+ dict(
1461
+ name='ssd_kpt25',
1462
+ id=214,
1463
+ color=colors['ssd'],
1464
+ type='',
1465
+ swap='ssd_kpt11'),
1466
+ 215:
1467
+ dict(
1468
+ name='ssd_kpt26',
1469
+ id=215,
1470
+ color=colors['ssd'],
1471
+ type='',
1472
+ swap='ssd_kpt10'),
1473
+ 216:
1474
+ dict(
1475
+ name='ssd_kpt27',
1476
+ id=216,
1477
+ color=colors['ssd'],
1478
+ type='',
1479
+ swap='ssd_kpt9'),
1480
+ 217:
1481
+ dict(
1482
+ name='ssd_kpt28',
1483
+ id=217,
1484
+ color=colors['ssd'],
1485
+ type='',
1486
+ swap='ssd_kpt8'),
1487
+ 218:
1488
+ dict(
1489
+ name='ssd_kpt29',
1490
+ id=218,
1491
+ color=colors['ssd'],
1492
+ type='',
1493
+ swap='ssd_kpt7'),
1494
+ # long_sleeved_dress
1495
+ 219:
1496
+ dict(name='lsd_kpt1', id=219, color=colors['lsd'], type='', swap=''),
1497
+ 220:
1498
+ dict(
1499
+ name='lsd_kpt2',
1500
+ id=220,
1501
+ color=colors['lsd'],
1502
+ type='',
1503
+ swap='lsd_kpt6'),
1504
+ 221:
1505
+ dict(
1506
+ name='lsd_kpt3',
1507
+ id=221,
1508
+ color=colors['lsd'],
1509
+ type='',
1510
+ swap='lsd_kpt5'),
1511
+ 222:
1512
+ dict(name='lsd_kpt4', id=222, color=colors['lsd'], type='', swap=''),
1513
+ 223:
1514
+ dict(
1515
+ name='lsd_kpt5',
1516
+ id=223,
1517
+ color=colors['lsd'],
1518
+ type='',
1519
+ swap='lsd_kpt3'),
1520
+ 224:
1521
+ dict(
1522
+ name='lsd_kpt6',
1523
+ id=224,
1524
+ color=colors['lsd'],
1525
+ type='',
1526
+ swap='lsd_kpt2'),
1527
+ 225:
1528
+ dict(
1529
+ name='lsd_kpt7',
1530
+ id=225,
1531
+ color=colors['lsd'],
1532
+ type='',
1533
+ swap='lsd_kpt37'),
1534
+ 226:
1535
+ dict(
1536
+ name='lsd_kpt8',
1537
+ id=226,
1538
+ color=colors['lsd'],
1539
+ type='',
1540
+ swap='lsd_kpt36'),
1541
+ 227:
1542
+ dict(
1543
+ name='lsd_kpt9',
1544
+ id=227,
1545
+ color=colors['lsd'],
1546
+ type='',
1547
+ swap='lsd_kpt35'),
1548
+ 228:
1549
+ dict(
1550
+ name='lsd_kpt10',
1551
+ id=228,
1552
+ color=colors['lsd'],
1553
+ type='',
1554
+ swap='lsd_kpt34'),
1555
+ 229:
1556
+ dict(
1557
+ name='lsd_kpt11',
1558
+ id=229,
1559
+ color=colors['lsd'],
1560
+ type='',
1561
+ swap='lsd_kpt33'),
1562
+ 230:
1563
+ dict(
1564
+ name='lsd_kpt12',
1565
+ id=230,
1566
+ color=colors['lsd'],
1567
+ type='',
1568
+ swap='lsd_kpt32'),
1569
+ 231:
1570
+ dict(
1571
+ name='lsd_kpt13',
1572
+ id=231,
1573
+ color=colors['lsd'],
1574
+ type='',
1575
+ swap='lsd_kpt31'),
1576
+ 232:
1577
+ dict(
1578
+ name='lsd_kpt14',
1579
+ id=232,
1580
+ color=colors['lsd'],
1581
+ type='',
1582
+ swap='lsd_kpt30'),
1583
+ 233:
1584
+ dict(
1585
+ name='lsd_kpt15',
1586
+ id=233,
1587
+ color=colors['lsd'],
1588
+ type='',
1589
+ swap='lsd_kpt29'),
1590
+ 234:
1591
+ dict(
1592
+ name='lsd_kpt16',
1593
+ id=234,
1594
+ color=colors['lsd'],
1595
+ type='',
1596
+ swap='lsd_kpt28'),
1597
+ 235:
1598
+ dict(
1599
+ name='lsd_kpt17',
1600
+ id=235,
1601
+ color=colors['lsd'],
1602
+ type='',
1603
+ swap='lsd_kpt27'),
1604
+ 236:
1605
+ dict(
1606
+ name='lsd_kpt18',
1607
+ id=236,
1608
+ color=colors['lsd'],
1609
+ type='',
1610
+ swap='lsd_kpt26'),
1611
+ 237:
1612
+ dict(
1613
+ name='lsd_kpt19',
1614
+ id=237,
1615
+ color=colors['lsd'],
1616
+ type='',
1617
+ swap='lsd_kpt25'),
1618
+ 238:
1619
+ dict(
1620
+ name='lsd_kpt20',
1621
+ id=238,
1622
+ color=colors['lsd'],
1623
+ type='',
1624
+ swap='lsd_kpt24'),
1625
+ 239:
1626
+ dict(
1627
+ name='lsd_kpt21',
1628
+ id=239,
1629
+ color=colors['lsd'],
1630
+ type='',
1631
+ swap='lsd_kpt23'),
1632
+ 240:
1633
+ dict(name='lsd_kpt22', id=240, color=colors['lsd'], type='', swap=''),
1634
+ 241:
1635
+ dict(
1636
+ name='lsd_kpt23',
1637
+ id=241,
1638
+ color=colors['lsd'],
1639
+ type='',
1640
+ swap='lsd_kpt21'),
1641
+ 242:
1642
+ dict(
1643
+ name='lsd_kpt24',
1644
+ id=242,
1645
+ color=colors['lsd'],
1646
+ type='',
1647
+ swap='lsd_kpt20'),
1648
+ 243:
1649
+ dict(
1650
+ name='lsd_kpt25',
1651
+ id=243,
1652
+ color=colors['lsd'],
1653
+ type='',
1654
+ swap='lsd_kpt19'),
1655
+ 244:
1656
+ dict(
1657
+ name='lsd_kpt26',
1658
+ id=244,
1659
+ color=colors['lsd'],
1660
+ type='',
1661
+ swap='lsd_kpt18'),
1662
+ 245:
1663
+ dict(
1664
+ name='lsd_kpt27',
1665
+ id=245,
1666
+ color=colors['lsd'],
1667
+ type='',
1668
+ swap='lsd_kpt17'),
1669
+ 246:
1670
+ dict(
1671
+ name='lsd_kpt28',
1672
+ id=246,
1673
+ color=colors['lsd'],
1674
+ type='',
1675
+ swap='lsd_kpt16'),
1676
+ 247:
1677
+ dict(
1678
+ name='lsd_kpt29',
1679
+ id=247,
1680
+ color=colors['lsd'],
1681
+ type='',
1682
+ swap='lsd_kpt15'),
1683
+ 248:
1684
+ dict(
1685
+ name='lsd_kpt30',
1686
+ id=248,
1687
+ color=colors['lsd'],
1688
+ type='',
1689
+ swap='lsd_kpt14'),
1690
+ 249:
1691
+ dict(
1692
+ name='lsd_kpt31',
1693
+ id=249,
1694
+ color=colors['lsd'],
1695
+ type='',
1696
+ swap='lsd_kpt13'),
1697
+ 250:
1698
+ dict(
1699
+ name='lsd_kpt32',
1700
+ id=250,
1701
+ color=colors['lsd'],
1702
+ type='',
1703
+ swap='lsd_kpt12'),
1704
+ 251:
1705
+ dict(
1706
+ name='lsd_kpt33',
1707
+ id=251,
1708
+ color=colors['lsd'],
1709
+ type='',
1710
+ swap='lsd_kpt11'),
1711
+ 252:
1712
+ dict(
1713
+ name='lsd_kpt34',
1714
+ id=252,
1715
+ color=colors['lsd'],
1716
+ type='',
1717
+ swap='lsd_kpt10'),
1718
+ 253:
1719
+ dict(
1720
+ name='lsd_kpt35',
1721
+ id=253,
1722
+ color=colors['lsd'],
1723
+ type='',
1724
+ swap='lsd_kpt9'),
1725
+ 254:
1726
+ dict(
1727
+ name='lsd_kpt36',
1728
+ id=254,
1729
+ color=colors['lsd'],
1730
+ type='',
1731
+ swap='lsd_kpt8'),
1732
+ 255:
1733
+ dict(
1734
+ name='lsd_kpt37',
1735
+ id=255,
1736
+ color=colors['lsd'],
1737
+ type='',
1738
+ swap='lsd_kpt7'),
1739
+ # vest_dress
1740
+ 256:
1741
+ dict(name='vd_kpt1', id=256, color=colors['vd'], type='', swap=''),
1742
+ 257:
1743
+ dict(
1744
+ name='vd_kpt2',
1745
+ id=257,
1746
+ color=colors['vd'],
1747
+ type='',
1748
+ swap='vd_kpt6'),
1749
+ 258:
1750
+ dict(
1751
+ name='vd_kpt3',
1752
+ id=258,
1753
+ color=colors['vd'],
1754
+ type='',
1755
+ swap='vd_kpt5'),
1756
+ 259:
1757
+ dict(name='vd_kpt4', id=259, color=colors['vd'], type='', swap=''),
1758
+ 260:
1759
+ dict(
1760
+ name='vd_kpt5',
1761
+ id=260,
1762
+ color=colors['vd'],
1763
+ type='',
1764
+ swap='vd_kpt3'),
1765
+ 261:
1766
+ dict(
1767
+ name='vd_kpt6',
1768
+ id=261,
1769
+ color=colors['vd'],
1770
+ type='',
1771
+ swap='vd_kpt2'),
1772
+ 262:
1773
+ dict(
1774
+ name='vd_kpt7',
1775
+ id=262,
1776
+ color=colors['vd'],
1777
+ type='',
1778
+ swap='vd_kpt19'),
1779
+ 263:
1780
+ dict(
1781
+ name='vd_kpt8',
1782
+ id=263,
1783
+ color=colors['vd'],
1784
+ type='',
1785
+ swap='vd_kpt18'),
1786
+ 264:
1787
+ dict(
1788
+ name='vd_kpt9',
1789
+ id=264,
1790
+ color=colors['vd'],
1791
+ type='',
1792
+ swap='vd_kpt17'),
1793
+ 265:
1794
+ dict(
1795
+ name='vd_kpt10',
1796
+ id=265,
1797
+ color=colors['vd'],
1798
+ type='',
1799
+ swap='vd_kpt16'),
1800
+ 266:
1801
+ dict(
1802
+ name='vd_kpt11',
1803
+ id=266,
1804
+ color=colors['vd'],
1805
+ type='',
1806
+ swap='vd_kpt15'),
1807
+ 267:
1808
+ dict(
1809
+ name='vd_kpt12',
1810
+ id=267,
1811
+ color=colors['vd'],
1812
+ type='',
1813
+ swap='vd_kpt14'),
1814
+ 268:
1815
+ dict(name='vd_kpt13', id=268, color=colors['vd'], type='', swap=''),
1816
+ 269:
1817
+ dict(
1818
+ name='vd_kpt14',
1819
+ id=269,
1820
+ color=colors['vd'],
1821
+ type='',
1822
+ swap='vd_kpt12'),
1823
+ 270:
1824
+ dict(
1825
+ name='vd_kpt15',
1826
+ id=270,
1827
+ color=colors['vd'],
1828
+ type='',
1829
+ swap='vd_kpt11'),
1830
+ 271:
1831
+ dict(
1832
+ name='vd_kpt16',
1833
+ id=271,
1834
+ color=colors['vd'],
1835
+ type='',
1836
+ swap='vd_kpt10'),
1837
+ 272:
1838
+ dict(
1839
+ name='vd_kpt17',
1840
+ id=272,
1841
+ color=colors['vd'],
1842
+ type='',
1843
+ swap='vd_kpt9'),
1844
+ 273:
1845
+ dict(
1846
+ name='vd_kpt18',
1847
+ id=273,
1848
+ color=colors['vd'],
1849
+ type='',
1850
+ swap='vd_kpt8'),
1851
+ 274:
1852
+ dict(
1853
+ name='vd_kpt19',
1854
+ id=274,
1855
+ color=colors['vd'],
1856
+ type='',
1857
+ swap='vd_kpt7'),
1858
+ # sling_dress
1859
+ 275:
1860
+ dict(name='sd_kpt1', id=275, color=colors['sd'], type='', swap=''),
1861
+ 276:
1862
+ dict(
1863
+ name='sd_kpt2',
1864
+ id=276,
1865
+ color=colors['sd'],
1866
+ type='',
1867
+ swap='sd_kpt6'),
1868
+ 277:
1869
+ dict(
1870
+ name='sd_kpt3',
1871
+ id=277,
1872
+ color=colors['sd'],
1873
+ type='',
1874
+ swap='sd_kpt5'),
1875
+ 278:
1876
+ dict(name='sd_kpt4', id=278, color=colors['sd'], type='', swap=''),
1877
+ 279:
1878
+ dict(
1879
+ name='sd_kpt5',
1880
+ id=279,
1881
+ color=colors['sd'],
1882
+ type='',
1883
+ swap='sd_kpt3'),
1884
+ 280:
1885
+ dict(
1886
+ name='sd_kpt6',
1887
+ id=280,
1888
+ color=colors['sd'],
1889
+ type='',
1890
+ swap='sd_kpt2'),
1891
+ 281:
1892
+ dict(
1893
+ name='sd_kpt7',
1894
+ id=281,
1895
+ color=colors['sd'],
1896
+ type='',
1897
+ swap='sd_kpt19'),
1898
+ 282:
1899
+ dict(
1900
+ name='sd_kpt8',
1901
+ id=282,
1902
+ color=colors['sd'],
1903
+ type='',
1904
+ swap='sd_kpt18'),
1905
+ 283:
1906
+ dict(
1907
+ name='sd_kpt9',
1908
+ id=283,
1909
+ color=colors['sd'],
1910
+ type='',
1911
+ swap='sd_kpt17'),
1912
+ 284:
1913
+ dict(
1914
+ name='sd_kpt10',
1915
+ id=284,
1916
+ color=colors['sd'],
1917
+ type='',
1918
+ swap='sd_kpt16'),
1919
+ 285:
1920
+ dict(
1921
+ name='sd_kpt11',
1922
+ id=285,
1923
+ color=colors['sd'],
1924
+ type='',
1925
+ swap='sd_kpt15'),
1926
+ 286:
1927
+ dict(
1928
+ name='sd_kpt12',
1929
+ id=286,
1930
+ color=colors['sd'],
1931
+ type='',
1932
+ swap='sd_kpt14'),
1933
+ 287:
1934
+ dict(name='sd_kpt13', id=287, color=colors['sd'], type='', swap=''),
1935
+ 288:
1936
+ dict(
1937
+ name='sd_kpt14',
1938
+ id=288,
1939
+ color=colors['sd'],
1940
+ type='',
1941
+ swap='sd_kpt12'),
1942
+ 289:
1943
+ dict(
1944
+ name='sd_kpt15',
1945
+ id=289,
1946
+ color=colors['sd'],
1947
+ type='',
1948
+ swap='sd_kpt11'),
1949
+ 290:
1950
+ dict(
1951
+ name='sd_kpt16',
1952
+ id=290,
1953
+ color=colors['sd'],
1954
+ type='',
1955
+ swap='sd_kpt10'),
1956
+ 291:
1957
+ dict(
1958
+ name='sd_kpt17',
1959
+ id=291,
1960
+ color=colors['sd'],
1961
+ type='',
1962
+ swap='sd_kpt9'),
1963
+ 292:
1964
+ dict(
1965
+ name='sd_kpt18',
1966
+ id=292,
1967
+ color=colors['sd'],
1968
+ type='',
1969
+ swap='sd_kpt8'),
1970
+ 293:
1971
+ dict(
1972
+ name='sd_kpt19',
1973
+ id=293,
1974
+ color=colors['sd'],
1975
+ type='',
1976
+ swap='sd_kpt7'),
1977
+ },
1978
+ skeleton_info={
1979
+ # short_sleeved_shirt
1980
+ 0:
1981
+ dict(link=('sss_kpt1', 'sss_kpt2'), id=0, color=[255, 128, 0]),
1982
+ 1:
1983
+ dict(link=('sss_kpt2', 'sss_kpt7'), id=1, color=[255, 128, 0]),
1984
+ 2:
1985
+ dict(link=('sss_kpt7', 'sss_kpt8'), id=2, color=[255, 128, 0]),
1986
+ 3:
1987
+ dict(link=('sss_kpt8', 'sss_kpt9'), id=3, color=[255, 128, 0]),
1988
+ 4:
1989
+ dict(link=('sss_kpt9', 'sss_kpt10'), id=4, color=[255, 128, 0]),
1990
+ 5:
1991
+ dict(link=('sss_kpt10', 'sss_kpt11'), id=5, color=[255, 128, 0]),
1992
+ 6:
1993
+ dict(link=('sss_kpt11', 'sss_kpt12'), id=6, color=[255, 128, 0]),
1994
+ 7:
1995
+ dict(link=('sss_kpt12', 'sss_kpt13'), id=7, color=[255, 128, 0]),
1996
+ 8:
1997
+ dict(link=('sss_kpt13', 'sss_kpt14'), id=8, color=[255, 128, 0]),
1998
+ 9:
1999
+ dict(link=('sss_kpt14', 'sss_kpt15'), id=9, color=[255, 128, 0]),
2000
+ 10:
2001
+ dict(link=('sss_kpt15', 'sss_kpt16'), id=10, color=[255, 128, 0]),
2002
+ 11:
2003
+ dict(link=('sss_kpt16', 'sss_kpt17'), id=11, color=[255, 128, 0]),
2004
+ 12:
2005
+ dict(link=('sss_kpt17', 'sss_kpt18'), id=12, color=[255, 128, 0]),
2006
+ 13:
2007
+ dict(link=('sss_kpt18', 'sss_kpt19'), id=13, color=[255, 128, 0]),
2008
+ 14:
2009
+ dict(link=('sss_kpt19', 'sss_kpt20'), id=14, color=[255, 128, 0]),
2010
+ 15:
2011
+ dict(link=('sss_kpt20', 'sss_kpt21'), id=15, color=[255, 128, 0]),
2012
+ 16:
2013
+ dict(link=('sss_kpt21', 'sss_kpt22'), id=16, color=[255, 128, 0]),
2014
+ 17:
2015
+ dict(link=('sss_kpt22', 'sss_kpt23'), id=17, color=[255, 128, 0]),
2016
+ 18:
2017
+ dict(link=('sss_kpt23', 'sss_kpt24'), id=18, color=[255, 128, 0]),
2018
+ 19:
2019
+ dict(link=('sss_kpt24', 'sss_kpt25'), id=19, color=[255, 128, 0]),
2020
+ 20:
2021
+ dict(link=('sss_kpt25', 'sss_kpt6'), id=20, color=[255, 128, 0]),
2022
+ 21:
2023
+ dict(link=('sss_kpt6', 'sss_kpt1'), id=21, color=[255, 128, 0]),
2024
+ 22:
2025
+ dict(link=('sss_kpt2', 'sss_kpt3'), id=22, color=[255, 128, 0]),
2026
+ 23:
2027
+ dict(link=('sss_kpt3', 'sss_kpt4'), id=23, color=[255, 128, 0]),
2028
+ 24:
2029
+ dict(link=('sss_kpt4', 'sss_kpt5'), id=24, color=[255, 128, 0]),
2030
+ 25:
2031
+ dict(link=('sss_kpt5', 'sss_kpt6'), id=25, color=[255, 128, 0]),
2032
+ # long_sleeve_shirt
2033
+ 26:
2034
+ dict(link=('lss_kpt1', 'lss_kpt2'), id=26, color=[255, 0, 128]),
2035
+ 27:
2036
+ dict(link=('lss_kpt2', 'lss_kpt7'), id=27, color=[255, 0, 128]),
2037
+ 28:
2038
+ dict(link=('lss_kpt7', 'lss_kpt8'), id=28, color=[255, 0, 128]),
2039
+ 29:
2040
+ dict(link=('lss_kpt8', 'lss_kpt9'), id=29, color=[255, 0, 128]),
2041
+ 30:
2042
+ dict(link=('lss_kpt9', 'lss_kpt10'), id=30, color=[255, 0, 128]),
2043
+ 31:
2044
+ dict(link=('lss_kpt10', 'lss_kpt11'), id=31, color=[255, 0, 128]),
2045
+ 32:
2046
+ dict(link=('lss_kpt11', 'lss_kpt12'), id=32, color=[255, 0, 128]),
2047
+ 33:
2048
+ dict(link=('lss_kpt12', 'lss_kpt13'), id=33, color=[255, 0, 128]),
2049
+ 34:
2050
+ dict(link=('lss_kpt13', 'lss_kpt14'), id=34, color=[255, 0, 128]),
2051
+ 35:
2052
+ dict(link=('lss_kpt14', 'lss_kpt15'), id=35, color=[255, 0, 128]),
2053
+ 36:
2054
+ dict(link=('lss_kpt15', 'lss_kpt16'), id=36, color=[255, 0, 128]),
2055
+ 37:
2056
+ dict(link=('lss_kpt16', 'lss_kpt17'), id=37, color=[255, 0, 128]),
2057
+ 38:
2058
+ dict(link=('lss_kpt17', 'lss_kpt18'), id=38, color=[255, 0, 128]),
2059
+ 39:
2060
+ dict(link=('lss_kpt18', 'lss_kpt19'), id=39, color=[255, 0, 128]),
2061
+ 40:
2062
+ dict(link=('lss_kpt19', 'lss_kpt20'), id=40, color=[255, 0, 128]),
2063
+ 41:
2064
+ dict(link=('lss_kpt20', 'lss_kpt21'), id=41, color=[255, 0, 128]),
2065
+ 42:
2066
+ dict(link=('lss_kpt21', 'lss_kpt22'), id=42, color=[255, 0, 128]),
2067
+ 43:
2068
+ dict(link=('lss_kpt22', 'lss_kpt23'), id=43, color=[255, 0, 128]),
2069
+ 44:
2070
+ dict(link=('lss_kpt23', 'lss_kpt24'), id=44, color=[255, 0, 128]),
2071
+ 45:
2072
+ dict(link=('lss_kpt24', 'lss_kpt25'), id=45, color=[255, 0, 128]),
2073
+ 46:
2074
+ dict(link=('lss_kpt25', 'lss_kpt26'), id=46, color=[255, 0, 128]),
2075
+ 47:
2076
+ dict(link=('lss_kpt26', 'lss_kpt27'), id=47, color=[255, 0, 128]),
2077
+ 48:
2078
+ dict(link=('lss_kpt27', 'lss_kpt28'), id=48, color=[255, 0, 128]),
2079
+ 49:
2080
+ dict(link=('lss_kpt28', 'lss_kpt29'), id=49, color=[255, 0, 128]),
2081
+ 50:
2082
+ dict(link=('lss_kpt29', 'lss_kpt30'), id=50, color=[255, 0, 128]),
2083
+ 51:
2084
+ dict(link=('lss_kpt30', 'lss_kpt31'), id=51, color=[255, 0, 128]),
2085
+ 52:
2086
+ dict(link=('lss_kpt31', 'lss_kpt32'), id=52, color=[255, 0, 128]),
2087
+ 53:
2088
+ dict(link=('lss_kpt32', 'lss_kpt33'), id=53, color=[255, 0, 128]),
2089
+ 54:
2090
+ dict(link=('lss_kpt33', 'lss_kpt6'), id=54, color=[255, 0, 128]),
2091
+ 55:
2092
+ dict(link=('lss_kpt6', 'lss_kpt5'), id=55, color=[255, 0, 128]),
2093
+ 56:
2094
+ dict(link=('lss_kpt5', 'lss_kpt4'), id=56, color=[255, 0, 128]),
2095
+ 57:
2096
+ dict(link=('lss_kpt4', 'lss_kpt3'), id=57, color=[255, 0, 128]),
2097
+ 58:
2098
+ dict(link=('lss_kpt3', 'lss_kpt2'), id=58, color=[255, 0, 128]),
2099
+ 59:
2100
+ dict(link=('lss_kpt6', 'lss_kpt1'), id=59, color=[255, 0, 128]),
2101
+ # short_sleeved_outwear
2102
+ 60:
2103
+ dict(link=('sso_kpt1', 'sso_kpt4'), id=60, color=[128, 0, 255]),
2104
+ 61:
2105
+ dict(link=('sso_kpt4', 'sso_kpt7'), id=61, color=[128, 0, 255]),
2106
+ 62:
2107
+ dict(link=('sso_kpt7', 'sso_kpt8'), id=62, color=[128, 0, 255]),
2108
+ 63:
2109
+ dict(link=('sso_kpt8', 'sso_kpt9'), id=63, color=[128, 0, 255]),
2110
+ 64:
2111
+ dict(link=('sso_kpt9', 'sso_kpt10'), id=64, color=[128, 0, 255]),
2112
+ 65:
2113
+ dict(link=('sso_kpt10', 'sso_kpt11'), id=65, color=[128, 0, 255]),
2114
+ 66:
2115
+ dict(link=('sso_kpt11', 'sso_kpt12'), id=66, color=[128, 0, 255]),
2116
+ 67:
2117
+ dict(link=('sso_kpt12', 'sso_kpt13'), id=67, color=[128, 0, 255]),
2118
+ 68:
2119
+ dict(link=('sso_kpt13', 'sso_kpt14'), id=68, color=[128, 0, 255]),
2120
+ 69:
2121
+ dict(link=('sso_kpt14', 'sso_kpt15'), id=69, color=[128, 0, 255]),
2122
+ 70:
2123
+ dict(link=('sso_kpt15', 'sso_kpt16'), id=70, color=[128, 0, 255]),
2124
+ 71:
2125
+ dict(link=('sso_kpt16', 'sso_kpt31'), id=71, color=[128, 0, 255]),
2126
+ 72:
2127
+ dict(link=('sso_kpt31', 'sso_kpt30'), id=72, color=[128, 0, 255]),
2128
+ 73:
2129
+ dict(link=('sso_kpt30', 'sso_kpt2'), id=73, color=[128, 0, 255]),
2130
+ 74:
2131
+ dict(link=('sso_kpt2', 'sso_kpt3'), id=74, color=[128, 0, 255]),
2132
+ 75:
2133
+ dict(link=('sso_kpt3', 'sso_kpt4'), id=75, color=[128, 0, 255]),
2134
+ 76:
2135
+ dict(link=('sso_kpt1', 'sso_kpt6'), id=76, color=[128, 0, 255]),
2136
+ 77:
2137
+ dict(link=('sso_kpt6', 'sso_kpt25'), id=77, color=[128, 0, 255]),
2138
+ 78:
2139
+ dict(link=('sso_kpt25', 'sso_kpt24'), id=78, color=[128, 0, 255]),
2140
+ 79:
2141
+ dict(link=('sso_kpt24', 'sso_kpt23'), id=79, color=[128, 0, 255]),
2142
+ 80:
2143
+ dict(link=('sso_kpt23', 'sso_kpt22'), id=80, color=[128, 0, 255]),
2144
+ 81:
2145
+ dict(link=('sso_kpt22', 'sso_kpt21'), id=81, color=[128, 0, 255]),
2146
+ 82:
2147
+ dict(link=('sso_kpt21', 'sso_kpt20'), id=82, color=[128, 0, 255]),
2148
+ 83:
2149
+ dict(link=('sso_kpt20', 'sso_kpt19'), id=83, color=[128, 0, 255]),
2150
+ 84:
2151
+ dict(link=('sso_kpt19', 'sso_kpt18'), id=84, color=[128, 0, 255]),
2152
+ 85:
2153
+ dict(link=('sso_kpt18', 'sso_kpt17'), id=85, color=[128, 0, 255]),
2154
+ 86:
2155
+ dict(link=('sso_kpt17', 'sso_kpt29'), id=86, color=[128, 0, 255]),
2156
+ 87:
2157
+ dict(link=('sso_kpt29', 'sso_kpt28'), id=87, color=[128, 0, 255]),
2158
+ 88:
2159
+ dict(link=('sso_kpt28', 'sso_kpt27'), id=88, color=[128, 0, 255]),
2160
+ 89:
2161
+ dict(link=('sso_kpt27', 'sso_kpt26'), id=89, color=[128, 0, 255]),
2162
+ 90:
2163
+ dict(link=('sso_kpt26', 'sso_kpt5'), id=90, color=[128, 0, 255]),
2164
+ 91:
2165
+ dict(link=('sso_kpt5', 'sso_kpt6'), id=91, color=[128, 0, 255]),
2166
+ # long_sleeved_outwear
2167
+ 92:
2168
+ dict(link=('lso_kpt1', 'lso_kpt2'), id=92, color=[0, 128, 255]),
2169
+ 93:
2170
+ dict(link=('lso_kpt2', 'lso_kpt7'), id=93, color=[0, 128, 255]),
2171
+ 94:
2172
+ dict(link=('lso_kpt7', 'lso_kpt8'), id=94, color=[0, 128, 255]),
2173
+ 95:
2174
+ dict(link=('lso_kpt8', 'lso_kpt9'), id=95, color=[0, 128, 255]),
2175
+ 96:
2176
+ dict(link=('lso_kpt9', 'lso_kpt10'), id=96, color=[0, 128, 255]),
2177
+ 97:
2178
+ dict(link=('lso_kpt10', 'lso_kpt11'), id=97, color=[0, 128, 255]),
2179
+ 98:
2180
+ dict(link=('lso_kpt11', 'lso_kpt12'), id=98, color=[0, 128, 255]),
2181
+ 99:
2182
+ dict(link=('lso_kpt12', 'lso_kpt13'), id=99, color=[0, 128, 255]),
2183
+ 100:
2184
+ dict(link=('lso_kpt13', 'lso_kpt14'), id=100, color=[0, 128, 255]),
2185
+ 101:
2186
+ dict(link=('lso_kpt14', 'lso_kpt15'), id=101, color=[0, 128, 255]),
2187
+ 102:
2188
+ dict(link=('lso_kpt15', 'lso_kpt16'), id=102, color=[0, 128, 255]),
2189
+ 103:
2190
+ dict(link=('lso_kpt16', 'lso_kpt17'), id=103, color=[0, 128, 255]),
2191
+ 104:
2192
+ dict(link=('lso_kpt17', 'lso_kpt18'), id=104, color=[0, 128, 255]),
2193
+ 105:
2194
+ dict(link=('lso_kpt18', 'lso_kpt19'), id=105, color=[0, 128, 255]),
2195
+ 106:
2196
+ dict(link=('lso_kpt19', 'lso_kpt20'), id=106, color=[0, 128, 255]),
2197
+ 107:
2198
+ dict(link=('lso_kpt20', 'lso_kpt39'), id=107, color=[0, 128, 255]),
2199
+ 108:
2200
+ dict(link=('lso_kpt39', 'lso_kpt38'), id=108, color=[0, 128, 255]),
2201
+ 109:
2202
+ dict(link=('lso_kpt38', 'lso_kpt4'), id=109, color=[0, 128, 255]),
2203
+ 110:
2204
+ dict(link=('lso_kpt4', 'lso_kpt3'), id=110, color=[0, 128, 255]),
2205
+ 111:
2206
+ dict(link=('lso_kpt3', 'lso_kpt2'), id=111, color=[0, 128, 255]),
2207
+ 112:
2208
+ dict(link=('lso_kpt1', 'lso_kpt6'), id=112, color=[0, 128, 255]),
2209
+ 113:
2210
+ dict(link=('lso_kpt6', 'lso_kpt33'), id=113, color=[0, 128, 255]),
2211
+ 114:
2212
+ dict(link=('lso_kpt33', 'lso_kpt32'), id=114, color=[0, 128, 255]),
2213
+ 115:
2214
+ dict(link=('lso_kpt32', 'lso_kpt31'), id=115, color=[0, 128, 255]),
2215
+ 116:
2216
+ dict(link=('lso_kpt31', 'lso_kpt30'), id=116, color=[0, 128, 255]),
2217
+ 117:
2218
+ dict(link=('lso_kpt30', 'lso_kpt29'), id=117, color=[0, 128, 255]),
2219
+ 118:
2220
+ dict(link=('lso_kpt29', 'lso_kpt28'), id=118, color=[0, 128, 255]),
2221
+ 119:
2222
+ dict(link=('lso_kpt28', 'lso_kpt27'), id=119, color=[0, 128, 255]),
2223
+ 120:
2224
+ dict(link=('lso_kpt27', 'lso_kpt26'), id=120, color=[0, 128, 255]),
2225
+ 121:
2226
+ dict(link=('lso_kpt26', 'lso_kpt25'), id=121, color=[0, 128, 255]),
2227
+ 122:
2228
+ dict(link=('lso_kpt25', 'lso_kpt24'), id=122, color=[0, 128, 255]),
2229
+ 123:
2230
+ dict(link=('lso_kpt24', 'lso_kpt23'), id=123, color=[0, 128, 255]),
2231
+ 124:
2232
+ dict(link=('lso_kpt23', 'lso_kpt22'), id=124, color=[0, 128, 255]),
2233
+ 125:
2234
+ dict(link=('lso_kpt22', 'lso_kpt21'), id=125, color=[0, 128, 255]),
2235
+ 126:
2236
+ dict(link=('lso_kpt21', 'lso_kpt37'), id=126, color=[0, 128, 255]),
2237
+ 127:
2238
+ dict(link=('lso_kpt37', 'lso_kpt36'), id=127, color=[0, 128, 255]),
2239
+ 128:
2240
+ dict(link=('lso_kpt36', 'lso_kpt35'), id=128, color=[0, 128, 255]),
2241
+ 129:
2242
+ dict(link=('lso_kpt35', 'lso_kpt34'), id=129, color=[0, 128, 255]),
2243
+ 130:
2244
+ dict(link=('lso_kpt34', 'lso_kpt5'), id=130, color=[0, 128, 255]),
2245
+ 131:
2246
+ dict(link=('lso_kpt5', 'lso_kpt6'), id=131, color=[0, 128, 255]),
2247
+ # vest
2248
+ 132:
2249
+ dict(link=('vest_kpt1', 'vest_kpt2'), id=132, color=[0, 128, 128]),
2250
+ 133:
2251
+ dict(link=('vest_kpt2', 'vest_kpt7'), id=133, color=[0, 128, 128]),
2252
+ 134:
2253
+ dict(link=('vest_kpt7', 'vest_kpt8'), id=134, color=[0, 128, 128]),
2254
+ 135:
2255
+ dict(link=('vest_kpt8', 'vest_kpt9'), id=135, color=[0, 128, 128]),
2256
+ 136:
2257
+ dict(link=('vest_kpt9', 'vest_kpt10'), id=136, color=[0, 128, 128]),
2258
+ 137:
2259
+ dict(link=('vest_kpt10', 'vest_kpt11'), id=137, color=[0, 128, 128]),
2260
+ 138:
2261
+ dict(link=('vest_kpt11', 'vest_kpt12'), id=138, color=[0, 128, 128]),
2262
+ 139:
2263
+ dict(link=('vest_kpt12', 'vest_kpt13'), id=139, color=[0, 128, 128]),
2264
+ 140:
2265
+ dict(link=('vest_kpt13', 'vest_kpt14'), id=140, color=[0, 128, 128]),
2266
+ 141:
2267
+ dict(link=('vest_kpt14', 'vest_kpt15'), id=141, color=[0, 128, 128]),
2268
+ 142:
2269
+ dict(link=('vest_kpt15', 'vest_kpt6'), id=142, color=[0, 128, 128]),
2270
+ 143:
2271
+ dict(link=('vest_kpt6', 'vest_kpt1'), id=143, color=[0, 128, 128]),
2272
+ 144:
2273
+ dict(link=('vest_kpt2', 'vest_kpt3'), id=144, color=[0, 128, 128]),
2274
+ 145:
2275
+ dict(link=('vest_kpt3', 'vest_kpt4'), id=145, color=[0, 128, 128]),
2276
+ 146:
2277
+ dict(link=('vest_kpt4', 'vest_kpt5'), id=146, color=[0, 128, 128]),
2278
+ 147:
2279
+ dict(link=('vest_kpt5', 'vest_kpt6'), id=147, color=[0, 128, 128]),
2280
+ # sling
2281
+ 148:
2282
+ dict(link=('sling_kpt1', 'sling_kpt2'), id=148, color=[0, 0, 128]),
2283
+ 149:
2284
+ dict(link=('sling_kpt2', 'sling_kpt8'), id=149, color=[0, 0, 128]),
2285
+ 150:
2286
+ dict(link=('sling_kpt8', 'sling_kpt9'), id=150, color=[0, 0, 128]),
2287
+ 151:
2288
+ dict(link=('sling_kpt9', 'sling_kpt10'), id=151, color=[0, 0, 128]),
2289
+ 152:
2290
+ dict(link=('sling_kpt10', 'sling_kpt11'), id=152, color=[0, 0, 128]),
2291
+ 153:
2292
+ dict(link=('sling_kpt11', 'sling_kpt12'), id=153, color=[0, 0, 128]),
2293
+ 154:
2294
+ dict(link=('sling_kpt12', 'sling_kpt13'), id=154, color=[0, 0, 128]),
2295
+ 155:
2296
+ dict(link=('sling_kpt13', 'sling_kpt14'), id=155, color=[0, 0, 128]),
2297
+ 156:
2298
+ dict(link=('sling_kpt14', 'sling_kpt6'), id=156, color=[0, 0, 128]),
2299
+ 157:
2300
+ dict(link=('sling_kpt2', 'sling_kpt7'), id=157, color=[0, 0, 128]),
2301
+ 158:
2302
+ dict(link=('sling_kpt6', 'sling_kpt15'), id=158, color=[0, 0, 128]),
2303
+ 159:
2304
+ dict(link=('sling_kpt2', 'sling_kpt3'), id=159, color=[0, 0, 128]),
2305
+ 160:
2306
+ dict(link=('sling_kpt3', 'sling_kpt4'), id=160, color=[0, 0, 128]),
2307
+ 161:
2308
+ dict(link=('sling_kpt4', 'sling_kpt5'), id=161, color=[0, 0, 128]),
2309
+ 162:
2310
+ dict(link=('sling_kpt5', 'sling_kpt6'), id=162, color=[0, 0, 128]),
2311
+ 163:
2312
+ dict(link=('sling_kpt1', 'sling_kpt6'), id=163, color=[0, 0, 128]),
2313
+ # shorts
2314
+ 164:
2315
+ dict(
2316
+ link=('shorts_kpt1', 'shorts_kpt4'), id=164, color=[128, 128,
2317
+ 128]),
2318
+ 165:
2319
+ dict(
2320
+ link=('shorts_kpt4', 'shorts_kpt5'), id=165, color=[128, 128,
2321
+ 128]),
2322
+ 166:
2323
+ dict(
2324
+ link=('shorts_kpt5', 'shorts_kpt6'), id=166, color=[128, 128,
2325
+ 128]),
2326
+ 167:
2327
+ dict(
2328
+ link=('shorts_kpt6', 'shorts_kpt7'), id=167, color=[128, 128,
2329
+ 128]),
2330
+ 168:
2331
+ dict(
2332
+ link=('shorts_kpt7', 'shorts_kpt8'), id=168, color=[128, 128,
2333
+ 128]),
2334
+ 169:
2335
+ dict(
2336
+ link=('shorts_kpt8', 'shorts_kpt9'), id=169, color=[128, 128,
2337
+ 128]),
2338
+ 170:
2339
+ dict(
2340
+ link=('shorts_kpt9', 'shorts_kpt10'),
2341
+ id=170,
2342
+ color=[128, 128, 128]),
2343
+ 171:
2344
+ dict(
2345
+ link=('shorts_kpt10', 'shorts_kpt3'),
2346
+ id=171,
2347
+ color=[128, 128, 128]),
2348
+ 172:
2349
+ dict(
2350
+ link=('shorts_kpt3', 'shorts_kpt2'), id=172, color=[128, 128,
2351
+ 128]),
2352
+ 173:
2353
+ dict(
2354
+ link=('shorts_kpt2', 'shorts_kpt1'), id=173, color=[128, 128,
2355
+ 128]),
2356
+ # trousers
2357
+ 174:
2358
+ dict(
2359
+ link=('trousers_kpt1', 'trousers_kpt4'),
2360
+ id=174,
2361
+ color=[128, 0, 128]),
2362
+ 175:
2363
+ dict(
2364
+ link=('trousers_kpt4', 'trousers_kpt5'),
2365
+ id=175,
2366
+ color=[128, 0, 128]),
2367
+ 176:
2368
+ dict(
2369
+ link=('trousers_kpt5', 'trousers_kpt6'),
2370
+ id=176,
2371
+ color=[128, 0, 128]),
2372
+ 177:
2373
+ dict(
2374
+ link=('trousers_kpt6', 'trousers_kpt7'),
2375
+ id=177,
2376
+ color=[128, 0, 128]),
2377
+ 178:
2378
+ dict(
2379
+ link=('trousers_kpt7', 'trousers_kpt8'),
2380
+ id=178,
2381
+ color=[128, 0, 128]),
2382
+ 179:
2383
+ dict(
2384
+ link=('trousers_kpt8', 'trousers_kpt9'),
2385
+ id=179,
2386
+ color=[128, 0, 128]),
2387
+ 180:
2388
+ dict(
2389
+ link=('trousers_kpt9', 'trousers_kpt10'),
2390
+ id=180,
2391
+ color=[128, 0, 128]),
2392
+ 181:
2393
+ dict(
2394
+ link=('trousers_kpt10', 'trousers_kpt11'),
2395
+ id=181,
2396
+ color=[128, 0, 128]),
2397
+ 182:
2398
+ dict(
2399
+ link=('trousers_kpt11', 'trousers_kpt12'),
2400
+ id=182,
2401
+ color=[128, 0, 128]),
2402
+ 183:
2403
+ dict(
2404
+ link=('trousers_kpt12', 'trousers_kpt13'),
2405
+ id=183,
2406
+ color=[128, 0, 128]),
2407
+ 184:
2408
+ dict(
2409
+ link=('trousers_kpt13', 'trousers_kpt14'),
2410
+ id=184,
2411
+ color=[128, 0, 128]),
2412
+ 185:
2413
+ dict(
2414
+ link=('trousers_kpt14', 'trousers_kpt3'),
2415
+ id=185,
2416
+ color=[128, 0, 128]),
2417
+ 186:
2418
+ dict(
2419
+ link=('trousers_kpt3', 'trousers_kpt2'),
2420
+ id=186,
2421
+ color=[128, 0, 128]),
2422
+ 187:
2423
+ dict(
2424
+ link=('trousers_kpt2', 'trousers_kpt1'),
2425
+ id=187,
2426
+ color=[128, 0, 128]),
2427
+ # skirt
2428
+ 188:
2429
+ dict(link=('skirt_kpt1', 'skirt_kpt4'), id=188, color=[64, 128, 128]),
2430
+ 189:
2431
+ dict(link=('skirt_kpt4', 'skirt_kpt5'), id=189, color=[64, 128, 128]),
2432
+ 190:
2433
+ dict(link=('skirt_kpt5', 'skirt_kpt6'), id=190, color=[64, 128, 128]),
2434
+ 191:
2435
+ dict(link=('skirt_kpt6', 'skirt_kpt7'), id=191, color=[64, 128, 128]),
2436
+ 192:
2437
+ dict(link=('skirt_kpt7', 'skirt_kpt8'), id=192, color=[64, 128, 128]),
2438
+ 193:
2439
+ dict(link=('skirt_kpt8', 'skirt_kpt3'), id=193, color=[64, 128, 128]),
2440
+ 194:
2441
+ dict(link=('skirt_kpt3', 'skirt_kpt2'), id=194, color=[64, 128, 128]),
2442
+ 195:
2443
+ dict(link=('skirt_kpt2', 'skirt_kpt1'), id=195, color=[64, 128, 128]),
2444
+ # short_sleeved_dress
2445
+ 196:
2446
+ dict(link=('ssd_kpt1', 'ssd_kpt2'), id=196, color=[64, 64, 128]),
2447
+ 197:
2448
+ dict(link=('ssd_kpt2', 'ssd_kpt7'), id=197, color=[64, 64, 128]),
2449
+ 198:
2450
+ dict(link=('ssd_kpt7', 'ssd_kpt8'), id=198, color=[64, 64, 128]),
2451
+ 199:
2452
+ dict(link=('ssd_kpt8', 'ssd_kpt9'), id=199, color=[64, 64, 128]),
2453
+ 200:
2454
+ dict(link=('ssd_kpt9', 'ssd_kpt10'), id=200, color=[64, 64, 128]),
2455
+ 201:
2456
+ dict(link=('ssd_kpt10', 'ssd_kpt11'), id=201, color=[64, 64, 128]),
2457
+ 202:
2458
+ dict(link=('ssd_kpt11', 'ssd_kpt12'), id=202, color=[64, 64, 128]),
2459
+ 203:
2460
+ dict(link=('ssd_kpt12', 'ssd_kpt13'), id=203, color=[64, 64, 128]),
2461
+ 204:
2462
+ dict(link=('ssd_kpt13', 'ssd_kpt14'), id=204, color=[64, 64, 128]),
2463
+ 205:
2464
+ dict(link=('ssd_kpt14', 'ssd_kpt15'), id=205, color=[64, 64, 128]),
2465
+ 206:
2466
+ dict(link=('ssd_kpt15', 'ssd_kpt16'), id=206, color=[64, 64, 128]),
2467
+ 207:
2468
+ dict(link=('ssd_kpt16', 'ssd_kpt17'), id=207, color=[64, 64, 128]),
2469
+ 208:
2470
+ dict(link=('ssd_kpt17', 'ssd_kpt18'), id=208, color=[64, 64, 128]),
2471
+ 209:
2472
+ dict(link=('ssd_kpt18', 'ssd_kpt19'), id=209, color=[64, 64, 128]),
2473
+ 210:
2474
+ dict(link=('ssd_kpt19', 'ssd_kpt20'), id=210, color=[64, 64, 128]),
2475
+ 211:
2476
+ dict(link=('ssd_kpt20', 'ssd_kpt21'), id=211, color=[64, 64, 128]),
2477
+ 212:
2478
+ dict(link=('ssd_kpt21', 'ssd_kpt22'), id=212, color=[64, 64, 128]),
2479
+ 213:
2480
+ dict(link=('ssd_kpt22', 'ssd_kpt23'), id=213, color=[64, 64, 128]),
2481
+ 214:
2482
+ dict(link=('ssd_kpt23', 'ssd_kpt24'), id=214, color=[64, 64, 128]),
2483
+ 215:
2484
+ dict(link=('ssd_kpt24', 'ssd_kpt25'), id=215, color=[64, 64, 128]),
2485
+ 216:
2486
+ dict(link=('ssd_kpt25', 'ssd_kpt26'), id=216, color=[64, 64, 128]),
2487
+ 217:
2488
+ dict(link=('ssd_kpt26', 'ssd_kpt27'), id=217, color=[64, 64, 128]),
2489
+ 218:
2490
+ dict(link=('ssd_kpt27', 'ssd_kpt28'), id=218, color=[64, 64, 128]),
2491
+ 219:
2492
+ dict(link=('ssd_kpt28', 'ssd_kpt29'), id=219, color=[64, 64, 128]),
2493
+ 220:
2494
+ dict(link=('ssd_kpt29', 'ssd_kpt6'), id=220, color=[64, 64, 128]),
2495
+ 221:
2496
+ dict(link=('ssd_kpt6', 'ssd_kpt5'), id=221, color=[64, 64, 128]),
2497
+ 222:
2498
+ dict(link=('ssd_kpt5', 'ssd_kpt4'), id=222, color=[64, 64, 128]),
2499
+ 223:
2500
+ dict(link=('ssd_kpt4', 'ssd_kpt3'), id=223, color=[64, 64, 128]),
2501
+ 224:
2502
+ dict(link=('ssd_kpt3', 'ssd_kpt2'), id=224, color=[64, 64, 128]),
2503
+ 225:
2504
+ dict(link=('ssd_kpt6', 'ssd_kpt1'), id=225, color=[64, 64, 128]),
2505
+ # long_sleeved_dress
2506
+ 226:
2507
+ dict(link=('lsd_kpt1', 'lsd_kpt2'), id=226, color=[128, 64, 0]),
2508
+ 227:
2509
+ dict(link=('lsd_kpt2', 'lsd_kpt7'), id=228, color=[128, 64, 0]),
2510
+ 228:
2511
+ dict(link=('lsd_kpt7', 'lsd_kpt8'), id=228, color=[128, 64, 0]),
2512
+ 229:
2513
+ dict(link=('lsd_kpt8', 'lsd_kpt9'), id=229, color=[128, 64, 0]),
2514
+ 230:
2515
+ dict(link=('lsd_kpt9', 'lsd_kpt10'), id=230, color=[128, 64, 0]),
2516
+ 231:
2517
+ dict(link=('lsd_kpt10', 'lsd_kpt11'), id=231, color=[128, 64, 0]),
2518
+ 232:
2519
+ dict(link=('lsd_kpt11', 'lsd_kpt12'), id=232, color=[128, 64, 0]),
2520
+ 233:
2521
+ dict(link=('lsd_kpt12', 'lsd_kpt13'), id=233, color=[128, 64, 0]),
2522
+ 234:
2523
+ dict(link=('lsd_kpt13', 'lsd_kpt14'), id=234, color=[128, 64, 0]),
2524
+ 235:
2525
+ dict(link=('lsd_kpt14', 'lsd_kpt15'), id=235, color=[128, 64, 0]),
2526
+ 236:
2527
+ dict(link=('lsd_kpt15', 'lsd_kpt16'), id=236, color=[128, 64, 0]),
2528
+ 237:
2529
+ dict(link=('lsd_kpt16', 'lsd_kpt17'), id=237, color=[128, 64, 0]),
2530
+ 238:
2531
+ dict(link=('lsd_kpt17', 'lsd_kpt18'), id=238, color=[128, 64, 0]),
2532
+ 239:
2533
+ dict(link=('lsd_kpt18', 'lsd_kpt19'), id=239, color=[128, 64, 0]),
2534
+ 240:
2535
+ dict(link=('lsd_kpt19', 'lsd_kpt20'), id=240, color=[128, 64, 0]),
2536
+ 241:
2537
+ dict(link=('lsd_kpt20', 'lsd_kpt21'), id=241, color=[128, 64, 0]),
2538
+ 242:
2539
+ dict(link=('lsd_kpt21', 'lsd_kpt22'), id=242, color=[128, 64, 0]),
2540
+ 243:
2541
+ dict(link=('lsd_kpt22', 'lsd_kpt23'), id=243, color=[128, 64, 0]),
2542
+ 244:
2543
+ dict(link=('lsd_kpt23', 'lsd_kpt24'), id=244, color=[128, 64, 0]),
2544
+ 245:
2545
+ dict(link=('lsd_kpt24', 'lsd_kpt25'), id=245, color=[128, 64, 0]),
2546
+ 246:
2547
+ dict(link=('lsd_kpt25', 'lsd_kpt26'), id=246, color=[128, 64, 0]),
2548
+ 247:
2549
+ dict(link=('lsd_kpt26', 'lsd_kpt27'), id=247, color=[128, 64, 0]),
2550
+ 248:
2551
+ dict(link=('lsd_kpt27', 'lsd_kpt28'), id=248, color=[128, 64, 0]),
2552
+ 249:
2553
+ dict(link=('lsd_kpt28', 'lsd_kpt29'), id=249, color=[128, 64, 0]),
2554
+ 250:
2555
+ dict(link=('lsd_kpt29', 'lsd_kpt30'), id=250, color=[128, 64, 0]),
2556
+ 251:
2557
+ dict(link=('lsd_kpt30', 'lsd_kpt31'), id=251, color=[128, 64, 0]),
2558
+ 252:
2559
+ dict(link=('lsd_kpt31', 'lsd_kpt32'), id=252, color=[128, 64, 0]),
2560
+ 253:
2561
+ dict(link=('lsd_kpt32', 'lsd_kpt33'), id=253, color=[128, 64, 0]),
2562
+ 254:
2563
+ dict(link=('lsd_kpt33', 'lsd_kpt34'), id=254, color=[128, 64, 0]),
2564
+ 255:
2565
+ dict(link=('lsd_kpt34', 'lsd_kpt35'), id=255, color=[128, 64, 0]),
2566
+ 256:
2567
+ dict(link=('lsd_kpt35', 'lsd_kpt36'), id=256, color=[128, 64, 0]),
2568
+ 257:
2569
+ dict(link=('lsd_kpt36', 'lsd_kpt37'), id=257, color=[128, 64, 0]),
2570
+ 258:
2571
+ dict(link=('lsd_kpt37', 'lsd_kpt6'), id=258, color=[128, 64, 0]),
2572
+ 259:
2573
+ dict(link=('lsd_kpt6', 'lsd_kpt5'), id=259, color=[128, 64, 0]),
2574
+ 260:
2575
+ dict(link=('lsd_kpt5', 'lsd_kpt4'), id=260, color=[128, 64, 0]),
2576
+ 261:
2577
+ dict(link=('lsd_kpt4', 'lsd_kpt3'), id=261, color=[128, 64, 0]),
2578
+ 262:
2579
+ dict(link=('lsd_kpt3', 'lsd_kpt2'), id=262, color=[128, 64, 0]),
2580
+ 263:
2581
+ dict(link=('lsd_kpt6', 'lsd_kpt1'), id=263, color=[128, 64, 0]),
2582
+ # vest_dress
2583
+ 264:
2584
+ dict(link=('vd_kpt1', 'vd_kpt2'), id=264, color=[128, 64, 255]),
2585
+ 265:
2586
+ dict(link=('vd_kpt2', 'vd_kpt7'), id=265, color=[128, 64, 255]),
2587
+ 266:
2588
+ dict(link=('vd_kpt7', 'vd_kpt8'), id=266, color=[128, 64, 255]),
2589
+ 267:
2590
+ dict(link=('vd_kpt8', 'vd_kpt9'), id=267, color=[128, 64, 255]),
2591
+ 268:
2592
+ dict(link=('vd_kpt9', 'vd_kpt10'), id=268, color=[128, 64, 255]),
2593
+ 269:
2594
+ dict(link=('vd_kpt10', 'vd_kpt11'), id=269, color=[128, 64, 255]),
2595
+ 270:
2596
+ dict(link=('vd_kpt11', 'vd_kpt12'), id=270, color=[128, 64, 255]),
2597
+ 271:
2598
+ dict(link=('vd_kpt12', 'vd_kpt13'), id=271, color=[128, 64, 255]),
2599
+ 272:
2600
+ dict(link=('vd_kpt13', 'vd_kpt14'), id=272, color=[128, 64, 255]),
2601
+ 273:
2602
+ dict(link=('vd_kpt14', 'vd_kpt15'), id=273, color=[128, 64, 255]),
2603
+ 274:
2604
+ dict(link=('vd_kpt15', 'vd_kpt16'), id=274, color=[128, 64, 255]),
2605
+ 275:
2606
+ dict(link=('vd_kpt16', 'vd_kpt17'), id=275, color=[128, 64, 255]),
2607
+ 276:
2608
+ dict(link=('vd_kpt17', 'vd_kpt18'), id=276, color=[128, 64, 255]),
2609
+ 277:
2610
+ dict(link=('vd_kpt18', 'vd_kpt19'), id=277, color=[128, 64, 255]),
2611
+ 278:
2612
+ dict(link=('vd_kpt19', 'vd_kpt6'), id=278, color=[128, 64, 255]),
2613
+ 279:
2614
+ dict(link=('vd_kpt6', 'vd_kpt5'), id=279, color=[128, 64, 255]),
2615
+ 280:
2616
+ dict(link=('vd_kpt5', 'vd_kpt4'), id=280, color=[128, 64, 255]),
2617
+ 281:
2618
+ dict(link=('vd_kpt4', 'vd_kpt3'), id=281, color=[128, 64, 255]),
2619
+ 282:
2620
+ dict(link=('vd_kpt3', 'vd_kpt2'), id=282, color=[128, 64, 255]),
2621
+ 283:
2622
+ dict(link=('vd_kpt6', 'vd_kpt1'), id=283, color=[128, 64, 255]),
2623
+ # sling_dress
2624
+ 284:
2625
+ dict(link=('sd_kpt1', 'sd_kpt2'), id=284, color=[128, 64, 0]),
2626
+ 285:
2627
+ dict(link=('sd_kpt2', 'sd_kpt8'), id=285, color=[128, 64, 0]),
2628
+ 286:
2629
+ dict(link=('sd_kpt8', 'sd_kpt9'), id=286, color=[128, 64, 0]),
2630
+ 287:
2631
+ dict(link=('sd_kpt9', 'sd_kpt10'), id=287, color=[128, 64, 0]),
2632
+ 288:
2633
+ dict(link=('sd_kpt10', 'sd_kpt11'), id=288, color=[128, 64, 0]),
2634
+ 289:
2635
+ dict(link=('sd_kpt11', 'sd_kpt12'), id=289, color=[128, 64, 0]),
2636
+ 290:
2637
+ dict(link=('sd_kpt12', 'sd_kpt13'), id=290, color=[128, 64, 0]),
2638
+ 291:
2639
+ dict(link=('sd_kpt13', 'sd_kpt14'), id=291, color=[128, 64, 0]),
2640
+ 292:
2641
+ dict(link=('sd_kpt14', 'sd_kpt15'), id=292, color=[128, 64, 0]),
2642
+ 293:
2643
+ dict(link=('sd_kpt15', 'sd_kpt16'), id=293, color=[128, 64, 0]),
2644
+ 294:
2645
+ dict(link=('sd_kpt16', 'sd_kpt17'), id=294, color=[128, 64, 0]),
2646
+ 295:
2647
+ dict(link=('sd_kpt17', 'sd_kpt18'), id=295, color=[128, 64, 0]),
2648
+ 296:
2649
+ dict(link=('sd_kpt18', 'sd_kpt6'), id=296, color=[128, 64, 0]),
2650
+ 297:
2651
+ dict(link=('sd_kpt6', 'sd_kpt5'), id=297, color=[128, 64, 0]),
2652
+ 298:
2653
+ dict(link=('sd_kpt5', 'sd_kpt4'), id=298, color=[128, 64, 0]),
2654
+ 299:
2655
+ dict(link=('sd_kpt4', 'sd_kpt3'), id=299, color=[128, 64, 0]),
2656
+ 300:
2657
+ dict(link=('sd_kpt3', 'sd_kpt2'), id=300, color=[128, 64, 0]),
2658
+ 301:
2659
+ dict(link=('sd_kpt2', 'sd_kpt7'), id=301, color=[128, 64, 0]),
2660
+ 302:
2661
+ dict(link=('sd_kpt6', 'sd_kpt19'), id=302, color=[128, 64, 0]),
2662
+ 303:
2663
+ dict(link=('sd_kpt6', 'sd_kpt1'), id=303, color=[128, 64, 0]),
2664
+ },
2665
+ joint_weights=[1.] * 294,
2666
+ sigmas=[])
configs/_base_/datasets/deepfashion_full.py ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='deepfashion_full',
9
+ paper_info=dict(
10
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
11
+ 'and Wang, Xiaogang and Tang, Xiaoou',
12
+ title='DeepFashion: Powering Robust Clothes Recognition '
13
+ 'and Retrieval with Rich Annotations',
14
+ container='Proceedings of IEEE Conference on Computer '
15
+ 'Vision and Pattern Recognition (CVPR)',
16
+ year='2016',
17
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
18
+ 'DeepFashion/LandmarkDetection.html',
19
+ ),
20
+ keypoint_info={
21
+ 0:
22
+ dict(
23
+ name='left collar',
24
+ id=0,
25
+ color=[255, 255, 255],
26
+ type='',
27
+ swap='right collar'),
28
+ 1:
29
+ dict(
30
+ name='right collar',
31
+ id=1,
32
+ color=[255, 255, 255],
33
+ type='',
34
+ swap='left collar'),
35
+ 2:
36
+ dict(
37
+ name='left sleeve',
38
+ id=2,
39
+ color=[255, 255, 255],
40
+ type='',
41
+ swap='right sleeve'),
42
+ 3:
43
+ dict(
44
+ name='right sleeve',
45
+ id=3,
46
+ color=[255, 255, 255],
47
+ type='',
48
+ swap='left sleeve'),
49
+ 4:
50
+ dict(
51
+ name='left waistline',
52
+ id=0,
53
+ color=[255, 255, 255],
54
+ type='',
55
+ swap='right waistline'),
56
+ 5:
57
+ dict(
58
+ name='right waistline',
59
+ id=1,
60
+ color=[255, 255, 255],
61
+ type='',
62
+ swap='left waistline'),
63
+ 6:
64
+ dict(
65
+ name='left hem',
66
+ id=2,
67
+ color=[255, 255, 255],
68
+ type='',
69
+ swap='right hem'),
70
+ 7:
71
+ dict(
72
+ name='right hem',
73
+ id=3,
74
+ color=[255, 255, 255],
75
+ type='',
76
+ swap='left hem'),
77
+ },
78
+ skeleton_info={},
79
+ joint_weights=[1.] * 8,
80
+ sigmas=[])
configs/_base_/datasets/deepfashion_lower.py ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='deepfashion_lower',
9
+ paper_info=dict(
10
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
11
+ 'and Wang, Xiaogang and Tang, Xiaoou',
12
+ title='DeepFashion: Powering Robust Clothes Recognition '
13
+ 'and Retrieval with Rich Annotations',
14
+ container='Proceedings of IEEE Conference on Computer '
15
+ 'Vision and Pattern Recognition (CVPR)',
16
+ year='2016',
17
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
18
+ 'DeepFashion/LandmarkDetection.html',
19
+ ),
20
+ keypoint_info={
21
+ 0:
22
+ dict(
23
+ name='left waistline',
24
+ id=0,
25
+ color=[255, 255, 255],
26
+ type='',
27
+ swap='right waistline'),
28
+ 1:
29
+ dict(
30
+ name='right waistline',
31
+ id=1,
32
+ color=[255, 255, 255],
33
+ type='',
34
+ swap='left waistline'),
35
+ 2:
36
+ dict(
37
+ name='left hem',
38
+ id=2,
39
+ color=[255, 255, 255],
40
+ type='',
41
+ swap='right hem'),
42
+ 3:
43
+ dict(
44
+ name='right hem',
45
+ id=3,
46
+ color=[255, 255, 255],
47
+ type='',
48
+ swap='left hem'),
49
+ },
50
+ skeleton_info={},
51
+ joint_weights=[1.] * 4,
52
+ sigmas=[])
configs/_base_/datasets/deepfashion_upper.py ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='deepfashion_upper',
9
+ paper_info=dict(
10
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
11
+ 'and Wang, Xiaogang and Tang, Xiaoou',
12
+ title='DeepFashion: Powering Robust Clothes Recognition '
13
+ 'and Retrieval with Rich Annotations',
14
+ container='Proceedings of IEEE Conference on Computer '
15
+ 'Vision and Pattern Recognition (CVPR)',
16
+ year='2016',
17
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
18
+ 'DeepFashion/LandmarkDetection.html',
19
+ ),
20
+ keypoint_info={
21
+ 0:
22
+ dict(
23
+ name='left collar',
24
+ id=0,
25
+ color=[255, 255, 255],
26
+ type='',
27
+ swap='right collar'),
28
+ 1:
29
+ dict(
30
+ name='right collar',
31
+ id=1,
32
+ color=[255, 255, 255],
33
+ type='',
34
+ swap='left collar'),
35
+ 2:
36
+ dict(
37
+ name='left sleeve',
38
+ id=2,
39
+ color=[255, 255, 255],
40
+ type='',
41
+ swap='right sleeve'),
42
+ 3:
43
+ dict(
44
+ name='right sleeve',
45
+ id=3,
46
+ color=[255, 255, 255],
47
+ type='',
48
+ swap='left sleeve'),
49
+ 4:
50
+ dict(
51
+ name='left hem',
52
+ id=4,
53
+ color=[255, 255, 255],
54
+ type='',
55
+ swap='right hem'),
56
+ 5:
57
+ dict(
58
+ name='right hem',
59
+ id=5,
60
+ color=[255, 255, 255],
61
+ type='',
62
+ swap='left hem'),
63
+ },
64
+ skeleton_info={},
65
+ joint_weights=[1.] * 6,
66
+ sigmas=[])
configs/_base_/datasets/fly.py ADDED
@@ -0,0 +1,243 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='fly',
9
+ paper_info=dict(
10
+ author='Pereira, Talmo D and Aldarondo, Diego E and '
11
+ 'Willmore, Lindsay and Kislin, Mikhail and '
12
+ 'Wang, Samuel S-H and Murthy, Mala and Shaevitz, Joshua W',
13
+ title='Fast animal pose estimation using deep neural networks',
14
+ container='Nature methods',
15
+ year='2019',
16
+ homepage='https://github.com/jgraving/DeepPoseKit-Data',
17
+ ),
18
+ keypoint_info={
19
+ 0:
20
+ dict(name='head', id=0, color=[255, 255, 255], type='', swap=''),
21
+ 1:
22
+ dict(name='eyeL', id=1, color=[255, 255, 255], type='', swap='eyeR'),
23
+ 2:
24
+ dict(name='eyeR', id=2, color=[255, 255, 255], type='', swap='eyeL'),
25
+ 3:
26
+ dict(name='neck', id=3, color=[255, 255, 255], type='', swap=''),
27
+ 4:
28
+ dict(name='thorax', id=4, color=[255, 255, 255], type='', swap=''),
29
+ 5:
30
+ dict(name='abdomen', id=5, color=[255, 255, 255], type='', swap=''),
31
+ 6:
32
+ dict(
33
+ name='forelegR1',
34
+ id=6,
35
+ color=[255, 255, 255],
36
+ type='',
37
+ swap='forelegL1'),
38
+ 7:
39
+ dict(
40
+ name='forelegR2',
41
+ id=7,
42
+ color=[255, 255, 255],
43
+ type='',
44
+ swap='forelegL2'),
45
+ 8:
46
+ dict(
47
+ name='forelegR3',
48
+ id=8,
49
+ color=[255, 255, 255],
50
+ type='',
51
+ swap='forelegL3'),
52
+ 9:
53
+ dict(
54
+ name='forelegR4',
55
+ id=9,
56
+ color=[255, 255, 255],
57
+ type='',
58
+ swap='forelegL4'),
59
+ 10:
60
+ dict(
61
+ name='midlegR1',
62
+ id=10,
63
+ color=[255, 255, 255],
64
+ type='',
65
+ swap='midlegL1'),
66
+ 11:
67
+ dict(
68
+ name='midlegR2',
69
+ id=11,
70
+ color=[255, 255, 255],
71
+ type='',
72
+ swap='midlegL2'),
73
+ 12:
74
+ dict(
75
+ name='midlegR3',
76
+ id=12,
77
+ color=[255, 255, 255],
78
+ type='',
79
+ swap='midlegL3'),
80
+ 13:
81
+ dict(
82
+ name='midlegR4',
83
+ id=13,
84
+ color=[255, 255, 255],
85
+ type='',
86
+ swap='midlegL4'),
87
+ 14:
88
+ dict(
89
+ name='hindlegR1',
90
+ id=14,
91
+ color=[255, 255, 255],
92
+ type='',
93
+ swap='hindlegL1'),
94
+ 15:
95
+ dict(
96
+ name='hindlegR2',
97
+ id=15,
98
+ color=[255, 255, 255],
99
+ type='',
100
+ swap='hindlegL2'),
101
+ 16:
102
+ dict(
103
+ name='hindlegR3',
104
+ id=16,
105
+ color=[255, 255, 255],
106
+ type='',
107
+ swap='hindlegL3'),
108
+ 17:
109
+ dict(
110
+ name='hindlegR4',
111
+ id=17,
112
+ color=[255, 255, 255],
113
+ type='',
114
+ swap='hindlegL4'),
115
+ 18:
116
+ dict(
117
+ name='forelegL1',
118
+ id=18,
119
+ color=[255, 255, 255],
120
+ type='',
121
+ swap='forelegR1'),
122
+ 19:
123
+ dict(
124
+ name='forelegL2',
125
+ id=19,
126
+ color=[255, 255, 255],
127
+ type='',
128
+ swap='forelegR2'),
129
+ 20:
130
+ dict(
131
+ name='forelegL3',
132
+ id=20,
133
+ color=[255, 255, 255],
134
+ type='',
135
+ swap='forelegR3'),
136
+ 21:
137
+ dict(
138
+ name='forelegL4',
139
+ id=21,
140
+ color=[255, 255, 255],
141
+ type='',
142
+ swap='forelegR4'),
143
+ 22:
144
+ dict(
145
+ name='midlegL1',
146
+ id=22,
147
+ color=[255, 255, 255],
148
+ type='',
149
+ swap='midlegR1'),
150
+ 23:
151
+ dict(
152
+ name='midlegL2',
153
+ id=23,
154
+ color=[255, 255, 255],
155
+ type='',
156
+ swap='midlegR2'),
157
+ 24:
158
+ dict(
159
+ name='midlegL3',
160
+ id=24,
161
+ color=[255, 255, 255],
162
+ type='',
163
+ swap='midlegR3'),
164
+ 25:
165
+ dict(
166
+ name='midlegL4',
167
+ id=25,
168
+ color=[255, 255, 255],
169
+ type='',
170
+ swap='midlegR4'),
171
+ 26:
172
+ dict(
173
+ name='hindlegL1',
174
+ id=26,
175
+ color=[255, 255, 255],
176
+ type='',
177
+ swap='hindlegR1'),
178
+ 27:
179
+ dict(
180
+ name='hindlegL2',
181
+ id=27,
182
+ color=[255, 255, 255],
183
+ type='',
184
+ swap='hindlegR2'),
185
+ 28:
186
+ dict(
187
+ name='hindlegL3',
188
+ id=28,
189
+ color=[255, 255, 255],
190
+ type='',
191
+ swap='hindlegR3'),
192
+ 29:
193
+ dict(
194
+ name='hindlegL4',
195
+ id=29,
196
+ color=[255, 255, 255],
197
+ type='',
198
+ swap='hindlegR4'),
199
+ 30:
200
+ dict(
201
+ name='wingL', id=30, color=[255, 255, 255], type='', swap='wingR'),
202
+ 31:
203
+ dict(
204
+ name='wingR', id=31, color=[255, 255, 255], type='', swap='wingL'),
205
+ },
206
+ skeleton_info={
207
+ 0: dict(link=('eyeL', 'head'), id=0, color=[255, 255, 255]),
208
+ 1: dict(link=('eyeR', 'head'), id=1, color=[255, 255, 255]),
209
+ 2: dict(link=('neck', 'head'), id=2, color=[255, 255, 255]),
210
+ 3: dict(link=('thorax', 'neck'), id=3, color=[255, 255, 255]),
211
+ 4: dict(link=('abdomen', 'thorax'), id=4, color=[255, 255, 255]),
212
+ 5: dict(link=('forelegR2', 'forelegR1'), id=5, color=[255, 255, 255]),
213
+ 6: dict(link=('forelegR3', 'forelegR2'), id=6, color=[255, 255, 255]),
214
+ 7: dict(link=('forelegR4', 'forelegR3'), id=7, color=[255, 255, 255]),
215
+ 8: dict(link=('midlegR2', 'midlegR1'), id=8, color=[255, 255, 255]),
216
+ 9: dict(link=('midlegR3', 'midlegR2'), id=9, color=[255, 255, 255]),
217
+ 10: dict(link=('midlegR4', 'midlegR3'), id=10, color=[255, 255, 255]),
218
+ 11:
219
+ dict(link=('hindlegR2', 'hindlegR1'), id=11, color=[255, 255, 255]),
220
+ 12:
221
+ dict(link=('hindlegR3', 'hindlegR2'), id=12, color=[255, 255, 255]),
222
+ 13:
223
+ dict(link=('hindlegR4', 'hindlegR3'), id=13, color=[255, 255, 255]),
224
+ 14:
225
+ dict(link=('forelegL2', 'forelegL1'), id=14, color=[255, 255, 255]),
226
+ 15:
227
+ dict(link=('forelegL3', 'forelegL2'), id=15, color=[255, 255, 255]),
228
+ 16:
229
+ dict(link=('forelegL4', 'forelegL3'), id=16, color=[255, 255, 255]),
230
+ 17: dict(link=('midlegL2', 'midlegL1'), id=17, color=[255, 255, 255]),
231
+ 18: dict(link=('midlegL3', 'midlegL2'), id=18, color=[255, 255, 255]),
232
+ 19: dict(link=('midlegL4', 'midlegL3'), id=19, color=[255, 255, 255]),
233
+ 20:
234
+ dict(link=('hindlegL2', 'hindlegL1'), id=20, color=[255, 255, 255]),
235
+ 21:
236
+ dict(link=('hindlegL3', 'hindlegL2'), id=21, color=[255, 255, 255]),
237
+ 22:
238
+ dict(link=('hindlegL4', 'hindlegL3'), id=22, color=[255, 255, 255]),
239
+ 23: dict(link=('wingL', 'neck'), id=23, color=[255, 255, 255]),
240
+ 24: dict(link=('wingR', 'neck'), id=24, color=[255, 255, 255])
241
+ },
242
+ joint_weights=[1.] * 32,
243
+ sigmas=[])
configs/_base_/datasets/freihand2d.py ADDED
@@ -0,0 +1,150 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='freihand',
9
+ paper_info=dict(
10
+ author='Zimmermann, Christian and Ceylan, Duygu and '
11
+ 'Yang, Jimei and Russell, Bryan and '
12
+ 'Argus, Max and Brox, Thomas',
13
+ title='Freihand: A dataset for markerless capture of hand pose '
14
+ 'and shape from single rgb images',
15
+ container='Proceedings of the IEEE International '
16
+ 'Conference on Computer Vision',
17
+ year='2019',
18
+ homepage='https://lmb.informatik.uni-freiburg.de/projects/freihand/',
19
+ ),
20
+ keypoint_info={
21
+ 0:
22
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
23
+ 1:
24
+ dict(name='thumb1', id=1, color=[255, 128, 0], type='', swap=''),
25
+ 2:
26
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
27
+ 3:
28
+ dict(name='thumb3', id=3, color=[255, 128, 0], type='', swap=''),
29
+ 4:
30
+ dict(name='thumb4', id=4, color=[255, 128, 0], type='', swap=''),
31
+ 5:
32
+ dict(
33
+ name='forefinger1', id=5, color=[255, 153, 255], type='', swap=''),
34
+ 6:
35
+ dict(
36
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
37
+ 7:
38
+ dict(
39
+ name='forefinger3', id=7, color=[255, 153, 255], type='', swap=''),
40
+ 8:
41
+ dict(
42
+ name='forefinger4', id=8, color=[255, 153, 255], type='', swap=''),
43
+ 9:
44
+ dict(
45
+ name='middle_finger1',
46
+ id=9,
47
+ color=[102, 178, 255],
48
+ type='',
49
+ swap=''),
50
+ 10:
51
+ dict(
52
+ name='middle_finger2',
53
+ id=10,
54
+ color=[102, 178, 255],
55
+ type='',
56
+ swap=''),
57
+ 11:
58
+ dict(
59
+ name='middle_finger3',
60
+ id=11,
61
+ color=[102, 178, 255],
62
+ type='',
63
+ swap=''),
64
+ 12:
65
+ dict(
66
+ name='middle_finger4',
67
+ id=12,
68
+ color=[102, 178, 255],
69
+ type='',
70
+ swap=''),
71
+ 13:
72
+ dict(
73
+ name='ring_finger1', id=13, color=[255, 51, 51], type='', swap=''),
74
+ 14:
75
+ dict(
76
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
77
+ 15:
78
+ dict(
79
+ name='ring_finger3', id=15, color=[255, 51, 51], type='', swap=''),
80
+ 16:
81
+ dict(
82
+ name='ring_finger4', id=16, color=[255, 51, 51], type='', swap=''),
83
+ 17:
84
+ dict(name='pinky_finger1', id=17, color=[0, 255, 0], type='', swap=''),
85
+ 18:
86
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
87
+ 19:
88
+ dict(name='pinky_finger3', id=19, color=[0, 255, 0], type='', swap=''),
89
+ 20:
90
+ dict(name='pinky_finger4', id=20, color=[0, 255, 0], type='', swap='')
91
+ },
92
+ skeleton_info={
93
+ 0:
94
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
95
+ 1:
96
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
97
+ 2:
98
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
99
+ 3:
100
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
101
+ 4:
102
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
103
+ 5:
104
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
105
+ 6:
106
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
107
+ 7:
108
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
109
+ 8:
110
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
111
+ 9:
112
+ dict(
113
+ link=('middle_finger1', 'middle_finger2'),
114
+ id=9,
115
+ color=[102, 178, 255]),
116
+ 10:
117
+ dict(
118
+ link=('middle_finger2', 'middle_finger3'),
119
+ id=10,
120
+ color=[102, 178, 255]),
121
+ 11:
122
+ dict(
123
+ link=('middle_finger3', 'middle_finger4'),
124
+ id=11,
125
+ color=[102, 178, 255]),
126
+ 12:
127
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
128
+ 13:
129
+ dict(
130
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
131
+ 14:
132
+ dict(
133
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
134
+ 15:
135
+ dict(
136
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
137
+ 16:
138
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
139
+ 17:
140
+ dict(
141
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
142
+ 18:
143
+ dict(
144
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
145
+ 19:
146
+ dict(
147
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
148
+ },
149
+ joint_weights=[1.] * 21,
150
+ sigmas=[])
configs/_base_/datasets/goliath.py ADDED
The diff for this file is too large to render. See raw diff
 
configs/_base_/datasets/goliath3d.py ADDED
@@ -0,0 +1,2131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ coco_wholebody_info = dict(
8
+ dataset_name='coco_wholebody',
9
+ paper_info=dict(
10
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
11
+ 'Wang, Can and Liu, Wentao and '
12
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
13
+ title='Whole-Body Human Pose Estimation in the Wild',
14
+ container='Proceedings of the European '
15
+ 'Conference on Computer Vision (ECCV)',
16
+ year='2020',
17
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
22
+ 1:
23
+ dict(
24
+ name='left_eye',
25
+ id=1,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='right_eye'),
29
+ 2:
30
+ dict(
31
+ name='right_eye',
32
+ id=2,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='left_eye'),
36
+ 3:
37
+ dict(
38
+ name='left_ear',
39
+ id=3,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='right_ear'),
43
+ 4:
44
+ dict(
45
+ name='right_ear',
46
+ id=4,
47
+ color=[51, 153, 255],
48
+ type='upper',
49
+ swap='left_ear'),
50
+ 5:
51
+ dict(
52
+ name='left_shoulder',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_shoulder'),
57
+ 6:
58
+ dict(
59
+ name='right_shoulder',
60
+ id=6,
61
+ color=[255, 128, 0],
62
+ type='upper',
63
+ swap='left_shoulder'),
64
+ 7:
65
+ dict(
66
+ name='left_elbow',
67
+ id=7,
68
+ color=[0, 255, 0],
69
+ type='upper',
70
+ swap='right_elbow'),
71
+ 8:
72
+ dict(
73
+ name='right_elbow',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_elbow'),
78
+ 9:
79
+ dict(
80
+ name='left_wrist',
81
+ id=9,
82
+ color=[0, 255, 0],
83
+ type='upper',
84
+ swap='right_wrist'),
85
+ 10:
86
+ dict(
87
+ name='right_wrist',
88
+ id=10,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_wrist'),
92
+ 11:
93
+ dict(
94
+ name='left_hip',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_hip'),
99
+ 12:
100
+ dict(
101
+ name='right_hip',
102
+ id=12,
103
+ color=[255, 128, 0],
104
+ type='lower',
105
+ swap='left_hip'),
106
+ 13:
107
+ dict(
108
+ name='left_knee',
109
+ id=13,
110
+ color=[0, 255, 0],
111
+ type='lower',
112
+ swap='right_knee'),
113
+ 14:
114
+ dict(
115
+ name='right_knee',
116
+ id=14,
117
+ color=[255, 128, 0],
118
+ type='lower',
119
+ swap='left_knee'),
120
+ 15:
121
+ dict(
122
+ name='left_ankle',
123
+ id=15,
124
+ color=[0, 255, 0],
125
+ type='lower',
126
+ swap='right_ankle'),
127
+ 16:
128
+ dict(
129
+ name='right_ankle',
130
+ id=16,
131
+ color=[255, 128, 0],
132
+ type='lower',
133
+ swap='left_ankle'),
134
+ 17:
135
+ dict(
136
+ name='left_big_toe',
137
+ id=17,
138
+ color=[255, 128, 0],
139
+ type='lower',
140
+ swap='right_big_toe'),
141
+ 18:
142
+ dict(
143
+ name='left_small_toe',
144
+ id=18,
145
+ color=[255, 128, 0],
146
+ type='lower',
147
+ swap='right_small_toe'),
148
+ 19:
149
+ dict(
150
+ name='left_heel',
151
+ id=19,
152
+ color=[255, 128, 0],
153
+ type='lower',
154
+ swap='right_heel'),
155
+ 20:
156
+ dict(
157
+ name='right_big_toe',
158
+ id=20,
159
+ color=[255, 128, 0],
160
+ type='lower',
161
+ swap='left_big_toe'),
162
+ 21:
163
+ dict(
164
+ name='right_small_toe',
165
+ id=21,
166
+ color=[255, 128, 0],
167
+ type='lower',
168
+ swap='left_small_toe'),
169
+ 22:
170
+ dict(
171
+ name='right_heel',
172
+ id=22,
173
+ color=[255, 128, 0],
174
+ type='lower',
175
+ swap='left_heel'),
176
+ 23:
177
+ dict(
178
+ name='face-0',
179
+ id=23,
180
+ color=[255, 255, 255],
181
+ type='',
182
+ swap='face-16'),
183
+ 24:
184
+ dict(
185
+ name='face-1',
186
+ id=24,
187
+ color=[255, 255, 255],
188
+ type='',
189
+ swap='face-15'),
190
+ 25:
191
+ dict(
192
+ name='face-2',
193
+ id=25,
194
+ color=[255, 255, 255],
195
+ type='',
196
+ swap='face-14'),
197
+ 26:
198
+ dict(
199
+ name='face-3',
200
+ id=26,
201
+ color=[255, 255, 255],
202
+ type='',
203
+ swap='face-13'),
204
+ 27:
205
+ dict(
206
+ name='face-4',
207
+ id=27,
208
+ color=[255, 255, 255],
209
+ type='',
210
+ swap='face-12'),
211
+ 28:
212
+ dict(
213
+ name='face-5',
214
+ id=28,
215
+ color=[255, 255, 255],
216
+ type='',
217
+ swap='face-11'),
218
+ 29:
219
+ dict(
220
+ name='face-6',
221
+ id=29,
222
+ color=[255, 255, 255],
223
+ type='',
224
+ swap='face-10'),
225
+ 30:
226
+ dict(
227
+ name='face-7',
228
+ id=30,
229
+ color=[255, 255, 255],
230
+ type='',
231
+ swap='face-9'),
232
+ 31:
233
+ dict(name='face-8', id=31, color=[255, 255, 255], type='', swap=''),
234
+ 32:
235
+ dict(
236
+ name='face-9',
237
+ id=32,
238
+ color=[255, 255, 255],
239
+ type='',
240
+ swap='face-7'),
241
+ 33:
242
+ dict(
243
+ name='face-10',
244
+ id=33,
245
+ color=[255, 255, 255],
246
+ type='',
247
+ swap='face-6'),
248
+ 34:
249
+ dict(
250
+ name='face-11',
251
+ id=34,
252
+ color=[255, 255, 255],
253
+ type='',
254
+ swap='face-5'),
255
+ 35:
256
+ dict(
257
+ name='face-12',
258
+ id=35,
259
+ color=[255, 255, 255],
260
+ type='',
261
+ swap='face-4'),
262
+ 36:
263
+ dict(
264
+ name='face-13',
265
+ id=36,
266
+ color=[255, 255, 255],
267
+ type='',
268
+ swap='face-3'),
269
+ 37:
270
+ dict(
271
+ name='face-14',
272
+ id=37,
273
+ color=[255, 255, 255],
274
+ type='',
275
+ swap='face-2'),
276
+ 38:
277
+ dict(
278
+ name='face-15',
279
+ id=38,
280
+ color=[255, 255, 255],
281
+ type='',
282
+ swap='face-1'),
283
+ 39:
284
+ dict(
285
+ name='face-16',
286
+ id=39,
287
+ color=[255, 255, 255],
288
+ type='',
289
+ swap='face-0'),
290
+ 40:
291
+ dict(
292
+ name='face-17',
293
+ id=40,
294
+ color=[255, 255, 255],
295
+ type='',
296
+ swap='face-26'),
297
+ 41:
298
+ dict(
299
+ name='face-18',
300
+ id=41,
301
+ color=[255, 255, 255],
302
+ type='',
303
+ swap='face-25'),
304
+ 42:
305
+ dict(
306
+ name='face-19',
307
+ id=42,
308
+ color=[255, 255, 255],
309
+ type='',
310
+ swap='face-24'),
311
+ 43:
312
+ dict(
313
+ name='face-20',
314
+ id=43,
315
+ color=[255, 255, 255],
316
+ type='',
317
+ swap='face-23'),
318
+ 44:
319
+ dict(
320
+ name='face-21',
321
+ id=44,
322
+ color=[255, 255, 255],
323
+ type='',
324
+ swap='face-22'),
325
+ 45:
326
+ dict(
327
+ name='face-22',
328
+ id=45,
329
+ color=[255, 255, 255],
330
+ type='',
331
+ swap='face-21'),
332
+ 46:
333
+ dict(
334
+ name='face-23',
335
+ id=46,
336
+ color=[255, 255, 255],
337
+ type='',
338
+ swap='face-20'),
339
+ 47:
340
+ dict(
341
+ name='face-24',
342
+ id=47,
343
+ color=[255, 255, 255],
344
+ type='',
345
+ swap='face-19'),
346
+ 48:
347
+ dict(
348
+ name='face-25',
349
+ id=48,
350
+ color=[255, 255, 255],
351
+ type='',
352
+ swap='face-18'),
353
+ 49:
354
+ dict(
355
+ name='face-26',
356
+ id=49,
357
+ color=[255, 255, 255],
358
+ type='',
359
+ swap='face-17'),
360
+ 50:
361
+ dict(name='face-27', id=50, color=[255, 255, 255], type='', swap=''),
362
+ 51:
363
+ dict(name='face-28', id=51, color=[255, 255, 255], type='', swap=''),
364
+ 52:
365
+ dict(name='face-29', id=52, color=[255, 255, 255], type='', swap=''),
366
+ 53:
367
+ dict(name='face-30', id=53, color=[255, 255, 255], type='', swap=''),
368
+ 54:
369
+ dict(
370
+ name='face-31',
371
+ id=54,
372
+ color=[255, 255, 255],
373
+ type='',
374
+ swap='face-35'),
375
+ 55:
376
+ dict(
377
+ name='face-32',
378
+ id=55,
379
+ color=[255, 255, 255],
380
+ type='',
381
+ swap='face-34'),
382
+ 56:
383
+ dict(name='face-33', id=56, color=[255, 255, 255], type='', swap=''),
384
+ 57:
385
+ dict(
386
+ name='face-34',
387
+ id=57,
388
+ color=[255, 255, 255],
389
+ type='',
390
+ swap='face-32'),
391
+ 58:
392
+ dict(
393
+ name='face-35',
394
+ id=58,
395
+ color=[255, 255, 255],
396
+ type='',
397
+ swap='face-31'),
398
+ 59:
399
+ dict(
400
+ name='face-36',
401
+ id=59,
402
+ color=[255, 255, 255],
403
+ type='',
404
+ swap='face-45'),
405
+ 60:
406
+ dict(
407
+ name='face-37',
408
+ id=60,
409
+ color=[255, 255, 255],
410
+ type='',
411
+ swap='face-44'),
412
+ 61:
413
+ dict(
414
+ name='face-38',
415
+ id=61,
416
+ color=[255, 255, 255],
417
+ type='',
418
+ swap='face-43'),
419
+ 62:
420
+ dict(
421
+ name='face-39',
422
+ id=62,
423
+ color=[255, 255, 255],
424
+ type='',
425
+ swap='face-42'),
426
+ 63:
427
+ dict(
428
+ name='face-40',
429
+ id=63,
430
+ color=[255, 255, 255],
431
+ type='',
432
+ swap='face-47'),
433
+ 64:
434
+ dict(
435
+ name='face-41',
436
+ id=64,
437
+ color=[255, 255, 255],
438
+ type='',
439
+ swap='face-46'),
440
+ 65:
441
+ dict(
442
+ name='face-42',
443
+ id=65,
444
+ color=[255, 255, 255],
445
+ type='',
446
+ swap='face-39'),
447
+ 66:
448
+ dict(
449
+ name='face-43',
450
+ id=66,
451
+ color=[255, 255, 255],
452
+ type='',
453
+ swap='face-38'),
454
+ 67:
455
+ dict(
456
+ name='face-44',
457
+ id=67,
458
+ color=[255, 255, 255],
459
+ type='',
460
+ swap='face-37'),
461
+ 68:
462
+ dict(
463
+ name='face-45',
464
+ id=68,
465
+ color=[255, 255, 255],
466
+ type='',
467
+ swap='face-36'),
468
+ 69:
469
+ dict(
470
+ name='face-46',
471
+ id=69,
472
+ color=[255, 255, 255],
473
+ type='',
474
+ swap='face-41'),
475
+ 70:
476
+ dict(
477
+ name='face-47',
478
+ id=70,
479
+ color=[255, 255, 255],
480
+ type='',
481
+ swap='face-40'),
482
+ 71:
483
+ dict(
484
+ name='face-48',
485
+ id=71,
486
+ color=[255, 255, 255],
487
+ type='',
488
+ swap='face-54'),
489
+ 72:
490
+ dict(
491
+ name='face-49',
492
+ id=72,
493
+ color=[255, 255, 255],
494
+ type='',
495
+ swap='face-53'),
496
+ 73:
497
+ dict(
498
+ name='face-50',
499
+ id=73,
500
+ color=[255, 255, 255],
501
+ type='',
502
+ swap='face-52'),
503
+ 74:
504
+ dict(name='face-51', id=74, color=[255, 255, 255], type='', swap=''),
505
+ 75:
506
+ dict(
507
+ name='face-52',
508
+ id=75,
509
+ color=[255, 255, 255],
510
+ type='',
511
+ swap='face-50'),
512
+ 76:
513
+ dict(
514
+ name='face-53',
515
+ id=76,
516
+ color=[255, 255, 255],
517
+ type='',
518
+ swap='face-49'),
519
+ 77:
520
+ dict(
521
+ name='face-54',
522
+ id=77,
523
+ color=[255, 255, 255],
524
+ type='',
525
+ swap='face-48'),
526
+ 78:
527
+ dict(
528
+ name='face-55',
529
+ id=78,
530
+ color=[255, 255, 255],
531
+ type='',
532
+ swap='face-59'),
533
+ 79:
534
+ dict(
535
+ name='face-56',
536
+ id=79,
537
+ color=[255, 255, 255],
538
+ type='',
539
+ swap='face-58'),
540
+ 80:
541
+ dict(name='face-57', id=80, color=[255, 255, 255], type='', swap=''),
542
+ 81:
543
+ dict(
544
+ name='face-58',
545
+ id=81,
546
+ color=[255, 255, 255],
547
+ type='',
548
+ swap='face-56'),
549
+ 82:
550
+ dict(
551
+ name='face-59',
552
+ id=82,
553
+ color=[255, 255, 255],
554
+ type='',
555
+ swap='face-55'),
556
+ 83:
557
+ dict(
558
+ name='face-60',
559
+ id=83,
560
+ color=[255, 255, 255],
561
+ type='',
562
+ swap='face-64'),
563
+ 84:
564
+ dict(
565
+ name='face-61',
566
+ id=84,
567
+ color=[255, 255, 255],
568
+ type='',
569
+ swap='face-63'),
570
+ 85:
571
+ dict(name='face-62', id=85, color=[255, 255, 255], type='', swap=''),
572
+ 86:
573
+ dict(
574
+ name='face-63',
575
+ id=86,
576
+ color=[255, 255, 255],
577
+ type='',
578
+ swap='face-61'),
579
+ 87:
580
+ dict(
581
+ name='face-64',
582
+ id=87,
583
+ color=[255, 255, 255],
584
+ type='',
585
+ swap='face-60'),
586
+ 88:
587
+ dict(
588
+ name='face-65',
589
+ id=88,
590
+ color=[255, 255, 255],
591
+ type='',
592
+ swap='face-67'),
593
+ 89:
594
+ dict(name='face-66', id=89, color=[255, 255, 255], type='', swap=''),
595
+ 90:
596
+ dict(
597
+ name='face-67',
598
+ id=90,
599
+ color=[255, 255, 255],
600
+ type='',
601
+ swap='face-65'),
602
+ 91:
603
+ dict(
604
+ name='left_hand_root',
605
+ id=91,
606
+ color=[255, 255, 255],
607
+ type='',
608
+ swap='right_hand_root'),
609
+ 92:
610
+ dict(
611
+ name='left_thumb1',
612
+ id=92,
613
+ color=[255, 128, 0],
614
+ type='',
615
+ swap='right_thumb1'),
616
+ 93:
617
+ dict(
618
+ name='left_thumb2',
619
+ id=93,
620
+ color=[255, 128, 0],
621
+ type='',
622
+ swap='right_thumb2'),
623
+ 94:
624
+ dict(
625
+ name='left_thumb3',
626
+ id=94,
627
+ color=[255, 128, 0],
628
+ type='',
629
+ swap='right_thumb3'),
630
+ 95:
631
+ dict(
632
+ name='left_thumb4',
633
+ id=95,
634
+ color=[255, 128, 0],
635
+ type='',
636
+ swap='right_thumb4'),
637
+ 96:
638
+ dict(
639
+ name='left_forefinger1',
640
+ id=96,
641
+ color=[255, 153, 255],
642
+ type='',
643
+ swap='right_forefinger1'),
644
+ 97:
645
+ dict(
646
+ name='left_forefinger2',
647
+ id=97,
648
+ color=[255, 153, 255],
649
+ type='',
650
+ swap='right_forefinger2'),
651
+ 98:
652
+ dict(
653
+ name='left_forefinger3',
654
+ id=98,
655
+ color=[255, 153, 255],
656
+ type='',
657
+ swap='right_forefinger3'),
658
+ 99:
659
+ dict(
660
+ name='left_forefinger4',
661
+ id=99,
662
+ color=[255, 153, 255],
663
+ type='',
664
+ swap='right_forefinger4'),
665
+ 100:
666
+ dict(
667
+ name='left_middle_finger1',
668
+ id=100,
669
+ color=[102, 178, 255],
670
+ type='',
671
+ swap='right_middle_finger1'),
672
+ 101:
673
+ dict(
674
+ name='left_middle_finger2',
675
+ id=101,
676
+ color=[102, 178, 255],
677
+ type='',
678
+ swap='right_middle_finger2'),
679
+ 102:
680
+ dict(
681
+ name='left_middle_finger3',
682
+ id=102,
683
+ color=[102, 178, 255],
684
+ type='',
685
+ swap='right_middle_finger3'),
686
+ 103:
687
+ dict(
688
+ name='left_middle_finger4',
689
+ id=103,
690
+ color=[102, 178, 255],
691
+ type='',
692
+ swap='right_middle_finger4'),
693
+ 104:
694
+ dict(
695
+ name='left_ring_finger1',
696
+ id=104,
697
+ color=[255, 51, 51],
698
+ type='',
699
+ swap='right_ring_finger1'),
700
+ 105:
701
+ dict(
702
+ name='left_ring_finger2',
703
+ id=105,
704
+ color=[255, 51, 51],
705
+ type='',
706
+ swap='right_ring_finger2'),
707
+ 106:
708
+ dict(
709
+ name='left_ring_finger3',
710
+ id=106,
711
+ color=[255, 51, 51],
712
+ type='',
713
+ swap='right_ring_finger3'),
714
+ 107:
715
+ dict(
716
+ name='left_ring_finger4',
717
+ id=107,
718
+ color=[255, 51, 51],
719
+ type='',
720
+ swap='right_ring_finger4'),
721
+ 108:
722
+ dict(
723
+ name='left_pinky_finger1',
724
+ id=108,
725
+ color=[0, 255, 0],
726
+ type='',
727
+ swap='right_pinky_finger1'),
728
+ 109:
729
+ dict(
730
+ name='left_pinky_finger2',
731
+ id=109,
732
+ color=[0, 255, 0],
733
+ type='',
734
+ swap='right_pinky_finger2'),
735
+ 110:
736
+ dict(
737
+ name='left_pinky_finger3',
738
+ id=110,
739
+ color=[0, 255, 0],
740
+ type='',
741
+ swap='right_pinky_finger3'),
742
+ 111:
743
+ dict(
744
+ name='left_pinky_finger4',
745
+ id=111,
746
+ color=[0, 255, 0],
747
+ type='',
748
+ swap='right_pinky_finger4'),
749
+ 112:
750
+ dict(
751
+ name='right_hand_root',
752
+ id=112,
753
+ color=[255, 255, 255],
754
+ type='',
755
+ swap='left_hand_root'),
756
+ 113:
757
+ dict(
758
+ name='right_thumb1',
759
+ id=113,
760
+ color=[255, 128, 0],
761
+ type='',
762
+ swap='left_thumb1'),
763
+ 114:
764
+ dict(
765
+ name='right_thumb2',
766
+ id=114,
767
+ color=[255, 128, 0],
768
+ type='',
769
+ swap='left_thumb2'),
770
+ 115:
771
+ dict(
772
+ name='right_thumb3',
773
+ id=115,
774
+ color=[255, 128, 0],
775
+ type='',
776
+ swap='left_thumb3'),
777
+ 116:
778
+ dict(
779
+ name='right_thumb4',
780
+ id=116,
781
+ color=[255, 128, 0],
782
+ type='',
783
+ swap='left_thumb4'),
784
+ 117:
785
+ dict(
786
+ name='right_forefinger1',
787
+ id=117,
788
+ color=[255, 153, 255],
789
+ type='',
790
+ swap='left_forefinger1'),
791
+ 118:
792
+ dict(
793
+ name='right_forefinger2',
794
+ id=118,
795
+ color=[255, 153, 255],
796
+ type='',
797
+ swap='left_forefinger2'),
798
+ 119:
799
+ dict(
800
+ name='right_forefinger3',
801
+ id=119,
802
+ color=[255, 153, 255],
803
+ type='',
804
+ swap='left_forefinger3'),
805
+ 120:
806
+ dict(
807
+ name='right_forefinger4',
808
+ id=120,
809
+ color=[255, 153, 255],
810
+ type='',
811
+ swap='left_forefinger4'),
812
+ 121:
813
+ dict(
814
+ name='right_middle_finger1',
815
+ id=121,
816
+ color=[102, 178, 255],
817
+ type='',
818
+ swap='left_middle_finger1'),
819
+ 122:
820
+ dict(
821
+ name='right_middle_finger2',
822
+ id=122,
823
+ color=[102, 178, 255],
824
+ type='',
825
+ swap='left_middle_finger2'),
826
+ 123:
827
+ dict(
828
+ name='right_middle_finger3',
829
+ id=123,
830
+ color=[102, 178, 255],
831
+ type='',
832
+ swap='left_middle_finger3'),
833
+ 124:
834
+ dict(
835
+ name='right_middle_finger4',
836
+ id=124,
837
+ color=[102, 178, 255],
838
+ type='',
839
+ swap='left_middle_finger4'),
840
+ 125:
841
+ dict(
842
+ name='right_ring_finger1',
843
+ id=125,
844
+ color=[255, 51, 51],
845
+ type='',
846
+ swap='left_ring_finger1'),
847
+ 126:
848
+ dict(
849
+ name='right_ring_finger2',
850
+ id=126,
851
+ color=[255, 51, 51],
852
+ type='',
853
+ swap='left_ring_finger2'),
854
+ 127:
855
+ dict(
856
+ name='right_ring_finger3',
857
+ id=127,
858
+ color=[255, 51, 51],
859
+ type='',
860
+ swap='left_ring_finger3'),
861
+ 128:
862
+ dict(
863
+ name='right_ring_finger4',
864
+ id=128,
865
+ color=[255, 51, 51],
866
+ type='',
867
+ swap='left_ring_finger4'),
868
+ 129:
869
+ dict(
870
+ name='right_pinky_finger1',
871
+ id=129,
872
+ color=[0, 255, 0],
873
+ type='',
874
+ swap='left_pinky_finger1'),
875
+ 130:
876
+ dict(
877
+ name='right_pinky_finger2',
878
+ id=130,
879
+ color=[0, 255, 0],
880
+ type='',
881
+ swap='left_pinky_finger2'),
882
+ 131:
883
+ dict(
884
+ name='right_pinky_finger3',
885
+ id=131,
886
+ color=[0, 255, 0],
887
+ type='',
888
+ swap='left_pinky_finger3'),
889
+ 132:
890
+ dict(
891
+ name='right_pinky_finger4',
892
+ id=132,
893
+ color=[0, 255, 0],
894
+ type='',
895
+ swap='left_pinky_finger4')
896
+ },
897
+ skeleton_info={
898
+ 0:
899
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
900
+ 1:
901
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
902
+ 2:
903
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
904
+ 3:
905
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
906
+ 4:
907
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
908
+ 5:
909
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
910
+ 6:
911
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
912
+ 7:
913
+ dict(
914
+ link=('left_shoulder', 'right_shoulder'),
915
+ id=7,
916
+ color=[51, 153, 255]),
917
+ 8:
918
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
919
+ 9:
920
+ dict(
921
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
922
+ 10:
923
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
924
+ 11:
925
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
926
+ 12:
927
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
928
+ 13:
929
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
930
+ 14:
931
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
932
+ 15:
933
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
934
+ 16:
935
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
936
+ 17:
937
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
938
+ 18:
939
+ dict(
940
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
941
+ 19:
942
+ dict(link=('left_ankle', 'left_big_toe'), id=19, color=[0, 255, 0]),
943
+ 20:
944
+ dict(link=('left_ankle', 'left_small_toe'), id=20, color=[0, 255, 0]),
945
+ 21:
946
+ dict(link=('left_ankle', 'left_heel'), id=21, color=[0, 255, 0]),
947
+ 22:
948
+ dict(
949
+ link=('right_ankle', 'right_big_toe'), id=22, color=[255, 128, 0]),
950
+ 23:
951
+ dict(
952
+ link=('right_ankle', 'right_small_toe'),
953
+ id=23,
954
+ color=[255, 128, 0]),
955
+ 24:
956
+ dict(link=('right_ankle', 'right_heel'), id=24, color=[255, 128, 0]),
957
+ 25:
958
+ dict(
959
+ link=('left_hand_root', 'left_thumb1'), id=25, color=[255, 128,
960
+ 0]),
961
+ 26:
962
+ dict(link=('left_thumb1', 'left_thumb2'), id=26, color=[255, 128, 0]),
963
+ 27:
964
+ dict(link=('left_thumb2', 'left_thumb3'), id=27, color=[255, 128, 0]),
965
+ 28:
966
+ dict(link=('left_thumb3', 'left_thumb4'), id=28, color=[255, 128, 0]),
967
+ 29:
968
+ dict(
969
+ link=('left_hand_root', 'left_forefinger1'),
970
+ id=29,
971
+ color=[255, 153, 255]),
972
+ 30:
973
+ dict(
974
+ link=('left_forefinger1', 'left_forefinger2'),
975
+ id=30,
976
+ color=[255, 153, 255]),
977
+ 31:
978
+ dict(
979
+ link=('left_forefinger2', 'left_forefinger3'),
980
+ id=31,
981
+ color=[255, 153, 255]),
982
+ 32:
983
+ dict(
984
+ link=('left_forefinger3', 'left_forefinger4'),
985
+ id=32,
986
+ color=[255, 153, 255]),
987
+ 33:
988
+ dict(
989
+ link=('left_hand_root', 'left_middle_finger1'),
990
+ id=33,
991
+ color=[102, 178, 255]),
992
+ 34:
993
+ dict(
994
+ link=('left_middle_finger1', 'left_middle_finger2'),
995
+ id=34,
996
+ color=[102, 178, 255]),
997
+ 35:
998
+ dict(
999
+ link=('left_middle_finger2', 'left_middle_finger3'),
1000
+ id=35,
1001
+ color=[102, 178, 255]),
1002
+ 36:
1003
+ dict(
1004
+ link=('left_middle_finger3', 'left_middle_finger4'),
1005
+ id=36,
1006
+ color=[102, 178, 255]),
1007
+ 37:
1008
+ dict(
1009
+ link=('left_hand_root', 'left_ring_finger1'),
1010
+ id=37,
1011
+ color=[255, 51, 51]),
1012
+ 38:
1013
+ dict(
1014
+ link=('left_ring_finger1', 'left_ring_finger2'),
1015
+ id=38,
1016
+ color=[255, 51, 51]),
1017
+ 39:
1018
+ dict(
1019
+ link=('left_ring_finger2', 'left_ring_finger3'),
1020
+ id=39,
1021
+ color=[255, 51, 51]),
1022
+ 40:
1023
+ dict(
1024
+ link=('left_ring_finger3', 'left_ring_finger4'),
1025
+ id=40,
1026
+ color=[255, 51, 51]),
1027
+ 41:
1028
+ dict(
1029
+ link=('left_hand_root', 'left_pinky_finger1'),
1030
+ id=41,
1031
+ color=[0, 255, 0]),
1032
+ 42:
1033
+ dict(
1034
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1035
+ id=42,
1036
+ color=[0, 255, 0]),
1037
+ 43:
1038
+ dict(
1039
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1040
+ id=43,
1041
+ color=[0, 255, 0]),
1042
+ 44:
1043
+ dict(
1044
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1045
+ id=44,
1046
+ color=[0, 255, 0]),
1047
+ 45:
1048
+ dict(
1049
+ link=('right_hand_root', 'right_thumb1'),
1050
+ id=45,
1051
+ color=[255, 128, 0]),
1052
+ 46:
1053
+ dict(
1054
+ link=('right_thumb1', 'right_thumb2'), id=46, color=[255, 128, 0]),
1055
+ 47:
1056
+ dict(
1057
+ link=('right_thumb2', 'right_thumb3'), id=47, color=[255, 128, 0]),
1058
+ 48:
1059
+ dict(
1060
+ link=('right_thumb3', 'right_thumb4'), id=48, color=[255, 128, 0]),
1061
+ 49:
1062
+ dict(
1063
+ link=('right_hand_root', 'right_forefinger1'),
1064
+ id=49,
1065
+ color=[255, 153, 255]),
1066
+ 50:
1067
+ dict(
1068
+ link=('right_forefinger1', 'right_forefinger2'),
1069
+ id=50,
1070
+ color=[255, 153, 255]),
1071
+ 51:
1072
+ dict(
1073
+ link=('right_forefinger2', 'right_forefinger3'),
1074
+ id=51,
1075
+ color=[255, 153, 255]),
1076
+ 52:
1077
+ dict(
1078
+ link=('right_forefinger3', 'right_forefinger4'),
1079
+ id=52,
1080
+ color=[255, 153, 255]),
1081
+ 53:
1082
+ dict(
1083
+ link=('right_hand_root', 'right_middle_finger1'),
1084
+ id=53,
1085
+ color=[102, 178, 255]),
1086
+ 54:
1087
+ dict(
1088
+ link=('right_middle_finger1', 'right_middle_finger2'),
1089
+ id=54,
1090
+ color=[102, 178, 255]),
1091
+ 55:
1092
+ dict(
1093
+ link=('right_middle_finger2', 'right_middle_finger3'),
1094
+ id=55,
1095
+ color=[102, 178, 255]),
1096
+ 56:
1097
+ dict(
1098
+ link=('right_middle_finger3', 'right_middle_finger4'),
1099
+ id=56,
1100
+ color=[102, 178, 255]),
1101
+ 57:
1102
+ dict(
1103
+ link=('right_hand_root', 'right_ring_finger1'),
1104
+ id=57,
1105
+ color=[255, 51, 51]),
1106
+ 58:
1107
+ dict(
1108
+ link=('right_ring_finger1', 'right_ring_finger2'),
1109
+ id=58,
1110
+ color=[255, 51, 51]),
1111
+ 59:
1112
+ dict(
1113
+ link=('right_ring_finger2', 'right_ring_finger3'),
1114
+ id=59,
1115
+ color=[255, 51, 51]),
1116
+ 60:
1117
+ dict(
1118
+ link=('right_ring_finger3', 'right_ring_finger4'),
1119
+ id=60,
1120
+ color=[255, 51, 51]),
1121
+ 61:
1122
+ dict(
1123
+ link=('right_hand_root', 'right_pinky_finger1'),
1124
+ id=61,
1125
+ color=[0, 255, 0]),
1126
+ 62:
1127
+ dict(
1128
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1129
+ id=62,
1130
+ color=[0, 255, 0]),
1131
+ 63:
1132
+ dict(
1133
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1134
+ id=63,
1135
+ color=[0, 255, 0]),
1136
+ 64:
1137
+ dict(
1138
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1139
+ id=64,
1140
+ color=[0, 255, 0])
1141
+ },
1142
+ joint_weights=[1.] * 133,
1143
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
1144
+ # 'evaluation/myeval_wholebody.py#L175'
1145
+ sigmas=[
1146
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1147
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.068, 0.066, 0.066,
1148
+ 0.092, 0.094, 0.094, 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031,
1149
+ 0.025, 0.020, 0.023, 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045,
1150
+ 0.013, 0.012, 0.011, 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015,
1151
+ 0.009, 0.007, 0.007, 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017,
1152
+ 0.011, 0.009, 0.011, 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010,
1153
+ 0.034, 0.008, 0.008, 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009,
1154
+ 0.009, 0.009, 0.007, 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01,
1155
+ 0.008, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035,
1156
+ 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019,
1157
+ 0.022, 0.031, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024,
1158
+ 0.035, 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02,
1159
+ 0.019, 0.022, 0.031
1160
+ ])
1161
+
1162
+ dataset_info = dict(
1163
+ dataset_name='goliath3d',
1164
+ paper_info=dict(
1165
+ author='',
1166
+ year='',
1167
+ homepage='',
1168
+ ),
1169
+ min_visible_keypoints=8,
1170
+ image_height=4096,
1171
+ image_width=2668,
1172
+ original_keypoint_info={
1173
+ 0: 'nose',
1174
+ 1: 'left_eye',
1175
+ 2: 'right_eye',
1176
+ 3: 'left_ear',
1177
+ 4: 'right_ear',
1178
+ 5: 'left_shoulder',
1179
+ 6: 'right_shoulder',
1180
+ 7: 'left_elbow',
1181
+ 8: 'right_elbow',
1182
+ 9: 'left_hip',
1183
+ 10: 'right_hip',
1184
+ 11: 'left_knee',
1185
+ 12: 'right_knee',
1186
+ 13: 'left_ankle',
1187
+ 14: 'right_ankle',
1188
+ 15: 'left_big_toe', # 'left_big_toe_tip'
1189
+ 16: 'left_small_toe', # 'left_small_toe_tip'
1190
+ 17: 'left_heel',
1191
+ 18: 'right_big_toe', # 'right_big_toe_tip'
1192
+ 19: 'right_small_toe', # 'right_small_toe_tip'
1193
+ 20: 'right_heel',
1194
+ 21: 'right_thumb4', # 'right_thumb_tip'
1195
+ 22: 'right_thumb3', # 'right_thumb_first_joint'
1196
+ 23: 'right_thumb2', # 'right_thumb_second_joint'
1197
+ 24: 'right_thumb_third_joint', # 'right_thumb_third_joint'
1198
+
1199
+ 25: 'right_forefinger4', # 'right_index_tip'
1200
+ 26: 'right_forefinger3', # 'right_index_first_joint'
1201
+ 27: 'right_forefinger2', # 'right_index_second_joint'
1202
+ 28: 'right_forefinger_third_joint', # 'right_index_third_joint'
1203
+
1204
+ 29: 'right_middle_finger4', # 'right_middle_tip'
1205
+ 30: 'right_middle_finger3', # 'right_middle_first_joint'
1206
+ 31: 'right_middle_finger2', # 'right_middle_second_joint'
1207
+ 32: 'right_middle_finger_third_joint', # 'right_middle_third_joint'
1208
+
1209
+ 33: 'right_ring_finger4', # 'right_ring_tip'
1210
+ 34: 'right_ring_finger3', # 'right_ring_first_joint'
1211
+ 35: 'right_ring_finger2', # 'right_ring_second_joint'
1212
+ 36: 'right_ring_finger_third_joint', # 'right_ring_third_joint'
1213
+
1214
+ 37: 'right_pinky_finger4', # 'right_pinky_tip'
1215
+ 38: 'right_pinky_finger3', # 'right_pinky_first_joint'
1216
+ 39: 'right_pinky_finger2', # 'right_pinky_second_joint'
1217
+ 40: 'right_pinky_finger_third_joint', # 'right_pinky_third_joint'
1218
+
1219
+ 41: 'right_wrist',
1220
+
1221
+ 42: 'left_thumb4', # 'left_thumb_tip'
1222
+ 43: 'left_thumb3', # 'left_thumb_first_joint'
1223
+ 44: 'left_thumb2', # 'left_thumb_second_joint'
1224
+ 45: 'left_thumb_third_joint', # 'left_thumb_third_joint'
1225
+
1226
+ 46: 'left_forefinger4', # 'left_index_tip'
1227
+ 47: 'left_forefinger3', # 'left_index_first_joint'
1228
+ 48: 'left_forefinger2', # 'left_index_second_joint'
1229
+ 49: 'left_forefinger_third_joint', # 'left_index_third_joint'
1230
+
1231
+ 50: 'left_middle_finger4', # 'left_middle_tip'
1232
+ 51: 'left_middle_finger3', # 'left_middle_first_joint'
1233
+ 52: 'left_middle_finger2', # 'left_middle_second_joint'
1234
+ 53: 'left_middle_finger_third_joint', # 'left_middle_third_joint'
1235
+
1236
+ 54: 'left_ring_finger4', # 'left_ring_tip'
1237
+ 55: 'left_ring_finger3', # 'left_ring_first_joint'
1238
+ 56: 'left_ring_finger2', # 'left_ring_second_joint'
1239
+ 57: 'left_ring_finger_third_joint', # 'left_ring_third_joint'
1240
+
1241
+ 58: 'left_pinky_finger4', # 'left_pinky_tip'
1242
+ 59: 'left_pinky_finger3', # 'left_pinky_first_joint'
1243
+ 60: 'left_pinky_finger2', # 'left_pinky_second_joint'
1244
+ 61: 'left_pinky_finger_third_joint', # 'left_pinky_third_joint'
1245
+
1246
+ 62: 'left_wrist', # 'left_wrist'
1247
+
1248
+ 63: 'left_olecranon',
1249
+ 64: 'right_olecranon',
1250
+ 65: 'left_cubital_fossa',
1251
+ 66: 'right_cubital_fossa',
1252
+ 67: 'left_acromion',
1253
+ 68: 'right_acromion',
1254
+ 69: 'neck',
1255
+ 70: 'center_of_glabella',
1256
+ 71: 'center_of_nose_root',
1257
+ 72: 'tip_of_nose_bridge',
1258
+ 73: 'midpoint_1_of_nose_bridge',
1259
+ 74: 'midpoint_2_of_nose_bridge',
1260
+ 75: 'midpoint_3_of_nose_bridge',
1261
+ 76: 'center_of_labiomental_groove',
1262
+ 77: 'tip_of_chin',
1263
+ 78: 'upper_startpoint_of_r_eyebrow',
1264
+ 79: 'lower_startpoint_of_r_eyebrow',
1265
+ 80: 'end_of_r_eyebrow',
1266
+ 81: 'upper_midpoint_1_of_r_eyebrow',
1267
+ 82: 'lower_midpoint_1_of_r_eyebrow',
1268
+ 83: 'upper_midpoint_2_of_r_eyebrow',
1269
+ 84: 'upper_midpoint_3_of_r_eyebrow',
1270
+ 85: 'lower_midpoint_2_of_r_eyebrow',
1271
+ 86: 'lower_midpoint_3_of_r_eyebrow',
1272
+ 87: 'upper_startpoint_of_l_eyebrow',
1273
+ 88: 'lower_startpoint_of_l_eyebrow',
1274
+ 89: 'end_of_l_eyebrow',
1275
+ 90: 'upper_midpoint_1_of_l_eyebrow',
1276
+ 91: 'lower_midpoint_1_of_l_eyebrow',
1277
+ 92: 'upper_midpoint_2_of_l_eyebrow',
1278
+ 93: 'upper_midpoint_3_of_l_eyebrow',
1279
+ 94: 'lower_midpoint_2_of_l_eyebrow',
1280
+ 95: 'lower_midpoint_3_of_l_eyebrow',
1281
+ 96: 'l_inner_end_of_upper_lash_line',
1282
+ 97: 'l_outer_end_of_upper_lash_line',
1283
+ 98: 'l_centerpoint_of_upper_lash_line',
1284
+ 99: 'l_midpoint_2_of_upper_lash_line',
1285
+ 100: 'l_midpoint_1_of_upper_lash_line',
1286
+ 101: 'l_midpoint_6_of_upper_lash_line',
1287
+ 102: 'l_midpoint_5_of_upper_lash_line',
1288
+ 103: 'l_midpoint_4_of_upper_lash_line',
1289
+ 104: 'l_midpoint_3_of_upper_lash_line',
1290
+ 105: 'l_outer_end_of_upper_eyelid_line',
1291
+ 106: 'l_midpoint_6_of_upper_eyelid_line',
1292
+ 107: 'l_midpoint_2_of_upper_eyelid_line',
1293
+ 108: 'l_midpoint_5_of_upper_eyelid_line',
1294
+ 109: 'l_centerpoint_of_upper_eyelid_line',
1295
+ 110: 'l_midpoint_4_of_upper_eyelid_line',
1296
+ 111: 'l_midpoint_1_of_upper_eyelid_line',
1297
+ 112: 'l_midpoint_3_of_upper_eyelid_line',
1298
+ 113: 'l_midpoint_6_of_upper_crease_line',
1299
+ 114: 'l_midpoint_2_of_upper_crease_line',
1300
+ 115: 'l_midpoint_5_of_upper_crease_line',
1301
+ 116: 'l_centerpoint_of_upper_crease_line',
1302
+ 117: 'l_midpoint_4_of_upper_crease_line',
1303
+ 118: 'l_midpoint_1_of_upper_crease_line',
1304
+ 119: 'l_midpoint_3_of_upper_crease_line',
1305
+ 120: 'r_inner_end_of_upper_lash_line',
1306
+ 121: 'r_outer_end_of_upper_lash_line',
1307
+ 122: 'r_centerpoint_of_upper_lash_line',
1308
+ 123: 'r_midpoint_1_of_upper_lash_line',
1309
+ 124: 'r_midpoint_2_of_upper_lash_line',
1310
+ 125: 'r_midpoint_3_of_upper_lash_line',
1311
+ 126: 'r_midpoint_4_of_upper_lash_line',
1312
+ 127: 'r_midpoint_5_of_upper_lash_line',
1313
+ 128: 'r_midpoint_6_of_upper_lash_line',
1314
+ 129: 'r_outer_end_of_upper_eyelid_line',
1315
+ 130: 'r_midpoint_3_of_upper_eyelid_line',
1316
+ 131: 'r_midpoint_1_of_upper_eyelid_line',
1317
+ 132: 'r_midpoint_4_of_upper_eyelid_line',
1318
+ 133: 'r_centerpoint_of_upper_eyelid_line',
1319
+ 134: 'r_midpoint_5_of_upper_eyelid_line',
1320
+ 135: 'r_midpoint_2_of_upper_eyelid_line',
1321
+ 136: 'r_midpoint_6_of_upper_eyelid_line',
1322
+ 137: 'r_midpoint_3_of_upper_crease_line',
1323
+ 138: 'r_midpoint_1_of_upper_crease_line',
1324
+ 139: 'r_midpoint_4_of_upper_crease_line',
1325
+ 140: 'r_centerpoint_of_upper_crease_line',
1326
+ 141: 'r_midpoint_5_of_upper_crease_line',
1327
+ 142: 'r_midpoint_2_of_upper_crease_line',
1328
+ 143: 'r_midpoint_6_of_upper_crease_line',
1329
+ 144: 'l_inner_end_of_lower_lash_line',
1330
+ 145: 'l_outer_end_of_lower_lash_line',
1331
+ 146: 'l_centerpoint_of_lower_lash_line',
1332
+ 147: 'l_midpoint_2_of_lower_lash_line',
1333
+ 148: 'l_midpoint_1_of_lower_lash_line',
1334
+ 149: 'l_midpoint_6_of_lower_lash_line',
1335
+ 150: 'l_midpoint_5_of_lower_lash_line',
1336
+ 151: 'l_midpoint_4_of_lower_lash_line',
1337
+ 152: 'l_midpoint_3_of_lower_lash_line',
1338
+ 153: 'l_outer_end_of_lower_eyelid_line',
1339
+ 154: 'l_midpoint_6_of_lower_eyelid_line',
1340
+ 155: 'l_midpoint_2_of_lower_eyelid_line',
1341
+ 156: 'l_midpoint_5_of_lower_eyelid_line',
1342
+ 157: 'l_centerpoint_of_lower_eyelid_line',
1343
+ 158: 'l_midpoint_4_of_lower_eyelid_line',
1344
+ 159: 'l_midpoint_1_of_lower_eyelid_line',
1345
+ 160: 'l_midpoint_3_of_lower_eyelid_line',
1346
+ 161: 'r_inner_end_of_lower_lash_line',
1347
+ 162: 'r_outer_end_of_lower_lash_line',
1348
+ 163: 'r_centerpoint_of_lower_lash_line',
1349
+ 164: 'r_midpoint_1_of_lower_lash_line',
1350
+ 165: 'r_midpoint_2_of_lower_lash_line',
1351
+ 166: 'r_midpoint_3_of_lower_lash_line',
1352
+ 167: 'r_midpoint_4_of_lower_lash_line',
1353
+ 168: 'r_midpoint_5_of_lower_lash_line',
1354
+ 169: 'r_midpoint_6_of_lower_lash_line',
1355
+ 170: 'r_outer_end_of_lower_eyelid_line',
1356
+ 171: 'r_midpoint_3_of_lower_eyelid_line',
1357
+ 172: 'r_midpoint_1_of_lower_eyelid_line',
1358
+ 173: 'r_midpoint_4_of_lower_eyelid_line',
1359
+ 174: 'r_centerpoint_of_lower_eyelid_line',
1360
+ 175: 'r_midpoint_5_of_lower_eyelid_line',
1361
+ 176: 'r_midpoint_2_of_lower_eyelid_line',
1362
+ 177: 'r_midpoint_6_of_lower_eyelid_line',
1363
+ 178: 'tip_of_nose',
1364
+ 179: 'bottom_center_of_nose',
1365
+ 180: 'r_outer_corner_of_nose',
1366
+ 181: 'l_outer_corner_of_nose',
1367
+ 182: 'inner_corner_of_r_nostril',
1368
+ 183: 'outer_corner_of_r_nostril',
1369
+ 184: 'upper_corner_of_r_nostril',
1370
+ 185: 'inner_corner_of_l_nostril',
1371
+ 186: 'outer_corner_of_l_nostril',
1372
+ 187: 'upper_corner_of_l_nostril',
1373
+ 188: 'r_outer_corner_of_mouth',
1374
+ 189: 'l_outer_corner_of_mouth',
1375
+ 190: 'center_of_cupid_bow',
1376
+ 191: 'center_of_lower_outer_lip',
1377
+ 192: 'midpoint_1_of_upper_outer_lip',
1378
+ 193: 'midpoint_2_of_upper_outer_lip',
1379
+ 194: 'midpoint_1_of_lower_outer_lip',
1380
+ 195: 'midpoint_2_of_lower_outer_lip',
1381
+ 196: 'midpoint_3_of_upper_outer_lip',
1382
+ 197: 'midpoint_4_of_upper_outer_lip',
1383
+ 198: 'midpoint_5_of_upper_outer_lip',
1384
+ 199: 'midpoint_6_of_upper_outer_lip',
1385
+ 200: 'midpoint_3_of_lower_outer_lip',
1386
+ 201: 'midpoint_4_of_lower_outer_lip',
1387
+ 202: 'midpoint_5_of_lower_outer_lip',
1388
+ 203: 'midpoint_6_of_lower_outer_lip',
1389
+ 204: 'r_inner_corner_of_mouth',
1390
+ 205: 'l_inner_corner_of_mouth',
1391
+ 206: 'center_of_upper_inner_lip',
1392
+ 207: 'center_of_lower_inner_lip',
1393
+ 208: 'midpoint_1_of_upper_inner_lip',
1394
+ 209: 'midpoint_2_of_upper_inner_lip',
1395
+ 210: 'midpoint_1_of_lower_inner_lip',
1396
+ 211: 'midpoint_2_of_lower_inner_lip',
1397
+ 212: 'midpoint_3_of_upper_inner_lip',
1398
+ 213: 'midpoint_4_of_upper_inner_lip',
1399
+ 214: 'midpoint_5_of_upper_inner_lip',
1400
+ 215: 'midpoint_6_of_upper_inner_lip',
1401
+ 216: 'midpoint_3_of_lower_inner_lip',
1402
+ 217: 'midpoint_4_of_lower_inner_lip',
1403
+ 218: 'midpoint_5_of_lower_inner_lip',
1404
+ 219: 'midpoint_6_of_lower_inner_lip',
1405
+ 220: 'teeth',
1406
+ 221: 'teeth',
1407
+ 222: 'teeth',
1408
+ 223: 'teeth',
1409
+ 224: 'teeth',
1410
+ 225: 'teeth',
1411
+ 226: 'teeth',
1412
+ 227: 'teeth',
1413
+ 228: 'teeth',
1414
+ 229: 'teeth',
1415
+ 230: 'teeth',
1416
+ 231: 'teeth',
1417
+ 232: 'teeth',
1418
+ 233: 'teeth',
1419
+ 234: 'teeth',
1420
+ 235: 'teeth',
1421
+ 236: 'teeth',
1422
+ 237: 'teeth',
1423
+ 238: 'teeth',
1424
+ 239: 'teeth',
1425
+ 240: 'teeth',
1426
+ 241: 'teeth',
1427
+ 242: 'teeth',
1428
+ 243: 'teeth',
1429
+ 244: 'teeth',
1430
+ 245: 'teeth',
1431
+ 246: 'teeth',
1432
+ 247: 'teeth',
1433
+ 248: 'teeth',
1434
+ 249: 'teeth',
1435
+ 250: 'teeth',
1436
+ 251: 'teeth',
1437
+ 252: 'teeth',
1438
+ 253: 'teeth',
1439
+ 254: 'teeth',
1440
+ 255: 'teeth',
1441
+ 256: 'l_top_end_of_inferior_crus',
1442
+ 257: 'l_top_end_of_superior_crus',
1443
+ 258: 'l_start_of_antihelix',
1444
+ 259: 'l_end_of_antihelix',
1445
+ 260: 'l_midpoint_1_of_antihelix',
1446
+ 261: 'l_midpoint_1_of_inferior_crus',
1447
+ 262: 'l_midpoint_2_of_antihelix',
1448
+ 263: 'l_midpoint_3_of_antihelix',
1449
+ 264: 'l_point_1_of_inner_helix',
1450
+ 265: 'l_point_2_of_inner_helix',
1451
+ 266: 'l_point_3_of_inner_helix',
1452
+ 267: 'l_point_4_of_inner_helix',
1453
+ 268: 'l_point_5_of_inner_helix',
1454
+ 269: 'l_point_6_of_inner_helix',
1455
+ 270: 'l_point_7_of_inner_helix',
1456
+ 271: 'l_highest_point_of_antitragus',
1457
+ 272: 'l_bottom_point_of_tragus',
1458
+ 273: 'l_protruding_point_of_tragus',
1459
+ 274: 'l_top_point_of_tragus',
1460
+ 275: 'l_start_point_of_crus_of_helix',
1461
+ 276: 'l_deepest_point_of_concha',
1462
+ 277: 'l_tip_of_ear_lobe',
1463
+ 278: 'l_midpoint_between_22_15',
1464
+ 279: 'l_bottom_connecting_point_of_ear_lobe',
1465
+ 280: 'l_top_connecting_point_of_helix',
1466
+ 281: 'l_point_8_of_inner_helix',
1467
+ 282: 'r_top_end_of_inferior_crus',
1468
+ 283: 'r_top_end_of_superior_crus',
1469
+ 284: 'r_start_of_antihelix',
1470
+ 285: 'r_end_of_antihelix',
1471
+ 286: 'r_midpoint_1_of_antihelix',
1472
+ 287: 'r_midpoint_1_of_inferior_crus',
1473
+ 288: 'r_midpoint_2_of_antihelix',
1474
+ 289: 'r_midpoint_3_of_antihelix',
1475
+ 290: 'r_point_1_of_inner_helix',
1476
+ 291: 'r_point_8_of_inner_helix',
1477
+ 292: 'r_point_3_of_inner_helix',
1478
+ 293: 'r_point_4_of_inner_helix',
1479
+ 294: 'r_point_5_of_inner_helix',
1480
+ 295: 'r_point_6_of_inner_helix',
1481
+ 296: 'r_point_7_of_inner_helix',
1482
+ 297: 'r_highest_point_of_antitragus',
1483
+ 298: 'r_bottom_point_of_tragus',
1484
+ 299: 'r_protruding_point_of_tragus',
1485
+ 300: 'r_top_point_of_tragus',
1486
+ 301: 'r_start_point_of_crus_of_helix',
1487
+ 302: 'r_deepest_point_of_concha',
1488
+ 303: 'r_tip_of_ear_lobe',
1489
+ 304: 'r_midpoint_between_22_15',
1490
+ 305: 'r_bottom_connecting_point_of_ear_lobe',
1491
+ 306: 'r_top_connecting_point_of_helix',
1492
+ 307: 'r_point_2_of_inner_helix',
1493
+ 308: 'l_center_of_iris',
1494
+ 309: 'l_border_of_iris_3',
1495
+ 310: 'l_border_of_iris_midpoint_1',
1496
+ 311: 'l_border_of_iris_12',
1497
+ 312: 'l_border_of_iris_midpoint_4',
1498
+ 313: 'l_border_of_iris_9',
1499
+ 314: 'l_border_of_iris_midpoint_3',
1500
+ 315: 'l_border_of_iris_6',
1501
+ 316: 'l_border_of_iris_midpoint_2',
1502
+ 317: 'r_center_of_iris',
1503
+ 318: 'r_border_of_iris_3',
1504
+ 319: 'r_border_of_iris_midpoint_1',
1505
+ 320: 'r_border_of_iris_12',
1506
+ 321: 'r_border_of_iris_midpoint_4',
1507
+ 322: 'r_border_of_iris_9',
1508
+ 323: 'r_border_of_iris_midpoint_3',
1509
+ 324: 'r_border_of_iris_6',
1510
+ 325: 'r_border_of_iris_midpoint_2',
1511
+ 326: 'l_center_of_pupil',
1512
+ 327: 'l_border_of_pupil_3',
1513
+ 328: 'l_border_of_pupil_midpoint_1',
1514
+ 329: 'l_border_of_pupil_12',
1515
+ 330: 'l_border_of_pupil_midpoint_4',
1516
+ 331: 'l_border_of_pupil_9',
1517
+ 332: 'l_border_of_pupil_midpoint_3',
1518
+ 333: 'l_border_of_pupil_6',
1519
+ 334: 'l_border_of_pupil_midpoint_2',
1520
+ 335: 'r_center_of_pupil',
1521
+ 336: 'r_border_of_pupil_3',
1522
+ 337: 'r_border_of_pupil_midpoint_1',
1523
+ 338: 'r_border_of_pupil_12',
1524
+ 339: 'r_border_of_pupil_midpoint_4',
1525
+ 340: 'r_border_of_pupil_9',
1526
+ 341: 'r_border_of_pupil_midpoint_3',
1527
+ 342: 'r_border_of_pupil_6',
1528
+ 343: 'r_border_of_pupil_midpoint_2',
1529
+ },
1530
+ keypoint_info={
1531
+ 0: dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
1532
+ 1: dict(name='left_eye', id=1, color=[51, 153, 255], type='upper', swap='right_eye'),
1533
+ 2: dict(name='right_eye', id=2, color=[51, 153, 255], type='upper', swap='left_eye'),
1534
+ 3: dict(name='left_ear', id=3, color=[51, 153, 255], type='upper', swap='right_ear'),
1535
+ 4: dict(name='right_ear', id=4, color=[51, 153, 255], type='upper', swap='left_ear'),
1536
+ 5: dict(name='left_shoulder', id=5, color=[51, 153, 255], type='upper', swap='right_shoulder'),
1537
+ 6: dict(name='right_shoulder', id=6, color=[51, 153, 255], type='upper', swap='left_shoulder'),
1538
+ 7: dict(name='left_elbow', id=7, color=[51, 153, 255], type='upper', swap='right_elbow'),
1539
+ 8: dict(name='right_elbow', id=8, color=[51, 153, 255], type='upper', swap='left_elbow'),
1540
+ 9: dict(name='left_hip', id=9, color=[51, 153, 255], type='lower', swap='right_hip'),
1541
+ 10: dict(name='right_hip', id=10, color=[51, 153, 255], type='lower', swap='left_hip'),
1542
+ 11: dict(name='left_knee', id=11, color=[51, 153, 255], type='lower', swap='right_knee'),
1543
+ 12: dict(name='right_knee', id=12, color=[51, 153, 255], type='lower', swap='left_knee'),
1544
+ 13: dict(name='left_ankle', id=13, color=[51, 153, 255], type='lower', swap='right_ankle'),
1545
+ 14: dict(name='right_ankle', id=14, color=[51, 153, 255], type='lower', swap='left_ankle'),
1546
+
1547
+ 15: dict(name='left_big_toe', id=15, color=[51, 153, 255], type='lower', swap='right_big_toe'),
1548
+ 16: dict(name='left_small_toe', id=16, color=[51, 153, 255], type='lower', swap='right_small_toe'),
1549
+ 17: dict(name='left_heel', id=17, color=[51, 153, 255], type='lower', swap='right_heel'),
1550
+ 18: dict(name='right_big_toe', id=18, color=[51, 153, 255], type='lower', swap='left_big_toe'),
1551
+ 19: dict(name='right_small_toe', id=19, color=[51, 153, 255], type='lower', swap='left_small_toe'),
1552
+ 20: dict(name='right_heel', id=20, color=[51, 153, 255], type='lower', swap='left_heel'),
1553
+
1554
+ 21: dict(name='right_thumb4', id=21, color=[51, 153, 255], type='upper', swap='left_thumb4'),
1555
+ 22: dict(name='right_thumb3', id=22, color=[51, 153, 255], type='upper', swap='left_thumb3'),
1556
+ 23: dict(name='right_thumb2', id=23, color=[51, 153, 255], type='upper', swap='left_thumb2'),
1557
+ 24: dict(name='right_thumb_third_joint', id=24, color=[51, 153, 255], type='upper', swap='left_thumb_third_joint'),
1558
+
1559
+ 25: dict(name='right_forefinger4', id=25, color=[51, 153, 255], type='upper', swap='left_forefinger4'),
1560
+ 26: dict(name='right_forefinger3', id=26, color=[51, 153, 255], type='upper', swap='left_forefinger3'),
1561
+ 27: dict(name='right_forefinger2', id=27, color=[51, 153, 255], type='upper', swap='left_forefinger2'),
1562
+ 28: dict(name='right_forefinger_third_joint', id=28, color=[51, 153, 255], type='upper', swap='left_forefinger_third_joint'),
1563
+
1564
+ 29: dict(name='right_middle_finger4', id=29, color=[51, 153, 255], type='upper', swap='left_middle_finger4'),
1565
+ 30: dict(name='right_middle_finger3', id=30, color=[51, 153, 255], type='upper', swap='left_middle_finger3'),
1566
+ 31: dict(name='right_middle_finger2', id=31, color=[51, 153, 255], type='upper', swap='left_middle_finger2'),
1567
+ 32: dict(name='right_middle_finger_third_joint', id=32, color=[51, 153, 255], type='upper', swap='left_middle_finger_third_joint'),
1568
+
1569
+ 33: dict(name='right_ring_finger4', id=33, color=[51, 153, 255], type='upper', swap='left_ring_finger4'),
1570
+ 34: dict(name='right_ring_finger3', id=34, color=[51, 153, 255], type='upper', swap='left_ring_finger3'),
1571
+ 35: dict(name='right_ring_finger2', id=35, color=[51, 153, 255], type='upper', swap='left_ring_finger2'),
1572
+ 36: dict(name='right_ring_finger_third_joint', id=36, color=[51, 153, 255], type='upper', swap='left_ring_finger_third_joint'),
1573
+
1574
+ 37: dict(name='right_pinky_finger4', id=37, color=[51, 153, 255], type='upper', swap='left_pinky_finger4'),
1575
+ 38: dict(name='right_pinky_finger3', id=38, color=[51, 153, 255], type='upper', swap='left_pinky_finger3'),
1576
+ 39: dict(name='right_pinky_finger2', id=39, color=[51, 153, 255], type='upper', swap='left_pinky_finger2'),
1577
+ 40: dict(name='right_pinky_finger_third_joint', id=40, color=[51, 153, 255], type='upper', swap='left_pinky_finger_third_joint'),
1578
+
1579
+ 41: dict(name='right_wrist', id=41, color=[51, 153, 255], type='upper', swap='left_wrist'),
1580
+
1581
+ 42: dict(name='left_thumb4', id=42, color=[51, 153, 255], type='upper', swap='right_thumb4'),
1582
+ 43: dict(name='left_thumb3', id=43, color=[51, 153, 255], type='upper', swap='right_thumb3'),
1583
+ 44: dict(name='left_thumb2', id=44, color=[51, 153, 255], type='upper', swap='right_thumb2'),
1584
+ 45: dict(name='left_thumb_third_joint', id=45, color=[51, 153, 255], type='upper', swap='right_thumb_third_joint'), ## doesnt match with wholebody
1585
+
1586
+ 46: dict(name='left_forefinger4', id=46, color=[51, 153, 255], type='upper', swap='right_forefinger4'),
1587
+ 47: dict(name='left_forefinger3', id=47, color=[51, 153, 255], type='upper', swap='right_forefinger3'),
1588
+ 48: dict(name='left_forefinger2', id=48, color=[51, 153, 255], type='upper', swap='right_forefinger2'),
1589
+ 49: dict(name='left_forefinger_third_joint', id=49, color=[51, 153, 255], type='upper', swap='right_forefinger_third_joint'),
1590
+
1591
+ 50: dict(name='left_middle_finger4', id=50, color=[51, 153, 255], type='upper', swap='right_middle_finger4'),
1592
+ 51: dict(name='left_middle_finger3', id=51, color=[51, 153, 255], type='upper', swap='right_middle_finger3'),
1593
+ 52: dict(name='left_middle_finger2', id=52, color=[51, 153, 255], type='upper', swap='right_middle_finger2'),
1594
+ 53: dict(name='left_middle_finger_third_joint', id=53, color=[51, 153, 255], type='upper', swap='right_middle_finger_third_joint'),
1595
+
1596
+ 54: dict(name='left_ring_finger4', id=54, color=[51, 153, 255], type='upper', swap='right_ring_finger4'),
1597
+ 55: dict(name='left_ring_finger3', id=55, color=[51, 153, 255], type='upper', swap='right_ring_finger3'),
1598
+ 56: dict(name='left_ring_finger2', id=56, color=[51, 153, 255], type='upper', swap='right_ring_finger2'),
1599
+ 57: dict(name='left_ring_finger_third_joint', id=57, color=[51, 153, 255], type='upper', swap='right_ring_finger_third_joint'),
1600
+
1601
+ 58: dict(name='left_pinky_finger4', id=58, color=[51, 153, 255], type='upper', swap='right_pinky_finger4'),
1602
+ 59: dict(name='left_pinky_finger3', id=59, color=[51, 153, 255], type='upper', swap='right_pinky_finger3'),
1603
+ 60: dict(name='left_pinky_finger2', id=60, color=[51, 153, 255], type='upper', swap='right_pinky_finger2'),
1604
+ 61: dict(name='left_pinky_finger_third_joint', id=61, color=[51, 153, 255], type='upper', swap='right_pinky_finger_third_joint'),
1605
+
1606
+ 62: dict(name='left_wrist', id=62, color=[51, 153, 255], type='upper', swap='right_wrist'),
1607
+
1608
+ 63: dict(name='left_olecranon', id=63, color=[51, 153, 255], type='', swap='right_olecranon'),
1609
+ 64: dict(name='right_olecranon', id=64, color=[51, 153, 255], type='', swap='left_olecranon'),
1610
+ 65: dict(name='left_cubital_fossa', id=65, color=[51, 153, 255], type='', swap='right_cubital_fossa'),
1611
+ 66: dict(name='right_cubital_fossa', id=66, color=[51, 153, 255], type='', swap='left_cubital_fossa'),
1612
+ 67: dict(name='left_acromion', id=67, color=[51, 153, 255], type='', swap='right_acromion'),
1613
+ 68: dict(name='right_acromion', id=68, color=[51, 153, 255], type='', swap='left_acromion'),
1614
+ 69: dict(name='neck', id=69, color=[51, 153, 255], type='', swap=''),
1615
+
1616
+ # Jaw line
1617
+ 70: dict(name='center_of_glabella', id=70, color=[255, 255, 255], type='', swap=''),
1618
+ 71: dict(name='tip_of_chin', id=71, color=[255, 255, 255], type='', swap=''),
1619
+
1620
+ # Right eyebrow
1621
+ 72: dict(name='upper_startpoint_of_r_eyebrow', id=72, color=[255, 255, 255], type='upper', swap='upper_startpoint_of_l_eyebrow'),
1622
+ 73: dict(name='end_of_r_eyebrow', id=73, color=[255, 255, 255], type='upper', swap='end_of_l_eyebrow'),
1623
+ 74: dict(name='upper_midpoint_1_of_r_eyebrow', id=74, color=[255, 255, 255], type='upper', swap='upper_midpoint_1_of_l_eyebrow'),
1624
+ 75: dict(name='upper_midpoint_2_of_r_eyebrow', id=75, color=[255, 255, 255], type='upper', swap='upper_midpoint_3_of_l_eyebrow'),
1625
+ 76: dict(name='upper_midpoint_3_of_r_eyebrow', id=76, color=[255, 255, 255], type='upper', swap='upper_midpoint_2_of_l_eyebrow'),
1626
+
1627
+ # Left eyebrow
1628
+ 77: dict(name='upper_startpoint_of_l_eyebrow', id=77, color=[255, 255, 255], type='upper', swap='upper_startpoint_of_r_eyebrow'),
1629
+ 78: dict(name='end_of_l_eyebrow', id=78, color=[255, 255, 255], type='upper', swap='end_of_r_eyebrow'),
1630
+ 79: dict(name='upper_midpoint_1_of_l_eyebrow', id=79, color=[255, 255, 255], type='upper', swap='upper_midpoint_1_of_r_eyebrow'),
1631
+ 80: dict(name='upper_midpoint_2_of_l_eyebrow', id=80, color=[255, 255, 255], type='upper', swap='upper_midpoint_3_of_r_eyebrow'),
1632
+ 81: dict(name='upper_midpoint_3_of_l_eyebrow', id=81, color=[255, 255, 255], type='upper', swap='upper_midpoint_2_of_r_eyebrow'),
1633
+
1634
+ # Nose
1635
+ 82: dict(name='center_of_nose_root', id=82, color=[255, 255, 255], type='upper', swap=''),
1636
+ 83: dict(name='tip_of_nose_bridge', id=83, color=[255, 255, 255], type='upper', swap=''),
1637
+ 84: dict(name='midpoint_1_of_nose_bridge', id=84, color=[255, 255, 255], type='upper', swap=''),
1638
+ 85: dict(name='midpoint_2_of_nose_bridge', id=85, color=[255, 255, 255], type='upper', swap=''),
1639
+ 86: dict(name='midpoint_3_of_nose_bridge', id=86, color=[255, 255, 255], type='upper', swap=''),
1640
+ 87: dict(name='center_of_labiomental_groove', id=87, color=[255, 255, 255], type='upper', swap=''),
1641
+
1642
+ # Right eye
1643
+ 88: dict(name='l_inner_end_of_upper_lash_line', id=88, color=[192, 64, 128], type='upper', swap='r_inner_end_of_upper_lash_line'),
1644
+ 89: dict(name='l_outer_end_of_upper_lash_line', id=89, color=[192, 64, 128], type='upper', swap='r_outer_end_of_upper_lash_line'),
1645
+ 90: dict(name='l_centerpoint_of_upper_lash_line', id=90, color=[192, 64, 128], type='upper', swap='r_centerpoint_of_upper_lash_line'),
1646
+ 91: dict(name='l_inner_end_of_lower_lash_line', id=91, color=[64, 192, 128], type='upper', swap='r_inner_end_of_lower_lash_line'),
1647
+ 92: dict(name='l_outer_end_of_lower_lash_line', id=92, color=[64, 192, 128], type='upper', swap='r_outer_end_of_lower_lash_line'),
1648
+ 93: dict(name='l_centerpoint_of_lower_lash_line', id=93, color=[64, 192, 128], type='upper', swap='r_centerpoint_of_lower_lash_line'),
1649
+
1650
+ # Left eye
1651
+ 94: dict(name='r_inner_end_of_upper_lash_line', id=94, color=[64, 32, 192], type='upper', swap='l_inner_end_of_upper_lash_line'),
1652
+ 95: dict(name='r_outer_end_of_upper_lash_line', id=95, color=[64, 32, 192], type='upper', swap='l_outer_end_of_upper_lash_line'),
1653
+ 96: dict(name='r_centerpoint_of_upper_lash_line', id=96, color=[64, 32, 192], type='upper', swap='l_centerpoint_of_upper_lash_line'),
1654
+ 97: dict(name='r_inner_end_of_lower_lash_line', id=97, color=[64, 192, 32], type='upper', swap='l_inner_end_of_lower_lash_line'),
1655
+ 98: dict(name='r_outer_end_of_lower_lash_line', id=98, color=[64, 192, 32], type='upper', swap='l_outer_end_of_lower_lash_line'),
1656
+ 99: dict(name='r_centerpoint_of_lower_lash_line', id=99, color=[64, 192, 32], type='upper', swap='l_centerpoint_of_lower_lash_line'),
1657
+
1658
+ # Mouth
1659
+ 100: dict(name='r_outer_corner_of_mouth', id=100, color=[192, 0, 0], type='upper', swap='l_outer_corner_of_mouth'),
1660
+ 101: dict(name='l_outer_corner_of_mouth', id=101, color=[192, 0, 0], type='upper', swap='r_outer_corner_of_mouth'),
1661
+ 102: dict(name='center_of_cupid_bow', id=102, color=[192, 0, 0], type='upper', swap=''),
1662
+ 103: dict(name='center_of_lower_outer_lip', id=103, color=[192, 0, 0], type='upper', swap=''),
1663
+ 104: dict(name='midpoint_1_of_upper_outer_lip', id=104, color=[192, 0, 0], type='upper', swap='midpoint_2_of_upper_outer_lip'),
1664
+ 105: dict(name='midpoint_2_of_upper_outer_lip', id=105, color=[192, 0, 0], type='upper', swap='midpoint_1_of_upper_outer_lip'),
1665
+ 106: dict(name='midpoint_1_of_lower_outer_lip', id=106, color=[192, 0, 0], type='upper', swap='midpoint_2_of_lower_outer_lip'),
1666
+ 107: dict(name='midpoint_2_of_lower_outer_lip', id=107, color=[192, 0, 0], type='upper', swap='midpoint_1_of_lower_outer_lip'),
1667
+ 108: dict(name='r_inner_corner_of_mouth', id=108, color=[0, 192, 192], type='upper', swap='l_inner_corner_of_mouth'),
1668
+ 109: dict(name='l_inner_corner_of_mouth', id=109, color=[0, 192, 192], type='upper', swap='r_inner_corner_of_mouth'),
1669
+ 110: dict(name='center_of_upper_inner_lip', id=110, color=[0, 192, 192], type='upper', swap=''),
1670
+ 111: dict(name='center_of_lower_inner_lip', id=111, color=[0, 192, 192], type='upper', swap=''),
1671
+ 112: dict(name='midpoint_1_of_upper_inner_lip', id=112, color=[0, 192, 192], type='upper', swap='midpoint_2_of_upper_inner_lip'),
1672
+ 113: dict(name='midpoint_2_of_upper_inner_lip', id=113, color=[0, 192, 192], type='upper', swap='midpoint_1_of_upper_inner_lip'),
1673
+ 114: dict(name='midpoint_1_of_lower_inner_lip', id=114, color=[0, 192, 192], type='upper', swap='midpoint_2_of_lower_inner_lip'),
1674
+ 115: dict(name='midpoint_2_of_lower_inner_lip', id=115, color=[0, 192, 192], type='upper', swap='midpoint_1_of_lower_inner_lip'),
1675
+ },
1676
+ skeleton_info={
1677
+ 0:
1678
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
1679
+ 1:
1680
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
1681
+ 2:
1682
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
1683
+ 3:
1684
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
1685
+ 4:
1686
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
1687
+ 5:
1688
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
1689
+ 6:
1690
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
1691
+ 7:
1692
+ dict(
1693
+ link=('left_shoulder', 'right_shoulder'),
1694
+ id=7,
1695
+ color=[51, 153, 255]),
1696
+ 8:
1697
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
1698
+ 9:
1699
+ dict(
1700
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
1701
+ 10:
1702
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
1703
+ 11:
1704
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
1705
+ 12:
1706
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
1707
+ 13:
1708
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
1709
+ 14:
1710
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
1711
+ 15:
1712
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
1713
+ 16:
1714
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
1715
+ 17:
1716
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
1717
+ 18:
1718
+ dict(
1719
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
1720
+ 19:
1721
+ dict(link=('left_ankle', 'left_big_toe'), id=19, color=[0, 255, 0]),
1722
+ 20:
1723
+ dict(link=('left_ankle', 'left_small_toe'), id=20, color=[0, 255, 0]),
1724
+ 21:
1725
+ dict(link=('left_ankle', 'left_heel'), id=21, color=[0, 255, 0]),
1726
+ 22:
1727
+ dict(
1728
+ link=('right_ankle', 'right_big_toe'), id=22, color=[255, 128, 0]),
1729
+ 23:
1730
+ dict(
1731
+ link=('right_ankle', 'right_small_toe'),
1732
+ id=23,
1733
+ color=[255, 128, 0]),
1734
+ 24:
1735
+ dict(link=('right_ankle', 'right_heel'), id=24, color=[255, 128, 0]),
1736
+ 25:
1737
+ dict(
1738
+ link=('left_wrist', 'left_thumb_third_joint'), id=25, color=[255, 128,
1739
+ 0]),
1740
+ 26:
1741
+ dict(link=('left_thumb_third_joint', 'left_thumb2'), id=26, color=[255, 128, 0]),
1742
+ 27:
1743
+ dict(link=('left_thumb2', 'left_thumb3'), id=27, color=[255, 128, 0]),
1744
+ 28:
1745
+ dict(link=('left_thumb3', 'left_thumb4'), id=28, color=[255, 128, 0]),
1746
+ 29:
1747
+ dict(
1748
+ link=('left_wrist', 'left_forefinger_third_joint'),
1749
+ id=29,
1750
+ color=[255, 153, 255]),
1751
+ 30:
1752
+ dict(
1753
+ link=('left_forefinger_third_joint', 'left_forefinger2'),
1754
+ id=30,
1755
+ color=[255, 153, 255]),
1756
+ 31:
1757
+ dict(
1758
+ link=('left_forefinger2', 'left_forefinger3'),
1759
+ id=31,
1760
+ color=[255, 153, 255]),
1761
+ 32:
1762
+ dict(
1763
+ link=('left_forefinger3', 'left_forefinger4'),
1764
+ id=32,
1765
+ color=[255, 153, 255]),
1766
+ 33:
1767
+ dict(
1768
+ link=('left_wrist', 'left_middle_finger_third_joint'),
1769
+ id=33,
1770
+ color=[102, 178, 255]),
1771
+ 34:
1772
+ dict(
1773
+ link=('left_middle_finger_third_joint', 'left_middle_finger2'),
1774
+ id=34,
1775
+ color=[102, 178, 255]),
1776
+ 35:
1777
+ dict(
1778
+ link=('left_middle_finger2', 'left_middle_finger3'),
1779
+ id=35,
1780
+ color=[102, 178, 255]),
1781
+ 36:
1782
+ dict(
1783
+ link=('left_middle_finger3', 'left_middle_finger4'),
1784
+ id=36,
1785
+ color=[102, 178, 255]),
1786
+ 37:
1787
+ dict(
1788
+ link=('left_wrist', 'left_ring_finger_third_joint'),
1789
+ id=37,
1790
+ color=[255, 51, 51]),
1791
+ 38:
1792
+ dict(
1793
+ link=('left_ring_finger_third_joint', 'left_ring_finger2'),
1794
+ id=38,
1795
+ color=[255, 51, 51]),
1796
+ 39:
1797
+ dict(
1798
+ link=('left_ring_finger2', 'left_ring_finger3'),
1799
+ id=39,
1800
+ color=[255, 51, 51]),
1801
+ 40:
1802
+ dict(
1803
+ link=('left_ring_finger3', 'left_ring_finger4'),
1804
+ id=40,
1805
+ color=[255, 51, 51]),
1806
+ 41:
1807
+ dict(
1808
+ link=('left_wrist', 'left_pinky_finger_third_joint'),
1809
+ id=41,
1810
+ color=[0, 255, 0]),
1811
+ 42:
1812
+ dict(
1813
+ link=('left_pinky_finger_third_joint', 'left_pinky_finger2'),
1814
+ id=42,
1815
+ color=[0, 255, 0]),
1816
+ 43:
1817
+ dict(
1818
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1819
+ id=43,
1820
+ color=[0, 255, 0]),
1821
+ 44:
1822
+ dict(
1823
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1824
+ id=44,
1825
+ color=[0, 255, 0]),
1826
+ 45:
1827
+ dict(
1828
+ link=('right_wrist', 'right_thumb_third_joint'),
1829
+ id=45,
1830
+ color=[255, 128, 0]),
1831
+ 46:
1832
+ dict(
1833
+ link=('right_thumb_third_joint', 'right_thumb2'), id=46, color=[255, 128, 0]),
1834
+ 47:
1835
+ dict(
1836
+ link=('right_thumb2', 'right_thumb3'), id=47, color=[255, 128, 0]),
1837
+ 48:
1838
+ dict(
1839
+ link=('right_thumb3', 'right_thumb4'), id=48, color=[255, 128, 0]),
1840
+ 49:
1841
+ dict(
1842
+ link=('right_wrist', 'right_forefinger_third_joint'),
1843
+ id=49,
1844
+ color=[255, 153, 255]),
1845
+ 50:
1846
+ dict(
1847
+ link=('right_forefinger_third_joint', 'right_forefinger2'),
1848
+ id=50,
1849
+ color=[255, 153, 255]),
1850
+ 51:
1851
+ dict(
1852
+ link=('right_forefinger2', 'right_forefinger3'),
1853
+ id=51,
1854
+ color=[255, 153, 255]),
1855
+ 52:
1856
+ dict(
1857
+ link=('right_forefinger3', 'right_forefinger4'),
1858
+ id=52,
1859
+ color=[255, 153, 255]),
1860
+ 53:
1861
+ dict(
1862
+ link=('right_wrist', 'right_middle_finger_third_joint'),
1863
+ id=53,
1864
+ color=[102, 178, 255]),
1865
+ 54:
1866
+ dict(
1867
+ link=('right_middle_finger_third_joint', 'right_middle_finger2'),
1868
+ id=54,
1869
+ color=[102, 178, 255]),
1870
+ 55:
1871
+ dict(
1872
+ link=('right_middle_finger2', 'right_middle_finger3'),
1873
+ id=55,
1874
+ color=[102, 178, 255]),
1875
+ 56:
1876
+ dict(
1877
+ link=('right_middle_finger3', 'right_middle_finger4'),
1878
+ id=56,
1879
+ color=[102, 178, 255]),
1880
+ 57:
1881
+ dict(
1882
+ link=('right_wrist', 'right_ring_finger_third_joint'),
1883
+ id=57,
1884
+ color=[255, 51, 51]),
1885
+ 58:
1886
+ dict(
1887
+ link=('right_ring_finger_third_joint', 'right_ring_finger2'),
1888
+ id=58,
1889
+ color=[255, 51, 51]),
1890
+ 59:
1891
+ dict(
1892
+ link=('right_ring_finger2', 'right_ring_finger3'),
1893
+ id=59,
1894
+ color=[255, 51, 51]),
1895
+ 60:
1896
+ dict(
1897
+ link=('right_ring_finger3', 'right_ring_finger4'),
1898
+ id=60,
1899
+ color=[255, 51, 51]),
1900
+ 61:
1901
+ dict(
1902
+ link=('right_wrist', 'right_pinky_finger_third_joint'),
1903
+ id=61,
1904
+ color=[0, 255, 0]),
1905
+ 62:
1906
+ dict(
1907
+ link=('right_pinky_finger_third_joint', 'right_pinky_finger2'),
1908
+ id=62,
1909
+ color=[0, 255, 0]),
1910
+ 63:
1911
+ dict(
1912
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1913
+ id=63,
1914
+ color=[0, 255, 0]),
1915
+ 64:
1916
+ dict(
1917
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1918
+ id=64,
1919
+ color=[0, 255, 0])
1920
+ },
1921
+ joint_weights=[1.] * 116,
1922
+ body_keypoint_names=[
1923
+ 'nose',
1924
+ 'left_eye',
1925
+ 'right_eye',
1926
+ 'left_ear',
1927
+ 'right_ear',
1928
+ 'left_shoulder',
1929
+ 'right_shoulder',
1930
+ 'left_elbow',
1931
+ 'right_elbow',
1932
+ 'left_wrist',
1933
+ 'right_wrist',
1934
+ 'left_hip',
1935
+ 'right_hip',
1936
+ 'left_knee',
1937
+ 'right_knee',
1938
+ 'left_ankle',
1939
+ 'right_ankle',
1940
+ ],
1941
+ foot_keypoint_names=[
1942
+ 'left_big_toe',
1943
+ 'left_small_toe',
1944
+ 'left_heel',
1945
+ 'right_big_toe',
1946
+ 'right_small_toe',
1947
+ 'right_heel'
1948
+ ],
1949
+ left_hand_keypoint_names=[
1950
+ 'left_thumb4',
1951
+ 'left_thumb3',
1952
+ 'left_thumb2',
1953
+ 'left_thumb_third_joint',
1954
+ 'left_forefinger4',
1955
+ 'left_forefinger3',
1956
+ 'left_forefinger2',
1957
+ 'left_forefinger_third_joint',
1958
+ 'left_middle_finger4',
1959
+ 'left_middle_finger3',
1960
+ 'left_middle_finger2',
1961
+ 'left_middle_finger_third_joint',
1962
+ 'left_ring_finger4',
1963
+ 'left_ring_finger3',
1964
+ 'left_ring_finger2',
1965
+ 'left_ring_finger_third_joint',
1966
+ 'left_pinky_finger4',
1967
+ 'left_pinky_finger3',
1968
+ 'left_pinky_finger2',
1969
+ 'left_pinky_finger_third_joint'
1970
+ ],
1971
+ right_hand_keypoint_names=[
1972
+ 'right_thumb4',
1973
+ 'right_thumb3',
1974
+ 'right_thumb2',
1975
+ 'right_thumb_third_joint',
1976
+ 'right_forefinger4',
1977
+ 'right_forefinger3',
1978
+ 'right_forefinger2',
1979
+ 'right_forefinger_third_joint',
1980
+ 'right_middle_finger4',
1981
+ 'right_middle_finger3',
1982
+ 'right_middle_finger2',
1983
+ 'right_middle_finger_third_joint',
1984
+ 'right_ring_finger4',
1985
+ 'right_ring_finger3',
1986
+ 'right_ring_finger2',
1987
+ 'right_ring_finger_third_joint',
1988
+ 'right_pinky_finger4',
1989
+ 'right_pinky_finger3',
1990
+ 'right_pinky_finger2',
1991
+ 'right_pinky_finger_third_joint'
1992
+ ],
1993
+ ## 7 of them
1994
+ extra_keypoint_names=[
1995
+ 'neck',
1996
+ 'left_olecranon',
1997
+ 'right_olecranon',
1998
+ 'left_cubital_fossa',
1999
+ 'right_cubital_fossa',
2000
+ 'left_acromion',
2001
+ 'right_acromion',
2002
+ ],
2003
+ face_keypoint_names = [
2004
+ 'center_of_glabella',
2005
+ 'tip_of_chin',
2006
+ 'upper_startpoint_of_r_eyebrow',
2007
+ 'end_of_r_eyebrow',
2008
+ 'upper_midpoint_1_of_r_eyebrow',
2009
+ 'upper_midpoint_2_of_r_eyebrow',
2010
+ 'upper_midpoint_3_of_r_eyebrow',
2011
+ 'upper_startpoint_of_l_eyebrow',
2012
+ 'end_of_l_eyebrow',
2013
+ 'upper_midpoint_1_of_l_eyebrow',
2014
+ 'upper_midpoint_2_of_l_eyebrow',
2015
+ 'upper_midpoint_3_of_l_eyebrow',
2016
+ 'center_of_nose_root',
2017
+ 'tip_of_nose_bridge',
2018
+ 'midpoint_1_of_nose_bridge',
2019
+ 'midpoint_2_of_nose_bridge',
2020
+ 'midpoint_3_of_nose_bridge',
2021
+ 'center_of_labiomental_groove',
2022
+ 'l_inner_end_of_upper_lash_line',
2023
+ 'l_outer_end_of_upper_lash_line',
2024
+ 'l_centerpoint_of_upper_lash_line',
2025
+ 'l_inner_end_of_lower_lash_line',
2026
+ 'l_outer_end_of_lower_lash_line',
2027
+ 'l_centerpoint_of_lower_lash_line',
2028
+ 'r_inner_end_of_upper_lash_line',
2029
+ 'r_outer_end_of_upper_lash_line',
2030
+ 'r_centerpoint_of_upper_lash_line',
2031
+ 'r_inner_end_of_lower_lash_line',
2032
+ 'r_outer_end_of_lower_lash_line',
2033
+ 'r_centerpoint_of_lower_lash_line',
2034
+ 'r_outer_corner_of_mouth',
2035
+ 'l_outer_corner_of_mouth',
2036
+ 'center_of_cupid_bow',
2037
+ 'center_of_lower_outer_lip',
2038
+ 'midpoint_1_of_upper_outer_lip',
2039
+ 'midpoint_2_of_upper_outer_lip',
2040
+ 'midpoint_1_of_lower_outer_lip',
2041
+ 'midpoint_2_of_lower_outer_lip',
2042
+ 'r_inner_corner_of_mouth',
2043
+ 'l_inner_corner_of_mouth',
2044
+ 'center_of_upper_inner_lip',
2045
+ 'center_of_lower_inner_lip',
2046
+ 'midpoint_1_of_upper_inner_lip',
2047
+ 'midpoint_2_of_upper_inner_lip',
2048
+ 'midpoint_1_of_lower_inner_lip',
2049
+ 'midpoint_2_of_lower_inner_lip'
2050
+ ]
2051
+ )
2052
+
2053
+ ##------------------------------------------------------------------------------------------------------------------
2054
+ inverse_original_keypoint_info = {name: id for (id, name) in dataset_info['original_keypoint_info'].items()}
2055
+
2056
+ ## create index to original mapping
2057
+ dataset_info['idx_to_original_idx_mapping'] = {}
2058
+ for keypoint_index, keypoint_info in dataset_info['keypoint_info'].items():
2059
+ keypoint_name = keypoint_info['name']
2060
+ dataset_info['idx_to_original_idx_mapping'][keypoint_index] = inverse_original_keypoint_info[keypoint_name]
2061
+
2062
+ ##------------------------------------------------------------------------------------------------------------------
2063
+ ## reconfigure in the order of coco_whole_body
2064
+ coco_wholebody_keypoint_info = {keypoint_info['name']: keypoint_info for (keypoint_index, keypoint_info) in coco_wholebody_info['keypoint_info'].items()}
2065
+ coco_wholebody_to_goliath_mapping = {} ## coco_wholebody_index to goliath_index
2066
+ coco_wholebody_to_goliath_keypoint_info = {}
2067
+
2068
+ ## find out common keypoints between goliath and coco_whole_body
2069
+ for (keypoint_index, keypoint_info) in dataset_info['keypoint_info'].items():
2070
+ keypoint_name = keypoint_info['name']
2071
+ keypoint_index_ = keypoint_info['id']
2072
+ assert(keypoint_index == keypoint_index_)
2073
+
2074
+ if keypoint_name in coco_wholebody_keypoint_info.keys():
2075
+ coco_wholebody_to_goliath_keypoint_info[keypoint_name] = coco_wholebody_keypoint_info[keypoint_name]
2076
+ coco_wholebody_to_goliath_mapping[coco_wholebody_keypoint_info[keypoint_name]['id']] = keypoint_info['id']
2077
+
2078
+ dataset_info['coco_wholebody_to_goliath_mapping'] = coco_wholebody_to_goliath_mapping ## store the cocowholebody indices
2079
+ dataset_info['coco_wholebody_to_goliath_keypoint_info'] = coco_wholebody_to_goliath_keypoint_info
2080
+
2081
+ ##------------------------------------------------------------------------------------------------------------------
2082
+ coco_wholebody_sigmas = {}
2083
+
2084
+ ## compute the coco_wholebody_sigmas
2085
+ for keypoint_index, keypoint_info in coco_wholebody_info['keypoint_info'].items():
2086
+ coco_wholebody_sigmas[keypoint_info['name']] = coco_wholebody_info['sigmas'][keypoint_info['id']]
2087
+
2088
+ default_sigma = 0.010 ## for mostly face keypoints
2089
+ dataset_info['sigmas'] = [default_sigma]*len(dataset_info['keypoint_info'])
2090
+
2091
+ ## we copy sigmas from coco_wholebody. Rest are assigned as below:
2092
+ custom_sigmas = {
2093
+ 'left_thumb_third_joint': 0.022,
2094
+ 'left_forefinger_third_joint': 0.026,
2095
+ 'left_middle_finger_third_joint': 0.018,
2096
+ 'left_ring_finger_third_joint': 0.017,
2097
+ 'left_pinky_finger_third_joint': 0.02,
2098
+ 'right_thumb_third_joint': 0.022,
2099
+ 'right_forefinger_third_joint': 0.026,
2100
+ 'right_middle_finger_third_joint': 0.018,
2101
+ 'right_ring_finger_third_joint': 0.017,
2102
+ 'right_pinky_finger_third_joint': 0.02,
2103
+ 'neck': 0.079, ## same as shoulder
2104
+ 'left_olecranon': 0.072, ## same as elbow
2105
+ 'right_olecranon': 0.072, ## same as elbow
2106
+ 'left_cubital_fossa': 0.072, ## same as elbow
2107
+ 'right_cubital_fossa': 0.072, ## same as elbow
2108
+ 'left_acromion': 0.079, ## same as shoulder
2109
+ 'right_acromion': 0.079, ## same as shoulder
2110
+ }
2111
+
2112
+ ## copy custom sigmas
2113
+ for keypoint_name, sigma in custom_sigmas.items():
2114
+ keypoint_id = -1
2115
+
2116
+ ## search for keypoint id from keypoint name
2117
+ for keypoint_id_ in dataset_info['keypoint_info'].keys():
2118
+ if dataset_info['keypoint_info'][keypoint_id_]['name'] == keypoint_name:
2119
+ keypoint_id = keypoint_id_
2120
+ break
2121
+
2122
+ if keypoint_id != -1:
2123
+ keypoint_info = dataset_info['keypoint_info'][keypoint_id]
2124
+ assert(keypoint_info['name'] == keypoint_name)
2125
+ assert(keypoint_info['id'] == keypoint_id)
2126
+ dataset_info['sigmas'][keypoint_info['id']] = sigma
2127
+
2128
+ ## copy coco_wholebody sigmas
2129
+ for keypoint_index, keypoint_info in dataset_info['keypoint_info'].items():
2130
+ if keypoint_info['name'] in coco_wholebody_sigmas.keys():
2131
+ dataset_info['sigmas'][keypoint_info['id']] = coco_wholebody_sigmas[keypoint_info['name']]
configs/_base_/datasets/h36m.py ADDED
@@ -0,0 +1,158 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='h36m',
9
+ paper_info=dict(
10
+ author='Ionescu, Catalin and Papava, Dragos and '
11
+ 'Olaru, Vlad and Sminchisescu, Cristian',
12
+ title='Human3.6M: Large Scale Datasets and Predictive '
13
+ 'Methods for 3D Human Sensing in Natural Environments',
14
+ container='IEEE Transactions on Pattern Analysis and '
15
+ 'Machine Intelligence',
16
+ year='2014',
17
+ homepage='http://vision.imar.ro/human3.6m/description.php',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='root', id=0, color=[51, 153, 255], type='lower', swap=''),
22
+ 1:
23
+ dict(
24
+ name='right_hip',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='lower',
28
+ swap='left_hip'),
29
+ 2:
30
+ dict(
31
+ name='right_knee',
32
+ id=2,
33
+ color=[255, 128, 0],
34
+ type='lower',
35
+ swap='left_knee'),
36
+ 3:
37
+ dict(
38
+ name='right_foot',
39
+ id=3,
40
+ color=[255, 128, 0],
41
+ type='lower',
42
+ swap='left_foot'),
43
+ 4:
44
+ dict(
45
+ name='left_hip',
46
+ id=4,
47
+ color=[0, 255, 0],
48
+ type='lower',
49
+ swap='right_hip'),
50
+ 5:
51
+ dict(
52
+ name='left_knee',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='lower',
56
+ swap='right_knee'),
57
+ 6:
58
+ dict(
59
+ name='left_foot',
60
+ id=6,
61
+ color=[0, 255, 0],
62
+ type='lower',
63
+ swap='right_foot'),
64
+ 7:
65
+ dict(name='spine', id=7, color=[51, 153, 255], type='upper', swap=''),
66
+ 8:
67
+ dict(name='thorax', id=8, color=[51, 153, 255], type='upper', swap=''),
68
+ 9:
69
+ dict(
70
+ name='neck_base',
71
+ id=9,
72
+ color=[51, 153, 255],
73
+ type='upper',
74
+ swap=''),
75
+ 10:
76
+ dict(name='head', id=10, color=[51, 153, 255], type='upper', swap=''),
77
+ 11:
78
+ dict(
79
+ name='left_shoulder',
80
+ id=11,
81
+ color=[0, 255, 0],
82
+ type='upper',
83
+ swap='right_shoulder'),
84
+ 12:
85
+ dict(
86
+ name='left_elbow',
87
+ id=12,
88
+ color=[0, 255, 0],
89
+ type='upper',
90
+ swap='right_elbow'),
91
+ 13:
92
+ dict(
93
+ name='left_wrist',
94
+ id=13,
95
+ color=[0, 255, 0],
96
+ type='upper',
97
+ swap='right_wrist'),
98
+ 14:
99
+ dict(
100
+ name='right_shoulder',
101
+ id=14,
102
+ color=[255, 128, 0],
103
+ type='upper',
104
+ swap='left_shoulder'),
105
+ 15:
106
+ dict(
107
+ name='right_elbow',
108
+ id=15,
109
+ color=[255, 128, 0],
110
+ type='upper',
111
+ swap='left_elbow'),
112
+ 16:
113
+ dict(
114
+ name='right_wrist',
115
+ id=16,
116
+ color=[255, 128, 0],
117
+ type='upper',
118
+ swap='left_wrist')
119
+ },
120
+ skeleton_info={
121
+ 0:
122
+ dict(link=('root', 'left_hip'), id=0, color=[0, 255, 0]),
123
+ 1:
124
+ dict(link=('left_hip', 'left_knee'), id=1, color=[0, 255, 0]),
125
+ 2:
126
+ dict(link=('left_knee', 'left_foot'), id=2, color=[0, 255, 0]),
127
+ 3:
128
+ dict(link=('root', 'right_hip'), id=3, color=[255, 128, 0]),
129
+ 4:
130
+ dict(link=('right_hip', 'right_knee'), id=4, color=[255, 128, 0]),
131
+ 5:
132
+ dict(link=('right_knee', 'right_foot'), id=5, color=[255, 128, 0]),
133
+ 6:
134
+ dict(link=('root', 'spine'), id=6, color=[51, 153, 255]),
135
+ 7:
136
+ dict(link=('spine', 'thorax'), id=7, color=[51, 153, 255]),
137
+ 8:
138
+ dict(link=('thorax', 'neck_base'), id=8, color=[51, 153, 255]),
139
+ 9:
140
+ dict(link=('neck_base', 'head'), id=9, color=[51, 153, 255]),
141
+ 10:
142
+ dict(link=('thorax', 'left_shoulder'), id=10, color=[0, 255, 0]),
143
+ 11:
144
+ dict(link=('left_shoulder', 'left_elbow'), id=11, color=[0, 255, 0]),
145
+ 12:
146
+ dict(link=('left_elbow', 'left_wrist'), id=12, color=[0, 255, 0]),
147
+ 13:
148
+ dict(link=('thorax', 'right_shoulder'), id=13, color=[255, 128, 0]),
149
+ 14:
150
+ dict(
151
+ link=('right_shoulder', 'right_elbow'), id=14, color=[255, 128,
152
+ 0]),
153
+ 15:
154
+ dict(link=('right_elbow', 'right_wrist'), id=15, color=[255, 128, 0])
155
+ },
156
+ joint_weights=[1.] * 17,
157
+ sigmas=[],
158
+ stats_info=dict(bbox_center=(528., 427.), bbox_scale=400.))
configs/_base_/datasets/halpe.py ADDED
@@ -0,0 +1,1163 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='halpe',
9
+ paper_info=dict(
10
+ author='Li, Yong-Lu and Xu, Liang and Liu, Xinpeng and Huang, Xijie'
11
+ ' and Xu, Yue and Wang, Shiyi and Fang, Hao-Shu'
12
+ ' and Ma, Ze and Chen, Mingyang and Lu, Cewu',
13
+ title='PaStaNet: Toward Human Activity Knowledge Engine',
14
+ container='CVPR',
15
+ year='2020',
16
+ homepage='https://github.com/Fang-Haoshu/Halpe-FullBody/',
17
+ ),
18
+ keypoint_info={
19
+ 0:
20
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
21
+ 1:
22
+ dict(
23
+ name='left_eye',
24
+ id=1,
25
+ color=[51, 153, 255],
26
+ type='upper',
27
+ swap='right_eye'),
28
+ 2:
29
+ dict(
30
+ name='right_eye',
31
+ id=2,
32
+ color=[51, 153, 255],
33
+ type='upper',
34
+ swap='left_eye'),
35
+ 3:
36
+ dict(
37
+ name='left_ear',
38
+ id=3,
39
+ color=[51, 153, 255],
40
+ type='upper',
41
+ swap='right_ear'),
42
+ 4:
43
+ dict(
44
+ name='right_ear',
45
+ id=4,
46
+ color=[51, 153, 255],
47
+ type='upper',
48
+ swap='left_ear'),
49
+ 5:
50
+ dict(
51
+ name='left_shoulder',
52
+ id=5,
53
+ color=[0, 255, 0],
54
+ type='upper',
55
+ swap='right_shoulder'),
56
+ 6:
57
+ dict(
58
+ name='right_shoulder',
59
+ id=6,
60
+ color=[255, 128, 0],
61
+ type='upper',
62
+ swap='left_shoulder'),
63
+ 7:
64
+ dict(
65
+ name='left_elbow',
66
+ id=7,
67
+ color=[0, 255, 0],
68
+ type='upper',
69
+ swap='right_elbow'),
70
+ 8:
71
+ dict(
72
+ name='right_elbow',
73
+ id=8,
74
+ color=[255, 128, 0],
75
+ type='upper',
76
+ swap='left_elbow'),
77
+ 9:
78
+ dict(
79
+ name='left_wrist',
80
+ id=9,
81
+ color=[0, 255, 0],
82
+ type='upper',
83
+ swap='right_wrist'),
84
+ 10:
85
+ dict(
86
+ name='right_wrist',
87
+ id=10,
88
+ color=[255, 128, 0],
89
+ type='upper',
90
+ swap='left_wrist'),
91
+ 11:
92
+ dict(
93
+ name='left_hip',
94
+ id=11,
95
+ color=[0, 255, 0],
96
+ type='lower',
97
+ swap='right_hip'),
98
+ 12:
99
+ dict(
100
+ name='right_hip',
101
+ id=12,
102
+ color=[255, 128, 0],
103
+ type='lower',
104
+ swap='left_hip'),
105
+ 13:
106
+ dict(
107
+ name='left_knee',
108
+ id=13,
109
+ color=[0, 255, 0],
110
+ type='lower',
111
+ swap='right_knee'),
112
+ 14:
113
+ dict(
114
+ name='right_knee',
115
+ id=14,
116
+ color=[255, 128, 0],
117
+ type='lower',
118
+ swap='left_knee'),
119
+ 15:
120
+ dict(
121
+ name='left_ankle',
122
+ id=15,
123
+ color=[0, 255, 0],
124
+ type='lower',
125
+ swap='right_ankle'),
126
+ 16:
127
+ dict(
128
+ name='right_ankle',
129
+ id=16,
130
+ color=[255, 128, 0],
131
+ type='lower',
132
+ swap='left_ankle'),
133
+ 17:
134
+ dict(name='head', id=17, color=[255, 128, 0], type='upper', swap=''),
135
+ 18:
136
+ dict(name='neck', id=18, color=[255, 128, 0], type='upper', swap=''),
137
+ 19:
138
+ dict(name='hip', id=19, color=[255, 128, 0], type='lower', swap=''),
139
+ 20:
140
+ dict(
141
+ name='left_big_toe',
142
+ id=20,
143
+ color=[255, 128, 0],
144
+ type='lower',
145
+ swap='right_big_toe'),
146
+ 21:
147
+ dict(
148
+ name='right_big_toe',
149
+ id=21,
150
+ color=[255, 128, 0],
151
+ type='lower',
152
+ swap='left_big_toe'),
153
+ 22:
154
+ dict(
155
+ name='left_small_toe',
156
+ id=22,
157
+ color=[255, 128, 0],
158
+ type='lower',
159
+ swap='right_small_toe'),
160
+ 23:
161
+ dict(
162
+ name='right_small_toe',
163
+ id=23,
164
+ color=[255, 128, 0],
165
+ type='lower',
166
+ swap='left_small_toe'),
167
+ 24:
168
+ dict(
169
+ name='left_heel',
170
+ id=24,
171
+ color=[255, 128, 0],
172
+ type='lower',
173
+ swap='right_heel'),
174
+ 25:
175
+ dict(
176
+ name='right_heel',
177
+ id=25,
178
+ color=[255, 128, 0],
179
+ type='lower',
180
+ swap='left_heel'),
181
+ 26:
182
+ dict(
183
+ name='face-0',
184
+ id=26,
185
+ color=[255, 255, 255],
186
+ type='',
187
+ swap='face-16'),
188
+ 27:
189
+ dict(
190
+ name='face-1',
191
+ id=27,
192
+ color=[255, 255, 255],
193
+ type='',
194
+ swap='face-15'),
195
+ 28:
196
+ dict(
197
+ name='face-2',
198
+ id=28,
199
+ color=[255, 255, 255],
200
+ type='',
201
+ swap='face-14'),
202
+ 29:
203
+ dict(
204
+ name='face-3',
205
+ id=29,
206
+ color=[255, 255, 255],
207
+ type='',
208
+ swap='face-13'),
209
+ 30:
210
+ dict(
211
+ name='face-4',
212
+ id=30,
213
+ color=[255, 255, 255],
214
+ type='',
215
+ swap='face-12'),
216
+ 31:
217
+ dict(
218
+ name='face-5',
219
+ id=31,
220
+ color=[255, 255, 255],
221
+ type='',
222
+ swap='face-11'),
223
+ 32:
224
+ dict(
225
+ name='face-6',
226
+ id=32,
227
+ color=[255, 255, 255],
228
+ type='',
229
+ swap='face-10'),
230
+ 33:
231
+ dict(
232
+ name='face-7',
233
+ id=33,
234
+ color=[255, 255, 255],
235
+ type='',
236
+ swap='face-9'),
237
+ 34:
238
+ dict(name='face-8', id=34, color=[255, 255, 255], type='', swap=''),
239
+ 35:
240
+ dict(
241
+ name='face-9',
242
+ id=35,
243
+ color=[255, 255, 255],
244
+ type='',
245
+ swap='face-7'),
246
+ 36:
247
+ dict(
248
+ name='face-10',
249
+ id=36,
250
+ color=[255, 255, 255],
251
+ type='',
252
+ swap='face-6'),
253
+ 37:
254
+ dict(
255
+ name='face-11',
256
+ id=37,
257
+ color=[255, 255, 255],
258
+ type='',
259
+ swap='face-5'),
260
+ 38:
261
+ dict(
262
+ name='face-12',
263
+ id=38,
264
+ color=[255, 255, 255],
265
+ type='',
266
+ swap='face-4'),
267
+ 39:
268
+ dict(
269
+ name='face-13',
270
+ id=39,
271
+ color=[255, 255, 255],
272
+ type='',
273
+ swap='face-3'),
274
+ 40:
275
+ dict(
276
+ name='face-14',
277
+ id=40,
278
+ color=[255, 255, 255],
279
+ type='',
280
+ swap='face-2'),
281
+ 41:
282
+ dict(
283
+ name='face-15',
284
+ id=41,
285
+ color=[255, 255, 255],
286
+ type='',
287
+ swap='face-1'),
288
+ 42:
289
+ dict(
290
+ name='face-16',
291
+ id=42,
292
+ color=[255, 255, 255],
293
+ type='',
294
+ swap='face-0'),
295
+ 43:
296
+ dict(
297
+ name='face-17',
298
+ id=43,
299
+ color=[255, 255, 255],
300
+ type='',
301
+ swap='face-26'),
302
+ 44:
303
+ dict(
304
+ name='face-18',
305
+ id=44,
306
+ color=[255, 255, 255],
307
+ type='',
308
+ swap='face-25'),
309
+ 45:
310
+ dict(
311
+ name='face-19',
312
+ id=45,
313
+ color=[255, 255, 255],
314
+ type='',
315
+ swap='face-24'),
316
+ 46:
317
+ dict(
318
+ name='face-20',
319
+ id=46,
320
+ color=[255, 255, 255],
321
+ type='',
322
+ swap='face-23'),
323
+ 47:
324
+ dict(
325
+ name='face-21',
326
+ id=47,
327
+ color=[255, 255, 255],
328
+ type='',
329
+ swap='face-22'),
330
+ 48:
331
+ dict(
332
+ name='face-22',
333
+ id=48,
334
+ color=[255, 255, 255],
335
+ type='',
336
+ swap='face-21'),
337
+ 49:
338
+ dict(
339
+ name='face-23',
340
+ id=49,
341
+ color=[255, 255, 255],
342
+ type='',
343
+ swap='face-20'),
344
+ 50:
345
+ dict(
346
+ name='face-24',
347
+ id=50,
348
+ color=[255, 255, 255],
349
+ type='',
350
+ swap='face-19'),
351
+ 51:
352
+ dict(
353
+ name='face-25',
354
+ id=51,
355
+ color=[255, 255, 255],
356
+ type='',
357
+ swap='face-18'),
358
+ 52:
359
+ dict(
360
+ name='face-26',
361
+ id=52,
362
+ color=[255, 255, 255],
363
+ type='',
364
+ swap='face-17'),
365
+ 53:
366
+ dict(name='face-27', id=53, color=[255, 255, 255], type='', swap=''),
367
+ 54:
368
+ dict(name='face-28', id=54, color=[255, 255, 255], type='', swap=''),
369
+ 55:
370
+ dict(name='face-29', id=55, color=[255, 255, 255], type='', swap=''),
371
+ 56:
372
+ dict(name='face-30', id=56, color=[255, 255, 255], type='', swap=''),
373
+ 57:
374
+ dict(
375
+ name='face-31',
376
+ id=57,
377
+ color=[255, 255, 255],
378
+ type='',
379
+ swap='face-35'),
380
+ 58:
381
+ dict(
382
+ name='face-32',
383
+ id=58,
384
+ color=[255, 255, 255],
385
+ type='',
386
+ swap='face-34'),
387
+ 59:
388
+ dict(name='face-33', id=59, color=[255, 255, 255], type='', swap=''),
389
+ 60:
390
+ dict(
391
+ name='face-34',
392
+ id=60,
393
+ color=[255, 255, 255],
394
+ type='',
395
+ swap='face-32'),
396
+ 61:
397
+ dict(
398
+ name='face-35',
399
+ id=61,
400
+ color=[255, 255, 255],
401
+ type='',
402
+ swap='face-31'),
403
+ 62:
404
+ dict(
405
+ name='face-36',
406
+ id=62,
407
+ color=[255, 255, 255],
408
+ type='',
409
+ swap='face-45'),
410
+ 63:
411
+ dict(
412
+ name='face-37',
413
+ id=63,
414
+ color=[255, 255, 255],
415
+ type='',
416
+ swap='face-44'),
417
+ 64:
418
+ dict(
419
+ name='face-38',
420
+ id=64,
421
+ color=[255, 255, 255],
422
+ type='',
423
+ swap='face-43'),
424
+ 65:
425
+ dict(
426
+ name='face-39',
427
+ id=65,
428
+ color=[255, 255, 255],
429
+ type='',
430
+ swap='face-42'),
431
+ 66:
432
+ dict(
433
+ name='face-40',
434
+ id=66,
435
+ color=[255, 255, 255],
436
+ type='',
437
+ swap='face-47'),
438
+ 67:
439
+ dict(
440
+ name='face-41',
441
+ id=67,
442
+ color=[255, 255, 255],
443
+ type='',
444
+ swap='face-46'),
445
+ 68:
446
+ dict(
447
+ name='face-42',
448
+ id=68,
449
+ color=[255, 255, 255],
450
+ type='',
451
+ swap='face-39'),
452
+ 69:
453
+ dict(
454
+ name='face-43',
455
+ id=69,
456
+ color=[255, 255, 255],
457
+ type='',
458
+ swap='face-38'),
459
+ 70:
460
+ dict(
461
+ name='face-44',
462
+ id=70,
463
+ color=[255, 255, 255],
464
+ type='',
465
+ swap='face-37'),
466
+ 71:
467
+ dict(
468
+ name='face-45',
469
+ id=71,
470
+ color=[255, 255, 255],
471
+ type='',
472
+ swap='face-36'),
473
+ 72:
474
+ dict(
475
+ name='face-46',
476
+ id=72,
477
+ color=[255, 255, 255],
478
+ type='',
479
+ swap='face-41'),
480
+ 73:
481
+ dict(
482
+ name='face-47',
483
+ id=73,
484
+ color=[255, 255, 255],
485
+ type='',
486
+ swap='face-40'),
487
+ 74:
488
+ dict(
489
+ name='face-48',
490
+ id=74,
491
+ color=[255, 255, 255],
492
+ type='',
493
+ swap='face-54'),
494
+ 75:
495
+ dict(
496
+ name='face-49',
497
+ id=75,
498
+ color=[255, 255, 255],
499
+ type='',
500
+ swap='face-53'),
501
+ 76:
502
+ dict(
503
+ name='face-50',
504
+ id=76,
505
+ color=[255, 255, 255],
506
+ type='',
507
+ swap='face-52'),
508
+ 77:
509
+ dict(name='face-51', id=77, color=[255, 255, 255], type='', swap=''),
510
+ 78:
511
+ dict(
512
+ name='face-52',
513
+ id=78,
514
+ color=[255, 255, 255],
515
+ type='',
516
+ swap='face-50'),
517
+ 79:
518
+ dict(
519
+ name='face-53',
520
+ id=79,
521
+ color=[255, 255, 255],
522
+ type='',
523
+ swap='face-49'),
524
+ 80:
525
+ dict(
526
+ name='face-54',
527
+ id=80,
528
+ color=[255, 255, 255],
529
+ type='',
530
+ swap='face-48'),
531
+ 81:
532
+ dict(
533
+ name='face-55',
534
+ id=81,
535
+ color=[255, 255, 255],
536
+ type='',
537
+ swap='face-59'),
538
+ 82:
539
+ dict(
540
+ name='face-56',
541
+ id=82,
542
+ color=[255, 255, 255],
543
+ type='',
544
+ swap='face-58'),
545
+ 83:
546
+ dict(name='face-57', id=83, color=[255, 255, 255], type='', swap=''),
547
+ 84:
548
+ dict(
549
+ name='face-58',
550
+ id=84,
551
+ color=[255, 255, 255],
552
+ type='',
553
+ swap='face-56'),
554
+ 85:
555
+ dict(
556
+ name='face-59',
557
+ id=85,
558
+ color=[255, 255, 255],
559
+ type='',
560
+ swap='face-55'),
561
+ 86:
562
+ dict(
563
+ name='face-60',
564
+ id=86,
565
+ color=[255, 255, 255],
566
+ type='',
567
+ swap='face-64'),
568
+ 87:
569
+ dict(
570
+ name='face-61',
571
+ id=87,
572
+ color=[255, 255, 255],
573
+ type='',
574
+ swap='face-63'),
575
+ 88:
576
+ dict(name='face-62', id=88, color=[255, 255, 255], type='', swap=''),
577
+ 89:
578
+ dict(
579
+ name='face-63',
580
+ id=89,
581
+ color=[255, 255, 255],
582
+ type='',
583
+ swap='face-61'),
584
+ 90:
585
+ dict(
586
+ name='face-64',
587
+ id=90,
588
+ color=[255, 255, 255],
589
+ type='',
590
+ swap='face-60'),
591
+ 91:
592
+ dict(
593
+ name='face-65',
594
+ id=91,
595
+ color=[255, 255, 255],
596
+ type='',
597
+ swap='face-67'),
598
+ 92:
599
+ dict(name='face-66', id=92, color=[255, 255, 255], type='', swap=''),
600
+ 93:
601
+ dict(
602
+ name='face-67',
603
+ id=93,
604
+ color=[255, 255, 255],
605
+ type='',
606
+ swap='face-65'),
607
+ 94:
608
+ dict(
609
+ name='left_hand_root',
610
+ id=94,
611
+ color=[255, 255, 255],
612
+ type='',
613
+ swap='right_hand_root'),
614
+ 95:
615
+ dict(
616
+ name='left_thumb1',
617
+ id=95,
618
+ color=[255, 128, 0],
619
+ type='',
620
+ swap='right_thumb1'),
621
+ 96:
622
+ dict(
623
+ name='left_thumb2',
624
+ id=96,
625
+ color=[255, 128, 0],
626
+ type='',
627
+ swap='right_thumb2'),
628
+ 97:
629
+ dict(
630
+ name='left_thumb3',
631
+ id=97,
632
+ color=[255, 128, 0],
633
+ type='',
634
+ swap='right_thumb3'),
635
+ 98:
636
+ dict(
637
+ name='left_thumb4',
638
+ id=98,
639
+ color=[255, 128, 0],
640
+ type='',
641
+ swap='right_thumb4'),
642
+ 99:
643
+ dict(
644
+ name='left_forefinger1',
645
+ id=99,
646
+ color=[255, 153, 255],
647
+ type='',
648
+ swap='right_forefinger1'),
649
+ 100:
650
+ dict(
651
+ name='left_forefinger2',
652
+ id=100,
653
+ color=[255, 153, 255],
654
+ type='',
655
+ swap='right_forefinger2'),
656
+ 101:
657
+ dict(
658
+ name='left_forefinger3',
659
+ id=101,
660
+ color=[255, 153, 255],
661
+ type='',
662
+ swap='right_forefinger3'),
663
+ 102:
664
+ dict(
665
+ name='left_forefinger4',
666
+ id=102,
667
+ color=[255, 153, 255],
668
+ type='',
669
+ swap='right_forefinger4'),
670
+ 103:
671
+ dict(
672
+ name='left_middle_finger1',
673
+ id=103,
674
+ color=[102, 178, 255],
675
+ type='',
676
+ swap='right_middle_finger1'),
677
+ 104:
678
+ dict(
679
+ name='left_middle_finger2',
680
+ id=104,
681
+ color=[102, 178, 255],
682
+ type='',
683
+ swap='right_middle_finger2'),
684
+ 105:
685
+ dict(
686
+ name='left_middle_finger3',
687
+ id=105,
688
+ color=[102, 178, 255],
689
+ type='',
690
+ swap='right_middle_finger3'),
691
+ 106:
692
+ dict(
693
+ name='left_middle_finger4',
694
+ id=106,
695
+ color=[102, 178, 255],
696
+ type='',
697
+ swap='right_middle_finger4'),
698
+ 107:
699
+ dict(
700
+ name='left_ring_finger1',
701
+ id=107,
702
+ color=[255, 51, 51],
703
+ type='',
704
+ swap='right_ring_finger1'),
705
+ 108:
706
+ dict(
707
+ name='left_ring_finger2',
708
+ id=108,
709
+ color=[255, 51, 51],
710
+ type='',
711
+ swap='right_ring_finger2'),
712
+ 109:
713
+ dict(
714
+ name='left_ring_finger3',
715
+ id=109,
716
+ color=[255, 51, 51],
717
+ type='',
718
+ swap='right_ring_finger3'),
719
+ 110:
720
+ dict(
721
+ name='left_ring_finger4',
722
+ id=110,
723
+ color=[255, 51, 51],
724
+ type='',
725
+ swap='right_ring_finger4'),
726
+ 111:
727
+ dict(
728
+ name='left_pinky_finger1',
729
+ id=111,
730
+ color=[0, 255, 0],
731
+ type='',
732
+ swap='right_pinky_finger1'),
733
+ 112:
734
+ dict(
735
+ name='left_pinky_finger2',
736
+ id=112,
737
+ color=[0, 255, 0],
738
+ type='',
739
+ swap='right_pinky_finger2'),
740
+ 113:
741
+ dict(
742
+ name='left_pinky_finger3',
743
+ id=113,
744
+ color=[0, 255, 0],
745
+ type='',
746
+ swap='right_pinky_finger3'),
747
+ 114:
748
+ dict(
749
+ name='left_pinky_finger4',
750
+ id=114,
751
+ color=[0, 255, 0],
752
+ type='',
753
+ swap='right_pinky_finger4'),
754
+ 115:
755
+ dict(
756
+ name='right_hand_root',
757
+ id=115,
758
+ color=[255, 255, 255],
759
+ type='',
760
+ swap='left_hand_root'),
761
+ 116:
762
+ dict(
763
+ name='right_thumb1',
764
+ id=116,
765
+ color=[255, 128, 0],
766
+ type='',
767
+ swap='left_thumb1'),
768
+ 117:
769
+ dict(
770
+ name='right_thumb2',
771
+ id=117,
772
+ color=[255, 128, 0],
773
+ type='',
774
+ swap='left_thumb2'),
775
+ 118:
776
+ dict(
777
+ name='right_thumb3',
778
+ id=118,
779
+ color=[255, 128, 0],
780
+ type='',
781
+ swap='left_thumb3'),
782
+ 119:
783
+ dict(
784
+ name='right_thumb4',
785
+ id=119,
786
+ color=[255, 128, 0],
787
+ type='',
788
+ swap='left_thumb4'),
789
+ 120:
790
+ dict(
791
+ name='right_forefinger1',
792
+ id=120,
793
+ color=[255, 153, 255],
794
+ type='',
795
+ swap='left_forefinger1'),
796
+ 121:
797
+ dict(
798
+ name='right_forefinger2',
799
+ id=121,
800
+ color=[255, 153, 255],
801
+ type='',
802
+ swap='left_forefinger2'),
803
+ 122:
804
+ dict(
805
+ name='right_forefinger3',
806
+ id=122,
807
+ color=[255, 153, 255],
808
+ type='',
809
+ swap='left_forefinger3'),
810
+ 123:
811
+ dict(
812
+ name='right_forefinger4',
813
+ id=123,
814
+ color=[255, 153, 255],
815
+ type='',
816
+ swap='left_forefinger4'),
817
+ 124:
818
+ dict(
819
+ name='right_middle_finger1',
820
+ id=124,
821
+ color=[102, 178, 255],
822
+ type='',
823
+ swap='left_middle_finger1'),
824
+ 125:
825
+ dict(
826
+ name='right_middle_finger2',
827
+ id=125,
828
+ color=[102, 178, 255],
829
+ type='',
830
+ swap='left_middle_finger2'),
831
+ 126:
832
+ dict(
833
+ name='right_middle_finger3',
834
+ id=126,
835
+ color=[102, 178, 255],
836
+ type='',
837
+ swap='left_middle_finger3'),
838
+ 127:
839
+ dict(
840
+ name='right_middle_finger4',
841
+ id=127,
842
+ color=[102, 178, 255],
843
+ type='',
844
+ swap='left_middle_finger4'),
845
+ 128:
846
+ dict(
847
+ name='right_ring_finger1',
848
+ id=128,
849
+ color=[255, 51, 51],
850
+ type='',
851
+ swap='left_ring_finger1'),
852
+ 129:
853
+ dict(
854
+ name='right_ring_finger2',
855
+ id=129,
856
+ color=[255, 51, 51],
857
+ type='',
858
+ swap='left_ring_finger2'),
859
+ 130:
860
+ dict(
861
+ name='right_ring_finger3',
862
+ id=130,
863
+ color=[255, 51, 51],
864
+ type='',
865
+ swap='left_ring_finger3'),
866
+ 131:
867
+ dict(
868
+ name='right_ring_finger4',
869
+ id=131,
870
+ color=[255, 51, 51],
871
+ type='',
872
+ swap='left_ring_finger4'),
873
+ 132:
874
+ dict(
875
+ name='right_pinky_finger1',
876
+ id=132,
877
+ color=[0, 255, 0],
878
+ type='',
879
+ swap='left_pinky_finger1'),
880
+ 133:
881
+ dict(
882
+ name='right_pinky_finger2',
883
+ id=133,
884
+ color=[0, 255, 0],
885
+ type='',
886
+ swap='left_pinky_finger2'),
887
+ 134:
888
+ dict(
889
+ name='right_pinky_finger3',
890
+ id=134,
891
+ color=[0, 255, 0],
892
+ type='',
893
+ swap='left_pinky_finger3'),
894
+ 135:
895
+ dict(
896
+ name='right_pinky_finger4',
897
+ id=135,
898
+ color=[0, 255, 0],
899
+ type='',
900
+ swap='left_pinky_finger4')
901
+ },
902
+ skeleton_info={
903
+ 0:
904
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
905
+ 1:
906
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
907
+ 2:
908
+ dict(link=('left_hip', 'hip'), id=2, color=[0, 255, 0]),
909
+ 3:
910
+ dict(link=('right_ankle', 'right_knee'), id=3, color=[255, 128, 0]),
911
+ 4:
912
+ dict(link=('right_knee', 'right_hip'), id=4, color=[255, 128, 0]),
913
+ 5:
914
+ dict(link=('right_hip', 'hip'), id=5, color=[255, 128, 0]),
915
+ 6:
916
+ dict(link=('head', 'neck'), id=6, color=[51, 153, 255]),
917
+ 7:
918
+ dict(link=('neck', 'hip'), id=7, color=[51, 153, 255]),
919
+ 8:
920
+ dict(link=('neck', 'left_shoulder'), id=8, color=[0, 255, 0]),
921
+ 9:
922
+ dict(link=('left_shoulder', 'left_elbow'), id=9, color=[0, 255, 0]),
923
+ 10:
924
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
925
+ 11:
926
+ dict(link=('neck', 'right_shoulder'), id=11, color=[255, 128, 0]),
927
+ 12:
928
+ dict(
929
+ link=('right_shoulder', 'right_elbow'), id=12, color=[255, 128,
930
+ 0]),
931
+ 13:
932
+ dict(link=('right_elbow', 'right_wrist'), id=13, color=[255, 128, 0]),
933
+ 14:
934
+ dict(link=('left_eye', 'right_eye'), id=14, color=[51, 153, 255]),
935
+ 15:
936
+ dict(link=('nose', 'left_eye'), id=15, color=[51, 153, 255]),
937
+ 16:
938
+ dict(link=('nose', 'right_eye'), id=16, color=[51, 153, 255]),
939
+ 17:
940
+ dict(link=('left_eye', 'left_ear'), id=17, color=[51, 153, 255]),
941
+ 18:
942
+ dict(link=('right_eye', 'right_ear'), id=18, color=[51, 153, 255]),
943
+ 19:
944
+ dict(link=('left_ear', 'left_shoulder'), id=19, color=[51, 153, 255]),
945
+ 20:
946
+ dict(
947
+ link=('right_ear', 'right_shoulder'), id=20, color=[51, 153, 255]),
948
+ 21:
949
+ dict(link=('left_ankle', 'left_big_toe'), id=21, color=[0, 255, 0]),
950
+ 22:
951
+ dict(link=('left_ankle', 'left_small_toe'), id=22, color=[0, 255, 0]),
952
+ 23:
953
+ dict(link=('left_ankle', 'left_heel'), id=23, color=[0, 255, 0]),
954
+ 24:
955
+ dict(
956
+ link=('right_ankle', 'right_big_toe'), id=24, color=[255, 128, 0]),
957
+ 25:
958
+ dict(
959
+ link=('right_ankle', 'right_small_toe'),
960
+ id=25,
961
+ color=[255, 128, 0]),
962
+ 26:
963
+ dict(link=('right_ankle', 'right_heel'), id=26, color=[255, 128, 0]),
964
+ 27:
965
+ dict(link=('left_wrist', 'left_thumb1'), id=27, color=[255, 128, 0]),
966
+ 28:
967
+ dict(link=('left_thumb1', 'left_thumb2'), id=28, color=[255, 128, 0]),
968
+ 29:
969
+ dict(link=('left_thumb2', 'left_thumb3'), id=29, color=[255, 128, 0]),
970
+ 30:
971
+ dict(link=('left_thumb3', 'left_thumb4'), id=30, color=[255, 128, 0]),
972
+ 31:
973
+ dict(
974
+ link=('left_wrist', 'left_forefinger1'),
975
+ id=31,
976
+ color=[255, 153, 255]),
977
+ 32:
978
+ dict(
979
+ link=('left_forefinger1', 'left_forefinger2'),
980
+ id=32,
981
+ color=[255, 153, 255]),
982
+ 33:
983
+ dict(
984
+ link=('left_forefinger2', 'left_forefinger3'),
985
+ id=33,
986
+ color=[255, 153, 255]),
987
+ 34:
988
+ dict(
989
+ link=('left_forefinger3', 'left_forefinger4'),
990
+ id=34,
991
+ color=[255, 153, 255]),
992
+ 35:
993
+ dict(
994
+ link=('left_wrist', 'left_middle_finger1'),
995
+ id=35,
996
+ color=[102, 178, 255]),
997
+ 36:
998
+ dict(
999
+ link=('left_middle_finger1', 'left_middle_finger2'),
1000
+ id=36,
1001
+ color=[102, 178, 255]),
1002
+ 37:
1003
+ dict(
1004
+ link=('left_middle_finger2', 'left_middle_finger3'),
1005
+ id=37,
1006
+ color=[102, 178, 255]),
1007
+ 38:
1008
+ dict(
1009
+ link=('left_middle_finger3', 'left_middle_finger4'),
1010
+ id=38,
1011
+ color=[102, 178, 255]),
1012
+ 39:
1013
+ dict(
1014
+ link=('left_wrist', 'left_ring_finger1'),
1015
+ id=39,
1016
+ color=[255, 51, 51]),
1017
+ 40:
1018
+ dict(
1019
+ link=('left_ring_finger1', 'left_ring_finger2'),
1020
+ id=40,
1021
+ color=[255, 51, 51]),
1022
+ 41:
1023
+ dict(
1024
+ link=('left_ring_finger2', 'left_ring_finger3'),
1025
+ id=41,
1026
+ color=[255, 51, 51]),
1027
+ 42:
1028
+ dict(
1029
+ link=('left_ring_finger3', 'left_ring_finger4'),
1030
+ id=42,
1031
+ color=[255, 51, 51]),
1032
+ 43:
1033
+ dict(
1034
+ link=('left_wrist', 'left_pinky_finger1'),
1035
+ id=43,
1036
+ color=[0, 255, 0]),
1037
+ 44:
1038
+ dict(
1039
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1040
+ id=44,
1041
+ color=[0, 255, 0]),
1042
+ 45:
1043
+ dict(
1044
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1045
+ id=45,
1046
+ color=[0, 255, 0]),
1047
+ 46:
1048
+ dict(
1049
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1050
+ id=46,
1051
+ color=[0, 255, 0]),
1052
+ 47:
1053
+ dict(link=('right_wrist', 'right_thumb1'), id=47, color=[255, 128, 0]),
1054
+ 48:
1055
+ dict(
1056
+ link=('right_thumb1', 'right_thumb2'), id=48, color=[255, 128, 0]),
1057
+ 49:
1058
+ dict(
1059
+ link=('right_thumb2', 'right_thumb3'), id=49, color=[255, 128, 0]),
1060
+ 50:
1061
+ dict(
1062
+ link=('right_thumb3', 'right_thumb4'), id=50, color=[255, 128, 0]),
1063
+ 51:
1064
+ dict(
1065
+ link=('right_wrist', 'right_forefinger1'),
1066
+ id=51,
1067
+ color=[255, 153, 255]),
1068
+ 52:
1069
+ dict(
1070
+ link=('right_forefinger1', 'right_forefinger2'),
1071
+ id=52,
1072
+ color=[255, 153, 255]),
1073
+ 53:
1074
+ dict(
1075
+ link=('right_forefinger2', 'right_forefinger3'),
1076
+ id=53,
1077
+ color=[255, 153, 255]),
1078
+ 54:
1079
+ dict(
1080
+ link=('right_forefinger3', 'right_forefinger4'),
1081
+ id=54,
1082
+ color=[255, 153, 255]),
1083
+ 55:
1084
+ dict(
1085
+ link=('right_wrist', 'right_middle_finger1'),
1086
+ id=55,
1087
+ color=[102, 178, 255]),
1088
+ 56:
1089
+ dict(
1090
+ link=('right_middle_finger1', 'right_middle_finger2'),
1091
+ id=56,
1092
+ color=[102, 178, 255]),
1093
+ 57:
1094
+ dict(
1095
+ link=('right_middle_finger2', 'right_middle_finger3'),
1096
+ id=57,
1097
+ color=[102, 178, 255]),
1098
+ 58:
1099
+ dict(
1100
+ link=('right_middle_finger3', 'right_middle_finger4'),
1101
+ id=58,
1102
+ color=[102, 178, 255]),
1103
+ 59:
1104
+ dict(
1105
+ link=('right_wrist', 'right_ring_finger1'),
1106
+ id=59,
1107
+ color=[255, 51, 51]),
1108
+ 60:
1109
+ dict(
1110
+ link=('right_ring_finger1', 'right_ring_finger2'),
1111
+ id=60,
1112
+ color=[255, 51, 51]),
1113
+ 61:
1114
+ dict(
1115
+ link=('right_ring_finger2', 'right_ring_finger3'),
1116
+ id=61,
1117
+ color=[255, 51, 51]),
1118
+ 62:
1119
+ dict(
1120
+ link=('right_ring_finger3', 'right_ring_finger4'),
1121
+ id=62,
1122
+ color=[255, 51, 51]),
1123
+ 63:
1124
+ dict(
1125
+ link=('right_wrist', 'right_pinky_finger1'),
1126
+ id=63,
1127
+ color=[0, 255, 0]),
1128
+ 64:
1129
+ dict(
1130
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1131
+ id=64,
1132
+ color=[0, 255, 0]),
1133
+ 65:
1134
+ dict(
1135
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1136
+ id=65,
1137
+ color=[0, 255, 0]),
1138
+ 66:
1139
+ dict(
1140
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1141
+ id=66,
1142
+ color=[0, 255, 0])
1143
+ },
1144
+ joint_weights=[1.] * 136,
1145
+
1146
+ # 'https://github.com/Fang-Haoshu/Halpe-FullBody/blob/master/'
1147
+ # 'HalpeCOCOAPI/PythonAPI/halpecocotools/cocoeval.py#L245'
1148
+ sigmas=[
1149
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1150
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.08, 0.08, 0.08,
1151
+ 0.089, 0.089, 0.089, 0.089, 0.089, 0.089, 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, 0.015, 0.015, 0.015, 0.015,
1157
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1158
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1159
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1160
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1161
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1162
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015
1163
+ ])
configs/_base_/datasets/halpe26.py ADDED
@@ -0,0 +1,280 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='halpe26',
9
+ paper_info=dict(
10
+ author='Li, Yong-Lu and Xu, Liang and Liu, Xinpeng and Huang, Xijie'
11
+ ' and Xu, Yue and Wang, Shiyi and Fang, Hao-Shu'
12
+ ' and Ma, Ze and Chen, Mingyang and Lu, Cewu',
13
+ title='PaStaNet: Toward Human Activity Knowledge Engine',
14
+ container='CVPR',
15
+ year='2020',
16
+ homepage='https://github.com/Fang-Haoshu/Halpe-FullBody/',
17
+ ),
18
+ keypoint_info={
19
+ 0:
20
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
21
+ 1:
22
+ dict(
23
+ name='left_eye',
24
+ id=1,
25
+ color=[51, 153, 255],
26
+ type='upper',
27
+ swap='right_eye'),
28
+ 2:
29
+ dict(
30
+ name='right_eye',
31
+ id=2,
32
+ color=[51, 153, 255],
33
+ type='upper',
34
+ swap='left_eye'),
35
+ 3:
36
+ dict(
37
+ name='left_ear',
38
+ id=3,
39
+ color=[51, 153, 255],
40
+ type='upper',
41
+ swap='right_ear'),
42
+ 4:
43
+ dict(
44
+ name='right_ear',
45
+ id=4,
46
+ color=[51, 153, 255],
47
+ type='upper',
48
+ swap='left_ear'),
49
+ 5:
50
+ dict(
51
+ name='left_shoulder',
52
+ id=5,
53
+ color=[0, 255, 0],
54
+ type='upper',
55
+ swap='right_shoulder'),
56
+ 6:
57
+ dict(
58
+ name='right_shoulder',
59
+ id=6,
60
+ color=[255, 128, 0],
61
+ type='upper',
62
+ swap='left_shoulder'),
63
+ 7:
64
+ dict(
65
+ name='left_elbow',
66
+ id=7,
67
+ color=[0, 255, 0],
68
+ type='upper',
69
+ swap='right_elbow'),
70
+ 8:
71
+ dict(
72
+ name='right_elbow',
73
+ id=8,
74
+ color=[255, 128, 0],
75
+ type='upper',
76
+ swap='left_elbow'),
77
+ 9:
78
+ dict(
79
+ name='left_wrist',
80
+ id=9,
81
+ color=[0, 255, 0],
82
+ type='upper',
83
+ swap='right_wrist'),
84
+ 10:
85
+ dict(
86
+ name='right_wrist',
87
+ id=10,
88
+ color=[255, 128, 0],
89
+ type='upper',
90
+ swap='left_wrist'),
91
+ 11:
92
+ dict(
93
+ name='left_hip',
94
+ id=11,
95
+ color=[0, 255, 0],
96
+ type='lower',
97
+ swap='right_hip'),
98
+ 12:
99
+ dict(
100
+ name='right_hip',
101
+ id=12,
102
+ color=[255, 128, 0],
103
+ type='lower',
104
+ swap='left_hip'),
105
+ 13:
106
+ dict(
107
+ name='left_knee',
108
+ id=13,
109
+ color=[0, 255, 0],
110
+ type='lower',
111
+ swap='right_knee'),
112
+ 14:
113
+ dict(
114
+ name='right_knee',
115
+ id=14,
116
+ color=[255, 128, 0],
117
+ type='lower',
118
+ swap='left_knee'),
119
+ 15:
120
+ dict(
121
+ name='left_ankle',
122
+ id=15,
123
+ color=[0, 255, 0],
124
+ type='lower',
125
+ swap='right_ankle'),
126
+ 16:
127
+ dict(
128
+ name='right_ankle',
129
+ id=16,
130
+ color=[255, 128, 0],
131
+ type='lower',
132
+ swap='left_ankle'),
133
+ 17:
134
+ dict(name='head', id=17, color=[255, 128, 0], type='upper', swap=''),
135
+ 18:
136
+ dict(name='neck', id=18, color=[255, 128, 0], type='upper', swap=''),
137
+ 19:
138
+ dict(name='hip', id=19, color=[255, 128, 0], type='lower', swap=''),
139
+ 20:
140
+ dict(
141
+ name='left_big_toe',
142
+ id=20,
143
+ color=[255, 128, 0],
144
+ type='lower',
145
+ swap='right_big_toe'),
146
+ 21:
147
+ dict(
148
+ name='right_big_toe',
149
+ id=21,
150
+ color=[255, 128, 0],
151
+ type='lower',
152
+ swap='left_big_toe'),
153
+ 22:
154
+ dict(
155
+ name='left_small_toe',
156
+ id=22,
157
+ color=[255, 128, 0],
158
+ type='lower',
159
+ swap='right_small_toe'),
160
+ 23:
161
+ dict(
162
+ name='right_small_toe',
163
+ id=23,
164
+ color=[255, 128, 0],
165
+ type='lower',
166
+ swap='left_small_toe'),
167
+ 24:
168
+ dict(
169
+ name='left_heel',
170
+ id=24,
171
+ color=[255, 128, 0],
172
+ type='lower',
173
+ swap='right_heel'),
174
+ 25:
175
+ dict(
176
+ name='right_heel',
177
+ id=25,
178
+ color=[255, 128, 0],
179
+ type='lower',
180
+ swap='left_heel')
181
+ },
182
+ skeleton_info={
183
+ 0:
184
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
185
+ 1:
186
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
187
+ 2:
188
+ dict(link=('left_hip', 'hip'), id=2, color=[0, 255, 0]),
189
+ 3:
190
+ dict(link=('right_ankle', 'right_knee'), id=3, color=[255, 128, 0]),
191
+ 4:
192
+ dict(link=('right_knee', 'right_hip'), id=4, color=[255, 128, 0]),
193
+ 5:
194
+ dict(link=('right_hip', 'hip'), id=5, color=[255, 128, 0]),
195
+ 6:
196
+ dict(link=('head', 'neck'), id=6, color=[51, 153, 255]),
197
+ 7:
198
+ dict(link=('neck', 'hip'), id=7, color=[51, 153, 255]),
199
+ 8:
200
+ dict(link=('neck', 'left_shoulder'), id=8, color=[0, 255, 0]),
201
+ 9:
202
+ dict(link=('left_shoulder', 'left_elbow'), id=9, color=[0, 255, 0]),
203
+ 10:
204
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
205
+ 11:
206
+ dict(link=('neck', 'right_shoulder'), id=11, color=[255, 128, 0]),
207
+ 12:
208
+ dict(
209
+ link=('right_shoulder', 'right_elbow'), id=12, color=[255, 128,
210
+ 0]),
211
+ 13:
212
+ dict(link=('right_elbow', 'right_wrist'), id=13, color=[255, 128, 0]),
213
+ 14:
214
+ dict(link=('left_eye', 'right_eye'), id=14, color=[51, 153, 255]),
215
+ 15:
216
+ dict(link=('nose', 'left_eye'), id=15, color=[51, 153, 255]),
217
+ 16:
218
+ dict(link=('nose', 'right_eye'), id=16, color=[51, 153, 255]),
219
+ 17:
220
+ dict(link=('left_eye', 'left_ear'), id=17, color=[51, 153, 255]),
221
+ 18:
222
+ dict(link=('right_eye', 'right_ear'), id=18, color=[51, 153, 255]),
223
+ 19:
224
+ dict(link=('left_ear', 'left_shoulder'), id=19, color=[51, 153, 255]),
225
+ 20:
226
+ dict(
227
+ link=('right_ear', 'right_shoulder'), id=20, color=[51, 153, 255]),
228
+ 21:
229
+ dict(link=('left_ankle', 'left_big_toe'), id=21, color=[0, 255, 0]),
230
+ 22:
231
+ dict(link=('left_ankle', 'left_small_toe'), id=22, color=[0, 255, 0]),
232
+ 23:
233
+ dict(link=('left_ankle', 'left_heel'), id=23, color=[0, 255, 0]),
234
+ 24:
235
+ dict(
236
+ link=('right_ankle', 'right_big_toe'), id=24, color=[255, 128, 0]),
237
+ 25:
238
+ dict(
239
+ link=('right_ankle', 'right_small_toe'),
240
+ id=25,
241
+ color=[255, 128, 0]),
242
+ 26:
243
+ dict(link=('right_ankle', 'right_heel'), id=26, color=[255, 128, 0]),
244
+ },
245
+ # the joint_weights is modified by MMPose Team
246
+ joint_weights=[
247
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
248
+ 1.5
249
+ ] + [1., 1., 1.2] + [1.5] * 6,
250
+
251
+ # 'https://github.com/Fang-Haoshu/Halpe-FullBody/blob/master/'
252
+ # 'HalpeCOCOAPI/PythonAPI/halpecocotools/cocoeval.py#L245'
253
+ sigmas=[
254
+ 0.026,
255
+ 0.025,
256
+ 0.025,
257
+ 0.035,
258
+ 0.035,
259
+ 0.079,
260
+ 0.079,
261
+ 0.072,
262
+ 0.072,
263
+ 0.062,
264
+ 0.062,
265
+ 0.107,
266
+ 0.107,
267
+ 0.087,
268
+ 0.087,
269
+ 0.089,
270
+ 0.089,
271
+ 0.026,
272
+ 0.026,
273
+ 0.066,
274
+ 0.079,
275
+ 0.079,
276
+ 0.079,
277
+ 0.079,
278
+ 0.079,
279
+ 0.079,
280
+ ])
configs/_base_/datasets/horse10.py ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='horse10',
9
+ paper_info=dict(
10
+ author='Mathis, Alexander and Biasi, Thomas and '
11
+ 'Schneider, Steffen and '
12
+ 'Yuksekgonul, Mert and Rogers, Byron and '
13
+ 'Bethge, Matthias and '
14
+ 'Mathis, Mackenzie W',
15
+ title='Pretraining boosts out-of-domain robustness '
16
+ 'for pose estimation',
17
+ container='Proceedings of the IEEE/CVF Winter Conference on '
18
+ 'Applications of Computer Vision',
19
+ year='2021',
20
+ homepage='http://www.mackenziemathislab.org/horse10',
21
+ ),
22
+ keypoint_info={
23
+ 0:
24
+ dict(name='Nose', id=0, color=[255, 153, 255], type='upper', swap=''),
25
+ 1:
26
+ dict(name='Eye', id=1, color=[255, 153, 255], type='upper', swap=''),
27
+ 2:
28
+ dict(
29
+ name='Nearknee',
30
+ id=2,
31
+ color=[255, 102, 255],
32
+ type='upper',
33
+ swap=''),
34
+ 3:
35
+ dict(
36
+ name='Nearfrontfetlock',
37
+ id=3,
38
+ color=[255, 102, 255],
39
+ type='upper',
40
+ swap=''),
41
+ 4:
42
+ dict(
43
+ name='Nearfrontfoot',
44
+ id=4,
45
+ color=[255, 102, 255],
46
+ type='upper',
47
+ swap=''),
48
+ 5:
49
+ dict(
50
+ name='Offknee', id=5, color=[255, 102, 255], type='upper',
51
+ swap=''),
52
+ 6:
53
+ dict(
54
+ name='Offfrontfetlock',
55
+ id=6,
56
+ color=[255, 102, 255],
57
+ type='upper',
58
+ swap=''),
59
+ 7:
60
+ dict(
61
+ name='Offfrontfoot',
62
+ id=7,
63
+ color=[255, 102, 255],
64
+ type='upper',
65
+ swap=''),
66
+ 8:
67
+ dict(
68
+ name='Shoulder',
69
+ id=8,
70
+ color=[255, 153, 255],
71
+ type='upper',
72
+ swap=''),
73
+ 9:
74
+ dict(
75
+ name='Midshoulder',
76
+ id=9,
77
+ color=[255, 153, 255],
78
+ type='upper',
79
+ swap=''),
80
+ 10:
81
+ dict(
82
+ name='Elbow', id=10, color=[255, 153, 255], type='upper', swap=''),
83
+ 11:
84
+ dict(
85
+ name='Girth', id=11, color=[255, 153, 255], type='upper', swap=''),
86
+ 12:
87
+ dict(
88
+ name='Wither', id=12, color=[255, 153, 255], type='upper',
89
+ swap=''),
90
+ 13:
91
+ dict(
92
+ name='Nearhindhock',
93
+ id=13,
94
+ color=[255, 51, 255],
95
+ type='lower',
96
+ swap=''),
97
+ 14:
98
+ dict(
99
+ name='Nearhindfetlock',
100
+ id=14,
101
+ color=[255, 51, 255],
102
+ type='lower',
103
+ swap=''),
104
+ 15:
105
+ dict(
106
+ name='Nearhindfoot',
107
+ id=15,
108
+ color=[255, 51, 255],
109
+ type='lower',
110
+ swap=''),
111
+ 16:
112
+ dict(name='Hip', id=16, color=[255, 153, 255], type='lower', swap=''),
113
+ 17:
114
+ dict(
115
+ name='Stifle', id=17, color=[255, 153, 255], type='lower',
116
+ swap=''),
117
+ 18:
118
+ dict(
119
+ name='Offhindhock',
120
+ id=18,
121
+ color=[255, 51, 255],
122
+ type='lower',
123
+ swap=''),
124
+ 19:
125
+ dict(
126
+ name='Offhindfetlock',
127
+ id=19,
128
+ color=[255, 51, 255],
129
+ type='lower',
130
+ swap=''),
131
+ 20:
132
+ dict(
133
+ name='Offhindfoot',
134
+ id=20,
135
+ color=[255, 51, 255],
136
+ type='lower',
137
+ swap=''),
138
+ 21:
139
+ dict(
140
+ name='Ischium',
141
+ id=21,
142
+ color=[255, 153, 255],
143
+ type='lower',
144
+ swap='')
145
+ },
146
+ skeleton_info={
147
+ 0:
148
+ dict(link=('Nose', 'Eye'), id=0, color=[255, 153, 255]),
149
+ 1:
150
+ dict(link=('Eye', 'Wither'), id=1, color=[255, 153, 255]),
151
+ 2:
152
+ dict(link=('Wither', 'Hip'), id=2, color=[255, 153, 255]),
153
+ 3:
154
+ dict(link=('Hip', 'Ischium'), id=3, color=[255, 153, 255]),
155
+ 4:
156
+ dict(link=('Ischium', 'Stifle'), id=4, color=[255, 153, 255]),
157
+ 5:
158
+ dict(link=('Stifle', 'Girth'), id=5, color=[255, 153, 255]),
159
+ 6:
160
+ dict(link=('Girth', 'Elbow'), id=6, color=[255, 153, 255]),
161
+ 7:
162
+ dict(link=('Elbow', 'Shoulder'), id=7, color=[255, 153, 255]),
163
+ 8:
164
+ dict(link=('Shoulder', 'Midshoulder'), id=8, color=[255, 153, 255]),
165
+ 9:
166
+ dict(link=('Midshoulder', 'Wither'), id=9, color=[255, 153, 255]),
167
+ 10:
168
+ dict(
169
+ link=('Nearknee', 'Nearfrontfetlock'),
170
+ id=10,
171
+ color=[255, 102, 255]),
172
+ 11:
173
+ dict(
174
+ link=('Nearfrontfetlock', 'Nearfrontfoot'),
175
+ id=11,
176
+ color=[255, 102, 255]),
177
+ 12:
178
+ dict(
179
+ link=('Offknee', 'Offfrontfetlock'), id=12, color=[255, 102, 255]),
180
+ 13:
181
+ dict(
182
+ link=('Offfrontfetlock', 'Offfrontfoot'),
183
+ id=13,
184
+ color=[255, 102, 255]),
185
+ 14:
186
+ dict(
187
+ link=('Nearhindhock', 'Nearhindfetlock'),
188
+ id=14,
189
+ color=[255, 51, 255]),
190
+ 15:
191
+ dict(
192
+ link=('Nearhindfetlock', 'Nearhindfoot'),
193
+ id=15,
194
+ color=[255, 51, 255]),
195
+ 16:
196
+ dict(
197
+ link=('Offhindhock', 'Offhindfetlock'),
198
+ id=16,
199
+ color=[255, 51, 255]),
200
+ 17:
201
+ dict(
202
+ link=('Offhindfetlock', 'Offhindfoot'),
203
+ id=17,
204
+ color=[255, 51, 255])
205
+ },
206
+ joint_weights=[1.] * 22,
207
+ sigmas=[])
configs/_base_/datasets/humanart.py ADDED
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='Human-Art',
9
+ paper_info=dict(
10
+ author='Ju, Xuan and Zeng, Ailing and '
11
+ 'Wang, Jianan and Xu, Qiang and Zhang, Lei',
12
+ title='Human-Art: A Versatile Human-Centric Dataset '
13
+ 'Bridging Natural and Artificial Scenes',
14
+ container='Proceedings of the IEEE/CVF Conference on '
15
+ 'Computer Vision and Pattern Recognition',
16
+ year='2023',
17
+ homepage='https://idea-research.github.io/HumanArt/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
22
+ 1:
23
+ dict(
24
+ name='left_eye',
25
+ id=1,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='right_eye'),
29
+ 2:
30
+ dict(
31
+ name='right_eye',
32
+ id=2,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='left_eye'),
36
+ 3:
37
+ dict(
38
+ name='left_ear',
39
+ id=3,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='right_ear'),
43
+ 4:
44
+ dict(
45
+ name='right_ear',
46
+ id=4,
47
+ color=[51, 153, 255],
48
+ type='upper',
49
+ swap='left_ear'),
50
+ 5:
51
+ dict(
52
+ name='left_shoulder',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_shoulder'),
57
+ 6:
58
+ dict(
59
+ name='right_shoulder',
60
+ id=6,
61
+ color=[255, 128, 0],
62
+ type='upper',
63
+ swap='left_shoulder'),
64
+ 7:
65
+ dict(
66
+ name='left_elbow',
67
+ id=7,
68
+ color=[0, 255, 0],
69
+ type='upper',
70
+ swap='right_elbow'),
71
+ 8:
72
+ dict(
73
+ name='right_elbow',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_elbow'),
78
+ 9:
79
+ dict(
80
+ name='left_wrist',
81
+ id=9,
82
+ color=[0, 255, 0],
83
+ type='upper',
84
+ swap='right_wrist'),
85
+ 10:
86
+ dict(
87
+ name='right_wrist',
88
+ id=10,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_wrist'),
92
+ 11:
93
+ dict(
94
+ name='left_hip',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_hip'),
99
+ 12:
100
+ dict(
101
+ name='right_hip',
102
+ id=12,
103
+ color=[255, 128, 0],
104
+ type='lower',
105
+ swap='left_hip'),
106
+ 13:
107
+ dict(
108
+ name='left_knee',
109
+ id=13,
110
+ color=[0, 255, 0],
111
+ type='lower',
112
+ swap='right_knee'),
113
+ 14:
114
+ dict(
115
+ name='right_knee',
116
+ id=14,
117
+ color=[255, 128, 0],
118
+ type='lower',
119
+ swap='left_knee'),
120
+ 15:
121
+ dict(
122
+ name='left_ankle',
123
+ id=15,
124
+ color=[0, 255, 0],
125
+ type='lower',
126
+ swap='right_ankle'),
127
+ 16:
128
+ dict(
129
+ name='right_ankle',
130
+ id=16,
131
+ color=[255, 128, 0],
132
+ type='lower',
133
+ swap='left_ankle')
134
+ },
135
+ skeleton_info={
136
+ 0:
137
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
138
+ 1:
139
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
140
+ 2:
141
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
142
+ 3:
143
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
144
+ 4:
145
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
146
+ 5:
147
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
148
+ 6:
149
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
150
+ 7:
151
+ dict(
152
+ link=('left_shoulder', 'right_shoulder'),
153
+ id=7,
154
+ color=[51, 153, 255]),
155
+ 8:
156
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
157
+ 9:
158
+ dict(
159
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
160
+ 10:
161
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
162
+ 11:
163
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
164
+ 12:
165
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
166
+ 13:
167
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
168
+ 14:
169
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
170
+ 15:
171
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
172
+ 16:
173
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
174
+ 17:
175
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
176
+ 18:
177
+ dict(
178
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
179
+ },
180
+ joint_weights=[
181
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
182
+ 1.5
183
+ ],
184
+ sigmas=[
185
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
186
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
187
+ ])
configs/_base_/datasets/humanart_aic.py ADDED
@@ -0,0 +1,211 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='humanart',
9
+ paper_info=[
10
+ dict(
11
+ author='Ju, Xuan and Zeng, Ailing and '
12
+ 'Wang, Jianan and Xu, Qiang and Zhang, '
13
+ 'Lei',
14
+ title='Human-Art: A Versatile Human-Centric Dataset '
15
+ 'Bridging Natural and Artificial Scenes',
16
+ container='CVPR',
17
+ year='2023',
18
+ homepage='https://idea-research.github.io/HumanArt/',
19
+ ),
20
+ dict(
21
+ author='Wu, Jiahong and Zheng, He and Zhao, Bo and '
22
+ 'Li, Yixin and Yan, Baoming and Liang, Rui and '
23
+ 'Wang, Wenjia and Zhou, Shipei and Lin, Guosen and '
24
+ 'Fu, Yanwei and others',
25
+ title='Ai challenger: A large-scale dataset for going '
26
+ 'deeper in image understanding',
27
+ container='arXiv',
28
+ year='2017',
29
+ homepage='https://github.com/AIChallenger/AI_Challenger_2017',
30
+ ),
31
+ ],
32
+ keypoint_info={
33
+ 0:
34
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
35
+ 1:
36
+ dict(
37
+ name='left_eye',
38
+ id=1,
39
+ color=[51, 153, 255],
40
+ type='upper',
41
+ swap='right_eye'),
42
+ 2:
43
+ dict(
44
+ name='right_eye',
45
+ id=2,
46
+ color=[51, 153, 255],
47
+ type='upper',
48
+ swap='left_eye'),
49
+ 3:
50
+ dict(
51
+ name='left_ear',
52
+ id=3,
53
+ color=[51, 153, 255],
54
+ type='upper',
55
+ swap='right_ear'),
56
+ 4:
57
+ dict(
58
+ name='right_ear',
59
+ id=4,
60
+ color=[51, 153, 255],
61
+ type='upper',
62
+ swap='left_ear'),
63
+ 5:
64
+ dict(
65
+ name='left_shoulder',
66
+ id=5,
67
+ color=[0, 255, 0],
68
+ type='upper',
69
+ swap='right_shoulder'),
70
+ 6:
71
+ dict(
72
+ name='right_shoulder',
73
+ id=6,
74
+ color=[255, 128, 0],
75
+ type='upper',
76
+ swap='left_shoulder'),
77
+ 7:
78
+ dict(
79
+ name='left_elbow',
80
+ id=7,
81
+ color=[0, 255, 0],
82
+ type='upper',
83
+ swap='right_elbow'),
84
+ 8:
85
+ dict(
86
+ name='right_elbow',
87
+ id=8,
88
+ color=[255, 128, 0],
89
+ type='upper',
90
+ swap='left_elbow'),
91
+ 9:
92
+ dict(
93
+ name='left_wrist',
94
+ id=9,
95
+ color=[0, 255, 0],
96
+ type='upper',
97
+ swap='right_wrist'),
98
+ 10:
99
+ dict(
100
+ name='right_wrist',
101
+ id=10,
102
+ color=[255, 128, 0],
103
+ type='upper',
104
+ swap='left_wrist'),
105
+ 11:
106
+ dict(
107
+ name='left_hip',
108
+ id=11,
109
+ color=[0, 255, 0],
110
+ type='lower',
111
+ swap='right_hip'),
112
+ 12:
113
+ dict(
114
+ name='right_hip',
115
+ id=12,
116
+ color=[255, 128, 0],
117
+ type='lower',
118
+ swap='left_hip'),
119
+ 13:
120
+ dict(
121
+ name='left_knee',
122
+ id=13,
123
+ color=[0, 255, 0],
124
+ type='lower',
125
+ swap='right_knee'),
126
+ 14:
127
+ dict(
128
+ name='right_knee',
129
+ id=14,
130
+ color=[255, 128, 0],
131
+ type='lower',
132
+ swap='left_knee'),
133
+ 15:
134
+ dict(
135
+ name='left_ankle',
136
+ id=15,
137
+ color=[0, 255, 0],
138
+ type='lower',
139
+ swap='right_ankle'),
140
+ 16:
141
+ dict(
142
+ name='right_ankle',
143
+ id=16,
144
+ color=[255, 128, 0],
145
+ type='lower',
146
+ swap='left_ankle'),
147
+ 17:
148
+ dict(
149
+ name='head_top',
150
+ id=17,
151
+ color=[51, 153, 255],
152
+ type='upper',
153
+ swap=''),
154
+ 18:
155
+ dict(name='neck', id=18, color=[51, 153, 255], type='upper', swap='')
156
+ },
157
+ skeleton_info={
158
+ 0:
159
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
160
+ 1:
161
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
162
+ 2:
163
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
164
+ 3:
165
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
166
+ 4:
167
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
168
+ 5:
169
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
170
+ 6:
171
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
172
+ 7:
173
+ dict(
174
+ link=('left_shoulder', 'right_shoulder'),
175
+ id=7,
176
+ color=[51, 153, 255]),
177
+ 8:
178
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
179
+ 9:
180
+ dict(
181
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
182
+ 10:
183
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
184
+ 11:
185
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
186
+ 12:
187
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
188
+ 13:
189
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
190
+ 14:
191
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
192
+ 15:
193
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
194
+ 16:
195
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
196
+ 17:
197
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
198
+ 18:
199
+ dict(
200
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
201
+ 19:
202
+ dict(link=('head_top', 'neck'), id=11, color=[51, 153, 255]),
203
+ },
204
+ joint_weights=[
205
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
206
+ 1.5, 1.5
207
+ ],
208
+ sigmas=[
209
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
210
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.026, 0.026
211
+ ])
configs/_base_/datasets/interhand2d.py ADDED
@@ -0,0 +1,148 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='interhand2d',
9
+ paper_info=dict(
10
+ author='Moon, Gyeongsik and Yu, Shoou-I and Wen, He and '
11
+ 'Shiratori, Takaaki and Lee, Kyoung Mu',
12
+ title='InterHand2.6M: A dataset and baseline for 3D '
13
+ 'interacting hand pose estimation from a single RGB image',
14
+ container='arXiv',
15
+ year='2020',
16
+ homepage='https://mks0601.github.io/InterHand2.6M/',
17
+ ),
18
+ keypoint_info={
19
+ 0:
20
+ dict(name='thumb4', id=0, color=[255, 128, 0], type='', swap=''),
21
+ 1:
22
+ dict(name='thumb3', id=1, color=[255, 128, 0], type='', swap=''),
23
+ 2:
24
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
25
+ 3:
26
+ dict(name='thumb1', id=3, color=[255, 128, 0], type='', swap=''),
27
+ 4:
28
+ dict(
29
+ name='forefinger4', id=4, color=[255, 153, 255], type='', swap=''),
30
+ 5:
31
+ dict(
32
+ name='forefinger3', id=5, color=[255, 153, 255], type='', swap=''),
33
+ 6:
34
+ dict(
35
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
36
+ 7:
37
+ dict(
38
+ name='forefinger1', id=7, color=[255, 153, 255], type='', swap=''),
39
+ 8:
40
+ dict(
41
+ name='middle_finger4',
42
+ id=8,
43
+ color=[102, 178, 255],
44
+ type='',
45
+ swap=''),
46
+ 9:
47
+ dict(
48
+ name='middle_finger3',
49
+ id=9,
50
+ color=[102, 178, 255],
51
+ type='',
52
+ swap=''),
53
+ 10:
54
+ dict(
55
+ name='middle_finger2',
56
+ id=10,
57
+ color=[102, 178, 255],
58
+ type='',
59
+ swap=''),
60
+ 11:
61
+ dict(
62
+ name='middle_finger1',
63
+ id=11,
64
+ color=[102, 178, 255],
65
+ type='',
66
+ swap=''),
67
+ 12:
68
+ dict(
69
+ name='ring_finger4', id=12, color=[255, 51, 51], type='', swap=''),
70
+ 13:
71
+ dict(
72
+ name='ring_finger3', id=13, color=[255, 51, 51], type='', swap=''),
73
+ 14:
74
+ dict(
75
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
76
+ 15:
77
+ dict(
78
+ name='ring_finger1', id=15, color=[255, 51, 51], type='', swap=''),
79
+ 16:
80
+ dict(name='pinky_finger4', id=16, color=[0, 255, 0], type='', swap=''),
81
+ 17:
82
+ dict(name='pinky_finger3', id=17, color=[0, 255, 0], type='', swap=''),
83
+ 18:
84
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
85
+ 19:
86
+ dict(name='pinky_finger1', id=19, color=[0, 255, 0], type='', swap=''),
87
+ 20:
88
+ dict(name='wrist', id=20, color=[255, 255, 255], type='', swap='')
89
+ },
90
+ skeleton_info={
91
+ 0:
92
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
93
+ 1:
94
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
95
+ 2:
96
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
97
+ 3:
98
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
99
+ 4:
100
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
101
+ 5:
102
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
103
+ 6:
104
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
105
+ 7:
106
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
107
+ 8:
108
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
109
+ 9:
110
+ dict(
111
+ link=('middle_finger1', 'middle_finger2'),
112
+ id=9,
113
+ color=[102, 178, 255]),
114
+ 10:
115
+ dict(
116
+ link=('middle_finger2', 'middle_finger3'),
117
+ id=10,
118
+ color=[102, 178, 255]),
119
+ 11:
120
+ dict(
121
+ link=('middle_finger3', 'middle_finger4'),
122
+ id=11,
123
+ color=[102, 178, 255]),
124
+ 12:
125
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
126
+ 13:
127
+ dict(
128
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
129
+ 14:
130
+ dict(
131
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
132
+ 15:
133
+ dict(
134
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
135
+ 16:
136
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
137
+ 17:
138
+ dict(
139
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
140
+ 18:
141
+ dict(
142
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
143
+ 19:
144
+ dict(
145
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
146
+ },
147
+ joint_weights=[1.] * 21,
148
+ sigmas=[])
configs/_base_/datasets/interhand3d.py ADDED
@@ -0,0 +1,493 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='interhand3d',
9
+ paper_info=dict(
10
+ author='Moon, Gyeongsik and Yu, Shoou-I and Wen, He and '
11
+ 'Shiratori, Takaaki and Lee, Kyoung Mu',
12
+ title='InterHand2.6M: A dataset and baseline for 3D '
13
+ 'interacting hand pose estimation from a single RGB image',
14
+ container='arXiv',
15
+ year='2020',
16
+ homepage='https://mks0601.github.io/InterHand2.6M/',
17
+ ),
18
+ keypoint_info={
19
+ 0:
20
+ dict(
21
+ name='right_thumb4',
22
+ id=0,
23
+ color=[255, 128, 0],
24
+ type='',
25
+ swap='left_thumb4'),
26
+ 1:
27
+ dict(
28
+ name='right_thumb3',
29
+ id=1,
30
+ color=[255, 128, 0],
31
+ type='',
32
+ swap='left_thumb3'),
33
+ 2:
34
+ dict(
35
+ name='right_thumb2',
36
+ id=2,
37
+ color=[255, 128, 0],
38
+ type='',
39
+ swap='left_thumb2'),
40
+ 3:
41
+ dict(
42
+ name='right_thumb1',
43
+ id=3,
44
+ color=[255, 128, 0],
45
+ type='',
46
+ swap='left_thumb1'),
47
+ 4:
48
+ dict(
49
+ name='right_forefinger4',
50
+ id=4,
51
+ color=[255, 153, 255],
52
+ type='',
53
+ swap='left_forefinger4'),
54
+ 5:
55
+ dict(
56
+ name='right_forefinger3',
57
+ id=5,
58
+ color=[255, 153, 255],
59
+ type='',
60
+ swap='left_forefinger3'),
61
+ 6:
62
+ dict(
63
+ name='right_forefinger2',
64
+ id=6,
65
+ color=[255, 153, 255],
66
+ type='',
67
+ swap='left_forefinger2'),
68
+ 7:
69
+ dict(
70
+ name='right_forefinger1',
71
+ id=7,
72
+ color=[255, 153, 255],
73
+ type='',
74
+ swap='left_forefinger1'),
75
+ 8:
76
+ dict(
77
+ name='right_middle_finger4',
78
+ id=8,
79
+ color=[102, 178, 255],
80
+ type='',
81
+ swap='left_middle_finger4'),
82
+ 9:
83
+ dict(
84
+ name='right_middle_finger3',
85
+ id=9,
86
+ color=[102, 178, 255],
87
+ type='',
88
+ swap='left_middle_finger3'),
89
+ 10:
90
+ dict(
91
+ name='right_middle_finger2',
92
+ id=10,
93
+ color=[102, 178, 255],
94
+ type='',
95
+ swap='left_middle_finger2'),
96
+ 11:
97
+ dict(
98
+ name='right_middle_finger1',
99
+ id=11,
100
+ color=[102, 178, 255],
101
+ type='',
102
+ swap='left_middle_finger1'),
103
+ 12:
104
+ dict(
105
+ name='right_ring_finger4',
106
+ id=12,
107
+ color=[255, 51, 51],
108
+ type='',
109
+ swap='left_ring_finger4'),
110
+ 13:
111
+ dict(
112
+ name='right_ring_finger3',
113
+ id=13,
114
+ color=[255, 51, 51],
115
+ type='',
116
+ swap='left_ring_finger3'),
117
+ 14:
118
+ dict(
119
+ name='right_ring_finger2',
120
+ id=14,
121
+ color=[255, 51, 51],
122
+ type='',
123
+ swap='left_ring_finger2'),
124
+ 15:
125
+ dict(
126
+ name='right_ring_finger1',
127
+ id=15,
128
+ color=[255, 51, 51],
129
+ type='',
130
+ swap='left_ring_finger1'),
131
+ 16:
132
+ dict(
133
+ name='right_pinky_finger4',
134
+ id=16,
135
+ color=[0, 255, 0],
136
+ type='',
137
+ swap='left_pinky_finger4'),
138
+ 17:
139
+ dict(
140
+ name='right_pinky_finger3',
141
+ id=17,
142
+ color=[0, 255, 0],
143
+ type='',
144
+ swap='left_pinky_finger3'),
145
+ 18:
146
+ dict(
147
+ name='right_pinky_finger2',
148
+ id=18,
149
+ color=[0, 255, 0],
150
+ type='',
151
+ swap='left_pinky_finger2'),
152
+ 19:
153
+ dict(
154
+ name='right_pinky_finger1',
155
+ id=19,
156
+ color=[0, 255, 0],
157
+ type='',
158
+ swap='left_pinky_finger1'),
159
+ 20:
160
+ dict(
161
+ name='right_wrist',
162
+ id=20,
163
+ color=[255, 255, 255],
164
+ type='',
165
+ swap='left_wrist'),
166
+ 21:
167
+ dict(
168
+ name='left_thumb4',
169
+ id=21,
170
+ color=[255, 128, 0],
171
+ type='',
172
+ swap='right_thumb4'),
173
+ 22:
174
+ dict(
175
+ name='left_thumb3',
176
+ id=22,
177
+ color=[255, 128, 0],
178
+ type='',
179
+ swap='right_thumb3'),
180
+ 23:
181
+ dict(
182
+ name='left_thumb2',
183
+ id=23,
184
+ color=[255, 128, 0],
185
+ type='',
186
+ swap='right_thumb2'),
187
+ 24:
188
+ dict(
189
+ name='left_thumb1',
190
+ id=24,
191
+ color=[255, 128, 0],
192
+ type='',
193
+ swap='right_thumb1'),
194
+ 25:
195
+ dict(
196
+ name='left_forefinger4',
197
+ id=25,
198
+ color=[255, 153, 255],
199
+ type='',
200
+ swap='right_forefinger4'),
201
+ 26:
202
+ dict(
203
+ name='left_forefinger3',
204
+ id=26,
205
+ color=[255, 153, 255],
206
+ type='',
207
+ swap='right_forefinger3'),
208
+ 27:
209
+ dict(
210
+ name='left_forefinger2',
211
+ id=27,
212
+ color=[255, 153, 255],
213
+ type='',
214
+ swap='right_forefinger2'),
215
+ 28:
216
+ dict(
217
+ name='left_forefinger1',
218
+ id=28,
219
+ color=[255, 153, 255],
220
+ type='',
221
+ swap='right_forefinger1'),
222
+ 29:
223
+ dict(
224
+ name='left_middle_finger4',
225
+ id=29,
226
+ color=[102, 178, 255],
227
+ type='',
228
+ swap='right_middle_finger4'),
229
+ 30:
230
+ dict(
231
+ name='left_middle_finger3',
232
+ id=30,
233
+ color=[102, 178, 255],
234
+ type='',
235
+ swap='right_middle_finger3'),
236
+ 31:
237
+ dict(
238
+ name='left_middle_finger2',
239
+ id=31,
240
+ color=[102, 178, 255],
241
+ type='',
242
+ swap='right_middle_finger2'),
243
+ 32:
244
+ dict(
245
+ name='left_middle_finger1',
246
+ id=32,
247
+ color=[102, 178, 255],
248
+ type='',
249
+ swap='right_middle_finger1'),
250
+ 33:
251
+ dict(
252
+ name='left_ring_finger4',
253
+ id=33,
254
+ color=[255, 51, 51],
255
+ type='',
256
+ swap='right_ring_finger4'),
257
+ 34:
258
+ dict(
259
+ name='left_ring_finger3',
260
+ id=34,
261
+ color=[255, 51, 51],
262
+ type='',
263
+ swap='right_ring_finger3'),
264
+ 35:
265
+ dict(
266
+ name='left_ring_finger2',
267
+ id=35,
268
+ color=[255, 51, 51],
269
+ type='',
270
+ swap='right_ring_finger2'),
271
+ 36:
272
+ dict(
273
+ name='left_ring_finger1',
274
+ id=36,
275
+ color=[255, 51, 51],
276
+ type='',
277
+ swap='right_ring_finger1'),
278
+ 37:
279
+ dict(
280
+ name='left_pinky_finger4',
281
+ id=37,
282
+ color=[0, 255, 0],
283
+ type='',
284
+ swap='right_pinky_finger4'),
285
+ 38:
286
+ dict(
287
+ name='left_pinky_finger3',
288
+ id=38,
289
+ color=[0, 255, 0],
290
+ type='',
291
+ swap='right_pinky_finger3'),
292
+ 39:
293
+ dict(
294
+ name='left_pinky_finger2',
295
+ id=39,
296
+ color=[0, 255, 0],
297
+ type='',
298
+ swap='right_pinky_finger2'),
299
+ 40:
300
+ dict(
301
+ name='left_pinky_finger1',
302
+ id=40,
303
+ color=[0, 255, 0],
304
+ type='',
305
+ swap='right_pinky_finger1'),
306
+ 41:
307
+ dict(
308
+ name='left_wrist',
309
+ id=41,
310
+ color=[255, 255, 255],
311
+ type='',
312
+ swap='right_wrist'),
313
+ },
314
+ skeleton_info={
315
+ 0:
316
+ dict(link=('right_wrist', 'right_thumb1'), id=0, color=[255, 128, 0]),
317
+ 1:
318
+ dict(link=('right_thumb1', 'right_thumb2'), id=1, color=[255, 128, 0]),
319
+ 2:
320
+ dict(link=('right_thumb2', 'right_thumb3'), id=2, color=[255, 128, 0]),
321
+ 3:
322
+ dict(link=('right_thumb3', 'right_thumb4'), id=3, color=[255, 128, 0]),
323
+ 4:
324
+ dict(
325
+ link=('right_wrist', 'right_forefinger1'),
326
+ id=4,
327
+ color=[255, 153, 255]),
328
+ 5:
329
+ dict(
330
+ link=('right_forefinger1', 'right_forefinger2'),
331
+ id=5,
332
+ color=[255, 153, 255]),
333
+ 6:
334
+ dict(
335
+ link=('right_forefinger2', 'right_forefinger3'),
336
+ id=6,
337
+ color=[255, 153, 255]),
338
+ 7:
339
+ dict(
340
+ link=('right_forefinger3', 'right_forefinger4'),
341
+ id=7,
342
+ color=[255, 153, 255]),
343
+ 8:
344
+ dict(
345
+ link=('right_wrist', 'right_middle_finger1'),
346
+ id=8,
347
+ color=[102, 178, 255]),
348
+ 9:
349
+ dict(
350
+ link=('right_middle_finger1', 'right_middle_finger2'),
351
+ id=9,
352
+ color=[102, 178, 255]),
353
+ 10:
354
+ dict(
355
+ link=('right_middle_finger2', 'right_middle_finger3'),
356
+ id=10,
357
+ color=[102, 178, 255]),
358
+ 11:
359
+ dict(
360
+ link=('right_middle_finger3', 'right_middle_finger4'),
361
+ id=11,
362
+ color=[102, 178, 255]),
363
+ 12:
364
+ dict(
365
+ link=('right_wrist', 'right_ring_finger1'),
366
+ id=12,
367
+ color=[255, 51, 51]),
368
+ 13:
369
+ dict(
370
+ link=('right_ring_finger1', 'right_ring_finger2'),
371
+ id=13,
372
+ color=[255, 51, 51]),
373
+ 14:
374
+ dict(
375
+ link=('right_ring_finger2', 'right_ring_finger3'),
376
+ id=14,
377
+ color=[255, 51, 51]),
378
+ 15:
379
+ dict(
380
+ link=('right_ring_finger3', 'right_ring_finger4'),
381
+ id=15,
382
+ color=[255, 51, 51]),
383
+ 16:
384
+ dict(
385
+ link=('right_wrist', 'right_pinky_finger1'),
386
+ id=16,
387
+ color=[0, 255, 0]),
388
+ 17:
389
+ dict(
390
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
391
+ id=17,
392
+ color=[0, 255, 0]),
393
+ 18:
394
+ dict(
395
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
396
+ id=18,
397
+ color=[0, 255, 0]),
398
+ 19:
399
+ dict(
400
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
401
+ id=19,
402
+ color=[0, 255, 0]),
403
+ 20:
404
+ dict(link=('left_wrist', 'left_thumb1'), id=20, color=[255, 128, 0]),
405
+ 21:
406
+ dict(link=('left_thumb1', 'left_thumb2'), id=21, color=[255, 128, 0]),
407
+ 22:
408
+ dict(link=('left_thumb2', 'left_thumb3'), id=22, color=[255, 128, 0]),
409
+ 23:
410
+ dict(link=('left_thumb3', 'left_thumb4'), id=23, color=[255, 128, 0]),
411
+ 24:
412
+ dict(
413
+ link=('left_wrist', 'left_forefinger1'),
414
+ id=24,
415
+ color=[255, 153, 255]),
416
+ 25:
417
+ dict(
418
+ link=('left_forefinger1', 'left_forefinger2'),
419
+ id=25,
420
+ color=[255, 153, 255]),
421
+ 26:
422
+ dict(
423
+ link=('left_forefinger2', 'left_forefinger3'),
424
+ id=26,
425
+ color=[255, 153, 255]),
426
+ 27:
427
+ dict(
428
+ link=('left_forefinger3', 'left_forefinger4'),
429
+ id=27,
430
+ color=[255, 153, 255]),
431
+ 28:
432
+ dict(
433
+ link=('left_wrist', 'left_middle_finger1'),
434
+ id=28,
435
+ color=[102, 178, 255]),
436
+ 29:
437
+ dict(
438
+ link=('left_middle_finger1', 'left_middle_finger2'),
439
+ id=29,
440
+ color=[102, 178, 255]),
441
+ 30:
442
+ dict(
443
+ link=('left_middle_finger2', 'left_middle_finger3'),
444
+ id=30,
445
+ color=[102, 178, 255]),
446
+ 31:
447
+ dict(
448
+ link=('left_middle_finger3', 'left_middle_finger4'),
449
+ id=31,
450
+ color=[102, 178, 255]),
451
+ 32:
452
+ dict(
453
+ link=('left_wrist', 'left_ring_finger1'),
454
+ id=32,
455
+ color=[255, 51, 51]),
456
+ 33:
457
+ dict(
458
+ link=('left_ring_finger1', 'left_ring_finger2'),
459
+ id=33,
460
+ color=[255, 51, 51]),
461
+ 34:
462
+ dict(
463
+ link=('left_ring_finger2', 'left_ring_finger3'),
464
+ id=34,
465
+ color=[255, 51, 51]),
466
+ 35:
467
+ dict(
468
+ link=('left_ring_finger3', 'left_ring_finger4'),
469
+ id=35,
470
+ color=[255, 51, 51]),
471
+ 36:
472
+ dict(
473
+ link=('left_wrist', 'left_pinky_finger1'),
474
+ id=36,
475
+ color=[0, 255, 0]),
476
+ 37:
477
+ dict(
478
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
479
+ id=37,
480
+ color=[0, 255, 0]),
481
+ 38:
482
+ dict(
483
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
484
+ id=38,
485
+ color=[0, 255, 0]),
486
+ 39:
487
+ dict(
488
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
489
+ id=39,
490
+ color=[0, 255, 0]),
491
+ },
492
+ joint_weights=[1.] * 42,
493
+ sigmas=[])
configs/_base_/datasets/jhmdb.py ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='jhmdb',
9
+ paper_info=dict(
10
+ author='H. Jhuang and J. Gall and S. Zuffi and '
11
+ 'C. Schmid and M. J. Black',
12
+ title='Towards understanding action recognition',
13
+ container='International Conf. on Computer Vision (ICCV)',
14
+ year='2013',
15
+ homepage='http://jhmdb.is.tue.mpg.de/dataset',
16
+ ),
17
+ keypoint_info={
18
+ 0:
19
+ dict(name='neck', id=0, color=[255, 128, 0], type='upper', swap=''),
20
+ 1:
21
+ dict(name='belly', id=1, color=[255, 128, 0], type='upper', swap=''),
22
+ 2:
23
+ dict(name='head', id=2, color=[255, 128, 0], type='upper', swap=''),
24
+ 3:
25
+ dict(
26
+ name='right_shoulder',
27
+ id=3,
28
+ color=[0, 255, 0],
29
+ type='upper',
30
+ swap='left_shoulder'),
31
+ 4:
32
+ dict(
33
+ name='left_shoulder',
34
+ id=4,
35
+ color=[0, 255, 0],
36
+ type='upper',
37
+ swap='right_shoulder'),
38
+ 5:
39
+ dict(
40
+ name='right_hip',
41
+ id=5,
42
+ color=[0, 255, 0],
43
+ type='lower',
44
+ swap='left_hip'),
45
+ 6:
46
+ dict(
47
+ name='left_hip',
48
+ id=6,
49
+ color=[51, 153, 255],
50
+ type='lower',
51
+ swap='right_hip'),
52
+ 7:
53
+ dict(
54
+ name='right_elbow',
55
+ id=7,
56
+ color=[51, 153, 255],
57
+ type='upper',
58
+ swap='left_elbow'),
59
+ 8:
60
+ dict(
61
+ name='left_elbow',
62
+ id=8,
63
+ color=[51, 153, 255],
64
+ type='upper',
65
+ swap='right_elbow'),
66
+ 9:
67
+ dict(
68
+ name='right_knee',
69
+ id=9,
70
+ color=[51, 153, 255],
71
+ type='lower',
72
+ swap='left_knee'),
73
+ 10:
74
+ dict(
75
+ name='left_knee',
76
+ id=10,
77
+ color=[255, 128, 0],
78
+ type='lower',
79
+ swap='right_knee'),
80
+ 11:
81
+ dict(
82
+ name='right_wrist',
83
+ id=11,
84
+ color=[255, 128, 0],
85
+ type='upper',
86
+ swap='left_wrist'),
87
+ 12:
88
+ dict(
89
+ name='left_wrist',
90
+ id=12,
91
+ color=[255, 128, 0],
92
+ type='upper',
93
+ swap='right_wrist'),
94
+ 13:
95
+ dict(
96
+ name='right_ankle',
97
+ id=13,
98
+ color=[0, 255, 0],
99
+ type='lower',
100
+ swap='left_ankle'),
101
+ 14:
102
+ dict(
103
+ name='left_ankle',
104
+ id=14,
105
+ color=[0, 255, 0],
106
+ type='lower',
107
+ swap='right_ankle')
108
+ },
109
+ skeleton_info={
110
+ 0: dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
111
+ 1: dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
112
+ 2: dict(link=('right_hip', 'belly'), id=2, color=[255, 128, 0]),
113
+ 3: dict(link=('belly', 'left_hip'), id=3, color=[0, 255, 0]),
114
+ 4: dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
115
+ 5: dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
116
+ 6: dict(link=('belly', 'neck'), id=6, color=[51, 153, 255]),
117
+ 7: dict(link=('neck', 'head'), id=7, color=[51, 153, 255]),
118
+ 8: dict(link=('neck', 'right_shoulder'), id=8, color=[255, 128, 0]),
119
+ 9: dict(
120
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
121
+ 10:
122
+ dict(link=('right_elbow', 'right_wrist'), id=10, color=[255, 128, 0]),
123
+ 11: dict(link=('neck', 'left_shoulder'), id=11, color=[0, 255, 0]),
124
+ 12:
125
+ dict(link=('left_shoulder', 'left_elbow'), id=12, color=[0, 255, 0]),
126
+ 13: dict(link=('left_elbow', 'left_wrist'), id=13, color=[0, 255, 0])
127
+ },
128
+ joint_weights=[
129
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.2, 1.2, 1.5, 1.5, 1.5, 1.5
130
+ ],
131
+ # Adapted from COCO dataset.
132
+ sigmas=[
133
+ 0.025, 0.107, 0.025, 0.079, 0.079, 0.107, 0.107, 0.072, 0.072, 0.087,
134
+ 0.087, 0.062, 0.062, 0.089, 0.089
135
+ ])
configs/_base_/datasets/lapa.py ADDED
@@ -0,0 +1,694 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='lapa',
9
+ paper_info=dict(
10
+ author='Liu, Yinglu and Shi, Hailin and Shen, Hao and Si, '
11
+ 'Yue and Wang, Xiaobo and Mei, Tao',
12
+ title='A New Dataset and Boundary-Attention Semantic '
13
+ 'Segmentation for Face Parsing.',
14
+ container='Proceedings of the AAAI Conference on '
15
+ 'Artificial Intelligence 2020',
16
+ year='2020',
17
+ homepage='https://github.com/JDAI-CV/lapa-dataset',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(
22
+ name='kpt-0', id=0, color=[255, 0, 0], type='upper',
23
+ swap='kpt-32'),
24
+ 1:
25
+ dict(
26
+ name='kpt-1', id=1, color=[255, 0, 0], type='upper',
27
+ swap='kpt-31'),
28
+ 2:
29
+ dict(
30
+ name='kpt-2', id=2, color=[255, 0, 0], type='upper',
31
+ swap='kpt-30'),
32
+ 3:
33
+ dict(
34
+ name='kpt-3', id=3, color=[255, 0, 0], type='lower',
35
+ swap='kpt-29'),
36
+ 4:
37
+ dict(
38
+ name='kpt-4', id=4, color=[255, 0, 0], type='lower',
39
+ swap='kpt-28'),
40
+ 5:
41
+ dict(
42
+ name='kpt-5', id=5, color=[255, 0, 0], type='lower',
43
+ swap='kpt-27'),
44
+ 6:
45
+ dict(
46
+ name='kpt-6', id=6, color=[255, 0, 0], type='lower',
47
+ swap='kpt-26'),
48
+ 7:
49
+ dict(
50
+ name='kpt-7', id=7, color=[255, 0, 0], type='lower',
51
+ swap='kpt-25'),
52
+ 8:
53
+ dict(
54
+ name='kpt-8', id=8, color=[255, 0, 0], type='lower',
55
+ swap='kpt-24'),
56
+ 9:
57
+ dict(
58
+ name='kpt-9', id=9, color=[255, 0, 0], type='lower',
59
+ swap='kpt-23'),
60
+ 10:
61
+ dict(
62
+ name='kpt-10',
63
+ id=10,
64
+ color=[255, 0, 0],
65
+ type='lower',
66
+ swap='kpt-22'),
67
+ 11:
68
+ dict(
69
+ name='kpt-11',
70
+ id=11,
71
+ color=[255, 0, 0],
72
+ type='lower',
73
+ swap='kpt-21'),
74
+ 12:
75
+ dict(
76
+ name='kpt-12',
77
+ id=12,
78
+ color=[255, 0, 0],
79
+ type='lower',
80
+ swap='kpt-20'),
81
+ 13:
82
+ dict(
83
+ name='kpt-13',
84
+ id=13,
85
+ color=[255, 0, 0],
86
+ type='lower',
87
+ swap='kpt-19'),
88
+ 14:
89
+ dict(
90
+ name='kpt-14',
91
+ id=14,
92
+ color=[255, 0, 0],
93
+ type='lower',
94
+ swap='kpt-18'),
95
+ 15:
96
+ dict(
97
+ name='kpt-15',
98
+ id=15,
99
+ color=[255, 0, 0],
100
+ type='lower',
101
+ swap='kpt-17'),
102
+ 16:
103
+ dict(name='kpt-16', id=16, color=[255, 0, 0], type='lower', swap=''),
104
+ 17:
105
+ dict(
106
+ name='kpt-17',
107
+ id=17,
108
+ color=[255, 0, 0],
109
+ type='lower',
110
+ swap='kpt-15'),
111
+ 18:
112
+ dict(
113
+ name='kpt-18',
114
+ id=18,
115
+ color=[255, 0, 0],
116
+ type='lower',
117
+ swap='kpt-14'),
118
+ 19:
119
+ dict(
120
+ name='kpt-19',
121
+ id=19,
122
+ color=[255, 0, 0],
123
+ type='lower',
124
+ swap='kpt-13'),
125
+ 20:
126
+ dict(
127
+ name='kpt-20',
128
+ id=20,
129
+ color=[255, 0, 0],
130
+ type='lower',
131
+ swap='kpt-12'),
132
+ 21:
133
+ dict(
134
+ name='kpt-21',
135
+ id=21,
136
+ color=[255, 0, 0],
137
+ type='lower',
138
+ swap='kpt-11'),
139
+ 22:
140
+ dict(
141
+ name='kpt-22',
142
+ id=22,
143
+ color=[255, 0, 0],
144
+ type='lower',
145
+ swap='kpt-10'),
146
+ 23:
147
+ dict(
148
+ name='kpt-23',
149
+ id=23,
150
+ color=[255, 0, 0],
151
+ type='lower',
152
+ swap='kpt-9'),
153
+ 24:
154
+ dict(
155
+ name='kpt-24',
156
+ id=24,
157
+ color=[255, 0, 0],
158
+ type='lower',
159
+ swap='kpt-8'),
160
+ 25:
161
+ dict(
162
+ name='kpt-25',
163
+ id=25,
164
+ color=[255, 0, 0],
165
+ type='lower',
166
+ swap='kpt-7'),
167
+ 26:
168
+ dict(
169
+ name='kpt-26',
170
+ id=26,
171
+ color=[255, 0, 0],
172
+ type='lower',
173
+ swap='kpt-6'),
174
+ 27:
175
+ dict(
176
+ name='kpt-27',
177
+ id=27,
178
+ color=[255, 0, 0],
179
+ type='lower',
180
+ swap='kpt-5'),
181
+ 28:
182
+ dict(
183
+ name='kpt-28',
184
+ id=28,
185
+ color=[255, 0, 0],
186
+ type='lower',
187
+ swap='kpt-4'),
188
+ 29:
189
+ dict(
190
+ name='kpt-29',
191
+ id=29,
192
+ color=[255, 0, 0],
193
+ type='lower',
194
+ swap='kpt-3'),
195
+ 30:
196
+ dict(
197
+ name='kpt-30',
198
+ id=30,
199
+ color=[255, 0, 0],
200
+ type='upper',
201
+ swap='kpt-2'),
202
+ 31:
203
+ dict(
204
+ name='kpt-31',
205
+ id=31,
206
+ color=[255, 0, 0],
207
+ type='upper',
208
+ swap='kpt-1'),
209
+ 32:
210
+ dict(
211
+ name='kpt-32',
212
+ id=32,
213
+ color=[255, 0, 0],
214
+ type='upper',
215
+ swap='kpt-0'),
216
+ 33:
217
+ dict(
218
+ name='kpt-33',
219
+ id=33,
220
+ color=[255, 0, 0],
221
+ type='upper',
222
+ swap='kpt-46'),
223
+ 34:
224
+ dict(
225
+ name='kpt-34',
226
+ id=34,
227
+ color=[255, 0, 0],
228
+ type='upper',
229
+ swap='kpt-45'),
230
+ 35:
231
+ dict(
232
+ name='kpt-35',
233
+ id=35,
234
+ color=[255, 0, 0],
235
+ type='upper',
236
+ swap='kpt-44'),
237
+ 36:
238
+ dict(
239
+ name='kpt-36',
240
+ id=36,
241
+ color=[255, 0, 0],
242
+ type='upper',
243
+ swap='kpt-43'),
244
+ 37:
245
+ dict(
246
+ name='kpt-37',
247
+ id=37,
248
+ color=[255, 0, 0],
249
+ type='upper',
250
+ swap='kpt-42'),
251
+ 38:
252
+ dict(
253
+ name='kpt-38',
254
+ id=38,
255
+ color=[255, 0, 0],
256
+ type='upper',
257
+ swap='kpt-50'),
258
+ 39:
259
+ dict(
260
+ name='kpt-39',
261
+ id=39,
262
+ color=[255, 0, 0],
263
+ type='upper',
264
+ swap='kpt-49'),
265
+ 40:
266
+ dict(
267
+ name='kpt-40',
268
+ id=40,
269
+ color=[255, 0, 0],
270
+ type='upper',
271
+ swap='kpt-48'),
272
+ 41:
273
+ dict(
274
+ name='kpt-41',
275
+ id=41,
276
+ color=[255, 0, 0],
277
+ type='upper',
278
+ swap='kpt-47'),
279
+ 42:
280
+ dict(
281
+ name='kpt-42',
282
+ id=42,
283
+ color=[255, 0, 0],
284
+ type='upper',
285
+ swap='kpt-37'),
286
+ 43:
287
+ dict(
288
+ name='kpt-43',
289
+ id=43,
290
+ color=[255, 0, 0],
291
+ type='upper',
292
+ swap='kpt-36'),
293
+ 44:
294
+ dict(
295
+ name='kpt-44',
296
+ id=44,
297
+ color=[255, 0, 0],
298
+ type='upper',
299
+ swap='kpt-35'),
300
+ 45:
301
+ dict(
302
+ name='kpt-45',
303
+ id=45,
304
+ color=[255, 0, 0],
305
+ type='upper',
306
+ swap='kpt-34'),
307
+ 46:
308
+ dict(
309
+ name='kpt-46',
310
+ id=46,
311
+ color=[255, 0, 0],
312
+ type='upper',
313
+ swap='kpt-33'),
314
+ 47:
315
+ dict(
316
+ name='kpt-47',
317
+ id=47,
318
+ color=[255, 0, 0],
319
+ type='upper',
320
+ swap='kpt-41'),
321
+ 48:
322
+ dict(
323
+ name='kpt-48',
324
+ id=48,
325
+ color=[255, 0, 0],
326
+ type='upper',
327
+ swap='kpt-40'),
328
+ 49:
329
+ dict(
330
+ name='kpt-49',
331
+ id=49,
332
+ color=[255, 0, 0],
333
+ type='upper',
334
+ swap='kpt-39'),
335
+ 50:
336
+ dict(
337
+ name='kpt-50',
338
+ id=50,
339
+ color=[255, 0, 0],
340
+ type='upper',
341
+ swap='kpt-38'),
342
+ 51:
343
+ dict(name='kpt-51', id=51, color=[255, 0, 0], type='upper', swap=''),
344
+ 52:
345
+ dict(name='kpt-52', id=52, color=[255, 0, 0], type='upper', swap=''),
346
+ 53:
347
+ dict(name='kpt-53', id=53, color=[255, 0, 0], type='lower', swap=''),
348
+ 54:
349
+ dict(name='kpt-54', id=54, color=[255, 0, 0], type='lower', swap=''),
350
+ 55:
351
+ dict(
352
+ name='kpt-55',
353
+ id=55,
354
+ color=[255, 0, 0],
355
+ type='upper',
356
+ swap='kpt-65'),
357
+ 56:
358
+ dict(
359
+ name='kpt-56',
360
+ id=56,
361
+ color=[255, 0, 0],
362
+ type='lower',
363
+ swap='kpt-64'),
364
+ 57:
365
+ dict(
366
+ name='kpt-57',
367
+ id=57,
368
+ color=[255, 0, 0],
369
+ type='lower',
370
+ swap='kpt-63'),
371
+ 58:
372
+ dict(
373
+ name='kpt-58',
374
+ id=58,
375
+ color=[255, 0, 0],
376
+ type='lower',
377
+ swap='kpt-62'),
378
+ 59:
379
+ dict(
380
+ name='kpt-59',
381
+ id=59,
382
+ color=[255, 0, 0],
383
+ type='lower',
384
+ swap='kpt-61'),
385
+ 60:
386
+ dict(name='kpt-60', id=60, color=[255, 0, 0], type='lower', swap=''),
387
+ 61:
388
+ dict(
389
+ name='kpt-61',
390
+ id=61,
391
+ color=[255, 0, 0],
392
+ type='lower',
393
+ swap='kpt-59'),
394
+ 62:
395
+ dict(
396
+ name='kpt-62',
397
+ id=62,
398
+ color=[255, 0, 0],
399
+ type='lower',
400
+ swap='kpt-58'),
401
+ 63:
402
+ dict(
403
+ name='kpt-63',
404
+ id=63,
405
+ color=[255, 0, 0],
406
+ type='lower',
407
+ swap='kpt-57'),
408
+ 64:
409
+ dict(
410
+ name='kpt-64',
411
+ id=64,
412
+ color=[255, 0, 0],
413
+ type='lower',
414
+ swap='kpt-56'),
415
+ 65:
416
+ dict(
417
+ name='kpt-65',
418
+ id=65,
419
+ color=[255, 0, 0],
420
+ type='upper',
421
+ swap='kpt-55'),
422
+ 66:
423
+ dict(
424
+ name='kpt-66',
425
+ id=66,
426
+ color=[255, 0, 0],
427
+ type='upper',
428
+ swap='kpt-79'),
429
+ 67:
430
+ dict(
431
+ name='kpt-67',
432
+ id=67,
433
+ color=[255, 0, 0],
434
+ type='upper',
435
+ swap='kpt-78'),
436
+ 68:
437
+ dict(
438
+ name='kpt-68',
439
+ id=68,
440
+ color=[255, 0, 0],
441
+ type='upper',
442
+ swap='kpt-77'),
443
+ 69:
444
+ dict(
445
+ name='kpt-69',
446
+ id=69,
447
+ color=[255, 0, 0],
448
+ type='upper',
449
+ swap='kpt-76'),
450
+ 70:
451
+ dict(
452
+ name='kpt-70',
453
+ id=70,
454
+ color=[255, 0, 0],
455
+ type='upper',
456
+ swap='kpt-75'),
457
+ 71:
458
+ dict(
459
+ name='kpt-71',
460
+ id=71,
461
+ color=[255, 0, 0],
462
+ type='upper',
463
+ swap='kpt-82'),
464
+ 72:
465
+ dict(
466
+ name='kpt-72',
467
+ id=72,
468
+ color=[255, 0, 0],
469
+ type='upper',
470
+ swap='kpt-81'),
471
+ 73:
472
+ dict(
473
+ name='kpt-73',
474
+ id=73,
475
+ color=[255, 0, 0],
476
+ type='upper',
477
+ swap='kpt-80'),
478
+ 74:
479
+ dict(
480
+ name='kpt-74',
481
+ id=74,
482
+ color=[255, 0, 0],
483
+ type='upper',
484
+ swap='kpt-83'),
485
+ 75:
486
+ dict(
487
+ name='kpt-75',
488
+ id=75,
489
+ color=[255, 0, 0],
490
+ type='upper',
491
+ swap='kpt-70'),
492
+ 76:
493
+ dict(
494
+ name='kpt-76',
495
+ id=76,
496
+ color=[255, 0, 0],
497
+ type='upper',
498
+ swap='kpt-69'),
499
+ 77:
500
+ dict(
501
+ name='kpt-77',
502
+ id=77,
503
+ color=[255, 0, 0],
504
+ type='upper',
505
+ swap='kpt-68'),
506
+ 78:
507
+ dict(
508
+ name='kpt-78',
509
+ id=78,
510
+ color=[255, 0, 0],
511
+ type='upper',
512
+ swap='kpt-67'),
513
+ 79:
514
+ dict(
515
+ name='kpt-79',
516
+ id=79,
517
+ color=[255, 0, 0],
518
+ type='upper',
519
+ swap='kpt-66'),
520
+ 80:
521
+ dict(
522
+ name='kpt-80',
523
+ id=80,
524
+ color=[255, 0, 0],
525
+ type='upper',
526
+ swap='kpt-73'),
527
+ 81:
528
+ dict(
529
+ name='kpt-81',
530
+ id=81,
531
+ color=[255, 0, 0],
532
+ type='upper',
533
+ swap='kpt-72'),
534
+ 82:
535
+ dict(
536
+ name='kpt-82',
537
+ id=82,
538
+ color=[255, 0, 0],
539
+ type='upper',
540
+ swap='kpt-71'),
541
+ 83:
542
+ dict(
543
+ name='kpt-83',
544
+ id=83,
545
+ color=[255, 0, 0],
546
+ type='upper',
547
+ swap='kpt-74'),
548
+ 84:
549
+ dict(
550
+ name='kpt-84',
551
+ id=84,
552
+ color=[255, 0, 0],
553
+ type='lower',
554
+ swap='kpt-90'),
555
+ 85:
556
+ dict(
557
+ name='kpt-85',
558
+ id=85,
559
+ color=[255, 0, 0],
560
+ type='lower',
561
+ swap='kpt-89'),
562
+ 86:
563
+ dict(
564
+ name='kpt-86',
565
+ id=86,
566
+ color=[255, 0, 0],
567
+ type='lower',
568
+ swap='kpt-88'),
569
+ 87:
570
+ dict(name='kpt-87', id=87, color=[255, 0, 0], type='lower', swap=''),
571
+ 88:
572
+ dict(
573
+ name='kpt-88',
574
+ id=88,
575
+ color=[255, 0, 0],
576
+ type='lower',
577
+ swap='kpt-86'),
578
+ 89:
579
+ dict(
580
+ name='kpt-89',
581
+ id=89,
582
+ color=[255, 0, 0],
583
+ type='lower',
584
+ swap='kpt-85'),
585
+ 90:
586
+ dict(
587
+ name='kpt-90',
588
+ id=90,
589
+ color=[255, 0, 0],
590
+ type='lower',
591
+ swap='kpt-84'),
592
+ 91:
593
+ dict(
594
+ name='kpt-91',
595
+ id=91,
596
+ color=[255, 0, 0],
597
+ type='lower',
598
+ swap='kpt-95'),
599
+ 92:
600
+ dict(
601
+ name='kpt-92',
602
+ id=92,
603
+ color=[255, 0, 0],
604
+ type='lower',
605
+ swap='kpt-94'),
606
+ 93:
607
+ dict(name='kpt-93', id=93, color=[255, 0, 0], type='lower', swap=''),
608
+ 94:
609
+ dict(
610
+ name='kpt-94',
611
+ id=94,
612
+ color=[255, 0, 0],
613
+ type='lower',
614
+ swap='kpt-92'),
615
+ 95:
616
+ dict(
617
+ name='kpt-95',
618
+ id=95,
619
+ color=[255, 0, 0],
620
+ type='lower',
621
+ swap='kpt-91'),
622
+ 96:
623
+ dict(
624
+ name='kpt-96',
625
+ id=96,
626
+ color=[255, 0, 0],
627
+ type='lower',
628
+ swap='kpt-100'),
629
+ 97:
630
+ dict(
631
+ name='kpt-97',
632
+ id=97,
633
+ color=[255, 0, 0],
634
+ type='lower',
635
+ swap='kpt-99'),
636
+ 98:
637
+ dict(name='kpt-98', id=98, color=[255, 0, 0], type='lower', swap=''),
638
+ 99:
639
+ dict(
640
+ name='kpt-99',
641
+ id=99,
642
+ color=[255, 0, 0],
643
+ type='lower',
644
+ swap='kpt-97'),
645
+ 100:
646
+ dict(
647
+ name='kpt-100',
648
+ id=100,
649
+ color=[255, 0, 0],
650
+ type='lower',
651
+ swap='kpt-96'),
652
+ 101:
653
+ dict(
654
+ name='kpt-101',
655
+ id=101,
656
+ color=[255, 0, 0],
657
+ type='lower',
658
+ swap='kpt-103'),
659
+ 102:
660
+ dict(name='kpt-102', id=102, color=[255, 0, 0], type='lower', swap=''),
661
+ 103:
662
+ dict(
663
+ name='kpt-103',
664
+ id=103,
665
+ color=[255, 0, 0],
666
+ type='lower',
667
+ swap='kpt-101'),
668
+ 104:
669
+ dict(
670
+ name='kpt-104',
671
+ id=104,
672
+ color=[255, 0, 0],
673
+ type='upper',
674
+ swap='kpt-105'),
675
+ 105:
676
+ dict(
677
+ name='kpt-105',
678
+ id=105,
679
+ color=[255, 0, 0],
680
+ type='upper',
681
+ swap='kpt-104')
682
+ },
683
+ skeleton_info={},
684
+ joint_weights=[
685
+ 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
686
+ 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
687
+ 0.8, 0.8, 0.8, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
688
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
689
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0,
690
+ 2.0, 2.0, 2.0, 2.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 1.0,
691
+ 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5,
692
+ 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.0, 1.0
693
+ ],
694
+ sigmas=[])
configs/_base_/datasets/locust.py ADDED
@@ -0,0 +1,269 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='locust',
9
+ paper_info=dict(
10
+ author='Graving, Jacob M and Chae, Daniel and Naik, Hemal and '
11
+ 'Li, Liang and Koger, Benjamin and Costelloe, Blair R and '
12
+ 'Couzin, Iain D',
13
+ title='DeepPoseKit, a software toolkit for fast and robust '
14
+ 'animal pose estimation using deep learning',
15
+ container='Elife',
16
+ year='2019',
17
+ homepage='https://github.com/jgraving/DeepPoseKit-Data',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(name='head', id=0, color=[255, 255, 255], type='', swap=''),
22
+ 1:
23
+ dict(name='neck', id=1, color=[255, 255, 255], type='', swap=''),
24
+ 2:
25
+ dict(name='thorax', id=2, color=[255, 255, 255], type='', swap=''),
26
+ 3:
27
+ dict(name='abdomen1', id=3, color=[255, 255, 255], type='', swap=''),
28
+ 4:
29
+ dict(name='abdomen2', id=4, color=[255, 255, 255], type='', swap=''),
30
+ 5:
31
+ dict(
32
+ name='anttipL',
33
+ id=5,
34
+ color=[255, 255, 255],
35
+ type='',
36
+ swap='anttipR'),
37
+ 6:
38
+ dict(
39
+ name='antbaseL',
40
+ id=6,
41
+ color=[255, 255, 255],
42
+ type='',
43
+ swap='antbaseR'),
44
+ 7:
45
+ dict(name='eyeL', id=7, color=[255, 255, 255], type='', swap='eyeR'),
46
+ 8:
47
+ dict(
48
+ name='forelegL1',
49
+ id=8,
50
+ color=[255, 255, 255],
51
+ type='',
52
+ swap='forelegR1'),
53
+ 9:
54
+ dict(
55
+ name='forelegL2',
56
+ id=9,
57
+ color=[255, 255, 255],
58
+ type='',
59
+ swap='forelegR2'),
60
+ 10:
61
+ dict(
62
+ name='forelegL3',
63
+ id=10,
64
+ color=[255, 255, 255],
65
+ type='',
66
+ swap='forelegR3'),
67
+ 11:
68
+ dict(
69
+ name='forelegL4',
70
+ id=11,
71
+ color=[255, 255, 255],
72
+ type='',
73
+ swap='forelegR4'),
74
+ 12:
75
+ dict(
76
+ name='midlegL1',
77
+ id=12,
78
+ color=[255, 255, 255],
79
+ type='',
80
+ swap='midlegR1'),
81
+ 13:
82
+ dict(
83
+ name='midlegL2',
84
+ id=13,
85
+ color=[255, 255, 255],
86
+ type='',
87
+ swap='midlegR2'),
88
+ 14:
89
+ dict(
90
+ name='midlegL3',
91
+ id=14,
92
+ color=[255, 255, 255],
93
+ type='',
94
+ swap='midlegR3'),
95
+ 15:
96
+ dict(
97
+ name='midlegL4',
98
+ id=15,
99
+ color=[255, 255, 255],
100
+ type='',
101
+ swap='midlegR4'),
102
+ 16:
103
+ dict(
104
+ name='hindlegL1',
105
+ id=16,
106
+ color=[255, 255, 255],
107
+ type='',
108
+ swap='hindlegR1'),
109
+ 17:
110
+ dict(
111
+ name='hindlegL2',
112
+ id=17,
113
+ color=[255, 255, 255],
114
+ type='',
115
+ swap='hindlegR2'),
116
+ 18:
117
+ dict(
118
+ name='hindlegL3',
119
+ id=18,
120
+ color=[255, 255, 255],
121
+ type='',
122
+ swap='hindlegR3'),
123
+ 19:
124
+ dict(
125
+ name='hindlegL4',
126
+ id=19,
127
+ color=[255, 255, 255],
128
+ type='',
129
+ swap='hindlegR4'),
130
+ 20:
131
+ dict(
132
+ name='anttipR',
133
+ id=20,
134
+ color=[255, 255, 255],
135
+ type='',
136
+ swap='anttipL'),
137
+ 21:
138
+ dict(
139
+ name='antbaseR',
140
+ id=21,
141
+ color=[255, 255, 255],
142
+ type='',
143
+ swap='antbaseL'),
144
+ 22:
145
+ dict(name='eyeR', id=22, color=[255, 255, 255], type='', swap='eyeL'),
146
+ 23:
147
+ dict(
148
+ name='forelegR1',
149
+ id=23,
150
+ color=[255, 255, 255],
151
+ type='',
152
+ swap='forelegL1'),
153
+ 24:
154
+ dict(
155
+ name='forelegR2',
156
+ id=24,
157
+ color=[255, 255, 255],
158
+ type='',
159
+ swap='forelegL2'),
160
+ 25:
161
+ dict(
162
+ name='forelegR3',
163
+ id=25,
164
+ color=[255, 255, 255],
165
+ type='',
166
+ swap='forelegL3'),
167
+ 26:
168
+ dict(
169
+ name='forelegR4',
170
+ id=26,
171
+ color=[255, 255, 255],
172
+ type='',
173
+ swap='forelegL4'),
174
+ 27:
175
+ dict(
176
+ name='midlegR1',
177
+ id=27,
178
+ color=[255, 255, 255],
179
+ type='',
180
+ swap='midlegL1'),
181
+ 28:
182
+ dict(
183
+ name='midlegR2',
184
+ id=28,
185
+ color=[255, 255, 255],
186
+ type='',
187
+ swap='midlegL2'),
188
+ 29:
189
+ dict(
190
+ name='midlegR3',
191
+ id=29,
192
+ color=[255, 255, 255],
193
+ type='',
194
+ swap='midlegL3'),
195
+ 30:
196
+ dict(
197
+ name='midlegR4',
198
+ id=30,
199
+ color=[255, 255, 255],
200
+ type='',
201
+ swap='midlegL4'),
202
+ 31:
203
+ dict(
204
+ name='hindlegR1',
205
+ id=31,
206
+ color=[255, 255, 255],
207
+ type='',
208
+ swap='hindlegL1'),
209
+ 32:
210
+ dict(
211
+ name='hindlegR2',
212
+ id=32,
213
+ color=[255, 255, 255],
214
+ type='',
215
+ swap='hindlegL2'),
216
+ 33:
217
+ dict(
218
+ name='hindlegR3',
219
+ id=33,
220
+ color=[255, 255, 255],
221
+ type='',
222
+ swap='hindlegL3'),
223
+ 34:
224
+ dict(
225
+ name='hindlegR4',
226
+ id=34,
227
+ color=[255, 255, 255],
228
+ type='',
229
+ swap='hindlegL4')
230
+ },
231
+ skeleton_info={
232
+ 0: dict(link=('neck', 'head'), id=0, color=[255, 255, 255]),
233
+ 1: dict(link=('thorax', 'neck'), id=1, color=[255, 255, 255]),
234
+ 2: dict(link=('abdomen1', 'thorax'), id=2, color=[255, 255, 255]),
235
+ 3: dict(link=('abdomen2', 'abdomen1'), id=3, color=[255, 255, 255]),
236
+ 4: dict(link=('antbaseL', 'anttipL'), id=4, color=[255, 255, 255]),
237
+ 5: dict(link=('eyeL', 'antbaseL'), id=5, color=[255, 255, 255]),
238
+ 6: dict(link=('forelegL2', 'forelegL1'), id=6, color=[255, 255, 255]),
239
+ 7: dict(link=('forelegL3', 'forelegL2'), id=7, color=[255, 255, 255]),
240
+ 8: dict(link=('forelegL4', 'forelegL3'), id=8, color=[255, 255, 255]),
241
+ 9: dict(link=('midlegL2', 'midlegL1'), id=9, color=[255, 255, 255]),
242
+ 10: dict(link=('midlegL3', 'midlegL2'), id=10, color=[255, 255, 255]),
243
+ 11: dict(link=('midlegL4', 'midlegL3'), id=11, color=[255, 255, 255]),
244
+ 12:
245
+ dict(link=('hindlegL2', 'hindlegL1'), id=12, color=[255, 255, 255]),
246
+ 13:
247
+ dict(link=('hindlegL3', 'hindlegL2'), id=13, color=[255, 255, 255]),
248
+ 14:
249
+ dict(link=('hindlegL4', 'hindlegL3'), id=14, color=[255, 255, 255]),
250
+ 15: dict(link=('antbaseR', 'anttipR'), id=15, color=[255, 255, 255]),
251
+ 16: dict(link=('eyeR', 'antbaseR'), id=16, color=[255, 255, 255]),
252
+ 17:
253
+ dict(link=('forelegR2', 'forelegR1'), id=17, color=[255, 255, 255]),
254
+ 18:
255
+ dict(link=('forelegR3', 'forelegR2'), id=18, color=[255, 255, 255]),
256
+ 19:
257
+ dict(link=('forelegR4', 'forelegR3'), id=19, color=[255, 255, 255]),
258
+ 20: dict(link=('midlegR2', 'midlegR1'), id=20, color=[255, 255, 255]),
259
+ 21: dict(link=('midlegR3', 'midlegR2'), id=21, color=[255, 255, 255]),
260
+ 22: dict(link=('midlegR4', 'midlegR3'), id=22, color=[255, 255, 255]),
261
+ 23:
262
+ dict(link=('hindlegR2', 'hindlegR1'), id=23, color=[255, 255, 255]),
263
+ 24:
264
+ dict(link=('hindlegR3', 'hindlegR2'), id=24, color=[255, 255, 255]),
265
+ 25:
266
+ dict(link=('hindlegR4', 'hindlegR3'), id=25, color=[255, 255, 255])
267
+ },
268
+ joint_weights=[1.] * 35,
269
+ sigmas=[])
configs/_base_/datasets/macaque.py ADDED
@@ -0,0 +1,189 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='macaque',
9
+ paper_info=dict(
10
+ author='Labuguen, Rollyn and Matsumoto, Jumpei and '
11
+ 'Negrete, Salvador and Nishimaru, Hiroshi and '
12
+ 'Nishijo, Hisao and Takada, Masahiko and '
13
+ 'Go, Yasuhiro and Inoue, Ken-ichi and Shibata, Tomohiro',
14
+ title='MacaquePose: A novel "in the wild" macaque monkey pose dataset '
15
+ 'for markerless motion capture',
16
+ container='bioRxiv',
17
+ year='2020',
18
+ homepage='http://www.pri.kyoto-u.ac.jp/datasets/'
19
+ 'macaquepose/index.html',
20
+ ),
21
+ keypoint_info={
22
+ 0:
23
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
24
+ 1:
25
+ dict(
26
+ name='left_eye',
27
+ id=1,
28
+ color=[51, 153, 255],
29
+ type='upper',
30
+ swap='right_eye'),
31
+ 2:
32
+ dict(
33
+ name='right_eye',
34
+ id=2,
35
+ color=[51, 153, 255],
36
+ type='upper',
37
+ swap='left_eye'),
38
+ 3:
39
+ dict(
40
+ name='left_ear',
41
+ id=3,
42
+ color=[51, 153, 255],
43
+ type='upper',
44
+ swap='right_ear'),
45
+ 4:
46
+ dict(
47
+ name='right_ear',
48
+ id=4,
49
+ color=[51, 153, 255],
50
+ type='upper',
51
+ swap='left_ear'),
52
+ 5:
53
+ dict(
54
+ name='left_shoulder',
55
+ id=5,
56
+ color=[0, 255, 0],
57
+ type='upper',
58
+ swap='right_shoulder'),
59
+ 6:
60
+ dict(
61
+ name='right_shoulder',
62
+ id=6,
63
+ color=[255, 128, 0],
64
+ type='upper',
65
+ swap='left_shoulder'),
66
+ 7:
67
+ dict(
68
+ name='left_elbow',
69
+ id=7,
70
+ color=[0, 255, 0],
71
+ type='upper',
72
+ swap='right_elbow'),
73
+ 8:
74
+ dict(
75
+ name='right_elbow',
76
+ id=8,
77
+ color=[255, 128, 0],
78
+ type='upper',
79
+ swap='left_elbow'),
80
+ 9:
81
+ dict(
82
+ name='left_wrist',
83
+ id=9,
84
+ color=[0, 255, 0],
85
+ type='upper',
86
+ swap='right_wrist'),
87
+ 10:
88
+ dict(
89
+ name='right_wrist',
90
+ id=10,
91
+ color=[255, 128, 0],
92
+ type='upper',
93
+ swap='left_wrist'),
94
+ 11:
95
+ dict(
96
+ name='left_hip',
97
+ id=11,
98
+ color=[0, 255, 0],
99
+ type='lower',
100
+ swap='right_hip'),
101
+ 12:
102
+ dict(
103
+ name='right_hip',
104
+ id=12,
105
+ color=[255, 128, 0],
106
+ type='lower',
107
+ swap='left_hip'),
108
+ 13:
109
+ dict(
110
+ name='left_knee',
111
+ id=13,
112
+ color=[0, 255, 0],
113
+ type='lower',
114
+ swap='right_knee'),
115
+ 14:
116
+ dict(
117
+ name='right_knee',
118
+ id=14,
119
+ color=[255, 128, 0],
120
+ type='lower',
121
+ swap='left_knee'),
122
+ 15:
123
+ dict(
124
+ name='left_ankle',
125
+ id=15,
126
+ color=[0, 255, 0],
127
+ type='lower',
128
+ swap='right_ankle'),
129
+ 16:
130
+ dict(
131
+ name='right_ankle',
132
+ id=16,
133
+ color=[255, 128, 0],
134
+ type='lower',
135
+ swap='left_ankle')
136
+ },
137
+ skeleton_info={
138
+ 0:
139
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
140
+ 1:
141
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
142
+ 2:
143
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
144
+ 3:
145
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
146
+ 4:
147
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
148
+ 5:
149
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
150
+ 6:
151
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
152
+ 7:
153
+ dict(
154
+ link=('left_shoulder', 'right_shoulder'),
155
+ id=7,
156
+ color=[51, 153, 255]),
157
+ 8:
158
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
159
+ 9:
160
+ dict(
161
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
162
+ 10:
163
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
164
+ 11:
165
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
166
+ 12:
167
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
168
+ 13:
169
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
170
+ 14:
171
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
172
+ 15:
173
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
174
+ 16:
175
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
176
+ 17:
177
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
178
+ 18:
179
+ dict(
180
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
181
+ },
182
+ joint_weights=[
183
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
184
+ 1.5
185
+ ],
186
+ sigmas=[
187
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
188
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
189
+ ])
configs/_base_/datasets/mhp.py ADDED
@@ -0,0 +1,162 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='mhp',
9
+ paper_info=dict(
10
+ author='Zhao, Jian and Li, Jianshu and Cheng, Yu and '
11
+ 'Sim, Terence and Yan, Shuicheng and Feng, Jiashi',
12
+ title='Understanding humans in crowded scenes: '
13
+ 'Deep nested adversarial learning and a '
14
+ 'new benchmark for multi-human parsing',
15
+ container='Proceedings of the 26th ACM '
16
+ 'international conference on Multimedia',
17
+ year='2018',
18
+ homepage='https://lv-mhp.github.io/dataset',
19
+ ),
20
+ keypoint_info={
21
+ 0:
22
+ dict(
23
+ name='right_ankle',
24
+ id=0,
25
+ color=[255, 128, 0],
26
+ type='lower',
27
+ swap='left_ankle'),
28
+ 1:
29
+ dict(
30
+ name='right_knee',
31
+ id=1,
32
+ color=[255, 128, 0],
33
+ type='lower',
34
+ swap='left_knee'),
35
+ 2:
36
+ dict(
37
+ name='right_hip',
38
+ id=2,
39
+ color=[255, 128, 0],
40
+ type='lower',
41
+ swap='left_hip'),
42
+ 3:
43
+ dict(
44
+ name='left_hip',
45
+ id=3,
46
+ color=[0, 255, 0],
47
+ type='lower',
48
+ swap='right_hip'),
49
+ 4:
50
+ dict(
51
+ name='left_knee',
52
+ id=4,
53
+ color=[0, 255, 0],
54
+ type='lower',
55
+ swap='right_knee'),
56
+ 5:
57
+ dict(
58
+ name='left_ankle',
59
+ id=5,
60
+ color=[0, 255, 0],
61
+ type='lower',
62
+ swap='right_ankle'),
63
+ 6:
64
+ dict(name='pelvis', id=6, color=[51, 153, 255], type='lower', swap=''),
65
+ 7:
66
+ dict(name='thorax', id=7, color=[51, 153, 255], type='upper', swap=''),
67
+ 8:
68
+ dict(
69
+ name='upper_neck',
70
+ id=8,
71
+ color=[51, 153, 255],
72
+ type='upper',
73
+ swap=''),
74
+ 9:
75
+ dict(
76
+ name='head_top', id=9, color=[51, 153, 255], type='upper',
77
+ swap=''),
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='right_elbow',
88
+ id=11,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_elbow'),
92
+ 12:
93
+ dict(
94
+ name='right_shoulder',
95
+ id=12,
96
+ color=[255, 128, 0],
97
+ type='upper',
98
+ swap='left_shoulder'),
99
+ 13:
100
+ dict(
101
+ name='left_shoulder',
102
+ id=13,
103
+ color=[0, 255, 0],
104
+ type='upper',
105
+ swap='right_shoulder'),
106
+ 14:
107
+ dict(
108
+ name='left_elbow',
109
+ id=14,
110
+ color=[0, 255, 0],
111
+ type='upper',
112
+ swap='right_elbow'),
113
+ 15:
114
+ dict(
115
+ name='left_wrist',
116
+ id=15,
117
+ color=[0, 255, 0],
118
+ type='upper',
119
+ swap='right_wrist')
120
+ },
121
+ skeleton_info={
122
+ 0:
123
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
124
+ 1:
125
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
126
+ 2:
127
+ dict(link=('right_hip', 'pelvis'), id=2, color=[255, 128, 0]),
128
+ 3:
129
+ dict(link=('pelvis', 'left_hip'), id=3, color=[0, 255, 0]),
130
+ 4:
131
+ dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
132
+ 5:
133
+ dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
134
+ 6:
135
+ dict(link=('pelvis', 'thorax'), id=6, color=[51, 153, 255]),
136
+ 7:
137
+ dict(link=('thorax', 'upper_neck'), id=7, color=[51, 153, 255]),
138
+ 8:
139
+ dict(link=('upper_neck', 'head_top'), id=8, color=[51, 153, 255]),
140
+ 9:
141
+ dict(link=('upper_neck', 'right_shoulder'), id=9, color=[255, 128, 0]),
142
+ 10:
143
+ dict(
144
+ link=('right_shoulder', 'right_elbow'), id=10, color=[255, 128,
145
+ 0]),
146
+ 11:
147
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
148
+ 12:
149
+ dict(link=('upper_neck', 'left_shoulder'), id=12, color=[0, 255, 0]),
150
+ 13:
151
+ dict(link=('left_shoulder', 'left_elbow'), id=13, color=[0, 255, 0]),
152
+ 14:
153
+ dict(link=('left_elbow', 'left_wrist'), id=14, color=[0, 255, 0])
154
+ },
155
+ joint_weights=[
156
+ 1.5, 1.2, 1., 1., 1.2, 1.5, 1., 1., 1., 1., 1.5, 1.2, 1., 1., 1.2, 1.5
157
+ ],
158
+ # Adapted from COCO dataset.
159
+ sigmas=[
160
+ 0.089, 0.083, 0.107, 0.107, 0.083, 0.089, 0.026, 0.026, 0.026, 0.026,
161
+ 0.062, 0.072, 0.179, 0.179, 0.072, 0.062
162
+ ])
configs/_base_/datasets/mpi_inf_3dhp.py ADDED
@@ -0,0 +1,138 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='mpi_inf_3dhp',
9
+ paper_info=dict(
10
+ author='ehta, Dushyant and Rhodin, Helge and Casas, Dan and '
11
+ 'Fua, Pascal and Sotnychenko, Oleksandr and Xu, Weipeng and '
12
+ 'Theobalt, Christian',
13
+ title='Monocular 3D Human Pose Estimation In The Wild Using Improved '
14
+ 'CNN Supervision',
15
+ container='2017 international conference on 3D vision (3DV)',
16
+ year='2017',
17
+ homepage='http://gvv.mpi-inf.mpg.de/3dhp-dataset',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(
22
+ name='head_top', id=0, color=[51, 153, 255], type='upper',
23
+ swap=''),
24
+ 1:
25
+ dict(name='neck', id=1, color=[51, 153, 255], type='upper', swap=''),
26
+ 2:
27
+ dict(
28
+ name='right_shoulder',
29
+ id=2,
30
+ color=[255, 128, 0],
31
+ type='upper',
32
+ swap='left_shoulder'),
33
+ 3:
34
+ dict(
35
+ name='right_elbow',
36
+ id=3,
37
+ color=[255, 128, 0],
38
+ type='upper',
39
+ swap='left_elbow'),
40
+ 4:
41
+ dict(
42
+ name='right_wrist',
43
+ id=4,
44
+ color=[255, 128, 0],
45
+ type='upper',
46
+ swap='left_wrist'),
47
+ 5:
48
+ dict(
49
+ name='left_shoulder',
50
+ id=5,
51
+ color=[0, 255, 0],
52
+ type='upper',
53
+ swap='right_shoulder'),
54
+ 6:
55
+ dict(
56
+ name='left_elbow',
57
+ id=6,
58
+ color=[0, 255, 0],
59
+ type='upper',
60
+ swap='right_elbow'),
61
+ 7:
62
+ dict(
63
+ name='left_wrist',
64
+ id=7,
65
+ color=[0, 255, 0],
66
+ type='upper',
67
+ swap='right_wrist'),
68
+ 8:
69
+ dict(
70
+ name='right_hip',
71
+ id=8,
72
+ color=[255, 128, 0],
73
+ type='lower',
74
+ swap='left_hip'),
75
+ 9:
76
+ dict(
77
+ name='right_knee',
78
+ id=9,
79
+ color=[255, 128, 0],
80
+ type='lower',
81
+ swap='left_knee'),
82
+ 10:
83
+ dict(
84
+ name='right_ankle',
85
+ id=10,
86
+ color=[255, 128, 0],
87
+ type='lower',
88
+ swap='left_ankle'),
89
+ 11:
90
+ dict(
91
+ name='left_hip',
92
+ id=11,
93
+ color=[0, 255, 0],
94
+ type='lower',
95
+ swap='right_hip'),
96
+ 12:
97
+ dict(
98
+ name='left_knee',
99
+ id=12,
100
+ color=[0, 255, 0],
101
+ type='lower',
102
+ swap='right_knee'),
103
+ 13:
104
+ dict(
105
+ name='left_ankle',
106
+ id=13,
107
+ color=[0, 255, 0],
108
+ type='lower',
109
+ swap='right_ankle'),
110
+ 14:
111
+ dict(name='root', id=14, color=[51, 153, 255], type='lower', swap=''),
112
+ 15:
113
+ dict(name='spine', id=15, color=[51, 153, 255], type='upper', swap=''),
114
+ 16:
115
+ dict(name='head', id=16, color=[51, 153, 255], type='upper', swap='')
116
+ },
117
+ skeleton_info={
118
+ 0: dict(link=('neck', 'right_shoulder'), id=0, color=[255, 128, 0]),
119
+ 1: dict(
120
+ link=('right_shoulder', 'right_elbow'), id=1, color=[255, 128, 0]),
121
+ 2:
122
+ dict(link=('right_elbow', 'right_wrist'), id=2, color=[255, 128, 0]),
123
+ 3: dict(link=('neck', 'left_shoulder'), id=3, color=[0, 255, 0]),
124
+ 4: dict(link=('left_shoulder', 'left_elbow'), id=4, color=[0, 255, 0]),
125
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
126
+ 6: dict(link=('root', 'right_hip'), id=6, color=[255, 128, 0]),
127
+ 7: dict(link=('right_hip', 'right_knee'), id=7, color=[255, 128, 0]),
128
+ 8: dict(link=('right_knee', 'right_ankle'), id=8, color=[255, 128, 0]),
129
+ 9: dict(link=('root', 'left_hip'), id=9, color=[0, 255, 0]),
130
+ 10: dict(link=('left_hip', 'left_knee'), id=10, color=[0, 255, 0]),
131
+ 11: dict(link=('left_knee', 'left_ankle'), id=11, color=[0, 255, 0]),
132
+ 12: dict(link=('head_top', 'head'), id=12, color=[51, 153, 255]),
133
+ 13: dict(link=('head', 'neck'), id=13, color=[51, 153, 255]),
134
+ 14: dict(link=('neck', 'spine'), id=14, color=[51, 153, 255]),
135
+ 15: dict(link=('spine', 'root'), id=15, color=[51, 153, 255])
136
+ },
137
+ joint_weights=[1.] * 17,
138
+ sigmas=[])
configs/_base_/datasets/mpii.py ADDED
@@ -0,0 +1,161 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Copyright (c) Meta Platforms, Inc. and affiliates.
2
+ # All rights reserved.
3
+ #
4
+ # This source code is licensed under the license found in the
5
+ # LICENSE file in the root directory of this source tree.
6
+
7
+ dataset_info = dict(
8
+ dataset_name='mpii',
9
+ paper_info=dict(
10
+ author='Mykhaylo Andriluka and Leonid Pishchulin and '
11
+ 'Peter Gehler and Schiele, Bernt',
12
+ title='2D Human Pose Estimation: New Benchmark and '
13
+ 'State of the Art Analysis',
14
+ container='IEEE Conference on Computer Vision and '
15
+ 'Pattern Recognition (CVPR)',
16
+ year='2014',
17
+ homepage='http://human-pose.mpi-inf.mpg.de/',
18
+ ),
19
+ keypoint_info={
20
+ 0:
21
+ dict(
22
+ name='right_ankle',
23
+ id=0,
24
+ color=[255, 128, 0],
25
+ type='lower',
26
+ swap='left_ankle'),
27
+ 1:
28
+ dict(
29
+ name='right_knee',
30
+ id=1,
31
+ color=[255, 128, 0],
32
+ type='lower',
33
+ swap='left_knee'),
34
+ 2:
35
+ dict(
36
+ name='right_hip',
37
+ id=2,
38
+ color=[255, 128, 0],
39
+ type='lower',
40
+ swap='left_hip'),
41
+ 3:
42
+ dict(
43
+ name='left_hip',
44
+ id=3,
45
+ color=[0, 255, 0],
46
+ type='lower',
47
+ swap='right_hip'),
48
+ 4:
49
+ dict(
50
+ name='left_knee',
51
+ id=4,
52
+ color=[0, 255, 0],
53
+ type='lower',
54
+ swap='right_knee'),
55
+ 5:
56
+ dict(
57
+ name='left_ankle',
58
+ id=5,
59
+ color=[0, 255, 0],
60
+ type='lower',
61
+ swap='right_ankle'),
62
+ 6:
63
+ dict(name='pelvis', id=6, color=[51, 153, 255], type='lower', swap=''),
64
+ 7:
65
+ dict(name='thorax', id=7, color=[51, 153, 255], type='upper', swap=''),
66
+ 8:
67
+ dict(
68
+ name='upper_neck',
69
+ id=8,
70
+ color=[51, 153, 255],
71
+ type='upper',
72
+ swap=''),
73
+ 9:
74
+ dict(
75
+ name='head_top', id=9, color=[51, 153, 255], type='upper',
76
+ swap=''),
77
+ 10:
78
+ dict(
79
+ name='right_wrist',
80
+ id=10,
81
+ color=[255, 128, 0],
82
+ type='upper',
83
+ swap='left_wrist'),
84
+ 11:
85
+ dict(
86
+ name='right_elbow',
87
+ id=11,
88
+ color=[255, 128, 0],
89
+ type='upper',
90
+ swap='left_elbow'),
91
+ 12:
92
+ dict(
93
+ name='right_shoulder',
94
+ id=12,
95
+ color=[255, 128, 0],
96
+ type='upper',
97
+ swap='left_shoulder'),
98
+ 13:
99
+ dict(
100
+ name='left_shoulder',
101
+ id=13,
102
+ color=[0, 255, 0],
103
+ type='upper',
104
+ swap='right_shoulder'),
105
+ 14:
106
+ dict(
107
+ name='left_elbow',
108
+ id=14,
109
+ color=[0, 255, 0],
110
+ type='upper',
111
+ swap='right_elbow'),
112
+ 15:
113
+ dict(
114
+ name='left_wrist',
115
+ id=15,
116
+ color=[0, 255, 0],
117
+ type='upper',
118
+ swap='right_wrist')
119
+ },
120
+ skeleton_info={
121
+ 0:
122
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
123
+ 1:
124
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
125
+ 2:
126
+ dict(link=('right_hip', 'pelvis'), id=2, color=[255, 128, 0]),
127
+ 3:
128
+ dict(link=('pelvis', 'left_hip'), id=3, color=[0, 255, 0]),
129
+ 4:
130
+ dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
131
+ 5:
132
+ dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
133
+ 6:
134
+ dict(link=('pelvis', 'thorax'), id=6, color=[51, 153, 255]),
135
+ 7:
136
+ dict(link=('thorax', 'upper_neck'), id=7, color=[51, 153, 255]),
137
+ 8:
138
+ dict(link=('upper_neck', 'head_top'), id=8, color=[51, 153, 255]),
139
+ 9:
140
+ dict(link=('upper_neck', 'right_shoulder'), id=9, color=[255, 128, 0]),
141
+ 10:
142
+ dict(
143
+ link=('right_shoulder', 'right_elbow'), id=10, color=[255, 128,
144
+ 0]),
145
+ 11:
146
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
147
+ 12:
148
+ dict(link=('upper_neck', 'left_shoulder'), id=12, color=[0, 255, 0]),
149
+ 13:
150
+ dict(link=('left_shoulder', 'left_elbow'), id=13, color=[0, 255, 0]),
151
+ 14:
152
+ dict(link=('left_elbow', 'left_wrist'), id=14, color=[0, 255, 0])
153
+ },
154
+ joint_weights=[
155
+ 1.5, 1.2, 1., 1., 1.2, 1.5, 1., 1., 1., 1., 1.5, 1.2, 1., 1., 1.2, 1.5
156
+ ],
157
+ # Adapted from COCO dataset.
158
+ sigmas=[
159
+ 0.089, 0.083, 0.107, 0.107, 0.083, 0.089, 0.026, 0.026, 0.026, 0.026,
160
+ 0.062, 0.072, 0.179, 0.179, 0.072, 0.062
161
+ ])