Creador301 commited on
Commit
96a77f4
·
verified ·
1 Parent(s): 59f9799

Upload 579 files

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. SDPose-Wholebody/README.md +137 -0
  2. SDPose-Wholebody/SDPose-OOD-main/LICENSE +21 -0
  3. SDPose-Wholebody/SDPose-OOD-main/README.md +319 -0
  4. SDPose-Wholebody/SDPose-OOD-main/assets/examples/Anime.png +3 -0
  5. SDPose-Wholebody/SDPose-OOD-main/assets/examples/COCOOOD_Dataset.png +3 -0
  6. SDPose-Wholebody/SDPose-OOD-main/assets/examples/Teaser.png +3 -0
  7. SDPose-Wholebody/SDPose-OOD-main/assets/logo/logo.png +3 -0
  8. SDPose-Wholebody/SDPose-OOD-main/assets/video_demos/hongxia.gif +3 -0
  9. SDPose-Wholebody/SDPose-OOD-main/assets/video_demos/laoba.gif +3 -0
  10. SDPose-Wholebody/SDPose-OOD-main/assets/video_demos/nina.gif +3 -0
  11. SDPose-Wholebody/SDPose-OOD-main/assets/video_demos/xiduo.gif +3 -0
  12. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/300w.py +140 -0
  13. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/aic.cpython-312.pyc +0 -0
  14. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/coco.cpython-312.pyc +0 -0
  15. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/coco_wholebody.cpython-312.pyc +0 -0
  16. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/crowdpose.cpython-312.pyc +0 -0
  17. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/goliath.cpython-312.pyc +0 -0
  18. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/goliath3d.cpython-312.pyc +0 -0
  19. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/mpii.cpython-312.pyc +0 -0
  20. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/aflw.py +50 -0
  21. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/aic.py +146 -0
  22. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/aic2coco.py +187 -0
  23. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/aic2goliath.py +11 -0
  24. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/aic2goliath3d.py +11 -0
  25. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/ak.py +273 -0
  26. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/animalpose.py +172 -0
  27. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/ap10k.py +148 -0
  28. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/atrw.py +150 -0
  29. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/campus.py +157 -0
  30. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/coco.py +187 -0
  31. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/coco_openpose.py +163 -0
  32. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/coco_wholebody.py +1160 -0
  33. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/coco_wholebody2goliath.py +11 -0
  34. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/coco_wholebody2goliath3d.py +11 -0
  35. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/coco_wholebody_face.py +160 -0
  36. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/coco_wholebody_hand.py +153 -0
  37. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/coco_wholebody_openpose.py +1034 -0
  38. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/cofw.py +63 -0
  39. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/crowdpose.py +153 -0
  40. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/crowdpose2coco.py +187 -0
  41. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/crowdpose2goliath.py +11 -0
  42. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/crowdpose2goliath3d.py +11 -0
  43. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/deepfashion2.py +2666 -0
  44. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/deepfashion_full.py +80 -0
  45. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/deepfashion_lower.py +52 -0
  46. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/deepfashion_upper.py +66 -0
  47. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/fly.py +243 -0
  48. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/freihand2d.py +150 -0
  49. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/goliath.py +0 -0
  50. SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/goliath3d.py +2131 -0
SDPose-Wholebody/README.md ADDED
@@ -0,0 +1,137 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language: en
3
+ license: mit
4
+ tags:
5
+ - pose-estimation
6
+ - computer-vision
7
+ - keypoint-detection
8
+ - diffusion-models
9
+ - stable-diffusion
10
+ - out-of-distribution
11
+ - human-pose
12
+ - top-down-pose-estimation
13
+ - coco
14
+ - mmpose
15
+ library_name: pytorch
16
+ ---
17
+
18
+ # SDPose: Exploiting Diffusion Priors for Out-of-Domain and Robust Pose Estimation (WholeBody - 133 Keypoints)
19
+
20
+ <div align="center">
21
+
22
+ [![Paper](https://img.shields.io/badge/arXiv-Paper-b31b1b?logo=arxiv&logoColor=white)](https://arxiv.org/abs/2509.24980)
23
+ [![Project Page](https://img.shields.io/badge/Project-Website-pink?logo=googlechrome&logoColor=white)](https://t-s-liang.github.io/SDPose)
24
+ [![HuggingFace Demo](https://img.shields.io/badge/🤗%20HuggingFace-Demo-yellow)](https://huggingface.co/spaces/teemosliang/SDPose-Body)
25
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
26
+
27
+ </div>
28
+
29
+ ## Model Description
30
+
31
+ **SDPose** is a state-of-the-art human pose estimation model that leverages the powerful visual priors from **Stable Diffusion** to achieve exceptional performance on out-of-distribution (OOD) scenarios. This model variant estimates **133 wholebody keypoints,** including body, hands, face, feet.
32
+
33
+ ### Model Architecture
34
+
35
+ SDPose employs a **U-Net backbone** initialized with Stable Diffusion v2 weights, combined with a specialized heatmap head for keypoint prediction. The model operates in a top-down manner:
36
+
37
+ 1. **Person Detection**: Detect human bounding boxes using an object detector (e.g., YOLO11-x)
38
+ 2. **Pose Estimation**: Crop and estimate 17 body keypoints for each detected person
39
+ 3. **Heatmap Generation**: Produce confidence heatmaps for precise keypoint estimation
40
+
41
+ **Model Specifications:**
42
+ - **Backbone**: Stable Diffusion v2 U-Net (fine-tuned; minimal architectural changes)
43
+ - **Head**: Custom heatmap prediction head
44
+ - **Input Resolution**: 1024×768 (H×W)
45
+ - **Output**: 133 keypoint heatmaps + coordinates with confidence scores
46
+ - **Framework**: MMPose
47
+
48
+ ## Supported Keypoints (COCO Wholebody Format)
49
+
50
+ The model predicts 133 body keypoints following the COCO Wholebody keypoint format.
51
+
52
+ <p align="center">
53
+ <img src="assets/wholebody_anno.png" width="600"/>
54
+ </p>
55
+
56
+ ## Intended Use
57
+
58
+ - Human pose estimation in natural images
59
+ - Pose estimation in artistic and stylized domains (paintings, anime, sketches)
60
+ - Animation and video pose tracking
61
+ - Cross-domain pose analysis and research
62
+ - Applications requiring robust pose estimation under distribution shifts
63
+
64
+ ## How to Use
65
+
66
+ ### Installation
67
+
68
+ ```bash
69
+ # Clone the repository
70
+ git clone https://github.com/t-s-liang/SDPose-OOD.git
71
+ cd SDPose-OOD
72
+
73
+ # Install dependencies
74
+ pip install -r requirements.txt
75
+ # Download YOLO11-x for human detection
76
+ wget https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x.pt -P models/
77
+
78
+ # Launch Gradio interface
79
+ cd gradio_app
80
+ bash launch_gradio.sh
81
+ ```
82
+
83
+ ## Training Data
84
+
85
+ ### Datasets
86
+
87
+ Trained exclusively on COCO-2017 train2017 (no extra data).
88
+
89
+ - **COCO-Wholebody (Common Objects in Context)**: 200K+ images with 133 wholebody keypoints
90
+
91
+ ### Preprocessing
92
+
93
+ - Images are resized and cropped to 1024×768 resolution
94
+ - Augmentation: random horizontal flip, half-body & bbox transforms, UDP affine; Albumentations (Gaussian/Median blur, coarse dropout).
95
+ - Heatmaps: UDP codec (MMPose style).
96
+
97
+ ### Comparison with Baselines
98
+
99
+ SDPose significantly outperforms traditional pose estimation models (e.g., Sapiens) on out-of-distribution benchmarks while maintaining competitive performance on in-domain data.
100
+
101
+ See our [paper](https://arxiv.org/abs/2509.24980) for comprehensive evaluation results.
102
+
103
+ ## Citation
104
+
105
+ If you use SDPose in your research, please cite our paper:
106
+
107
+ ```bibtex
108
+ @misc{liang2025sdposeexploitingdiffusionpriors,
109
+ title={SDPose: Exploiting Diffusion Priors for Out-of-Domain and Robust Pose Estimation},
110
+ author={Shuang Liang and Jing He and Chuanmeizhi Wang and Lejun Liao and Guo Zhang and Yingcong Chen and Yuan Yuan},
111
+ year={2025},
112
+ eprint={2509.24980},
113
+ archivePrefix={arXiv},
114
+ primaryClass={cs.CV},
115
+ url={https://arxiv.org/abs/2509.24980},
116
+ }
117
+ ```
118
+
119
+ ## License
120
+
121
+ This model is released under the [MIT License](https://opensource.org/licenses/MIT).
122
+
123
+ ## Additional Resources
124
+
125
+ - 🌐 **Project Website**: [https://t-s-liang.github.io/SDPose](https://t-s-liang.github.io/SDPose)
126
+ - 📄 **Paper**: [arXiv:2509.24980](https://arxiv.org/abs/2509.24980)
127
+ - 💻 **Code Repository**: [GitHub](https://github.com/t-s-liang/SDPose-OOD)
128
+ - 🤗 **Demo**: [HuggingFace Space](https://huggingface.co/spaces/teemosliang/SDPose-Body)
129
+ - 📧 **Contact**: tsliang2001@gmail.com
130
+
131
+ ---
132
+
133
+ <div align="center">
134
+
135
+ **⭐ Star us on GitHub — it motivates us a lot!**
136
+
137
+ </div>
SDPose-Wholebody/SDPose-OOD-main/LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2025 S. Liang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
SDPose-Wholebody/SDPose-OOD-main/README.md ADDED
@@ -0,0 +1,319 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div align="center">
2
+
3
+ <img src="assets/logo/logo.png" width="200">
4
+
5
+ # SDPose: Exploiting Diffusion Priors for Out-of-Domain and Robust Pose Estimation
6
+
7
+ [![Page](https://img.shields.io/badge/Project-Website-pink?logo=googlechrome&logoColor=white)](https://t-s-liang.github.io/SDPose)
8
+ [![Paper](https://img.shields.io/badge/arXiv-Paper-b31b1b?logo=arxiv&logoColor=white)](https://arxiv.org/pdf/2509.24980v2)
9
+ [![HuggingFace Model](https://img.shields.io/badge/🤗%20Model-Body-blue)](https://huggingface.co/teemosliang/SDPose-Body)
10
+ [![HuggingFace Model](https://img.shields.io/badge/🤗%20Model-Wholebody-blue)](https://huggingface.co/teemosliang/SDPose-Wholebody)
11
+ [![HuggingFace Space](https://img.shields.io/badge/🤗%20Space-Demo-yellow)](https://huggingface.co/spaces/teemosliang/SDPose)
12
+ [![ComfyUI Node](https://img.shields.io/badge/ComfyUI-SDPose--OOD-blue)](https://github.com/judian17/ComfyUI-SDPose-OOD)
13
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)
14
+
15
+ [Shuang Liang](https://t-s-liang.github.io)<sup>1,4*</sup>,
16
+ [Jing He](https://scholar.google.com/citations?hl=en&user=RsLS11MAAAAJ)<sup>3</sup>,
17
+ Chuanmeizhi Wang<sup>1</sup>,
18
+ Lejun Liao<sup>2</sup>,
19
+ Guo Zhang<sup>1</sup>,
20
+ [Ying-Cong Chen](https://www.yingcong.me/)<sup>3,5</sup>
21
+ [Yuan Yuan](https://yyuanad.github.io/)<sup>2†</sup>
22
+
23
+ <sup>1</sup>Rama Alpaca Technology Company, <sup>2</sup>Boston College, <sup>3</sup>HKUST(GZ), <sup>4</sup>The University of Hong Kong, <sup>5</sup>HKUST
24
+
25
+ <sup>*</sup>Work done during an internship at Rama Alpaca Technology. <sup>†</sup>Corresponding author.
26
+
27
+ </div>
28
+
29
+ ---
30
+
31
+ ## 📢 News
32
+ - **[2025-Dec-03]** 📄 Revised version of our paper released on [arXiv](https://arxiv.org/pdf/2509.24980v2).
33
+ - **[2025-Oct-28]** 🧩 **ComfyUI node of SDPose-OOD** is now available! We sincerely thank [@judian17](https://github.com/judian17) and [@Piscesbody](https://github.com/Piscesbody) for their excellent contribution in developing this ComfyUI node, which enables downstream ComfyUI workflows and helps more people explore and apply our work. 🔗 Check it out here: [**ComfyUI-SDPose-OOD**](https://github.com/judian17/ComfyUI-SDPose-OOD)
34
+ - **[2025-Oct-14]** 🚀 **Wholebody model** and **Huggingface Space Demo** released! You can now run SDPose demos in our Huggingface space! Check out our [🤗 SDPose Huggingface Space](https://huggingface.co/spaces/teemosliang/SDPose) and [🤗 SDPose-Wholebody Model Repository](https://huggingface.co/teemosliang/SDPose-Wholebody).
35
+ - **[2025-Oct-13]** 🚀 **Gradio local deployment script** released! You can now run SDPose demos locally on your machine.
36
+ - **[2025-Oct-12]** 🎉 **Body model**, **COCO-OOD validation Benchmark** and **inference code** released! Check out our [🤗 SDPose-Body Model Repository](https://huggingface.co/teemosliang/SDPose-Body).
37
+ - **[2025-Sep-29]** 📄 Paper released on [arXiv](https://arxiv.org/abs/2509.24980).
38
+
39
+ ### 🚀 Coming Soon
40
+ - [ ] We plan to release the training scripts upon the acceptance of the paper.
41
+ - [x] **HuggingFace space demo** release
42
+ - [x] **WholeBody model** release
43
+ - [x] **Gradio local deployment script** release
44
+ - [x] **Body model** and **Inference code** release
45
+ - [x] **COCO-OOD Validation Benchmark** release
46
+ ---
47
+
48
+ ## 🔥 Highlights
49
+
50
+ **SDPose** leverages the powerful visual priors from **Stable Diffusion** to achieve state-of-the-art performance in:
51
+
52
+ - ✅ **Out-of-Domain (OOD) Generalization**: Superior performance on unseen domains without fine-tuning
53
+ - ✅ **Robust Pose Estimation**: Handles challenging scenarios including occlusions, rare poses, and artistic styles
54
+ - ✅ **Body & Wholebody Support**: Supports both body keypoints (17) and wholebody keypoints (133)
55
+
56
+ ---
57
+
58
+ ## 🎬 Demo: Animation Video Pose Estimation in the Wild
59
+
60
+ **SDPose** demonstrates robust performance on animation videos.
61
+ <table>
62
+ <tr>
63
+ <td align="center">
64
+ <div style="height:220px; aspect-ratio:4/3; border-radius:10px; overflow:hidden;">
65
+ <img src="assets/video_demos/hongxia.gif" style="width:100%; height:100%; object-fit:cover; display:block;">
66
+ </div>
67
+ </td>
68
+ <td align="center">
69
+ <div style="height:220px; aspect-ratio:4/3; border-radius:10px; overflow:hidden;">
70
+ <img src="assets/video_demos/laoba.gif" style="width:100%; height:100%; object-fit:cover; display:block;">
71
+ </div>
72
+ </td>
73
+ <td align="center">
74
+ <div style="height:220px; aspect-ratio:4/3; border-radius:10px; overflow:hidden;">
75
+ <img src="assets/video_demos/nina.gif" style="width:100%; height:100%; object-fit:cover; display:block;">
76
+ </div>
77
+ </td>
78
+ <td align="center">
79
+ <div style="height:220px; aspect-ratio:4/3; border-radius:10px; overflow:hidden;">
80
+ <img src="assets/video_demos/xiduo.gif" style="width:100%; height:100%; object-fit:cover; display:block;">
81
+ </div>
82
+ </td>
83
+ </tr>
84
+ </table>
85
+
86
+
87
+
88
+ > 💡 **Tip**: For more interactive demos and real-time inference, check out our [🤗 HuggingFace Spaces](https://huggingface.co/spaces/teemosliang/SDPose-Body)!
89
+
90
+ ---
91
+
92
+ ## 🎨 Visualization
93
+
94
+ ### Body Pose Estimation (17 Keypoints)
95
+
96
+ <div align="center">
97
+ <img src="assets/examples/Teaser.png" width="100%">
98
+ </div>
99
+
100
+ ### Wholebody Pose Estimation (133 Keypoints)
101
+
102
+ <div align="center">
103
+ <img src="assets/examples/Anime.png" width="100%">
104
+ </div>
105
+
106
+ ---
107
+
108
+ ## 🛠️ Setup
109
+
110
+ ### Installation
111
+
112
+ 1. **Clone the repository**
113
+
114
+ ```bash
115
+ git clone https://github.com/t-s-liang/SDPose-OOD.git
116
+ cd SDPose-OOD
117
+ ```
118
+
119
+ 2. **Create a conda environment**
120
+
121
+ ```bash
122
+ conda create -n SDPose python=3.10
123
+ conda activate SDPose
124
+ ```
125
+
126
+ 3. **Install dependencies**
127
+
128
+ ```bash
129
+ pip install -r requirements.txt
130
+ ```
131
+
132
+ ### Download Pre-trained Models
133
+
134
+ Download the pre-trained **Body model** checkpoint from our HuggingFace Model repository:
135
+
136
+ **🤗 [SDPose-Body Model](https://huggingface.co/teemosliang/SDPose-Body)**
137
+ **🤗 [SDPose-Wholebody Model](https://huggingface.co/teemosliang/SDPose-Wholebody)**
138
+ The model repository contains the checkpoint files and detailed usage instructions.
139
+
140
+ ## 🤗 Gradio Demo
141
+
142
+ We provide interactive **Gradio demos** on HuggingFace Spaces:
143
+
144
+ - 🤗 **[SDPose Huggingface Space Demo](https://huggingface.co/spaces/teemosliang/SDPose)**
145
+
146
+ ### Run Gradio Demo Locally
147
+
148
+ You can now run the Gradio demo on your local machine!
149
+
150
+ #### Prerequisites
151
+
152
+ Since SDPose is a **top-down pose estimation** method, it requires an object detection model to detect humans in the image first. We recommend using **YOLO11-x** for robust human detection:
153
+
154
+ **Download YOLO11-x model:**
155
+ ```bash
156
+ # Download the YOLO11-x pretrained model
157
+ wget https://github.com/ultralytics/assets/releases/download/v8.3.0/yolo11x.pt -P models/
158
+ ```
159
+
160
+ #### Launch Gradio App
161
+
162
+ ```bash
163
+ cd gradio_app
164
+ bash launch_gradio.sh
165
+ ```
166
+
167
+ The Gradio interface will be available at `http://localhost:7860` (or the port specified in the launch script).
168
+
169
+ ---
170
+
171
+ ## 🕹️ Inference
172
+
173
+ ### Evaluation
174
+
175
+ Use the provided evaluation script to run inference on standard pose estimation benchmarks.
176
+
177
+ #### Configuration
178
+
179
+ Edit `scripts/eval.sh` to configure the evaluation parameters:
180
+
181
+ ```bash
182
+ # Dataset settings
183
+ dataset_name='COCO' # Dataset name: COCO, HumanArt, etc.
184
+ keypoint_scheme='body' # 'body' (17 keypoints) or 'wholebody' (133 keypoints)
185
+ dataset_root='/path/to/datasets' # Root directory of datasets
186
+ ann_file='/path/to/annotation.json' # Annotation file path
187
+
188
+ # Model settings
189
+ checkpoint_path='/path/to/checkpoint' # Path to SDPose checkpoint
190
+
191
+ # Inference settings
192
+ eval_batch_size=16 # Batch size per GPU
193
+ dataloader_num_workers=16 # Number of data loading workers
194
+ ```
195
+ #### Dataset Preparation and Evaluation
196
+
197
+ For COCO evaluation, please download the precomputed person detection bounding boxes from:
198
+ https://huggingface.co/noahcao/sapiens-pose-coco/tree/main/sapiens_host/pose/person_detection_results
199
+
200
+ These detection results are required for evaluation under the top-down protocol on COCO, COCO-OOD, and COCO-WholeBody.
201
+
202
+ The expected directory structure is:
203
+ ```bash
204
+ ${DATASET_ROOT}/
205
+
206
+ ├── COCO/
207
+ │ ├── annotations/
208
+ │ │ ├── person_keypoints_train2017.json
209
+ │ │ ├── person_keypoints_val2017.json
210
+ │ │ ├── coco_wholebody_train_v1.0.json
211
+ │ │ └── coco_wholebody_val_v1.0.json
212
+ │ │
213
+ │ ├── train2017/
214
+ │ ├── val2017/
215
+ │ ├── val2017oil/
216
+ │ └── person_detection_results/
217
+ │ └── COCO_val2017_detections_AP_H_70_person.json
218
+
219
+ └── HumanArt/
220
+ ├── annotations/
221
+ │ └── validation_humanart.json
222
+ └── images/
223
+
224
+ When running evaluation, the dataloader will automatically locate the correct annotation and bounding box files based on the specified dataset name:
225
+ - COCO → standard COCO validation
226
+ - COCO_OOD → COCO stylized (val2017oil)
227
+ - COCOWholebody → COCO-WholeBody validation
228
+ - COCO-OOD_Wholebody → COCO-WholeBody OOD validation
229
+ - HumanArt → HumanArt validation set
230
+ ```
231
+
232
+ #### Run Evaluation
233
+
234
+ ```bash
235
+ cd scripts
236
+ bash eval.sh
237
+ ```
238
+
239
+ This will:
240
+ 1. Load the SDPose model from the checkpoint
241
+ 2. Run inference on the specified dataset
242
+ 3. Compute evaluation metrics (AP, AR, etc.)
243
+ 4. Print results to console
244
+
245
+ ---
246
+
247
+ ## 📊 COCO-OOD Dataset
248
+
249
+ <div align="center">
250
+ <img src="assets/examples/COCOOOD_Dataset.png" width="80%">
251
+ </div>
252
+
253
+ To complement the HumanArt dataset and enable OOD evaluation under matched content and labels, we constructed **COCO-OOD** by applying artistic style transfer to the original COCO images.
254
+
255
+ ### Dataset Construction
256
+
257
+ We adopt the official [CycleGAN](https://github.com/junyanz/CycleGAN) and [StyTR2](https://github.com/diyiiyiii/StyTR-2) framework to perform image-to-image translation from the COCO domain (natural photographs) to the target domain of Ukiyo-e and Monet-style paintings. During conversion, all validation images in COCO are processed to produce style-transferred counterparts, while preserving their original human annotations (bounding boxes, keypoints). This yields an OOD variant of COCO in which the underlying scene structure is unchanged, but the texture, color palette, and brushstroke patterns are consistent with oil/ukiyo-e artistic style. We also utilize Nano-banana as a style transfer tool to produce color sketch versions of COCO-OOD.
258
+
259
+ Importantly, for fair comparison and to avoid introducing priors from large-scale pretrained diffusion models, we intentionally adopt the earlier StyTR2 and CycleGAN framework rather than more recent style transfer methods. Such stylization introduces a significant appearance shift while keeping pose-related geometric information intact, making it suitable for robust pose estimation evaluation.
260
+
261
+ ### Download
262
+
263
+ 📥 **[Download COCO-OOD Dataset](https://drive.google.com/file/d/1T38S8gP406FGAoDmYv7eeThMWRLi3DkR/view)** from Google Drive
264
+
265
+ ---
266
+
267
+ ## 🎓 Citation
268
+
269
+ If you find SDPose useful in your research, please consider citing:
270
+
271
+ ```bibtex
272
+ @misc{liang2025sdposeexploitingdiffusionpriors,
273
+ title={SDPose: Exploiting Diffusion Priors for Out-of-Domain and Robust Pose Estimation},
274
+ author={Shuang Liang and Jing He and Chuanmeizhi Wang and Lejun Liao and Guo Zhang and Yingcong Chen and Yuan Yuan},
275
+ year={2025},
276
+ eprint={2509.24980},
277
+ archivePrefix={arXiv},
278
+ primaryClass={cs.CV},
279
+ url={https://arxiv.org/abs/2509.24980},
280
+ }
281
+ ```
282
+
283
+ ---
284
+
285
+ ## 📄 License
286
+
287
+ This project is released under the [MIT License](LICENSE).
288
+
289
+ ---
290
+
291
+ ## 🙏 Acknowledgements
292
+
293
+ This project is built upon the following excellent open-source projects:
294
+
295
+ - [MMPose](https://github.com/open-mmlab/mmpose): OpenMMLab pose estimation toolbox
296
+ - [Diffusers](https://github.com/huggingface/diffusers): HuggingFace diffusion models library
297
+ - [Marigold](https://github.com/prs-eth/marigold): Diffusion-based depth estimation
298
+ - [Lotus](https://github.com/EnVision-Research/Lotus): Diffusion-based dense prediction
299
+ - [Stable Diffusion](https://github.com/Stability-AI/stablediffusion): Latent diffusion models
300
+ - [CycleGAN](https://github.com/junyanz/CycleGAN): Style Transfer for the COCO-OOD Ukiyo-e variant.
301
+ - [StyTR2](https://github.com/diyiiyiii/StyTR-2): Style Transfer for the COCO-OOD Monet-oil variant.
302
+ ---
303
+
304
+ ## 📧 Contact
305
+
306
+ For questions, suggestions, or collaboration inquiries:
307
+
308
+ - **Shuang Liang**: [tsliang2001@gmail.com](mailto:tsliang2001@gmail.com)
309
+ - **Project Page**: [https://t-s-liang.github.io/SDPose](https://t-s-liang.github.io/SDPose)
310
+
311
+ ---
312
+
313
+ <div align="center">
314
+
315
+ **⭐ Star us on GitHub - it motivates us a lot!**
316
+
317
+ [🌐 Website](https://t-s-liang.github.io/SDPose) | [📄 Paper](https://arxiv.org/abs/2509.24980) | [🤗 Model-Body](https://huggingface.co/teemosliang/SDPose-Body) | [🤗 Model-Wholebody](https://huggingface.co/teemosliang/SDPose-Wholebody) | [🤗 Demo](https://huggingface.co/spaces/teemosliang/SDPose)
318
+
319
+ </div>
SDPose-Wholebody/SDPose-OOD-main/assets/examples/Anime.png ADDED

Git LFS Details

  • SHA256: 12f672bc5f76ecf51b4d6fc3a6501abc997dea77b53f3e1268575bb0da6478ba
  • Pointer size: 132 Bytes
  • Size of remote file: 6.28 MB
SDPose-Wholebody/SDPose-OOD-main/assets/examples/COCOOOD_Dataset.png ADDED

Git LFS Details

  • SHA256: b660ef06b5f39f724e59bc31788b77df9f92193a756c6063f54646735286b522
  • Pointer size: 132 Bytes
  • Size of remote file: 1.09 MB
SDPose-Wholebody/SDPose-OOD-main/assets/examples/Teaser.png ADDED

Git LFS Details

  • SHA256: 5aa192f8fe638e3a4b4ca46878d3f9425a00e0c0373a97f87c2ca553074e1f51
  • Pointer size: 132 Bytes
  • Size of remote file: 4.97 MB
SDPose-Wholebody/SDPose-OOD-main/assets/logo/logo.png ADDED

Git LFS Details

  • SHA256: 736d4218e353cfe716d6c3d89c7f613abbedb4c28cf8f691f987a09b7269ceec
  • Pointer size: 132 Bytes
  • Size of remote file: 1 MB
SDPose-Wholebody/SDPose-OOD-main/assets/video_demos/hongxia.gif ADDED

Git LFS Details

  • SHA256: e0eaea0f881c8cdaf677bac0b421e9213cbe311d1f845b39c4b9144f7e2f9240
  • Pointer size: 132 Bytes
  • Size of remote file: 4.76 MB
SDPose-Wholebody/SDPose-OOD-main/assets/video_demos/laoba.gif ADDED

Git LFS Details

  • SHA256: 1a7919a5833cb3c4374a00a50d0e8f8450735a4ead1d8b7d9c5c475713d7bc95
  • Pointer size: 132 Bytes
  • Size of remote file: 8.74 MB
SDPose-Wholebody/SDPose-OOD-main/assets/video_demos/nina.gif ADDED

Git LFS Details

  • SHA256: eee3529c38802c66c477c4e670e2ee0109588d94db46f254f28f6c1cd29a627c
  • Pointer size: 132 Bytes
  • Size of remote file: 8.05 MB
SDPose-Wholebody/SDPose-OOD-main/assets/video_demos/xiduo.gif ADDED

Git LFS Details

  • SHA256: 9865d73e6345dd74dee0beb1d1ccf3185cd43fb0d318db1d0efc2a13c5c6cb74
  • Pointer size: 132 Bytes
  • Size of remote file: 5.09 MB
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/aic.cpython-312.pyc ADDED
Binary file (2.92 kB). View file
 
SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/coco.cpython-312.pyc ADDED
Binary file (3.79 kB). View file
 
SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/coco_wholebody.cpython-312.pyc ADDED
Binary file (17.8 kB). View file
 
SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/crowdpose.cpython-312.pyc ADDED
Binary file (3.02 kB). View file
 
SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/goliath.cpython-312.pyc ADDED
Binary file (70.6 kB). View file
 
SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/goliath3d.cpython-312.pyc ADDED
Binary file (50.2 kB). View file
 
SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/__pycache__/mpii.cpython-312.pyc ADDED
Binary file (3.28 kB). View file
 
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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'
SDPose-Wholebody/SDPose-OOD-main/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'
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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'
SDPose-Wholebody/SDPose-OOD-main/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'
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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
+ ])
SDPose-Wholebody/SDPose-OOD-main/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'
SDPose-Wholebody/SDPose-OOD-main/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'
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/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=[])
SDPose-Wholebody/SDPose-OOD-main/configs/_base_/datasets/goliath.py ADDED
The diff for this file is too large to render. See raw diff
 
SDPose-Wholebody/SDPose-OOD-main/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']]