Miroslav Purkrabek commited on
Commit
0efc562
·
1 Parent(s): 44af610
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. CITATION.cff +8 -0
  2. LICENSE +674 -0
  3. LICENSES.md +7 -0
  4. MANIFEST.in +6 -0
  5. README_CN.md +361 -0
  6. configs/_base_/datasets/300w.py +134 -0
  7. configs/_base_/datasets/300wlp.py +86 -0
  8. configs/_base_/datasets/aflw.py +44 -0
  9. configs/_base_/datasets/aic.py +140 -0
  10. configs/_base_/datasets/ak.py +267 -0
  11. configs/_base_/datasets/animalpose.py +166 -0
  12. configs/_base_/datasets/ap10k.py +142 -0
  13. configs/_base_/datasets/atrw.py +144 -0
  14. configs/_base_/datasets/campus.py +151 -0
  15. configs/_base_/datasets/coco.py +181 -0
  16. configs/_base_/datasets/coco_aic.py +205 -0
  17. configs/_base_/datasets/coco_crop.py +178 -0
  18. configs/_base_/datasets/coco_openpose.py +157 -0
  19. configs/_base_/datasets/coco_wholebody.py +1154 -0
  20. configs/_base_/datasets/coco_wholebody_face.py +154 -0
  21. configs/_base_/datasets/coco_wholebody_hand.py +147 -0
  22. configs/_base_/datasets/coco_wholebody_openpose.py +1128 -0
  23. configs/_base_/datasets/cofw.py +57 -0
  24. configs/_base_/datasets/crowdpose.py +147 -0
  25. configs/_base_/datasets/deepfashion2.py +2660 -0
  26. configs/_base_/datasets/deepfashion_full.py +74 -0
  27. configs/_base_/datasets/deepfashion_lower.py +46 -0
  28. configs/_base_/datasets/deepfashion_upper.py +60 -0
  29. configs/_base_/datasets/exlpose.py +125 -0
  30. configs/_base_/datasets/fly.py +237 -0
  31. configs/_base_/datasets/freihand2d.py +144 -0
  32. configs/_base_/datasets/h36m.py +152 -0
  33. configs/_base_/datasets/h3wb.py +1151 -0
  34. configs/_base_/datasets/halpe.py +1157 -0
  35. configs/_base_/datasets/halpe26.py +274 -0
  36. configs/_base_/datasets/horse10.py +201 -0
  37. configs/_base_/datasets/humanart.py +181 -0
  38. configs/_base_/datasets/humanart21.py +218 -0
  39. configs/_base_/datasets/humanart_aic.py +205 -0
  40. configs/_base_/datasets/interhand2d.py +142 -0
  41. configs/_base_/datasets/interhand3d.py +487 -0
  42. configs/_base_/datasets/jhmdb.py +129 -0
  43. configs/_base_/datasets/lapa.py +246 -0
  44. configs/_base_/datasets/locust.py +263 -0
  45. configs/_base_/datasets/macaque.py +183 -0
  46. configs/_base_/datasets/mhp.py +156 -0
  47. configs/_base_/datasets/mpi_inf_3dhp.py +132 -0
  48. configs/_base_/datasets/mpii.py +155 -0
  49. configs/_base_/datasets/mpii_trb.py +380 -0
  50. configs/_base_/datasets/ochuman.py +181 -0
CITATION.cff ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ cff-version: 1.0.0
2
+ message: "If you use this software, please cite it as below."
3
+ authors:
4
+ - name: "Purkrabek, Miroslav and Matas, Jiri"
5
+ title: "ProbPose: A Probabilistic Approach to 2D Human Pose Estimation"
6
+ date-released: 2025-04-09
7
+ url: "https://arxiv.org/abs/2412.02254"
8
+ license: GPL-3.0
LICENSE ADDED
@@ -0,0 +1,674 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ GNU GENERAL PUBLIC LICENSE
2
+ Version 3, 29 June 2007
3
+
4
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
5
+ Everyone is permitted to copy and distribute verbatim copies
6
+ of this license document, but changing it is not allowed.
7
+
8
+ Preamble
9
+
10
+ The GNU General Public License is a free, copyleft license for
11
+ software and other kinds of works.
12
+
13
+ The licenses for most software and other practical works are designed
14
+ to take away your freedom to share and change the works. By contrast,
15
+ the GNU General Public License is intended to guarantee your freedom to
16
+ share and change all versions of a program--to make sure it remains free
17
+ software for all its users. We, the Free Software Foundation, use the
18
+ GNU General Public License for most of our software; it applies also to
19
+ any other work released this way by its authors. You can apply it to
20
+ your programs, too.
21
+
22
+ When we speak of free software, we are referring to freedom, not
23
+ price. Our General Public Licenses are designed to make sure that you
24
+ have the freedom to distribute copies of free software (and charge for
25
+ them if you wish), that you receive source code or can get it if you
26
+ want it, that you can change the software or use pieces of it in new
27
+ free programs, and that you know you can do these things.
28
+
29
+ To protect your rights, we need to prevent others from denying you
30
+ these rights or asking you to surrender the rights. Therefore, you have
31
+ certain responsibilities if you distribute copies of the software, or if
32
+ you modify it: responsibilities to respect the freedom of others.
33
+
34
+ For example, if you distribute copies of such a program, whether
35
+ gratis or for a fee, you must pass on to the recipients the same
36
+ freedoms that you received. You must make sure that they, too, receive
37
+ or can get the source code. And you must show them these terms so they
38
+ know their rights.
39
+
40
+ Developers that use the GNU GPL protect your rights with two steps:
41
+ (1) assert copyright on the software, and (2) offer you this License
42
+ giving you legal permission to copy, distribute and/or modify it.
43
+
44
+ For the developers' and authors' protection, the GPL clearly explains
45
+ that there is no warranty for this free software. For both users' and
46
+ authors' sake, the GPL requires that modified versions be marked as
47
+ changed, so that their problems will not be attributed erroneously to
48
+ authors of previous versions.
49
+
50
+ Some devices are designed to deny users access to install or run
51
+ modified versions of the software inside them, although the manufacturer
52
+ can do so. This is fundamentally incompatible with the aim of
53
+ protecting users' freedom to change the software. The systematic
54
+ pattern of such abuse occurs in the area of products for individuals to
55
+ use, which is precisely where it is most unacceptable. Therefore, we
56
+ have designed this version of the GPL to prohibit the practice for those
57
+ products. If such problems arise substantially in other domains, we
58
+ stand ready to extend this provision to those domains in future versions
59
+ of the GPL, as needed to protect the freedom of users.
60
+
61
+ Finally, every program is threatened constantly by software patents.
62
+ States should not allow patents to restrict development and use of
63
+ software on general-purpose computers, but in those that do, we wish to
64
+ avoid the special danger that patents applied to a free program could
65
+ make it effectively proprietary. To prevent this, the GPL assures that
66
+ patents cannot be used to render the program non-free.
67
+
68
+ The precise terms and conditions for copying, distribution and
69
+ modification follow.
70
+
71
+ TERMS AND CONDITIONS
72
+
73
+ 0. Definitions.
74
+
75
+ "This License" refers to version 3 of the GNU General Public License.
76
+
77
+ "Copyright" also means copyright-like laws that apply to other kinds of
78
+ works, such as semiconductor masks.
79
+
80
+ "The Program" refers to any copyrightable work licensed under this
81
+ License. Each licensee is addressed as "you". "Licensees" and
82
+ "recipients" may be individuals or organizations.
83
+
84
+ To "modify" a work means to copy from or adapt all or part of the work
85
+ in a fashion requiring copyright permission, other than the making of an
86
+ exact copy. The resulting work is called a "modified version" of the
87
+ earlier work or a work "based on" the earlier work.
88
+
89
+ A "covered work" means either the unmodified Program or a work based
90
+ on the Program.
91
+
92
+ To "propagate" a work means to do anything with it that, without
93
+ permission, would make you directly or secondarily liable for
94
+ infringement under applicable copyright law, except executing it on a
95
+ computer or modifying a private copy. Propagation includes copying,
96
+ distribution (with or without modification), making available to the
97
+ public, and in some countries other activities as well.
98
+
99
+ To "convey" a work means any kind of propagation that enables other
100
+ parties to make or receive copies. Mere interaction with a user through
101
+ a computer network, with no transfer of a copy, is not conveying.
102
+
103
+ An interactive user interface displays "Appropriate Legal Notices"
104
+ to the extent that it includes a convenient and prominently visible
105
+ feature that (1) displays an appropriate copyright notice, and (2)
106
+ tells the user that there is no warranty for the work (except to the
107
+ extent that warranties are provided), that licensees may convey the
108
+ work under this License, and how to view a copy of this License. If
109
+ the interface presents a list of user commands or options, such as a
110
+ menu, a prominent item in the list meets this criterion.
111
+
112
+ 1. Source Code.
113
+
114
+ The "source code" for a work means the preferred form of the work
115
+ for making modifications to it. "Object code" means any non-source
116
+ form of a work.
117
+
118
+ A "Standard Interface" means an interface that either is an official
119
+ standard defined by a recognized standards body, or, in the case of
120
+ interfaces specified for a particular programming language, one that
121
+ is widely used among developers working in that language.
122
+
123
+ The "System Libraries" of an executable work include anything, other
124
+ than the work as a whole, that (a) is included in the normal form of
125
+ packaging a Major Component, but which is not part of that Major
126
+ Component, and (b) serves only to enable use of the work with that
127
+ Major Component, or to implement a Standard Interface for which an
128
+ implementation is available to the public in source code form. A
129
+ "Major Component", in this context, means a major essential component
130
+ (kernel, window system, and so on) of the specific operating system
131
+ (if any) on which the executable work runs, or a compiler used to
132
+ produce the work, or an object code interpreter used to run it.
133
+
134
+ The "Corresponding Source" for a work in object code form means all
135
+ the source code needed to generate, install, and (for an executable
136
+ work) run the object code and to modify the work, including scripts to
137
+ control those activities. However, it does not include the work's
138
+ System Libraries, or general-purpose tools or generally available free
139
+ programs which are used unmodified in performing those activities but
140
+ which are not part of the work. For example, Corresponding Source
141
+ includes interface definition files associated with source files for
142
+ the work, and the source code for shared libraries and dynamically
143
+ linked subprograms that the work is specifically designed to require,
144
+ such as by intimate data communication or control flow between those
145
+ subprograms and other parts of the work.
146
+
147
+ The Corresponding Source need not include anything that users
148
+ can regenerate automatically from other parts of the Corresponding
149
+ Source.
150
+
151
+ The Corresponding Source for a work in source code form is that
152
+ same work.
153
+
154
+ 2. Basic Permissions.
155
+
156
+ All rights granted under this License are granted for the term of
157
+ copyright on the Program, and are irrevocable provided the stated
158
+ conditions are met. This License explicitly affirms your unlimited
159
+ permission to run the unmodified Program. The output from running a
160
+ covered work is covered by this License only if the output, given its
161
+ content, constitutes a covered work. This License acknowledges your
162
+ rights of fair use or other equivalent, as provided by copyright law.
163
+
164
+ You may make, run and propagate covered works that you do not
165
+ convey, without conditions so long as your license otherwise remains
166
+ in force. You may convey covered works to others for the sole purpose
167
+ of having them make modifications exclusively for you, or provide you
168
+ with facilities for running those works, provided that you comply with
169
+ the terms of this License in conveying all material for which you do
170
+ not control copyright. Those thus making or running the covered works
171
+ for you must do so exclusively on your behalf, under your direction
172
+ and control, on terms that prohibit them from making any copies of
173
+ your copyrighted material outside their relationship with you.
174
+
175
+ Conveying under any other circumstances is permitted solely under
176
+ the conditions stated below. Sublicensing is not allowed; section 10
177
+ makes it unnecessary.
178
+
179
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
180
+
181
+ No covered work shall be deemed part of an effective technological
182
+ measure under any applicable law fulfilling obligations under article
183
+ 11 of the WIPO copyright treaty adopted on 20 December 1996, or
184
+ similar laws prohibiting or restricting circumvention of such
185
+ measures.
186
+
187
+ When you convey a covered work, you waive any legal power to forbid
188
+ circumvention of technological measures to the extent such circumvention
189
+ is effected by exercising rights under this License with respect to
190
+ the covered work, and you disclaim any intention to limit operation or
191
+ modification of the work as a means of enforcing, against the work's
192
+ users, your or third parties' legal rights to forbid circumvention of
193
+ technological measures.
194
+
195
+ 4. Conveying Verbatim Copies.
196
+
197
+ You may convey verbatim copies of the Program's source code as you
198
+ receive it, in any medium, provided that you conspicuously and
199
+ appropriately publish on each copy an appropriate copyright notice;
200
+ keep intact all notices stating that this License and any
201
+ non-permissive terms added in accord with section 7 apply to the code;
202
+ keep intact all notices of the absence of any warranty; and give all
203
+ recipients a copy of this License along with the Program.
204
+
205
+ You may charge any price or no price for each copy that you convey,
206
+ and you may offer support or warranty protection for a fee.
207
+
208
+ 5. Conveying Modified Source Versions.
209
+
210
+ You may convey a work based on the Program, or the modifications to
211
+ produce it from the Program, in the form of source code under the
212
+ terms of section 4, provided that you also meet all of these conditions:
213
+
214
+ a) The work must carry prominent notices stating that you modified
215
+ it, and giving a relevant date.
216
+
217
+ b) The work must carry prominent notices stating that it is
218
+ released under this License and any conditions added under section
219
+ 7. This requirement modifies the requirement in section 4 to
220
+ "keep intact all notices".
221
+
222
+ c) You must license the entire work, as a whole, under this
223
+ License to anyone who comes into possession of a copy. This
224
+ License will therefore apply, along with any applicable section 7
225
+ additional terms, to the whole of the work, and all its parts,
226
+ regardless of how they are packaged. This License gives no
227
+ permission to license the work in any other way, but it does not
228
+ invalidate such permission if you have separately received it.
229
+
230
+ d) If the work has interactive user interfaces, each must display
231
+ Appropriate Legal Notices; however, if the Program has interactive
232
+ interfaces that do not display Appropriate Legal Notices, your
233
+ work need not make them do so.
234
+
235
+ A compilation of a covered work with other separate and independent
236
+ works, which are not by their nature extensions of the covered work,
237
+ and which are not combined with it such as to form a larger program,
238
+ in or on a volume of a storage or distribution medium, is called an
239
+ "aggregate" if the compilation and its resulting copyright are not
240
+ used to limit the access or legal rights of the compilation's users
241
+ beyond what the individual works permit. Inclusion of a covered work
242
+ in an aggregate does not cause this License to apply to the other
243
+ parts of the aggregate.
244
+
245
+ 6. Conveying Non-Source Forms.
246
+
247
+ You may convey a covered work in object code form under the terms
248
+ of sections 4 and 5, provided that you also convey the
249
+ machine-readable Corresponding Source under the terms of this License,
250
+ in one of these ways:
251
+
252
+ a) Convey the object code in, or embodied in, a physical product
253
+ (including a physical distribution medium), accompanied by the
254
+ Corresponding Source fixed on a durable physical medium
255
+ customarily used for software interchange.
256
+
257
+ b) Convey the object code in, or embodied in, a physical product
258
+ (including a physical distribution medium), accompanied by a
259
+ written offer, valid for at least three years and valid for as
260
+ long as you offer spare parts or customer support for that product
261
+ model, to give anyone who possesses the object code either (1) a
262
+ copy of the Corresponding Source for all the software in the
263
+ product that is covered by this License, on a durable physical
264
+ medium customarily used for software interchange, for a price no
265
+ more than your reasonable cost of physically performing this
266
+ conveying of source, or (2) access to copy the
267
+ Corresponding Source from a network server at no charge.
268
+
269
+ c) Convey individual copies of the object code with a copy of the
270
+ written offer to provide the Corresponding Source. This
271
+ alternative is allowed only occasionally and noncommercially, and
272
+ only if you received the object code with such an offer, in accord
273
+ with subsection 6b.
274
+
275
+ d) Convey the object code by offering access from a designated
276
+ place (gratis or for a charge), and offer equivalent access to the
277
+ Corresponding Source in the same way through the same place at no
278
+ further charge. You need not require recipients to copy the
279
+ Corresponding Source along with the object code. If the place to
280
+ copy the object code is a network server, the Corresponding Source
281
+ may be on a different server (operated by you or a third party)
282
+ that supports equivalent copying facilities, provided you maintain
283
+ clear directions next to the object code saying where to find the
284
+ Corresponding Source. Regardless of what server hosts the
285
+ Corresponding Source, you remain obligated to ensure that it is
286
+ available for as long as needed to satisfy these requirements.
287
+
288
+ e) Convey the object code using peer-to-peer transmission, provided
289
+ you inform other peers where the object code and Corresponding
290
+ Source of the work are being offered to the general public at no
291
+ charge under subsection 6d.
292
+
293
+ A separable portion of the object code, whose source code is excluded
294
+ from the Corresponding Source as a System Library, need not be
295
+ included in conveying the object code work.
296
+
297
+ A "User Product" is either (1) a "consumer product", which means any
298
+ tangible personal property which is normally used for personal, family,
299
+ or household purposes, or (2) anything designed or sold for incorporation
300
+ into a dwelling. In determining whether a product is a consumer product,
301
+ doubtful cases shall be resolved in favor of coverage. For a particular
302
+ product received by a particular user, "normally used" refers to a
303
+ typical or common use of that class of product, regardless of the status
304
+ of the particular user or of the way in which the particular user
305
+ actually uses, or expects or is expected to use, the product. A product
306
+ is a consumer product regardless of whether the product has substantial
307
+ commercial, industrial or non-consumer uses, unless such uses represent
308
+ the only significant mode of use of the product.
309
+
310
+ "Installation Information" for a User Product means any methods,
311
+ procedures, authorization keys, or other information required to install
312
+ and execute modified versions of a covered work in that User Product from
313
+ a modified version of its Corresponding Source. The information must
314
+ suffice to ensure that the continued functioning of the modified object
315
+ code is in no case prevented or interfered with solely because
316
+ modification has been made.
317
+
318
+ If you convey an object code work under this section in, or with, or
319
+ specifically for use in, a User Product, and the conveying occurs as
320
+ part of a transaction in which the right of possession and use of the
321
+ User Product is transferred to the recipient in perpetuity or for a
322
+ fixed term (regardless of how the transaction is characterized), the
323
+ Corresponding Source conveyed under this section must be accompanied
324
+ by the Installation Information. But this requirement does not apply
325
+ if neither you nor any third party retains the ability to install
326
+ modified object code on the User Product (for example, the work has
327
+ been installed in ROM).
328
+
329
+ The requirement to provide Installation Information does not include a
330
+ requirement to continue to provide support service, warranty, or updates
331
+ for a work that has been modified or installed by the recipient, or for
332
+ the User Product in which it has been modified or installed. Access to a
333
+ network may be denied when the modification itself materially and
334
+ adversely affects the operation of the network or violates the rules and
335
+ protocols for communication across the network.
336
+
337
+ Corresponding Source conveyed, and Installation Information provided,
338
+ in accord with this section must be in a format that is publicly
339
+ documented (and with an implementation available to the public in
340
+ source code form), and must require no special password or key for
341
+ unpacking, reading or copying.
342
+
343
+ 7. Additional Terms.
344
+
345
+ "Additional permissions" are terms that supplement the terms of this
346
+ License by making exceptions from one or more of its conditions.
347
+ Additional permissions that are applicable to the entire Program shall
348
+ be treated as though they were included in this License, to the extent
349
+ that they are valid under applicable law. If additional permissions
350
+ apply only to part of the Program, that part may be used separately
351
+ under those permissions, but the entire Program remains governed by
352
+ this License without regard to the additional permissions.
353
+
354
+ When you convey a copy of a covered work, you may at your option
355
+ remove any additional permissions from that copy, or from any part of
356
+ it. (Additional permissions may be written to require their own
357
+ removal in certain cases when you modify the work.) You may place
358
+ additional permissions on material, added by you to a covered work,
359
+ for which you have or can give appropriate copyright permission.
360
+
361
+ Notwithstanding any other provision of this License, for material you
362
+ add to a covered work, you may (if authorized by the copyright holders of
363
+ that material) supplement the terms of this License with terms:
364
+
365
+ a) Disclaiming warranty or limiting liability differently from the
366
+ terms of sections 15 and 16 of this License; or
367
+
368
+ b) Requiring preservation of specified reasonable legal notices or
369
+ author attributions in that material or in the Appropriate Legal
370
+ Notices displayed by works containing it; or
371
+
372
+ c) Prohibiting misrepresentation of the origin of that material, or
373
+ requiring that modified versions of such material be marked in
374
+ reasonable ways as different from the original version; or
375
+
376
+ d) Limiting the use for publicity purposes of names of licensors or
377
+ authors of the material; or
378
+
379
+ e) Declining to grant rights under trademark law for use of some
380
+ trade names, trademarks, or service marks; or
381
+
382
+ f) Requiring indemnification of licensors and authors of that
383
+ material by anyone who conveys the material (or modified versions of
384
+ it) with contractual assumptions of liability to the recipient, for
385
+ any liability that these contractual assumptions directly impose on
386
+ those licensors and authors.
387
+
388
+ All other non-permissive additional terms are considered "further
389
+ restrictions" within the meaning of section 10. If the Program as you
390
+ received it, or any part of it, contains a notice stating that it is
391
+ governed by this License along with a term that is a further
392
+ restriction, you may remove that term. If a license document contains
393
+ a further restriction but permits relicensing or conveying under this
394
+ License, you may add to a covered work material governed by the terms
395
+ of that license document, provided that the further restriction does
396
+ not survive such relicensing or conveying.
397
+
398
+ If you add terms to a covered work in accord with this section, you
399
+ must place, in the relevant source files, a statement of the
400
+ additional terms that apply to those files, or a notice indicating
401
+ where to find the applicable terms.
402
+
403
+ Additional terms, permissive or non-permissive, may be stated in the
404
+ form of a separately written license, or stated as exceptions;
405
+ the above requirements apply either way.
406
+
407
+ 8. Termination.
408
+
409
+ You may not propagate or modify a covered work except as expressly
410
+ provided under this License. Any attempt otherwise to propagate or
411
+ modify it is void, and will automatically terminate your rights under
412
+ this License (including any patent licenses granted under the third
413
+ paragraph of section 11).
414
+
415
+ However, if you cease all violation of this License, then your
416
+ license from a particular copyright holder is reinstated (a)
417
+ provisionally, unless and until the copyright holder explicitly and
418
+ finally terminates your license, and (b) permanently, if the copyright
419
+ holder fails to notify you of the violation by some reasonable means
420
+ prior to 60 days after the cessation.
421
+
422
+ Moreover, your license from a particular copyright holder is
423
+ reinstated permanently if the copyright holder notifies you of the
424
+ violation by some reasonable means, this is the first time you have
425
+ received notice of violation of this License (for any work) from that
426
+ copyright holder, and you cure the violation prior to 30 days after
427
+ your receipt of the notice.
428
+
429
+ Termination of your rights under this section does not terminate the
430
+ licenses of parties who have received copies or rights from you under
431
+ this License. If your rights have been terminated and not permanently
432
+ reinstated, you do not qualify to receive new licenses for the same
433
+ material under section 10.
434
+
435
+ 9. Acceptance Not Required for Having Copies.
436
+
437
+ You are not required to accept this License in order to receive or
438
+ run a copy of the Program. Ancillary propagation of a covered work
439
+ occurring solely as a consequence of using peer-to-peer transmission
440
+ to receive a copy likewise does not require acceptance. However,
441
+ nothing other than this License grants you permission to propagate or
442
+ modify any covered work. These actions infringe copyright if you do
443
+ not accept this License. Therefore, by modifying or propagating a
444
+ covered work, you indicate your acceptance of this License to do so.
445
+
446
+ 10. Automatic Licensing of Downstream Recipients.
447
+
448
+ Each time you convey a covered work, the recipient automatically
449
+ receives a license from the original licensors, to run, modify and
450
+ propagate that work, subject to this License. You are not responsible
451
+ for enforcing compliance by third parties with this License.
452
+
453
+ An "entity transaction" is a transaction transferring control of an
454
+ organization, or substantially all assets of one, or subdividing an
455
+ organization, or merging organizations. If propagation of a covered
456
+ work results from an entity transaction, each party to that
457
+ transaction who receives a copy of the work also receives whatever
458
+ licenses to the work the party's predecessor in interest had or could
459
+ give under the previous paragraph, plus a right to possession of the
460
+ Corresponding Source of the work from the predecessor in interest, if
461
+ the predecessor has it or can get it with reasonable efforts.
462
+
463
+ You may not impose any further restrictions on the exercise of the
464
+ rights granted or affirmed under this License. For example, you may
465
+ not impose a license fee, royalty, or other charge for exercise of
466
+ rights granted under this License, and you may not initiate litigation
467
+ (including a cross-claim or counterclaim in a lawsuit) alleging that
468
+ any patent claim is infringed by making, using, selling, offering for
469
+ sale, or importing the Program or any portion of it.
470
+
471
+ 11. Patents.
472
+
473
+ A "contributor" is a copyright holder who authorizes use under this
474
+ License of the Program or a work on which the Program is based. The
475
+ work thus licensed is called the contributor's "contributor version".
476
+
477
+ A contributor's "essential patent claims" are all patent claims
478
+ owned or controlled by the contributor, whether already acquired or
479
+ hereafter acquired, that would be infringed by some manner, permitted
480
+ by this License, of making, using, or selling its contributor version,
481
+ but do not include claims that would be infringed only as a
482
+ consequence of further modification of the contributor version. For
483
+ purposes of this definition, "control" includes the right to grant
484
+ patent sublicenses in a manner consistent with the requirements of
485
+ this License.
486
+
487
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
488
+ patent license under the contributor's essential patent claims, to
489
+ make, use, sell, offer for sale, import and otherwise run, modify and
490
+ propagate the contents of its contributor version.
491
+
492
+ In the following three paragraphs, a "patent license" is any express
493
+ agreement or commitment, however denominated, not to enforce a patent
494
+ (such as an express permission to practice a patent or covenant not to
495
+ sue for patent infringement). To "grant" such a patent license to a
496
+ party means to make such an agreement or commitment not to enforce a
497
+ patent against the party.
498
+
499
+ If you convey a covered work, knowingly relying on a patent license,
500
+ and the Corresponding Source of the work is not available for anyone
501
+ to copy, free of charge and under the terms of this License, through a
502
+ publicly available network server or other readily accessible means,
503
+ then you must either (1) cause the Corresponding Source to be so
504
+ available, or (2) arrange to deprive yourself of the benefit of the
505
+ patent license for this particular work, or (3) arrange, in a manner
506
+ consistent with the requirements of this License, to extend the patent
507
+ license to downstream recipients. "Knowingly relying" means you have
508
+ actual knowledge that, but for the patent license, your conveying the
509
+ covered work in a country, or your recipient's use of the covered work
510
+ in a country, would infringe one or more identifiable patents in that
511
+ country that you have reason to believe are valid.
512
+
513
+ If, pursuant to or in connection with a single transaction or
514
+ arrangement, you convey, or propagate by procuring conveyance of, a
515
+ covered work, and grant a patent license to some of the parties
516
+ receiving the covered work authorizing them to use, propagate, modify
517
+ or convey a specific copy of the covered work, then the patent license
518
+ you grant is automatically extended to all recipients of the covered
519
+ work and works based on it.
520
+
521
+ A patent license is "discriminatory" if it does not include within
522
+ the scope of its coverage, prohibits the exercise of, or is
523
+ conditioned on the non-exercise of one or more of the rights that are
524
+ specifically granted under this License. You may not convey a covered
525
+ work if you are a party to an arrangement with a third party that is
526
+ in the business of distributing software, under which you make payment
527
+ to the third party based on the extent of your activity of conveying
528
+ the work, and under which the third party grants, to any of the
529
+ parties who would receive the covered work from you, a discriminatory
530
+ patent license (a) in connection with copies of the covered work
531
+ conveyed by you (or copies made from those copies), or (b) primarily
532
+ for and in connection with specific products or compilations that
533
+ contain the covered work, unless you entered into that arrangement,
534
+ or that patent license was granted, prior to 28 March 2007.
535
+
536
+ Nothing in this License shall be construed as excluding or limiting
537
+ any implied license or other defenses to infringement that may
538
+ otherwise be available to you under applicable patent law.
539
+
540
+ 12. No Surrender of Others' Freedom.
541
+
542
+ If conditions are imposed on you (whether by court order, agreement or
543
+ otherwise) that contradict the conditions of this License, they do not
544
+ excuse you from the conditions of this License. If you cannot convey a
545
+ covered work so as to satisfy simultaneously your obligations under this
546
+ License and any other pertinent obligations, then as a consequence you may
547
+ not convey it at all. For example, if you agree to terms that obligate you
548
+ to collect a royalty for further conveying from those to whom you convey
549
+ the Program, the only way you could satisfy both those terms and this
550
+ License would be to refrain entirely from conveying the Program.
551
+
552
+ 13. Use with the GNU Affero General Public License.
553
+
554
+ Notwithstanding any other provision of this License, you have
555
+ permission to link or combine any covered work with a work licensed
556
+ under version 3 of the GNU Affero General Public License into a single
557
+ combined work, and to convey the resulting work. The terms of this
558
+ License will continue to apply to the part which is the covered work,
559
+ but the special requirements of the GNU Affero General Public License,
560
+ section 13, concerning interaction through a network will apply to the
561
+ combination as such.
562
+
563
+ 14. Revised Versions of this License.
564
+
565
+ The Free Software Foundation may publish revised and/or new versions of
566
+ the GNU General Public License from time to time. Such new versions will
567
+ be similar in spirit to the present version, but may differ in detail to
568
+ address new problems or concerns.
569
+
570
+ Each version is given a distinguishing version number. If the
571
+ Program specifies that a certain numbered version of the GNU General
572
+ Public License "or any later version" applies to it, you have the
573
+ option of following the terms and conditions either of that numbered
574
+ version or of any later version published by the Free Software
575
+ Foundation. If the Program does not specify a version number of the
576
+ GNU General Public License, you may choose any version ever published
577
+ by the Free Software Foundation.
578
+
579
+ If the Program specifies that a proxy can decide which future
580
+ versions of the GNU General Public License can be used, that proxy's
581
+ public statement of acceptance of a version permanently authorizes you
582
+ to choose that version for the Program.
583
+
584
+ Later license versions may give you additional or different
585
+ permissions. However, no additional obligations are imposed on any
586
+ author or copyright holder as a result of your choosing to follow a
587
+ later version.
588
+
589
+ 15. Disclaimer of Warranty.
590
+
591
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
592
+ APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
593
+ HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
594
+ OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
595
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
596
+ PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
597
+ IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
598
+ ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
599
+
600
+ 16. Limitation of Liability.
601
+
602
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
603
+ WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
604
+ THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
605
+ GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
606
+ USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
607
+ DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
608
+ PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
609
+ EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
610
+ SUCH DAMAGES.
611
+
612
+ 17. Interpretation of Sections 15 and 16.
613
+
614
+ If the disclaimer of warranty and limitation of liability provided
615
+ above cannot be given local legal effect according to their terms,
616
+ reviewing courts shall apply local law that most closely approximates
617
+ an absolute waiver of all civil liability in connection with the
618
+ Program, unless a warranty or assumption of liability accompanies a
619
+ copy of the Program in return for a fee.
620
+
621
+ END OF TERMS AND CONDITIONS
622
+
623
+ How to Apply These Terms to Your New Programs
624
+
625
+ If you develop a new program, and you want it to be of the greatest
626
+ possible use to the public, the best way to achieve this is to make it
627
+ free software which everyone can redistribute and change under these terms.
628
+
629
+ To do so, attach the following notices to the program. It is safest
630
+ to attach them to the start of each source file to most effectively
631
+ state the exclusion of warranty; and each file should have at least
632
+ the "copyright" line and a pointer to where the full notice is found.
633
+
634
+ <one line to give the program's name and a brief idea of what it does.>
635
+ Copyright (C) <year> <name of author>
636
+
637
+ This program is free software: you can redistribute it and/or modify
638
+ it under the terms of the GNU General Public License as published by
639
+ the Free Software Foundation, either version 3 of the License, or
640
+ (at your option) any later version.
641
+
642
+ This program is distributed in the hope that it will be useful,
643
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
644
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645
+ GNU General Public License for more details.
646
+
647
+ You should have received a copy of the GNU General Public License
648
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
649
+
650
+ Also add information on how to contact you by electronic and paper mail.
651
+
652
+ If the program does terminal interaction, make it output a short
653
+ notice like this when it starts in an interactive mode:
654
+
655
+ <program> Copyright (C) <year> <name of author>
656
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657
+ This is free software, and you are welcome to redistribute it
658
+ under certain conditions; type `show c' for details.
659
+
660
+ The hypothetical commands `show w' and `show c' should show the appropriate
661
+ parts of the General Public License. Of course, your program's commands
662
+ might be different; for a GUI interface, you would use an "about box".
663
+
664
+ You should also get your employer (if you work as a programmer) or school,
665
+ if any, to sign a "copyright disclaimer" for the program, if necessary.
666
+ For more information on this, and how to apply and follow the GNU GPL, see
667
+ <https://www.gnu.org/licenses/>.
668
+
669
+ The GNU General Public License does not permit incorporating your program
670
+ into proprietary programs. If your program is a subroutine library, you
671
+ may consider it more useful to permit linking proprietary applications with
672
+ the library. If this is what you want to do, use the GNU Lesser General
673
+ Public License instead of this License. But first, please read
674
+ <https://www.gnu.org/licenses/why-not-lgpl.html>.
LICENSES.md ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ # Licenses for special algorithms
2
+
3
+ In this file, we list the algorithms with other licenses instead of Apache 2.0. Users should be careful about adopting these algorithms in any commercial matters.
4
+
5
+ | Algorithm | Files | License |
6
+ | :-------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------: |
7
+ | EDPose | [mmpose/models/heads/transformer_heads/edpose_head.py](https://github.com/open-mmlab/mmpose/blob/main/mmpose/models/heads/transformer_heads/edpose_head.py) | IDEA License 1.0 |
MANIFEST.in ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ include requirements/*.txt
2
+ include mmpose/.mim/model-index.yml
3
+ include mmpose/.mim/dataset-index.yml
4
+ recursive-include mmpose/.mim/configs *.py *.yml
5
+ recursive-include mmpose/.mim/tools *.py *.sh
6
+ recursive-include mmpose/.mim/demo *.py
README_CN.md ADDED
@@ -0,0 +1,361 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <div align="center">
2
+ <img src="resources/mmpose-logo.png" width="450"/>
3
+ <div>&nbsp;</div>
4
+ <div align="center">
5
+ <b><font size="5">OpenMMLab 官网</font></b>
6
+ <sup>
7
+ <a href="https://openmmlab.com">
8
+ <i><font size="4">HOT</font></i>
9
+ </a>
10
+ </sup>
11
+ &nbsp;&nbsp;&nbsp;&nbsp;
12
+ <b><font size="5">OpenMMLab 开放平台</font></b>
13
+ <sup>
14
+ <a href="https://platform.openmmlab.com">
15
+ <i><font size="4">TRY IT OUT</font></i>
16
+ </a>
17
+ </sup>
18
+ </div>
19
+ <div>&nbsp;</div>
20
+
21
+ [![Documentation](https://readthedocs.org/projects/mmpose/badge/?version=latest)](https://mmpose.readthedocs.io/en/latest/?badge=latest)
22
+ [![actions](https://github.com/open-mmlab/mmpose/workflows/merge_stage_test/badge.svg)](https://github.com/open-mmlab/mmpose/actions)
23
+ [![codecov](https://codecov.io/gh/open-mmlab/mmpose/branch/latest/graph/badge.svg)](https://codecov.io/gh/open-mmlab/mmpose)
24
+ [![PyPI](https://img.shields.io/pypi/v/mmpose)](https://pypi.org/project/mmpose/)
25
+ [![LICENSE](https://img.shields.io/github/license/open-mmlab/mmpose.svg)](https://github.com/open-mmlab/mmpose/blob/main/LICENSE)
26
+ [![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/open-mmlab/mmpose.svg)](https://github.com/open-mmlab/mmpose/issues)
27
+ [![Percentage of issues still open](https://isitmaintained.com/badge/open/open-mmlab/mmpose.svg)](https://github.com/open-mmlab/mmpose/issues)
28
+ [![Open in OpenXLab](https://cdn-static.openxlab.org.cn/app-center/openxlab_demo.svg)](https://openxlab.org.cn/apps?search=mmpose)
29
+
30
+ [📘文档](https://mmpose.readthedocs.io/zh_CN/latest/) |
31
+ [🛠️安装](https://mmpose.readthedocs.io/zh_CN/latest/installation.html) |
32
+ [👀模型库](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo.html) |
33
+ [📜论文库](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html) |
34
+ [🆕更新日志](https://mmpose.readthedocs.io/zh_CN/latest/notes/changelog.html) |
35
+ [🤔报告问题](https://github.com/open-mmlab/mmpose/issues/new/choose) |
36
+ [🔥RTMPose](/projects/rtmpose/)
37
+
38
+ </div>
39
+
40
+ <div align="center">
41
+ <a href="https://openmmlab.medium.com/" style="text-decoration:none;">
42
+ <img src="https://user-images.githubusercontent.com/25839884/219255827-67c1a27f-f8c5-46a9-811d-5e57448c61d1.png" width="3%" alt="" /></a>
43
+ <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" />
44
+ <a href="https://discord.com/channels/1037617289144569886/1072798105428299817" style="text-decoration:none;">
45
+ <img src="https://user-images.githubusercontent.com/25839884/218347213-c080267f-cbb6-443e-8532-8e1ed9a58ea9.png" width="3%" alt="" /></a>
46
+ <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" />
47
+ <a href="https://twitter.com/OpenMMLab" style="text-decoration:none;">
48
+ <img src="https://user-images.githubusercontent.com/25839884/218346637-d30c8a0f-3eba-4699-8131-512fb06d46db.png" width="3%" alt="" /></a>
49
+ <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" />
50
+ <a href="https://www.youtube.com/openmmlab" style="text-decoration:none;">
51
+ <img src="https://user-images.githubusercontent.com/25839884/218346691-ceb2116a-465a-40af-8424-9f30d2348ca9.png" width="3%" alt="" /></a>
52
+ <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" />
53
+ <a href="https://space.bilibili.com/1293512903" style="text-decoration:none;">
54
+ <img src="https://user-images.githubusercontent.com/25839884/219026751-d7d14cce-a7c9-4e82-9942-8375fca65b99.png" width="3%" alt="" /></a>
55
+ <img src="https://user-images.githubusercontent.com/25839884/218346358-56cc8e2f-a2b8-487f-9088-32480cceabcf.png" width="3%" alt="" />
56
+ <a href="https://www.zhihu.com/people/openmmlab" style="text-decoration:none;">
57
+ <img src="https://user-images.githubusercontent.com/25839884/219026120-ba71e48b-6e94-4bd4-b4e9-b7d175b5e362.png" width="3%" alt="" /></a>
58
+ </div>
59
+
60
+ ## Introduction
61
+
62
+ [English](./README.md) | 简体中文
63
+
64
+ MMPose 是一款基于 PyTorch 的姿态分析的开源工具箱,是 [OpenMMLab](https://github.com/open-mmlab) 项目的成员之一。
65
+
66
+ 主分支代码目前支持 **PyTorch 1.8 以上**的版本。
67
+
68
+ https://user-images.githubusercontent.com/15977946/124654387-0fd3c500-ded1-11eb-84f6-24eeddbf4d91.mp4
69
+
70
+ <details close>
71
+ <summary><b>主要特性</b></summary>
72
+
73
+ - **支持多种人体姿态分析相关任务**
74
+
75
+ MMPose 支持当前学界广泛关注的主流姿态分析任务:主要包括 2D多人姿态估计、2D手部姿态估计、2D人脸关键点检测、133关键点的全身人体姿态估计、3D人体形状恢复、服饰关键点检测、动物关键点检测等。
76
+ 具体请参考 [功能演示](demo/docs/zh_cn/)。
77
+
78
+ - **更高的精度和更快的速度**
79
+
80
+ MMPose 复现了多种学界最先进的人体姿态分析模型,包括“自顶向下”和“自底向上”两大类算法。MMPose 相比于其他主流的代码库,具有更高的模型精度和训练速度。
81
+ 具体请参考 [基准测试](docs/en/notes/benchmark.md)(英文)。
82
+
83
+ - **支持多样的数据集**
84
+
85
+ MMPose 支持了很多主流数据集的准备和构建,如 COCO、 MPII 等。 具体请参考 [数据集](docs/zh_cn/dataset_zoo)。
86
+
87
+ - **模块化设计**
88
+
89
+ MMPose 将统一的人体姿态分析框架解耦成不同的模块组件,通过组合不同的模块组件,用户可以便捷地构建自定义的人体姿态分析模型。
90
+
91
+ - **详尽的单元测试和文档**
92
+
93
+ MMPose 提供了详尽的说明文档,API 接口说明,全面的单元测试,以供社区参考。
94
+
95
+ </details>
96
+
97
+ ## 最新进展
98
+
99
+ - 发布了单阶段实时多人姿态估计模型 [RTMO](/projects/rtmo)。相比 RTMPose 在多人场景下性能更优
100
+
101
+ ![rtmo](https://github.com/open-mmlab/mmpose/assets/26127467/54d5555a-23e5-4308-89d1-f0c82a6734c2)
102
+
103
+ - 发布了不同尺寸的 [RTMW](/configs/wholebody_2d_keypoint/rtmpose/cocktail14/rtmw_cocktail14.md) 模型,满足不同的使用场景。模型尺寸覆盖从 RTMW-m 到 RTMW-x 的模型,输入图像尺寸包含 256x192 和 384x288
104
+
105
+ - 支持了 [PoseAnything](/projects/pose_anything) 的推理。[在线试玩](https://openxlab.org.cn/apps/detail/orhir/Pose-Anything)
106
+
107
+ - 我们支持了两个新的数据集:
108
+
109
+ - (CVPR 2023) [ExLPose](https://mmpose.readthedocs.io/en/latest/dataset_zoo/2d_body_keypoint.html#exlpose-dataset)
110
+ - (ICCV 2023) [H3WB](/docs/en/dataset_zoo/3d_wholebody_keypoint.md)
111
+
112
+ - 欢迎使用 [*MMPose 项目*](/projects/README.md)。在这里,您可以发现 MMPose 中的最新功能和算法,并且可以通过最快的方式与社区分享自己的创意和代码实现。向 MMPose 中添加新功能从此变得简单丝滑:
113
+
114
+ - 提供了一种简单迅捷的方式,将新的算法、功能和应用添加到 MMPose 中
115
+ - 更灵活的代码结构和风格,更少的限制,更简短的代码审核流程
116
+ - 通过独立项目的形式,利用 MMPose 的强大功能,同时不被代码框架所束缚
117
+ - 最新添加的项目包括:
118
+ - [RTMPose](/projects/rtmpose/)
119
+ - [RTMO](/projects/rtmo/)
120
+ - [PoseAnything](/projects/pose_anything/)
121
+ - [YOLOX-Pose](/projects/yolox_pose/)
122
+ - [MMPose4AIGC](/projects/mmpose4aigc/)
123
+ - [Simple Keypoints](/projects/skps/)
124
+ - [Just Dance](/projects/just_dance/)
125
+ - [Uniformer](/projects/uniformer/)
126
+ - 从简单的 [示例项目](/projects/example_project/) 开启您的 MMPose 代码贡献者之旅吧,让我们共同打造更好用的 MMPose!
127
+
128
+ <br/>
129
+
130
+ - 2024-01-04:MMPose [v1.3.0](https://github.com/open-mmlab/mmpose/releases/tag/v1.3.0) 正式发布了,主要更新包括:
131
+
132
+ - 支持新数据集:ExLPose、H3WB
133
+ - 发布 RTMPose 系列新模型:RTMO、RTMW
134
+ - 支持新算法 PoseAnything
135
+ - 推理器 Inferencer 支持可选的进度条、提升与单阶段模型的适配性
136
+
137
+ 请查看完整的 [版本说明](https://github.com/open-mmlab/mmpose/releases/tag/v1.3.0) 以了解更多 MMPose v1.3.0 带来的更新!
138
+
139
+ ## 0.x / 1.x 迁移
140
+
141
+ MMPose v1.0.0 是一个重大更新,包括了大量的 API 和配置文件的变化。目前 v1.0.0 中已经完成了一部分算法的迁移工作,剩余的算法将在后续的版本中陆续完成,我们将在这个 [Issue 页面](https://github.com/open-mmlab/mmpose/issues/2258) 中展示迁移进度。
142
+
143
+ 如果您使用的算法还没有完成迁移,您也可以继续使用访问 [0.x 分支](https://github.com/open-mmlab/mmpose/tree/0.x) 和 [旧版文档](https://mmpose.readthedocs.io/zh_CN/0.x/)
144
+
145
+ ## 安装
146
+
147
+ 关于安装的详细说明请参考[安装文档](https://mmpose.readthedocs.io/zh_CN/latest/installation.html)。
148
+
149
+ ## 教程
150
+
151
+ 我们提供了一系列简明的教程,帮助 MMPose 的新用户轻松上手使用:
152
+
153
+ 1. MMPose 的基本使用方法:
154
+
155
+ - [20 分钟上手教程](https://mmpose.readthedocs.io/zh_CN/latest/guide_to_framework.html)
156
+ - [Demos](https://mmpose.readthedocs.io/zh_CN/latest/demos.html)
157
+ - [模型推理](https://mmpose.readthedocs.io/zh_CN/latest/user_guides/inference.html)
158
+ - [配置文件](https://mmpose.readthedocs.io/zh_CN/latest/user_guides/configs.html)
159
+ - [准备数据集](https://mmpose.readthedocs.io/zh_CN/latest/user_guides/prepare_datasets.html)
160
+ - [训练与测试](https://mmpose.readthedocs.io/zh_CN/latest/user_guides/train_and_test.html)
161
+ - [模型部署](https://mmpose.readthedocs.io/zh_CN/latest/user_guides/how_to_deploy.html)
162
+ - [模型分析工具](https://mmpose.readthedocs.io/zh_CN/latest/user_guides/model_analysis.html)
163
+ - [数据集标注与预处理脚本](https://mmpose.readthedocs.io/zh_CN/latest/user_guides/dataset_tools.html)
164
+
165
+ 2. 对于希望基于 MMPose 进行开发的研究者和开发者:
166
+
167
+ - [编解码器](https://mmpose.readthedocs.io/zh_CN/latest/advanced_guides/codecs.html)
168
+ - [数据流](https://mmpose.readthedocs.io/zh_CN/latest/advanced_guides/dataflow.html)
169
+ - [实现新模型](https://mmpose.readthedocs.io/zh_CN/latest/advanced_guides/implement_new_models.html)
170
+ - [自定义数据集](https://mmpose.readthedocs.io/zh_CN/latest/advanced_guides/customize_datasets.html)
171
+ - [自定义数据变换](https://mmpose.readthedocs.io/zh_CN/latest/advanced_guides/customize_transforms.html)
172
+ - [自定义指标](https://mmpose.readthedocs.io/zh_CN/latest/advanced_guides/customize_evaluation.html)
173
+ - [自定义优化器](https://mmpose.readthedocs.io/zh_CN/latest/advanced_guides/customize_optimizer.html)
174
+ - [自定义日志](https://mmpose.readthedocs.io/zh_CN/latest/advanced_guides/customize_logging.html)
175
+ - [迁移指南](https://mmpose.readthedocs.io/zh_CN/latest/migration.html)
176
+
177
+ 3. 对于希望加入开源社区,向 MMPose 贡献代码的研究者和开发者:
178
+
179
+ - [参与贡献代码](https://mmpose.readthedocs.io/zh_CN/latest/contribution_guide.html)
180
+
181
+ 4. 对于使用过程中的常见问题:
182
+
183
+ - [FAQ](https://mmpose.readthedocs.io/zh_CN/latest/faq.html)
184
+
185
+ ## 模型库
186
+
187
+ 各个模型的结果和设置都可以在对应的 config(配置)目录下的 **README.md** 中查看。
188
+ 整体的概况也可也在 [模型库](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo.html) 页面中查看。
189
+
190
+ <details open>
191
+ <summary><b>支持的算法</b></summary>
192
+
193
+ - [x] [DeepPose](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#deeppose-cvpr-2014) (CVPR'2014)
194
+ - [x] [CPM](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#cpm-cvpr-2016) (CVPR'2016)
195
+ - [x] [Hourglass](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#hourglass-eccv-2016) (ECCV'2016)
196
+ - [x] [SimpleBaseline3D](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#simplebaseline3d-iccv-2017) (ICCV'2017)
197
+ - [ ] [Associative Embedding](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#associative-embedding-nips-2017) (NeurIPS'2017)
198
+ - [x] [SimpleBaseline2D](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#simplebaseline2d-eccv-2018) (ECCV'2018)
199
+ - [x] [DSNT](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#dsnt-2018) (ArXiv'2021)
200
+ - [x] [HRNet](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#hrnet-cvpr-2019) (CVPR'2019)
201
+ - [x] [IPR](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#ipr-eccv-2018) (ECCV'2018)
202
+ - [x] [VideoPose3D](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#videopose3d-cvpr-2019) (CVPR'2019)
203
+ - [x] [HRNetv2](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#hrnetv2-tpami-2019) (TPAMI'2019)
204
+ - [x] [MSPN](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#mspn-arxiv-2019) (ArXiv'2019)
205
+ - [x] [SCNet](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#scnet-cvpr-2020) (CVPR'2020)
206
+ - [ ] [HigherHRNet](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#higherhrnet-cvpr-2020) (CVPR'2020)
207
+ - [x] [RSN](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#rsn-eccv-2020) (ECCV'2020)
208
+ - [x] [InterNet](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#internet-eccv-2020) (ECCV'2020)
209
+ - [ ] [VoxelPose](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#voxelpose-eccv-2020) (ECCV'2020)
210
+ - [x] [LiteHRNet](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#litehrnet-cvpr-2021) (CVPR'2021)
211
+ - [x] [ViPNAS](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#vipnas-cvpr-2021) (CVPR'2021)
212
+ - [x] [Debias-IPR](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#debias-ipr-iccv-2021) (ICCV'2021)
213
+ - [x] [SimCC](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/algorithms.html#simcc-eccv-2022) (ECCV'2022)
214
+
215
+ </details>
216
+
217
+ <details open>
218
+ <summary><b>支持的技术</b></summary>
219
+
220
+ - [x] [FPN](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#fpn-cvpr-2017) (CVPR'2017)
221
+ - [x] [FP16](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#fp16-arxiv-2017) (ArXiv'2017)
222
+ - [x] [Wingloss](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#wingloss-cvpr-2018) (CVPR'2018)
223
+ - [x] [AdaptiveWingloss](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#adaptivewingloss-iccv-2019) (ICCV'2019)
224
+ - [x] [DarkPose](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#darkpose-cvpr-2020) (CVPR'2020)
225
+ - [x] [UDP](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#udp-cvpr-2020) (CVPR'2020)
226
+ - [x] [Albumentations](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#albumentations-information-2020) (Information'2020)
227
+ - [x] [SoftWingloss](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#softwingloss-tip-2021) (TIP'2021)
228
+ - [x] [RLE](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/techniques.html#rle-iccv-2021) (ICCV'2021)
229
+
230
+ </details>
231
+
232
+ <details open>
233
+ <summary><b>支持的数据集</b></summary>
234
+
235
+ - [x] [AFLW](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#aflw-iccvw-2011) \[[主页](https://www.tugraz.at/institute/icg/research/team-bischof/lrs/downloads/aflw/)\] (ICCVW'2011)
236
+ - [x] [sub-JHMDB](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#jhmdb-iccv-2013) \[[主页](http://jhmdb.is.tue.mpg.de/dataset)\] (ICCV'2013)
237
+ - [x] [COFW](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#cofw-iccv-2013) \[[主页](http://www.vision.caltech.edu/xpburgos/ICCV13/)\] (ICCV'2013)
238
+ - [x] [MPII](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#mpii-cvpr-2014) \[[主页](http://human-pose.mpi-inf.mpg.de/)\] (CVPR'2014)
239
+ - [x] [Human3.6M](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#human3-6m-tpami-2014) \[[主页](http://vision.imar.ro/human3.6m/description.php)\] (TPAMI'2014)
240
+ - [x] [COCO](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#coco-eccv-2014) \[[主页](http://cocodataset.org/)\] (ECCV'2014)
241
+ - [x] [CMU Panoptic](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#cmu-panoptic-iccv-2015) (ICCV'2015)
242
+ - [x] [DeepFashion](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#deepfashion-cvpr-2016) \[[主页](http://mmlab.ie.cuhk.edu.hk/projects/DeepFashion/LandmarkDetection.html)\] (CVPR'2016)
243
+ - [x] [300W](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#300w-imavis-2016) \[[主页](https://ibug.doc.ic.ac.uk/resources/300-W/)\] (IMAVIS'2016)
244
+ - [x] [RHD](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#rhd-iccv-2017) \[[主页](https://lmb.informatik.uni-freiburg.de/resources/datasets/RenderedHandposeDataset.en.html)\] (ICCV'2017)
245
+ - [x] [CMU Panoptic](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#cmu-panoptic-iccv-2015) \[[主页](http://domedb.perception.cs.cmu.edu/)\] (ICCV'2015)
246
+ - [x] [AI Challenger](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#ai-challenger-arxiv-2017) \[[主页](https://github.com/AIChallenger/AI_Challenger_2017)\] (ArXiv'2017)
247
+ - [x] [MHP](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#mhp-acm-mm-2018) \[[主页](https://lv-mhp.github.io/dataset)\] (ACM MM'2018)
248
+ - [x] [WFLW](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#wflw-cvpr-2018) \[[主页](https://wywu.github.io/projects/LAB/WFLW.html)\] (CVPR'2018)
249
+ - [x] [PoseTrack18](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#posetrack18-cvpr-2018) \[[主页](https://posetrack.net/users/download.php)\] (CVPR'2018)
250
+ - [x] [OCHuman](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#ochuman-cvpr-2019) \[[主页](https://github.com/liruilong940607/OCHumanApi)\] (CVPR'2019)
251
+ - [x] [CrowdPose](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#crowdpose-cvpr-2019) \[[主页](https://github.com/Jeff-sjtu/CrowdPose)\] (CVPR'2019)
252
+ - [x] [MPII-TRB](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#mpii-trb-iccv-2019) \[[主页](https://github.com/kennymckormick/Triplet-Representation-of-human-Body)\] (ICCV'2019)
253
+ - [x] [FreiHand](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#freihand-iccv-2019) \[[主页](https://lmb.informatik.uni-freiburg.de/projects/freihand/)\] (ICCV'2019)
254
+ - [x] [Animal-Pose](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#animal-pose-iccv-2019) \[[主页](https://sites.google.com/view/animal-pose/)\] (ICCV'2019)
255
+ - [x] [OneHand10K](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#onehand10k-tcsvt-2019) \[[主页](https://www.yangangwang.com/papers/WANG-MCC-2018-10.html)\] (TCSVT'2019)
256
+ - [x] [Vinegar Fly](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#vinegar-fly-nature-methods-2019) \[[主页](https://github.com/jgraving/DeepPoseKit-Data)\] (Nature Methods'2019)
257
+ - [x] [Desert Locust](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#desert-locust-elife-2019) \[[主页](https://github.com/jgraving/DeepPoseKit-Data)\] (Elife'2019)
258
+ - [x] [Grévy’s Zebra](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#grevys-zebra-elife-2019) \[[主页](https://github.com/jgraving/DeepPoseKit-Data)\] (Elife'2019)
259
+ - [x] [ATRW](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#atrw-acm-mm-2020) \[[主页](https://cvwc2019.github.io/challenge.html)\] (ACM MM'2020)
260
+ - [x] [Halpe](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#halpe-cvpr-2020) \[[主页](https://github.com/Fang-Haoshu/Halpe-FullBody/)\] (CVPR'2020)
261
+ - [x] [COCO-WholeBody](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#coco-wholebody-eccv-2020) \[[主页](https://github.com/jin-s13/COCO-WholeBody/)\] (ECCV'2020)
262
+ - [x] [MacaquePose](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#macaquepose-biorxiv-2020) \[[主页](http://www.pri.kyoto-u.ac.jp/datasets/macaquepose/index.html)\] (bioRxiv'2020)
263
+ - [x] [InterHand2.6M](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#interhand2-6m-eccv-2020) \[[主页](https://mks0601.github.io/InterHand2.6M/)\] (ECCV'2020)
264
+ - [x] [AP-10K](https://mmpose.readthedocs.io/en/latest/model_zoo_papers/datasets.html#ap-10k-neurips-2021) \[[主页](https://github.com/AlexTheBad/AP-10K)\] (NeurIPS'2021)
265
+ - [x] [Horse-10](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#horse-10-wacv-2021) \[[主页](http://www.mackenziemathislab.org/horse10)\] (WACV'2021)
266
+ - [x] [Human-Art](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#human-art-cvpr-2023) \[[主页](https://idea-research.github.io/HumanArt/)\] (CVPR'2023)
267
+ - [x] [LaPa](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#lapa-aaai-2020) \[[主页](https://github.com/JDAI-CV/lapa-dataset)\] (AAAI'2020)
268
+ - [x] [UBody](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/datasets.html#ubody-cvpr-2023) \[[主页](https://github.com/IDEA-Research/OSX)\] (CVPR'2023)
269
+
270
+ </details>
271
+
272
+ <details open>
273
+ <summary><b>支持的骨干网络</b></summary>
274
+
275
+ - [x] [AlexNet](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#alexnet-neurips-2012) (NeurIPS'2012)
276
+ - [x] [VGG](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#vgg-iclr-2015) (ICLR'2015)
277
+ - [x] [ResNet](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#resnet-cvpr-2016) (CVPR'2016)
278
+ - [x] [ResNext](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#resnext-cvpr-2017) (CVPR'2017)
279
+ - [x] [SEResNet](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#seresnet-cvpr-2018) (CVPR'2018)
280
+ - [x] [ShufflenetV1](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#shufflenetv1-cvpr-2018) (CVPR'2018)
281
+ - [x] [ShufflenetV2](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#shufflenetv2-eccv-2018) (ECCV'2018)
282
+ - [x] [MobilenetV2](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#mobilenetv2-cvpr-2018) (CVPR'2018)
283
+ - [x] [ResNetV1D](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#resnetv1d-cvpr-2019) (CVPR'2019)
284
+ - [x] [ResNeSt](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#resnest-arxiv-2020) (ArXiv'2020)
285
+ - [x] [Swin](https://mmpose.readthedocs.io/en/latest/model_zoo_papers/backbones.html#swin-cvpr-2021) (CVPR'2021)
286
+ - [x] [HRFormer](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#hrformer-nips-2021) (NIPS'2021)
287
+ - [x] [PVT](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#pvt-iccv-2021) (ICCV'2021)
288
+ - [x] [PVTV2](https://mmpose.readthedocs.io/zh_CN/latest/model_zoo_papers/backbones.html#pvtv2-cvmj-2022) (CVMJ'2022)
289
+
290
+ </details>
291
+
292
+ ### 模型需求
293
+
294
+ 我们将跟进学界的最新进展,并支持更多算法和框架。如果您对 MMPose 有任何功能需求,请随时在 [MMPose Roadmap](https://github.com/open-mmlab/mmpose/issues/2258) 中留言。
295
+
296
+ ## 参与贡献
297
+
298
+ 我们非常欢迎用户对于 MMPose 做出的任何贡献,可以参考 [贡献指南](https://mmpose.readthedocs.io/zh_CN/latest/contribution_guide.html) 文件了解更多细节。
299
+
300
+ ## 致谢
301
+
302
+ MMPose 是一款由不同学校和公司共同贡献的开源项目。我们感谢所有为项目提供算法复现和新功能支持的贡献者,以及提供宝贵反馈的用户。
303
+ 我们希望该工具箱和基准测试可以为社区提供灵活的代码工具,供用户复现现有算法并开发自己的新模型,从而不断为开源社区提供贡献。
304
+
305
+ ## 引用
306
+
307
+ 如果您觉得 MMPose 对您的研究有所帮助,请考虑引用它:
308
+
309
+ ```bibtex
310
+ @misc{mmpose2020,
311
+ title={OpenMMLab Pose Estimation Toolbox and Benchmark},
312
+ author={MMPose Contributors},
313
+ howpublished = {\url{https://github.com/open-mmlab/mmpose}},
314
+ year={2020}
315
+ }
316
+ ```
317
+
318
+ ## 许可证
319
+
320
+ 该项目采用 [Apache 2.0 license](LICENSE) 开源协议。
321
+
322
+ ## OpenMMLab的其他项目
323
+
324
+ - [MMEngine](https://github.com/open-mmlab/mmengine): OpenMMLab 深度学习模型训练基础库
325
+ - [MMCV](https://github.com/open-mmlab/mmcv): OpenMMLab 计算机视觉基础库
326
+ - [MMPreTrain](https://github.com/open-mmlab/mmpretrain): OpenMMLab 深度学习预训练工具箱
327
+ - [MMagic](https://github.com/open-mmlab/mmagic): OpenMMLab 新一代人工智能内容生成(AIGC)工具箱
328
+ - [MMDetection](https://github.com/open-mmlab/mmdetection): OpenMMLab 目标检测工具箱
329
+ - [MMDetection3D](https://github.com/open-mmlab/mmdetection3d): OpenMMLab 新一代通用 3D 目标检测平台
330
+ - [MMRotate](https://github.com/open-mmlab/mmrotate): OpenMMLab 旋转框检测工具箱与测试基准
331
+ - [MMTracking](https://github.com/open-mmlab/mmtracking): OpenMMLab 一体化视频目标感知平台
332
+ - [MMSegmentation](https://github.com/open-mmlab/mmsegmentation): OpenMMLab 语义分割工具箱
333
+ - [MMOCR](https://github.com/open-mmlab/mmocr): OpenMMLab 全流程文字检测识别理解工具包
334
+ - [MMPose](https://github.com/open-mmlab/mmpose): OpenMMLab 姿态估计工具箱
335
+ - [MMHuman3D](https://github.com/open-mmlab/mmhuman3d): OpenMMLab 人体参数化模型工具箱与测试基准
336
+ - [MMFewShot](https://github.com/open-mmlab/mmfewshot): OpenMMLab 少样本学习工具箱与测试基准
337
+ - [MMAction2](https://github.com/open-mmlab/mmaction2): OpenMMLab 新一代视频理解工具箱
338
+ - [MMFlow](https://github.com/open-mmlab/mmflow): OpenMMLab 光流估计工具箱与测试基准
339
+ - [MMDeploy](https://github.com/open-mmlab/mmdeploy): OpenMMLab 模型部署框架
340
+ - [MMRazor](https://github.com/open-mmlab/mmrazor): OpenMMLab 模型压缩工具箱与测试基准
341
+ - [MIM](https://github.com/open-mmlab/mim): OpenMMlab 项目、算法、模型的统一入口
342
+ - [Playground](https://github.com/open-mmlab/playground): 收集和展示 OpenMMLab 相关的前沿、有趣的社区项目
343
+
344
+ ## 欢迎加入 OpenMMLab 社区
345
+
346
+ 扫描下方的二维码可关注 OpenMMLab 团队的 [知乎官方账号](https://www.zhihu.com/people/openmmlab),扫描下方微信二维码添加喵喵好友,进入 MMPose 微信交流社群。【加好友申请格式:研究方向+地区+学校/公司+姓名】
347
+
348
+ <div align="center">
349
+ <img src="https://user-images.githubusercontent.com/25839884/205870927-39f4946d-8751-4219-a4c0-740117558fd7.jpg" height="400"><img src="https://github.com/open-mmlab/mmpose/assets/62195058/256fe847-ad85-410a-a064-6314c5ce046d" height="400">
350
+ </div>
351
+
352
+ 我们会在 OpenMMLab 社区为大家
353
+
354
+ - 📢 分享 AI 框架的前沿核心技术
355
+ - 💻 解读 PyTorch 常用模块源码
356
+ - 📰 发布 OpenMMLab 的相关新闻
357
+ - 🚀 介绍 OpenMMLab 开发的前沿算法
358
+ - 🏃 获取更高效的问题答疑和意见反馈
359
+ - 🔥 提供与各行各业开发者充分交流的平台
360
+
361
+ 干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬
configs/_base_/datasets/300w.py ADDED
@@ -0,0 +1,134 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='300w',
3
+ paper_info=dict(
4
+ author='Sagonas, Christos and Antonakos, Epameinondas '
5
+ 'and Tzimiropoulos, Georgios and Zafeiriou, Stefanos '
6
+ 'and Pantic, Maja',
7
+ title='300 faces in-the-wild challenge: '
8
+ 'Database and results',
9
+ container='Image and vision computing',
10
+ year='2016',
11
+ homepage='https://ibug.doc.ic.ac.uk/resources/300-W/',
12
+ ),
13
+ keypoint_info={
14
+ 0: dict(name='kpt-0', id=0, color=[255, 0, 0], type='', swap='kpt-16'),
15
+ 1: dict(name='kpt-1', id=1, color=[255, 0, 0], type='', swap='kpt-15'),
16
+ 2: dict(name='kpt-2', id=2, color=[255, 0, 0], type='', swap='kpt-14'),
17
+ 3: dict(name='kpt-3', id=3, color=[255, 0, 0], type='', swap='kpt-13'),
18
+ 4: dict(name='kpt-4', id=4, color=[255, 0, 0], type='', swap='kpt-12'),
19
+ 5: dict(name='kpt-5', id=5, color=[255, 0, 0], type='', swap='kpt-11'),
20
+ 6: dict(name='kpt-6', id=6, color=[255, 0, 0], type='', swap='kpt-10'),
21
+ 7: dict(name='kpt-7', id=7, color=[255, 0, 0], type='', swap='kpt-9'),
22
+ 8: dict(name='kpt-8', id=8, color=[255, 0, 0], type='', swap=''),
23
+ 9: dict(name='kpt-9', id=9, color=[255, 0, 0], type='', swap='kpt-7'),
24
+ 10:
25
+ dict(name='kpt-10', id=10, color=[255, 0, 0], type='', swap='kpt-6'),
26
+ 11:
27
+ dict(name='kpt-11', id=11, color=[255, 0, 0], type='', swap='kpt-5'),
28
+ 12:
29
+ dict(name='kpt-12', id=12, color=[255, 0, 0], type='', swap='kpt-4'),
30
+ 13:
31
+ dict(name='kpt-13', id=13, color=[255, 0, 0], type='', swap='kpt-3'),
32
+ 14:
33
+ dict(name='kpt-14', id=14, color=[255, 0, 0], type='', swap='kpt-2'),
34
+ 15:
35
+ dict(name='kpt-15', id=15, color=[255, 0, 0], type='', swap='kpt-1'),
36
+ 16:
37
+ dict(name='kpt-16', id=16, color=[255, 0, 0], type='', swap='kpt-0'),
38
+ 17:
39
+ dict(name='kpt-17', id=17, color=[255, 0, 0], type='', swap='kpt-26'),
40
+ 18:
41
+ dict(name='kpt-18', id=18, color=[255, 0, 0], type='', swap='kpt-25'),
42
+ 19:
43
+ dict(name='kpt-19', id=19, color=[255, 0, 0], type='', swap='kpt-24'),
44
+ 20:
45
+ dict(name='kpt-20', id=20, color=[255, 0, 0], type='', swap='kpt-23'),
46
+ 21:
47
+ dict(name='kpt-21', id=21, color=[255, 0, 0], type='', swap='kpt-22'),
48
+ 22:
49
+ dict(name='kpt-22', id=22, color=[255, 0, 0], type='', swap='kpt-21'),
50
+ 23:
51
+ dict(name='kpt-23', id=23, color=[255, 0, 0], type='', swap='kpt-20'),
52
+ 24:
53
+ dict(name='kpt-24', id=24, color=[255, 0, 0], type='', swap='kpt-19'),
54
+ 25:
55
+ dict(name='kpt-25', id=25, color=[255, 0, 0], type='', swap='kpt-18'),
56
+ 26:
57
+ dict(name='kpt-26', id=26, color=[255, 0, 0], type='', swap='kpt-17'),
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
+ 29: dict(name='kpt-29', id=29, color=[255, 0, 0], type='', swap=''),
61
+ 30: dict(name='kpt-30', id=30, color=[255, 0, 0], type='', swap=''),
62
+ 31:
63
+ dict(name='kpt-31', id=31, color=[255, 0, 0], type='', swap='kpt-35'),
64
+ 32:
65
+ dict(name='kpt-32', id=32, color=[255, 0, 0], type='', swap='kpt-34'),
66
+ 33: dict(name='kpt-33', id=33, color=[255, 0, 0], type='', swap=''),
67
+ 34:
68
+ dict(name='kpt-34', id=34, color=[255, 0, 0], type='', swap='kpt-32'),
69
+ 35:
70
+ dict(name='kpt-35', id=35, color=[255, 0, 0], type='', swap='kpt-31'),
71
+ 36:
72
+ dict(name='kpt-36', id=36, color=[255, 0, 0], type='', swap='kpt-45'),
73
+ 37:
74
+ dict(name='kpt-37', id=37, color=[255, 0, 0], type='', swap='kpt-44'),
75
+ 38:
76
+ dict(name='kpt-38', id=38, color=[255, 0, 0], type='', swap='kpt-43'),
77
+ 39:
78
+ dict(name='kpt-39', id=39, color=[255, 0, 0], type='', swap='kpt-42'),
79
+ 40:
80
+ dict(name='kpt-40', id=40, color=[255, 0, 0], type='', swap='kpt-47'),
81
+ 41: dict(
82
+ name='kpt-41', id=41, color=[255, 0, 0], type='', swap='kpt-46'),
83
+ 42: dict(
84
+ name='kpt-42', id=42, color=[255, 0, 0], type='', swap='kpt-39'),
85
+ 43: dict(
86
+ name='kpt-43', id=43, color=[255, 0, 0], type='', swap='kpt-38'),
87
+ 44: dict(
88
+ name='kpt-44', id=44, color=[255, 0, 0], type='', swap='kpt-37'),
89
+ 45: dict(
90
+ name='kpt-45', id=45, color=[255, 0, 0], type='', swap='kpt-36'),
91
+ 46: dict(
92
+ name='kpt-46', id=46, color=[255, 0, 0], type='', swap='kpt-41'),
93
+ 47: dict(
94
+ name='kpt-47', id=47, color=[255, 0, 0], type='', swap='kpt-40'),
95
+ 48: dict(
96
+ name='kpt-48', id=48, color=[255, 0, 0], type='', swap='kpt-54'),
97
+ 49: dict(
98
+ name='kpt-49', id=49, color=[255, 0, 0], type='', swap='kpt-53'),
99
+ 50: dict(
100
+ name='kpt-50', id=50, color=[255, 0, 0], type='', swap='kpt-52'),
101
+ 51: dict(name='kpt-51', id=51, color=[255, 0, 0], type='', swap=''),
102
+ 52: dict(
103
+ name='kpt-52', id=52, color=[255, 0, 0], type='', swap='kpt-50'),
104
+ 53: dict(
105
+ name='kpt-53', id=53, color=[255, 0, 0], type='', swap='kpt-49'),
106
+ 54: dict(
107
+ name='kpt-54', id=54, color=[255, 0, 0], type='', swap='kpt-48'),
108
+ 55: dict(
109
+ name='kpt-55', id=55, color=[255, 0, 0], type='', swap='kpt-59'),
110
+ 56: dict(
111
+ name='kpt-56', id=56, color=[255, 0, 0], type='', swap='kpt-58'),
112
+ 57: dict(name='kpt-57', id=57, color=[255, 0, 0], type='', swap=''),
113
+ 58: dict(
114
+ name='kpt-58', id=58, color=[255, 0, 0], type='', swap='kpt-56'),
115
+ 59: dict(
116
+ name='kpt-59', id=59, color=[255, 0, 0], type='', swap='kpt-55'),
117
+ 60: dict(
118
+ name='kpt-60', id=60, color=[255, 0, 0], type='', swap='kpt-64'),
119
+ 61: dict(
120
+ name='kpt-61', id=61, color=[255, 0, 0], type='', swap='kpt-63'),
121
+ 62: dict(name='kpt-62', id=62, color=[255, 0, 0], type='', swap=''),
122
+ 63: dict(
123
+ name='kpt-63', id=63, color=[255, 0, 0], type='', swap='kpt-61'),
124
+ 64: dict(
125
+ name='kpt-64', id=64, color=[255, 0, 0], type='', swap='kpt-60'),
126
+ 65: dict(
127
+ name='kpt-65', id=65, color=[255, 0, 0], type='', swap='kpt-67'),
128
+ 66: dict(name='kpt-66', id=66, color=[255, 0, 0], type='', swap=''),
129
+ 67: dict(
130
+ name='kpt-67', id=67, color=[255, 0, 0], type='', swap='kpt-65'),
131
+ },
132
+ skeleton_info={},
133
+ joint_weights=[1.] * 68,
134
+ sigmas=[])
configs/_base_/datasets/300wlp.py ADDED
@@ -0,0 +1,86 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='300wlp',
3
+ paper_info=dict(
4
+ author='Xiangyu Zhu1, and Zhen Lei1 '
5
+ 'and Xiaoming Liu2, and Hailin Shi1 '
6
+ 'and Stan Z. Li1',
7
+ title='300 faces in-the-wild challenge: '
8
+ 'Database and results',
9
+ container='Image and vision computing',
10
+ year='2016',
11
+ homepage='http://www.cbsr.ia.ac.cn/users/xiangyuzhu/'
12
+ 'projects/3DDFA/main.htm',
13
+ ),
14
+ keypoint_info={
15
+ 0: dict(name='kpt-0', id=0, color=[255, 0, 0], type='', swap=''),
16
+ 1: dict(name='kpt-1', id=1, color=[255, 0, 0], type='', swap=''),
17
+ 2: dict(name='kpt-2', id=2, color=[255, 0, 0], type='', swap=''),
18
+ 3: dict(name='kpt-3', id=3, color=[255, 0, 0], type='', swap=''),
19
+ 4: dict(name='kpt-4', id=4, color=[255, 0, 0], type='', swap=''),
20
+ 5: dict(name='kpt-5', id=5, color=[255, 0, 0], type='', swap=''),
21
+ 6: dict(name='kpt-6', id=6, color=[255, 0, 0], type='', swap=''),
22
+ 7: dict(name='kpt-7', id=7, color=[255, 0, 0], type='', swap=''),
23
+ 8: dict(name='kpt-8', id=8, color=[255, 0, 0], type='', swap=''),
24
+ 9: dict(name='kpt-9', id=9, color=[255, 0, 0], type='', swap=''),
25
+ 10: dict(name='kpt-10', id=10, color=[255, 0, 0], type='', swap=''),
26
+ 11: dict(name='kpt-11', id=11, color=[255, 0, 0], type='', swap=''),
27
+ 12: dict(name='kpt-12', id=12, color=[255, 0, 0], type='', swap=''),
28
+ 13: dict(name='kpt-13', id=13, color=[255, 0, 0], type='', swap=''),
29
+ 14: dict(name='kpt-14', id=14, color=[255, 0, 0], type='', swap=''),
30
+ 15: dict(name='kpt-15', id=15, color=[255, 0, 0], type='', swap=''),
31
+ 16: dict(name='kpt-16', id=16, color=[255, 0, 0], type='', swap=''),
32
+ 17: dict(name='kpt-17', id=17, color=[255, 0, 0], type='', swap=''),
33
+ 18: dict(name='kpt-18', id=18, color=[255, 0, 0], type='', swap=''),
34
+ 19: dict(name='kpt-19', id=19, color=[255, 0, 0], type='', swap=''),
35
+ 20: dict(name='kpt-20', id=20, color=[255, 0, 0], type='', swap=''),
36
+ 21: dict(name='kpt-21', id=21, color=[255, 0, 0], type='', swap=''),
37
+ 22: dict(name='kpt-22', id=22, color=[255, 0, 0], type='', swap=''),
38
+ 23: dict(name='kpt-23', id=23, color=[255, 0, 0], type='', swap=''),
39
+ 24: dict(name='kpt-24', id=24, color=[255, 0, 0], type='', swap=''),
40
+ 25: dict(name='kpt-25', id=25, color=[255, 0, 0], type='', swap=''),
41
+ 26: dict(name='kpt-26', id=26, color=[255, 0, 0], type='', swap=''),
42
+ 27: dict(name='kpt-27', id=27, color=[255, 0, 0], type='', swap=''),
43
+ 28: dict(name='kpt-28', id=28, color=[255, 0, 0], type='', swap=''),
44
+ 29: dict(name='kpt-29', id=29, color=[255, 0, 0], type='', swap=''),
45
+ 30: dict(name='kpt-30', id=30, color=[255, 0, 0], type='', swap=''),
46
+ 31: dict(name='kpt-31', id=31, color=[255, 0, 0], type='', swap=''),
47
+ 32: dict(name='kpt-32', id=32, color=[255, 0, 0], type='', swap=''),
48
+ 33: dict(name='kpt-33', id=33, color=[255, 0, 0], type='', swap=''),
49
+ 34: dict(name='kpt-34', id=34, color=[255, 0, 0], type='', swap=''),
50
+ 35: dict(name='kpt-35', id=35, color=[255, 0, 0], type='', swap=''),
51
+ 36: dict(name='kpt-36', id=36, color=[255, 0, 0], type='', swap=''),
52
+ 37: dict(name='kpt-37', id=37, color=[255, 0, 0], type='', swap=''),
53
+ 38: dict(name='kpt-38', id=38, color=[255, 0, 0], type='', swap=''),
54
+ 39: dict(name='kpt-39', id=39, color=[255, 0, 0], type='', swap=''),
55
+ 40: dict(name='kpt-40', id=40, color=[255, 0, 0], type='', swap=''),
56
+ 41: dict(name='kpt-41', id=41, color=[255, 0, 0], type='', swap=''),
57
+ 42: dict(name='kpt-42', id=42, color=[255, 0, 0], type='', swap=''),
58
+ 43: dict(name='kpt-43', id=43, color=[255, 0, 0], type='', swap=''),
59
+ 44: dict(name='kpt-44', id=44, color=[255, 0, 0], type='', swap=''),
60
+ 45: dict(name='kpt-45', id=45, color=[255, 0, 0], type='', swap=''),
61
+ 46: dict(name='kpt-46', id=46, color=[255, 0, 0], type='', swap=''),
62
+ 47: dict(name='kpt-47', id=47, color=[255, 0, 0], type='', swap=''),
63
+ 48: dict(name='kpt-48', id=48, color=[255, 0, 0], type='', swap=''),
64
+ 49: dict(name='kpt-49', id=49, color=[255, 0, 0], type='', swap=''),
65
+ 50: dict(name='kpt-50', id=50, color=[255, 0, 0], type='', swap=''),
66
+ 51: dict(name='kpt-51', id=51, color=[255, 0, 0], type='', swap=''),
67
+ 52: dict(name='kpt-52', id=52, color=[255, 0, 0], type='', swap=''),
68
+ 53: dict(name='kpt-53', id=53, color=[255, 0, 0], type='', swap=''),
69
+ 54: dict(name='kpt-54', id=54, color=[255, 0, 0], type='', swap=''),
70
+ 55: dict(name='kpt-55', id=55, color=[255, 0, 0], type='', swap=''),
71
+ 56: dict(name='kpt-56', id=56, color=[255, 0, 0], type='', swap=''),
72
+ 57: dict(name='kpt-57', id=57, color=[255, 0, 0], type='', swap=''),
73
+ 58: dict(name='kpt-58', id=58, color=[255, 0, 0], type='', swap=''),
74
+ 59: dict(name='kpt-59', id=59, color=[255, 0, 0], type='', swap=''),
75
+ 60: dict(name='kpt-60', id=60, color=[255, 0, 0], type='', swap=''),
76
+ 61: dict(name='kpt-61', id=61, color=[255, 0, 0], type='', swap=''),
77
+ 62: dict(name='kpt-62', id=62, color=[255, 0, 0], type='', swap=''),
78
+ 63: dict(name='kpt-63', id=63, color=[255, 0, 0], type='', swap=''),
79
+ 64: dict(name='kpt-64', id=64, color=[255, 0, 0], type='', swap=''),
80
+ 65: dict(name='kpt-65', id=65, color=[255, 0, 0], type='', swap=''),
81
+ 66: dict(name='kpt-66', id=66, color=[255, 0, 0], type='', swap=''),
82
+ 67: dict(name='kpt-67', id=67, color=[255, 0, 0], type='', swap=''),
83
+ },
84
+ skeleton_info={},
85
+ joint_weights=[1.] * 68,
86
+ sigmas=[])
configs/_base_/datasets/aflw.py ADDED
@@ -0,0 +1,44 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='aflw',
3
+ paper_info=dict(
4
+ author='Koestinger, Martin and Wohlhart, Paul and '
5
+ 'Roth, Peter M and Bischof, Horst',
6
+ title='Annotated facial landmarks in the wild: '
7
+ 'A large-scale, real-world database for facial '
8
+ 'landmark localization',
9
+ container='2011 IEEE international conference on computer '
10
+ 'vision workshops (ICCV workshops)',
11
+ year='2011',
12
+ homepage='https://www.tugraz.at/institute/icg/research/'
13
+ 'team-bischof/lrs/downloads/aflw/',
14
+ ),
15
+ keypoint_info={
16
+ 0: dict(name='kpt-0', id=0, color=[255, 0, 0], type='', swap='kpt-5'),
17
+ 1: dict(name='kpt-1', id=1, color=[255, 0, 0], type='', swap='kpt-4'),
18
+ 2: dict(name='kpt-2', id=2, color=[255, 0, 0], type='', swap='kpt-3'),
19
+ 3: dict(name='kpt-3', id=3, color=[255, 0, 0], type='', swap='kpt-2'),
20
+ 4: dict(name='kpt-4', id=4, color=[255, 0, 0], type='', swap='kpt-1'),
21
+ 5: dict(name='kpt-5', id=5, color=[255, 0, 0], type='', swap='kpt-0'),
22
+ 6: dict(name='kpt-6', id=6, color=[255, 0, 0], type='', swap='kpt-11'),
23
+ 7: dict(name='kpt-7', id=7, color=[255, 0, 0], type='', swap='kpt-10'),
24
+ 8: dict(name='kpt-8', id=8, color=[255, 0, 0], type='', swap='kpt-9'),
25
+ 9: dict(name='kpt-9', id=9, color=[255, 0, 0], type='', swap='kpt-8'),
26
+ 10:
27
+ dict(name='kpt-10', id=10, color=[255, 0, 0], type='', swap='kpt-7'),
28
+ 11:
29
+ dict(name='kpt-11', id=11, color=[255, 0, 0], type='', swap='kpt-6'),
30
+ 12:
31
+ dict(name='kpt-12', id=12, color=[255, 0, 0], type='', swap='kpt-14'),
32
+ 13: dict(name='kpt-13', id=13, color=[255, 0, 0], type='', swap=''),
33
+ 14:
34
+ dict(name='kpt-14', id=14, color=[255, 0, 0], type='', swap='kpt-12'),
35
+ 15:
36
+ dict(name='kpt-15', id=15, color=[255, 0, 0], type='', swap='kpt-17'),
37
+ 16: dict(name='kpt-16', id=16, color=[255, 0, 0], type='', swap=''),
38
+ 17:
39
+ dict(name='kpt-17', id=17, color=[255, 0, 0], type='', swap='kpt-15'),
40
+ 18: dict(name='kpt-18', id=18, color=[255, 0, 0], type='', swap='')
41
+ },
42
+ skeleton_info={},
43
+ joint_weights=[1.] * 19,
44
+ sigmas=[])
configs/_base_/datasets/aic.py ADDED
@@ -0,0 +1,140 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='aic',
3
+ paper_info=dict(
4
+ author='Wu, Jiahong and Zheng, He and Zhao, Bo and '
5
+ 'Li, Yixin and Yan, Baoming and Liang, Rui and '
6
+ 'Wang, Wenjia and Zhou, Shipei and Lin, Guosen and '
7
+ 'Fu, Yanwei and others',
8
+ title='Ai challenger: A large-scale dataset for going '
9
+ 'deeper in image understanding',
10
+ container='arXiv',
11
+ year='2017',
12
+ homepage='https://github.com/AIChallenger/AI_Challenger_2017',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='right_shoulder',
18
+ id=0,
19
+ color=[255, 128, 0],
20
+ type='upper',
21
+ swap='left_shoulder'),
22
+ 1:
23
+ dict(
24
+ name='right_elbow',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='upper',
28
+ swap='left_elbow'),
29
+ 2:
30
+ dict(
31
+ name='right_wrist',
32
+ id=2,
33
+ color=[255, 128, 0],
34
+ type='upper',
35
+ swap='left_wrist'),
36
+ 3:
37
+ dict(
38
+ name='left_shoulder',
39
+ id=3,
40
+ color=[0, 255, 0],
41
+ type='upper',
42
+ swap='right_shoulder'),
43
+ 4:
44
+ dict(
45
+ name='left_elbow',
46
+ id=4,
47
+ color=[0, 255, 0],
48
+ type='upper',
49
+ swap='right_elbow'),
50
+ 5:
51
+ dict(
52
+ name='left_wrist',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='upper',
56
+ swap='right_wrist'),
57
+ 6:
58
+ dict(
59
+ name='right_hip',
60
+ id=6,
61
+ color=[255, 128, 0],
62
+ type='lower',
63
+ swap='left_hip'),
64
+ 7:
65
+ dict(
66
+ name='right_knee',
67
+ id=7,
68
+ color=[255, 128, 0],
69
+ type='lower',
70
+ swap='left_knee'),
71
+ 8:
72
+ dict(
73
+ name='right_ankle',
74
+ id=8,
75
+ color=[255, 128, 0],
76
+ type='lower',
77
+ swap='left_ankle'),
78
+ 9:
79
+ dict(
80
+ name='left_hip',
81
+ id=9,
82
+ color=[0, 255, 0],
83
+ type='lower',
84
+ swap='right_hip'),
85
+ 10:
86
+ dict(
87
+ name='left_knee',
88
+ id=10,
89
+ color=[0, 255, 0],
90
+ type='lower',
91
+ swap='right_knee'),
92
+ 11:
93
+ dict(
94
+ name='left_ankle',
95
+ id=11,
96
+ color=[0, 255, 0],
97
+ type='lower',
98
+ swap='right_ankle'),
99
+ 12:
100
+ dict(
101
+ name='head_top',
102
+ id=12,
103
+ color=[51, 153, 255],
104
+ type='upper',
105
+ swap=''),
106
+ 13:
107
+ dict(name='neck', id=13, color=[51, 153, 255], type='upper', swap='')
108
+ },
109
+ skeleton_info={
110
+ 0:
111
+ dict(link=('right_wrist', 'right_elbow'), id=0, color=[255, 128, 0]),
112
+ 1: dict(
113
+ link=('right_elbow', 'right_shoulder'), id=1, color=[255, 128, 0]),
114
+ 2: dict(link=('right_shoulder', 'neck'), id=2, color=[51, 153, 255]),
115
+ 3: dict(link=('neck', 'left_shoulder'), id=3, color=[51, 153, 255]),
116
+ 4: dict(link=('left_shoulder', 'left_elbow'), id=4, color=[0, 255, 0]),
117
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
118
+ 6: dict(link=('right_ankle', 'right_knee'), id=6, color=[255, 128, 0]),
119
+ 7: dict(link=('right_knee', 'right_hip'), id=7, color=[255, 128, 0]),
120
+ 8: dict(link=('right_hip', 'left_hip'), id=8, color=[51, 153, 255]),
121
+ 9: dict(link=('left_hip', 'left_knee'), id=9, color=[0, 255, 0]),
122
+ 10: dict(link=('left_knee', 'left_ankle'), id=10, color=[0, 255, 0]),
123
+ 11: dict(link=('head_top', 'neck'), id=11, color=[51, 153, 255]),
124
+ 12: dict(
125
+ link=('right_shoulder', 'right_hip'), id=12, color=[51, 153, 255]),
126
+ 13:
127
+ dict(link=('left_shoulder', 'left_hip'), id=13, color=[51, 153, 255])
128
+ },
129
+ joint_weights=[
130
+ 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.2, 1.5, 1., 1.
131
+ ],
132
+
133
+ # 'https://github.com/AIChallenger/AI_Challenger_2017/blob/master/'
134
+ # 'Evaluation/keypoint_eval/keypoint_eval.py#L50'
135
+ # delta = 2 x sigma
136
+ sigmas=[
137
+ 0.01388152, 0.01515228, 0.01057665, 0.01417709, 0.01497891, 0.01402144,
138
+ 0.03909642, 0.03686941, 0.01981803, 0.03843971, 0.03412318, 0.02415081,
139
+ 0.01291456, 0.01236173
140
+ ])
configs/_base_/datasets/ak.py ADDED
@@ -0,0 +1,267 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='Animal Kingdom',
3
+ paper_info=dict(
4
+ author='Singapore University of Technology and Design, Singapore.'
5
+ ' Xun Long Ng, Kian Eng Ong, Qichen Zheng,'
6
+ ' Yun Ni, Si Yong Yeo, Jun Liu.',
7
+ title='Animal Kingdom: '
8
+ 'A Large and Diverse Dataset for Animal Behavior Understanding',
9
+ container='Conference on Computer Vision '
10
+ 'and Pattern Recognition (CVPR)',
11
+ year='2022',
12
+ homepage='https://sutdcv.github.io/Animal-Kingdom',
13
+ version='1.0 (2022-06)',
14
+ date_created='2022-06',
15
+ ),
16
+ keypoint_info={
17
+ 0:
18
+ dict(
19
+ name='Head_Mid_Top',
20
+ id=0,
21
+ color=(225, 0, 255),
22
+ type='upper',
23
+ swap=''),
24
+ 1:
25
+ dict(
26
+ name='Eye_Left',
27
+ id=1,
28
+ color=[220, 20, 60],
29
+ type='upper',
30
+ swap='Eye_Right'),
31
+ 2:
32
+ dict(
33
+ name='Eye_Right',
34
+ id=2,
35
+ color=[0, 255, 255],
36
+ type='upper',
37
+ swap='Eye_Left'),
38
+ 3:
39
+ dict(
40
+ name='Mouth_Front_Top',
41
+ id=3,
42
+ color=(0, 255, 42),
43
+ type='upper',
44
+ swap=''),
45
+ 4:
46
+ dict(
47
+ name='Mouth_Back_Left',
48
+ id=4,
49
+ color=[221, 160, 221],
50
+ type='upper',
51
+ swap='Mouth_Back_Right'),
52
+ 5:
53
+ dict(
54
+ name='Mouth_Back_Right',
55
+ id=5,
56
+ color=[135, 206, 250],
57
+ type='upper',
58
+ swap='Mouth_Back_Left'),
59
+ 6:
60
+ dict(
61
+ name='Mouth_Front_Bottom',
62
+ id=6,
63
+ color=[50, 205, 50],
64
+ type='upper',
65
+ swap=''),
66
+ 7:
67
+ dict(
68
+ name='Shoulder_Left',
69
+ id=7,
70
+ color=[255, 182, 193],
71
+ type='upper',
72
+ swap='Shoulder_Right'),
73
+ 8:
74
+ dict(
75
+ name='Shoulder_Right',
76
+ id=8,
77
+ color=[0, 191, 255],
78
+ type='upper',
79
+ swap='Shoulder_Left'),
80
+ 9:
81
+ dict(
82
+ name='Elbow_Left',
83
+ id=9,
84
+ color=[255, 105, 180],
85
+ type='upper',
86
+ swap='Elbow_Right'),
87
+ 10:
88
+ dict(
89
+ name='Elbow_Right',
90
+ id=10,
91
+ color=[30, 144, 255],
92
+ type='upper',
93
+ swap='Elbow_Left'),
94
+ 11:
95
+ dict(
96
+ name='Wrist_Left',
97
+ id=11,
98
+ color=[255, 20, 147],
99
+ type='upper',
100
+ swap='Wrist_Right'),
101
+ 12:
102
+ dict(
103
+ name='Wrist_Right',
104
+ id=12,
105
+ color=[0, 0, 255],
106
+ type='upper',
107
+ swap='Wrist_Left'),
108
+ 13:
109
+ dict(
110
+ name='Torso_Mid_Back',
111
+ id=13,
112
+ color=(185, 3, 221),
113
+ type='upper',
114
+ swap=''),
115
+ 14:
116
+ dict(
117
+ name='Hip_Left',
118
+ id=14,
119
+ color=[255, 215, 0],
120
+ type='lower',
121
+ swap='Hip_Right'),
122
+ 15:
123
+ dict(
124
+ name='Hip_Right',
125
+ id=15,
126
+ color=[147, 112, 219],
127
+ type='lower',
128
+ swap='Hip_Left'),
129
+ 16:
130
+ dict(
131
+ name='Knee_Left',
132
+ id=16,
133
+ color=[255, 165, 0],
134
+ type='lower',
135
+ swap='Knee_Right'),
136
+ 17:
137
+ dict(
138
+ name='Knee_Right',
139
+ id=17,
140
+ color=[138, 43, 226],
141
+ type='lower',
142
+ swap='Knee_Left'),
143
+ 18:
144
+ dict(
145
+ name='Ankle_Left',
146
+ id=18,
147
+ color=[255, 140, 0],
148
+ type='lower',
149
+ swap='Ankle_Right'),
150
+ 19:
151
+ dict(
152
+ name='Ankle_Right',
153
+ id=19,
154
+ color=[128, 0, 128],
155
+ type='lower',
156
+ swap='Ankle_Left'),
157
+ 20:
158
+ dict(
159
+ name='Tail_Top_Back',
160
+ id=20,
161
+ color=(0, 251, 255),
162
+ type='lower',
163
+ swap=''),
164
+ 21:
165
+ dict(
166
+ name='Tail_Mid_Back',
167
+ id=21,
168
+ color=[32, 178, 170],
169
+ type='lower',
170
+ swap=''),
171
+ 22:
172
+ dict(
173
+ name='Tail_End_Back',
174
+ id=22,
175
+ color=(0, 102, 102),
176
+ type='lower',
177
+ swap='')
178
+ },
179
+ skeleton_info={
180
+ 0:
181
+ dict(link=('Eye_Left', 'Head_Mid_Top'), id=0, color=[220, 20, 60]),
182
+ 1:
183
+ dict(link=('Eye_Right', 'Head_Mid_Top'), id=1, color=[0, 255, 255]),
184
+ 2:
185
+ dict(
186
+ link=('Mouth_Front_Top', 'Mouth_Back_Left'),
187
+ id=2,
188
+ color=[221, 160, 221]),
189
+ 3:
190
+ dict(
191
+ link=('Mouth_Front_Top', 'Mouth_Back_Right'),
192
+ id=3,
193
+ color=[135, 206, 250]),
194
+ 4:
195
+ dict(
196
+ link=('Mouth_Front_Bottom', 'Mouth_Back_Left'),
197
+ id=4,
198
+ color=[221, 160, 221]),
199
+ 5:
200
+ dict(
201
+ link=('Mouth_Front_Bottom', 'Mouth_Back_Right'),
202
+ id=5,
203
+ color=[135, 206, 250]),
204
+ 6:
205
+ dict(
206
+ link=('Head_Mid_Top', 'Torso_Mid_Back'), id=6,
207
+ color=(225, 0, 255)),
208
+ 7:
209
+ dict(
210
+ link=('Torso_Mid_Back', 'Tail_Top_Back'),
211
+ id=7,
212
+ color=(185, 3, 221)),
213
+ 8:
214
+ dict(
215
+ link=('Tail_Top_Back', 'Tail_Mid_Back'), id=8,
216
+ color=(0, 251, 255)),
217
+ 9:
218
+ dict(
219
+ link=('Tail_Mid_Back', 'Tail_End_Back'),
220
+ id=9,
221
+ color=[32, 178, 170]),
222
+ 10:
223
+ dict(
224
+ link=('Head_Mid_Top', 'Shoulder_Left'),
225
+ id=10,
226
+ color=[255, 182, 193]),
227
+ 11:
228
+ dict(
229
+ link=('Head_Mid_Top', 'Shoulder_Right'),
230
+ id=11,
231
+ color=[0, 191, 255]),
232
+ 12:
233
+ dict(
234
+ link=('Shoulder_Left', 'Elbow_Left'), id=12, color=[255, 105,
235
+ 180]),
236
+ 13:
237
+ dict(
238
+ link=('Shoulder_Right', 'Elbow_Right'),
239
+ id=13,
240
+ color=[30, 144, 255]),
241
+ 14:
242
+ dict(link=('Elbow_Left', 'Wrist_Left'), id=14, color=[255, 20, 147]),
243
+ 15:
244
+ dict(link=('Elbow_Right', 'Wrist_Right'), id=15, color=[0, 0, 255]),
245
+ 16:
246
+ dict(link=('Tail_Top_Back', 'Hip_Left'), id=16, color=[255, 215, 0]),
247
+ 17:
248
+ dict(
249
+ link=('Tail_Top_Back', 'Hip_Right'), id=17, color=[147, 112, 219]),
250
+ 18:
251
+ dict(link=('Hip_Left', 'Knee_Left'), id=18, color=[255, 165, 0]),
252
+ 19:
253
+ dict(link=('Hip_Right', 'Knee_Right'), id=19, color=[138, 43, 226]),
254
+ 20:
255
+ dict(link=('Knee_Left', 'Ankle_Left'), id=20, color=[255, 140, 0]),
256
+ 21:
257
+ dict(link=('Knee_Right', 'Ankle_Right'), id=21, color=[128, 0, 128])
258
+ },
259
+ joint_weights=[
260
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
261
+ 1., 1., 1., 1., 1.
262
+ ],
263
+ sigmas=[
264
+ 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025,
265
+ 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025, 0.025,
266
+ 0.025, 0.025, 0.025
267
+ ])
configs/_base_/datasets/animalpose.py ADDED
@@ -0,0 +1,166 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='animalpose',
3
+ paper_info=dict(
4
+ author='Cao, Jinkun and Tang, Hongyang and Fang, Hao-Shu and '
5
+ 'Shen, Xiaoyong and Lu, Cewu and Tai, Yu-Wing',
6
+ title='Cross-Domain Adaptation for Animal Pose Estimation',
7
+ container='The IEEE International Conference on '
8
+ 'Computer Vision (ICCV)',
9
+ year='2019',
10
+ homepage='https://sites.google.com/view/animal-pose/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='L_Eye', id=0, color=[0, 255, 0], type='upper', swap='R_Eye'),
16
+ 1:
17
+ dict(
18
+ name='R_Eye',
19
+ id=1,
20
+ color=[255, 128, 0],
21
+ type='upper',
22
+ swap='L_Eye'),
23
+ 2:
24
+ dict(
25
+ name='L_EarBase',
26
+ id=2,
27
+ color=[0, 255, 0],
28
+ type='upper',
29
+ swap='R_EarBase'),
30
+ 3:
31
+ dict(
32
+ name='R_EarBase',
33
+ id=3,
34
+ color=[255, 128, 0],
35
+ type='upper',
36
+ swap='L_EarBase'),
37
+ 4:
38
+ dict(name='Nose', id=4, color=[51, 153, 255], type='upper', swap=''),
39
+ 5:
40
+ dict(name='Throat', id=5, color=[51, 153, 255], type='upper', swap=''),
41
+ 6:
42
+ dict(
43
+ name='TailBase', id=6, color=[51, 153, 255], type='lower',
44
+ swap=''),
45
+ 7:
46
+ dict(
47
+ name='Withers', id=7, color=[51, 153, 255], type='upper', swap=''),
48
+ 8:
49
+ dict(
50
+ name='L_F_Elbow',
51
+ id=8,
52
+ color=[0, 255, 0],
53
+ type='upper',
54
+ swap='R_F_Elbow'),
55
+ 9:
56
+ dict(
57
+ name='R_F_Elbow',
58
+ id=9,
59
+ color=[255, 128, 0],
60
+ type='upper',
61
+ swap='L_F_Elbow'),
62
+ 10:
63
+ dict(
64
+ name='L_B_Elbow',
65
+ id=10,
66
+ color=[0, 255, 0],
67
+ type='lower',
68
+ swap='R_B_Elbow'),
69
+ 11:
70
+ dict(
71
+ name='R_B_Elbow',
72
+ id=11,
73
+ color=[255, 128, 0],
74
+ type='lower',
75
+ swap='L_B_Elbow'),
76
+ 12:
77
+ dict(
78
+ name='L_F_Knee',
79
+ id=12,
80
+ color=[0, 255, 0],
81
+ type='upper',
82
+ swap='R_F_Knee'),
83
+ 13:
84
+ dict(
85
+ name='R_F_Knee',
86
+ id=13,
87
+ color=[255, 128, 0],
88
+ type='upper',
89
+ swap='L_F_Knee'),
90
+ 14:
91
+ dict(
92
+ name='L_B_Knee',
93
+ id=14,
94
+ color=[0, 255, 0],
95
+ type='lower',
96
+ swap='R_B_Knee'),
97
+ 15:
98
+ dict(
99
+ name='R_B_Knee',
100
+ id=15,
101
+ color=[255, 128, 0],
102
+ type='lower',
103
+ swap='L_B_Knee'),
104
+ 16:
105
+ dict(
106
+ name='L_F_Paw',
107
+ id=16,
108
+ color=[0, 255, 0],
109
+ type='upper',
110
+ swap='R_F_Paw'),
111
+ 17:
112
+ dict(
113
+ name='R_F_Paw',
114
+ id=17,
115
+ color=[255, 128, 0],
116
+ type='upper',
117
+ swap='L_F_Paw'),
118
+ 18:
119
+ dict(
120
+ name='L_B_Paw',
121
+ id=18,
122
+ color=[0, 255, 0],
123
+ type='lower',
124
+ swap='R_B_Paw'),
125
+ 19:
126
+ dict(
127
+ name='R_B_Paw',
128
+ id=19,
129
+ color=[255, 128, 0],
130
+ type='lower',
131
+ swap='L_B_Paw')
132
+ },
133
+ skeleton_info={
134
+ 0: dict(link=('L_Eye', 'R_Eye'), id=0, color=[51, 153, 255]),
135
+ 1: dict(link=('L_Eye', 'L_EarBase'), id=1, color=[0, 255, 0]),
136
+ 2: dict(link=('R_Eye', 'R_EarBase'), id=2, color=[255, 128, 0]),
137
+ 3: dict(link=('L_Eye', 'Nose'), id=3, color=[0, 255, 0]),
138
+ 4: dict(link=('R_Eye', 'Nose'), id=4, color=[255, 128, 0]),
139
+ 5: dict(link=('Nose', 'Throat'), id=5, color=[51, 153, 255]),
140
+ 6: dict(link=('Throat', 'Withers'), id=6, color=[51, 153, 255]),
141
+ 7: dict(link=('TailBase', 'Withers'), id=7, color=[51, 153, 255]),
142
+ 8: dict(link=('Throat', 'L_F_Elbow'), id=8, color=[0, 255, 0]),
143
+ 9: dict(link=('L_F_Elbow', 'L_F_Knee'), id=9, color=[0, 255, 0]),
144
+ 10: dict(link=('L_F_Knee', 'L_F_Paw'), id=10, color=[0, 255, 0]),
145
+ 11: dict(link=('Throat', 'R_F_Elbow'), id=11, color=[255, 128, 0]),
146
+ 12: dict(link=('R_F_Elbow', 'R_F_Knee'), id=12, color=[255, 128, 0]),
147
+ 13: dict(link=('R_F_Knee', 'R_F_Paw'), id=13, color=[255, 128, 0]),
148
+ 14: dict(link=('TailBase', 'L_B_Elbow'), id=14, color=[0, 255, 0]),
149
+ 15: dict(link=('L_B_Elbow', 'L_B_Knee'), id=15, color=[0, 255, 0]),
150
+ 16: dict(link=('L_B_Knee', 'L_B_Paw'), id=16, color=[0, 255, 0]),
151
+ 17: dict(link=('TailBase', 'R_B_Elbow'), id=17, color=[255, 128, 0]),
152
+ 18: dict(link=('R_B_Elbow', 'R_B_Knee'), id=18, color=[255, 128, 0]),
153
+ 19: dict(link=('R_B_Knee', 'R_B_Paw'), id=19, color=[255, 128, 0])
154
+ },
155
+ joint_weights=[
156
+ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.2, 1.2,
157
+ 1.5, 1.5, 1.5, 1.5
158
+ ],
159
+
160
+ # Note: The original paper did not provide enough information about
161
+ # the sigmas. We modified from 'https://github.com/cocodataset/'
162
+ # 'cocoapi/blob/master/PythonAPI/pycocotools/cocoeval.py#L523'
163
+ sigmas=[
164
+ 0.025, 0.025, 0.026, 0.035, 0.035, 0.10, 0.10, 0.10, 0.107, 0.107,
165
+ 0.107, 0.107, 0.087, 0.087, 0.087, 0.087, 0.089, 0.089, 0.089, 0.089
166
+ ])
configs/_base_/datasets/ap10k.py ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='ap10k',
3
+ paper_info=dict(
4
+ author='Yu, Hang and Xu, Yufei and Zhang, Jing and '
5
+ 'Zhao, Wei and Guan, Ziyu and Tao, Dacheng',
6
+ title='AP-10K: A Benchmark for Animal Pose Estimation in the Wild',
7
+ container='35th Conference on Neural Information Processing Systems '
8
+ '(NeurIPS 2021) Track on Datasets and Bench-marks.',
9
+ year='2021',
10
+ homepage='https://github.com/AlexTheBad/AP-10K',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='L_Eye', id=0, color=[0, 255, 0], type='upper', swap='R_Eye'),
16
+ 1:
17
+ dict(
18
+ name='R_Eye',
19
+ id=1,
20
+ color=[255, 128, 0],
21
+ type='upper',
22
+ swap='L_Eye'),
23
+ 2:
24
+ dict(name='Nose', id=2, color=[51, 153, 255], type='upper', swap=''),
25
+ 3:
26
+ dict(name='Neck', id=3, color=[51, 153, 255], type='upper', swap=''),
27
+ 4:
28
+ dict(
29
+ name='Root of tail',
30
+ id=4,
31
+ color=[51, 153, 255],
32
+ type='lower',
33
+ swap=''),
34
+ 5:
35
+ dict(
36
+ name='L_Shoulder',
37
+ id=5,
38
+ color=[51, 153, 255],
39
+ type='upper',
40
+ swap='R_Shoulder'),
41
+ 6:
42
+ dict(
43
+ name='L_Elbow',
44
+ id=6,
45
+ color=[51, 153, 255],
46
+ type='upper',
47
+ swap='R_Elbow'),
48
+ 7:
49
+ dict(
50
+ name='L_F_Paw',
51
+ id=7,
52
+ color=[0, 255, 0],
53
+ type='upper',
54
+ swap='R_F_Paw'),
55
+ 8:
56
+ dict(
57
+ name='R_Shoulder',
58
+ id=8,
59
+ color=[0, 255, 0],
60
+ type='upper',
61
+ swap='L_Shoulder'),
62
+ 9:
63
+ dict(
64
+ name='R_Elbow',
65
+ id=9,
66
+ color=[255, 128, 0],
67
+ type='upper',
68
+ swap='L_Elbow'),
69
+ 10:
70
+ dict(
71
+ name='R_F_Paw',
72
+ id=10,
73
+ color=[0, 255, 0],
74
+ type='lower',
75
+ swap='L_F_Paw'),
76
+ 11:
77
+ dict(
78
+ name='L_Hip',
79
+ id=11,
80
+ color=[255, 128, 0],
81
+ type='lower',
82
+ swap='R_Hip'),
83
+ 12:
84
+ dict(
85
+ name='L_Knee',
86
+ id=12,
87
+ color=[255, 128, 0],
88
+ type='lower',
89
+ swap='R_Knee'),
90
+ 13:
91
+ dict(
92
+ name='L_B_Paw',
93
+ id=13,
94
+ color=[0, 255, 0],
95
+ type='lower',
96
+ swap='R_B_Paw'),
97
+ 14:
98
+ dict(
99
+ name='R_Hip', id=14, color=[0, 255, 0], type='lower',
100
+ swap='L_Hip'),
101
+ 15:
102
+ dict(
103
+ name='R_Knee',
104
+ id=15,
105
+ color=[0, 255, 0],
106
+ type='lower',
107
+ swap='L_Knee'),
108
+ 16:
109
+ dict(
110
+ name='R_B_Paw',
111
+ id=16,
112
+ color=[0, 255, 0],
113
+ type='lower',
114
+ swap='L_B_Paw'),
115
+ },
116
+ skeleton_info={
117
+ 0: dict(link=('L_Eye', 'R_Eye'), id=0, color=[0, 0, 255]),
118
+ 1: dict(link=('L_Eye', 'Nose'), id=1, color=[0, 0, 255]),
119
+ 2: dict(link=('R_Eye', 'Nose'), id=2, color=[0, 0, 255]),
120
+ 3: dict(link=('Nose', 'Neck'), id=3, color=[0, 255, 0]),
121
+ 4: dict(link=('Neck', 'Root of tail'), id=4, color=[0, 255, 0]),
122
+ 5: dict(link=('Neck', 'L_Shoulder'), id=5, color=[0, 255, 255]),
123
+ 6: dict(link=('L_Shoulder', 'L_Elbow'), id=6, color=[0, 255, 255]),
124
+ 7: dict(link=('L_Elbow', 'L_F_Paw'), id=6, color=[0, 255, 255]),
125
+ 8: dict(link=('Neck', 'R_Shoulder'), id=7, color=[6, 156, 250]),
126
+ 9: dict(link=('R_Shoulder', 'R_Elbow'), id=8, color=[6, 156, 250]),
127
+ 10: dict(link=('R_Elbow', 'R_F_Paw'), id=9, color=[6, 156, 250]),
128
+ 11: dict(link=('Root of tail', 'L_Hip'), id=10, color=[0, 255, 255]),
129
+ 12: dict(link=('L_Hip', 'L_Knee'), id=11, color=[0, 255, 255]),
130
+ 13: dict(link=('L_Knee', 'L_B_Paw'), id=12, color=[0, 255, 255]),
131
+ 14: dict(link=('Root of tail', 'R_Hip'), id=13, color=[6, 156, 250]),
132
+ 15: dict(link=('R_Hip', 'R_Knee'), id=14, color=[6, 156, 250]),
133
+ 16: dict(link=('R_Knee', 'R_B_Paw'), id=15, color=[6, 156, 250]),
134
+ },
135
+ joint_weights=[
136
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
137
+ 1.5
138
+ ],
139
+ sigmas=[
140
+ 0.025, 0.025, 0.026, 0.035, 0.035, 0.079, 0.072, 0.062, 0.079, 0.072,
141
+ 0.062, 0.107, 0.087, 0.089, 0.107, 0.087, 0.089
142
+ ])
configs/_base_/datasets/atrw.py ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='atrw',
3
+ paper_info=dict(
4
+ author='Li, Shuyuan and Li, Jianguo and Tang, Hanlin '
5
+ 'and Qian, Rui and Lin, Weiyao',
6
+ title='ATRW: A Benchmark for Amur Tiger '
7
+ 'Re-identification in the Wild',
8
+ container='Proceedings of the 28th ACM '
9
+ 'International Conference on Multimedia',
10
+ year='2020',
11
+ homepage='https://cvwc2019.github.io/challenge.html',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='left_ear',
17
+ id=0,
18
+ color=[51, 153, 255],
19
+ type='upper',
20
+ swap='right_ear'),
21
+ 1:
22
+ dict(
23
+ name='right_ear',
24
+ id=1,
25
+ color=[51, 153, 255],
26
+ type='upper',
27
+ swap='left_ear'),
28
+ 2:
29
+ dict(name='nose', id=2, color=[51, 153, 255], type='upper', swap=''),
30
+ 3:
31
+ dict(
32
+ name='right_shoulder',
33
+ id=3,
34
+ color=[255, 128, 0],
35
+ type='upper',
36
+ swap='left_shoulder'),
37
+ 4:
38
+ dict(
39
+ name='right_front_paw',
40
+ id=4,
41
+ color=[255, 128, 0],
42
+ type='upper',
43
+ swap='left_front_paw'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='left_front_paw',
54
+ id=6,
55
+ color=[0, 255, 0],
56
+ type='upper',
57
+ swap='right_front_paw'),
58
+ 7:
59
+ dict(
60
+ name='right_hip',
61
+ id=7,
62
+ color=[255, 128, 0],
63
+ type='lower',
64
+ swap='left_hip'),
65
+ 8:
66
+ dict(
67
+ name='right_knee',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='lower',
71
+ swap='left_knee'),
72
+ 9:
73
+ dict(
74
+ name='right_back_paw',
75
+ id=9,
76
+ color=[255, 128, 0],
77
+ type='lower',
78
+ swap='left_back_paw'),
79
+ 10:
80
+ dict(
81
+ name='left_hip',
82
+ id=10,
83
+ color=[0, 255, 0],
84
+ type='lower',
85
+ swap='right_hip'),
86
+ 11:
87
+ dict(
88
+ name='left_knee',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_knee'),
93
+ 12:
94
+ dict(
95
+ name='left_back_paw',
96
+ id=12,
97
+ color=[0, 255, 0],
98
+ type='lower',
99
+ swap='right_back_paw'),
100
+ 13:
101
+ dict(name='tail', id=13, color=[51, 153, 255], type='lower', swap=''),
102
+ 14:
103
+ dict(
104
+ name='center', id=14, color=[51, 153, 255], type='lower', swap=''),
105
+ },
106
+ skeleton_info={
107
+ 0:
108
+ dict(link=('left_ear', 'nose'), id=0, color=[51, 153, 255]),
109
+ 1:
110
+ dict(link=('right_ear', 'nose'), id=1, color=[51, 153, 255]),
111
+ 2:
112
+ dict(link=('nose', 'center'), id=2, color=[51, 153, 255]),
113
+ 3:
114
+ dict(
115
+ link=('left_shoulder', 'left_front_paw'), id=3, color=[0, 255, 0]),
116
+ 4:
117
+ dict(link=('left_shoulder', 'center'), id=4, color=[0, 255, 0]),
118
+ 5:
119
+ dict(
120
+ link=('right_shoulder', 'right_front_paw'),
121
+ id=5,
122
+ color=[255, 128, 0]),
123
+ 6:
124
+ dict(link=('right_shoulder', 'center'), id=6, color=[255, 128, 0]),
125
+ 7:
126
+ dict(link=('tail', 'center'), id=7, color=[51, 153, 255]),
127
+ 8:
128
+ dict(link=('right_back_paw', 'right_knee'), id=8, color=[255, 128, 0]),
129
+ 9:
130
+ dict(link=('right_knee', 'right_hip'), id=9, color=[255, 128, 0]),
131
+ 10:
132
+ dict(link=('right_hip', 'tail'), id=10, color=[255, 128, 0]),
133
+ 11:
134
+ dict(link=('left_back_paw', 'left_knee'), id=11, color=[0, 255, 0]),
135
+ 12:
136
+ dict(link=('left_knee', 'left_hip'), id=12, color=[0, 255, 0]),
137
+ 13:
138
+ dict(link=('left_hip', 'tail'), id=13, color=[0, 255, 0]),
139
+ },
140
+ joint_weights=[1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.],
141
+ sigmas=[
142
+ 0.0277, 0.0823, 0.0831, 0.0202, 0.0716, 0.0263, 0.0646, 0.0302, 0.0440,
143
+ 0.0316, 0.0333, 0.0547, 0.0263, 0.0683, 0.0539
144
+ ])
configs/_base_/datasets/campus.py ADDED
@@ -0,0 +1,151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='campus',
3
+ paper_info=dict(
4
+ author='Belagiannis, Vasileios and Amin, Sikandar and Andriluka, '
5
+ 'Mykhaylo and Schiele, Bernt and Navab, Nassir and Ilic, Slobodan',
6
+ title='3D Pictorial Structures for Multiple Human Pose Estimation',
7
+ container='IEEE Computer Society Conference on Computer Vision and '
8
+ 'Pattern Recognition (CVPR)',
9
+ year='2014',
10
+ homepage='http://campar.in.tum.de/Chair/MultiHumanPose',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='right_ankle',
16
+ id=0,
17
+ color=[255, 128, 0],
18
+ type='lower',
19
+ swap='left_ankle'),
20
+ 1:
21
+ dict(
22
+ name='right_knee',
23
+ id=1,
24
+ color=[255, 128, 0],
25
+ type='lower',
26
+ swap='left_knee'),
27
+ 2:
28
+ dict(
29
+ name='right_hip',
30
+ id=2,
31
+ color=[255, 128, 0],
32
+ type='lower',
33
+ swap='left_hip'),
34
+ 3:
35
+ dict(
36
+ name='left_hip',
37
+ id=3,
38
+ color=[0, 255, 0],
39
+ type='lower',
40
+ swap='right_hip'),
41
+ 4:
42
+ dict(
43
+ name='left_knee',
44
+ id=4,
45
+ color=[0, 255, 0],
46
+ type='lower',
47
+ swap='right_knee'),
48
+ 5:
49
+ dict(
50
+ name='left_ankle',
51
+ id=5,
52
+ color=[0, 255, 0],
53
+ type='lower',
54
+ swap='right_ankle'),
55
+ 6:
56
+ dict(
57
+ name='right_wrist',
58
+ id=6,
59
+ color=[255, 128, 0],
60
+ type='upper',
61
+ swap='left_wrist'),
62
+ 7:
63
+ dict(
64
+ name='right_elbow',
65
+ id=7,
66
+ color=[255, 128, 0],
67
+ type='upper',
68
+ swap='left_elbow'),
69
+ 8:
70
+ dict(
71
+ name='right_shoulder',
72
+ id=8,
73
+ color=[255, 128, 0],
74
+ type='upper',
75
+ swap='left_shoulder'),
76
+ 9:
77
+ dict(
78
+ name='left_shoulder',
79
+ id=9,
80
+ color=[0, 255, 0],
81
+ type='upper',
82
+ swap='right_shoulder'),
83
+ 10:
84
+ dict(
85
+ name='left_elbow',
86
+ id=10,
87
+ color=[0, 255, 0],
88
+ type='upper',
89
+ swap='right_elbow'),
90
+ 11:
91
+ dict(
92
+ name='left_wrist',
93
+ id=11,
94
+ color=[0, 255, 0],
95
+ type='upper',
96
+ swap='right_wrist'),
97
+ 12:
98
+ dict(
99
+ name='bottom_head',
100
+ id=12,
101
+ color=[51, 153, 255],
102
+ type='upper',
103
+ swap=''),
104
+ 13:
105
+ dict(
106
+ name='top_head',
107
+ id=13,
108
+ color=[51, 153, 255],
109
+ type='upper',
110
+ swap=''),
111
+ },
112
+ skeleton_info={
113
+ 0:
114
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
115
+ 1:
116
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
117
+ 2:
118
+ dict(link=('left_hip', 'left_knee'), id=2, color=[0, 255, 0]),
119
+ 3:
120
+ dict(link=('left_knee', 'left_ankle'), id=3, color=[0, 255, 0]),
121
+ 4:
122
+ dict(link=('right_hip', 'left_hip'), id=4, color=[51, 153, 255]),
123
+ 5:
124
+ dict(link=('right_wrist', 'right_elbow'), id=5, color=[255, 128, 0]),
125
+ 6:
126
+ dict(
127
+ link=('right_elbow', 'right_shoulder'), id=6, color=[255, 128, 0]),
128
+ 7:
129
+ dict(link=('left_shoulder', 'left_elbow'), id=7, color=[0, 255, 0]),
130
+ 8:
131
+ dict(link=('left_elbow', 'left_wrist'), id=8, color=[0, 255, 0]),
132
+ 9:
133
+ dict(link=('right_hip', 'right_shoulder'), id=9, color=[255, 128, 0]),
134
+ 10:
135
+ dict(link=('left_hip', 'left_shoulder'), id=10, color=[0, 255, 0]),
136
+ 11:
137
+ dict(
138
+ link=('right_shoulder', 'bottom_head'), id=11, color=[255, 128,
139
+ 0]),
140
+ 12:
141
+ dict(link=('left_shoulder', 'bottom_head'), id=12, color=[0, 255, 0]),
142
+ 13:
143
+ dict(link=('bottom_head', 'top_head'), id=13, color=[51, 153, 255]),
144
+ },
145
+ joint_weights=[
146
+ 1.5, 1.2, 1.0, 1.0, 1.2, 1.5, 1.5, 1.2, 1.0, 1.0, 1.2, 1.5, 1.0, 1.0
147
+ ],
148
+ sigmas=[
149
+ 0.089, 0.087, 0.107, 0.107, 0.087, 0.089, 0.062, 0.072, 0.079, 0.079,
150
+ 0.072, 0.062, 0.026, 0.026
151
+ ])
configs/_base_/datasets/coco.py ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco',
3
+ paper_info=dict(
4
+ author='Lin, Tsung-Yi and Maire, Michael and '
5
+ 'Belongie, Serge and Hays, James and '
6
+ 'Perona, Pietro and Ramanan, Deva and '
7
+ r'Doll{\'a}r, Piotr and Zitnick, C Lawrence',
8
+ title='Microsoft coco: Common objects in context',
9
+ container='European conference on computer vision',
10
+ year='2014',
11
+ homepage='http://cocodataset.org/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='left_eye',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap='right_eye'),
23
+ 2:
24
+ dict(
25
+ name='right_eye',
26
+ id=2,
27
+ color=[51, 153, 255],
28
+ type='upper',
29
+ swap='left_eye'),
30
+ 3:
31
+ dict(
32
+ name='left_ear',
33
+ id=3,
34
+ color=[51, 153, 255],
35
+ type='upper',
36
+ swap='right_ear'),
37
+ 4:
38
+ dict(
39
+ name='right_ear',
40
+ id=4,
41
+ color=[51, 153, 255],
42
+ type='upper',
43
+ swap='left_ear'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='right_shoulder',
54
+ id=6,
55
+ color=[255, 128, 0],
56
+ type='upper',
57
+ swap='left_shoulder'),
58
+ 7:
59
+ dict(
60
+ name='left_elbow',
61
+ id=7,
62
+ color=[0, 255, 0],
63
+ type='upper',
64
+ swap='right_elbow'),
65
+ 8:
66
+ dict(
67
+ name='right_elbow',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='upper',
71
+ swap='left_elbow'),
72
+ 9:
73
+ dict(
74
+ name='left_wrist',
75
+ id=9,
76
+ color=[0, 255, 0],
77
+ type='upper',
78
+ swap='right_wrist'),
79
+ 10:
80
+ dict(
81
+ name='right_wrist',
82
+ id=10,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_wrist'),
86
+ 11:
87
+ dict(
88
+ name='left_hip',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_hip'),
93
+ 12:
94
+ dict(
95
+ name='right_hip',
96
+ id=12,
97
+ color=[255, 128, 0],
98
+ type='lower',
99
+ swap='left_hip'),
100
+ 13:
101
+ dict(
102
+ name='left_knee',
103
+ id=13,
104
+ color=[0, 255, 0],
105
+ type='lower',
106
+ swap='right_knee'),
107
+ 14:
108
+ dict(
109
+ name='right_knee',
110
+ id=14,
111
+ color=[255, 128, 0],
112
+ type='lower',
113
+ swap='left_knee'),
114
+ 15:
115
+ dict(
116
+ name='left_ankle',
117
+ id=15,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='right_ankle'),
121
+ 16:
122
+ dict(
123
+ name='right_ankle',
124
+ id=16,
125
+ color=[255, 128, 0],
126
+ type='lower',
127
+ swap='left_ankle')
128
+ },
129
+ skeleton_info={
130
+ 0:
131
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
132
+ 1:
133
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
134
+ 2:
135
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
136
+ 3:
137
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
138
+ 4:
139
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
140
+ 5:
141
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
142
+ 6:
143
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
144
+ 7:
145
+ dict(
146
+ link=('left_shoulder', 'right_shoulder'),
147
+ id=7,
148
+ color=[51, 153, 255]),
149
+ 8:
150
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
151
+ 9:
152
+ dict(
153
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
154
+ 10:
155
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
156
+ 11:
157
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
158
+ 12:
159
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
160
+ 13:
161
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
162
+ 14:
163
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
164
+ 15:
165
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
166
+ 16:
167
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
168
+ 17:
169
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
170
+ 18:
171
+ dict(
172
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
173
+ },
174
+ joint_weights=[
175
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
176
+ 1.5
177
+ ],
178
+ sigmas=[
179
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
180
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
181
+ ])
configs/_base_/datasets/coco_aic.py ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco',
3
+ paper_info=[
4
+ dict(
5
+ author='Lin, Tsung-Yi and Maire, Michael and '
6
+ 'Belongie, Serge and Hays, James and '
7
+ 'Perona, Pietro and Ramanan, Deva and '
8
+ r'Doll{\'a}r, Piotr and Zitnick, C Lawrence',
9
+ title='Microsoft coco: Common objects in context',
10
+ container='European conference on computer vision',
11
+ year='2014',
12
+ homepage='http://cocodataset.org/',
13
+ ),
14
+ dict(
15
+ author='Wu, Jiahong and Zheng, He and Zhao, Bo and '
16
+ 'Li, Yixin and Yan, Baoming and Liang, Rui and '
17
+ 'Wang, Wenjia and Zhou, Shipei and Lin, Guosen and '
18
+ 'Fu, Yanwei and others',
19
+ title='Ai challenger: A large-scale dataset for going '
20
+ 'deeper in image understanding',
21
+ container='arXiv',
22
+ year='2017',
23
+ homepage='https://github.com/AIChallenger/AI_Challenger_2017',
24
+ ),
25
+ ],
26
+ keypoint_info={
27
+ 0:
28
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
29
+ 1:
30
+ dict(
31
+ name='left_eye',
32
+ id=1,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='right_eye'),
36
+ 2:
37
+ dict(
38
+ name='right_eye',
39
+ id=2,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='left_eye'),
43
+ 3:
44
+ dict(
45
+ name='left_ear',
46
+ id=3,
47
+ color=[51, 153, 255],
48
+ type='upper',
49
+ swap='right_ear'),
50
+ 4:
51
+ dict(
52
+ name='right_ear',
53
+ id=4,
54
+ color=[51, 153, 255],
55
+ type='upper',
56
+ swap='left_ear'),
57
+ 5:
58
+ dict(
59
+ name='left_shoulder',
60
+ id=5,
61
+ color=[0, 255, 0],
62
+ type='upper',
63
+ swap='right_shoulder'),
64
+ 6:
65
+ dict(
66
+ name='right_shoulder',
67
+ id=6,
68
+ color=[255, 128, 0],
69
+ type='upper',
70
+ swap='left_shoulder'),
71
+ 7:
72
+ dict(
73
+ name='left_elbow',
74
+ id=7,
75
+ color=[0, 255, 0],
76
+ type='upper',
77
+ swap='right_elbow'),
78
+ 8:
79
+ dict(
80
+ name='right_elbow',
81
+ id=8,
82
+ color=[255, 128, 0],
83
+ type='upper',
84
+ swap='left_elbow'),
85
+ 9:
86
+ dict(
87
+ name='left_wrist',
88
+ id=9,
89
+ color=[0, 255, 0],
90
+ type='upper',
91
+ swap='right_wrist'),
92
+ 10:
93
+ dict(
94
+ name='right_wrist',
95
+ id=10,
96
+ color=[255, 128, 0],
97
+ type='upper',
98
+ swap='left_wrist'),
99
+ 11:
100
+ dict(
101
+ name='left_hip',
102
+ id=11,
103
+ color=[0, 255, 0],
104
+ type='lower',
105
+ swap='right_hip'),
106
+ 12:
107
+ dict(
108
+ name='right_hip',
109
+ id=12,
110
+ color=[255, 128, 0],
111
+ type='lower',
112
+ swap='left_hip'),
113
+ 13:
114
+ dict(
115
+ name='left_knee',
116
+ id=13,
117
+ color=[0, 255, 0],
118
+ type='lower',
119
+ swap='right_knee'),
120
+ 14:
121
+ dict(
122
+ name='right_knee',
123
+ id=14,
124
+ color=[255, 128, 0],
125
+ type='lower',
126
+ swap='left_knee'),
127
+ 15:
128
+ dict(
129
+ name='left_ankle',
130
+ id=15,
131
+ color=[0, 255, 0],
132
+ type='lower',
133
+ swap='right_ankle'),
134
+ 16:
135
+ dict(
136
+ name='right_ankle',
137
+ id=16,
138
+ color=[255, 128, 0],
139
+ type='lower',
140
+ swap='left_ankle'),
141
+ 17:
142
+ dict(
143
+ name='head_top',
144
+ id=17,
145
+ color=[51, 153, 255],
146
+ type='upper',
147
+ swap=''),
148
+ 18:
149
+ dict(name='neck', id=18, color=[51, 153, 255], type='upper', swap='')
150
+ },
151
+ skeleton_info={
152
+ 0:
153
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
154
+ 1:
155
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
156
+ 2:
157
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
158
+ 3:
159
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
160
+ 4:
161
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
162
+ 5:
163
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
164
+ 6:
165
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
166
+ 7:
167
+ dict(
168
+ link=('left_shoulder', 'right_shoulder'),
169
+ id=7,
170
+ color=[51, 153, 255]),
171
+ 8:
172
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
173
+ 9:
174
+ dict(
175
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
176
+ 10:
177
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
178
+ 11:
179
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
180
+ 12:
181
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
182
+ 13:
183
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
184
+ 14:
185
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
186
+ 15:
187
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
188
+ 16:
189
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
190
+ 17:
191
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
192
+ 18:
193
+ dict(
194
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
195
+ 19:
196
+ dict(link=('head_top', 'neck'), id=11, color=[51, 153, 255]),
197
+ },
198
+ joint_weights=[
199
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
200
+ 1.5, 1.5
201
+ ],
202
+ sigmas=[
203
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
204
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.026, 0.026
205
+ ])
configs/_base_/datasets/coco_crop.py ADDED
@@ -0,0 +1,178 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_crop',
3
+ paper_info=dict(
4
+ author='Purkrabek, Miroslav and Matas, Jiri',
5
+ title='ProbPose: A Probabilistic Approach to 2D Human Pose Estimation',
6
+ container='Conference on Computer Vision and Pattern Recognition',
7
+ year='2025',
8
+ homepage='https://MiraPurkrabek.github.io/ProbPose/',
9
+ ),
10
+ keypoint_info={
11
+ 0:
12
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
13
+ 1:
14
+ dict(
15
+ name='left_eye',
16
+ id=1,
17
+ color=[51, 153, 255],
18
+ type='upper',
19
+ swap='right_eye'),
20
+ 2:
21
+ dict(
22
+ name='right_eye',
23
+ id=2,
24
+ color=[51, 153, 255],
25
+ type='upper',
26
+ swap='left_eye'),
27
+ 3:
28
+ dict(
29
+ name='left_ear',
30
+ id=3,
31
+ color=[51, 153, 255],
32
+ type='upper',
33
+ swap='right_ear'),
34
+ 4:
35
+ dict(
36
+ name='right_ear',
37
+ id=4,
38
+ color=[51, 153, 255],
39
+ type='upper',
40
+ swap='left_ear'),
41
+ 5:
42
+ dict(
43
+ name='left_shoulder',
44
+ id=5,
45
+ color=[0, 255, 0],
46
+ type='upper',
47
+ swap='right_shoulder'),
48
+ 6:
49
+ dict(
50
+ name='right_shoulder',
51
+ id=6,
52
+ color=[255, 128, 0],
53
+ type='upper',
54
+ swap='left_shoulder'),
55
+ 7:
56
+ dict(
57
+ name='left_elbow',
58
+ id=7,
59
+ color=[0, 255, 0],
60
+ type='upper',
61
+ swap='right_elbow'),
62
+ 8:
63
+ dict(
64
+ name='right_elbow',
65
+ id=8,
66
+ color=[255, 128, 0],
67
+ type='upper',
68
+ swap='left_elbow'),
69
+ 9:
70
+ dict(
71
+ name='left_wrist',
72
+ id=9,
73
+ color=[0, 255, 0],
74
+ type='upper',
75
+ swap='right_wrist'),
76
+ 10:
77
+ dict(
78
+ name='right_wrist',
79
+ id=10,
80
+ color=[255, 128, 0],
81
+ type='upper',
82
+ swap='left_wrist'),
83
+ 11:
84
+ dict(
85
+ name='left_hip',
86
+ id=11,
87
+ color=[0, 255, 0],
88
+ type='lower',
89
+ swap='right_hip'),
90
+ 12:
91
+ dict(
92
+ name='right_hip',
93
+ id=12,
94
+ color=[255, 128, 0],
95
+ type='lower',
96
+ swap='left_hip'),
97
+ 13:
98
+ dict(
99
+ name='left_knee',
100
+ id=13,
101
+ color=[0, 255, 0],
102
+ type='lower',
103
+ swap='right_knee'),
104
+ 14:
105
+ dict(
106
+ name='right_knee',
107
+ id=14,
108
+ color=[255, 128, 0],
109
+ type='lower',
110
+ swap='left_knee'),
111
+ 15:
112
+ dict(
113
+ name='left_ankle',
114
+ id=15,
115
+ color=[0, 255, 0],
116
+ type='lower',
117
+ swap='right_ankle'),
118
+ 16:
119
+ dict(
120
+ name='right_ankle',
121
+ id=16,
122
+ color=[255, 128, 0],
123
+ type='lower',
124
+ swap='left_ankle')
125
+ },
126
+ skeleton_info={
127
+ 0:
128
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
129
+ 1:
130
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
131
+ 2:
132
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
133
+ 3:
134
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
135
+ 4:
136
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
137
+ 5:
138
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
139
+ 6:
140
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
141
+ 7:
142
+ dict(
143
+ link=('left_shoulder', 'right_shoulder'),
144
+ id=7,
145
+ color=[51, 153, 255]),
146
+ 8:
147
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
148
+ 9:
149
+ dict(
150
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
151
+ 10:
152
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
153
+ 11:
154
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
155
+ 12:
156
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
157
+ 13:
158
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
159
+ 14:
160
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
161
+ 15:
162
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
163
+ 16:
164
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
165
+ 17:
166
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
167
+ 18:
168
+ dict(
169
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
170
+ },
171
+ joint_weights=[
172
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
173
+ 1.5
174
+ ],
175
+ sigmas=[
176
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
177
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
178
+ ])
configs/_base_/datasets/coco_openpose.py ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_openpose',
3
+ paper_info=dict(
4
+ author='Zhe, Cao and Tomas, Simon and '
5
+ 'Shih-En, Wei and Yaser, Sheikh',
6
+ title='OpenPose: Realtime Multi-Person 2D Pose '
7
+ 'Estimation using Part Affinity Fields',
8
+ container='IEEE Transactions on Pattern Analysis '
9
+ 'and Machine Intelligence',
10
+ year='2019',
11
+ homepage='https://github.com/CMU-Perceptual-Computing-Lab/openpose/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[255, 0, 0], type='upper', swap=''),
16
+ 1:
17
+ dict(name='neck', id=1, color=[255, 85, 0], type='upper', swap=''),
18
+ 2:
19
+ dict(
20
+ name='right_shoulder',
21
+ id=2,
22
+ color=[255, 170, 0],
23
+ type='upper',
24
+ swap='left_shoulder'),
25
+ 3:
26
+ dict(
27
+ name='right_elbow',
28
+ id=3,
29
+ color=[255, 255, 0],
30
+ type='upper',
31
+ swap='left_elbow'),
32
+ 4:
33
+ dict(
34
+ name='right_wrist',
35
+ id=4,
36
+ color=[170, 255, 0],
37
+ type='upper',
38
+ swap='left_wrist'),
39
+ 5:
40
+ dict(
41
+ name='left_shoulder',
42
+ id=5,
43
+ color=[85, 255, 0],
44
+ type='upper',
45
+ swap='right_shoulder'),
46
+ 6:
47
+ dict(
48
+ name='left_elbow',
49
+ id=6,
50
+ color=[0, 255, 0],
51
+ type='upper',
52
+ swap='right_elbow'),
53
+ 7:
54
+ dict(
55
+ name='left_wrist',
56
+ id=7,
57
+ color=[0, 255, 85],
58
+ type='upper',
59
+ swap='right_wrist'),
60
+ 8:
61
+ dict(
62
+ name='right_hip',
63
+ id=8,
64
+ color=[0, 255, 170],
65
+ type='lower',
66
+ swap='left_hip'),
67
+ 9:
68
+ dict(
69
+ name='right_knee',
70
+ id=9,
71
+ color=[0, 255, 255],
72
+ type='lower',
73
+ swap='left_knee'),
74
+ 10:
75
+ dict(
76
+ name='right_ankle',
77
+ id=10,
78
+ color=[0, 170, 255],
79
+ type='lower',
80
+ swap='left_ankle'),
81
+ 11:
82
+ dict(
83
+ name='left_hip',
84
+ id=11,
85
+ color=[0, 85, 255],
86
+ type='lower',
87
+ swap='right_hip'),
88
+ 12:
89
+ dict(
90
+ name='left_knee',
91
+ id=12,
92
+ color=[0, 0, 255],
93
+ type='lower',
94
+ swap='right_knee'),
95
+ 13:
96
+ dict(
97
+ name='left_ankle',
98
+ id=13,
99
+ color=[85, 0, 255],
100
+ type='lower',
101
+ swap='right_ankle'),
102
+ 14:
103
+ dict(
104
+ name='right_eye',
105
+ id=14,
106
+ color=[170, 0, 255],
107
+ type='upper',
108
+ swap='left_eye'),
109
+ 15:
110
+ dict(
111
+ name='left_eye',
112
+ id=15,
113
+ color=[255, 0, 255],
114
+ type='upper',
115
+ swap='right_eye'),
116
+ 16:
117
+ dict(
118
+ name='right_ear',
119
+ id=16,
120
+ color=[255, 0, 170],
121
+ type='upper',
122
+ swap='left_ear'),
123
+ 17:
124
+ dict(
125
+ name='left_ear',
126
+ id=17,
127
+ color=[255, 0, 85],
128
+ type='upper',
129
+ swap='right_ear'),
130
+ },
131
+ skeleton_info={
132
+ 0: dict(link=('neck', 'right_shoulder'), id=0, color=[255, 0, 0]),
133
+ 1: dict(link=('neck', 'left_shoulder'), id=1, color=[255, 85, 0]),
134
+ 2: dict(
135
+ link=('right_shoulder', 'right_elbow'), id=2, color=[255, 170, 0]),
136
+ 3:
137
+ dict(link=('right_elbow', 'right_wrist'), id=3, color=[255, 255, 0]),
138
+ 4:
139
+ dict(link=('left_shoulder', 'left_elbow'), id=4, color=[170, 255, 0]),
140
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[85, 255, 0]),
141
+ 6: dict(link=('neck', 'right_hip'), id=6, color=[0, 255, 0]),
142
+ 7: dict(link=('right_hip', 'right_knee'), id=7, color=[0, 255, 85]),
143
+ 8: dict(link=('right_knee', 'right_ankle'), id=8, color=[0, 255, 170]),
144
+ 9: dict(link=('neck', 'left_hip'), id=9, color=[0, 255, 225]),
145
+ 10: dict(link=('left_hip', 'left_knee'), id=10, color=[0, 170, 255]),
146
+ 11: dict(link=('left_knee', 'left_ankle'), id=11, color=[0, 85, 255]),
147
+ 12: dict(link=('neck', 'nose'), id=12, color=[0, 0, 255]),
148
+ 13: dict(link=('nose', 'right_eye'), id=13, color=[255, 0, 170]),
149
+ 14: dict(link=('right_eye', 'right_ear'), id=14, color=[170, 0, 255]),
150
+ 15: dict(link=('nose', 'left_eye'), id=15, color=[255, 0, 255]),
151
+ 16: dict(link=('left_eye', 'left_ear'), id=16, color=[255, 0, 170]),
152
+ },
153
+ joint_weights=[1.] * 18,
154
+ sigmas=[
155
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
156
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.082
157
+ ])
configs/_base_/datasets/coco_wholebody.py ADDED
@@ -0,0 +1,1154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_wholebody',
3
+ paper_info=dict(
4
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
5
+ 'Wang, Can and Liu, Wentao and '
6
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
7
+ title='Whole-Body Human Pose Estimation in the Wild',
8
+ container='Proceedings of the European '
9
+ 'Conference on Computer Vision (ECCV)',
10
+ year='2020',
11
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='left_eye',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap='right_eye'),
23
+ 2:
24
+ dict(
25
+ name='right_eye',
26
+ id=2,
27
+ color=[51, 153, 255],
28
+ type='upper',
29
+ swap='left_eye'),
30
+ 3:
31
+ dict(
32
+ name='left_ear',
33
+ id=3,
34
+ color=[51, 153, 255],
35
+ type='upper',
36
+ swap='right_ear'),
37
+ 4:
38
+ dict(
39
+ name='right_ear',
40
+ id=4,
41
+ color=[51, 153, 255],
42
+ type='upper',
43
+ swap='left_ear'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='right_shoulder',
54
+ id=6,
55
+ color=[255, 128, 0],
56
+ type='upper',
57
+ swap='left_shoulder'),
58
+ 7:
59
+ dict(
60
+ name='left_elbow',
61
+ id=7,
62
+ color=[0, 255, 0],
63
+ type='upper',
64
+ swap='right_elbow'),
65
+ 8:
66
+ dict(
67
+ name='right_elbow',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='upper',
71
+ swap='left_elbow'),
72
+ 9:
73
+ dict(
74
+ name='left_wrist',
75
+ id=9,
76
+ color=[0, 255, 0],
77
+ type='upper',
78
+ swap='right_wrist'),
79
+ 10:
80
+ dict(
81
+ name='right_wrist',
82
+ id=10,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_wrist'),
86
+ 11:
87
+ dict(
88
+ name='left_hip',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_hip'),
93
+ 12:
94
+ dict(
95
+ name='right_hip',
96
+ id=12,
97
+ color=[255, 128, 0],
98
+ type='lower',
99
+ swap='left_hip'),
100
+ 13:
101
+ dict(
102
+ name='left_knee',
103
+ id=13,
104
+ color=[0, 255, 0],
105
+ type='lower',
106
+ swap='right_knee'),
107
+ 14:
108
+ dict(
109
+ name='right_knee',
110
+ id=14,
111
+ color=[255, 128, 0],
112
+ type='lower',
113
+ swap='left_knee'),
114
+ 15:
115
+ dict(
116
+ name='left_ankle',
117
+ id=15,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='right_ankle'),
121
+ 16:
122
+ dict(
123
+ name='right_ankle',
124
+ id=16,
125
+ color=[255, 128, 0],
126
+ type='lower',
127
+ swap='left_ankle'),
128
+ 17:
129
+ dict(
130
+ name='left_big_toe',
131
+ id=17,
132
+ color=[255, 128, 0],
133
+ type='lower',
134
+ swap='right_big_toe'),
135
+ 18:
136
+ dict(
137
+ name='left_small_toe',
138
+ id=18,
139
+ color=[255, 128, 0],
140
+ type='lower',
141
+ swap='right_small_toe'),
142
+ 19:
143
+ dict(
144
+ name='left_heel',
145
+ id=19,
146
+ color=[255, 128, 0],
147
+ type='lower',
148
+ swap='right_heel'),
149
+ 20:
150
+ dict(
151
+ name='right_big_toe',
152
+ id=20,
153
+ color=[255, 128, 0],
154
+ type='lower',
155
+ swap='left_big_toe'),
156
+ 21:
157
+ dict(
158
+ name='right_small_toe',
159
+ id=21,
160
+ color=[255, 128, 0],
161
+ type='lower',
162
+ swap='left_small_toe'),
163
+ 22:
164
+ dict(
165
+ name='right_heel',
166
+ id=22,
167
+ color=[255, 128, 0],
168
+ type='lower',
169
+ swap='left_heel'),
170
+ 23:
171
+ dict(
172
+ name='face-0',
173
+ id=23,
174
+ color=[255, 255, 255],
175
+ type='',
176
+ swap='face-16'),
177
+ 24:
178
+ dict(
179
+ name='face-1',
180
+ id=24,
181
+ color=[255, 255, 255],
182
+ type='',
183
+ swap='face-15'),
184
+ 25:
185
+ dict(
186
+ name='face-2',
187
+ id=25,
188
+ color=[255, 255, 255],
189
+ type='',
190
+ swap='face-14'),
191
+ 26:
192
+ dict(
193
+ name='face-3',
194
+ id=26,
195
+ color=[255, 255, 255],
196
+ type='',
197
+ swap='face-13'),
198
+ 27:
199
+ dict(
200
+ name='face-4',
201
+ id=27,
202
+ color=[255, 255, 255],
203
+ type='',
204
+ swap='face-12'),
205
+ 28:
206
+ dict(
207
+ name='face-5',
208
+ id=28,
209
+ color=[255, 255, 255],
210
+ type='',
211
+ swap='face-11'),
212
+ 29:
213
+ dict(
214
+ name='face-6',
215
+ id=29,
216
+ color=[255, 255, 255],
217
+ type='',
218
+ swap='face-10'),
219
+ 30:
220
+ dict(
221
+ name='face-7',
222
+ id=30,
223
+ color=[255, 255, 255],
224
+ type='',
225
+ swap='face-9'),
226
+ 31:
227
+ dict(name='face-8', id=31, color=[255, 255, 255], type='', swap=''),
228
+ 32:
229
+ dict(
230
+ name='face-9',
231
+ id=32,
232
+ color=[255, 255, 255],
233
+ type='',
234
+ swap='face-7'),
235
+ 33:
236
+ dict(
237
+ name='face-10',
238
+ id=33,
239
+ color=[255, 255, 255],
240
+ type='',
241
+ swap='face-6'),
242
+ 34:
243
+ dict(
244
+ name='face-11',
245
+ id=34,
246
+ color=[255, 255, 255],
247
+ type='',
248
+ swap='face-5'),
249
+ 35:
250
+ dict(
251
+ name='face-12',
252
+ id=35,
253
+ color=[255, 255, 255],
254
+ type='',
255
+ swap='face-4'),
256
+ 36:
257
+ dict(
258
+ name='face-13',
259
+ id=36,
260
+ color=[255, 255, 255],
261
+ type='',
262
+ swap='face-3'),
263
+ 37:
264
+ dict(
265
+ name='face-14',
266
+ id=37,
267
+ color=[255, 255, 255],
268
+ type='',
269
+ swap='face-2'),
270
+ 38:
271
+ dict(
272
+ name='face-15',
273
+ id=38,
274
+ color=[255, 255, 255],
275
+ type='',
276
+ swap='face-1'),
277
+ 39:
278
+ dict(
279
+ name='face-16',
280
+ id=39,
281
+ color=[255, 255, 255],
282
+ type='',
283
+ swap='face-0'),
284
+ 40:
285
+ dict(
286
+ name='face-17',
287
+ id=40,
288
+ color=[255, 255, 255],
289
+ type='',
290
+ swap='face-26'),
291
+ 41:
292
+ dict(
293
+ name='face-18',
294
+ id=41,
295
+ color=[255, 255, 255],
296
+ type='',
297
+ swap='face-25'),
298
+ 42:
299
+ dict(
300
+ name='face-19',
301
+ id=42,
302
+ color=[255, 255, 255],
303
+ type='',
304
+ swap='face-24'),
305
+ 43:
306
+ dict(
307
+ name='face-20',
308
+ id=43,
309
+ color=[255, 255, 255],
310
+ type='',
311
+ swap='face-23'),
312
+ 44:
313
+ dict(
314
+ name='face-21',
315
+ id=44,
316
+ color=[255, 255, 255],
317
+ type='',
318
+ swap='face-22'),
319
+ 45:
320
+ dict(
321
+ name='face-22',
322
+ id=45,
323
+ color=[255, 255, 255],
324
+ type='',
325
+ swap='face-21'),
326
+ 46:
327
+ dict(
328
+ name='face-23',
329
+ id=46,
330
+ color=[255, 255, 255],
331
+ type='',
332
+ swap='face-20'),
333
+ 47:
334
+ dict(
335
+ name='face-24',
336
+ id=47,
337
+ color=[255, 255, 255],
338
+ type='',
339
+ swap='face-19'),
340
+ 48:
341
+ dict(
342
+ name='face-25',
343
+ id=48,
344
+ color=[255, 255, 255],
345
+ type='',
346
+ swap='face-18'),
347
+ 49:
348
+ dict(
349
+ name='face-26',
350
+ id=49,
351
+ color=[255, 255, 255],
352
+ type='',
353
+ swap='face-17'),
354
+ 50:
355
+ dict(name='face-27', id=50, color=[255, 255, 255], type='', swap=''),
356
+ 51:
357
+ dict(name='face-28', id=51, color=[255, 255, 255], type='', swap=''),
358
+ 52:
359
+ dict(name='face-29', id=52, color=[255, 255, 255], type='', swap=''),
360
+ 53:
361
+ dict(name='face-30', id=53, color=[255, 255, 255], type='', swap=''),
362
+ 54:
363
+ dict(
364
+ name='face-31',
365
+ id=54,
366
+ color=[255, 255, 255],
367
+ type='',
368
+ swap='face-35'),
369
+ 55:
370
+ dict(
371
+ name='face-32',
372
+ id=55,
373
+ color=[255, 255, 255],
374
+ type='',
375
+ swap='face-34'),
376
+ 56:
377
+ dict(name='face-33', id=56, color=[255, 255, 255], type='', swap=''),
378
+ 57:
379
+ dict(
380
+ name='face-34',
381
+ id=57,
382
+ color=[255, 255, 255],
383
+ type='',
384
+ swap='face-32'),
385
+ 58:
386
+ dict(
387
+ name='face-35',
388
+ id=58,
389
+ color=[255, 255, 255],
390
+ type='',
391
+ swap='face-31'),
392
+ 59:
393
+ dict(
394
+ name='face-36',
395
+ id=59,
396
+ color=[255, 255, 255],
397
+ type='',
398
+ swap='face-45'),
399
+ 60:
400
+ dict(
401
+ name='face-37',
402
+ id=60,
403
+ color=[255, 255, 255],
404
+ type='',
405
+ swap='face-44'),
406
+ 61:
407
+ dict(
408
+ name='face-38',
409
+ id=61,
410
+ color=[255, 255, 255],
411
+ type='',
412
+ swap='face-43'),
413
+ 62:
414
+ dict(
415
+ name='face-39',
416
+ id=62,
417
+ color=[255, 255, 255],
418
+ type='',
419
+ swap='face-42'),
420
+ 63:
421
+ dict(
422
+ name='face-40',
423
+ id=63,
424
+ color=[255, 255, 255],
425
+ type='',
426
+ swap='face-47'),
427
+ 64:
428
+ dict(
429
+ name='face-41',
430
+ id=64,
431
+ color=[255, 255, 255],
432
+ type='',
433
+ swap='face-46'),
434
+ 65:
435
+ dict(
436
+ name='face-42',
437
+ id=65,
438
+ color=[255, 255, 255],
439
+ type='',
440
+ swap='face-39'),
441
+ 66:
442
+ dict(
443
+ name='face-43',
444
+ id=66,
445
+ color=[255, 255, 255],
446
+ type='',
447
+ swap='face-38'),
448
+ 67:
449
+ dict(
450
+ name='face-44',
451
+ id=67,
452
+ color=[255, 255, 255],
453
+ type='',
454
+ swap='face-37'),
455
+ 68:
456
+ dict(
457
+ name='face-45',
458
+ id=68,
459
+ color=[255, 255, 255],
460
+ type='',
461
+ swap='face-36'),
462
+ 69:
463
+ dict(
464
+ name='face-46',
465
+ id=69,
466
+ color=[255, 255, 255],
467
+ type='',
468
+ swap='face-41'),
469
+ 70:
470
+ dict(
471
+ name='face-47',
472
+ id=70,
473
+ color=[255, 255, 255],
474
+ type='',
475
+ swap='face-40'),
476
+ 71:
477
+ dict(
478
+ name='face-48',
479
+ id=71,
480
+ color=[255, 255, 255],
481
+ type='',
482
+ swap='face-54'),
483
+ 72:
484
+ dict(
485
+ name='face-49',
486
+ id=72,
487
+ color=[255, 255, 255],
488
+ type='',
489
+ swap='face-53'),
490
+ 73:
491
+ dict(
492
+ name='face-50',
493
+ id=73,
494
+ color=[255, 255, 255],
495
+ type='',
496
+ swap='face-52'),
497
+ 74:
498
+ dict(name='face-51', id=74, color=[255, 255, 255], type='', swap=''),
499
+ 75:
500
+ dict(
501
+ name='face-52',
502
+ id=75,
503
+ color=[255, 255, 255],
504
+ type='',
505
+ swap='face-50'),
506
+ 76:
507
+ dict(
508
+ name='face-53',
509
+ id=76,
510
+ color=[255, 255, 255],
511
+ type='',
512
+ swap='face-49'),
513
+ 77:
514
+ dict(
515
+ name='face-54',
516
+ id=77,
517
+ color=[255, 255, 255],
518
+ type='',
519
+ swap='face-48'),
520
+ 78:
521
+ dict(
522
+ name='face-55',
523
+ id=78,
524
+ color=[255, 255, 255],
525
+ type='',
526
+ swap='face-59'),
527
+ 79:
528
+ dict(
529
+ name='face-56',
530
+ id=79,
531
+ color=[255, 255, 255],
532
+ type='',
533
+ swap='face-58'),
534
+ 80:
535
+ dict(name='face-57', id=80, color=[255, 255, 255], type='', swap=''),
536
+ 81:
537
+ dict(
538
+ name='face-58',
539
+ id=81,
540
+ color=[255, 255, 255],
541
+ type='',
542
+ swap='face-56'),
543
+ 82:
544
+ dict(
545
+ name='face-59',
546
+ id=82,
547
+ color=[255, 255, 255],
548
+ type='',
549
+ swap='face-55'),
550
+ 83:
551
+ dict(
552
+ name='face-60',
553
+ id=83,
554
+ color=[255, 255, 255],
555
+ type='',
556
+ swap='face-64'),
557
+ 84:
558
+ dict(
559
+ name='face-61',
560
+ id=84,
561
+ color=[255, 255, 255],
562
+ type='',
563
+ swap='face-63'),
564
+ 85:
565
+ dict(name='face-62', id=85, color=[255, 255, 255], type='', swap=''),
566
+ 86:
567
+ dict(
568
+ name='face-63',
569
+ id=86,
570
+ color=[255, 255, 255],
571
+ type='',
572
+ swap='face-61'),
573
+ 87:
574
+ dict(
575
+ name='face-64',
576
+ id=87,
577
+ color=[255, 255, 255],
578
+ type='',
579
+ swap='face-60'),
580
+ 88:
581
+ dict(
582
+ name='face-65',
583
+ id=88,
584
+ color=[255, 255, 255],
585
+ type='',
586
+ swap='face-67'),
587
+ 89:
588
+ dict(name='face-66', id=89, color=[255, 255, 255], type='', swap=''),
589
+ 90:
590
+ dict(
591
+ name='face-67',
592
+ id=90,
593
+ color=[255, 255, 255],
594
+ type='',
595
+ swap='face-65'),
596
+ 91:
597
+ dict(
598
+ name='left_hand_root',
599
+ id=91,
600
+ color=[255, 255, 255],
601
+ type='',
602
+ swap='right_hand_root'),
603
+ 92:
604
+ dict(
605
+ name='left_thumb1',
606
+ id=92,
607
+ color=[255, 128, 0],
608
+ type='',
609
+ swap='right_thumb1'),
610
+ 93:
611
+ dict(
612
+ name='left_thumb2',
613
+ id=93,
614
+ color=[255, 128, 0],
615
+ type='',
616
+ swap='right_thumb2'),
617
+ 94:
618
+ dict(
619
+ name='left_thumb3',
620
+ id=94,
621
+ color=[255, 128, 0],
622
+ type='',
623
+ swap='right_thumb3'),
624
+ 95:
625
+ dict(
626
+ name='left_thumb4',
627
+ id=95,
628
+ color=[255, 128, 0],
629
+ type='',
630
+ swap='right_thumb4'),
631
+ 96:
632
+ dict(
633
+ name='left_forefinger1',
634
+ id=96,
635
+ color=[255, 153, 255],
636
+ type='',
637
+ swap='right_forefinger1'),
638
+ 97:
639
+ dict(
640
+ name='left_forefinger2',
641
+ id=97,
642
+ color=[255, 153, 255],
643
+ type='',
644
+ swap='right_forefinger2'),
645
+ 98:
646
+ dict(
647
+ name='left_forefinger3',
648
+ id=98,
649
+ color=[255, 153, 255],
650
+ type='',
651
+ swap='right_forefinger3'),
652
+ 99:
653
+ dict(
654
+ name='left_forefinger4',
655
+ id=99,
656
+ color=[255, 153, 255],
657
+ type='',
658
+ swap='right_forefinger4'),
659
+ 100:
660
+ dict(
661
+ name='left_middle_finger1',
662
+ id=100,
663
+ color=[102, 178, 255],
664
+ type='',
665
+ swap='right_middle_finger1'),
666
+ 101:
667
+ dict(
668
+ name='left_middle_finger2',
669
+ id=101,
670
+ color=[102, 178, 255],
671
+ type='',
672
+ swap='right_middle_finger2'),
673
+ 102:
674
+ dict(
675
+ name='left_middle_finger3',
676
+ id=102,
677
+ color=[102, 178, 255],
678
+ type='',
679
+ swap='right_middle_finger3'),
680
+ 103:
681
+ dict(
682
+ name='left_middle_finger4',
683
+ id=103,
684
+ color=[102, 178, 255],
685
+ type='',
686
+ swap='right_middle_finger4'),
687
+ 104:
688
+ dict(
689
+ name='left_ring_finger1',
690
+ id=104,
691
+ color=[255, 51, 51],
692
+ type='',
693
+ swap='right_ring_finger1'),
694
+ 105:
695
+ dict(
696
+ name='left_ring_finger2',
697
+ id=105,
698
+ color=[255, 51, 51],
699
+ type='',
700
+ swap='right_ring_finger2'),
701
+ 106:
702
+ dict(
703
+ name='left_ring_finger3',
704
+ id=106,
705
+ color=[255, 51, 51],
706
+ type='',
707
+ swap='right_ring_finger3'),
708
+ 107:
709
+ dict(
710
+ name='left_ring_finger4',
711
+ id=107,
712
+ color=[255, 51, 51],
713
+ type='',
714
+ swap='right_ring_finger4'),
715
+ 108:
716
+ dict(
717
+ name='left_pinky_finger1',
718
+ id=108,
719
+ color=[0, 255, 0],
720
+ type='',
721
+ swap='right_pinky_finger1'),
722
+ 109:
723
+ dict(
724
+ name='left_pinky_finger2',
725
+ id=109,
726
+ color=[0, 255, 0],
727
+ type='',
728
+ swap='right_pinky_finger2'),
729
+ 110:
730
+ dict(
731
+ name='left_pinky_finger3',
732
+ id=110,
733
+ color=[0, 255, 0],
734
+ type='',
735
+ swap='right_pinky_finger3'),
736
+ 111:
737
+ dict(
738
+ name='left_pinky_finger4',
739
+ id=111,
740
+ color=[0, 255, 0],
741
+ type='',
742
+ swap='right_pinky_finger4'),
743
+ 112:
744
+ dict(
745
+ name='right_hand_root',
746
+ id=112,
747
+ color=[255, 255, 255],
748
+ type='',
749
+ swap='left_hand_root'),
750
+ 113:
751
+ dict(
752
+ name='right_thumb1',
753
+ id=113,
754
+ color=[255, 128, 0],
755
+ type='',
756
+ swap='left_thumb1'),
757
+ 114:
758
+ dict(
759
+ name='right_thumb2',
760
+ id=114,
761
+ color=[255, 128, 0],
762
+ type='',
763
+ swap='left_thumb2'),
764
+ 115:
765
+ dict(
766
+ name='right_thumb3',
767
+ id=115,
768
+ color=[255, 128, 0],
769
+ type='',
770
+ swap='left_thumb3'),
771
+ 116:
772
+ dict(
773
+ name='right_thumb4',
774
+ id=116,
775
+ color=[255, 128, 0],
776
+ type='',
777
+ swap='left_thumb4'),
778
+ 117:
779
+ dict(
780
+ name='right_forefinger1',
781
+ id=117,
782
+ color=[255, 153, 255],
783
+ type='',
784
+ swap='left_forefinger1'),
785
+ 118:
786
+ dict(
787
+ name='right_forefinger2',
788
+ id=118,
789
+ color=[255, 153, 255],
790
+ type='',
791
+ swap='left_forefinger2'),
792
+ 119:
793
+ dict(
794
+ name='right_forefinger3',
795
+ id=119,
796
+ color=[255, 153, 255],
797
+ type='',
798
+ swap='left_forefinger3'),
799
+ 120:
800
+ dict(
801
+ name='right_forefinger4',
802
+ id=120,
803
+ color=[255, 153, 255],
804
+ type='',
805
+ swap='left_forefinger4'),
806
+ 121:
807
+ dict(
808
+ name='right_middle_finger1',
809
+ id=121,
810
+ color=[102, 178, 255],
811
+ type='',
812
+ swap='left_middle_finger1'),
813
+ 122:
814
+ dict(
815
+ name='right_middle_finger2',
816
+ id=122,
817
+ color=[102, 178, 255],
818
+ type='',
819
+ swap='left_middle_finger2'),
820
+ 123:
821
+ dict(
822
+ name='right_middle_finger3',
823
+ id=123,
824
+ color=[102, 178, 255],
825
+ type='',
826
+ swap='left_middle_finger3'),
827
+ 124:
828
+ dict(
829
+ name='right_middle_finger4',
830
+ id=124,
831
+ color=[102, 178, 255],
832
+ type='',
833
+ swap='left_middle_finger4'),
834
+ 125:
835
+ dict(
836
+ name='right_ring_finger1',
837
+ id=125,
838
+ color=[255, 51, 51],
839
+ type='',
840
+ swap='left_ring_finger1'),
841
+ 126:
842
+ dict(
843
+ name='right_ring_finger2',
844
+ id=126,
845
+ color=[255, 51, 51],
846
+ type='',
847
+ swap='left_ring_finger2'),
848
+ 127:
849
+ dict(
850
+ name='right_ring_finger3',
851
+ id=127,
852
+ color=[255, 51, 51],
853
+ type='',
854
+ swap='left_ring_finger3'),
855
+ 128:
856
+ dict(
857
+ name='right_ring_finger4',
858
+ id=128,
859
+ color=[255, 51, 51],
860
+ type='',
861
+ swap='left_ring_finger4'),
862
+ 129:
863
+ dict(
864
+ name='right_pinky_finger1',
865
+ id=129,
866
+ color=[0, 255, 0],
867
+ type='',
868
+ swap='left_pinky_finger1'),
869
+ 130:
870
+ dict(
871
+ name='right_pinky_finger2',
872
+ id=130,
873
+ color=[0, 255, 0],
874
+ type='',
875
+ swap='left_pinky_finger2'),
876
+ 131:
877
+ dict(
878
+ name='right_pinky_finger3',
879
+ id=131,
880
+ color=[0, 255, 0],
881
+ type='',
882
+ swap='left_pinky_finger3'),
883
+ 132:
884
+ dict(
885
+ name='right_pinky_finger4',
886
+ id=132,
887
+ color=[0, 255, 0],
888
+ type='',
889
+ swap='left_pinky_finger4')
890
+ },
891
+ skeleton_info={
892
+ 0:
893
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
894
+ 1:
895
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
896
+ 2:
897
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
898
+ 3:
899
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
900
+ 4:
901
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
902
+ 5:
903
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
904
+ 6:
905
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
906
+ 7:
907
+ dict(
908
+ link=('left_shoulder', 'right_shoulder'),
909
+ id=7,
910
+ color=[51, 153, 255]),
911
+ 8:
912
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
913
+ 9:
914
+ dict(
915
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
916
+ 10:
917
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
918
+ 11:
919
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
920
+ 12:
921
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
922
+ 13:
923
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
924
+ 14:
925
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
926
+ 15:
927
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
928
+ 16:
929
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
930
+ 17:
931
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
932
+ 18:
933
+ dict(
934
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
935
+ 19:
936
+ dict(link=('left_ankle', 'left_big_toe'), id=19, color=[0, 255, 0]),
937
+ 20:
938
+ dict(link=('left_ankle', 'left_small_toe'), id=20, color=[0, 255, 0]),
939
+ 21:
940
+ dict(link=('left_ankle', 'left_heel'), id=21, color=[0, 255, 0]),
941
+ 22:
942
+ dict(
943
+ link=('right_ankle', 'right_big_toe'), id=22, color=[255, 128, 0]),
944
+ 23:
945
+ dict(
946
+ link=('right_ankle', 'right_small_toe'),
947
+ id=23,
948
+ color=[255, 128, 0]),
949
+ 24:
950
+ dict(link=('right_ankle', 'right_heel'), id=24, color=[255, 128, 0]),
951
+ 25:
952
+ dict(
953
+ link=('left_hand_root', 'left_thumb1'), id=25, color=[255, 128,
954
+ 0]),
955
+ 26:
956
+ dict(link=('left_thumb1', 'left_thumb2'), id=26, color=[255, 128, 0]),
957
+ 27:
958
+ dict(link=('left_thumb2', 'left_thumb3'), id=27, color=[255, 128, 0]),
959
+ 28:
960
+ dict(link=('left_thumb3', 'left_thumb4'), id=28, color=[255, 128, 0]),
961
+ 29:
962
+ dict(
963
+ link=('left_hand_root', 'left_forefinger1'),
964
+ id=29,
965
+ color=[255, 153, 255]),
966
+ 30:
967
+ dict(
968
+ link=('left_forefinger1', 'left_forefinger2'),
969
+ id=30,
970
+ color=[255, 153, 255]),
971
+ 31:
972
+ dict(
973
+ link=('left_forefinger2', 'left_forefinger3'),
974
+ id=31,
975
+ color=[255, 153, 255]),
976
+ 32:
977
+ dict(
978
+ link=('left_forefinger3', 'left_forefinger4'),
979
+ id=32,
980
+ color=[255, 153, 255]),
981
+ 33:
982
+ dict(
983
+ link=('left_hand_root', 'left_middle_finger1'),
984
+ id=33,
985
+ color=[102, 178, 255]),
986
+ 34:
987
+ dict(
988
+ link=('left_middle_finger1', 'left_middle_finger2'),
989
+ id=34,
990
+ color=[102, 178, 255]),
991
+ 35:
992
+ dict(
993
+ link=('left_middle_finger2', 'left_middle_finger3'),
994
+ id=35,
995
+ color=[102, 178, 255]),
996
+ 36:
997
+ dict(
998
+ link=('left_middle_finger3', 'left_middle_finger4'),
999
+ id=36,
1000
+ color=[102, 178, 255]),
1001
+ 37:
1002
+ dict(
1003
+ link=('left_hand_root', 'left_ring_finger1'),
1004
+ id=37,
1005
+ color=[255, 51, 51]),
1006
+ 38:
1007
+ dict(
1008
+ link=('left_ring_finger1', 'left_ring_finger2'),
1009
+ id=38,
1010
+ color=[255, 51, 51]),
1011
+ 39:
1012
+ dict(
1013
+ link=('left_ring_finger2', 'left_ring_finger3'),
1014
+ id=39,
1015
+ color=[255, 51, 51]),
1016
+ 40:
1017
+ dict(
1018
+ link=('left_ring_finger3', 'left_ring_finger4'),
1019
+ id=40,
1020
+ color=[255, 51, 51]),
1021
+ 41:
1022
+ dict(
1023
+ link=('left_hand_root', 'left_pinky_finger1'),
1024
+ id=41,
1025
+ color=[0, 255, 0]),
1026
+ 42:
1027
+ dict(
1028
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1029
+ id=42,
1030
+ color=[0, 255, 0]),
1031
+ 43:
1032
+ dict(
1033
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1034
+ id=43,
1035
+ color=[0, 255, 0]),
1036
+ 44:
1037
+ dict(
1038
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1039
+ id=44,
1040
+ color=[0, 255, 0]),
1041
+ 45:
1042
+ dict(
1043
+ link=('right_hand_root', 'right_thumb1'),
1044
+ id=45,
1045
+ color=[255, 128, 0]),
1046
+ 46:
1047
+ dict(
1048
+ link=('right_thumb1', 'right_thumb2'), id=46, color=[255, 128, 0]),
1049
+ 47:
1050
+ dict(
1051
+ link=('right_thumb2', 'right_thumb3'), id=47, color=[255, 128, 0]),
1052
+ 48:
1053
+ dict(
1054
+ link=('right_thumb3', 'right_thumb4'), id=48, color=[255, 128, 0]),
1055
+ 49:
1056
+ dict(
1057
+ link=('right_hand_root', 'right_forefinger1'),
1058
+ id=49,
1059
+ color=[255, 153, 255]),
1060
+ 50:
1061
+ dict(
1062
+ link=('right_forefinger1', 'right_forefinger2'),
1063
+ id=50,
1064
+ color=[255, 153, 255]),
1065
+ 51:
1066
+ dict(
1067
+ link=('right_forefinger2', 'right_forefinger3'),
1068
+ id=51,
1069
+ color=[255, 153, 255]),
1070
+ 52:
1071
+ dict(
1072
+ link=('right_forefinger3', 'right_forefinger4'),
1073
+ id=52,
1074
+ color=[255, 153, 255]),
1075
+ 53:
1076
+ dict(
1077
+ link=('right_hand_root', 'right_middle_finger1'),
1078
+ id=53,
1079
+ color=[102, 178, 255]),
1080
+ 54:
1081
+ dict(
1082
+ link=('right_middle_finger1', 'right_middle_finger2'),
1083
+ id=54,
1084
+ color=[102, 178, 255]),
1085
+ 55:
1086
+ dict(
1087
+ link=('right_middle_finger2', 'right_middle_finger3'),
1088
+ id=55,
1089
+ color=[102, 178, 255]),
1090
+ 56:
1091
+ dict(
1092
+ link=('right_middle_finger3', 'right_middle_finger4'),
1093
+ id=56,
1094
+ color=[102, 178, 255]),
1095
+ 57:
1096
+ dict(
1097
+ link=('right_hand_root', 'right_ring_finger1'),
1098
+ id=57,
1099
+ color=[255, 51, 51]),
1100
+ 58:
1101
+ dict(
1102
+ link=('right_ring_finger1', 'right_ring_finger2'),
1103
+ id=58,
1104
+ color=[255, 51, 51]),
1105
+ 59:
1106
+ dict(
1107
+ link=('right_ring_finger2', 'right_ring_finger3'),
1108
+ id=59,
1109
+ color=[255, 51, 51]),
1110
+ 60:
1111
+ dict(
1112
+ link=('right_ring_finger3', 'right_ring_finger4'),
1113
+ id=60,
1114
+ color=[255, 51, 51]),
1115
+ 61:
1116
+ dict(
1117
+ link=('right_hand_root', 'right_pinky_finger1'),
1118
+ id=61,
1119
+ color=[0, 255, 0]),
1120
+ 62:
1121
+ dict(
1122
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1123
+ id=62,
1124
+ color=[0, 255, 0]),
1125
+ 63:
1126
+ dict(
1127
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1128
+ id=63,
1129
+ color=[0, 255, 0]),
1130
+ 64:
1131
+ dict(
1132
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1133
+ id=64,
1134
+ color=[0, 255, 0])
1135
+ },
1136
+ joint_weights=[1.] * 133,
1137
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
1138
+ # 'evaluation/myeval_wholebody.py#L175'
1139
+ sigmas=[
1140
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1141
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.068, 0.066, 0.066,
1142
+ 0.092, 0.094, 0.094, 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031,
1143
+ 0.025, 0.020, 0.023, 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045,
1144
+ 0.013, 0.012, 0.011, 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015,
1145
+ 0.009, 0.007, 0.007, 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017,
1146
+ 0.011, 0.009, 0.011, 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010,
1147
+ 0.034, 0.008, 0.008, 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009,
1148
+ 0.009, 0.009, 0.007, 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01,
1149
+ 0.008, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035,
1150
+ 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019,
1151
+ 0.022, 0.031, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024,
1152
+ 0.035, 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02,
1153
+ 0.019, 0.022, 0.031
1154
+ ])
configs/_base_/datasets/coco_wholebody_face.py ADDED
@@ -0,0 +1,154 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_wholebody_face',
3
+ paper_info=dict(
4
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
5
+ 'Wang, Can and Liu, Wentao and '
6
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
7
+ title='Whole-Body Human Pose Estimation in the Wild',
8
+ container='Proceedings of the European '
9
+ 'Conference on Computer Vision (ECCV)',
10
+ year='2020',
11
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='face-0', id=0, color=[255, 0, 0], type='', swap='face-16'),
16
+ 1:
17
+ dict(name='face-1', id=1, color=[255, 0, 0], type='', swap='face-15'),
18
+ 2:
19
+ dict(name='face-2', id=2, color=[255, 0, 0], type='', swap='face-14'),
20
+ 3:
21
+ dict(name='face-3', id=3, color=[255, 0, 0], type='', swap='face-13'),
22
+ 4:
23
+ dict(name='face-4', id=4, color=[255, 0, 0], type='', swap='face-12'),
24
+ 5:
25
+ dict(name='face-5', id=5, color=[255, 0, 0], type='', swap='face-11'),
26
+ 6:
27
+ dict(name='face-6', id=6, color=[255, 0, 0], type='', swap='face-10'),
28
+ 7:
29
+ dict(name='face-7', id=7, color=[255, 0, 0], type='', swap='face-9'),
30
+ 8: dict(name='face-8', id=8, color=[255, 0, 0], type='', swap=''),
31
+ 9:
32
+ dict(name='face-9', id=9, color=[255, 0, 0], type='', swap='face-7'),
33
+ 10:
34
+ dict(name='face-10', id=10, color=[255, 0, 0], type='', swap='face-6'),
35
+ 11:
36
+ dict(name='face-11', id=11, color=[255, 0, 0], type='', swap='face-5'),
37
+ 12:
38
+ dict(name='face-12', id=12, color=[255, 0, 0], type='', swap='face-4'),
39
+ 13:
40
+ dict(name='face-13', id=13, color=[255, 0, 0], type='', swap='face-3'),
41
+ 14:
42
+ dict(name='face-14', id=14, color=[255, 0, 0], type='', swap='face-2'),
43
+ 15:
44
+ dict(name='face-15', id=15, color=[255, 0, 0], type='', swap='face-1'),
45
+ 16:
46
+ dict(name='face-16', id=16, color=[255, 0, 0], type='', swap='face-0'),
47
+ 17: dict(
48
+ name='face-17', id=17, color=[255, 0, 0], type='', swap='face-26'),
49
+ 18: dict(
50
+ name='face-18', id=18, color=[255, 0, 0], type='', swap='face-25'),
51
+ 19: dict(
52
+ name='face-19', id=19, color=[255, 0, 0], type='', swap='face-24'),
53
+ 20: dict(
54
+ name='face-20', id=20, color=[255, 0, 0], type='', swap='face-23'),
55
+ 21: dict(
56
+ name='face-21', id=21, color=[255, 0, 0], type='', swap='face-22'),
57
+ 22: dict(
58
+ name='face-22', id=22, color=[255, 0, 0], type='', swap='face-21'),
59
+ 23: dict(
60
+ name='face-23', id=23, color=[255, 0, 0], type='', swap='face-20'),
61
+ 24: dict(
62
+ name='face-24', id=24, color=[255, 0, 0], type='', swap='face-19'),
63
+ 25: dict(
64
+ name='face-25', id=25, color=[255, 0, 0], type='', swap='face-18'),
65
+ 26: dict(
66
+ name='face-26', id=26, color=[255, 0, 0], type='', swap='face-17'),
67
+ 27: dict(name='face-27', id=27, color=[255, 0, 0], type='', swap=''),
68
+ 28: dict(name='face-28', id=28, color=[255, 0, 0], type='', swap=''),
69
+ 29: dict(name='face-29', id=29, color=[255, 0, 0], type='', swap=''),
70
+ 30: dict(name='face-30', id=30, color=[255, 0, 0], type='', swap=''),
71
+ 31: dict(
72
+ name='face-31', id=31, color=[255, 0, 0], type='', swap='face-35'),
73
+ 32: dict(
74
+ name='face-32', id=32, color=[255, 0, 0], type='', swap='face-34'),
75
+ 33: dict(name='face-33', id=33, color=[255, 0, 0], type='', swap=''),
76
+ 34: dict(
77
+ name='face-34', id=34, color=[255, 0, 0], type='', swap='face-32'),
78
+ 35: dict(
79
+ name='face-35', id=35, color=[255, 0, 0], type='', swap='face-31'),
80
+ 36: dict(
81
+ name='face-36', id=36, color=[255, 0, 0], type='', swap='face-45'),
82
+ 37: dict(
83
+ name='face-37', id=37, color=[255, 0, 0], type='', swap='face-44'),
84
+ 38: dict(
85
+ name='face-38', id=38, color=[255, 0, 0], type='', swap='face-43'),
86
+ 39: dict(
87
+ name='face-39', id=39, color=[255, 0, 0], type='', swap='face-42'),
88
+ 40: dict(
89
+ name='face-40', id=40, color=[255, 0, 0], type='', swap='face-47'),
90
+ 41: dict(
91
+ name='face-41', id=41, color=[255, 0, 0], type='', swap='face-46'),
92
+ 42: dict(
93
+ name='face-42', id=42, color=[255, 0, 0], type='', swap='face-39'),
94
+ 43: dict(
95
+ name='face-43', id=43, color=[255, 0, 0], type='', swap='face-38'),
96
+ 44: dict(
97
+ name='face-44', id=44, color=[255, 0, 0], type='', swap='face-37'),
98
+ 45: dict(
99
+ name='face-45', id=45, color=[255, 0, 0], type='', swap='face-36'),
100
+ 46: dict(
101
+ name='face-46', id=46, color=[255, 0, 0], type='', swap='face-41'),
102
+ 47: dict(
103
+ name='face-47', id=47, color=[255, 0, 0], type='', swap='face-40'),
104
+ 48: dict(
105
+ name='face-48', id=48, color=[255, 0, 0], type='', swap='face-54'),
106
+ 49: dict(
107
+ name='face-49', id=49, color=[255, 0, 0], type='', swap='face-53'),
108
+ 50: dict(
109
+ name='face-50', id=50, color=[255, 0, 0], type='', swap='face-52'),
110
+ 51: dict(name='face-51', id=52, color=[255, 0, 0], type='', swap=''),
111
+ 52: dict(
112
+ name='face-52', id=52, color=[255, 0, 0], type='', swap='face-50'),
113
+ 53: dict(
114
+ name='face-53', id=53, color=[255, 0, 0], type='', swap='face-49'),
115
+ 54: dict(
116
+ name='face-54', id=54, color=[255, 0, 0], type='', swap='face-48'),
117
+ 55: dict(
118
+ name='face-55', id=55, color=[255, 0, 0], type='', swap='face-59'),
119
+ 56: dict(
120
+ name='face-56', id=56, color=[255, 0, 0], type='', swap='face-58'),
121
+ 57: dict(name='face-57', id=57, color=[255, 0, 0], type='', swap=''),
122
+ 58: dict(
123
+ name='face-58', id=58, color=[255, 0, 0], type='', swap='face-56'),
124
+ 59: dict(
125
+ name='face-59', id=59, color=[255, 0, 0], type='', swap='face-55'),
126
+ 60: dict(
127
+ name='face-60', id=60, color=[255, 0, 0], type='', swap='face-64'),
128
+ 61: dict(
129
+ name='face-61', id=61, color=[255, 0, 0], type='', swap='face-63'),
130
+ 62: dict(name='face-62', id=62, color=[255, 0, 0], type='', swap=''),
131
+ 63: dict(
132
+ name='face-63', id=63, color=[255, 0, 0], type='', swap='face-61'),
133
+ 64: dict(
134
+ name='face-64', id=64, color=[255, 0, 0], type='', swap='face-60'),
135
+ 65: dict(
136
+ name='face-65', id=65, color=[255, 0, 0], type='', swap='face-67'),
137
+ 66: dict(name='face-66', id=66, color=[255, 0, 0], type='', swap=''),
138
+ 67: dict(
139
+ name='face-67', id=67, color=[255, 0, 0], type='', swap='face-65')
140
+ },
141
+ skeleton_info={},
142
+ joint_weights=[1.] * 68,
143
+
144
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
145
+ # 'evaluation/myeval_wholebody.py#L177'
146
+ sigmas=[
147
+ 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031, 0.025, 0.020, 0.023,
148
+ 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045, 0.013, 0.012, 0.011,
149
+ 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015, 0.009, 0.007, 0.007,
150
+ 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017, 0.011, 0.009, 0.011,
151
+ 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010, 0.034, 0.008, 0.008,
152
+ 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009, 0.009, 0.009, 0.007,
153
+ 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01, 0.008
154
+ ])
configs/_base_/datasets/coco_wholebody_hand.py ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_wholebody_hand',
3
+ paper_info=dict(
4
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
5
+ 'Wang, Can and Liu, Wentao and '
6
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
7
+ title='Whole-Body Human Pose Estimation in the Wild',
8
+ container='Proceedings of the European '
9
+ 'Conference on Computer Vision (ECCV)',
10
+ year='2020',
11
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
16
+ 1:
17
+ dict(name='thumb1', id=1, color=[255, 128, 0], type='', swap=''),
18
+ 2:
19
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
20
+ 3:
21
+ dict(name='thumb3', id=3, color=[255, 128, 0], type='', swap=''),
22
+ 4:
23
+ dict(name='thumb4', id=4, color=[255, 128, 0], type='', swap=''),
24
+ 5:
25
+ dict(
26
+ name='forefinger1', id=5, color=[255, 153, 255], type='', swap=''),
27
+ 6:
28
+ dict(
29
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
30
+ 7:
31
+ dict(
32
+ name='forefinger3', id=7, color=[255, 153, 255], type='', swap=''),
33
+ 8:
34
+ dict(
35
+ name='forefinger4', id=8, color=[255, 153, 255], type='', swap=''),
36
+ 9:
37
+ dict(
38
+ name='middle_finger1',
39
+ id=9,
40
+ color=[102, 178, 255],
41
+ type='',
42
+ swap=''),
43
+ 10:
44
+ dict(
45
+ name='middle_finger2',
46
+ id=10,
47
+ color=[102, 178, 255],
48
+ type='',
49
+ swap=''),
50
+ 11:
51
+ dict(
52
+ name='middle_finger3',
53
+ id=11,
54
+ color=[102, 178, 255],
55
+ type='',
56
+ swap=''),
57
+ 12:
58
+ dict(
59
+ name='middle_finger4',
60
+ id=12,
61
+ color=[102, 178, 255],
62
+ type='',
63
+ swap=''),
64
+ 13:
65
+ dict(
66
+ name='ring_finger1', id=13, color=[255, 51, 51], type='', swap=''),
67
+ 14:
68
+ dict(
69
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
70
+ 15:
71
+ dict(
72
+ name='ring_finger3', id=15, color=[255, 51, 51], type='', swap=''),
73
+ 16:
74
+ dict(
75
+ name='ring_finger4', id=16, color=[255, 51, 51], type='', swap=''),
76
+ 17:
77
+ dict(name='pinky_finger1', id=17, color=[0, 255, 0], type='', swap=''),
78
+ 18:
79
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
80
+ 19:
81
+ dict(name='pinky_finger3', id=19, color=[0, 255, 0], type='', swap=''),
82
+ 20:
83
+ dict(name='pinky_finger4', id=20, color=[0, 255, 0], type='', swap='')
84
+ },
85
+ skeleton_info={
86
+ 0:
87
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
88
+ 1:
89
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
90
+ 2:
91
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
92
+ 3:
93
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
94
+ 4:
95
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
96
+ 5:
97
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
98
+ 6:
99
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
100
+ 7:
101
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
102
+ 8:
103
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
104
+ 9:
105
+ dict(
106
+ link=('middle_finger1', 'middle_finger2'),
107
+ id=9,
108
+ color=[102, 178, 255]),
109
+ 10:
110
+ dict(
111
+ link=('middle_finger2', 'middle_finger3'),
112
+ id=10,
113
+ color=[102, 178, 255]),
114
+ 11:
115
+ dict(
116
+ link=('middle_finger3', 'middle_finger4'),
117
+ id=11,
118
+ color=[102, 178, 255]),
119
+ 12:
120
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
121
+ 13:
122
+ dict(
123
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
124
+ 14:
125
+ dict(
126
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
127
+ 15:
128
+ dict(
129
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
130
+ 16:
131
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
132
+ 17:
133
+ dict(
134
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
135
+ 18:
136
+ dict(
137
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
138
+ 19:
139
+ dict(
140
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
141
+ },
142
+ joint_weights=[1.] * 21,
143
+ sigmas=[
144
+ 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035, 0.018,
145
+ 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019, 0.022,
146
+ 0.031
147
+ ])
configs/_base_/datasets/coco_wholebody_openpose.py ADDED
@@ -0,0 +1,1128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='coco_wholebody_openpose',
3
+ paper_info=dict(
4
+ author='Jin, Sheng and Xu, Lumin and Xu, Jin and '
5
+ 'Wang, Can and Liu, Wentao and '
6
+ 'Qian, Chen and Ouyang, Wanli and Luo, Ping',
7
+ title='Whole-Body Human Pose Estimation in the Wild',
8
+ container='Proceedings of the European '
9
+ 'Conference on Computer Vision (ECCV)',
10
+ year='2020',
11
+ homepage='https://github.com/jin-s13/COCO-WholeBody/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[255, 0, 0], type='upper', swap=''),
16
+ 1:
17
+ dict(name='neck', id=1, color=[255, 85, 0], type='upper', swap=''),
18
+ 2:
19
+ dict(
20
+ name='right_shoulder',
21
+ id=2,
22
+ color=[255, 170, 0],
23
+ type='upper',
24
+ swap='left_shoulder'),
25
+ 3:
26
+ dict(
27
+ name='right_elbow',
28
+ id=3,
29
+ color=[255, 255, 0],
30
+ type='upper',
31
+ swap='left_elbow'),
32
+ 4:
33
+ dict(
34
+ name='right_wrist',
35
+ id=4,
36
+ color=[170, 255, 0],
37
+ type='upper',
38
+ swap='left_wrist'),
39
+ 5:
40
+ dict(
41
+ name='left_shoulder',
42
+ id=5,
43
+ color=[85, 255, 0],
44
+ type='upper',
45
+ swap='right_shoulder'),
46
+ 6:
47
+ dict(
48
+ name='left_elbow',
49
+ id=6,
50
+ color=[0, 255, 0],
51
+ type='upper',
52
+ swap='right_elbow'),
53
+ 7:
54
+ dict(
55
+ name='left_wrist',
56
+ id=7,
57
+ color=[0, 255, 85],
58
+ type='upper',
59
+ swap='right_wrist'),
60
+ 8:
61
+ dict(
62
+ name='right_hip',
63
+ id=8,
64
+ color=[0, 255, 170],
65
+ type='lower',
66
+ swap='left_hip'),
67
+ 9:
68
+ dict(
69
+ name='right_knee',
70
+ id=9,
71
+ color=[0, 255, 255],
72
+ type='lower',
73
+ swap='left_knee'),
74
+ 10:
75
+ dict(
76
+ name='right_ankle',
77
+ id=10,
78
+ color=[0, 170, 255],
79
+ type='lower',
80
+ swap='left_ankle'),
81
+ 11:
82
+ dict(
83
+ name='left_hip',
84
+ id=11,
85
+ color=[0, 85, 255],
86
+ type='lower',
87
+ swap='right_hip'),
88
+ 12:
89
+ dict(
90
+ name='left_knee',
91
+ id=12,
92
+ color=[0, 0, 255],
93
+ type='lower',
94
+ swap='right_knee'),
95
+ 13:
96
+ dict(
97
+ name='left_ankle',
98
+ id=13,
99
+ color=[85, 0, 255],
100
+ type='lower',
101
+ swap='right_ankle'),
102
+ 14:
103
+ dict(
104
+ name='right_eye',
105
+ id=14,
106
+ color=[170, 0, 255],
107
+ type='upper',
108
+ swap='left_eye'),
109
+ 15:
110
+ dict(
111
+ name='left_eye',
112
+ id=15,
113
+ color=[255, 0, 255],
114
+ type='upper',
115
+ swap='right_eye'),
116
+ 16:
117
+ dict(
118
+ name='right_ear',
119
+ id=16,
120
+ color=[255, 0, 170],
121
+ type='upper',
122
+ swap='left_ear'),
123
+ 17:
124
+ dict(
125
+ name='left_ear',
126
+ id=17,
127
+ color=[255, 0, 85],
128
+ type='upper',
129
+ swap='right_ear'),
130
+ 18:
131
+ dict(
132
+ name='left_big_toe',
133
+ id=17,
134
+ color=[0, 0, 0],
135
+ type='lower',
136
+ swap='right_big_toe'),
137
+ 19:
138
+ dict(
139
+ name='left_small_toe',
140
+ id=18,
141
+ color=[0, 0, 0],
142
+ type='lower',
143
+ swap='right_small_toe'),
144
+ 20:
145
+ dict(
146
+ name='left_heel',
147
+ id=19,
148
+ color=[0, 0, 0],
149
+ type='lower',
150
+ swap='right_heel'),
151
+ 21:
152
+ dict(
153
+ name='right_big_toe',
154
+ id=20,
155
+ color=[0, 0, 0],
156
+ type='lower',
157
+ swap='left_big_toe'),
158
+ 22:
159
+ dict(
160
+ name='right_small_toe',
161
+ id=21,
162
+ color=[0, 0, 0],
163
+ type='lower',
164
+ swap='left_small_toe'),
165
+ 23:
166
+ dict(
167
+ name='right_heel',
168
+ id=22,
169
+ color=[0, 0, 0],
170
+ type='lower',
171
+ swap='left_heel'),
172
+ 24:
173
+ dict(
174
+ name='face-0',
175
+ id=23,
176
+ color=[255, 255, 255],
177
+ type='',
178
+ swap='face-16'),
179
+ 25:
180
+ dict(
181
+ name='face-1',
182
+ id=24,
183
+ color=[255, 255, 255],
184
+ type='',
185
+ swap='face-15'),
186
+ 26:
187
+ dict(
188
+ name='face-2',
189
+ id=25,
190
+ color=[255, 255, 255],
191
+ type='',
192
+ swap='face-14'),
193
+ 27:
194
+ dict(
195
+ name='face-3',
196
+ id=26,
197
+ color=[255, 255, 255],
198
+ type='',
199
+ swap='face-13'),
200
+ 28:
201
+ dict(
202
+ name='face-4',
203
+ id=27,
204
+ color=[255, 255, 255],
205
+ type='',
206
+ swap='face-12'),
207
+ 29:
208
+ dict(
209
+ name='face-5',
210
+ id=28,
211
+ color=[255, 255, 255],
212
+ type='',
213
+ swap='face-11'),
214
+ 30:
215
+ dict(
216
+ name='face-6',
217
+ id=29,
218
+ color=[255, 255, 255],
219
+ type='',
220
+ swap='face-10'),
221
+ 31:
222
+ dict(
223
+ name='face-7',
224
+ id=30,
225
+ color=[255, 255, 255],
226
+ type='',
227
+ swap='face-9'),
228
+ 32:
229
+ dict(name='face-8', id=31, color=[255, 255, 255], type='', swap=''),
230
+ 33:
231
+ dict(
232
+ name='face-9',
233
+ id=32,
234
+ color=[255, 255, 255],
235
+ type='',
236
+ swap='face-7'),
237
+ 34:
238
+ dict(
239
+ name='face-10',
240
+ id=33,
241
+ color=[255, 255, 255],
242
+ type='',
243
+ swap='face-6'),
244
+ 35:
245
+ dict(
246
+ name='face-11',
247
+ id=34,
248
+ color=[255, 255, 255],
249
+ type='',
250
+ swap='face-5'),
251
+ 36:
252
+ dict(
253
+ name='face-12',
254
+ id=35,
255
+ color=[255, 255, 255],
256
+ type='',
257
+ swap='face-4'),
258
+ 37:
259
+ dict(
260
+ name='face-13',
261
+ id=36,
262
+ color=[255, 255, 255],
263
+ type='',
264
+ swap='face-3'),
265
+ 38:
266
+ dict(
267
+ name='face-14',
268
+ id=37,
269
+ color=[255, 255, 255],
270
+ type='',
271
+ swap='face-2'),
272
+ 39:
273
+ dict(
274
+ name='face-15',
275
+ id=38,
276
+ color=[255, 255, 255],
277
+ type='',
278
+ swap='face-1'),
279
+ 40:
280
+ dict(
281
+ name='face-16',
282
+ id=39,
283
+ color=[255, 255, 255],
284
+ type='',
285
+ swap='face-0'),
286
+ 41:
287
+ dict(
288
+ name='face-17',
289
+ id=40,
290
+ color=[255, 255, 255],
291
+ type='',
292
+ swap='face-26'),
293
+ 42:
294
+ dict(
295
+ name='face-18',
296
+ id=41,
297
+ color=[255, 255, 255],
298
+ type='',
299
+ swap='face-25'),
300
+ 43:
301
+ dict(
302
+ name='face-19',
303
+ id=42,
304
+ color=[255, 255, 255],
305
+ type='',
306
+ swap='face-24'),
307
+ 44:
308
+ dict(
309
+ name='face-20',
310
+ id=43,
311
+ color=[255, 255, 255],
312
+ type='',
313
+ swap='face-23'),
314
+ 45:
315
+ dict(
316
+ name='face-21',
317
+ id=44,
318
+ color=[255, 255, 255],
319
+ type='',
320
+ swap='face-22'),
321
+ 46:
322
+ dict(
323
+ name='face-22',
324
+ id=45,
325
+ color=[255, 255, 255],
326
+ type='',
327
+ swap='face-21'),
328
+ 47:
329
+ dict(
330
+ name='face-23',
331
+ id=46,
332
+ color=[255, 255, 255],
333
+ type='',
334
+ swap='face-20'),
335
+ 48:
336
+ dict(
337
+ name='face-24',
338
+ id=47,
339
+ color=[255, 255, 255],
340
+ type='',
341
+ swap='face-19'),
342
+ 49:
343
+ dict(
344
+ name='face-25',
345
+ id=48,
346
+ color=[255, 255, 255],
347
+ type='',
348
+ swap='face-18'),
349
+ 50:
350
+ dict(
351
+ name='face-26',
352
+ id=49,
353
+ color=[255, 255, 255],
354
+ type='',
355
+ swap='face-17'),
356
+ 51:
357
+ dict(name='face-27', id=50, color=[255, 255, 255], type='', swap=''),
358
+ 52:
359
+ dict(name='face-28', id=51, color=[255, 255, 255], type='', swap=''),
360
+ 53:
361
+ dict(name='face-29', id=52, color=[255, 255, 255], type='', swap=''),
362
+ 54:
363
+ dict(name='face-30', id=53, color=[255, 255, 255], type='', swap=''),
364
+ 55:
365
+ dict(
366
+ name='face-31',
367
+ id=54,
368
+ color=[255, 255, 255],
369
+ type='',
370
+ swap='face-35'),
371
+ 56:
372
+ dict(
373
+ name='face-32',
374
+ id=55,
375
+ color=[255, 255, 255],
376
+ type='',
377
+ swap='face-34'),
378
+ 57:
379
+ dict(name='face-33', id=56, color=[255, 255, 255], type='', swap=''),
380
+ 58:
381
+ dict(
382
+ name='face-34',
383
+ id=57,
384
+ color=[255, 255, 255],
385
+ type='',
386
+ swap='face-32'),
387
+ 59:
388
+ dict(
389
+ name='face-35',
390
+ id=58,
391
+ color=[255, 255, 255],
392
+ type='',
393
+ swap='face-31'),
394
+ 60:
395
+ dict(
396
+ name='face-36',
397
+ id=59,
398
+ color=[255, 255, 255],
399
+ type='',
400
+ swap='face-45'),
401
+ 61:
402
+ dict(
403
+ name='face-37',
404
+ id=60,
405
+ color=[255, 255, 255],
406
+ type='',
407
+ swap='face-44'),
408
+ 62:
409
+ dict(
410
+ name='face-38',
411
+ id=61,
412
+ color=[255, 255, 255],
413
+ type='',
414
+ swap='face-43'),
415
+ 63:
416
+ dict(
417
+ name='face-39',
418
+ id=62,
419
+ color=[255, 255, 255],
420
+ type='',
421
+ swap='face-42'),
422
+ 64:
423
+ dict(
424
+ name='face-40',
425
+ id=63,
426
+ color=[255, 255, 255],
427
+ type='',
428
+ swap='face-47'),
429
+ 65:
430
+ dict(
431
+ name='face-41',
432
+ id=64,
433
+ color=[255, 255, 255],
434
+ type='',
435
+ swap='face-46'),
436
+ 66:
437
+ dict(
438
+ name='face-42',
439
+ id=65,
440
+ color=[255, 255, 255],
441
+ type='',
442
+ swap='face-39'),
443
+ 67:
444
+ dict(
445
+ name='face-43',
446
+ id=66,
447
+ color=[255, 255, 255],
448
+ type='',
449
+ swap='face-38'),
450
+ 68:
451
+ dict(
452
+ name='face-44',
453
+ id=67,
454
+ color=[255, 255, 255],
455
+ type='',
456
+ swap='face-37'),
457
+ 69:
458
+ dict(
459
+ name='face-45',
460
+ id=68,
461
+ color=[255, 255, 255],
462
+ type='',
463
+ swap='face-36'),
464
+ 70:
465
+ dict(
466
+ name='face-46',
467
+ id=69,
468
+ color=[255, 255, 255],
469
+ type='',
470
+ swap='face-41'),
471
+ 71:
472
+ dict(
473
+ name='face-47',
474
+ id=70,
475
+ color=[255, 255, 255],
476
+ type='',
477
+ swap='face-40'),
478
+ 72:
479
+ dict(
480
+ name='face-48',
481
+ id=71,
482
+ color=[255, 255, 255],
483
+ type='',
484
+ swap='face-54'),
485
+ 73:
486
+ dict(
487
+ name='face-49',
488
+ id=72,
489
+ color=[255, 255, 255],
490
+ type='',
491
+ swap='face-53'),
492
+ 74:
493
+ dict(
494
+ name='face-50',
495
+ id=73,
496
+ color=[255, 255, 255],
497
+ type='',
498
+ swap='face-52'),
499
+ 75:
500
+ dict(name='face-51', id=74, color=[255, 255, 255], type='', swap=''),
501
+ 76:
502
+ dict(
503
+ name='face-52',
504
+ id=75,
505
+ color=[255, 255, 255],
506
+ type='',
507
+ swap='face-50'),
508
+ 77:
509
+ dict(
510
+ name='face-53',
511
+ id=76,
512
+ color=[255, 255, 255],
513
+ type='',
514
+ swap='face-49'),
515
+ 78:
516
+ dict(
517
+ name='face-54',
518
+ id=77,
519
+ color=[255, 255, 255],
520
+ type='',
521
+ swap='face-48'),
522
+ 79:
523
+ dict(
524
+ name='face-55',
525
+ id=78,
526
+ color=[255, 255, 255],
527
+ type='',
528
+ swap='face-59'),
529
+ 80:
530
+ dict(
531
+ name='face-56',
532
+ id=79,
533
+ color=[255, 255, 255],
534
+ type='',
535
+ swap='face-58'),
536
+ 81:
537
+ dict(name='face-57', id=80, color=[255, 255, 255], type='', swap=''),
538
+ 82:
539
+ dict(
540
+ name='face-58',
541
+ id=81,
542
+ color=[255, 255, 255],
543
+ type='',
544
+ swap='face-56'),
545
+ 83:
546
+ dict(
547
+ name='face-59',
548
+ id=82,
549
+ color=[255, 255, 255],
550
+ type='',
551
+ swap='face-55'),
552
+ 84:
553
+ dict(
554
+ name='face-60',
555
+ id=83,
556
+ color=[255, 255, 255],
557
+ type='',
558
+ swap='face-64'),
559
+ 85:
560
+ dict(
561
+ name='face-61',
562
+ id=84,
563
+ color=[255, 255, 255],
564
+ type='',
565
+ swap='face-63'),
566
+ 86:
567
+ dict(name='face-62', id=85, color=[255, 255, 255], type='', swap=''),
568
+ 87:
569
+ dict(
570
+ name='face-63',
571
+ id=86,
572
+ color=[255, 255, 255],
573
+ type='',
574
+ swap='face-61'),
575
+ 88:
576
+ dict(
577
+ name='face-64',
578
+ id=87,
579
+ color=[255, 255, 255],
580
+ type='',
581
+ swap='face-60'),
582
+ 89:
583
+ dict(
584
+ name='face-65',
585
+ id=88,
586
+ color=[255, 255, 255],
587
+ type='',
588
+ swap='face-67'),
589
+ 90:
590
+ dict(name='face-66', id=89, color=[255, 255, 255], type='', swap=''),
591
+ 91:
592
+ dict(
593
+ name='face-67',
594
+ id=90,
595
+ color=[255, 255, 255],
596
+ type='',
597
+ swap='face-65'),
598
+ 92:
599
+ dict(
600
+ name='left_hand_root',
601
+ id=92,
602
+ color=[0, 0, 255],
603
+ type='',
604
+ swap='right_hand_root'),
605
+ 93:
606
+ dict(
607
+ name='left_thumb1',
608
+ id=93,
609
+ color=[0, 0, 255],
610
+ type='',
611
+ swap='right_thumb1'),
612
+ 94:
613
+ dict(
614
+ name='left_thumb2',
615
+ id=94,
616
+ color=[0, 0, 255],
617
+ type='',
618
+ swap='right_thumb2'),
619
+ 95:
620
+ dict(
621
+ name='left_thumb3',
622
+ id=95,
623
+ color=[0, 0, 255],
624
+ type='',
625
+ swap='right_thumb3'),
626
+ 96:
627
+ dict(
628
+ name='left_thumb4',
629
+ id=96,
630
+ color=[0, 0, 255],
631
+ type='',
632
+ swap='right_thumb4'),
633
+ 97:
634
+ dict(
635
+ name='left_forefinger1',
636
+ id=97,
637
+ color=[0, 0, 255],
638
+ type='',
639
+ swap='right_forefinger1'),
640
+ 98:
641
+ dict(
642
+ name='left_forefinger2',
643
+ id=98,
644
+ color=[0, 0, 255],
645
+ type='',
646
+ swap='right_forefinger2'),
647
+ 99:
648
+ dict(
649
+ name='left_forefinger3',
650
+ id=99,
651
+ color=[0, 0, 255],
652
+ type='',
653
+ swap='right_forefinger3'),
654
+ 100:
655
+ dict(
656
+ name='left_forefinger4',
657
+ id=100,
658
+ color=[0, 0, 255],
659
+ type='',
660
+ swap='right_forefinger4'),
661
+ 101:
662
+ dict(
663
+ name='left_middle_finger1',
664
+ id=101,
665
+ color=[0, 0, 255],
666
+ type='',
667
+ swap='right_middle_finger1'),
668
+ 102:
669
+ dict(
670
+ name='left_middle_finger2',
671
+ id=102,
672
+ color=[0, 0, 255],
673
+ type='',
674
+ swap='right_middle_finger2'),
675
+ 103:
676
+ dict(
677
+ name='left_middle_finger3',
678
+ id=103,
679
+ color=[0, 0, 255],
680
+ type='',
681
+ swap='right_middle_finger3'),
682
+ 104:
683
+ dict(
684
+ name='left_middle_finger4',
685
+ id=104,
686
+ color=[0, 0, 255],
687
+ type='',
688
+ swap='right_middle_finger4'),
689
+ 105:
690
+ dict(
691
+ name='left_ring_finger1',
692
+ id=105,
693
+ color=[0, 0, 255],
694
+ type='',
695
+ swap='right_ring_finger1'),
696
+ 106:
697
+ dict(
698
+ name='left_ring_finger2',
699
+ id=106,
700
+ color=[0, 0, 255],
701
+ type='',
702
+ swap='right_ring_finger2'),
703
+ 107:
704
+ dict(
705
+ name='left_ring_finger3',
706
+ id=107,
707
+ color=[0, 0, 255],
708
+ type='',
709
+ swap='right_ring_finger3'),
710
+ 108:
711
+ dict(
712
+ name='left_ring_finger4',
713
+ id=108,
714
+ color=[0, 0, 255],
715
+ type='',
716
+ swap='right_ring_finger4'),
717
+ 109:
718
+ dict(
719
+ name='left_pinky_finger1',
720
+ id=109,
721
+ color=[0, 0, 255],
722
+ type='',
723
+ swap='right_pinky_finger1'),
724
+ 110:
725
+ dict(
726
+ name='left_pinky_finger2',
727
+ id=110,
728
+ color=[0, 0, 255],
729
+ type='',
730
+ swap='right_pinky_finger2'),
731
+ 111:
732
+ dict(
733
+ name='left_pinky_finger3',
734
+ id=111,
735
+ color=[0, 0, 255],
736
+ type='',
737
+ swap='right_pinky_finger3'),
738
+ 112:
739
+ dict(
740
+ name='left_pinky_finger4',
741
+ id=112,
742
+ color=[0, 0, 255],
743
+ type='',
744
+ swap='right_pinky_finger4'),
745
+ 113:
746
+ dict(
747
+ name='right_hand_root',
748
+ id=113,
749
+ color=[0, 0, 255],
750
+ type='',
751
+ swap='left_hand_root'),
752
+ 114:
753
+ dict(
754
+ name='right_thumb1',
755
+ id=114,
756
+ color=[0, 0, 255],
757
+ type='',
758
+ swap='left_thumb1'),
759
+ 115:
760
+ dict(
761
+ name='right_thumb2',
762
+ id=115,
763
+ color=[0, 0, 255],
764
+ type='',
765
+ swap='left_thumb2'),
766
+ 116:
767
+ dict(
768
+ name='right_thumb3',
769
+ id=116,
770
+ color=[0, 0, 255],
771
+ type='',
772
+ swap='left_thumb3'),
773
+ 117:
774
+ dict(
775
+ name='right_thumb4',
776
+ id=117,
777
+ color=[0, 0, 255],
778
+ type='',
779
+ swap='left_thumb4'),
780
+ 118:
781
+ dict(
782
+ name='right_forefinger1',
783
+ id=118,
784
+ color=[0, 0, 255],
785
+ type='',
786
+ swap='left_forefinger1'),
787
+ 119:
788
+ dict(
789
+ name='right_forefinger2',
790
+ id=119,
791
+ color=[0, 0, 255],
792
+ type='',
793
+ swap='left_forefinger2'),
794
+ 120:
795
+ dict(
796
+ name='right_forefinger3',
797
+ id=120,
798
+ color=[0, 0, 255],
799
+ type='',
800
+ swap='left_forefinger3'),
801
+ 121:
802
+ dict(
803
+ name='right_forefinger4',
804
+ id=121,
805
+ color=[0, 0, 255],
806
+ type='',
807
+ swap='left_forefinger4'),
808
+ 122:
809
+ dict(
810
+ name='right_middle_finger1',
811
+ id=122,
812
+ color=[0, 0, 255],
813
+ type='',
814
+ swap='left_middle_finger1'),
815
+ 123:
816
+ dict(
817
+ name='right_middle_finger2',
818
+ id=123,
819
+ color=[0, 0, 255],
820
+ type='',
821
+ swap='left_middle_finger2'),
822
+ 124:
823
+ dict(
824
+ name='right_middle_finger3',
825
+ id=124,
826
+ color=[0, 0, 255],
827
+ type='',
828
+ swap='left_middle_finger3'),
829
+ 125:
830
+ dict(
831
+ name='right_middle_finger4',
832
+ id=125,
833
+ color=[0, 0, 255],
834
+ type='',
835
+ swap='left_middle_finger4'),
836
+ 126:
837
+ dict(
838
+ name='right_ring_finger1',
839
+ id=126,
840
+ color=[0, 0, 255],
841
+ type='',
842
+ swap='left_ring_finger1'),
843
+ 127:
844
+ dict(
845
+ name='right_ring_finger2',
846
+ id=127,
847
+ color=[0, 0, 255],
848
+ type='',
849
+ swap='left_ring_finger2'),
850
+ 128:
851
+ dict(
852
+ name='right_ring_finger3',
853
+ id=128,
854
+ color=[0, 0, 255],
855
+ type='',
856
+ swap='left_ring_finger3'),
857
+ 129:
858
+ dict(
859
+ name='right_ring_finger4',
860
+ id=129,
861
+ color=[0, 0, 255],
862
+ type='',
863
+ swap='left_ring_finger4'),
864
+ 130:
865
+ dict(
866
+ name='right_pinky_finger1',
867
+ id=130,
868
+ color=[0, 0, 255],
869
+ type='',
870
+ swap='left_pinky_finger1'),
871
+ 131:
872
+ dict(
873
+ name='right_pinky_finger2',
874
+ id=131,
875
+ color=[0, 0, 255],
876
+ type='',
877
+ swap='left_pinky_finger2'),
878
+ 132:
879
+ dict(
880
+ name='right_pinky_finger3',
881
+ id=132,
882
+ color=[0, 0, 255],
883
+ type='',
884
+ swap='left_pinky_finger3'),
885
+ 133:
886
+ dict(
887
+ name='right_pinky_finger4',
888
+ id=133,
889
+ color=[0, 0, 255],
890
+ type='',
891
+ swap='left_pinky_finger4')
892
+ },
893
+ skeleton_info={
894
+ 0:
895
+ dict(link=('neck', 'right_shoulder'), id=0, color=[255, 0, 0]),
896
+ 1:
897
+ dict(link=('neck', 'left_shoulder'), id=1, color=[255, 85, 0]),
898
+ 2:
899
+ dict(
900
+ link=('right_shoulder', 'right_elbow'), id=2, color=[255, 170, 0]),
901
+ 3:
902
+ dict(link=('right_elbow', 'right_wrist'), id=3, color=[255, 255, 0]),
903
+ 4:
904
+ dict(link=('left_shoulder', 'left_elbow'), id=4, color=[170, 255, 0]),
905
+ 5:
906
+ dict(link=('left_elbow', 'left_wrist'), id=5, color=[85, 255, 0]),
907
+ 6:
908
+ dict(link=('neck', 'right_hip'), id=6, color=[0, 255, 0]),
909
+ 7:
910
+ dict(link=('right_hip', 'right_knee'), id=7, color=[0, 255, 85]),
911
+ 8:
912
+ dict(link=('right_knee', 'right_ankle'), id=8, color=[0, 255, 170]),
913
+ 9:
914
+ dict(link=('neck', 'left_hip'), id=9, color=[0, 255, 225]),
915
+ 10:
916
+ dict(link=('left_hip', 'left_knee'), id=10, color=[0, 170, 255]),
917
+ 11:
918
+ dict(link=('left_knee', 'left_ankle'), id=11, color=[0, 85, 255]),
919
+ 12:
920
+ dict(link=('neck', 'nose'), id=12, color=[0, 0, 255]),
921
+ 13:
922
+ dict(link=('nose', 'right_eye'), id=13, color=[255, 0, 170]),
923
+ 14:
924
+ dict(link=('right_eye', 'right_ear'), id=14, color=[170, 0, 255]),
925
+ 15:
926
+ dict(link=('nose', 'left_eye'), id=15, color=[255, 0, 255]),
927
+ 16:
928
+ dict(link=('left_eye', 'left_ear'), id=16, color=[255, 0, 170]),
929
+ 17:
930
+ dict(link=('left_hand_root', 'left_thumb1'), id=17, color=[255, 0, 0]),
931
+ 18:
932
+ dict(link=('left_thumb1', 'left_thumb2'), id=18, color=[255, 76, 0]),
933
+ 19:
934
+ dict(link=('left_thumb2', 'left_thumb3'), id=19, color=[255, 153, 0]),
935
+ 20:
936
+ dict(link=('left_thumb3', 'left_thumb4'), id=20, color=[255, 230, 0]),
937
+ 21:
938
+ dict(
939
+ link=('left_hand_root', 'left_forefinger1'),
940
+ id=21,
941
+ color=[204, 255, 0]),
942
+ 22:
943
+ dict(
944
+ link=('left_forefinger1', 'left_forefinger2'),
945
+ id=22,
946
+ color=[128, 255, 0]),
947
+ 23:
948
+ dict(
949
+ link=('left_forefinger2', 'left_forefinger3'),
950
+ id=23,
951
+ color=[51, 255, 0]),
952
+ 24:
953
+ dict(
954
+ link=('left_forefinger3', 'left_forefinger4'),
955
+ id=24,
956
+ color=[0, 255, 26]),
957
+ 25:
958
+ dict(
959
+ link=('left_hand_root', 'left_middle_finger1'),
960
+ id=25,
961
+ color=[0, 255, 102]),
962
+ 26:
963
+ dict(
964
+ link=('left_middle_finger1', 'left_middle_finger2'),
965
+ id=26,
966
+ color=[0, 255, 178]),
967
+ 27:
968
+ dict(
969
+ link=('left_middle_finger2', 'left_middle_finger3'),
970
+ id=27,
971
+ color=[0, 255, 255]),
972
+ 28:
973
+ dict(
974
+ link=('left_middle_finger3', 'left_middle_finger4'),
975
+ id=28,
976
+ color=[0, 178, 255]),
977
+ 29:
978
+ dict(
979
+ link=('left_hand_root', 'left_ring_finger1'),
980
+ id=29,
981
+ color=[0, 102, 255]),
982
+ 30:
983
+ dict(
984
+ link=('left_ring_finger1', 'left_ring_finger2'),
985
+ id=30,
986
+ color=[0, 26, 255]),
987
+ 31:
988
+ dict(
989
+ link=('left_ring_finger2', 'left_ring_finger3'),
990
+ id=31,
991
+ color=[51, 0, 255]),
992
+ 32:
993
+ dict(
994
+ link=('left_ring_finger3', 'left_ring_finger4'),
995
+ id=32,
996
+ color=[128, 0, 255]),
997
+ 33:
998
+ dict(
999
+ link=('left_hand_root', 'left_pinky_finger1'),
1000
+ id=33,
1001
+ color=[204, 0, 255]),
1002
+ 34:
1003
+ dict(
1004
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1005
+ id=34,
1006
+ color=[255, 0, 230]),
1007
+ 35:
1008
+ dict(
1009
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1010
+ id=35,
1011
+ color=[255, 0, 153]),
1012
+ 36:
1013
+ dict(
1014
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1015
+ id=36,
1016
+ color=[255, 0, 76]),
1017
+ 37:
1018
+ dict(
1019
+ link=('right_hand_root', 'right_thumb1'), id=37, color=[255, 0,
1020
+ 0]),
1021
+ 38:
1022
+ dict(link=('right_thumb1', 'right_thumb2'), id=38, color=[255, 76, 0]),
1023
+ 39:
1024
+ dict(
1025
+ link=('right_thumb2', 'right_thumb3'), id=39, color=[255, 153, 0]),
1026
+ 40:
1027
+ dict(
1028
+ link=('right_thumb3', 'right_thumb4'), id=40, color=[255, 230, 0]),
1029
+ 41:
1030
+ dict(
1031
+ link=('right_hand_root', 'right_forefinger1'),
1032
+ id=41,
1033
+ color=[204, 255, 0]),
1034
+ 42:
1035
+ dict(
1036
+ link=('right_forefinger1', 'right_forefinger2'),
1037
+ id=42,
1038
+ color=[128, 255, 0]),
1039
+ 43:
1040
+ dict(
1041
+ link=('right_forefinger2', 'right_forefinger3'),
1042
+ id=43,
1043
+ color=[51, 255, 0]),
1044
+ 44:
1045
+ dict(
1046
+ link=('right_forefinger3', 'right_forefinger4'),
1047
+ id=44,
1048
+ color=[0, 255, 26]),
1049
+ 45:
1050
+ dict(
1051
+ link=('right_hand_root', 'right_middle_finger1'),
1052
+ id=45,
1053
+ color=[0, 255, 102]),
1054
+ 46:
1055
+ dict(
1056
+ link=('right_middle_finger1', 'right_middle_finger2'),
1057
+ id=46,
1058
+ color=[0, 255, 178]),
1059
+ 47:
1060
+ dict(
1061
+ link=('right_middle_finger2', 'right_middle_finger3'),
1062
+ id=47,
1063
+ color=[255, 255, 255]),
1064
+ 48:
1065
+ dict(
1066
+ link=('right_middle_finger3', 'right_middle_finger4'),
1067
+ id=48,
1068
+ color=[0, 178, 255]),
1069
+ 49:
1070
+ dict(
1071
+ link=('right_hand_root', 'right_ring_finger1'),
1072
+ id=49,
1073
+ color=[0, 102, 255]),
1074
+ 50:
1075
+ dict(
1076
+ link=('right_ring_finger1', 'right_ring_finger2'),
1077
+ id=50,
1078
+ color=[0, 26, 255]),
1079
+ 51:
1080
+ dict(
1081
+ link=('right_ring_finger2', 'right_ring_finger3'),
1082
+ id=51,
1083
+ color=[51, 0, 255]),
1084
+ 52:
1085
+ dict(
1086
+ link=('right_ring_finger3', 'right_ring_finger4'),
1087
+ id=52,
1088
+ color=[128, 0, 255]),
1089
+ 53:
1090
+ dict(
1091
+ link=('right_hand_root', 'right_pinky_finger1'),
1092
+ id=53,
1093
+ color=[204, 0, 255]),
1094
+ 54:
1095
+ dict(
1096
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1097
+ id=54,
1098
+ color=[255, 0, 230]),
1099
+ 55:
1100
+ dict(
1101
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1102
+ id=55,
1103
+ color=[255, 0, 153]),
1104
+ 56:
1105
+ dict(
1106
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1107
+ id=56,
1108
+ color=[255, 0, 76])
1109
+ },
1110
+ joint_weights=[1.] * 134,
1111
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
1112
+ # 'evaluation/myeval_wholebody.py#L175'
1113
+ sigmas=[
1114
+ 0.026, 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072,
1115
+ 0.062, 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.068, 0.066,
1116
+ 0.066, 0.092, 0.094, 0.094, 0.042, 0.043, 0.044, 0.043, 0.040, 0.035,
1117
+ 0.031, 0.025, 0.020, 0.023, 0.029, 0.032, 0.037, 0.038, 0.043, 0.041,
1118
+ 0.045, 0.013, 0.012, 0.011, 0.011, 0.012, 0.012, 0.011, 0.011, 0.013,
1119
+ 0.015, 0.009, 0.007, 0.007, 0.007, 0.012, 0.009, 0.008, 0.016, 0.010,
1120
+ 0.017, 0.011, 0.009, 0.011, 0.009, 0.007, 0.013, 0.008, 0.011, 0.012,
1121
+ 0.010, 0.034, 0.008, 0.008, 0.009, 0.008, 0.008, 0.007, 0.010, 0.008,
1122
+ 0.009, 0.009, 0.009, 0.007, 0.007, 0.008, 0.011, 0.008, 0.008, 0.008,
1123
+ 0.01, 0.008, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024,
1124
+ 0.035, 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02,
1125
+ 0.019, 0.022, 0.031, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025,
1126
+ 0.024, 0.035, 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032,
1127
+ 0.02, 0.019, 0.022, 0.031
1128
+ ])
configs/_base_/datasets/cofw.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='cofw',
3
+ paper_info=dict(
4
+ author='Burgos-Artizzu, Xavier P and Perona, '
5
+ r'Pietro and Doll{\'a}r, Piotr',
6
+ title='Robust face landmark estimation under occlusion',
7
+ container='Proceedings of the IEEE international '
8
+ 'conference on computer vision',
9
+ year='2013',
10
+ homepage='http://www.vision.caltech.edu/xpburgos/ICCV13/',
11
+ ),
12
+ keypoint_info={
13
+ 0: dict(name='kpt-0', id=0, color=[255, 0, 0], type='', swap='kpt-1'),
14
+ 1: dict(name='kpt-1', id=1, color=[255, 0, 0], type='', swap='kpt-0'),
15
+ 2: dict(name='kpt-2', id=2, color=[255, 0, 0], type='', swap='kpt-3'),
16
+ 3: dict(name='kpt-3', id=3, color=[255, 0, 0], type='', swap='kpt-2'),
17
+ 4: dict(name='kpt-4', id=4, color=[255, 0, 0], type='', swap='kpt-6'),
18
+ 5: dict(name='kpt-5', id=5, color=[255, 0, 0], type='', swap='kpt-7'),
19
+ 6: dict(name='kpt-6', id=6, color=[255, 0, 0], type='', swap='kpt-4'),
20
+ 7: dict(name='kpt-7', id=7, color=[255, 0, 0], type='', swap='kpt-5'),
21
+ 8: dict(name='kpt-8', id=8, color=[255, 0, 0], type='', swap='kpt-9'),
22
+ 9: dict(name='kpt-9', id=9, color=[255, 0, 0], type='', swap='kpt-8'),
23
+ 10:
24
+ dict(name='kpt-10', id=10, color=[255, 0, 0], type='', swap='kpt-11'),
25
+ 11:
26
+ dict(name='kpt-11', id=11, color=[255, 0, 0], type='', swap='kpt-10'),
27
+ 12:
28
+ dict(name='kpt-12', id=12, color=[255, 0, 0], type='', swap='kpt-14'),
29
+ 13:
30
+ dict(name='kpt-13', id=13, color=[255, 0, 0], type='', swap='kpt-15'),
31
+ 14:
32
+ dict(name='kpt-14', id=14, color=[255, 0, 0], type='', swap='kpt-12'),
33
+ 15:
34
+ dict(name='kpt-15', id=15, color=[255, 0, 0], type='', swap='kpt-13'),
35
+ 16:
36
+ dict(name='kpt-16', id=16, color=[255, 0, 0], type='', swap='kpt-17'),
37
+ 17:
38
+ dict(name='kpt-17', id=17, color=[255, 0, 0], type='', swap='kpt-16'),
39
+ 18:
40
+ dict(name='kpt-18', id=18, color=[255, 0, 0], type='', swap='kpt-19'),
41
+ 19:
42
+ dict(name='kpt-19', id=19, color=[255, 0, 0], type='', swap='kpt-18'),
43
+ 20: dict(name='kpt-20', id=20, color=[255, 0, 0], type='', swap=''),
44
+ 21: dict(name='kpt-21', id=21, color=[255, 0, 0], type='', swap=''),
45
+ 22:
46
+ dict(name='kpt-22', id=22, color=[255, 0, 0], type='', swap='kpt-23'),
47
+ 23:
48
+ dict(name='kpt-23', id=23, color=[255, 0, 0], type='', swap='kpt-22'),
49
+ 24: dict(name='kpt-24', id=24, color=[255, 0, 0], type='', swap=''),
50
+ 25: dict(name='kpt-25', id=25, color=[255, 0, 0], type='', swap=''),
51
+ 26: dict(name='kpt-26', id=26, color=[255, 0, 0], type='', swap=''),
52
+ 27: dict(name='kpt-27', id=27, color=[255, 0, 0], type='', swap=''),
53
+ 28: dict(name='kpt-28', id=28, color=[255, 0, 0], type='', swap='')
54
+ },
55
+ skeleton_info={},
56
+ joint_weights=[1.] * 29,
57
+ sigmas=[])
configs/_base_/datasets/crowdpose.py ADDED
@@ -0,0 +1,147 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='crowdpose',
3
+ paper_info=dict(
4
+ author='Li, Jiefeng and Wang, Can and Zhu, Hao and '
5
+ 'Mao, Yihuan and Fang, Hao-Shu and Lu, Cewu',
6
+ title='CrowdPose: Efficient Crowded Scenes Pose Estimation '
7
+ 'and A New Benchmark',
8
+ container='Proceedings of IEEE Conference on Computer '
9
+ 'Vision and Pattern Recognition (CVPR)',
10
+ year='2019',
11
+ homepage='https://github.com/Jeff-sjtu/CrowdPose',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='left_shoulder',
17
+ id=0,
18
+ color=[51, 153, 255],
19
+ type='upper',
20
+ swap='right_shoulder'),
21
+ 1:
22
+ dict(
23
+ name='right_shoulder',
24
+ id=1,
25
+ color=[51, 153, 255],
26
+ type='upper',
27
+ swap='left_shoulder'),
28
+ 2:
29
+ dict(
30
+ name='left_elbow',
31
+ id=2,
32
+ color=[51, 153, 255],
33
+ type='upper',
34
+ swap='right_elbow'),
35
+ 3:
36
+ dict(
37
+ name='right_elbow',
38
+ id=3,
39
+ color=[51, 153, 255],
40
+ type='upper',
41
+ swap='left_elbow'),
42
+ 4:
43
+ dict(
44
+ name='left_wrist',
45
+ id=4,
46
+ color=[51, 153, 255],
47
+ type='upper',
48
+ swap='right_wrist'),
49
+ 5:
50
+ dict(
51
+ name='right_wrist',
52
+ id=5,
53
+ color=[0, 255, 0],
54
+ type='upper',
55
+ swap='left_wrist'),
56
+ 6:
57
+ dict(
58
+ name='left_hip',
59
+ id=6,
60
+ color=[255, 128, 0],
61
+ type='lower',
62
+ swap='right_hip'),
63
+ 7:
64
+ dict(
65
+ name='right_hip',
66
+ id=7,
67
+ color=[0, 255, 0],
68
+ type='lower',
69
+ swap='left_hip'),
70
+ 8:
71
+ dict(
72
+ name='left_knee',
73
+ id=8,
74
+ color=[255, 128, 0],
75
+ type='lower',
76
+ swap='right_knee'),
77
+ 9:
78
+ dict(
79
+ name='right_knee',
80
+ id=9,
81
+ color=[0, 255, 0],
82
+ type='lower',
83
+ swap='left_knee'),
84
+ 10:
85
+ dict(
86
+ name='left_ankle',
87
+ id=10,
88
+ color=[255, 128, 0],
89
+ type='lower',
90
+ swap='right_ankle'),
91
+ 11:
92
+ dict(
93
+ name='right_ankle',
94
+ id=11,
95
+ color=[0, 255, 0],
96
+ type='lower',
97
+ swap='left_ankle'),
98
+ 12:
99
+ dict(
100
+ name='top_head', id=12, color=[255, 128, 0], type='upper',
101
+ swap=''),
102
+ 13:
103
+ dict(name='neck', id=13, color=[0, 255, 0], type='upper', swap='')
104
+ },
105
+ skeleton_info={
106
+ 0:
107
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
108
+ 1:
109
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
110
+ 2:
111
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
112
+ 3:
113
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
114
+ 4:
115
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
116
+ 5:
117
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
118
+ 6:
119
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
120
+ 7:
121
+ dict(
122
+ link=('left_shoulder', 'right_shoulder'),
123
+ id=7,
124
+ color=[51, 153, 255]),
125
+ 8:
126
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
127
+ 9:
128
+ dict(
129
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
130
+ 10:
131
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
132
+ 11:
133
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
134
+ 12:
135
+ dict(link=('top_head', 'neck'), id=12, color=[51, 153, 255]),
136
+ 13:
137
+ dict(link=('right_shoulder', 'neck'), id=13, color=[51, 153, 255]),
138
+ 14:
139
+ dict(link=('left_shoulder', 'neck'), id=14, color=[51, 153, 255])
140
+ },
141
+ joint_weights=[
142
+ 0.2, 0.2, 0.2, 1.3, 1.5, 0.2, 1.3, 1.5, 0.2, 0.2, 0.5, 0.2, 0.2, 0.5
143
+ ],
144
+ sigmas=[
145
+ 0.079, 0.079, 0.072, 0.072, 0.062, 0.062, 0.107, 0.107, 0.087, 0.087,
146
+ 0.089, 0.089, 0.079, 0.079
147
+ ])
configs/_base_/datasets/deepfashion2.py ADDED
@@ -0,0 +1,2660 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ colors = dict(
2
+ sss=[255, 128, 0], # short_sleeve_shirt
3
+ lss=[255, 0, 128], # long_sleeved_shirt
4
+ sso=[128, 0, 255], # short_sleeved_outwear
5
+ lso=[0, 128, 255], # long_sleeved_outwear
6
+ vest=[0, 128, 128], # vest
7
+ sling=[0, 0, 128], # sling
8
+ shorts=[128, 128, 128], # shorts
9
+ trousers=[128, 0, 128], # trousers
10
+ skirt=[64, 128, 128], # skirt
11
+ ssd=[64, 64, 128], # short_sleeved_dress
12
+ lsd=[128, 64, 0], # long_sleeved_dress
13
+ vd=[128, 64, 255], # vest_dress
14
+ sd=[128, 64, 0], # sling_dress
15
+ )
16
+ dataset_info = dict(
17
+ dataset_name='deepfashion2',
18
+ paper_info=dict(
19
+ author='Yuying Ge and Ruimao Zhang and Lingyun Wu '
20
+ 'and Xiaogang Wang and Xiaoou Tang and Ping Luo',
21
+ title='DeepFashion2: A Versatile Benchmark for '
22
+ 'Detection, Pose Estimation, Segmentation and '
23
+ 'Re-Identification of Clothing Images',
24
+ container='Proceedings of IEEE Conference on Computer '
25
+ 'Vision and Pattern Recognition (CVPR)',
26
+ year='2019',
27
+ homepage='https://github.com/switchablenorms/DeepFashion2',
28
+ ),
29
+ keypoint_info={
30
+ # short_sleeved_shirt
31
+ 0:
32
+ dict(name='sss_kpt1', id=0, color=colors['sss'], type='', swap=''),
33
+ 1:
34
+ dict(
35
+ name='sss_kpt2',
36
+ id=1,
37
+ color=colors['sss'],
38
+ type='',
39
+ swap='sss_kpt6'),
40
+ 2:
41
+ dict(
42
+ name='sss_kpt3',
43
+ id=2,
44
+ color=colors['sss'],
45
+ type='',
46
+ swap='sss_kpt5'),
47
+ 3:
48
+ dict(name='sss_kpt4', id=3, color=colors['sss'], type='', swap=''),
49
+ 4:
50
+ dict(
51
+ name='sss_kpt5',
52
+ id=4,
53
+ color=colors['sss'],
54
+ type='',
55
+ swap='sss_kpt3'),
56
+ 5:
57
+ dict(
58
+ name='sss_kpt6',
59
+ id=5,
60
+ color=colors['sss'],
61
+ type='',
62
+ swap='sss_kpt2'),
63
+ 6:
64
+ dict(
65
+ name='sss_kpt7',
66
+ id=6,
67
+ color=colors['sss'],
68
+ type='',
69
+ swap='sss_kpt25'),
70
+ 7:
71
+ dict(
72
+ name='sss_kpt8',
73
+ id=7,
74
+ color=colors['sss'],
75
+ type='',
76
+ swap='sss_kpt24'),
77
+ 8:
78
+ dict(
79
+ name='sss_kpt9',
80
+ id=8,
81
+ color=colors['sss'],
82
+ type='',
83
+ swap='sss_kpt23'),
84
+ 9:
85
+ dict(
86
+ name='sss_kpt10',
87
+ id=9,
88
+ color=colors['sss'],
89
+ type='',
90
+ swap='sss_kpt22'),
91
+ 10:
92
+ dict(
93
+ name='sss_kpt11',
94
+ id=10,
95
+ color=colors['sss'],
96
+ type='',
97
+ swap='sss_kpt21'),
98
+ 11:
99
+ dict(
100
+ name='sss_kpt12',
101
+ id=11,
102
+ color=colors['sss'],
103
+ type='',
104
+ swap='sss_kpt20'),
105
+ 12:
106
+ dict(
107
+ name='sss_kpt13',
108
+ id=12,
109
+ color=colors['sss'],
110
+ type='',
111
+ swap='sss_kpt19'),
112
+ 13:
113
+ dict(
114
+ name='sss_kpt14',
115
+ id=13,
116
+ color=colors['sss'],
117
+ type='',
118
+ swap='sss_kpt18'),
119
+ 14:
120
+ dict(
121
+ name='sss_kpt15',
122
+ id=14,
123
+ color=colors['sss'],
124
+ type='',
125
+ swap='sss_kpt17'),
126
+ 15:
127
+ dict(name='sss_kpt16', id=15, color=colors['sss'], type='', swap=''),
128
+ 16:
129
+ dict(
130
+ name='sss_kpt17',
131
+ id=16,
132
+ color=colors['sss'],
133
+ type='',
134
+ swap='sss_kpt15'),
135
+ 17:
136
+ dict(
137
+ name='sss_kpt18',
138
+ id=17,
139
+ color=colors['sss'],
140
+ type='',
141
+ swap='sss_kpt14'),
142
+ 18:
143
+ dict(
144
+ name='sss_kpt19',
145
+ id=18,
146
+ color=colors['sss'],
147
+ type='',
148
+ swap='sss_kpt13'),
149
+ 19:
150
+ dict(
151
+ name='sss_kpt20',
152
+ id=19,
153
+ color=colors['sss'],
154
+ type='',
155
+ swap='sss_kpt12'),
156
+ 20:
157
+ dict(
158
+ name='sss_kpt21',
159
+ id=20,
160
+ color=colors['sss'],
161
+ type='',
162
+ swap='sss_kpt11'),
163
+ 21:
164
+ dict(
165
+ name='sss_kpt22',
166
+ id=21,
167
+ color=colors['sss'],
168
+ type='',
169
+ swap='sss_kpt10'),
170
+ 22:
171
+ dict(
172
+ name='sss_kpt23',
173
+ id=22,
174
+ color=colors['sss'],
175
+ type='',
176
+ swap='sss_kpt9'),
177
+ 23:
178
+ dict(
179
+ name='sss_kpt24',
180
+ id=23,
181
+ color=colors['sss'],
182
+ type='',
183
+ swap='sss_kpt8'),
184
+ 24:
185
+ dict(
186
+ name='sss_kpt25',
187
+ id=24,
188
+ color=colors['sss'],
189
+ type='',
190
+ swap='sss_kpt7'),
191
+ # long_sleeved_shirt
192
+ 25:
193
+ dict(name='lss_kpt1', id=25, color=colors['lss'], type='', swap=''),
194
+ 26:
195
+ dict(
196
+ name='lss_kpt2',
197
+ id=26,
198
+ color=colors['lss'],
199
+ type='',
200
+ swap='lss_kpt6'),
201
+ 27:
202
+ dict(
203
+ name='lss_kpt3',
204
+ id=27,
205
+ color=colors['lss'],
206
+ type='',
207
+ swap='lss_kpt5'),
208
+ 28:
209
+ dict(name='lss_kpt4', id=28, color=colors['lss'], type='', swap=''),
210
+ 29:
211
+ dict(
212
+ name='lss_kpt5',
213
+ id=29,
214
+ color=colors['lss'],
215
+ type='',
216
+ swap='lss_kpt3'),
217
+ 30:
218
+ dict(
219
+ name='lss_kpt6',
220
+ id=30,
221
+ color=colors['lss'],
222
+ type='',
223
+ swap='lss_kpt2'),
224
+ 31:
225
+ dict(
226
+ name='lss_kpt7',
227
+ id=31,
228
+ color=colors['lss'],
229
+ type='',
230
+ swap='lss_kpt33'),
231
+ 32:
232
+ dict(
233
+ name='lss_kpt8',
234
+ id=32,
235
+ color=colors['lss'],
236
+ type='',
237
+ swap='lss_kpt32'),
238
+ 33:
239
+ dict(
240
+ name='lss_kpt9',
241
+ id=33,
242
+ color=colors['lss'],
243
+ type='',
244
+ swap='lss_kpt31'),
245
+ 34:
246
+ dict(
247
+ name='lss_kpt10',
248
+ id=34,
249
+ color=colors['lss'],
250
+ type='',
251
+ swap='lss_kpt30'),
252
+ 35:
253
+ dict(
254
+ name='lss_kpt11',
255
+ id=35,
256
+ color=colors['lss'],
257
+ type='',
258
+ swap='lss_kpt29'),
259
+ 36:
260
+ dict(
261
+ name='lss_kpt12',
262
+ id=36,
263
+ color=colors['lss'],
264
+ type='',
265
+ swap='lss_kpt28'),
266
+ 37:
267
+ dict(
268
+ name='lss_kpt13',
269
+ id=37,
270
+ color=colors['lss'],
271
+ type='',
272
+ swap='lss_kpt27'),
273
+ 38:
274
+ dict(
275
+ name='lss_kpt14',
276
+ id=38,
277
+ color=colors['lss'],
278
+ type='',
279
+ swap='lss_kpt26'),
280
+ 39:
281
+ dict(
282
+ name='lss_kpt15',
283
+ id=39,
284
+ color=colors['lss'],
285
+ type='',
286
+ swap='lss_kpt25'),
287
+ 40:
288
+ dict(
289
+ name='lss_kpt16',
290
+ id=40,
291
+ color=colors['lss'],
292
+ type='',
293
+ swap='lss_kpt24'),
294
+ 41:
295
+ dict(
296
+ name='lss_kpt17',
297
+ id=41,
298
+ color=colors['lss'],
299
+ type='',
300
+ swap='lss_kpt23'),
301
+ 42:
302
+ dict(
303
+ name='lss_kpt18',
304
+ id=42,
305
+ color=colors['lss'],
306
+ type='',
307
+ swap='lss_kpt22'),
308
+ 43:
309
+ dict(
310
+ name='lss_kpt19',
311
+ id=43,
312
+ color=colors['lss'],
313
+ type='',
314
+ swap='lss_kpt21'),
315
+ 44:
316
+ dict(name='lss_kpt20', id=44, color=colors['lss'], type='', swap=''),
317
+ 45:
318
+ dict(
319
+ name='lss_kpt21',
320
+ id=45,
321
+ color=colors['lss'],
322
+ type='',
323
+ swap='lss_kpt19'),
324
+ 46:
325
+ dict(
326
+ name='lss_kpt22',
327
+ id=46,
328
+ color=colors['lss'],
329
+ type='',
330
+ swap='lss_kpt18'),
331
+ 47:
332
+ dict(
333
+ name='lss_kpt23',
334
+ id=47,
335
+ color=colors['lss'],
336
+ type='',
337
+ swap='lss_kpt17'),
338
+ 48:
339
+ dict(
340
+ name='lss_kpt24',
341
+ id=48,
342
+ color=colors['lss'],
343
+ type='',
344
+ swap='lss_kpt16'),
345
+ 49:
346
+ dict(
347
+ name='lss_kpt25',
348
+ id=49,
349
+ color=colors['lss'],
350
+ type='',
351
+ swap='lss_kpt15'),
352
+ 50:
353
+ dict(
354
+ name='lss_kpt26',
355
+ id=50,
356
+ color=colors['lss'],
357
+ type='',
358
+ swap='lss_kpt14'),
359
+ 51:
360
+ dict(
361
+ name='lss_kpt27',
362
+ id=51,
363
+ color=colors['lss'],
364
+ type='',
365
+ swap='lss_kpt13'),
366
+ 52:
367
+ dict(
368
+ name='lss_kpt28',
369
+ id=52,
370
+ color=colors['lss'],
371
+ type='',
372
+ swap='lss_kpt12'),
373
+ 53:
374
+ dict(
375
+ name='lss_kpt29',
376
+ id=53,
377
+ color=colors['lss'],
378
+ type='',
379
+ swap='lss_kpt11'),
380
+ 54:
381
+ dict(
382
+ name='lss_kpt30',
383
+ id=54,
384
+ color=colors['lss'],
385
+ type='',
386
+ swap='lss_kpt10'),
387
+ 55:
388
+ dict(
389
+ name='lss_kpt31',
390
+ id=55,
391
+ color=colors['lss'],
392
+ type='',
393
+ swap='lss_kpt9'),
394
+ 56:
395
+ dict(
396
+ name='lss_kpt32',
397
+ id=56,
398
+ color=colors['lss'],
399
+ type='',
400
+ swap='lss_kpt8'),
401
+ 57:
402
+ dict(
403
+ name='lss_kpt33',
404
+ id=57,
405
+ color=colors['lss'],
406
+ type='',
407
+ swap='lss_kpt7'),
408
+ # short_sleeved_outwear
409
+ 58:
410
+ dict(name='sso_kpt1', id=58, color=colors['sso'], type='', swap=''),
411
+ 59:
412
+ dict(
413
+ name='sso_kpt2',
414
+ id=59,
415
+ color=colors['sso'],
416
+ type='',
417
+ swap='sso_kpt26'),
418
+ 60:
419
+ dict(
420
+ name='sso_kpt3',
421
+ id=60,
422
+ color=colors['sso'],
423
+ type='',
424
+ swap='sso_kpt5'),
425
+ 61:
426
+ dict(
427
+ name='sso_kpt4',
428
+ id=61,
429
+ color=colors['sso'],
430
+ type='',
431
+ swap='sso_kpt6'),
432
+ 62:
433
+ dict(
434
+ name='sso_kpt5',
435
+ id=62,
436
+ color=colors['sso'],
437
+ type='',
438
+ swap='sso_kpt3'),
439
+ 63:
440
+ dict(
441
+ name='sso_kpt6',
442
+ id=63,
443
+ color=colors['sso'],
444
+ type='',
445
+ swap='sso_kpt4'),
446
+ 64:
447
+ dict(
448
+ name='sso_kpt7',
449
+ id=64,
450
+ color=colors['sso'],
451
+ type='',
452
+ swap='sso_kpt25'),
453
+ 65:
454
+ dict(
455
+ name='sso_kpt8',
456
+ id=65,
457
+ color=colors['sso'],
458
+ type='',
459
+ swap='sso_kpt24'),
460
+ 66:
461
+ dict(
462
+ name='sso_kpt9',
463
+ id=66,
464
+ color=colors['sso'],
465
+ type='',
466
+ swap='sso_kpt23'),
467
+ 67:
468
+ dict(
469
+ name='sso_kpt10',
470
+ id=67,
471
+ color=colors['sso'],
472
+ type='',
473
+ swap='sso_kpt22'),
474
+ 68:
475
+ dict(
476
+ name='sso_kpt11',
477
+ id=68,
478
+ color=colors['sso'],
479
+ type='',
480
+ swap='sso_kpt21'),
481
+ 69:
482
+ dict(
483
+ name='sso_kpt12',
484
+ id=69,
485
+ color=colors['sso'],
486
+ type='',
487
+ swap='sso_kpt20'),
488
+ 70:
489
+ dict(
490
+ name='sso_kpt13',
491
+ id=70,
492
+ color=colors['sso'],
493
+ type='',
494
+ swap='sso_kpt19'),
495
+ 71:
496
+ dict(
497
+ name='sso_kpt14',
498
+ id=71,
499
+ color=colors['sso'],
500
+ type='',
501
+ swap='sso_kpt18'),
502
+ 72:
503
+ dict(
504
+ name='sso_kpt15',
505
+ id=72,
506
+ color=colors['sso'],
507
+ type='',
508
+ swap='sso_kpt17'),
509
+ 73:
510
+ dict(
511
+ name='sso_kpt16',
512
+ id=73,
513
+ color=colors['sso'],
514
+ type='',
515
+ swap='sso_kpt29'),
516
+ 74:
517
+ dict(
518
+ name='sso_kpt17',
519
+ id=74,
520
+ color=colors['sso'],
521
+ type='',
522
+ swap='sso_kpt15'),
523
+ 75:
524
+ dict(
525
+ name='sso_kpt18',
526
+ id=75,
527
+ color=colors['sso'],
528
+ type='',
529
+ swap='sso_kpt14'),
530
+ 76:
531
+ dict(
532
+ name='sso_kpt19',
533
+ id=76,
534
+ color=colors['sso'],
535
+ type='',
536
+ swap='sso_kpt13'),
537
+ 77:
538
+ dict(
539
+ name='sso_kpt20',
540
+ id=77,
541
+ color=colors['sso'],
542
+ type='',
543
+ swap='sso_kpt12'),
544
+ 78:
545
+ dict(
546
+ name='sso_kpt21',
547
+ id=78,
548
+ color=colors['sso'],
549
+ type='',
550
+ swap='sso_kpt11'),
551
+ 79:
552
+ dict(
553
+ name='sso_kpt22',
554
+ id=79,
555
+ color=colors['sso'],
556
+ type='',
557
+ swap='sso_kpt10'),
558
+ 80:
559
+ dict(
560
+ name='sso_kpt23',
561
+ id=80,
562
+ color=colors['sso'],
563
+ type='',
564
+ swap='sso_kpt9'),
565
+ 81:
566
+ dict(
567
+ name='sso_kpt24',
568
+ id=81,
569
+ color=colors['sso'],
570
+ type='',
571
+ swap='sso_kpt8'),
572
+ 82:
573
+ dict(
574
+ name='sso_kpt25',
575
+ id=82,
576
+ color=colors['sso'],
577
+ type='',
578
+ swap='sso_kpt7'),
579
+ 83:
580
+ dict(
581
+ name='sso_kpt26',
582
+ id=83,
583
+ color=colors['sso'],
584
+ type='',
585
+ swap='sso_kpt2'),
586
+ 84:
587
+ dict(
588
+ name='sso_kpt27',
589
+ id=84,
590
+ color=colors['sso'],
591
+ type='',
592
+ swap='sso_kpt30'),
593
+ 85:
594
+ dict(
595
+ name='sso_kpt28',
596
+ id=85,
597
+ color=colors['sso'],
598
+ type='',
599
+ swap='sso_kpt31'),
600
+ 86:
601
+ dict(
602
+ name='sso_kpt29',
603
+ id=86,
604
+ color=colors['sso'],
605
+ type='',
606
+ swap='sso_kpt16'),
607
+ 87:
608
+ dict(
609
+ name='sso_kpt30',
610
+ id=87,
611
+ color=colors['sso'],
612
+ type='',
613
+ swap='sso_kpt27'),
614
+ 88:
615
+ dict(
616
+ name='sso_kpt31',
617
+ id=88,
618
+ color=colors['sso'],
619
+ type='',
620
+ swap='sso_kpt28'),
621
+ # long_sleeved_outwear
622
+ 89:
623
+ dict(name='lso_kpt1', id=89, color=colors['lso'], type='', swap=''),
624
+ 90:
625
+ dict(
626
+ name='lso_kpt2',
627
+ id=90,
628
+ color=colors['lso'],
629
+ type='',
630
+ swap='lso_kpt6'),
631
+ 91:
632
+ dict(
633
+ name='lso_kpt3',
634
+ id=91,
635
+ color=colors['lso'],
636
+ type='',
637
+ swap='lso_kpt5'),
638
+ 92:
639
+ dict(
640
+ name='lso_kpt4',
641
+ id=92,
642
+ color=colors['lso'],
643
+ type='',
644
+ swap='lso_kpt34'),
645
+ 93:
646
+ dict(
647
+ name='lso_kpt5',
648
+ id=93,
649
+ color=colors['lso'],
650
+ type='',
651
+ swap='lso_kpt3'),
652
+ 94:
653
+ dict(
654
+ name='lso_kpt6',
655
+ id=94,
656
+ color=colors['lso'],
657
+ type='',
658
+ swap='lso_kpt2'),
659
+ 95:
660
+ dict(
661
+ name='lso_kpt7',
662
+ id=95,
663
+ color=colors['lso'],
664
+ type='',
665
+ swap='lso_kpt33'),
666
+ 96:
667
+ dict(
668
+ name='lso_kpt8',
669
+ id=96,
670
+ color=colors['lso'],
671
+ type='',
672
+ swap='lso_kpt32'),
673
+ 97:
674
+ dict(
675
+ name='lso_kpt9',
676
+ id=97,
677
+ color=colors['lso'],
678
+ type='',
679
+ swap='lso_kpt31'),
680
+ 98:
681
+ dict(
682
+ name='lso_kpt10',
683
+ id=98,
684
+ color=colors['lso'],
685
+ type='',
686
+ swap='lso_kpt30'),
687
+ 99:
688
+ dict(
689
+ name='lso_kpt11',
690
+ id=99,
691
+ color=colors['lso'],
692
+ type='',
693
+ swap='lso_kpt29'),
694
+ 100:
695
+ dict(
696
+ name='lso_kpt12',
697
+ id=100,
698
+ color=colors['lso'],
699
+ type='',
700
+ swap='lso_kpt28'),
701
+ 101:
702
+ dict(
703
+ name='lso_kpt13',
704
+ id=101,
705
+ color=colors['lso'],
706
+ type='',
707
+ swap='lso_kpt27'),
708
+ 102:
709
+ dict(
710
+ name='lso_kpt14',
711
+ id=102,
712
+ color=colors['lso'],
713
+ type='',
714
+ swap='lso_kpt26'),
715
+ 103:
716
+ dict(
717
+ name='lso_kpt15',
718
+ id=103,
719
+ color=colors['lso'],
720
+ type='',
721
+ swap='lso_kpt25'),
722
+ 104:
723
+ dict(
724
+ name='lso_kpt16',
725
+ id=104,
726
+ color=colors['lso'],
727
+ type='',
728
+ swap='lso_kpt24'),
729
+ 105:
730
+ dict(
731
+ name='lso_kpt17',
732
+ id=105,
733
+ color=colors['lso'],
734
+ type='',
735
+ swap='lso_kpt23'),
736
+ 106:
737
+ dict(
738
+ name='lso_kpt18',
739
+ id=106,
740
+ color=colors['lso'],
741
+ type='',
742
+ swap='lso_kpt22'),
743
+ 107:
744
+ dict(
745
+ name='lso_kpt19',
746
+ id=107,
747
+ color=colors['lso'],
748
+ type='',
749
+ swap='lso_kpt21'),
750
+ 108:
751
+ dict(
752
+ name='lso_kpt20',
753
+ id=108,
754
+ color=colors['lso'],
755
+ type='',
756
+ swap='lso_kpt37'),
757
+ 109:
758
+ dict(
759
+ name='lso_kpt21',
760
+ id=109,
761
+ color=colors['lso'],
762
+ type='',
763
+ swap='lso_kpt19'),
764
+ 110:
765
+ dict(
766
+ name='lso_kpt22',
767
+ id=110,
768
+ color=colors['lso'],
769
+ type='',
770
+ swap='lso_kpt18'),
771
+ 111:
772
+ dict(
773
+ name='lso_kpt23',
774
+ id=111,
775
+ color=colors['lso'],
776
+ type='',
777
+ swap='lso_kpt17'),
778
+ 112:
779
+ dict(
780
+ name='lso_kpt24',
781
+ id=112,
782
+ color=colors['lso'],
783
+ type='',
784
+ swap='lso_kpt16'),
785
+ 113:
786
+ dict(
787
+ name='lso_kpt25',
788
+ id=113,
789
+ color=colors['lso'],
790
+ type='',
791
+ swap='lso_kpt15'),
792
+ 114:
793
+ dict(
794
+ name='lso_kpt26',
795
+ id=114,
796
+ color=colors['lso'],
797
+ type='',
798
+ swap='lso_kpt14'),
799
+ 115:
800
+ dict(
801
+ name='lso_kpt27',
802
+ id=115,
803
+ color=colors['lso'],
804
+ type='',
805
+ swap='lso_kpt13'),
806
+ 116:
807
+ dict(
808
+ name='lso_kpt28',
809
+ id=116,
810
+ color=colors['lso'],
811
+ type='',
812
+ swap='lso_kpt12'),
813
+ 117:
814
+ dict(
815
+ name='lso_kpt29',
816
+ id=117,
817
+ color=colors['lso'],
818
+ type='',
819
+ swap='lso_kpt11'),
820
+ 118:
821
+ dict(
822
+ name='lso_kpt30',
823
+ id=118,
824
+ color=colors['lso'],
825
+ type='',
826
+ swap='lso_kpt10'),
827
+ 119:
828
+ dict(
829
+ name='lso_kpt31',
830
+ id=119,
831
+ color=colors['lso'],
832
+ type='',
833
+ swap='lso_kpt9'),
834
+ 120:
835
+ dict(
836
+ name='lso_kpt32',
837
+ id=120,
838
+ color=colors['lso'],
839
+ type='',
840
+ swap='lso_kpt8'),
841
+ 121:
842
+ dict(
843
+ name='lso_kpt33',
844
+ id=121,
845
+ color=colors['lso'],
846
+ type='',
847
+ swap='lso_kpt7'),
848
+ 122:
849
+ dict(
850
+ name='lso_kpt34',
851
+ id=122,
852
+ color=colors['lso'],
853
+ type='',
854
+ swap='lso_kpt4'),
855
+ 123:
856
+ dict(
857
+ name='lso_kpt35',
858
+ id=123,
859
+ color=colors['lso'],
860
+ type='',
861
+ swap='lso_kpt38'),
862
+ 124:
863
+ dict(
864
+ name='lso_kpt36',
865
+ id=124,
866
+ color=colors['lso'],
867
+ type='',
868
+ swap='lso_kpt39'),
869
+ 125:
870
+ dict(
871
+ name='lso_kpt37',
872
+ id=125,
873
+ color=colors['lso'],
874
+ type='',
875
+ swap='lso_kpt20'),
876
+ 126:
877
+ dict(
878
+ name='lso_kpt38',
879
+ id=126,
880
+ color=colors['lso'],
881
+ type='',
882
+ swap='lso_kpt35'),
883
+ 127:
884
+ dict(
885
+ name='lso_kpt39',
886
+ id=127,
887
+ color=colors['lso'],
888
+ type='',
889
+ swap='lso_kpt36'),
890
+ # vest
891
+ 128:
892
+ dict(name='vest_kpt1', id=128, color=colors['vest'], type='', swap=''),
893
+ 129:
894
+ dict(
895
+ name='vest_kpt2',
896
+ id=129,
897
+ color=colors['vest'],
898
+ type='',
899
+ swap='vest_kpt6'),
900
+ 130:
901
+ dict(
902
+ name='vest_kpt3',
903
+ id=130,
904
+ color=colors['vest'],
905
+ type='',
906
+ swap='vest_kpt5'),
907
+ 131:
908
+ dict(name='vest_kpt4', id=131, color=colors['vest'], type='', swap=''),
909
+ 132:
910
+ dict(
911
+ name='vest_kpt5',
912
+ id=132,
913
+ color=colors['vest'],
914
+ type='',
915
+ swap='vest_kpt3'),
916
+ 133:
917
+ dict(
918
+ name='vest_kpt6',
919
+ id=133,
920
+ color=colors['vest'],
921
+ type='',
922
+ swap='vest_kpt2'),
923
+ 134:
924
+ dict(
925
+ name='vest_kpt7',
926
+ id=134,
927
+ color=colors['vest'],
928
+ type='',
929
+ swap='vest_kpt15'),
930
+ 135:
931
+ dict(
932
+ name='vest_kpt8',
933
+ id=135,
934
+ color=colors['vest'],
935
+ type='',
936
+ swap='vest_kpt14'),
937
+ 136:
938
+ dict(
939
+ name='vest_kpt9',
940
+ id=136,
941
+ color=colors['vest'],
942
+ type='',
943
+ swap='vest_kpt13'),
944
+ 137:
945
+ dict(
946
+ name='vest_kpt10',
947
+ id=137,
948
+ color=colors['vest'],
949
+ type='',
950
+ swap='vest_kpt12'),
951
+ 138:
952
+ dict(
953
+ name='vest_kpt11', id=138, color=colors['vest'], type='', swap=''),
954
+ 139:
955
+ dict(
956
+ name='vest_kpt12',
957
+ id=139,
958
+ color=colors['vest'],
959
+ type='',
960
+ swap='vest_kpt10'),
961
+ 140:
962
+ dict(
963
+ name='vest_kpt13', id=140, color=colors['vest'], type='', swap=''),
964
+ 141:
965
+ dict(
966
+ name='vest_kpt14',
967
+ id=141,
968
+ color=colors['vest'],
969
+ type='',
970
+ swap='vest_kpt8'),
971
+ 142:
972
+ dict(
973
+ name='vest_kpt15',
974
+ id=142,
975
+ color=colors['vest'],
976
+ type='',
977
+ swap='vest_kpt7'),
978
+ # sling
979
+ 143:
980
+ dict(
981
+ name='sling_kpt1', id=143, color=colors['sling'], type='',
982
+ swap=''),
983
+ 144:
984
+ dict(
985
+ name='sling_kpt2',
986
+ id=144,
987
+ color=colors['sling'],
988
+ type='',
989
+ swap='sling_kpt6'),
990
+ 145:
991
+ dict(
992
+ name='sling_kpt3',
993
+ id=145,
994
+ color=colors['sling'],
995
+ type='',
996
+ swap='sling_kpt5'),
997
+ 146:
998
+ dict(
999
+ name='sling_kpt4', id=146, color=colors['sling'], type='',
1000
+ swap=''),
1001
+ 147:
1002
+ dict(
1003
+ name='sling_kpt5',
1004
+ id=147,
1005
+ color=colors['sling'],
1006
+ type='',
1007
+ swap='sling_kpt3'),
1008
+ 148:
1009
+ dict(
1010
+ name='sling_kpt6',
1011
+ id=148,
1012
+ color=colors['sling'],
1013
+ type='',
1014
+ swap='sling_kpt2'),
1015
+ 149:
1016
+ dict(
1017
+ name='sling_kpt7',
1018
+ id=149,
1019
+ color=colors['sling'],
1020
+ type='',
1021
+ swap='sling_kpt15'),
1022
+ 150:
1023
+ dict(
1024
+ name='sling_kpt8',
1025
+ id=150,
1026
+ color=colors['sling'],
1027
+ type='',
1028
+ swap='sling_kpt14'),
1029
+ 151:
1030
+ dict(
1031
+ name='sling_kpt9',
1032
+ id=151,
1033
+ color=colors['sling'],
1034
+ type='',
1035
+ swap='sling_kpt13'),
1036
+ 152:
1037
+ dict(
1038
+ name='sling_kpt10',
1039
+ id=152,
1040
+ color=colors['sling'],
1041
+ type='',
1042
+ swap='sling_kpt12'),
1043
+ 153:
1044
+ dict(
1045
+ name='sling_kpt11',
1046
+ id=153,
1047
+ color=colors['sling'],
1048
+ type='',
1049
+ swap=''),
1050
+ 154:
1051
+ dict(
1052
+ name='sling_kpt12',
1053
+ id=154,
1054
+ color=colors['sling'],
1055
+ type='',
1056
+ swap='sling_kpt10'),
1057
+ 155:
1058
+ dict(
1059
+ name='sling_kpt13',
1060
+ id=155,
1061
+ color=colors['sling'],
1062
+ type='',
1063
+ swap='sling_kpt9'),
1064
+ 156:
1065
+ dict(
1066
+ name='sling_kpt14',
1067
+ id=156,
1068
+ color=colors['sling'],
1069
+ type='',
1070
+ swap='sling_kpt8'),
1071
+ 157:
1072
+ dict(
1073
+ name='sling_kpt15',
1074
+ id=157,
1075
+ color=colors['sling'],
1076
+ type='',
1077
+ swap='sling_kpt7'),
1078
+ # shorts
1079
+ 158:
1080
+ dict(
1081
+ name='shorts_kpt1',
1082
+ id=158,
1083
+ color=colors['shorts'],
1084
+ type='',
1085
+ swap='shorts_kpt3'),
1086
+ 159:
1087
+ dict(
1088
+ name='shorts_kpt2',
1089
+ id=159,
1090
+ color=colors['shorts'],
1091
+ type='',
1092
+ swap=''),
1093
+ 160:
1094
+ dict(
1095
+ name='shorts_kpt3',
1096
+ id=160,
1097
+ color=colors['shorts'],
1098
+ type='',
1099
+ swap='shorts_kpt1'),
1100
+ 161:
1101
+ dict(
1102
+ name='shorts_kpt4',
1103
+ id=161,
1104
+ color=colors['shorts'],
1105
+ type='',
1106
+ swap='shorts_kpt10'),
1107
+ 162:
1108
+ dict(
1109
+ name='shorts_kpt5',
1110
+ id=162,
1111
+ color=colors['shorts'],
1112
+ type='',
1113
+ swap='shorts_kpt9'),
1114
+ 163:
1115
+ dict(
1116
+ name='shorts_kpt6',
1117
+ id=163,
1118
+ color=colors['shorts'],
1119
+ type='',
1120
+ swap='shorts_kpt8'),
1121
+ 164:
1122
+ dict(
1123
+ name='shorts_kpt7',
1124
+ id=164,
1125
+ color=colors['shorts'],
1126
+ type='',
1127
+ swap=''),
1128
+ 165:
1129
+ dict(
1130
+ name='shorts_kpt8',
1131
+ id=165,
1132
+ color=colors['shorts'],
1133
+ type='',
1134
+ swap='shorts_kpt6'),
1135
+ 166:
1136
+ dict(
1137
+ name='shorts_kpt9',
1138
+ id=166,
1139
+ color=colors['shorts'],
1140
+ type='',
1141
+ swap='shorts_kpt5'),
1142
+ 167:
1143
+ dict(
1144
+ name='shorts_kpt10',
1145
+ id=167,
1146
+ color=colors['shorts'],
1147
+ type='',
1148
+ swap='shorts_kpt4'),
1149
+ # trousers
1150
+ 168:
1151
+ dict(
1152
+ name='trousers_kpt1',
1153
+ id=168,
1154
+ color=colors['trousers'],
1155
+ type='',
1156
+ swap='trousers_kpt3'),
1157
+ 169:
1158
+ dict(
1159
+ name='trousers_kpt2',
1160
+ id=169,
1161
+ color=colors['trousers'],
1162
+ type='',
1163
+ swap=''),
1164
+ 170:
1165
+ dict(
1166
+ name='trousers_kpt3',
1167
+ id=170,
1168
+ color=colors['trousers'],
1169
+ type='',
1170
+ swap='trousers_kpt1'),
1171
+ 171:
1172
+ dict(
1173
+ name='trousers_kpt4',
1174
+ id=171,
1175
+ color=colors['trousers'],
1176
+ type='',
1177
+ swap='trousers_kpt14'),
1178
+ 172:
1179
+ dict(
1180
+ name='trousers_kpt5',
1181
+ id=172,
1182
+ color=colors['trousers'],
1183
+ type='',
1184
+ swap='trousers_kpt13'),
1185
+ 173:
1186
+ dict(
1187
+ name='trousers_kpt6',
1188
+ id=173,
1189
+ color=colors['trousers'],
1190
+ type='',
1191
+ swap='trousers_kpt12'),
1192
+ 174:
1193
+ dict(
1194
+ name='trousers_kpt7',
1195
+ id=174,
1196
+ color=colors['trousers'],
1197
+ type='',
1198
+ swap='trousers_kpt11'),
1199
+ 175:
1200
+ dict(
1201
+ name='trousers_kpt8',
1202
+ id=175,
1203
+ color=colors['trousers'],
1204
+ type='',
1205
+ swap='trousers_kpt10'),
1206
+ 176:
1207
+ dict(
1208
+ name='trousers_kpt9',
1209
+ id=176,
1210
+ color=colors['trousers'],
1211
+ type='',
1212
+ swap=''),
1213
+ 177:
1214
+ dict(
1215
+ name='trousers_kpt10',
1216
+ id=177,
1217
+ color=colors['trousers'],
1218
+ type='',
1219
+ swap='trousers_kpt8'),
1220
+ 178:
1221
+ dict(
1222
+ name='trousers_kpt11',
1223
+ id=178,
1224
+ color=colors['trousers'],
1225
+ type='',
1226
+ swap='trousers_kpt7'),
1227
+ 179:
1228
+ dict(
1229
+ name='trousers_kpt12',
1230
+ id=179,
1231
+ color=colors['trousers'],
1232
+ type='',
1233
+ swap='trousers_kpt6'),
1234
+ 180:
1235
+ dict(
1236
+ name='trousers_kpt13',
1237
+ id=180,
1238
+ color=colors['trousers'],
1239
+ type='',
1240
+ swap='trousers_kpt5'),
1241
+ 181:
1242
+ dict(
1243
+ name='trousers_kpt14',
1244
+ id=181,
1245
+ color=colors['trousers'],
1246
+ type='',
1247
+ swap='trousers_kpt4'),
1248
+ # skirt
1249
+ 182:
1250
+ dict(
1251
+ name='skirt_kpt1',
1252
+ id=182,
1253
+ color=colors['skirt'],
1254
+ type='',
1255
+ swap='skirt_kpt3'),
1256
+ 183:
1257
+ dict(
1258
+ name='skirt_kpt2', id=183, color=colors['skirt'], type='',
1259
+ swap=''),
1260
+ 184:
1261
+ dict(
1262
+ name='skirt_kpt3',
1263
+ id=184,
1264
+ color=colors['skirt'],
1265
+ type='',
1266
+ swap='skirt_kpt1'),
1267
+ 185:
1268
+ dict(
1269
+ name='skirt_kpt4',
1270
+ id=185,
1271
+ color=colors['skirt'],
1272
+ type='',
1273
+ swap='skirt_kpt8'),
1274
+ 186:
1275
+ dict(
1276
+ name='skirt_kpt5',
1277
+ id=186,
1278
+ color=colors['skirt'],
1279
+ type='',
1280
+ swap='skirt_kpt7'),
1281
+ 187:
1282
+ dict(
1283
+ name='skirt_kpt6', id=187, color=colors['skirt'], type='',
1284
+ swap=''),
1285
+ 188:
1286
+ dict(
1287
+ name='skirt_kpt7',
1288
+ id=188,
1289
+ color=colors['skirt'],
1290
+ type='',
1291
+ swap='skirt_kpt5'),
1292
+ 189:
1293
+ dict(
1294
+ name='skirt_kpt8',
1295
+ id=189,
1296
+ color=colors['skirt'],
1297
+ type='',
1298
+ swap='skirt_kpt4'),
1299
+ # short_sleeved_dress
1300
+ 190:
1301
+ dict(name='ssd_kpt1', id=190, color=colors['ssd'], type='', swap=''),
1302
+ 191:
1303
+ dict(
1304
+ name='ssd_kpt2',
1305
+ id=191,
1306
+ color=colors['ssd'],
1307
+ type='',
1308
+ swap='ssd_kpt6'),
1309
+ 192:
1310
+ dict(
1311
+ name='ssd_kpt3',
1312
+ id=192,
1313
+ color=colors['ssd'],
1314
+ type='',
1315
+ swap='ssd_kpt5'),
1316
+ 193:
1317
+ dict(name='ssd_kpt4', id=193, color=colors['ssd'], type='', swap=''),
1318
+ 194:
1319
+ dict(
1320
+ name='ssd_kpt5',
1321
+ id=194,
1322
+ color=colors['ssd'],
1323
+ type='',
1324
+ swap='ssd_kpt3'),
1325
+ 195:
1326
+ dict(
1327
+ name='ssd_kpt6',
1328
+ id=195,
1329
+ color=colors['ssd'],
1330
+ type='',
1331
+ swap='ssd_kpt2'),
1332
+ 196:
1333
+ dict(
1334
+ name='ssd_kpt7',
1335
+ id=196,
1336
+ color=colors['ssd'],
1337
+ type='',
1338
+ swap='ssd_kpt29'),
1339
+ 197:
1340
+ dict(
1341
+ name='ssd_kpt8',
1342
+ id=197,
1343
+ color=colors['ssd'],
1344
+ type='',
1345
+ swap='ssd_kpt28'),
1346
+ 198:
1347
+ dict(
1348
+ name='ssd_kpt9',
1349
+ id=198,
1350
+ color=colors['ssd'],
1351
+ type='',
1352
+ swap='ssd_kpt27'),
1353
+ 199:
1354
+ dict(
1355
+ name='ssd_kpt10',
1356
+ id=199,
1357
+ color=colors['ssd'],
1358
+ type='',
1359
+ swap='ssd_kpt26'),
1360
+ 200:
1361
+ dict(
1362
+ name='ssd_kpt11',
1363
+ id=200,
1364
+ color=colors['ssd'],
1365
+ type='',
1366
+ swap='ssd_kpt25'),
1367
+ 201:
1368
+ dict(
1369
+ name='ssd_kpt12',
1370
+ id=201,
1371
+ color=colors['ssd'],
1372
+ type='',
1373
+ swap='ssd_kpt24'),
1374
+ 202:
1375
+ dict(
1376
+ name='ssd_kpt13',
1377
+ id=202,
1378
+ color=colors['ssd'],
1379
+ type='',
1380
+ swap='ssd_kpt23'),
1381
+ 203:
1382
+ dict(
1383
+ name='ssd_kpt14',
1384
+ id=203,
1385
+ color=colors['ssd'],
1386
+ type='',
1387
+ swap='ssd_kpt22'),
1388
+ 204:
1389
+ dict(
1390
+ name='ssd_kpt15',
1391
+ id=204,
1392
+ color=colors['ssd'],
1393
+ type='',
1394
+ swap='ssd_kpt21'),
1395
+ 205:
1396
+ dict(
1397
+ name='ssd_kpt16',
1398
+ id=205,
1399
+ color=colors['ssd'],
1400
+ type='',
1401
+ swap='ssd_kpt20'),
1402
+ 206:
1403
+ dict(
1404
+ name='ssd_kpt17',
1405
+ id=206,
1406
+ color=colors['ssd'],
1407
+ type='',
1408
+ swap='ssd_kpt19'),
1409
+ 207:
1410
+ dict(name='ssd_kpt18', id=207, color=colors['ssd'], type='', swap=''),
1411
+ 208:
1412
+ dict(
1413
+ name='ssd_kpt19',
1414
+ id=208,
1415
+ color=colors['ssd'],
1416
+ type='',
1417
+ swap='ssd_kpt17'),
1418
+ 209:
1419
+ dict(
1420
+ name='ssd_kpt20',
1421
+ id=209,
1422
+ color=colors['ssd'],
1423
+ type='',
1424
+ swap='ssd_kpt16'),
1425
+ 210:
1426
+ dict(
1427
+ name='ssd_kpt21',
1428
+ id=210,
1429
+ color=colors['ssd'],
1430
+ type='',
1431
+ swap='ssd_kpt15'),
1432
+ 211:
1433
+ dict(
1434
+ name='ssd_kpt22',
1435
+ id=211,
1436
+ color=colors['ssd'],
1437
+ type='',
1438
+ swap='ssd_kpt14'),
1439
+ 212:
1440
+ dict(
1441
+ name='ssd_kpt23',
1442
+ id=212,
1443
+ color=colors['ssd'],
1444
+ type='',
1445
+ swap='ssd_kpt13'),
1446
+ 213:
1447
+ dict(
1448
+ name='ssd_kpt24',
1449
+ id=213,
1450
+ color=colors['ssd'],
1451
+ type='',
1452
+ swap='ssd_kpt12'),
1453
+ 214:
1454
+ dict(
1455
+ name='ssd_kpt25',
1456
+ id=214,
1457
+ color=colors['ssd'],
1458
+ type='',
1459
+ swap='ssd_kpt11'),
1460
+ 215:
1461
+ dict(
1462
+ name='ssd_kpt26',
1463
+ id=215,
1464
+ color=colors['ssd'],
1465
+ type='',
1466
+ swap='ssd_kpt10'),
1467
+ 216:
1468
+ dict(
1469
+ name='ssd_kpt27',
1470
+ id=216,
1471
+ color=colors['ssd'],
1472
+ type='',
1473
+ swap='ssd_kpt9'),
1474
+ 217:
1475
+ dict(
1476
+ name='ssd_kpt28',
1477
+ id=217,
1478
+ color=colors['ssd'],
1479
+ type='',
1480
+ swap='ssd_kpt8'),
1481
+ 218:
1482
+ dict(
1483
+ name='ssd_kpt29',
1484
+ id=218,
1485
+ color=colors['ssd'],
1486
+ type='',
1487
+ swap='ssd_kpt7'),
1488
+ # long_sleeved_dress
1489
+ 219:
1490
+ dict(name='lsd_kpt1', id=219, color=colors['lsd'], type='', swap=''),
1491
+ 220:
1492
+ dict(
1493
+ name='lsd_kpt2',
1494
+ id=220,
1495
+ color=colors['lsd'],
1496
+ type='',
1497
+ swap='lsd_kpt6'),
1498
+ 221:
1499
+ dict(
1500
+ name='lsd_kpt3',
1501
+ id=221,
1502
+ color=colors['lsd'],
1503
+ type='',
1504
+ swap='lsd_kpt5'),
1505
+ 222:
1506
+ dict(name='lsd_kpt4', id=222, color=colors['lsd'], type='', swap=''),
1507
+ 223:
1508
+ dict(
1509
+ name='lsd_kpt5',
1510
+ id=223,
1511
+ color=colors['lsd'],
1512
+ type='',
1513
+ swap='lsd_kpt3'),
1514
+ 224:
1515
+ dict(
1516
+ name='lsd_kpt6',
1517
+ id=224,
1518
+ color=colors['lsd'],
1519
+ type='',
1520
+ swap='lsd_kpt2'),
1521
+ 225:
1522
+ dict(
1523
+ name='lsd_kpt7',
1524
+ id=225,
1525
+ color=colors['lsd'],
1526
+ type='',
1527
+ swap='lsd_kpt37'),
1528
+ 226:
1529
+ dict(
1530
+ name='lsd_kpt8',
1531
+ id=226,
1532
+ color=colors['lsd'],
1533
+ type='',
1534
+ swap='lsd_kpt36'),
1535
+ 227:
1536
+ dict(
1537
+ name='lsd_kpt9',
1538
+ id=227,
1539
+ color=colors['lsd'],
1540
+ type='',
1541
+ swap='lsd_kpt35'),
1542
+ 228:
1543
+ dict(
1544
+ name='lsd_kpt10',
1545
+ id=228,
1546
+ color=colors['lsd'],
1547
+ type='',
1548
+ swap='lsd_kpt34'),
1549
+ 229:
1550
+ dict(
1551
+ name='lsd_kpt11',
1552
+ id=229,
1553
+ color=colors['lsd'],
1554
+ type='',
1555
+ swap='lsd_kpt33'),
1556
+ 230:
1557
+ dict(
1558
+ name='lsd_kpt12',
1559
+ id=230,
1560
+ color=colors['lsd'],
1561
+ type='',
1562
+ swap='lsd_kpt32'),
1563
+ 231:
1564
+ dict(
1565
+ name='lsd_kpt13',
1566
+ id=231,
1567
+ color=colors['lsd'],
1568
+ type='',
1569
+ swap='lsd_kpt31'),
1570
+ 232:
1571
+ dict(
1572
+ name='lsd_kpt14',
1573
+ id=232,
1574
+ color=colors['lsd'],
1575
+ type='',
1576
+ swap='lsd_kpt30'),
1577
+ 233:
1578
+ dict(
1579
+ name='lsd_kpt15',
1580
+ id=233,
1581
+ color=colors['lsd'],
1582
+ type='',
1583
+ swap='lsd_kpt29'),
1584
+ 234:
1585
+ dict(
1586
+ name='lsd_kpt16',
1587
+ id=234,
1588
+ color=colors['lsd'],
1589
+ type='',
1590
+ swap='lsd_kpt28'),
1591
+ 235:
1592
+ dict(
1593
+ name='lsd_kpt17',
1594
+ id=235,
1595
+ color=colors['lsd'],
1596
+ type='',
1597
+ swap='lsd_kpt27'),
1598
+ 236:
1599
+ dict(
1600
+ name='lsd_kpt18',
1601
+ id=236,
1602
+ color=colors['lsd'],
1603
+ type='',
1604
+ swap='lsd_kpt26'),
1605
+ 237:
1606
+ dict(
1607
+ name='lsd_kpt19',
1608
+ id=237,
1609
+ color=colors['lsd'],
1610
+ type='',
1611
+ swap='lsd_kpt25'),
1612
+ 238:
1613
+ dict(
1614
+ name='lsd_kpt20',
1615
+ id=238,
1616
+ color=colors['lsd'],
1617
+ type='',
1618
+ swap='lsd_kpt24'),
1619
+ 239:
1620
+ dict(
1621
+ name='lsd_kpt21',
1622
+ id=239,
1623
+ color=colors['lsd'],
1624
+ type='',
1625
+ swap='lsd_kpt23'),
1626
+ 240:
1627
+ dict(name='lsd_kpt22', id=240, color=colors['lsd'], type='', swap=''),
1628
+ 241:
1629
+ dict(
1630
+ name='lsd_kpt23',
1631
+ id=241,
1632
+ color=colors['lsd'],
1633
+ type='',
1634
+ swap='lsd_kpt21'),
1635
+ 242:
1636
+ dict(
1637
+ name='lsd_kpt24',
1638
+ id=242,
1639
+ color=colors['lsd'],
1640
+ type='',
1641
+ swap='lsd_kpt20'),
1642
+ 243:
1643
+ dict(
1644
+ name='lsd_kpt25',
1645
+ id=243,
1646
+ color=colors['lsd'],
1647
+ type='',
1648
+ swap='lsd_kpt19'),
1649
+ 244:
1650
+ dict(
1651
+ name='lsd_kpt26',
1652
+ id=244,
1653
+ color=colors['lsd'],
1654
+ type='',
1655
+ swap='lsd_kpt18'),
1656
+ 245:
1657
+ dict(
1658
+ name='lsd_kpt27',
1659
+ id=245,
1660
+ color=colors['lsd'],
1661
+ type='',
1662
+ swap='lsd_kpt17'),
1663
+ 246:
1664
+ dict(
1665
+ name='lsd_kpt28',
1666
+ id=246,
1667
+ color=colors['lsd'],
1668
+ type='',
1669
+ swap='lsd_kpt16'),
1670
+ 247:
1671
+ dict(
1672
+ name='lsd_kpt29',
1673
+ id=247,
1674
+ color=colors['lsd'],
1675
+ type='',
1676
+ swap='lsd_kpt15'),
1677
+ 248:
1678
+ dict(
1679
+ name='lsd_kpt30',
1680
+ id=248,
1681
+ color=colors['lsd'],
1682
+ type='',
1683
+ swap='lsd_kpt14'),
1684
+ 249:
1685
+ dict(
1686
+ name='lsd_kpt31',
1687
+ id=249,
1688
+ color=colors['lsd'],
1689
+ type='',
1690
+ swap='lsd_kpt13'),
1691
+ 250:
1692
+ dict(
1693
+ name='lsd_kpt32',
1694
+ id=250,
1695
+ color=colors['lsd'],
1696
+ type='',
1697
+ swap='lsd_kpt12'),
1698
+ 251:
1699
+ dict(
1700
+ name='lsd_kpt33',
1701
+ id=251,
1702
+ color=colors['lsd'],
1703
+ type='',
1704
+ swap='lsd_kpt11'),
1705
+ 252:
1706
+ dict(
1707
+ name='lsd_kpt34',
1708
+ id=252,
1709
+ color=colors['lsd'],
1710
+ type='',
1711
+ swap='lsd_kpt10'),
1712
+ 253:
1713
+ dict(
1714
+ name='lsd_kpt35',
1715
+ id=253,
1716
+ color=colors['lsd'],
1717
+ type='',
1718
+ swap='lsd_kpt9'),
1719
+ 254:
1720
+ dict(
1721
+ name='lsd_kpt36',
1722
+ id=254,
1723
+ color=colors['lsd'],
1724
+ type='',
1725
+ swap='lsd_kpt8'),
1726
+ 255:
1727
+ dict(
1728
+ name='lsd_kpt37',
1729
+ id=255,
1730
+ color=colors['lsd'],
1731
+ type='',
1732
+ swap='lsd_kpt7'),
1733
+ # vest_dress
1734
+ 256:
1735
+ dict(name='vd_kpt1', id=256, color=colors['vd'], type='', swap=''),
1736
+ 257:
1737
+ dict(
1738
+ name='vd_kpt2',
1739
+ id=257,
1740
+ color=colors['vd'],
1741
+ type='',
1742
+ swap='vd_kpt6'),
1743
+ 258:
1744
+ dict(
1745
+ name='vd_kpt3',
1746
+ id=258,
1747
+ color=colors['vd'],
1748
+ type='',
1749
+ swap='vd_kpt5'),
1750
+ 259:
1751
+ dict(name='vd_kpt4', id=259, color=colors['vd'], type='', swap=''),
1752
+ 260:
1753
+ dict(
1754
+ name='vd_kpt5',
1755
+ id=260,
1756
+ color=colors['vd'],
1757
+ type='',
1758
+ swap='vd_kpt3'),
1759
+ 261:
1760
+ dict(
1761
+ name='vd_kpt6',
1762
+ id=261,
1763
+ color=colors['vd'],
1764
+ type='',
1765
+ swap='vd_kpt2'),
1766
+ 262:
1767
+ dict(
1768
+ name='vd_kpt7',
1769
+ id=262,
1770
+ color=colors['vd'],
1771
+ type='',
1772
+ swap='vd_kpt19'),
1773
+ 263:
1774
+ dict(
1775
+ name='vd_kpt8',
1776
+ id=263,
1777
+ color=colors['vd'],
1778
+ type='',
1779
+ swap='vd_kpt18'),
1780
+ 264:
1781
+ dict(
1782
+ name='vd_kpt9',
1783
+ id=264,
1784
+ color=colors['vd'],
1785
+ type='',
1786
+ swap='vd_kpt17'),
1787
+ 265:
1788
+ dict(
1789
+ name='vd_kpt10',
1790
+ id=265,
1791
+ color=colors['vd'],
1792
+ type='',
1793
+ swap='vd_kpt16'),
1794
+ 266:
1795
+ dict(
1796
+ name='vd_kpt11',
1797
+ id=266,
1798
+ color=colors['vd'],
1799
+ type='',
1800
+ swap='vd_kpt15'),
1801
+ 267:
1802
+ dict(
1803
+ name='vd_kpt12',
1804
+ id=267,
1805
+ color=colors['vd'],
1806
+ type='',
1807
+ swap='vd_kpt14'),
1808
+ 268:
1809
+ dict(name='vd_kpt13', id=268, color=colors['vd'], type='', swap=''),
1810
+ 269:
1811
+ dict(
1812
+ name='vd_kpt14',
1813
+ id=269,
1814
+ color=colors['vd'],
1815
+ type='',
1816
+ swap='vd_kpt12'),
1817
+ 270:
1818
+ dict(
1819
+ name='vd_kpt15',
1820
+ id=270,
1821
+ color=colors['vd'],
1822
+ type='',
1823
+ swap='vd_kpt11'),
1824
+ 271:
1825
+ dict(
1826
+ name='vd_kpt16',
1827
+ id=271,
1828
+ color=colors['vd'],
1829
+ type='',
1830
+ swap='vd_kpt10'),
1831
+ 272:
1832
+ dict(
1833
+ name='vd_kpt17',
1834
+ id=272,
1835
+ color=colors['vd'],
1836
+ type='',
1837
+ swap='vd_kpt9'),
1838
+ 273:
1839
+ dict(
1840
+ name='vd_kpt18',
1841
+ id=273,
1842
+ color=colors['vd'],
1843
+ type='',
1844
+ swap='vd_kpt8'),
1845
+ 274:
1846
+ dict(
1847
+ name='vd_kpt19',
1848
+ id=274,
1849
+ color=colors['vd'],
1850
+ type='',
1851
+ swap='vd_kpt7'),
1852
+ # sling_dress
1853
+ 275:
1854
+ dict(name='sd_kpt1', id=275, color=colors['sd'], type='', swap=''),
1855
+ 276:
1856
+ dict(
1857
+ name='sd_kpt2',
1858
+ id=276,
1859
+ color=colors['sd'],
1860
+ type='',
1861
+ swap='sd_kpt6'),
1862
+ 277:
1863
+ dict(
1864
+ name='sd_kpt3',
1865
+ id=277,
1866
+ color=colors['sd'],
1867
+ type='',
1868
+ swap='sd_kpt5'),
1869
+ 278:
1870
+ dict(name='sd_kpt4', id=278, color=colors['sd'], type='', swap=''),
1871
+ 279:
1872
+ dict(
1873
+ name='sd_kpt5',
1874
+ id=279,
1875
+ color=colors['sd'],
1876
+ type='',
1877
+ swap='sd_kpt3'),
1878
+ 280:
1879
+ dict(
1880
+ name='sd_kpt6',
1881
+ id=280,
1882
+ color=colors['sd'],
1883
+ type='',
1884
+ swap='sd_kpt2'),
1885
+ 281:
1886
+ dict(
1887
+ name='sd_kpt7',
1888
+ id=281,
1889
+ color=colors['sd'],
1890
+ type='',
1891
+ swap='sd_kpt19'),
1892
+ 282:
1893
+ dict(
1894
+ name='sd_kpt8',
1895
+ id=282,
1896
+ color=colors['sd'],
1897
+ type='',
1898
+ swap='sd_kpt18'),
1899
+ 283:
1900
+ dict(
1901
+ name='sd_kpt9',
1902
+ id=283,
1903
+ color=colors['sd'],
1904
+ type='',
1905
+ swap='sd_kpt17'),
1906
+ 284:
1907
+ dict(
1908
+ name='sd_kpt10',
1909
+ id=284,
1910
+ color=colors['sd'],
1911
+ type='',
1912
+ swap='sd_kpt16'),
1913
+ 285:
1914
+ dict(
1915
+ name='sd_kpt11',
1916
+ id=285,
1917
+ color=colors['sd'],
1918
+ type='',
1919
+ swap='sd_kpt15'),
1920
+ 286:
1921
+ dict(
1922
+ name='sd_kpt12',
1923
+ id=286,
1924
+ color=colors['sd'],
1925
+ type='',
1926
+ swap='sd_kpt14'),
1927
+ 287:
1928
+ dict(name='sd_kpt13', id=287, color=colors['sd'], type='', swap=''),
1929
+ 288:
1930
+ dict(
1931
+ name='sd_kpt14',
1932
+ id=288,
1933
+ color=colors['sd'],
1934
+ type='',
1935
+ swap='sd_kpt12'),
1936
+ 289:
1937
+ dict(
1938
+ name='sd_kpt15',
1939
+ id=289,
1940
+ color=colors['sd'],
1941
+ type='',
1942
+ swap='sd_kpt11'),
1943
+ 290:
1944
+ dict(
1945
+ name='sd_kpt16',
1946
+ id=290,
1947
+ color=colors['sd'],
1948
+ type='',
1949
+ swap='sd_kpt10'),
1950
+ 291:
1951
+ dict(
1952
+ name='sd_kpt17',
1953
+ id=291,
1954
+ color=colors['sd'],
1955
+ type='',
1956
+ swap='sd_kpt9'),
1957
+ 292:
1958
+ dict(
1959
+ name='sd_kpt18',
1960
+ id=292,
1961
+ color=colors['sd'],
1962
+ type='',
1963
+ swap='sd_kpt8'),
1964
+ 293:
1965
+ dict(
1966
+ name='sd_kpt19',
1967
+ id=293,
1968
+ color=colors['sd'],
1969
+ type='',
1970
+ swap='sd_kpt7'),
1971
+ },
1972
+ skeleton_info={
1973
+ # short_sleeved_shirt
1974
+ 0:
1975
+ dict(link=('sss_kpt1', 'sss_kpt2'), id=0, color=[255, 128, 0]),
1976
+ 1:
1977
+ dict(link=('sss_kpt2', 'sss_kpt7'), id=1, color=[255, 128, 0]),
1978
+ 2:
1979
+ dict(link=('sss_kpt7', 'sss_kpt8'), id=2, color=[255, 128, 0]),
1980
+ 3:
1981
+ dict(link=('sss_kpt8', 'sss_kpt9'), id=3, color=[255, 128, 0]),
1982
+ 4:
1983
+ dict(link=('sss_kpt9', 'sss_kpt10'), id=4, color=[255, 128, 0]),
1984
+ 5:
1985
+ dict(link=('sss_kpt10', 'sss_kpt11'), id=5, color=[255, 128, 0]),
1986
+ 6:
1987
+ dict(link=('sss_kpt11', 'sss_kpt12'), id=6, color=[255, 128, 0]),
1988
+ 7:
1989
+ dict(link=('sss_kpt12', 'sss_kpt13'), id=7, color=[255, 128, 0]),
1990
+ 8:
1991
+ dict(link=('sss_kpt13', 'sss_kpt14'), id=8, color=[255, 128, 0]),
1992
+ 9:
1993
+ dict(link=('sss_kpt14', 'sss_kpt15'), id=9, color=[255, 128, 0]),
1994
+ 10:
1995
+ dict(link=('sss_kpt15', 'sss_kpt16'), id=10, color=[255, 128, 0]),
1996
+ 11:
1997
+ dict(link=('sss_kpt16', 'sss_kpt17'), id=11, color=[255, 128, 0]),
1998
+ 12:
1999
+ dict(link=('sss_kpt17', 'sss_kpt18'), id=12, color=[255, 128, 0]),
2000
+ 13:
2001
+ dict(link=('sss_kpt18', 'sss_kpt19'), id=13, color=[255, 128, 0]),
2002
+ 14:
2003
+ dict(link=('sss_kpt19', 'sss_kpt20'), id=14, color=[255, 128, 0]),
2004
+ 15:
2005
+ dict(link=('sss_kpt20', 'sss_kpt21'), id=15, color=[255, 128, 0]),
2006
+ 16:
2007
+ dict(link=('sss_kpt21', 'sss_kpt22'), id=16, color=[255, 128, 0]),
2008
+ 17:
2009
+ dict(link=('sss_kpt22', 'sss_kpt23'), id=17, color=[255, 128, 0]),
2010
+ 18:
2011
+ dict(link=('sss_kpt23', 'sss_kpt24'), id=18, color=[255, 128, 0]),
2012
+ 19:
2013
+ dict(link=('sss_kpt24', 'sss_kpt25'), id=19, color=[255, 128, 0]),
2014
+ 20:
2015
+ dict(link=('sss_kpt25', 'sss_kpt6'), id=20, color=[255, 128, 0]),
2016
+ 21:
2017
+ dict(link=('sss_kpt6', 'sss_kpt1'), id=21, color=[255, 128, 0]),
2018
+ 22:
2019
+ dict(link=('sss_kpt2', 'sss_kpt3'), id=22, color=[255, 128, 0]),
2020
+ 23:
2021
+ dict(link=('sss_kpt3', 'sss_kpt4'), id=23, color=[255, 128, 0]),
2022
+ 24:
2023
+ dict(link=('sss_kpt4', 'sss_kpt5'), id=24, color=[255, 128, 0]),
2024
+ 25:
2025
+ dict(link=('sss_kpt5', 'sss_kpt6'), id=25, color=[255, 128, 0]),
2026
+ # long_sleeve_shirt
2027
+ 26:
2028
+ dict(link=('lss_kpt1', 'lss_kpt2'), id=26, color=[255, 0, 128]),
2029
+ 27:
2030
+ dict(link=('lss_kpt2', 'lss_kpt7'), id=27, color=[255, 0, 128]),
2031
+ 28:
2032
+ dict(link=('lss_kpt7', 'lss_kpt8'), id=28, color=[255, 0, 128]),
2033
+ 29:
2034
+ dict(link=('lss_kpt8', 'lss_kpt9'), id=29, color=[255, 0, 128]),
2035
+ 30:
2036
+ dict(link=('lss_kpt9', 'lss_kpt10'), id=30, color=[255, 0, 128]),
2037
+ 31:
2038
+ dict(link=('lss_kpt10', 'lss_kpt11'), id=31, color=[255, 0, 128]),
2039
+ 32:
2040
+ dict(link=('lss_kpt11', 'lss_kpt12'), id=32, color=[255, 0, 128]),
2041
+ 33:
2042
+ dict(link=('lss_kpt12', 'lss_kpt13'), id=33, color=[255, 0, 128]),
2043
+ 34:
2044
+ dict(link=('lss_kpt13', 'lss_kpt14'), id=34, color=[255, 0, 128]),
2045
+ 35:
2046
+ dict(link=('lss_kpt14', 'lss_kpt15'), id=35, color=[255, 0, 128]),
2047
+ 36:
2048
+ dict(link=('lss_kpt15', 'lss_kpt16'), id=36, color=[255, 0, 128]),
2049
+ 37:
2050
+ dict(link=('lss_kpt16', 'lss_kpt17'), id=37, color=[255, 0, 128]),
2051
+ 38:
2052
+ dict(link=('lss_kpt17', 'lss_kpt18'), id=38, color=[255, 0, 128]),
2053
+ 39:
2054
+ dict(link=('lss_kpt18', 'lss_kpt19'), id=39, color=[255, 0, 128]),
2055
+ 40:
2056
+ dict(link=('lss_kpt19', 'lss_kpt20'), id=40, color=[255, 0, 128]),
2057
+ 41:
2058
+ dict(link=('lss_kpt20', 'lss_kpt21'), id=41, color=[255, 0, 128]),
2059
+ 42:
2060
+ dict(link=('lss_kpt21', 'lss_kpt22'), id=42, color=[255, 0, 128]),
2061
+ 43:
2062
+ dict(link=('lss_kpt22', 'lss_kpt23'), id=43, color=[255, 0, 128]),
2063
+ 44:
2064
+ dict(link=('lss_kpt23', 'lss_kpt24'), id=44, color=[255, 0, 128]),
2065
+ 45:
2066
+ dict(link=('lss_kpt24', 'lss_kpt25'), id=45, color=[255, 0, 128]),
2067
+ 46:
2068
+ dict(link=('lss_kpt25', 'lss_kpt26'), id=46, color=[255, 0, 128]),
2069
+ 47:
2070
+ dict(link=('lss_kpt26', 'lss_kpt27'), id=47, color=[255, 0, 128]),
2071
+ 48:
2072
+ dict(link=('lss_kpt27', 'lss_kpt28'), id=48, color=[255, 0, 128]),
2073
+ 49:
2074
+ dict(link=('lss_kpt28', 'lss_kpt29'), id=49, color=[255, 0, 128]),
2075
+ 50:
2076
+ dict(link=('lss_kpt29', 'lss_kpt30'), id=50, color=[255, 0, 128]),
2077
+ 51:
2078
+ dict(link=('lss_kpt30', 'lss_kpt31'), id=51, color=[255, 0, 128]),
2079
+ 52:
2080
+ dict(link=('lss_kpt31', 'lss_kpt32'), id=52, color=[255, 0, 128]),
2081
+ 53:
2082
+ dict(link=('lss_kpt32', 'lss_kpt33'), id=53, color=[255, 0, 128]),
2083
+ 54:
2084
+ dict(link=('lss_kpt33', 'lss_kpt6'), id=54, color=[255, 0, 128]),
2085
+ 55:
2086
+ dict(link=('lss_kpt6', 'lss_kpt5'), id=55, color=[255, 0, 128]),
2087
+ 56:
2088
+ dict(link=('lss_kpt5', 'lss_kpt4'), id=56, color=[255, 0, 128]),
2089
+ 57:
2090
+ dict(link=('lss_kpt4', 'lss_kpt3'), id=57, color=[255, 0, 128]),
2091
+ 58:
2092
+ dict(link=('lss_kpt3', 'lss_kpt2'), id=58, color=[255, 0, 128]),
2093
+ 59:
2094
+ dict(link=('lss_kpt6', 'lss_kpt1'), id=59, color=[255, 0, 128]),
2095
+ # short_sleeved_outwear
2096
+ 60:
2097
+ dict(link=('sso_kpt1', 'sso_kpt4'), id=60, color=[128, 0, 255]),
2098
+ 61:
2099
+ dict(link=('sso_kpt4', 'sso_kpt7'), id=61, color=[128, 0, 255]),
2100
+ 62:
2101
+ dict(link=('sso_kpt7', 'sso_kpt8'), id=62, color=[128, 0, 255]),
2102
+ 63:
2103
+ dict(link=('sso_kpt8', 'sso_kpt9'), id=63, color=[128, 0, 255]),
2104
+ 64:
2105
+ dict(link=('sso_kpt9', 'sso_kpt10'), id=64, color=[128, 0, 255]),
2106
+ 65:
2107
+ dict(link=('sso_kpt10', 'sso_kpt11'), id=65, color=[128, 0, 255]),
2108
+ 66:
2109
+ dict(link=('sso_kpt11', 'sso_kpt12'), id=66, color=[128, 0, 255]),
2110
+ 67:
2111
+ dict(link=('sso_kpt12', 'sso_kpt13'), id=67, color=[128, 0, 255]),
2112
+ 68:
2113
+ dict(link=('sso_kpt13', 'sso_kpt14'), id=68, color=[128, 0, 255]),
2114
+ 69:
2115
+ dict(link=('sso_kpt14', 'sso_kpt15'), id=69, color=[128, 0, 255]),
2116
+ 70:
2117
+ dict(link=('sso_kpt15', 'sso_kpt16'), id=70, color=[128, 0, 255]),
2118
+ 71:
2119
+ dict(link=('sso_kpt16', 'sso_kpt31'), id=71, color=[128, 0, 255]),
2120
+ 72:
2121
+ dict(link=('sso_kpt31', 'sso_kpt30'), id=72, color=[128, 0, 255]),
2122
+ 73:
2123
+ dict(link=('sso_kpt30', 'sso_kpt2'), id=73, color=[128, 0, 255]),
2124
+ 74:
2125
+ dict(link=('sso_kpt2', 'sso_kpt3'), id=74, color=[128, 0, 255]),
2126
+ 75:
2127
+ dict(link=('sso_kpt3', 'sso_kpt4'), id=75, color=[128, 0, 255]),
2128
+ 76:
2129
+ dict(link=('sso_kpt1', 'sso_kpt6'), id=76, color=[128, 0, 255]),
2130
+ 77:
2131
+ dict(link=('sso_kpt6', 'sso_kpt25'), id=77, color=[128, 0, 255]),
2132
+ 78:
2133
+ dict(link=('sso_kpt25', 'sso_kpt24'), id=78, color=[128, 0, 255]),
2134
+ 79:
2135
+ dict(link=('sso_kpt24', 'sso_kpt23'), id=79, color=[128, 0, 255]),
2136
+ 80:
2137
+ dict(link=('sso_kpt23', 'sso_kpt22'), id=80, color=[128, 0, 255]),
2138
+ 81:
2139
+ dict(link=('sso_kpt22', 'sso_kpt21'), id=81, color=[128, 0, 255]),
2140
+ 82:
2141
+ dict(link=('sso_kpt21', 'sso_kpt20'), id=82, color=[128, 0, 255]),
2142
+ 83:
2143
+ dict(link=('sso_kpt20', 'sso_kpt19'), id=83, color=[128, 0, 255]),
2144
+ 84:
2145
+ dict(link=('sso_kpt19', 'sso_kpt18'), id=84, color=[128, 0, 255]),
2146
+ 85:
2147
+ dict(link=('sso_kpt18', 'sso_kpt17'), id=85, color=[128, 0, 255]),
2148
+ 86:
2149
+ dict(link=('sso_kpt17', 'sso_kpt29'), id=86, color=[128, 0, 255]),
2150
+ 87:
2151
+ dict(link=('sso_kpt29', 'sso_kpt28'), id=87, color=[128, 0, 255]),
2152
+ 88:
2153
+ dict(link=('sso_kpt28', 'sso_kpt27'), id=88, color=[128, 0, 255]),
2154
+ 89:
2155
+ dict(link=('sso_kpt27', 'sso_kpt26'), id=89, color=[128, 0, 255]),
2156
+ 90:
2157
+ dict(link=('sso_kpt26', 'sso_kpt5'), id=90, color=[128, 0, 255]),
2158
+ 91:
2159
+ dict(link=('sso_kpt5', 'sso_kpt6'), id=91, color=[128, 0, 255]),
2160
+ # long_sleeved_outwear
2161
+ 92:
2162
+ dict(link=('lso_kpt1', 'lso_kpt2'), id=92, color=[0, 128, 255]),
2163
+ 93:
2164
+ dict(link=('lso_kpt2', 'lso_kpt7'), id=93, color=[0, 128, 255]),
2165
+ 94:
2166
+ dict(link=('lso_kpt7', 'lso_kpt8'), id=94, color=[0, 128, 255]),
2167
+ 95:
2168
+ dict(link=('lso_kpt8', 'lso_kpt9'), id=95, color=[0, 128, 255]),
2169
+ 96:
2170
+ dict(link=('lso_kpt9', 'lso_kpt10'), id=96, color=[0, 128, 255]),
2171
+ 97:
2172
+ dict(link=('lso_kpt10', 'lso_kpt11'), id=97, color=[0, 128, 255]),
2173
+ 98:
2174
+ dict(link=('lso_kpt11', 'lso_kpt12'), id=98, color=[0, 128, 255]),
2175
+ 99:
2176
+ dict(link=('lso_kpt12', 'lso_kpt13'), id=99, color=[0, 128, 255]),
2177
+ 100:
2178
+ dict(link=('lso_kpt13', 'lso_kpt14'), id=100, color=[0, 128, 255]),
2179
+ 101:
2180
+ dict(link=('lso_kpt14', 'lso_kpt15'), id=101, color=[0, 128, 255]),
2181
+ 102:
2182
+ dict(link=('lso_kpt15', 'lso_kpt16'), id=102, color=[0, 128, 255]),
2183
+ 103:
2184
+ dict(link=('lso_kpt16', 'lso_kpt17'), id=103, color=[0, 128, 255]),
2185
+ 104:
2186
+ dict(link=('lso_kpt17', 'lso_kpt18'), id=104, color=[0, 128, 255]),
2187
+ 105:
2188
+ dict(link=('lso_kpt18', 'lso_kpt19'), id=105, color=[0, 128, 255]),
2189
+ 106:
2190
+ dict(link=('lso_kpt19', 'lso_kpt20'), id=106, color=[0, 128, 255]),
2191
+ 107:
2192
+ dict(link=('lso_kpt20', 'lso_kpt39'), id=107, color=[0, 128, 255]),
2193
+ 108:
2194
+ dict(link=('lso_kpt39', 'lso_kpt38'), id=108, color=[0, 128, 255]),
2195
+ 109:
2196
+ dict(link=('lso_kpt38', 'lso_kpt4'), id=109, color=[0, 128, 255]),
2197
+ 110:
2198
+ dict(link=('lso_kpt4', 'lso_kpt3'), id=110, color=[0, 128, 255]),
2199
+ 111:
2200
+ dict(link=('lso_kpt3', 'lso_kpt2'), id=111, color=[0, 128, 255]),
2201
+ 112:
2202
+ dict(link=('lso_kpt1', 'lso_kpt6'), id=112, color=[0, 128, 255]),
2203
+ 113:
2204
+ dict(link=('lso_kpt6', 'lso_kpt33'), id=113, color=[0, 128, 255]),
2205
+ 114:
2206
+ dict(link=('lso_kpt33', 'lso_kpt32'), id=114, color=[0, 128, 255]),
2207
+ 115:
2208
+ dict(link=('lso_kpt32', 'lso_kpt31'), id=115, color=[0, 128, 255]),
2209
+ 116:
2210
+ dict(link=('lso_kpt31', 'lso_kpt30'), id=116, color=[0, 128, 255]),
2211
+ 117:
2212
+ dict(link=('lso_kpt30', 'lso_kpt29'), id=117, color=[0, 128, 255]),
2213
+ 118:
2214
+ dict(link=('lso_kpt29', 'lso_kpt28'), id=118, color=[0, 128, 255]),
2215
+ 119:
2216
+ dict(link=('lso_kpt28', 'lso_kpt27'), id=119, color=[0, 128, 255]),
2217
+ 120:
2218
+ dict(link=('lso_kpt27', 'lso_kpt26'), id=120, color=[0, 128, 255]),
2219
+ 121:
2220
+ dict(link=('lso_kpt26', 'lso_kpt25'), id=121, color=[0, 128, 255]),
2221
+ 122:
2222
+ dict(link=('lso_kpt25', 'lso_kpt24'), id=122, color=[0, 128, 255]),
2223
+ 123:
2224
+ dict(link=('lso_kpt24', 'lso_kpt23'), id=123, color=[0, 128, 255]),
2225
+ 124:
2226
+ dict(link=('lso_kpt23', 'lso_kpt22'), id=124, color=[0, 128, 255]),
2227
+ 125:
2228
+ dict(link=('lso_kpt22', 'lso_kpt21'), id=125, color=[0, 128, 255]),
2229
+ 126:
2230
+ dict(link=('lso_kpt21', 'lso_kpt37'), id=126, color=[0, 128, 255]),
2231
+ 127:
2232
+ dict(link=('lso_kpt37', 'lso_kpt36'), id=127, color=[0, 128, 255]),
2233
+ 128:
2234
+ dict(link=('lso_kpt36', 'lso_kpt35'), id=128, color=[0, 128, 255]),
2235
+ 129:
2236
+ dict(link=('lso_kpt35', 'lso_kpt34'), id=129, color=[0, 128, 255]),
2237
+ 130:
2238
+ dict(link=('lso_kpt34', 'lso_kpt5'), id=130, color=[0, 128, 255]),
2239
+ 131:
2240
+ dict(link=('lso_kpt5', 'lso_kpt6'), id=131, color=[0, 128, 255]),
2241
+ # vest
2242
+ 132:
2243
+ dict(link=('vest_kpt1', 'vest_kpt2'), id=132, color=[0, 128, 128]),
2244
+ 133:
2245
+ dict(link=('vest_kpt2', 'vest_kpt7'), id=133, color=[0, 128, 128]),
2246
+ 134:
2247
+ dict(link=('vest_kpt7', 'vest_kpt8'), id=134, color=[0, 128, 128]),
2248
+ 135:
2249
+ dict(link=('vest_kpt8', 'vest_kpt9'), id=135, color=[0, 128, 128]),
2250
+ 136:
2251
+ dict(link=('vest_kpt9', 'vest_kpt10'), id=136, color=[0, 128, 128]),
2252
+ 137:
2253
+ dict(link=('vest_kpt10', 'vest_kpt11'), id=137, color=[0, 128, 128]),
2254
+ 138:
2255
+ dict(link=('vest_kpt11', 'vest_kpt12'), id=138, color=[0, 128, 128]),
2256
+ 139:
2257
+ dict(link=('vest_kpt12', 'vest_kpt13'), id=139, color=[0, 128, 128]),
2258
+ 140:
2259
+ dict(link=('vest_kpt13', 'vest_kpt14'), id=140, color=[0, 128, 128]),
2260
+ 141:
2261
+ dict(link=('vest_kpt14', 'vest_kpt15'), id=141, color=[0, 128, 128]),
2262
+ 142:
2263
+ dict(link=('vest_kpt15', 'vest_kpt6'), id=142, color=[0, 128, 128]),
2264
+ 143:
2265
+ dict(link=('vest_kpt6', 'vest_kpt1'), id=143, color=[0, 128, 128]),
2266
+ 144:
2267
+ dict(link=('vest_kpt2', 'vest_kpt3'), id=144, color=[0, 128, 128]),
2268
+ 145:
2269
+ dict(link=('vest_kpt3', 'vest_kpt4'), id=145, color=[0, 128, 128]),
2270
+ 146:
2271
+ dict(link=('vest_kpt4', 'vest_kpt5'), id=146, color=[0, 128, 128]),
2272
+ 147:
2273
+ dict(link=('vest_kpt5', 'vest_kpt6'), id=147, color=[0, 128, 128]),
2274
+ # sling
2275
+ 148:
2276
+ dict(link=('sling_kpt1', 'sling_kpt2'), id=148, color=[0, 0, 128]),
2277
+ 149:
2278
+ dict(link=('sling_kpt2', 'sling_kpt8'), id=149, color=[0, 0, 128]),
2279
+ 150:
2280
+ dict(link=('sling_kpt8', 'sling_kpt9'), id=150, color=[0, 0, 128]),
2281
+ 151:
2282
+ dict(link=('sling_kpt9', 'sling_kpt10'), id=151, color=[0, 0, 128]),
2283
+ 152:
2284
+ dict(link=('sling_kpt10', 'sling_kpt11'), id=152, color=[0, 0, 128]),
2285
+ 153:
2286
+ dict(link=('sling_kpt11', 'sling_kpt12'), id=153, color=[0, 0, 128]),
2287
+ 154:
2288
+ dict(link=('sling_kpt12', 'sling_kpt13'), id=154, color=[0, 0, 128]),
2289
+ 155:
2290
+ dict(link=('sling_kpt13', 'sling_kpt14'), id=155, color=[0, 0, 128]),
2291
+ 156:
2292
+ dict(link=('sling_kpt14', 'sling_kpt6'), id=156, color=[0, 0, 128]),
2293
+ 157:
2294
+ dict(link=('sling_kpt2', 'sling_kpt7'), id=157, color=[0, 0, 128]),
2295
+ 158:
2296
+ dict(link=('sling_kpt6', 'sling_kpt15'), id=158, color=[0, 0, 128]),
2297
+ 159:
2298
+ dict(link=('sling_kpt2', 'sling_kpt3'), id=159, color=[0, 0, 128]),
2299
+ 160:
2300
+ dict(link=('sling_kpt3', 'sling_kpt4'), id=160, color=[0, 0, 128]),
2301
+ 161:
2302
+ dict(link=('sling_kpt4', 'sling_kpt5'), id=161, color=[0, 0, 128]),
2303
+ 162:
2304
+ dict(link=('sling_kpt5', 'sling_kpt6'), id=162, color=[0, 0, 128]),
2305
+ 163:
2306
+ dict(link=('sling_kpt1', 'sling_kpt6'), id=163, color=[0, 0, 128]),
2307
+ # shorts
2308
+ 164:
2309
+ dict(
2310
+ link=('shorts_kpt1', 'shorts_kpt4'), id=164, color=[128, 128,
2311
+ 128]),
2312
+ 165:
2313
+ dict(
2314
+ link=('shorts_kpt4', 'shorts_kpt5'), id=165, color=[128, 128,
2315
+ 128]),
2316
+ 166:
2317
+ dict(
2318
+ link=('shorts_kpt5', 'shorts_kpt6'), id=166, color=[128, 128,
2319
+ 128]),
2320
+ 167:
2321
+ dict(
2322
+ link=('shorts_kpt6', 'shorts_kpt7'), id=167, color=[128, 128,
2323
+ 128]),
2324
+ 168:
2325
+ dict(
2326
+ link=('shorts_kpt7', 'shorts_kpt8'), id=168, color=[128, 128,
2327
+ 128]),
2328
+ 169:
2329
+ dict(
2330
+ link=('shorts_kpt8', 'shorts_kpt9'), id=169, color=[128, 128,
2331
+ 128]),
2332
+ 170:
2333
+ dict(
2334
+ link=('shorts_kpt9', 'shorts_kpt10'),
2335
+ id=170,
2336
+ color=[128, 128, 128]),
2337
+ 171:
2338
+ dict(
2339
+ link=('shorts_kpt10', 'shorts_kpt3'),
2340
+ id=171,
2341
+ color=[128, 128, 128]),
2342
+ 172:
2343
+ dict(
2344
+ link=('shorts_kpt3', 'shorts_kpt2'), id=172, color=[128, 128,
2345
+ 128]),
2346
+ 173:
2347
+ dict(
2348
+ link=('shorts_kpt2', 'shorts_kpt1'), id=173, color=[128, 128,
2349
+ 128]),
2350
+ # trousers
2351
+ 174:
2352
+ dict(
2353
+ link=('trousers_kpt1', 'trousers_kpt4'),
2354
+ id=174,
2355
+ color=[128, 0, 128]),
2356
+ 175:
2357
+ dict(
2358
+ link=('trousers_kpt4', 'trousers_kpt5'),
2359
+ id=175,
2360
+ color=[128, 0, 128]),
2361
+ 176:
2362
+ dict(
2363
+ link=('trousers_kpt5', 'trousers_kpt6'),
2364
+ id=176,
2365
+ color=[128, 0, 128]),
2366
+ 177:
2367
+ dict(
2368
+ link=('trousers_kpt6', 'trousers_kpt7'),
2369
+ id=177,
2370
+ color=[128, 0, 128]),
2371
+ 178:
2372
+ dict(
2373
+ link=('trousers_kpt7', 'trousers_kpt8'),
2374
+ id=178,
2375
+ color=[128, 0, 128]),
2376
+ 179:
2377
+ dict(
2378
+ link=('trousers_kpt8', 'trousers_kpt9'),
2379
+ id=179,
2380
+ color=[128, 0, 128]),
2381
+ 180:
2382
+ dict(
2383
+ link=('trousers_kpt9', 'trousers_kpt10'),
2384
+ id=180,
2385
+ color=[128, 0, 128]),
2386
+ 181:
2387
+ dict(
2388
+ link=('trousers_kpt10', 'trousers_kpt11'),
2389
+ id=181,
2390
+ color=[128, 0, 128]),
2391
+ 182:
2392
+ dict(
2393
+ link=('trousers_kpt11', 'trousers_kpt12'),
2394
+ id=182,
2395
+ color=[128, 0, 128]),
2396
+ 183:
2397
+ dict(
2398
+ link=('trousers_kpt12', 'trousers_kpt13'),
2399
+ id=183,
2400
+ color=[128, 0, 128]),
2401
+ 184:
2402
+ dict(
2403
+ link=('trousers_kpt13', 'trousers_kpt14'),
2404
+ id=184,
2405
+ color=[128, 0, 128]),
2406
+ 185:
2407
+ dict(
2408
+ link=('trousers_kpt14', 'trousers_kpt3'),
2409
+ id=185,
2410
+ color=[128, 0, 128]),
2411
+ 186:
2412
+ dict(
2413
+ link=('trousers_kpt3', 'trousers_kpt2'),
2414
+ id=186,
2415
+ color=[128, 0, 128]),
2416
+ 187:
2417
+ dict(
2418
+ link=('trousers_kpt2', 'trousers_kpt1'),
2419
+ id=187,
2420
+ color=[128, 0, 128]),
2421
+ # skirt
2422
+ 188:
2423
+ dict(link=('skirt_kpt1', 'skirt_kpt4'), id=188, color=[64, 128, 128]),
2424
+ 189:
2425
+ dict(link=('skirt_kpt4', 'skirt_kpt5'), id=189, color=[64, 128, 128]),
2426
+ 190:
2427
+ dict(link=('skirt_kpt5', 'skirt_kpt6'), id=190, color=[64, 128, 128]),
2428
+ 191:
2429
+ dict(link=('skirt_kpt6', 'skirt_kpt7'), id=191, color=[64, 128, 128]),
2430
+ 192:
2431
+ dict(link=('skirt_kpt7', 'skirt_kpt8'), id=192, color=[64, 128, 128]),
2432
+ 193:
2433
+ dict(link=('skirt_kpt8', 'skirt_kpt3'), id=193, color=[64, 128, 128]),
2434
+ 194:
2435
+ dict(link=('skirt_kpt3', 'skirt_kpt2'), id=194, color=[64, 128, 128]),
2436
+ 195:
2437
+ dict(link=('skirt_kpt2', 'skirt_kpt1'), id=195, color=[64, 128, 128]),
2438
+ # short_sleeved_dress
2439
+ 196:
2440
+ dict(link=('ssd_kpt1', 'ssd_kpt2'), id=196, color=[64, 64, 128]),
2441
+ 197:
2442
+ dict(link=('ssd_kpt2', 'ssd_kpt7'), id=197, color=[64, 64, 128]),
2443
+ 198:
2444
+ dict(link=('ssd_kpt7', 'ssd_kpt8'), id=198, color=[64, 64, 128]),
2445
+ 199:
2446
+ dict(link=('ssd_kpt8', 'ssd_kpt9'), id=199, color=[64, 64, 128]),
2447
+ 200:
2448
+ dict(link=('ssd_kpt9', 'ssd_kpt10'), id=200, color=[64, 64, 128]),
2449
+ 201:
2450
+ dict(link=('ssd_kpt10', 'ssd_kpt11'), id=201, color=[64, 64, 128]),
2451
+ 202:
2452
+ dict(link=('ssd_kpt11', 'ssd_kpt12'), id=202, color=[64, 64, 128]),
2453
+ 203:
2454
+ dict(link=('ssd_kpt12', 'ssd_kpt13'), id=203, color=[64, 64, 128]),
2455
+ 204:
2456
+ dict(link=('ssd_kpt13', 'ssd_kpt14'), id=204, color=[64, 64, 128]),
2457
+ 205:
2458
+ dict(link=('ssd_kpt14', 'ssd_kpt15'), id=205, color=[64, 64, 128]),
2459
+ 206:
2460
+ dict(link=('ssd_kpt15', 'ssd_kpt16'), id=206, color=[64, 64, 128]),
2461
+ 207:
2462
+ dict(link=('ssd_kpt16', 'ssd_kpt17'), id=207, color=[64, 64, 128]),
2463
+ 208:
2464
+ dict(link=('ssd_kpt17', 'ssd_kpt18'), id=208, color=[64, 64, 128]),
2465
+ 209:
2466
+ dict(link=('ssd_kpt18', 'ssd_kpt19'), id=209, color=[64, 64, 128]),
2467
+ 210:
2468
+ dict(link=('ssd_kpt19', 'ssd_kpt20'), id=210, color=[64, 64, 128]),
2469
+ 211:
2470
+ dict(link=('ssd_kpt20', 'ssd_kpt21'), id=211, color=[64, 64, 128]),
2471
+ 212:
2472
+ dict(link=('ssd_kpt21', 'ssd_kpt22'), id=212, color=[64, 64, 128]),
2473
+ 213:
2474
+ dict(link=('ssd_kpt22', 'ssd_kpt23'), id=213, color=[64, 64, 128]),
2475
+ 214:
2476
+ dict(link=('ssd_kpt23', 'ssd_kpt24'), id=214, color=[64, 64, 128]),
2477
+ 215:
2478
+ dict(link=('ssd_kpt24', 'ssd_kpt25'), id=215, color=[64, 64, 128]),
2479
+ 216:
2480
+ dict(link=('ssd_kpt25', 'ssd_kpt26'), id=216, color=[64, 64, 128]),
2481
+ 217:
2482
+ dict(link=('ssd_kpt26', 'ssd_kpt27'), id=217, color=[64, 64, 128]),
2483
+ 218:
2484
+ dict(link=('ssd_kpt27', 'ssd_kpt28'), id=218, color=[64, 64, 128]),
2485
+ 219:
2486
+ dict(link=('ssd_kpt28', 'ssd_kpt29'), id=219, color=[64, 64, 128]),
2487
+ 220:
2488
+ dict(link=('ssd_kpt29', 'ssd_kpt6'), id=220, color=[64, 64, 128]),
2489
+ 221:
2490
+ dict(link=('ssd_kpt6', 'ssd_kpt5'), id=221, color=[64, 64, 128]),
2491
+ 222:
2492
+ dict(link=('ssd_kpt5', 'ssd_kpt4'), id=222, color=[64, 64, 128]),
2493
+ 223:
2494
+ dict(link=('ssd_kpt4', 'ssd_kpt3'), id=223, color=[64, 64, 128]),
2495
+ 224:
2496
+ dict(link=('ssd_kpt3', 'ssd_kpt2'), id=224, color=[64, 64, 128]),
2497
+ 225:
2498
+ dict(link=('ssd_kpt6', 'ssd_kpt1'), id=225, color=[64, 64, 128]),
2499
+ # long_sleeved_dress
2500
+ 226:
2501
+ dict(link=('lsd_kpt1', 'lsd_kpt2'), id=226, color=[128, 64, 0]),
2502
+ 227:
2503
+ dict(link=('lsd_kpt2', 'lsd_kpt7'), id=228, color=[128, 64, 0]),
2504
+ 228:
2505
+ dict(link=('lsd_kpt7', 'lsd_kpt8'), id=228, color=[128, 64, 0]),
2506
+ 229:
2507
+ dict(link=('lsd_kpt8', 'lsd_kpt9'), id=229, color=[128, 64, 0]),
2508
+ 230:
2509
+ dict(link=('lsd_kpt9', 'lsd_kpt10'), id=230, color=[128, 64, 0]),
2510
+ 231:
2511
+ dict(link=('lsd_kpt10', 'lsd_kpt11'), id=231, color=[128, 64, 0]),
2512
+ 232:
2513
+ dict(link=('lsd_kpt11', 'lsd_kpt12'), id=232, color=[128, 64, 0]),
2514
+ 233:
2515
+ dict(link=('lsd_kpt12', 'lsd_kpt13'), id=233, color=[128, 64, 0]),
2516
+ 234:
2517
+ dict(link=('lsd_kpt13', 'lsd_kpt14'), id=234, color=[128, 64, 0]),
2518
+ 235:
2519
+ dict(link=('lsd_kpt14', 'lsd_kpt15'), id=235, color=[128, 64, 0]),
2520
+ 236:
2521
+ dict(link=('lsd_kpt15', 'lsd_kpt16'), id=236, color=[128, 64, 0]),
2522
+ 237:
2523
+ dict(link=('lsd_kpt16', 'lsd_kpt17'), id=237, color=[128, 64, 0]),
2524
+ 238:
2525
+ dict(link=('lsd_kpt17', 'lsd_kpt18'), id=238, color=[128, 64, 0]),
2526
+ 239:
2527
+ dict(link=('lsd_kpt18', 'lsd_kpt19'), id=239, color=[128, 64, 0]),
2528
+ 240:
2529
+ dict(link=('lsd_kpt19', 'lsd_kpt20'), id=240, color=[128, 64, 0]),
2530
+ 241:
2531
+ dict(link=('lsd_kpt20', 'lsd_kpt21'), id=241, color=[128, 64, 0]),
2532
+ 242:
2533
+ dict(link=('lsd_kpt21', 'lsd_kpt22'), id=242, color=[128, 64, 0]),
2534
+ 243:
2535
+ dict(link=('lsd_kpt22', 'lsd_kpt23'), id=243, color=[128, 64, 0]),
2536
+ 244:
2537
+ dict(link=('lsd_kpt23', 'lsd_kpt24'), id=244, color=[128, 64, 0]),
2538
+ 245:
2539
+ dict(link=('lsd_kpt24', 'lsd_kpt25'), id=245, color=[128, 64, 0]),
2540
+ 246:
2541
+ dict(link=('lsd_kpt25', 'lsd_kpt26'), id=246, color=[128, 64, 0]),
2542
+ 247:
2543
+ dict(link=('lsd_kpt26', 'lsd_kpt27'), id=247, color=[128, 64, 0]),
2544
+ 248:
2545
+ dict(link=('lsd_kpt27', 'lsd_kpt28'), id=248, color=[128, 64, 0]),
2546
+ 249:
2547
+ dict(link=('lsd_kpt28', 'lsd_kpt29'), id=249, color=[128, 64, 0]),
2548
+ 250:
2549
+ dict(link=('lsd_kpt29', 'lsd_kpt30'), id=250, color=[128, 64, 0]),
2550
+ 251:
2551
+ dict(link=('lsd_kpt30', 'lsd_kpt31'), id=251, color=[128, 64, 0]),
2552
+ 252:
2553
+ dict(link=('lsd_kpt31', 'lsd_kpt32'), id=252, color=[128, 64, 0]),
2554
+ 253:
2555
+ dict(link=('lsd_kpt32', 'lsd_kpt33'), id=253, color=[128, 64, 0]),
2556
+ 254:
2557
+ dict(link=('lsd_kpt33', 'lsd_kpt34'), id=254, color=[128, 64, 0]),
2558
+ 255:
2559
+ dict(link=('lsd_kpt34', 'lsd_kpt35'), id=255, color=[128, 64, 0]),
2560
+ 256:
2561
+ dict(link=('lsd_kpt35', 'lsd_kpt36'), id=256, color=[128, 64, 0]),
2562
+ 257:
2563
+ dict(link=('lsd_kpt36', 'lsd_kpt37'), id=257, color=[128, 64, 0]),
2564
+ 258:
2565
+ dict(link=('lsd_kpt37', 'lsd_kpt6'), id=258, color=[128, 64, 0]),
2566
+ 259:
2567
+ dict(link=('lsd_kpt6', 'lsd_kpt5'), id=259, color=[128, 64, 0]),
2568
+ 260:
2569
+ dict(link=('lsd_kpt5', 'lsd_kpt4'), id=260, color=[128, 64, 0]),
2570
+ 261:
2571
+ dict(link=('lsd_kpt4', 'lsd_kpt3'), id=261, color=[128, 64, 0]),
2572
+ 262:
2573
+ dict(link=('lsd_kpt3', 'lsd_kpt2'), id=262, color=[128, 64, 0]),
2574
+ 263:
2575
+ dict(link=('lsd_kpt6', 'lsd_kpt1'), id=263, color=[128, 64, 0]),
2576
+ # vest_dress
2577
+ 264:
2578
+ dict(link=('vd_kpt1', 'vd_kpt2'), id=264, color=[128, 64, 255]),
2579
+ 265:
2580
+ dict(link=('vd_kpt2', 'vd_kpt7'), id=265, color=[128, 64, 255]),
2581
+ 266:
2582
+ dict(link=('vd_kpt7', 'vd_kpt8'), id=266, color=[128, 64, 255]),
2583
+ 267:
2584
+ dict(link=('vd_kpt8', 'vd_kpt9'), id=267, color=[128, 64, 255]),
2585
+ 268:
2586
+ dict(link=('vd_kpt9', 'vd_kpt10'), id=268, color=[128, 64, 255]),
2587
+ 269:
2588
+ dict(link=('vd_kpt10', 'vd_kpt11'), id=269, color=[128, 64, 255]),
2589
+ 270:
2590
+ dict(link=('vd_kpt11', 'vd_kpt12'), id=270, color=[128, 64, 255]),
2591
+ 271:
2592
+ dict(link=('vd_kpt12', 'vd_kpt13'), id=271, color=[128, 64, 255]),
2593
+ 272:
2594
+ dict(link=('vd_kpt13', 'vd_kpt14'), id=272, color=[128, 64, 255]),
2595
+ 273:
2596
+ dict(link=('vd_kpt14', 'vd_kpt15'), id=273, color=[128, 64, 255]),
2597
+ 274:
2598
+ dict(link=('vd_kpt15', 'vd_kpt16'), id=274, color=[128, 64, 255]),
2599
+ 275:
2600
+ dict(link=('vd_kpt16', 'vd_kpt17'), id=275, color=[128, 64, 255]),
2601
+ 276:
2602
+ dict(link=('vd_kpt17', 'vd_kpt18'), id=276, color=[128, 64, 255]),
2603
+ 277:
2604
+ dict(link=('vd_kpt18', 'vd_kpt19'), id=277, color=[128, 64, 255]),
2605
+ 278:
2606
+ dict(link=('vd_kpt19', 'vd_kpt6'), id=278, color=[128, 64, 255]),
2607
+ 279:
2608
+ dict(link=('vd_kpt6', 'vd_kpt5'), id=279, color=[128, 64, 255]),
2609
+ 280:
2610
+ dict(link=('vd_kpt5', 'vd_kpt4'), id=280, color=[128, 64, 255]),
2611
+ 281:
2612
+ dict(link=('vd_kpt4', 'vd_kpt3'), id=281, color=[128, 64, 255]),
2613
+ 282:
2614
+ dict(link=('vd_kpt3', 'vd_kpt2'), id=282, color=[128, 64, 255]),
2615
+ 283:
2616
+ dict(link=('vd_kpt6', 'vd_kpt1'), id=283, color=[128, 64, 255]),
2617
+ # sling_dress
2618
+ 284:
2619
+ dict(link=('sd_kpt1', 'sd_kpt2'), id=284, color=[128, 64, 0]),
2620
+ 285:
2621
+ dict(link=('sd_kpt2', 'sd_kpt8'), id=285, color=[128, 64, 0]),
2622
+ 286:
2623
+ dict(link=('sd_kpt8', 'sd_kpt9'), id=286, color=[128, 64, 0]),
2624
+ 287:
2625
+ dict(link=('sd_kpt9', 'sd_kpt10'), id=287, color=[128, 64, 0]),
2626
+ 288:
2627
+ dict(link=('sd_kpt10', 'sd_kpt11'), id=288, color=[128, 64, 0]),
2628
+ 289:
2629
+ dict(link=('sd_kpt11', 'sd_kpt12'), id=289, color=[128, 64, 0]),
2630
+ 290:
2631
+ dict(link=('sd_kpt12', 'sd_kpt13'), id=290, color=[128, 64, 0]),
2632
+ 291:
2633
+ dict(link=('sd_kpt13', 'sd_kpt14'), id=291, color=[128, 64, 0]),
2634
+ 292:
2635
+ dict(link=('sd_kpt14', 'sd_kpt15'), id=292, color=[128, 64, 0]),
2636
+ 293:
2637
+ dict(link=('sd_kpt15', 'sd_kpt16'), id=293, color=[128, 64, 0]),
2638
+ 294:
2639
+ dict(link=('sd_kpt16', 'sd_kpt17'), id=294, color=[128, 64, 0]),
2640
+ 295:
2641
+ dict(link=('sd_kpt17', 'sd_kpt18'), id=295, color=[128, 64, 0]),
2642
+ 296:
2643
+ dict(link=('sd_kpt18', 'sd_kpt6'), id=296, color=[128, 64, 0]),
2644
+ 297:
2645
+ dict(link=('sd_kpt6', 'sd_kpt5'), id=297, color=[128, 64, 0]),
2646
+ 298:
2647
+ dict(link=('sd_kpt5', 'sd_kpt4'), id=298, color=[128, 64, 0]),
2648
+ 299:
2649
+ dict(link=('sd_kpt4', 'sd_kpt3'), id=299, color=[128, 64, 0]),
2650
+ 300:
2651
+ dict(link=('sd_kpt3', 'sd_kpt2'), id=300, color=[128, 64, 0]),
2652
+ 301:
2653
+ dict(link=('sd_kpt2', 'sd_kpt7'), id=301, color=[128, 64, 0]),
2654
+ 302:
2655
+ dict(link=('sd_kpt6', 'sd_kpt19'), id=302, color=[128, 64, 0]),
2656
+ 303:
2657
+ dict(link=('sd_kpt6', 'sd_kpt1'), id=303, color=[128, 64, 0]),
2658
+ },
2659
+ joint_weights=[1.] * 294,
2660
+ sigmas=[])
configs/_base_/datasets/deepfashion_full.py ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='deepfashion_full',
3
+ paper_info=dict(
4
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
5
+ 'and Wang, Xiaogang and Tang, Xiaoou',
6
+ title='DeepFashion: Powering Robust Clothes Recognition '
7
+ 'and Retrieval with Rich Annotations',
8
+ container='Proceedings of IEEE Conference on Computer '
9
+ 'Vision and Pattern Recognition (CVPR)',
10
+ year='2016',
11
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
12
+ 'DeepFashion/LandmarkDetection.html',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='left collar',
18
+ id=0,
19
+ color=[255, 255, 255],
20
+ type='',
21
+ swap='right collar'),
22
+ 1:
23
+ dict(
24
+ name='right collar',
25
+ id=1,
26
+ color=[255, 255, 255],
27
+ type='',
28
+ swap='left collar'),
29
+ 2:
30
+ dict(
31
+ name='left sleeve',
32
+ id=2,
33
+ color=[255, 255, 255],
34
+ type='',
35
+ swap='right sleeve'),
36
+ 3:
37
+ dict(
38
+ name='right sleeve',
39
+ id=3,
40
+ color=[255, 255, 255],
41
+ type='',
42
+ swap='left sleeve'),
43
+ 4:
44
+ dict(
45
+ name='left waistline',
46
+ id=0,
47
+ color=[255, 255, 255],
48
+ type='',
49
+ swap='right waistline'),
50
+ 5:
51
+ dict(
52
+ name='right waistline',
53
+ id=1,
54
+ color=[255, 255, 255],
55
+ type='',
56
+ swap='left waistline'),
57
+ 6:
58
+ dict(
59
+ name='left hem',
60
+ id=2,
61
+ color=[255, 255, 255],
62
+ type='',
63
+ swap='right hem'),
64
+ 7:
65
+ dict(
66
+ name='right hem',
67
+ id=3,
68
+ color=[255, 255, 255],
69
+ type='',
70
+ swap='left hem'),
71
+ },
72
+ skeleton_info={},
73
+ joint_weights=[1.] * 8,
74
+ sigmas=[])
configs/_base_/datasets/deepfashion_lower.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='deepfashion_lower',
3
+ paper_info=dict(
4
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
5
+ 'and Wang, Xiaogang and Tang, Xiaoou',
6
+ title='DeepFashion: Powering Robust Clothes Recognition '
7
+ 'and Retrieval with Rich Annotations',
8
+ container='Proceedings of IEEE Conference on Computer '
9
+ 'Vision and Pattern Recognition (CVPR)',
10
+ year='2016',
11
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
12
+ 'DeepFashion/LandmarkDetection.html',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='left waistline',
18
+ id=0,
19
+ color=[255, 255, 255],
20
+ type='',
21
+ swap='right waistline'),
22
+ 1:
23
+ dict(
24
+ name='right waistline',
25
+ id=1,
26
+ color=[255, 255, 255],
27
+ type='',
28
+ swap='left waistline'),
29
+ 2:
30
+ dict(
31
+ name='left hem',
32
+ id=2,
33
+ color=[255, 255, 255],
34
+ type='',
35
+ swap='right hem'),
36
+ 3:
37
+ dict(
38
+ name='right hem',
39
+ id=3,
40
+ color=[255, 255, 255],
41
+ type='',
42
+ swap='left hem'),
43
+ },
44
+ skeleton_info={},
45
+ joint_weights=[1.] * 4,
46
+ sigmas=[])
configs/_base_/datasets/deepfashion_upper.py ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='deepfashion_upper',
3
+ paper_info=dict(
4
+ author='Liu, Ziwei and Luo, Ping and Qiu, Shi '
5
+ 'and Wang, Xiaogang and Tang, Xiaoou',
6
+ title='DeepFashion: Powering Robust Clothes Recognition '
7
+ 'and Retrieval with Rich Annotations',
8
+ container='Proceedings of IEEE Conference on Computer '
9
+ 'Vision and Pattern Recognition (CVPR)',
10
+ year='2016',
11
+ homepage='http://mmlab.ie.cuhk.edu.hk/projects/'
12
+ 'DeepFashion/LandmarkDetection.html',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='left collar',
18
+ id=0,
19
+ color=[255, 255, 255],
20
+ type='',
21
+ swap='right collar'),
22
+ 1:
23
+ dict(
24
+ name='right collar',
25
+ id=1,
26
+ color=[255, 255, 255],
27
+ type='',
28
+ swap='left collar'),
29
+ 2:
30
+ dict(
31
+ name='left sleeve',
32
+ id=2,
33
+ color=[255, 255, 255],
34
+ type='',
35
+ swap='right sleeve'),
36
+ 3:
37
+ dict(
38
+ name='right sleeve',
39
+ id=3,
40
+ color=[255, 255, 255],
41
+ type='',
42
+ swap='left sleeve'),
43
+ 4:
44
+ dict(
45
+ name='left hem',
46
+ id=4,
47
+ color=[255, 255, 255],
48
+ type='',
49
+ swap='right hem'),
50
+ 5:
51
+ dict(
52
+ name='right hem',
53
+ id=5,
54
+ color=[255, 255, 255],
55
+ type='',
56
+ swap='left hem'),
57
+ },
58
+ skeleton_info={},
59
+ joint_weights=[1.] * 6,
60
+ sigmas=[])
configs/_base_/datasets/exlpose.py ADDED
@@ -0,0 +1,125 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='exlpose',
3
+ paper_info=dict(
4
+ author='Sohyun Lee, Jaesung Rim, Boseung Jeong, Geonu Kim,'
5
+ 'ByungJu Woo, Haechan Lee, Sunghyun Cho, Suha Kwak',
6
+ title='Human Pose Estimation in Extremely Low-Light Conditions',
7
+ container='arXiv',
8
+ year='2023',
9
+ homepage='https://arxiv.org/abs/2303.15410',
10
+ ),
11
+ keypoint_info={
12
+ 0:
13
+ dict(
14
+ name='left_shoulder',
15
+ id=0,
16
+ color=[0, 255, 0],
17
+ type='upper',
18
+ swap='right_shoulder'),
19
+ 1:
20
+ dict(
21
+ name='right_shoulder',
22
+ id=1,
23
+ color=[255, 128, 0],
24
+ type='upper',
25
+ swap='left_shoulder'),
26
+ 2:
27
+ dict(
28
+ name='left_elbow',
29
+ id=2,
30
+ color=[0, 255, 0],
31
+ type='upper',
32
+ swap='right_elbow'),
33
+ 3:
34
+ dict(
35
+ name='right_elbow',
36
+ id=3,
37
+ color=[255, 128, 0],
38
+ type='upper',
39
+ swap='left_elbow'),
40
+ 4:
41
+ dict(
42
+ name='left_wrist',
43
+ id=4,
44
+ color=[0, 255, 0],
45
+ type='upper',
46
+ swap='right_wrist'),
47
+ 5:
48
+ dict(
49
+ name='right_wrist',
50
+ id=5,
51
+ color=[255, 128, 0],
52
+ type='upper',
53
+ swap='left_wrist'),
54
+ 6:
55
+ dict(
56
+ name='left_hip',
57
+ id=6,
58
+ color=[0, 255, 0],
59
+ type='lower',
60
+ swap='right_hip'),
61
+ 7:
62
+ dict(
63
+ name='right_hip',
64
+ id=7,
65
+ color=[255, 128, 0],
66
+ type='lower',
67
+ swap='left_hip'),
68
+ 8:
69
+ dict(
70
+ name='left_knee',
71
+ id=8,
72
+ color=[0, 255, 0],
73
+ type='lower',
74
+ swap='right_knee'),
75
+ 9:
76
+ dict(
77
+ name='right_knee',
78
+ id=9,
79
+ color=[255, 128, 0],
80
+ type='lower',
81
+ swap='left_knee'),
82
+ 10:
83
+ dict(
84
+ name='left_ankle',
85
+ id=10,
86
+ color=[0, 255, 0],
87
+ type='lower',
88
+ swap='right_ankle'),
89
+ 11:
90
+ dict(
91
+ name='right_ankle',
92
+ id=11,
93
+ color=[255, 128, 0],
94
+ type='lower',
95
+ swap='left_ankle'),
96
+ 12:
97
+ dict(name='head', id=12, color=[51, 153, 255], type='upper', swap=''),
98
+ 13:
99
+ dict(name='neck', id=13, color=[51, 153, 255], type='upper', swap='')
100
+ },
101
+ skeleton_info={
102
+ 0: dict(link=('head', 'neck'), id=0, color=[51, 153, 255]),
103
+ 1: dict(link=('neck', 'left_shoulder'), id=1, color=[51, 153, 255]),
104
+ 2: dict(link=('neck', 'right_shoulder'), id=2, color=[51, 153, 255]),
105
+ 3: dict(link=('left_shoulder', 'left_elbow'), id=3, color=[0, 255, 0]),
106
+ 4: dict(link=('left_elbow', 'left_wrist'), id=4, color=[0, 255, 0]),
107
+ 5: dict(
108
+ link=('right_shoulder', 'right_elbow'), id=5, color=[255, 128, 0]),
109
+ 6:
110
+ dict(link=('right_elbow', 'right_wrist'), id=6, color=[255, 128, 0]),
111
+ 7: dict(link=('neck', 'right_hip'), id=7, color=[51, 153, 255]),
112
+ 8: dict(link=('neck', 'left_hip'), id=8, color=[51, 153, 255]),
113
+ 9: dict(link=('right_hip', 'right_knee'), id=9, color=[255, 128, 0]),
114
+ 10:
115
+ dict(link=('right_knee', 'right_ankle'), id=10, color=[255, 128, 0]),
116
+ 11: dict(link=('left_hip', 'left_knee'), id=11, color=[0, 255, 0]),
117
+ 12: dict(link=('left_knee', 'left_ankle'), id=12, color=[0, 255, 0]),
118
+ },
119
+ joint_weights=[
120
+ 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
121
+ ],
122
+ sigmas=[
123
+ 0.079, 0.079, 0.072, 0.072, 0.062, 0.062, 0.107, 0.107, 0.087, 0.087,
124
+ 0.089, 0.089, 0.079, 0.079
125
+ ])
configs/_base_/datasets/fly.py ADDED
@@ -0,0 +1,237 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='fly',
3
+ paper_info=dict(
4
+ author='Pereira, Talmo D and Aldarondo, Diego E and '
5
+ 'Willmore, Lindsay and Kislin, Mikhail and '
6
+ 'Wang, Samuel S-H and Murthy, Mala and Shaevitz, Joshua W',
7
+ title='Fast animal pose estimation using deep neural networks',
8
+ container='Nature methods',
9
+ year='2019',
10
+ homepage='https://github.com/jgraving/DeepPoseKit-Data',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='head', id=0, color=[255, 255, 255], type='', swap=''),
15
+ 1:
16
+ dict(name='eyeL', id=1, color=[255, 255, 255], type='', swap='eyeR'),
17
+ 2:
18
+ dict(name='eyeR', id=2, color=[255, 255, 255], type='', swap='eyeL'),
19
+ 3:
20
+ dict(name='neck', id=3, color=[255, 255, 255], type='', swap=''),
21
+ 4:
22
+ dict(name='thorax', id=4, color=[255, 255, 255], type='', swap=''),
23
+ 5:
24
+ dict(name='abdomen', id=5, color=[255, 255, 255], type='', swap=''),
25
+ 6:
26
+ dict(
27
+ name='forelegR1',
28
+ id=6,
29
+ color=[255, 255, 255],
30
+ type='',
31
+ swap='forelegL1'),
32
+ 7:
33
+ dict(
34
+ name='forelegR2',
35
+ id=7,
36
+ color=[255, 255, 255],
37
+ type='',
38
+ swap='forelegL2'),
39
+ 8:
40
+ dict(
41
+ name='forelegR3',
42
+ id=8,
43
+ color=[255, 255, 255],
44
+ type='',
45
+ swap='forelegL3'),
46
+ 9:
47
+ dict(
48
+ name='forelegR4',
49
+ id=9,
50
+ color=[255, 255, 255],
51
+ type='',
52
+ swap='forelegL4'),
53
+ 10:
54
+ dict(
55
+ name='midlegR1',
56
+ id=10,
57
+ color=[255, 255, 255],
58
+ type='',
59
+ swap='midlegL1'),
60
+ 11:
61
+ dict(
62
+ name='midlegR2',
63
+ id=11,
64
+ color=[255, 255, 255],
65
+ type='',
66
+ swap='midlegL2'),
67
+ 12:
68
+ dict(
69
+ name='midlegR3',
70
+ id=12,
71
+ color=[255, 255, 255],
72
+ type='',
73
+ swap='midlegL3'),
74
+ 13:
75
+ dict(
76
+ name='midlegR4',
77
+ id=13,
78
+ color=[255, 255, 255],
79
+ type='',
80
+ swap='midlegL4'),
81
+ 14:
82
+ dict(
83
+ name='hindlegR1',
84
+ id=14,
85
+ color=[255, 255, 255],
86
+ type='',
87
+ swap='hindlegL1'),
88
+ 15:
89
+ dict(
90
+ name='hindlegR2',
91
+ id=15,
92
+ color=[255, 255, 255],
93
+ type='',
94
+ swap='hindlegL2'),
95
+ 16:
96
+ dict(
97
+ name='hindlegR3',
98
+ id=16,
99
+ color=[255, 255, 255],
100
+ type='',
101
+ swap='hindlegL3'),
102
+ 17:
103
+ dict(
104
+ name='hindlegR4',
105
+ id=17,
106
+ color=[255, 255, 255],
107
+ type='',
108
+ swap='hindlegL4'),
109
+ 18:
110
+ dict(
111
+ name='forelegL1',
112
+ id=18,
113
+ color=[255, 255, 255],
114
+ type='',
115
+ swap='forelegR1'),
116
+ 19:
117
+ dict(
118
+ name='forelegL2',
119
+ id=19,
120
+ color=[255, 255, 255],
121
+ type='',
122
+ swap='forelegR2'),
123
+ 20:
124
+ dict(
125
+ name='forelegL3',
126
+ id=20,
127
+ color=[255, 255, 255],
128
+ type='',
129
+ swap='forelegR3'),
130
+ 21:
131
+ dict(
132
+ name='forelegL4',
133
+ id=21,
134
+ color=[255, 255, 255],
135
+ type='',
136
+ swap='forelegR4'),
137
+ 22:
138
+ dict(
139
+ name='midlegL1',
140
+ id=22,
141
+ color=[255, 255, 255],
142
+ type='',
143
+ swap='midlegR1'),
144
+ 23:
145
+ dict(
146
+ name='midlegL2',
147
+ id=23,
148
+ color=[255, 255, 255],
149
+ type='',
150
+ swap='midlegR2'),
151
+ 24:
152
+ dict(
153
+ name='midlegL3',
154
+ id=24,
155
+ color=[255, 255, 255],
156
+ type='',
157
+ swap='midlegR3'),
158
+ 25:
159
+ dict(
160
+ name='midlegL4',
161
+ id=25,
162
+ color=[255, 255, 255],
163
+ type='',
164
+ swap='midlegR4'),
165
+ 26:
166
+ dict(
167
+ name='hindlegL1',
168
+ id=26,
169
+ color=[255, 255, 255],
170
+ type='',
171
+ swap='hindlegR1'),
172
+ 27:
173
+ dict(
174
+ name='hindlegL2',
175
+ id=27,
176
+ color=[255, 255, 255],
177
+ type='',
178
+ swap='hindlegR2'),
179
+ 28:
180
+ dict(
181
+ name='hindlegL3',
182
+ id=28,
183
+ color=[255, 255, 255],
184
+ type='',
185
+ swap='hindlegR3'),
186
+ 29:
187
+ dict(
188
+ name='hindlegL4',
189
+ id=29,
190
+ color=[255, 255, 255],
191
+ type='',
192
+ swap='hindlegR4'),
193
+ 30:
194
+ dict(
195
+ name='wingL', id=30, color=[255, 255, 255], type='', swap='wingR'),
196
+ 31:
197
+ dict(
198
+ name='wingR', id=31, color=[255, 255, 255], type='', swap='wingL'),
199
+ },
200
+ skeleton_info={
201
+ 0: dict(link=('eyeL', 'head'), id=0, color=[255, 255, 255]),
202
+ 1: dict(link=('eyeR', 'head'), id=1, color=[255, 255, 255]),
203
+ 2: dict(link=('neck', 'head'), id=2, color=[255, 255, 255]),
204
+ 3: dict(link=('thorax', 'neck'), id=3, color=[255, 255, 255]),
205
+ 4: dict(link=('abdomen', 'thorax'), id=4, color=[255, 255, 255]),
206
+ 5: dict(link=('forelegR2', 'forelegR1'), id=5, color=[255, 255, 255]),
207
+ 6: dict(link=('forelegR3', 'forelegR2'), id=6, color=[255, 255, 255]),
208
+ 7: dict(link=('forelegR4', 'forelegR3'), id=7, color=[255, 255, 255]),
209
+ 8: dict(link=('midlegR2', 'midlegR1'), id=8, color=[255, 255, 255]),
210
+ 9: dict(link=('midlegR3', 'midlegR2'), id=9, color=[255, 255, 255]),
211
+ 10: dict(link=('midlegR4', 'midlegR3'), id=10, color=[255, 255, 255]),
212
+ 11:
213
+ dict(link=('hindlegR2', 'hindlegR1'), id=11, color=[255, 255, 255]),
214
+ 12:
215
+ dict(link=('hindlegR3', 'hindlegR2'), id=12, color=[255, 255, 255]),
216
+ 13:
217
+ dict(link=('hindlegR4', 'hindlegR3'), id=13, color=[255, 255, 255]),
218
+ 14:
219
+ dict(link=('forelegL2', 'forelegL1'), id=14, color=[255, 255, 255]),
220
+ 15:
221
+ dict(link=('forelegL3', 'forelegL2'), id=15, color=[255, 255, 255]),
222
+ 16:
223
+ dict(link=('forelegL4', 'forelegL3'), id=16, color=[255, 255, 255]),
224
+ 17: dict(link=('midlegL2', 'midlegL1'), id=17, color=[255, 255, 255]),
225
+ 18: dict(link=('midlegL3', 'midlegL2'), id=18, color=[255, 255, 255]),
226
+ 19: dict(link=('midlegL4', 'midlegL3'), id=19, color=[255, 255, 255]),
227
+ 20:
228
+ dict(link=('hindlegL2', 'hindlegL1'), id=20, color=[255, 255, 255]),
229
+ 21:
230
+ dict(link=('hindlegL3', 'hindlegL2'), id=21, color=[255, 255, 255]),
231
+ 22:
232
+ dict(link=('hindlegL4', 'hindlegL3'), id=22, color=[255, 255, 255]),
233
+ 23: dict(link=('wingL', 'neck'), id=23, color=[255, 255, 255]),
234
+ 24: dict(link=('wingR', 'neck'), id=24, color=[255, 255, 255])
235
+ },
236
+ joint_weights=[1.] * 32,
237
+ sigmas=[])
configs/_base_/datasets/freihand2d.py ADDED
@@ -0,0 +1,144 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='freihand',
3
+ paper_info=dict(
4
+ author='Zimmermann, Christian and Ceylan, Duygu and '
5
+ 'Yang, Jimei and Russell, Bryan and '
6
+ 'Argus, Max and Brox, Thomas',
7
+ title='Freihand: A dataset for markerless capture of hand pose '
8
+ 'and shape from single rgb images',
9
+ container='Proceedings of the IEEE International '
10
+ 'Conference on Computer Vision',
11
+ year='2019',
12
+ homepage='https://lmb.informatik.uni-freiburg.de/projects/freihand/',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(name='wrist', id=0, color=[255, 255, 255], type='', swap=''),
17
+ 1:
18
+ dict(name='thumb1', id=1, color=[255, 128, 0], type='', swap=''),
19
+ 2:
20
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
21
+ 3:
22
+ dict(name='thumb3', id=3, color=[255, 128, 0], type='', swap=''),
23
+ 4:
24
+ dict(name='thumb4', id=4, color=[255, 128, 0], type='', swap=''),
25
+ 5:
26
+ dict(
27
+ name='forefinger1', id=5, color=[255, 153, 255], type='', swap=''),
28
+ 6:
29
+ dict(
30
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
31
+ 7:
32
+ dict(
33
+ name='forefinger3', id=7, color=[255, 153, 255], type='', swap=''),
34
+ 8:
35
+ dict(
36
+ name='forefinger4', id=8, color=[255, 153, 255], type='', swap=''),
37
+ 9:
38
+ dict(
39
+ name='middle_finger1',
40
+ id=9,
41
+ color=[102, 178, 255],
42
+ type='',
43
+ swap=''),
44
+ 10:
45
+ dict(
46
+ name='middle_finger2',
47
+ id=10,
48
+ color=[102, 178, 255],
49
+ type='',
50
+ swap=''),
51
+ 11:
52
+ dict(
53
+ name='middle_finger3',
54
+ id=11,
55
+ color=[102, 178, 255],
56
+ type='',
57
+ swap=''),
58
+ 12:
59
+ dict(
60
+ name='middle_finger4',
61
+ id=12,
62
+ color=[102, 178, 255],
63
+ type='',
64
+ swap=''),
65
+ 13:
66
+ dict(
67
+ name='ring_finger1', id=13, color=[255, 51, 51], type='', swap=''),
68
+ 14:
69
+ dict(
70
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
71
+ 15:
72
+ dict(
73
+ name='ring_finger3', id=15, color=[255, 51, 51], type='', swap=''),
74
+ 16:
75
+ dict(
76
+ name='ring_finger4', id=16, color=[255, 51, 51], type='', swap=''),
77
+ 17:
78
+ dict(name='pinky_finger1', id=17, color=[0, 255, 0], type='', swap=''),
79
+ 18:
80
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
81
+ 19:
82
+ dict(name='pinky_finger3', id=19, color=[0, 255, 0], type='', swap=''),
83
+ 20:
84
+ dict(name='pinky_finger4', id=20, color=[0, 255, 0], type='', swap='')
85
+ },
86
+ skeleton_info={
87
+ 0:
88
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
89
+ 1:
90
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
91
+ 2:
92
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
93
+ 3:
94
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
95
+ 4:
96
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
97
+ 5:
98
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
99
+ 6:
100
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
101
+ 7:
102
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
103
+ 8:
104
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
105
+ 9:
106
+ dict(
107
+ link=('middle_finger1', 'middle_finger2'),
108
+ id=9,
109
+ color=[102, 178, 255]),
110
+ 10:
111
+ dict(
112
+ link=('middle_finger2', 'middle_finger3'),
113
+ id=10,
114
+ color=[102, 178, 255]),
115
+ 11:
116
+ dict(
117
+ link=('middle_finger3', 'middle_finger4'),
118
+ id=11,
119
+ color=[102, 178, 255]),
120
+ 12:
121
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
122
+ 13:
123
+ dict(
124
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
125
+ 14:
126
+ dict(
127
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
128
+ 15:
129
+ dict(
130
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
131
+ 16:
132
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
133
+ 17:
134
+ dict(
135
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
136
+ 18:
137
+ dict(
138
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
139
+ 19:
140
+ dict(
141
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
142
+ },
143
+ joint_weights=[1.] * 21,
144
+ sigmas=[])
configs/_base_/datasets/h36m.py ADDED
@@ -0,0 +1,152 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='h36m',
3
+ paper_info=dict(
4
+ author='Ionescu, Catalin and Papava, Dragos and '
5
+ 'Olaru, Vlad and Sminchisescu, Cristian',
6
+ title='Human3.6M: Large Scale Datasets and Predictive '
7
+ 'Methods for 3D Human Sensing in Natural Environments',
8
+ container='IEEE Transactions on Pattern Analysis and '
9
+ 'Machine Intelligence',
10
+ year='2014',
11
+ homepage='http://vision.imar.ro/human3.6m/description.php',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='root', id=0, color=[51, 153, 255], type='lower', swap=''),
16
+ 1:
17
+ dict(
18
+ name='right_hip',
19
+ id=1,
20
+ color=[255, 128, 0],
21
+ type='lower',
22
+ swap='left_hip'),
23
+ 2:
24
+ dict(
25
+ name='right_knee',
26
+ id=2,
27
+ color=[255, 128, 0],
28
+ type='lower',
29
+ swap='left_knee'),
30
+ 3:
31
+ dict(
32
+ name='right_foot',
33
+ id=3,
34
+ color=[255, 128, 0],
35
+ type='lower',
36
+ swap='left_foot'),
37
+ 4:
38
+ dict(
39
+ name='left_hip',
40
+ id=4,
41
+ color=[0, 255, 0],
42
+ type='lower',
43
+ swap='right_hip'),
44
+ 5:
45
+ dict(
46
+ name='left_knee',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='lower',
50
+ swap='right_knee'),
51
+ 6:
52
+ dict(
53
+ name='left_foot',
54
+ id=6,
55
+ color=[0, 255, 0],
56
+ type='lower',
57
+ swap='right_foot'),
58
+ 7:
59
+ dict(name='spine', id=7, color=[51, 153, 255], type='upper', swap=''),
60
+ 8:
61
+ dict(name='thorax', id=8, color=[51, 153, 255], type='upper', swap=''),
62
+ 9:
63
+ dict(
64
+ name='neck_base',
65
+ id=9,
66
+ color=[51, 153, 255],
67
+ type='upper',
68
+ swap=''),
69
+ 10:
70
+ dict(name='head', id=10, color=[51, 153, 255], type='upper', swap=''),
71
+ 11:
72
+ dict(
73
+ name='left_shoulder',
74
+ id=11,
75
+ color=[0, 255, 0],
76
+ type='upper',
77
+ swap='right_shoulder'),
78
+ 12:
79
+ dict(
80
+ name='left_elbow',
81
+ id=12,
82
+ color=[0, 255, 0],
83
+ type='upper',
84
+ swap='right_elbow'),
85
+ 13:
86
+ dict(
87
+ name='left_wrist',
88
+ id=13,
89
+ color=[0, 255, 0],
90
+ type='upper',
91
+ swap='right_wrist'),
92
+ 14:
93
+ dict(
94
+ name='right_shoulder',
95
+ id=14,
96
+ color=[255, 128, 0],
97
+ type='upper',
98
+ swap='left_shoulder'),
99
+ 15:
100
+ dict(
101
+ name='right_elbow',
102
+ id=15,
103
+ color=[255, 128, 0],
104
+ type='upper',
105
+ swap='left_elbow'),
106
+ 16:
107
+ dict(
108
+ name='right_wrist',
109
+ id=16,
110
+ color=[255, 128, 0],
111
+ type='upper',
112
+ swap='left_wrist')
113
+ },
114
+ skeleton_info={
115
+ 0:
116
+ dict(link=('root', 'left_hip'), id=0, color=[0, 255, 0]),
117
+ 1:
118
+ dict(link=('left_hip', 'left_knee'), id=1, color=[0, 255, 0]),
119
+ 2:
120
+ dict(link=('left_knee', 'left_foot'), id=2, color=[0, 255, 0]),
121
+ 3:
122
+ dict(link=('root', 'right_hip'), id=3, color=[255, 128, 0]),
123
+ 4:
124
+ dict(link=('right_hip', 'right_knee'), id=4, color=[255, 128, 0]),
125
+ 5:
126
+ dict(link=('right_knee', 'right_foot'), id=5, color=[255, 128, 0]),
127
+ 6:
128
+ dict(link=('root', 'spine'), id=6, color=[51, 153, 255]),
129
+ 7:
130
+ dict(link=('spine', 'thorax'), id=7, color=[51, 153, 255]),
131
+ 8:
132
+ dict(link=('thorax', 'neck_base'), id=8, color=[51, 153, 255]),
133
+ 9:
134
+ dict(link=('neck_base', 'head'), id=9, color=[51, 153, 255]),
135
+ 10:
136
+ dict(link=('thorax', 'left_shoulder'), id=10, color=[0, 255, 0]),
137
+ 11:
138
+ dict(link=('left_shoulder', 'left_elbow'), id=11, color=[0, 255, 0]),
139
+ 12:
140
+ dict(link=('left_elbow', 'left_wrist'), id=12, color=[0, 255, 0]),
141
+ 13:
142
+ dict(link=('thorax', 'right_shoulder'), id=13, color=[255, 128, 0]),
143
+ 14:
144
+ dict(
145
+ link=('right_shoulder', 'right_elbow'), id=14, color=[255, 128,
146
+ 0]),
147
+ 15:
148
+ dict(link=('right_elbow', 'right_wrist'), id=15, color=[255, 128, 0])
149
+ },
150
+ joint_weights=[1.] * 17,
151
+ sigmas=[],
152
+ stats_info=dict(bbox_center=(528., 427.), bbox_scale=400.))
configs/_base_/datasets/h3wb.py ADDED
@@ -0,0 +1,1151 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='h3wb',
3
+ paper_info=dict(
4
+ author='Yue Zhu, Nermin Samet, David Picard',
5
+ title='H3WB: Human3.6M 3D WholeBody Dataset and Benchmark',
6
+ container='International Conf. on Computer Vision (ICCV)',
7
+ year='2023',
8
+ homepage='https://github.com/wholebody3d/wholebody3d',
9
+ ),
10
+ keypoint_info={
11
+ 0:
12
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
13
+ 1:
14
+ dict(
15
+ name='left_eye',
16
+ id=1,
17
+ color=[51, 153, 255],
18
+ type='upper',
19
+ swap='right_eye'),
20
+ 2:
21
+ dict(
22
+ name='right_eye',
23
+ id=2,
24
+ color=[51, 153, 255],
25
+ type='upper',
26
+ swap='left_eye'),
27
+ 3:
28
+ dict(
29
+ name='left_ear',
30
+ id=3,
31
+ color=[51, 153, 255],
32
+ type='upper',
33
+ swap='right_ear'),
34
+ 4:
35
+ dict(
36
+ name='right_ear',
37
+ id=4,
38
+ color=[51, 153, 255],
39
+ type='upper',
40
+ swap='left_ear'),
41
+ 5:
42
+ dict(
43
+ name='left_shoulder',
44
+ id=5,
45
+ color=[0, 255, 0],
46
+ type='upper',
47
+ swap='right_shoulder'),
48
+ 6:
49
+ dict(
50
+ name='right_shoulder',
51
+ id=6,
52
+ color=[255, 128, 0],
53
+ type='upper',
54
+ swap='left_shoulder'),
55
+ 7:
56
+ dict(
57
+ name='left_elbow',
58
+ id=7,
59
+ color=[0, 255, 0],
60
+ type='upper',
61
+ swap='right_elbow'),
62
+ 8:
63
+ dict(
64
+ name='right_elbow',
65
+ id=8,
66
+ color=[255, 128, 0],
67
+ type='upper',
68
+ swap='left_elbow'),
69
+ 9:
70
+ dict(
71
+ name='left_wrist',
72
+ id=9,
73
+ color=[0, 255, 0],
74
+ type='upper',
75
+ swap='right_wrist'),
76
+ 10:
77
+ dict(
78
+ name='right_wrist',
79
+ id=10,
80
+ color=[255, 128, 0],
81
+ type='upper',
82
+ swap='left_wrist'),
83
+ 11:
84
+ dict(
85
+ name='left_hip',
86
+ id=11,
87
+ color=[0, 255, 0],
88
+ type='lower',
89
+ swap='right_hip'),
90
+ 12:
91
+ dict(
92
+ name='right_hip',
93
+ id=12,
94
+ color=[255, 128, 0],
95
+ type='lower',
96
+ swap='left_hip'),
97
+ 13:
98
+ dict(
99
+ name='left_knee',
100
+ id=13,
101
+ color=[0, 255, 0],
102
+ type='lower',
103
+ swap='right_knee'),
104
+ 14:
105
+ dict(
106
+ name='right_knee',
107
+ id=14,
108
+ color=[255, 128, 0],
109
+ type='lower',
110
+ swap='left_knee'),
111
+ 15:
112
+ dict(
113
+ name='left_ankle',
114
+ id=15,
115
+ color=[0, 255, 0],
116
+ type='lower',
117
+ swap='right_ankle'),
118
+ 16:
119
+ dict(
120
+ name='right_ankle',
121
+ id=16,
122
+ color=[255, 128, 0],
123
+ type='lower',
124
+ swap='left_ankle'),
125
+ 17:
126
+ dict(
127
+ name='left_big_toe',
128
+ id=17,
129
+ color=[255, 128, 0],
130
+ type='lower',
131
+ swap='right_big_toe'),
132
+ 18:
133
+ dict(
134
+ name='left_small_toe',
135
+ id=18,
136
+ color=[255, 128, 0],
137
+ type='lower',
138
+ swap='right_small_toe'),
139
+ 19:
140
+ dict(
141
+ name='left_heel',
142
+ id=19,
143
+ color=[255, 128, 0],
144
+ type='lower',
145
+ swap='right_heel'),
146
+ 20:
147
+ dict(
148
+ name='right_big_toe',
149
+ id=20,
150
+ color=[255, 128, 0],
151
+ type='lower',
152
+ swap='left_big_toe'),
153
+ 21:
154
+ dict(
155
+ name='right_small_toe',
156
+ id=21,
157
+ color=[255, 128, 0],
158
+ type='lower',
159
+ swap='left_small_toe'),
160
+ 22:
161
+ dict(
162
+ name='right_heel',
163
+ id=22,
164
+ color=[255, 128, 0],
165
+ type='lower',
166
+ swap='left_heel'),
167
+ 23:
168
+ dict(
169
+ name='face-0',
170
+ id=23,
171
+ color=[255, 255, 255],
172
+ type='',
173
+ swap='face-16'),
174
+ 24:
175
+ dict(
176
+ name='face-1',
177
+ id=24,
178
+ color=[255, 255, 255],
179
+ type='',
180
+ swap='face-15'),
181
+ 25:
182
+ dict(
183
+ name='face-2',
184
+ id=25,
185
+ color=[255, 255, 255],
186
+ type='',
187
+ swap='face-14'),
188
+ 26:
189
+ dict(
190
+ name='face-3',
191
+ id=26,
192
+ color=[255, 255, 255],
193
+ type='',
194
+ swap='face-13'),
195
+ 27:
196
+ dict(
197
+ name='face-4',
198
+ id=27,
199
+ color=[255, 255, 255],
200
+ type='',
201
+ swap='face-12'),
202
+ 28:
203
+ dict(
204
+ name='face-5',
205
+ id=28,
206
+ color=[255, 255, 255],
207
+ type='',
208
+ swap='face-11'),
209
+ 29:
210
+ dict(
211
+ name='face-6',
212
+ id=29,
213
+ color=[255, 255, 255],
214
+ type='',
215
+ swap='face-10'),
216
+ 30:
217
+ dict(
218
+ name='face-7',
219
+ id=30,
220
+ color=[255, 255, 255],
221
+ type='',
222
+ swap='face-9'),
223
+ 31:
224
+ dict(name='face-8', id=31, color=[255, 255, 255], type='', swap=''),
225
+ 32:
226
+ dict(
227
+ name='face-9',
228
+ id=32,
229
+ color=[255, 255, 255],
230
+ type='',
231
+ swap='face-7'),
232
+ 33:
233
+ dict(
234
+ name='face-10',
235
+ id=33,
236
+ color=[255, 255, 255],
237
+ type='',
238
+ swap='face-6'),
239
+ 34:
240
+ dict(
241
+ name='face-11',
242
+ id=34,
243
+ color=[255, 255, 255],
244
+ type='',
245
+ swap='face-5'),
246
+ 35:
247
+ dict(
248
+ name='face-12',
249
+ id=35,
250
+ color=[255, 255, 255],
251
+ type='',
252
+ swap='face-4'),
253
+ 36:
254
+ dict(
255
+ name='face-13',
256
+ id=36,
257
+ color=[255, 255, 255],
258
+ type='',
259
+ swap='face-3'),
260
+ 37:
261
+ dict(
262
+ name='face-14',
263
+ id=37,
264
+ color=[255, 255, 255],
265
+ type='',
266
+ swap='face-2'),
267
+ 38:
268
+ dict(
269
+ name='face-15',
270
+ id=38,
271
+ color=[255, 255, 255],
272
+ type='',
273
+ swap='face-1'),
274
+ 39:
275
+ dict(
276
+ name='face-16',
277
+ id=39,
278
+ color=[255, 255, 255],
279
+ type='',
280
+ swap='face-0'),
281
+ 40:
282
+ dict(
283
+ name='face-17',
284
+ id=40,
285
+ color=[255, 255, 255],
286
+ type='',
287
+ swap='face-26'),
288
+ 41:
289
+ dict(
290
+ name='face-18',
291
+ id=41,
292
+ color=[255, 255, 255],
293
+ type='',
294
+ swap='face-25'),
295
+ 42:
296
+ dict(
297
+ name='face-19',
298
+ id=42,
299
+ color=[255, 255, 255],
300
+ type='',
301
+ swap='face-24'),
302
+ 43:
303
+ dict(
304
+ name='face-20',
305
+ id=43,
306
+ color=[255, 255, 255],
307
+ type='',
308
+ swap='face-23'),
309
+ 44:
310
+ dict(
311
+ name='face-21',
312
+ id=44,
313
+ color=[255, 255, 255],
314
+ type='',
315
+ swap='face-22'),
316
+ 45:
317
+ dict(
318
+ name='face-22',
319
+ id=45,
320
+ color=[255, 255, 255],
321
+ type='',
322
+ swap='face-21'),
323
+ 46:
324
+ dict(
325
+ name='face-23',
326
+ id=46,
327
+ color=[255, 255, 255],
328
+ type='',
329
+ swap='face-20'),
330
+ 47:
331
+ dict(
332
+ name='face-24',
333
+ id=47,
334
+ color=[255, 255, 255],
335
+ type='',
336
+ swap='face-19'),
337
+ 48:
338
+ dict(
339
+ name='face-25',
340
+ id=48,
341
+ color=[255, 255, 255],
342
+ type='',
343
+ swap='face-18'),
344
+ 49:
345
+ dict(
346
+ name='face-26',
347
+ id=49,
348
+ color=[255, 255, 255],
349
+ type='',
350
+ swap='face-17'),
351
+ 50:
352
+ dict(name='face-27', id=50, color=[255, 255, 255], type='', swap=''),
353
+ 51:
354
+ dict(name='face-28', id=51, color=[255, 255, 255], type='', swap=''),
355
+ 52:
356
+ dict(name='face-29', id=52, color=[255, 255, 255], type='', swap=''),
357
+ 53:
358
+ dict(name='face-30', id=53, color=[255, 255, 255], type='', swap=''),
359
+ 54:
360
+ dict(
361
+ name='face-31',
362
+ id=54,
363
+ color=[255, 255, 255],
364
+ type='',
365
+ swap='face-35'),
366
+ 55:
367
+ dict(
368
+ name='face-32',
369
+ id=55,
370
+ color=[255, 255, 255],
371
+ type='',
372
+ swap='face-34'),
373
+ 56:
374
+ dict(name='face-33', id=56, color=[255, 255, 255], type='', swap=''),
375
+ 57:
376
+ dict(
377
+ name='face-34',
378
+ id=57,
379
+ color=[255, 255, 255],
380
+ type='',
381
+ swap='face-32'),
382
+ 58:
383
+ dict(
384
+ name='face-35',
385
+ id=58,
386
+ color=[255, 255, 255],
387
+ type='',
388
+ swap='face-31'),
389
+ 59:
390
+ dict(
391
+ name='face-36',
392
+ id=59,
393
+ color=[255, 255, 255],
394
+ type='',
395
+ swap='face-45'),
396
+ 60:
397
+ dict(
398
+ name='face-37',
399
+ id=60,
400
+ color=[255, 255, 255],
401
+ type='',
402
+ swap='face-44'),
403
+ 61:
404
+ dict(
405
+ name='face-38',
406
+ id=61,
407
+ color=[255, 255, 255],
408
+ type='',
409
+ swap='face-43'),
410
+ 62:
411
+ dict(
412
+ name='face-39',
413
+ id=62,
414
+ color=[255, 255, 255],
415
+ type='',
416
+ swap='face-42'),
417
+ 63:
418
+ dict(
419
+ name='face-40',
420
+ id=63,
421
+ color=[255, 255, 255],
422
+ type='',
423
+ swap='face-47'),
424
+ 64:
425
+ dict(
426
+ name='face-41',
427
+ id=64,
428
+ color=[255, 255, 255],
429
+ type='',
430
+ swap='face-46'),
431
+ 65:
432
+ dict(
433
+ name='face-42',
434
+ id=65,
435
+ color=[255, 255, 255],
436
+ type='',
437
+ swap='face-39'),
438
+ 66:
439
+ dict(
440
+ name='face-43',
441
+ id=66,
442
+ color=[255, 255, 255],
443
+ type='',
444
+ swap='face-38'),
445
+ 67:
446
+ dict(
447
+ name='face-44',
448
+ id=67,
449
+ color=[255, 255, 255],
450
+ type='',
451
+ swap='face-37'),
452
+ 68:
453
+ dict(
454
+ name='face-45',
455
+ id=68,
456
+ color=[255, 255, 255],
457
+ type='',
458
+ swap='face-36'),
459
+ 69:
460
+ dict(
461
+ name='face-46',
462
+ id=69,
463
+ color=[255, 255, 255],
464
+ type='',
465
+ swap='face-41'),
466
+ 70:
467
+ dict(
468
+ name='face-47',
469
+ id=70,
470
+ color=[255, 255, 255],
471
+ type='',
472
+ swap='face-40'),
473
+ 71:
474
+ dict(
475
+ name='face-48',
476
+ id=71,
477
+ color=[255, 255, 255],
478
+ type='',
479
+ swap='face-54'),
480
+ 72:
481
+ dict(
482
+ name='face-49',
483
+ id=72,
484
+ color=[255, 255, 255],
485
+ type='',
486
+ swap='face-53'),
487
+ 73:
488
+ dict(
489
+ name='face-50',
490
+ id=73,
491
+ color=[255, 255, 255],
492
+ type='',
493
+ swap='face-52'),
494
+ 74:
495
+ dict(name='face-51', id=74, color=[255, 255, 255], type='', swap=''),
496
+ 75:
497
+ dict(
498
+ name='face-52',
499
+ id=75,
500
+ color=[255, 255, 255],
501
+ type='',
502
+ swap='face-50'),
503
+ 76:
504
+ dict(
505
+ name='face-53',
506
+ id=76,
507
+ color=[255, 255, 255],
508
+ type='',
509
+ swap='face-49'),
510
+ 77:
511
+ dict(
512
+ name='face-54',
513
+ id=77,
514
+ color=[255, 255, 255],
515
+ type='',
516
+ swap='face-48'),
517
+ 78:
518
+ dict(
519
+ name='face-55',
520
+ id=78,
521
+ color=[255, 255, 255],
522
+ type='',
523
+ swap='face-59'),
524
+ 79:
525
+ dict(
526
+ name='face-56',
527
+ id=79,
528
+ color=[255, 255, 255],
529
+ type='',
530
+ swap='face-58'),
531
+ 80:
532
+ dict(name='face-57', id=80, color=[255, 255, 255], type='', swap=''),
533
+ 81:
534
+ dict(
535
+ name='face-58',
536
+ id=81,
537
+ color=[255, 255, 255],
538
+ type='',
539
+ swap='face-56'),
540
+ 82:
541
+ dict(
542
+ name='face-59',
543
+ id=82,
544
+ color=[255, 255, 255],
545
+ type='',
546
+ swap='face-55'),
547
+ 83:
548
+ dict(
549
+ name='face-60',
550
+ id=83,
551
+ color=[255, 255, 255],
552
+ type='',
553
+ swap='face-64'),
554
+ 84:
555
+ dict(
556
+ name='face-61',
557
+ id=84,
558
+ color=[255, 255, 255],
559
+ type='',
560
+ swap='face-63'),
561
+ 85:
562
+ dict(name='face-62', id=85, color=[255, 255, 255], type='', swap=''),
563
+ 86:
564
+ dict(
565
+ name='face-63',
566
+ id=86,
567
+ color=[255, 255, 255],
568
+ type='',
569
+ swap='face-61'),
570
+ 87:
571
+ dict(
572
+ name='face-64',
573
+ id=87,
574
+ color=[255, 255, 255],
575
+ type='',
576
+ swap='face-60'),
577
+ 88:
578
+ dict(
579
+ name='face-65',
580
+ id=88,
581
+ color=[255, 255, 255],
582
+ type='',
583
+ swap='face-67'),
584
+ 89:
585
+ dict(name='face-66', id=89, color=[255, 255, 255], type='', swap=''),
586
+ 90:
587
+ dict(
588
+ name='face-67',
589
+ id=90,
590
+ color=[255, 255, 255],
591
+ type='',
592
+ swap='face-65'),
593
+ 91:
594
+ dict(
595
+ name='left_hand_root',
596
+ id=91,
597
+ color=[255, 255, 255],
598
+ type='',
599
+ swap='right_hand_root'),
600
+ 92:
601
+ dict(
602
+ name='left_thumb1',
603
+ id=92,
604
+ color=[255, 128, 0],
605
+ type='',
606
+ swap='right_thumb1'),
607
+ 93:
608
+ dict(
609
+ name='left_thumb2',
610
+ id=93,
611
+ color=[255, 128, 0],
612
+ type='',
613
+ swap='right_thumb2'),
614
+ 94:
615
+ dict(
616
+ name='left_thumb3',
617
+ id=94,
618
+ color=[255, 128, 0],
619
+ type='',
620
+ swap='right_thumb3'),
621
+ 95:
622
+ dict(
623
+ name='left_thumb4',
624
+ id=95,
625
+ color=[255, 128, 0],
626
+ type='',
627
+ swap='right_thumb4'),
628
+ 96:
629
+ dict(
630
+ name='left_forefinger1',
631
+ id=96,
632
+ color=[255, 153, 255],
633
+ type='',
634
+ swap='right_forefinger1'),
635
+ 97:
636
+ dict(
637
+ name='left_forefinger2',
638
+ id=97,
639
+ color=[255, 153, 255],
640
+ type='',
641
+ swap='right_forefinger2'),
642
+ 98:
643
+ dict(
644
+ name='left_forefinger3',
645
+ id=98,
646
+ color=[255, 153, 255],
647
+ type='',
648
+ swap='right_forefinger3'),
649
+ 99:
650
+ dict(
651
+ name='left_forefinger4',
652
+ id=99,
653
+ color=[255, 153, 255],
654
+ type='',
655
+ swap='right_forefinger4'),
656
+ 100:
657
+ dict(
658
+ name='left_middle_finger1',
659
+ id=100,
660
+ color=[102, 178, 255],
661
+ type='',
662
+ swap='right_middle_finger1'),
663
+ 101:
664
+ dict(
665
+ name='left_middle_finger2',
666
+ id=101,
667
+ color=[102, 178, 255],
668
+ type='',
669
+ swap='right_middle_finger2'),
670
+ 102:
671
+ dict(
672
+ name='left_middle_finger3',
673
+ id=102,
674
+ color=[102, 178, 255],
675
+ type='',
676
+ swap='right_middle_finger3'),
677
+ 103:
678
+ dict(
679
+ name='left_middle_finger4',
680
+ id=103,
681
+ color=[102, 178, 255],
682
+ type='',
683
+ swap='right_middle_finger4'),
684
+ 104:
685
+ dict(
686
+ name='left_ring_finger1',
687
+ id=104,
688
+ color=[255, 51, 51],
689
+ type='',
690
+ swap='right_ring_finger1'),
691
+ 105:
692
+ dict(
693
+ name='left_ring_finger2',
694
+ id=105,
695
+ color=[255, 51, 51],
696
+ type='',
697
+ swap='right_ring_finger2'),
698
+ 106:
699
+ dict(
700
+ name='left_ring_finger3',
701
+ id=106,
702
+ color=[255, 51, 51],
703
+ type='',
704
+ swap='right_ring_finger3'),
705
+ 107:
706
+ dict(
707
+ name='left_ring_finger4',
708
+ id=107,
709
+ color=[255, 51, 51],
710
+ type='',
711
+ swap='right_ring_finger4'),
712
+ 108:
713
+ dict(
714
+ name='left_pinky_finger1',
715
+ id=108,
716
+ color=[0, 255, 0],
717
+ type='',
718
+ swap='right_pinky_finger1'),
719
+ 109:
720
+ dict(
721
+ name='left_pinky_finger2',
722
+ id=109,
723
+ color=[0, 255, 0],
724
+ type='',
725
+ swap='right_pinky_finger2'),
726
+ 110:
727
+ dict(
728
+ name='left_pinky_finger3',
729
+ id=110,
730
+ color=[0, 255, 0],
731
+ type='',
732
+ swap='right_pinky_finger3'),
733
+ 111:
734
+ dict(
735
+ name='left_pinky_finger4',
736
+ id=111,
737
+ color=[0, 255, 0],
738
+ type='',
739
+ swap='right_pinky_finger4'),
740
+ 112:
741
+ dict(
742
+ name='right_hand_root',
743
+ id=112,
744
+ color=[255, 255, 255],
745
+ type='',
746
+ swap='left_hand_root'),
747
+ 113:
748
+ dict(
749
+ name='right_thumb1',
750
+ id=113,
751
+ color=[255, 128, 0],
752
+ type='',
753
+ swap='left_thumb1'),
754
+ 114:
755
+ dict(
756
+ name='right_thumb2',
757
+ id=114,
758
+ color=[255, 128, 0],
759
+ type='',
760
+ swap='left_thumb2'),
761
+ 115:
762
+ dict(
763
+ name='right_thumb3',
764
+ id=115,
765
+ color=[255, 128, 0],
766
+ type='',
767
+ swap='left_thumb3'),
768
+ 116:
769
+ dict(
770
+ name='right_thumb4',
771
+ id=116,
772
+ color=[255, 128, 0],
773
+ type='',
774
+ swap='left_thumb4'),
775
+ 117:
776
+ dict(
777
+ name='right_forefinger1',
778
+ id=117,
779
+ color=[255, 153, 255],
780
+ type='',
781
+ swap='left_forefinger1'),
782
+ 118:
783
+ dict(
784
+ name='right_forefinger2',
785
+ id=118,
786
+ color=[255, 153, 255],
787
+ type='',
788
+ swap='left_forefinger2'),
789
+ 119:
790
+ dict(
791
+ name='right_forefinger3',
792
+ id=119,
793
+ color=[255, 153, 255],
794
+ type='',
795
+ swap='left_forefinger3'),
796
+ 120:
797
+ dict(
798
+ name='right_forefinger4',
799
+ id=120,
800
+ color=[255, 153, 255],
801
+ type='',
802
+ swap='left_forefinger4'),
803
+ 121:
804
+ dict(
805
+ name='right_middle_finger1',
806
+ id=121,
807
+ color=[102, 178, 255],
808
+ type='',
809
+ swap='left_middle_finger1'),
810
+ 122:
811
+ dict(
812
+ name='right_middle_finger2',
813
+ id=122,
814
+ color=[102, 178, 255],
815
+ type='',
816
+ swap='left_middle_finger2'),
817
+ 123:
818
+ dict(
819
+ name='right_middle_finger3',
820
+ id=123,
821
+ color=[102, 178, 255],
822
+ type='',
823
+ swap='left_middle_finger3'),
824
+ 124:
825
+ dict(
826
+ name='right_middle_finger4',
827
+ id=124,
828
+ color=[102, 178, 255],
829
+ type='',
830
+ swap='left_middle_finger4'),
831
+ 125:
832
+ dict(
833
+ name='right_ring_finger1',
834
+ id=125,
835
+ color=[255, 51, 51],
836
+ type='',
837
+ swap='left_ring_finger1'),
838
+ 126:
839
+ dict(
840
+ name='right_ring_finger2',
841
+ id=126,
842
+ color=[255, 51, 51],
843
+ type='',
844
+ swap='left_ring_finger2'),
845
+ 127:
846
+ dict(
847
+ name='right_ring_finger3',
848
+ id=127,
849
+ color=[255, 51, 51],
850
+ type='',
851
+ swap='left_ring_finger3'),
852
+ 128:
853
+ dict(
854
+ name='right_ring_finger4',
855
+ id=128,
856
+ color=[255, 51, 51],
857
+ type='',
858
+ swap='left_ring_finger4'),
859
+ 129:
860
+ dict(
861
+ name='right_pinky_finger1',
862
+ id=129,
863
+ color=[0, 255, 0],
864
+ type='',
865
+ swap='left_pinky_finger1'),
866
+ 130:
867
+ dict(
868
+ name='right_pinky_finger2',
869
+ id=130,
870
+ color=[0, 255, 0],
871
+ type='',
872
+ swap='left_pinky_finger2'),
873
+ 131:
874
+ dict(
875
+ name='right_pinky_finger3',
876
+ id=131,
877
+ color=[0, 255, 0],
878
+ type='',
879
+ swap='left_pinky_finger3'),
880
+ 132:
881
+ dict(
882
+ name='right_pinky_finger4',
883
+ id=132,
884
+ color=[0, 255, 0],
885
+ type='',
886
+ swap='left_pinky_finger4')
887
+ },
888
+ skeleton_info={
889
+ 0:
890
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
891
+ 1:
892
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
893
+ 2:
894
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
895
+ 3:
896
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
897
+ 4:
898
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
899
+ 5:
900
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
901
+ 6:
902
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
903
+ 7:
904
+ dict(
905
+ link=('left_shoulder', 'right_shoulder'),
906
+ id=7,
907
+ color=[51, 153, 255]),
908
+ 8:
909
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
910
+ 9:
911
+ dict(
912
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
913
+ 10:
914
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
915
+ 11:
916
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
917
+ 12:
918
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
919
+ 13:
920
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
921
+ 14:
922
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
923
+ 15:
924
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
925
+ 16:
926
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
927
+ 17:
928
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
929
+ 18:
930
+ dict(
931
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
932
+ 19:
933
+ dict(link=('left_ankle', 'left_big_toe'), id=19, color=[0, 255, 0]),
934
+ 20:
935
+ dict(link=('left_ankle', 'left_small_toe'), id=20, color=[0, 255, 0]),
936
+ 21:
937
+ dict(link=('left_ankle', 'left_heel'), id=21, color=[0, 255, 0]),
938
+ 22:
939
+ dict(
940
+ link=('right_ankle', 'right_big_toe'), id=22, color=[255, 128, 0]),
941
+ 23:
942
+ dict(
943
+ link=('right_ankle', 'right_small_toe'),
944
+ id=23,
945
+ color=[255, 128, 0]),
946
+ 24:
947
+ dict(link=('right_ankle', 'right_heel'), id=24, color=[255, 128, 0]),
948
+ 25:
949
+ dict(
950
+ link=('left_hand_root', 'left_thumb1'), id=25, color=[255, 128,
951
+ 0]),
952
+ 26:
953
+ dict(link=('left_thumb1', 'left_thumb2'), id=26, color=[255, 128, 0]),
954
+ 27:
955
+ dict(link=('left_thumb2', 'left_thumb3'), id=27, color=[255, 128, 0]),
956
+ 28:
957
+ dict(link=('left_thumb3', 'left_thumb4'), id=28, color=[255, 128, 0]),
958
+ 29:
959
+ dict(
960
+ link=('left_hand_root', 'left_forefinger1'),
961
+ id=29,
962
+ color=[255, 153, 255]),
963
+ 30:
964
+ dict(
965
+ link=('left_forefinger1', 'left_forefinger2'),
966
+ id=30,
967
+ color=[255, 153, 255]),
968
+ 31:
969
+ dict(
970
+ link=('left_forefinger2', 'left_forefinger3'),
971
+ id=31,
972
+ color=[255, 153, 255]),
973
+ 32:
974
+ dict(
975
+ link=('left_forefinger3', 'left_forefinger4'),
976
+ id=32,
977
+ color=[255, 153, 255]),
978
+ 33:
979
+ dict(
980
+ link=('left_hand_root', 'left_middle_finger1'),
981
+ id=33,
982
+ color=[102, 178, 255]),
983
+ 34:
984
+ dict(
985
+ link=('left_middle_finger1', 'left_middle_finger2'),
986
+ id=34,
987
+ color=[102, 178, 255]),
988
+ 35:
989
+ dict(
990
+ link=('left_middle_finger2', 'left_middle_finger3'),
991
+ id=35,
992
+ color=[102, 178, 255]),
993
+ 36:
994
+ dict(
995
+ link=('left_middle_finger3', 'left_middle_finger4'),
996
+ id=36,
997
+ color=[102, 178, 255]),
998
+ 37:
999
+ dict(
1000
+ link=('left_hand_root', 'left_ring_finger1'),
1001
+ id=37,
1002
+ color=[255, 51, 51]),
1003
+ 38:
1004
+ dict(
1005
+ link=('left_ring_finger1', 'left_ring_finger2'),
1006
+ id=38,
1007
+ color=[255, 51, 51]),
1008
+ 39:
1009
+ dict(
1010
+ link=('left_ring_finger2', 'left_ring_finger3'),
1011
+ id=39,
1012
+ color=[255, 51, 51]),
1013
+ 40:
1014
+ dict(
1015
+ link=('left_ring_finger3', 'left_ring_finger4'),
1016
+ id=40,
1017
+ color=[255, 51, 51]),
1018
+ 41:
1019
+ dict(
1020
+ link=('left_hand_root', 'left_pinky_finger1'),
1021
+ id=41,
1022
+ color=[0, 255, 0]),
1023
+ 42:
1024
+ dict(
1025
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1026
+ id=42,
1027
+ color=[0, 255, 0]),
1028
+ 43:
1029
+ dict(
1030
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1031
+ id=43,
1032
+ color=[0, 255, 0]),
1033
+ 44:
1034
+ dict(
1035
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1036
+ id=44,
1037
+ color=[0, 255, 0]),
1038
+ 45:
1039
+ dict(
1040
+ link=('right_hand_root', 'right_thumb1'),
1041
+ id=45,
1042
+ color=[255, 128, 0]),
1043
+ 46:
1044
+ dict(
1045
+ link=('right_thumb1', 'right_thumb2'), id=46, color=[255, 128, 0]),
1046
+ 47:
1047
+ dict(
1048
+ link=('right_thumb2', 'right_thumb3'), id=47, color=[255, 128, 0]),
1049
+ 48:
1050
+ dict(
1051
+ link=('right_thumb3', 'right_thumb4'), id=48, color=[255, 128, 0]),
1052
+ 49:
1053
+ dict(
1054
+ link=('right_hand_root', 'right_forefinger1'),
1055
+ id=49,
1056
+ color=[255, 153, 255]),
1057
+ 50:
1058
+ dict(
1059
+ link=('right_forefinger1', 'right_forefinger2'),
1060
+ id=50,
1061
+ color=[255, 153, 255]),
1062
+ 51:
1063
+ dict(
1064
+ link=('right_forefinger2', 'right_forefinger3'),
1065
+ id=51,
1066
+ color=[255, 153, 255]),
1067
+ 52:
1068
+ dict(
1069
+ link=('right_forefinger3', 'right_forefinger4'),
1070
+ id=52,
1071
+ color=[255, 153, 255]),
1072
+ 53:
1073
+ dict(
1074
+ link=('right_hand_root', 'right_middle_finger1'),
1075
+ id=53,
1076
+ color=[102, 178, 255]),
1077
+ 54:
1078
+ dict(
1079
+ link=('right_middle_finger1', 'right_middle_finger2'),
1080
+ id=54,
1081
+ color=[102, 178, 255]),
1082
+ 55:
1083
+ dict(
1084
+ link=('right_middle_finger2', 'right_middle_finger3'),
1085
+ id=55,
1086
+ color=[102, 178, 255]),
1087
+ 56:
1088
+ dict(
1089
+ link=('right_middle_finger3', 'right_middle_finger4'),
1090
+ id=56,
1091
+ color=[102, 178, 255]),
1092
+ 57:
1093
+ dict(
1094
+ link=('right_hand_root', 'right_ring_finger1'),
1095
+ id=57,
1096
+ color=[255, 51, 51]),
1097
+ 58:
1098
+ dict(
1099
+ link=('right_ring_finger1', 'right_ring_finger2'),
1100
+ id=58,
1101
+ color=[255, 51, 51]),
1102
+ 59:
1103
+ dict(
1104
+ link=('right_ring_finger2', 'right_ring_finger3'),
1105
+ id=59,
1106
+ color=[255, 51, 51]),
1107
+ 60:
1108
+ dict(
1109
+ link=('right_ring_finger3', 'right_ring_finger4'),
1110
+ id=60,
1111
+ color=[255, 51, 51]),
1112
+ 61:
1113
+ dict(
1114
+ link=('right_hand_root', 'right_pinky_finger1'),
1115
+ id=61,
1116
+ color=[0, 255, 0]),
1117
+ 62:
1118
+ dict(
1119
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1120
+ id=62,
1121
+ color=[0, 255, 0]),
1122
+ 63:
1123
+ dict(
1124
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1125
+ id=63,
1126
+ color=[0, 255, 0]),
1127
+ 64:
1128
+ dict(
1129
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1130
+ id=64,
1131
+ color=[0, 255, 0])
1132
+ },
1133
+ joint_weights=[1.] * 133,
1134
+ # 'https://github.com/jin-s13/COCO-WholeBody/blob/master/'
1135
+ # 'evaluation/myeval_wholebody.py#L175'
1136
+ sigmas=[
1137
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1138
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.068, 0.066, 0.066,
1139
+ 0.092, 0.094, 0.094, 0.042, 0.043, 0.044, 0.043, 0.040, 0.035, 0.031,
1140
+ 0.025, 0.020, 0.023, 0.029, 0.032, 0.037, 0.038, 0.043, 0.041, 0.045,
1141
+ 0.013, 0.012, 0.011, 0.011, 0.012, 0.012, 0.011, 0.011, 0.013, 0.015,
1142
+ 0.009, 0.007, 0.007, 0.007, 0.012, 0.009, 0.008, 0.016, 0.010, 0.017,
1143
+ 0.011, 0.009, 0.011, 0.009, 0.007, 0.013, 0.008, 0.011, 0.012, 0.010,
1144
+ 0.034, 0.008, 0.008, 0.009, 0.008, 0.008, 0.007, 0.010, 0.008, 0.009,
1145
+ 0.009, 0.009, 0.007, 0.007, 0.008, 0.011, 0.008, 0.008, 0.008, 0.01,
1146
+ 0.008, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024, 0.035,
1147
+ 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02, 0.019,
1148
+ 0.022, 0.031, 0.029, 0.022, 0.035, 0.037, 0.047, 0.026, 0.025, 0.024,
1149
+ 0.035, 0.018, 0.024, 0.022, 0.026, 0.017, 0.021, 0.021, 0.032, 0.02,
1150
+ 0.019, 0.022, 0.031
1151
+ ])
configs/_base_/datasets/halpe.py ADDED
@@ -0,0 +1,1157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='halpe',
3
+ paper_info=dict(
4
+ author='Li, Yong-Lu and Xu, Liang and Liu, Xinpeng and Huang, Xijie'
5
+ ' and Xu, Yue and Wang, Shiyi and Fang, Hao-Shu'
6
+ ' and Ma, Ze and Chen, Mingyang and Lu, Cewu',
7
+ title='PaStaNet: Toward Human Activity Knowledge Engine',
8
+ container='CVPR',
9
+ year='2020',
10
+ homepage='https://github.com/Fang-Haoshu/Halpe-FullBody/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
15
+ 1:
16
+ dict(
17
+ name='left_eye',
18
+ id=1,
19
+ color=[51, 153, 255],
20
+ type='upper',
21
+ swap='right_eye'),
22
+ 2:
23
+ dict(
24
+ name='right_eye',
25
+ id=2,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='left_eye'),
29
+ 3:
30
+ dict(
31
+ name='left_ear',
32
+ id=3,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='right_ear'),
36
+ 4:
37
+ dict(
38
+ name='right_ear',
39
+ id=4,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='left_ear'),
43
+ 5:
44
+ dict(
45
+ name='left_shoulder',
46
+ id=5,
47
+ color=[0, 255, 0],
48
+ type='upper',
49
+ swap='right_shoulder'),
50
+ 6:
51
+ dict(
52
+ name='right_shoulder',
53
+ id=6,
54
+ color=[255, 128, 0],
55
+ type='upper',
56
+ swap='left_shoulder'),
57
+ 7:
58
+ dict(
59
+ name='left_elbow',
60
+ id=7,
61
+ color=[0, 255, 0],
62
+ type='upper',
63
+ swap='right_elbow'),
64
+ 8:
65
+ dict(
66
+ name='right_elbow',
67
+ id=8,
68
+ color=[255, 128, 0],
69
+ type='upper',
70
+ swap='left_elbow'),
71
+ 9:
72
+ dict(
73
+ name='left_wrist',
74
+ id=9,
75
+ color=[0, 255, 0],
76
+ type='upper',
77
+ swap='right_wrist'),
78
+ 10:
79
+ dict(
80
+ name='right_wrist',
81
+ id=10,
82
+ color=[255, 128, 0],
83
+ type='upper',
84
+ swap='left_wrist'),
85
+ 11:
86
+ dict(
87
+ name='left_hip',
88
+ id=11,
89
+ color=[0, 255, 0],
90
+ type='lower',
91
+ swap='right_hip'),
92
+ 12:
93
+ dict(
94
+ name='right_hip',
95
+ id=12,
96
+ color=[255, 128, 0],
97
+ type='lower',
98
+ swap='left_hip'),
99
+ 13:
100
+ dict(
101
+ name='left_knee',
102
+ id=13,
103
+ color=[0, 255, 0],
104
+ type='lower',
105
+ swap='right_knee'),
106
+ 14:
107
+ dict(
108
+ name='right_knee',
109
+ id=14,
110
+ color=[255, 128, 0],
111
+ type='lower',
112
+ swap='left_knee'),
113
+ 15:
114
+ dict(
115
+ name='left_ankle',
116
+ id=15,
117
+ color=[0, 255, 0],
118
+ type='lower',
119
+ swap='right_ankle'),
120
+ 16:
121
+ dict(
122
+ name='right_ankle',
123
+ id=16,
124
+ color=[255, 128, 0],
125
+ type='lower',
126
+ swap='left_ankle'),
127
+ 17:
128
+ dict(name='head', id=17, color=[255, 128, 0], type='upper', swap=''),
129
+ 18:
130
+ dict(name='neck', id=18, color=[255, 128, 0], type='upper', swap=''),
131
+ 19:
132
+ dict(name='hip', id=19, color=[255, 128, 0], type='lower', swap=''),
133
+ 20:
134
+ dict(
135
+ name='left_big_toe',
136
+ id=20,
137
+ color=[255, 128, 0],
138
+ type='lower',
139
+ swap='right_big_toe'),
140
+ 21:
141
+ dict(
142
+ name='right_big_toe',
143
+ id=21,
144
+ color=[255, 128, 0],
145
+ type='lower',
146
+ swap='left_big_toe'),
147
+ 22:
148
+ dict(
149
+ name='left_small_toe',
150
+ id=22,
151
+ color=[255, 128, 0],
152
+ type='lower',
153
+ swap='right_small_toe'),
154
+ 23:
155
+ dict(
156
+ name='right_small_toe',
157
+ id=23,
158
+ color=[255, 128, 0],
159
+ type='lower',
160
+ swap='left_small_toe'),
161
+ 24:
162
+ dict(
163
+ name='left_heel',
164
+ id=24,
165
+ color=[255, 128, 0],
166
+ type='lower',
167
+ swap='right_heel'),
168
+ 25:
169
+ dict(
170
+ name='right_heel',
171
+ id=25,
172
+ color=[255, 128, 0],
173
+ type='lower',
174
+ swap='left_heel'),
175
+ 26:
176
+ dict(
177
+ name='face-0',
178
+ id=26,
179
+ color=[255, 255, 255],
180
+ type='',
181
+ swap='face-16'),
182
+ 27:
183
+ dict(
184
+ name='face-1',
185
+ id=27,
186
+ color=[255, 255, 255],
187
+ type='',
188
+ swap='face-15'),
189
+ 28:
190
+ dict(
191
+ name='face-2',
192
+ id=28,
193
+ color=[255, 255, 255],
194
+ type='',
195
+ swap='face-14'),
196
+ 29:
197
+ dict(
198
+ name='face-3',
199
+ id=29,
200
+ color=[255, 255, 255],
201
+ type='',
202
+ swap='face-13'),
203
+ 30:
204
+ dict(
205
+ name='face-4',
206
+ id=30,
207
+ color=[255, 255, 255],
208
+ type='',
209
+ swap='face-12'),
210
+ 31:
211
+ dict(
212
+ name='face-5',
213
+ id=31,
214
+ color=[255, 255, 255],
215
+ type='',
216
+ swap='face-11'),
217
+ 32:
218
+ dict(
219
+ name='face-6',
220
+ id=32,
221
+ color=[255, 255, 255],
222
+ type='',
223
+ swap='face-10'),
224
+ 33:
225
+ dict(
226
+ name='face-7',
227
+ id=33,
228
+ color=[255, 255, 255],
229
+ type='',
230
+ swap='face-9'),
231
+ 34:
232
+ dict(name='face-8', id=34, color=[255, 255, 255], type='', swap=''),
233
+ 35:
234
+ dict(
235
+ name='face-9',
236
+ id=35,
237
+ color=[255, 255, 255],
238
+ type='',
239
+ swap='face-7'),
240
+ 36:
241
+ dict(
242
+ name='face-10',
243
+ id=36,
244
+ color=[255, 255, 255],
245
+ type='',
246
+ swap='face-6'),
247
+ 37:
248
+ dict(
249
+ name='face-11',
250
+ id=37,
251
+ color=[255, 255, 255],
252
+ type='',
253
+ swap='face-5'),
254
+ 38:
255
+ dict(
256
+ name='face-12',
257
+ id=38,
258
+ color=[255, 255, 255],
259
+ type='',
260
+ swap='face-4'),
261
+ 39:
262
+ dict(
263
+ name='face-13',
264
+ id=39,
265
+ color=[255, 255, 255],
266
+ type='',
267
+ swap='face-3'),
268
+ 40:
269
+ dict(
270
+ name='face-14',
271
+ id=40,
272
+ color=[255, 255, 255],
273
+ type='',
274
+ swap='face-2'),
275
+ 41:
276
+ dict(
277
+ name='face-15',
278
+ id=41,
279
+ color=[255, 255, 255],
280
+ type='',
281
+ swap='face-1'),
282
+ 42:
283
+ dict(
284
+ name='face-16',
285
+ id=42,
286
+ color=[255, 255, 255],
287
+ type='',
288
+ swap='face-0'),
289
+ 43:
290
+ dict(
291
+ name='face-17',
292
+ id=43,
293
+ color=[255, 255, 255],
294
+ type='',
295
+ swap='face-26'),
296
+ 44:
297
+ dict(
298
+ name='face-18',
299
+ id=44,
300
+ color=[255, 255, 255],
301
+ type='',
302
+ swap='face-25'),
303
+ 45:
304
+ dict(
305
+ name='face-19',
306
+ id=45,
307
+ color=[255, 255, 255],
308
+ type='',
309
+ swap='face-24'),
310
+ 46:
311
+ dict(
312
+ name='face-20',
313
+ id=46,
314
+ color=[255, 255, 255],
315
+ type='',
316
+ swap='face-23'),
317
+ 47:
318
+ dict(
319
+ name='face-21',
320
+ id=47,
321
+ color=[255, 255, 255],
322
+ type='',
323
+ swap='face-22'),
324
+ 48:
325
+ dict(
326
+ name='face-22',
327
+ id=48,
328
+ color=[255, 255, 255],
329
+ type='',
330
+ swap='face-21'),
331
+ 49:
332
+ dict(
333
+ name='face-23',
334
+ id=49,
335
+ color=[255, 255, 255],
336
+ type='',
337
+ swap='face-20'),
338
+ 50:
339
+ dict(
340
+ name='face-24',
341
+ id=50,
342
+ color=[255, 255, 255],
343
+ type='',
344
+ swap='face-19'),
345
+ 51:
346
+ dict(
347
+ name='face-25',
348
+ id=51,
349
+ color=[255, 255, 255],
350
+ type='',
351
+ swap='face-18'),
352
+ 52:
353
+ dict(
354
+ name='face-26',
355
+ id=52,
356
+ color=[255, 255, 255],
357
+ type='',
358
+ swap='face-17'),
359
+ 53:
360
+ dict(name='face-27', id=53, color=[255, 255, 255], type='', swap=''),
361
+ 54:
362
+ dict(name='face-28', id=54, color=[255, 255, 255], type='', swap=''),
363
+ 55:
364
+ dict(name='face-29', id=55, color=[255, 255, 255], type='', swap=''),
365
+ 56:
366
+ dict(name='face-30', id=56, color=[255, 255, 255], type='', swap=''),
367
+ 57:
368
+ dict(
369
+ name='face-31',
370
+ id=57,
371
+ color=[255, 255, 255],
372
+ type='',
373
+ swap='face-35'),
374
+ 58:
375
+ dict(
376
+ name='face-32',
377
+ id=58,
378
+ color=[255, 255, 255],
379
+ type='',
380
+ swap='face-34'),
381
+ 59:
382
+ dict(name='face-33', id=59, color=[255, 255, 255], type='', swap=''),
383
+ 60:
384
+ dict(
385
+ name='face-34',
386
+ id=60,
387
+ color=[255, 255, 255],
388
+ type='',
389
+ swap='face-32'),
390
+ 61:
391
+ dict(
392
+ name='face-35',
393
+ id=61,
394
+ color=[255, 255, 255],
395
+ type='',
396
+ swap='face-31'),
397
+ 62:
398
+ dict(
399
+ name='face-36',
400
+ id=62,
401
+ color=[255, 255, 255],
402
+ type='',
403
+ swap='face-45'),
404
+ 63:
405
+ dict(
406
+ name='face-37',
407
+ id=63,
408
+ color=[255, 255, 255],
409
+ type='',
410
+ swap='face-44'),
411
+ 64:
412
+ dict(
413
+ name='face-38',
414
+ id=64,
415
+ color=[255, 255, 255],
416
+ type='',
417
+ swap='face-43'),
418
+ 65:
419
+ dict(
420
+ name='face-39',
421
+ id=65,
422
+ color=[255, 255, 255],
423
+ type='',
424
+ swap='face-42'),
425
+ 66:
426
+ dict(
427
+ name='face-40',
428
+ id=66,
429
+ color=[255, 255, 255],
430
+ type='',
431
+ swap='face-47'),
432
+ 67:
433
+ dict(
434
+ name='face-41',
435
+ id=67,
436
+ color=[255, 255, 255],
437
+ type='',
438
+ swap='face-46'),
439
+ 68:
440
+ dict(
441
+ name='face-42',
442
+ id=68,
443
+ color=[255, 255, 255],
444
+ type='',
445
+ swap='face-39'),
446
+ 69:
447
+ dict(
448
+ name='face-43',
449
+ id=69,
450
+ color=[255, 255, 255],
451
+ type='',
452
+ swap='face-38'),
453
+ 70:
454
+ dict(
455
+ name='face-44',
456
+ id=70,
457
+ color=[255, 255, 255],
458
+ type='',
459
+ swap='face-37'),
460
+ 71:
461
+ dict(
462
+ name='face-45',
463
+ id=71,
464
+ color=[255, 255, 255],
465
+ type='',
466
+ swap='face-36'),
467
+ 72:
468
+ dict(
469
+ name='face-46',
470
+ id=72,
471
+ color=[255, 255, 255],
472
+ type='',
473
+ swap='face-41'),
474
+ 73:
475
+ dict(
476
+ name='face-47',
477
+ id=73,
478
+ color=[255, 255, 255],
479
+ type='',
480
+ swap='face-40'),
481
+ 74:
482
+ dict(
483
+ name='face-48',
484
+ id=74,
485
+ color=[255, 255, 255],
486
+ type='',
487
+ swap='face-54'),
488
+ 75:
489
+ dict(
490
+ name='face-49',
491
+ id=75,
492
+ color=[255, 255, 255],
493
+ type='',
494
+ swap='face-53'),
495
+ 76:
496
+ dict(
497
+ name='face-50',
498
+ id=76,
499
+ color=[255, 255, 255],
500
+ type='',
501
+ swap='face-52'),
502
+ 77:
503
+ dict(name='face-51', id=77, color=[255, 255, 255], type='', swap=''),
504
+ 78:
505
+ dict(
506
+ name='face-52',
507
+ id=78,
508
+ color=[255, 255, 255],
509
+ type='',
510
+ swap='face-50'),
511
+ 79:
512
+ dict(
513
+ name='face-53',
514
+ id=79,
515
+ color=[255, 255, 255],
516
+ type='',
517
+ swap='face-49'),
518
+ 80:
519
+ dict(
520
+ name='face-54',
521
+ id=80,
522
+ color=[255, 255, 255],
523
+ type='',
524
+ swap='face-48'),
525
+ 81:
526
+ dict(
527
+ name='face-55',
528
+ id=81,
529
+ color=[255, 255, 255],
530
+ type='',
531
+ swap='face-59'),
532
+ 82:
533
+ dict(
534
+ name='face-56',
535
+ id=82,
536
+ color=[255, 255, 255],
537
+ type='',
538
+ swap='face-58'),
539
+ 83:
540
+ dict(name='face-57', id=83, color=[255, 255, 255], type='', swap=''),
541
+ 84:
542
+ dict(
543
+ name='face-58',
544
+ id=84,
545
+ color=[255, 255, 255],
546
+ type='',
547
+ swap='face-56'),
548
+ 85:
549
+ dict(
550
+ name='face-59',
551
+ id=85,
552
+ color=[255, 255, 255],
553
+ type='',
554
+ swap='face-55'),
555
+ 86:
556
+ dict(
557
+ name='face-60',
558
+ id=86,
559
+ color=[255, 255, 255],
560
+ type='',
561
+ swap='face-64'),
562
+ 87:
563
+ dict(
564
+ name='face-61',
565
+ id=87,
566
+ color=[255, 255, 255],
567
+ type='',
568
+ swap='face-63'),
569
+ 88:
570
+ dict(name='face-62', id=88, color=[255, 255, 255], type='', swap=''),
571
+ 89:
572
+ dict(
573
+ name='face-63',
574
+ id=89,
575
+ color=[255, 255, 255],
576
+ type='',
577
+ swap='face-61'),
578
+ 90:
579
+ dict(
580
+ name='face-64',
581
+ id=90,
582
+ color=[255, 255, 255],
583
+ type='',
584
+ swap='face-60'),
585
+ 91:
586
+ dict(
587
+ name='face-65',
588
+ id=91,
589
+ color=[255, 255, 255],
590
+ type='',
591
+ swap='face-67'),
592
+ 92:
593
+ dict(name='face-66', id=92, color=[255, 255, 255], type='', swap=''),
594
+ 93:
595
+ dict(
596
+ name='face-67',
597
+ id=93,
598
+ color=[255, 255, 255],
599
+ type='',
600
+ swap='face-65'),
601
+ 94:
602
+ dict(
603
+ name='left_hand_root',
604
+ id=94,
605
+ color=[255, 255, 255],
606
+ type='',
607
+ swap='right_hand_root'),
608
+ 95:
609
+ dict(
610
+ name='left_thumb1',
611
+ id=95,
612
+ color=[255, 128, 0],
613
+ type='',
614
+ swap='right_thumb1'),
615
+ 96:
616
+ dict(
617
+ name='left_thumb2',
618
+ id=96,
619
+ color=[255, 128, 0],
620
+ type='',
621
+ swap='right_thumb2'),
622
+ 97:
623
+ dict(
624
+ name='left_thumb3',
625
+ id=97,
626
+ color=[255, 128, 0],
627
+ type='',
628
+ swap='right_thumb3'),
629
+ 98:
630
+ dict(
631
+ name='left_thumb4',
632
+ id=98,
633
+ color=[255, 128, 0],
634
+ type='',
635
+ swap='right_thumb4'),
636
+ 99:
637
+ dict(
638
+ name='left_forefinger1',
639
+ id=99,
640
+ color=[255, 153, 255],
641
+ type='',
642
+ swap='right_forefinger1'),
643
+ 100:
644
+ dict(
645
+ name='left_forefinger2',
646
+ id=100,
647
+ color=[255, 153, 255],
648
+ type='',
649
+ swap='right_forefinger2'),
650
+ 101:
651
+ dict(
652
+ name='left_forefinger3',
653
+ id=101,
654
+ color=[255, 153, 255],
655
+ type='',
656
+ swap='right_forefinger3'),
657
+ 102:
658
+ dict(
659
+ name='left_forefinger4',
660
+ id=102,
661
+ color=[255, 153, 255],
662
+ type='',
663
+ swap='right_forefinger4'),
664
+ 103:
665
+ dict(
666
+ name='left_middle_finger1',
667
+ id=103,
668
+ color=[102, 178, 255],
669
+ type='',
670
+ swap='right_middle_finger1'),
671
+ 104:
672
+ dict(
673
+ name='left_middle_finger2',
674
+ id=104,
675
+ color=[102, 178, 255],
676
+ type='',
677
+ swap='right_middle_finger2'),
678
+ 105:
679
+ dict(
680
+ name='left_middle_finger3',
681
+ id=105,
682
+ color=[102, 178, 255],
683
+ type='',
684
+ swap='right_middle_finger3'),
685
+ 106:
686
+ dict(
687
+ name='left_middle_finger4',
688
+ id=106,
689
+ color=[102, 178, 255],
690
+ type='',
691
+ swap='right_middle_finger4'),
692
+ 107:
693
+ dict(
694
+ name='left_ring_finger1',
695
+ id=107,
696
+ color=[255, 51, 51],
697
+ type='',
698
+ swap='right_ring_finger1'),
699
+ 108:
700
+ dict(
701
+ name='left_ring_finger2',
702
+ id=108,
703
+ color=[255, 51, 51],
704
+ type='',
705
+ swap='right_ring_finger2'),
706
+ 109:
707
+ dict(
708
+ name='left_ring_finger3',
709
+ id=109,
710
+ color=[255, 51, 51],
711
+ type='',
712
+ swap='right_ring_finger3'),
713
+ 110:
714
+ dict(
715
+ name='left_ring_finger4',
716
+ id=110,
717
+ color=[255, 51, 51],
718
+ type='',
719
+ swap='right_ring_finger4'),
720
+ 111:
721
+ dict(
722
+ name='left_pinky_finger1',
723
+ id=111,
724
+ color=[0, 255, 0],
725
+ type='',
726
+ swap='right_pinky_finger1'),
727
+ 112:
728
+ dict(
729
+ name='left_pinky_finger2',
730
+ id=112,
731
+ color=[0, 255, 0],
732
+ type='',
733
+ swap='right_pinky_finger2'),
734
+ 113:
735
+ dict(
736
+ name='left_pinky_finger3',
737
+ id=113,
738
+ color=[0, 255, 0],
739
+ type='',
740
+ swap='right_pinky_finger3'),
741
+ 114:
742
+ dict(
743
+ name='left_pinky_finger4',
744
+ id=114,
745
+ color=[0, 255, 0],
746
+ type='',
747
+ swap='right_pinky_finger4'),
748
+ 115:
749
+ dict(
750
+ name='right_hand_root',
751
+ id=115,
752
+ color=[255, 255, 255],
753
+ type='',
754
+ swap='left_hand_root'),
755
+ 116:
756
+ dict(
757
+ name='right_thumb1',
758
+ id=116,
759
+ color=[255, 128, 0],
760
+ type='',
761
+ swap='left_thumb1'),
762
+ 117:
763
+ dict(
764
+ name='right_thumb2',
765
+ id=117,
766
+ color=[255, 128, 0],
767
+ type='',
768
+ swap='left_thumb2'),
769
+ 118:
770
+ dict(
771
+ name='right_thumb3',
772
+ id=118,
773
+ color=[255, 128, 0],
774
+ type='',
775
+ swap='left_thumb3'),
776
+ 119:
777
+ dict(
778
+ name='right_thumb4',
779
+ id=119,
780
+ color=[255, 128, 0],
781
+ type='',
782
+ swap='left_thumb4'),
783
+ 120:
784
+ dict(
785
+ name='right_forefinger1',
786
+ id=120,
787
+ color=[255, 153, 255],
788
+ type='',
789
+ swap='left_forefinger1'),
790
+ 121:
791
+ dict(
792
+ name='right_forefinger2',
793
+ id=121,
794
+ color=[255, 153, 255],
795
+ type='',
796
+ swap='left_forefinger2'),
797
+ 122:
798
+ dict(
799
+ name='right_forefinger3',
800
+ id=122,
801
+ color=[255, 153, 255],
802
+ type='',
803
+ swap='left_forefinger3'),
804
+ 123:
805
+ dict(
806
+ name='right_forefinger4',
807
+ id=123,
808
+ color=[255, 153, 255],
809
+ type='',
810
+ swap='left_forefinger4'),
811
+ 124:
812
+ dict(
813
+ name='right_middle_finger1',
814
+ id=124,
815
+ color=[102, 178, 255],
816
+ type='',
817
+ swap='left_middle_finger1'),
818
+ 125:
819
+ dict(
820
+ name='right_middle_finger2',
821
+ id=125,
822
+ color=[102, 178, 255],
823
+ type='',
824
+ swap='left_middle_finger2'),
825
+ 126:
826
+ dict(
827
+ name='right_middle_finger3',
828
+ id=126,
829
+ color=[102, 178, 255],
830
+ type='',
831
+ swap='left_middle_finger3'),
832
+ 127:
833
+ dict(
834
+ name='right_middle_finger4',
835
+ id=127,
836
+ color=[102, 178, 255],
837
+ type='',
838
+ swap='left_middle_finger4'),
839
+ 128:
840
+ dict(
841
+ name='right_ring_finger1',
842
+ id=128,
843
+ color=[255, 51, 51],
844
+ type='',
845
+ swap='left_ring_finger1'),
846
+ 129:
847
+ dict(
848
+ name='right_ring_finger2',
849
+ id=129,
850
+ color=[255, 51, 51],
851
+ type='',
852
+ swap='left_ring_finger2'),
853
+ 130:
854
+ dict(
855
+ name='right_ring_finger3',
856
+ id=130,
857
+ color=[255, 51, 51],
858
+ type='',
859
+ swap='left_ring_finger3'),
860
+ 131:
861
+ dict(
862
+ name='right_ring_finger4',
863
+ id=131,
864
+ color=[255, 51, 51],
865
+ type='',
866
+ swap='left_ring_finger4'),
867
+ 132:
868
+ dict(
869
+ name='right_pinky_finger1',
870
+ id=132,
871
+ color=[0, 255, 0],
872
+ type='',
873
+ swap='left_pinky_finger1'),
874
+ 133:
875
+ dict(
876
+ name='right_pinky_finger2',
877
+ id=133,
878
+ color=[0, 255, 0],
879
+ type='',
880
+ swap='left_pinky_finger2'),
881
+ 134:
882
+ dict(
883
+ name='right_pinky_finger3',
884
+ id=134,
885
+ color=[0, 255, 0],
886
+ type='',
887
+ swap='left_pinky_finger3'),
888
+ 135:
889
+ dict(
890
+ name='right_pinky_finger4',
891
+ id=135,
892
+ color=[0, 255, 0],
893
+ type='',
894
+ swap='left_pinky_finger4')
895
+ },
896
+ skeleton_info={
897
+ 0:
898
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
899
+ 1:
900
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
901
+ 2:
902
+ dict(link=('left_hip', 'hip'), id=2, color=[0, 255, 0]),
903
+ 3:
904
+ dict(link=('right_ankle', 'right_knee'), id=3, color=[255, 128, 0]),
905
+ 4:
906
+ dict(link=('right_knee', 'right_hip'), id=4, color=[255, 128, 0]),
907
+ 5:
908
+ dict(link=('right_hip', 'hip'), id=5, color=[255, 128, 0]),
909
+ 6:
910
+ dict(link=('head', 'neck'), id=6, color=[51, 153, 255]),
911
+ 7:
912
+ dict(link=('neck', 'hip'), id=7, color=[51, 153, 255]),
913
+ 8:
914
+ dict(link=('neck', 'left_shoulder'), id=8, color=[0, 255, 0]),
915
+ 9:
916
+ dict(link=('left_shoulder', 'left_elbow'), id=9, color=[0, 255, 0]),
917
+ 10:
918
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
919
+ 11:
920
+ dict(link=('neck', 'right_shoulder'), id=11, color=[255, 128, 0]),
921
+ 12:
922
+ dict(
923
+ link=('right_shoulder', 'right_elbow'), id=12, color=[255, 128,
924
+ 0]),
925
+ 13:
926
+ dict(link=('right_elbow', 'right_wrist'), id=13, color=[255, 128, 0]),
927
+ 14:
928
+ dict(link=('left_eye', 'right_eye'), id=14, color=[51, 153, 255]),
929
+ 15:
930
+ dict(link=('nose', 'left_eye'), id=15, color=[51, 153, 255]),
931
+ 16:
932
+ dict(link=('nose', 'right_eye'), id=16, color=[51, 153, 255]),
933
+ 17:
934
+ dict(link=('left_eye', 'left_ear'), id=17, color=[51, 153, 255]),
935
+ 18:
936
+ dict(link=('right_eye', 'right_ear'), id=18, color=[51, 153, 255]),
937
+ 19:
938
+ dict(link=('left_ear', 'left_shoulder'), id=19, color=[51, 153, 255]),
939
+ 20:
940
+ dict(
941
+ link=('right_ear', 'right_shoulder'), id=20, color=[51, 153, 255]),
942
+ 21:
943
+ dict(link=('left_ankle', 'left_big_toe'), id=21, color=[0, 255, 0]),
944
+ 22:
945
+ dict(link=('left_ankle', 'left_small_toe'), id=22, color=[0, 255, 0]),
946
+ 23:
947
+ dict(link=('left_ankle', 'left_heel'), id=23, color=[0, 255, 0]),
948
+ 24:
949
+ dict(
950
+ link=('right_ankle', 'right_big_toe'), id=24, color=[255, 128, 0]),
951
+ 25:
952
+ dict(
953
+ link=('right_ankle', 'right_small_toe'),
954
+ id=25,
955
+ color=[255, 128, 0]),
956
+ 26:
957
+ dict(link=('right_ankle', 'right_heel'), id=26, color=[255, 128, 0]),
958
+ 27:
959
+ dict(link=('left_wrist', 'left_thumb1'), id=27, color=[255, 128, 0]),
960
+ 28:
961
+ dict(link=('left_thumb1', 'left_thumb2'), id=28, color=[255, 128, 0]),
962
+ 29:
963
+ dict(link=('left_thumb2', 'left_thumb3'), id=29, color=[255, 128, 0]),
964
+ 30:
965
+ dict(link=('left_thumb3', 'left_thumb4'), id=30, color=[255, 128, 0]),
966
+ 31:
967
+ dict(
968
+ link=('left_wrist', 'left_forefinger1'),
969
+ id=31,
970
+ color=[255, 153, 255]),
971
+ 32:
972
+ dict(
973
+ link=('left_forefinger1', 'left_forefinger2'),
974
+ id=32,
975
+ color=[255, 153, 255]),
976
+ 33:
977
+ dict(
978
+ link=('left_forefinger2', 'left_forefinger3'),
979
+ id=33,
980
+ color=[255, 153, 255]),
981
+ 34:
982
+ dict(
983
+ link=('left_forefinger3', 'left_forefinger4'),
984
+ id=34,
985
+ color=[255, 153, 255]),
986
+ 35:
987
+ dict(
988
+ link=('left_wrist', 'left_middle_finger1'),
989
+ id=35,
990
+ color=[102, 178, 255]),
991
+ 36:
992
+ dict(
993
+ link=('left_middle_finger1', 'left_middle_finger2'),
994
+ id=36,
995
+ color=[102, 178, 255]),
996
+ 37:
997
+ dict(
998
+ link=('left_middle_finger2', 'left_middle_finger3'),
999
+ id=37,
1000
+ color=[102, 178, 255]),
1001
+ 38:
1002
+ dict(
1003
+ link=('left_middle_finger3', 'left_middle_finger4'),
1004
+ id=38,
1005
+ color=[102, 178, 255]),
1006
+ 39:
1007
+ dict(
1008
+ link=('left_wrist', 'left_ring_finger1'),
1009
+ id=39,
1010
+ color=[255, 51, 51]),
1011
+ 40:
1012
+ dict(
1013
+ link=('left_ring_finger1', 'left_ring_finger2'),
1014
+ id=40,
1015
+ color=[255, 51, 51]),
1016
+ 41:
1017
+ dict(
1018
+ link=('left_ring_finger2', 'left_ring_finger3'),
1019
+ id=41,
1020
+ color=[255, 51, 51]),
1021
+ 42:
1022
+ dict(
1023
+ link=('left_ring_finger3', 'left_ring_finger4'),
1024
+ id=42,
1025
+ color=[255, 51, 51]),
1026
+ 43:
1027
+ dict(
1028
+ link=('left_wrist', 'left_pinky_finger1'),
1029
+ id=43,
1030
+ color=[0, 255, 0]),
1031
+ 44:
1032
+ dict(
1033
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
1034
+ id=44,
1035
+ color=[0, 255, 0]),
1036
+ 45:
1037
+ dict(
1038
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
1039
+ id=45,
1040
+ color=[0, 255, 0]),
1041
+ 46:
1042
+ dict(
1043
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
1044
+ id=46,
1045
+ color=[0, 255, 0]),
1046
+ 47:
1047
+ dict(link=('right_wrist', 'right_thumb1'), id=47, color=[255, 128, 0]),
1048
+ 48:
1049
+ dict(
1050
+ link=('right_thumb1', 'right_thumb2'), id=48, color=[255, 128, 0]),
1051
+ 49:
1052
+ dict(
1053
+ link=('right_thumb2', 'right_thumb3'), id=49, color=[255, 128, 0]),
1054
+ 50:
1055
+ dict(
1056
+ link=('right_thumb3', 'right_thumb4'), id=50, color=[255, 128, 0]),
1057
+ 51:
1058
+ dict(
1059
+ link=('right_wrist', 'right_forefinger1'),
1060
+ id=51,
1061
+ color=[255, 153, 255]),
1062
+ 52:
1063
+ dict(
1064
+ link=('right_forefinger1', 'right_forefinger2'),
1065
+ id=52,
1066
+ color=[255, 153, 255]),
1067
+ 53:
1068
+ dict(
1069
+ link=('right_forefinger2', 'right_forefinger3'),
1070
+ id=53,
1071
+ color=[255, 153, 255]),
1072
+ 54:
1073
+ dict(
1074
+ link=('right_forefinger3', 'right_forefinger4'),
1075
+ id=54,
1076
+ color=[255, 153, 255]),
1077
+ 55:
1078
+ dict(
1079
+ link=('right_wrist', 'right_middle_finger1'),
1080
+ id=55,
1081
+ color=[102, 178, 255]),
1082
+ 56:
1083
+ dict(
1084
+ link=('right_middle_finger1', 'right_middle_finger2'),
1085
+ id=56,
1086
+ color=[102, 178, 255]),
1087
+ 57:
1088
+ dict(
1089
+ link=('right_middle_finger2', 'right_middle_finger3'),
1090
+ id=57,
1091
+ color=[102, 178, 255]),
1092
+ 58:
1093
+ dict(
1094
+ link=('right_middle_finger3', 'right_middle_finger4'),
1095
+ id=58,
1096
+ color=[102, 178, 255]),
1097
+ 59:
1098
+ dict(
1099
+ link=('right_wrist', 'right_ring_finger1'),
1100
+ id=59,
1101
+ color=[255, 51, 51]),
1102
+ 60:
1103
+ dict(
1104
+ link=('right_ring_finger1', 'right_ring_finger2'),
1105
+ id=60,
1106
+ color=[255, 51, 51]),
1107
+ 61:
1108
+ dict(
1109
+ link=('right_ring_finger2', 'right_ring_finger3'),
1110
+ id=61,
1111
+ color=[255, 51, 51]),
1112
+ 62:
1113
+ dict(
1114
+ link=('right_ring_finger3', 'right_ring_finger4'),
1115
+ id=62,
1116
+ color=[255, 51, 51]),
1117
+ 63:
1118
+ dict(
1119
+ link=('right_wrist', 'right_pinky_finger1'),
1120
+ id=63,
1121
+ color=[0, 255, 0]),
1122
+ 64:
1123
+ dict(
1124
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
1125
+ id=64,
1126
+ color=[0, 255, 0]),
1127
+ 65:
1128
+ dict(
1129
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
1130
+ id=65,
1131
+ color=[0, 255, 0]),
1132
+ 66:
1133
+ dict(
1134
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
1135
+ id=66,
1136
+ color=[0, 255, 0])
1137
+ },
1138
+ joint_weights=[1.] * 136,
1139
+
1140
+ # 'https://github.com/Fang-Haoshu/Halpe-FullBody/blob/master/'
1141
+ # 'HalpeCOCOAPI/PythonAPI/halpecocotools/cocoeval.py#L245'
1142
+ sigmas=[
1143
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
1144
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.08, 0.08, 0.08,
1145
+ 0.089, 0.089, 0.089, 0.089, 0.089, 0.089, 0.015, 0.015, 0.015, 0.015,
1146
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1147
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1148
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1149
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1150
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1151
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1152
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1153
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1154
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1155
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015,
1156
+ 0.015, 0.015, 0.015, 0.015, 0.015, 0.015
1157
+ ])
configs/_base_/datasets/halpe26.py ADDED
@@ -0,0 +1,274 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='halpe26',
3
+ paper_info=dict(
4
+ author='Li, Yong-Lu and Xu, Liang and Liu, Xinpeng and Huang, Xijie'
5
+ ' and Xu, Yue and Wang, Shiyi and Fang, Hao-Shu'
6
+ ' and Ma, Ze and Chen, Mingyang and Lu, Cewu',
7
+ title='PaStaNet: Toward Human Activity Knowledge Engine',
8
+ container='CVPR',
9
+ year='2020',
10
+ homepage='https://github.com/Fang-Haoshu/Halpe-FullBody/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
15
+ 1:
16
+ dict(
17
+ name='left_eye',
18
+ id=1,
19
+ color=[51, 153, 255],
20
+ type='upper',
21
+ swap='right_eye'),
22
+ 2:
23
+ dict(
24
+ name='right_eye',
25
+ id=2,
26
+ color=[51, 153, 255],
27
+ type='upper',
28
+ swap='left_eye'),
29
+ 3:
30
+ dict(
31
+ name='left_ear',
32
+ id=3,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='right_ear'),
36
+ 4:
37
+ dict(
38
+ name='right_ear',
39
+ id=4,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='left_ear'),
43
+ 5:
44
+ dict(
45
+ name='left_shoulder',
46
+ id=5,
47
+ color=[0, 255, 0],
48
+ type='upper',
49
+ swap='right_shoulder'),
50
+ 6:
51
+ dict(
52
+ name='right_shoulder',
53
+ id=6,
54
+ color=[255, 128, 0],
55
+ type='upper',
56
+ swap='left_shoulder'),
57
+ 7:
58
+ dict(
59
+ name='left_elbow',
60
+ id=7,
61
+ color=[0, 255, 0],
62
+ type='upper',
63
+ swap='right_elbow'),
64
+ 8:
65
+ dict(
66
+ name='right_elbow',
67
+ id=8,
68
+ color=[255, 128, 0],
69
+ type='upper',
70
+ swap='left_elbow'),
71
+ 9:
72
+ dict(
73
+ name='left_wrist',
74
+ id=9,
75
+ color=[0, 255, 0],
76
+ type='upper',
77
+ swap='right_wrist'),
78
+ 10:
79
+ dict(
80
+ name='right_wrist',
81
+ id=10,
82
+ color=[255, 128, 0],
83
+ type='upper',
84
+ swap='left_wrist'),
85
+ 11:
86
+ dict(
87
+ name='left_hip',
88
+ id=11,
89
+ color=[0, 255, 0],
90
+ type='lower',
91
+ swap='right_hip'),
92
+ 12:
93
+ dict(
94
+ name='right_hip',
95
+ id=12,
96
+ color=[255, 128, 0],
97
+ type='lower',
98
+ swap='left_hip'),
99
+ 13:
100
+ dict(
101
+ name='left_knee',
102
+ id=13,
103
+ color=[0, 255, 0],
104
+ type='lower',
105
+ swap='right_knee'),
106
+ 14:
107
+ dict(
108
+ name='right_knee',
109
+ id=14,
110
+ color=[255, 128, 0],
111
+ type='lower',
112
+ swap='left_knee'),
113
+ 15:
114
+ dict(
115
+ name='left_ankle',
116
+ id=15,
117
+ color=[0, 255, 0],
118
+ type='lower',
119
+ swap='right_ankle'),
120
+ 16:
121
+ dict(
122
+ name='right_ankle',
123
+ id=16,
124
+ color=[255, 128, 0],
125
+ type='lower',
126
+ swap='left_ankle'),
127
+ 17:
128
+ dict(name='head', id=17, color=[255, 128, 0], type='upper', swap=''),
129
+ 18:
130
+ dict(name='neck', id=18, color=[255, 128, 0], type='upper', swap=''),
131
+ 19:
132
+ dict(name='hip', id=19, color=[255, 128, 0], type='lower', swap=''),
133
+ 20:
134
+ dict(
135
+ name='left_big_toe',
136
+ id=20,
137
+ color=[255, 128, 0],
138
+ type='lower',
139
+ swap='right_big_toe'),
140
+ 21:
141
+ dict(
142
+ name='right_big_toe',
143
+ id=21,
144
+ color=[255, 128, 0],
145
+ type='lower',
146
+ swap='left_big_toe'),
147
+ 22:
148
+ dict(
149
+ name='left_small_toe',
150
+ id=22,
151
+ color=[255, 128, 0],
152
+ type='lower',
153
+ swap='right_small_toe'),
154
+ 23:
155
+ dict(
156
+ name='right_small_toe',
157
+ id=23,
158
+ color=[255, 128, 0],
159
+ type='lower',
160
+ swap='left_small_toe'),
161
+ 24:
162
+ dict(
163
+ name='left_heel',
164
+ id=24,
165
+ color=[255, 128, 0],
166
+ type='lower',
167
+ swap='right_heel'),
168
+ 25:
169
+ dict(
170
+ name='right_heel',
171
+ id=25,
172
+ color=[255, 128, 0],
173
+ type='lower',
174
+ swap='left_heel')
175
+ },
176
+ skeleton_info={
177
+ 0:
178
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
179
+ 1:
180
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
181
+ 2:
182
+ dict(link=('left_hip', 'hip'), id=2, color=[0, 255, 0]),
183
+ 3:
184
+ dict(link=('right_ankle', 'right_knee'), id=3, color=[255, 128, 0]),
185
+ 4:
186
+ dict(link=('right_knee', 'right_hip'), id=4, color=[255, 128, 0]),
187
+ 5:
188
+ dict(link=('right_hip', 'hip'), id=5, color=[255, 128, 0]),
189
+ 6:
190
+ dict(link=('head', 'neck'), id=6, color=[51, 153, 255]),
191
+ 7:
192
+ dict(link=('neck', 'hip'), id=7, color=[51, 153, 255]),
193
+ 8:
194
+ dict(link=('neck', 'left_shoulder'), id=8, color=[0, 255, 0]),
195
+ 9:
196
+ dict(link=('left_shoulder', 'left_elbow'), id=9, color=[0, 255, 0]),
197
+ 10:
198
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
199
+ 11:
200
+ dict(link=('neck', 'right_shoulder'), id=11, color=[255, 128, 0]),
201
+ 12:
202
+ dict(
203
+ link=('right_shoulder', 'right_elbow'), id=12, color=[255, 128,
204
+ 0]),
205
+ 13:
206
+ dict(link=('right_elbow', 'right_wrist'), id=13, color=[255, 128, 0]),
207
+ 14:
208
+ dict(link=('left_eye', 'right_eye'), id=14, color=[51, 153, 255]),
209
+ 15:
210
+ dict(link=('nose', 'left_eye'), id=15, color=[51, 153, 255]),
211
+ 16:
212
+ dict(link=('nose', 'right_eye'), id=16, color=[51, 153, 255]),
213
+ 17:
214
+ dict(link=('left_eye', 'left_ear'), id=17, color=[51, 153, 255]),
215
+ 18:
216
+ dict(link=('right_eye', 'right_ear'), id=18, color=[51, 153, 255]),
217
+ 19:
218
+ dict(link=('left_ear', 'left_shoulder'), id=19, color=[51, 153, 255]),
219
+ 20:
220
+ dict(
221
+ link=('right_ear', 'right_shoulder'), id=20, color=[51, 153, 255]),
222
+ 21:
223
+ dict(link=('left_ankle', 'left_big_toe'), id=21, color=[0, 255, 0]),
224
+ 22:
225
+ dict(link=('left_ankle', 'left_small_toe'), id=22, color=[0, 255, 0]),
226
+ 23:
227
+ dict(link=('left_ankle', 'left_heel'), id=23, color=[0, 255, 0]),
228
+ 24:
229
+ dict(
230
+ link=('right_ankle', 'right_big_toe'), id=24, color=[255, 128, 0]),
231
+ 25:
232
+ dict(
233
+ link=('right_ankle', 'right_small_toe'),
234
+ id=25,
235
+ color=[255, 128, 0]),
236
+ 26:
237
+ dict(link=('right_ankle', 'right_heel'), id=26, color=[255, 128, 0]),
238
+ },
239
+ # the joint_weights is modified by MMPose Team
240
+ joint_weights=[
241
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
242
+ 1.5
243
+ ] + [1., 1., 1.2] + [1.5] * 6,
244
+
245
+ # 'https://github.com/Fang-Haoshu/Halpe-FullBody/blob/master/'
246
+ # 'HalpeCOCOAPI/PythonAPI/halpecocotools/cocoeval.py#L245'
247
+ sigmas=[
248
+ 0.026,
249
+ 0.025,
250
+ 0.025,
251
+ 0.035,
252
+ 0.035,
253
+ 0.079,
254
+ 0.079,
255
+ 0.072,
256
+ 0.072,
257
+ 0.062,
258
+ 0.062,
259
+ 0.107,
260
+ 0.107,
261
+ 0.087,
262
+ 0.087,
263
+ 0.089,
264
+ 0.089,
265
+ 0.026,
266
+ 0.026,
267
+ 0.066,
268
+ 0.079,
269
+ 0.079,
270
+ 0.079,
271
+ 0.079,
272
+ 0.079,
273
+ 0.079,
274
+ ])
configs/_base_/datasets/horse10.py ADDED
@@ -0,0 +1,201 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='horse10',
3
+ paper_info=dict(
4
+ author='Mathis, Alexander and Biasi, Thomas and '
5
+ 'Schneider, Steffen and '
6
+ 'Yuksekgonul, Mert and Rogers, Byron and '
7
+ 'Bethge, Matthias and '
8
+ 'Mathis, Mackenzie W',
9
+ title='Pretraining boosts out-of-domain robustness '
10
+ 'for pose estimation',
11
+ container='Proceedings of the IEEE/CVF Winter Conference on '
12
+ 'Applications of Computer Vision',
13
+ year='2021',
14
+ homepage='http://www.mackenziemathislab.org/horse10',
15
+ ),
16
+ keypoint_info={
17
+ 0:
18
+ dict(name='Nose', id=0, color=[255, 153, 255], type='upper', swap=''),
19
+ 1:
20
+ dict(name='Eye', id=1, color=[255, 153, 255], type='upper', swap=''),
21
+ 2:
22
+ dict(
23
+ name='Nearknee',
24
+ id=2,
25
+ color=[255, 102, 255],
26
+ type='upper',
27
+ swap=''),
28
+ 3:
29
+ dict(
30
+ name='Nearfrontfetlock',
31
+ id=3,
32
+ color=[255, 102, 255],
33
+ type='upper',
34
+ swap=''),
35
+ 4:
36
+ dict(
37
+ name='Nearfrontfoot',
38
+ id=4,
39
+ color=[255, 102, 255],
40
+ type='upper',
41
+ swap=''),
42
+ 5:
43
+ dict(
44
+ name='Offknee', id=5, color=[255, 102, 255], type='upper',
45
+ swap=''),
46
+ 6:
47
+ dict(
48
+ name='Offfrontfetlock',
49
+ id=6,
50
+ color=[255, 102, 255],
51
+ type='upper',
52
+ swap=''),
53
+ 7:
54
+ dict(
55
+ name='Offfrontfoot',
56
+ id=7,
57
+ color=[255, 102, 255],
58
+ type='upper',
59
+ swap=''),
60
+ 8:
61
+ dict(
62
+ name='Shoulder',
63
+ id=8,
64
+ color=[255, 153, 255],
65
+ type='upper',
66
+ swap=''),
67
+ 9:
68
+ dict(
69
+ name='Midshoulder',
70
+ id=9,
71
+ color=[255, 153, 255],
72
+ type='upper',
73
+ swap=''),
74
+ 10:
75
+ dict(
76
+ name='Elbow', id=10, color=[255, 153, 255], type='upper', swap=''),
77
+ 11:
78
+ dict(
79
+ name='Girth', id=11, color=[255, 153, 255], type='upper', swap=''),
80
+ 12:
81
+ dict(
82
+ name='Wither', id=12, color=[255, 153, 255], type='upper',
83
+ swap=''),
84
+ 13:
85
+ dict(
86
+ name='Nearhindhock',
87
+ id=13,
88
+ color=[255, 51, 255],
89
+ type='lower',
90
+ swap=''),
91
+ 14:
92
+ dict(
93
+ name='Nearhindfetlock',
94
+ id=14,
95
+ color=[255, 51, 255],
96
+ type='lower',
97
+ swap=''),
98
+ 15:
99
+ dict(
100
+ name='Nearhindfoot',
101
+ id=15,
102
+ color=[255, 51, 255],
103
+ type='lower',
104
+ swap=''),
105
+ 16:
106
+ dict(name='Hip', id=16, color=[255, 153, 255], type='lower', swap=''),
107
+ 17:
108
+ dict(
109
+ name='Stifle', id=17, color=[255, 153, 255], type='lower',
110
+ swap=''),
111
+ 18:
112
+ dict(
113
+ name='Offhindhock',
114
+ id=18,
115
+ color=[255, 51, 255],
116
+ type='lower',
117
+ swap=''),
118
+ 19:
119
+ dict(
120
+ name='Offhindfetlock',
121
+ id=19,
122
+ color=[255, 51, 255],
123
+ type='lower',
124
+ swap=''),
125
+ 20:
126
+ dict(
127
+ name='Offhindfoot',
128
+ id=20,
129
+ color=[255, 51, 255],
130
+ type='lower',
131
+ swap=''),
132
+ 21:
133
+ dict(
134
+ name='Ischium',
135
+ id=21,
136
+ color=[255, 153, 255],
137
+ type='lower',
138
+ swap='')
139
+ },
140
+ skeleton_info={
141
+ 0:
142
+ dict(link=('Nose', 'Eye'), id=0, color=[255, 153, 255]),
143
+ 1:
144
+ dict(link=('Eye', 'Wither'), id=1, color=[255, 153, 255]),
145
+ 2:
146
+ dict(link=('Wither', 'Hip'), id=2, color=[255, 153, 255]),
147
+ 3:
148
+ dict(link=('Hip', 'Ischium'), id=3, color=[255, 153, 255]),
149
+ 4:
150
+ dict(link=('Ischium', 'Stifle'), id=4, color=[255, 153, 255]),
151
+ 5:
152
+ dict(link=('Stifle', 'Girth'), id=5, color=[255, 153, 255]),
153
+ 6:
154
+ dict(link=('Girth', 'Elbow'), id=6, color=[255, 153, 255]),
155
+ 7:
156
+ dict(link=('Elbow', 'Shoulder'), id=7, color=[255, 153, 255]),
157
+ 8:
158
+ dict(link=('Shoulder', 'Midshoulder'), id=8, color=[255, 153, 255]),
159
+ 9:
160
+ dict(link=('Midshoulder', 'Wither'), id=9, color=[255, 153, 255]),
161
+ 10:
162
+ dict(
163
+ link=('Nearknee', 'Nearfrontfetlock'),
164
+ id=10,
165
+ color=[255, 102, 255]),
166
+ 11:
167
+ dict(
168
+ link=('Nearfrontfetlock', 'Nearfrontfoot'),
169
+ id=11,
170
+ color=[255, 102, 255]),
171
+ 12:
172
+ dict(
173
+ link=('Offknee', 'Offfrontfetlock'), id=12, color=[255, 102, 255]),
174
+ 13:
175
+ dict(
176
+ link=('Offfrontfetlock', 'Offfrontfoot'),
177
+ id=13,
178
+ color=[255, 102, 255]),
179
+ 14:
180
+ dict(
181
+ link=('Nearhindhock', 'Nearhindfetlock'),
182
+ id=14,
183
+ color=[255, 51, 255]),
184
+ 15:
185
+ dict(
186
+ link=('Nearhindfetlock', 'Nearhindfoot'),
187
+ id=15,
188
+ color=[255, 51, 255]),
189
+ 16:
190
+ dict(
191
+ link=('Offhindhock', 'Offhindfetlock'),
192
+ id=16,
193
+ color=[255, 51, 255]),
194
+ 17:
195
+ dict(
196
+ link=('Offhindfetlock', 'Offhindfoot'),
197
+ id=17,
198
+ color=[255, 51, 255])
199
+ },
200
+ joint_weights=[1.] * 22,
201
+ sigmas=[])
configs/_base_/datasets/humanart.py ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='Human-Art',
3
+ paper_info=dict(
4
+ author='Ju, Xuan and Zeng, Ailing and '
5
+ 'Wang, Jianan and Xu, Qiang and Zhang, Lei',
6
+ title='Human-Art: A Versatile Human-Centric Dataset '
7
+ 'Bridging Natural and Artificial Scenes',
8
+ container='Proceedings of the IEEE/CVF Conference on '
9
+ 'Computer Vision and Pattern Recognition',
10
+ year='2023',
11
+ homepage='https://idea-research.github.io/HumanArt/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='left_eye',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap='right_eye'),
23
+ 2:
24
+ dict(
25
+ name='right_eye',
26
+ id=2,
27
+ color=[51, 153, 255],
28
+ type='upper',
29
+ swap='left_eye'),
30
+ 3:
31
+ dict(
32
+ name='left_ear',
33
+ id=3,
34
+ color=[51, 153, 255],
35
+ type='upper',
36
+ swap='right_ear'),
37
+ 4:
38
+ dict(
39
+ name='right_ear',
40
+ id=4,
41
+ color=[51, 153, 255],
42
+ type='upper',
43
+ swap='left_ear'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='right_shoulder',
54
+ id=6,
55
+ color=[255, 128, 0],
56
+ type='upper',
57
+ swap='left_shoulder'),
58
+ 7:
59
+ dict(
60
+ name='left_elbow',
61
+ id=7,
62
+ color=[0, 255, 0],
63
+ type='upper',
64
+ swap='right_elbow'),
65
+ 8:
66
+ dict(
67
+ name='right_elbow',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='upper',
71
+ swap='left_elbow'),
72
+ 9:
73
+ dict(
74
+ name='left_wrist',
75
+ id=9,
76
+ color=[0, 255, 0],
77
+ type='upper',
78
+ swap='right_wrist'),
79
+ 10:
80
+ dict(
81
+ name='right_wrist',
82
+ id=10,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_wrist'),
86
+ 11:
87
+ dict(
88
+ name='left_hip',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_hip'),
93
+ 12:
94
+ dict(
95
+ name='right_hip',
96
+ id=12,
97
+ color=[255, 128, 0],
98
+ type='lower',
99
+ swap='left_hip'),
100
+ 13:
101
+ dict(
102
+ name='left_knee',
103
+ id=13,
104
+ color=[0, 255, 0],
105
+ type='lower',
106
+ swap='right_knee'),
107
+ 14:
108
+ dict(
109
+ name='right_knee',
110
+ id=14,
111
+ color=[255, 128, 0],
112
+ type='lower',
113
+ swap='left_knee'),
114
+ 15:
115
+ dict(
116
+ name='left_ankle',
117
+ id=15,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='right_ankle'),
121
+ 16:
122
+ dict(
123
+ name='right_ankle',
124
+ id=16,
125
+ color=[255, 128, 0],
126
+ type='lower',
127
+ swap='left_ankle')
128
+ },
129
+ skeleton_info={
130
+ 0:
131
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
132
+ 1:
133
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
134
+ 2:
135
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
136
+ 3:
137
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
138
+ 4:
139
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
140
+ 5:
141
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
142
+ 6:
143
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
144
+ 7:
145
+ dict(
146
+ link=('left_shoulder', 'right_shoulder'),
147
+ id=7,
148
+ color=[51, 153, 255]),
149
+ 8:
150
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
151
+ 9:
152
+ dict(
153
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
154
+ 10:
155
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
156
+ 11:
157
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
158
+ 12:
159
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
160
+ 13:
161
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
162
+ 14:
163
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
164
+ 15:
165
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
166
+ 16:
167
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
168
+ 17:
169
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
170
+ 18:
171
+ dict(
172
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
173
+ },
174
+ joint_weights=[
175
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
176
+ 1.5
177
+ ],
178
+ sigmas=[
179
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
180
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
181
+ ])
configs/_base_/datasets/humanart21.py ADDED
@@ -0,0 +1,218 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='Human-Art',
3
+ paper_info=dict(
4
+ author='Ju, Xuan and Zeng, Ailing and '
5
+ 'Wang, Jianan and Xu, Qiang and Zhang, Lei',
6
+ title='Human-Art: A Versatile Human-Centric Dataset '
7
+ 'Bridging Natural and Artificial Scenes',
8
+ container='Proceedings of the IEEE/CVF Conference on '
9
+ 'Computer Vision and Pattern Recognition',
10
+ year='2023',
11
+ homepage='https://idea-research.github.io/HumanArt/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='left_eye',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap='right_eye'),
23
+ 2:
24
+ dict(
25
+ name='right_eye',
26
+ id=2,
27
+ color=[51, 153, 255],
28
+ type='upper',
29
+ swap='left_eye'),
30
+ 3:
31
+ dict(
32
+ name='left_ear',
33
+ id=3,
34
+ color=[51, 153, 255],
35
+ type='upper',
36
+ swap='right_ear'),
37
+ 4:
38
+ dict(
39
+ name='right_ear',
40
+ id=4,
41
+ color=[51, 153, 255],
42
+ type='upper',
43
+ swap='left_ear'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='right_shoulder',
54
+ id=6,
55
+ color=[255, 128, 0],
56
+ type='upper',
57
+ swap='left_shoulder'),
58
+ 7:
59
+ dict(
60
+ name='left_elbow',
61
+ id=7,
62
+ color=[0, 255, 0],
63
+ type='upper',
64
+ swap='right_elbow'),
65
+ 8:
66
+ dict(
67
+ name='right_elbow',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='upper',
71
+ swap='left_elbow'),
72
+ 9:
73
+ dict(
74
+ name='left_wrist',
75
+ id=9,
76
+ color=[0, 255, 0],
77
+ type='upper',
78
+ swap='right_wrist'),
79
+ 10:
80
+ dict(
81
+ name='right_wrist',
82
+ id=10,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_wrist'),
86
+ 11:
87
+ dict(
88
+ name='left_hip',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_hip'),
93
+ 12:
94
+ dict(
95
+ name='right_hip',
96
+ id=12,
97
+ color=[255, 128, 0],
98
+ type='lower',
99
+ swap='left_hip'),
100
+ 13:
101
+ dict(
102
+ name='left_knee',
103
+ id=13,
104
+ color=[0, 255, 0],
105
+ type='lower',
106
+ swap='right_knee'),
107
+ 14:
108
+ dict(
109
+ name='right_knee',
110
+ id=14,
111
+ color=[255, 128, 0],
112
+ type='lower',
113
+ swap='left_knee'),
114
+ 15:
115
+ dict(
116
+ name='left_ankle',
117
+ id=15,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='right_ankle'),
121
+ 16:
122
+ dict(
123
+ name='right_ankle',
124
+ id=16,
125
+ color=[255, 128, 0],
126
+ type='lower',
127
+ swap='left_ankle'),
128
+ 17:
129
+ dict(
130
+ name='left_finger',
131
+ id=17,
132
+ color=[0, 255, 0],
133
+ type='lower',
134
+ swap='right_finger'),
135
+ 18:
136
+ dict(
137
+ name='right_finger',
138
+ id=18,
139
+ color=[255, 128, 0],
140
+ type='lower',
141
+ swap='left_finger'),
142
+ 19:
143
+ dict(
144
+ name='left_toe',
145
+ id=19,
146
+ color=[0, 255, 0],
147
+ type='lower',
148
+ swap='right_toe'),
149
+ 20:
150
+ dict(
151
+ name='right_toe',
152
+ id=20,
153
+ color=[255, 128, 0],
154
+ type='lower',
155
+ swap='left_toe'),
156
+ },
157
+ skeleton_info={
158
+ 0:
159
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
160
+ 1:
161
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
162
+ 2:
163
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
164
+ 3:
165
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
166
+ 4:
167
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
168
+ 5:
169
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
170
+ 6:
171
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
172
+ 7:
173
+ dict(
174
+ link=('left_shoulder', 'right_shoulder'),
175
+ id=7,
176
+ color=[51, 153, 255]),
177
+ 8:
178
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
179
+ 9:
180
+ dict(
181
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
182
+ 10:
183
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
184
+ 11:
185
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
186
+ 12:
187
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
188
+ 13:
189
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
190
+ 14:
191
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
192
+ 15:
193
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
194
+ 16:
195
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
196
+ 17:
197
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
198
+ 18:
199
+ dict(
200
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
201
+ 19:
202
+ dict(link=('left_ankle', 'left_toe'), id=19, color=[0, 255, 0]),
203
+ 20:
204
+ dict(link=('right_ankle', 'right_toe'), id=20, color=[255, 128, 0]),
205
+ 21:
206
+ dict(link=('left_wrist', 'left_finger'), id=21, color=[0, 255, 0]),
207
+ 22:
208
+ dict(link=('right_wrist', 'right_finger'), id=22, color=[255, 128, 0]),
209
+ },
210
+ joint_weights=[
211
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
212
+ 1.5, 1., 1., 1., 1.
213
+ ],
214
+ sigmas=[
215
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
216
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.089, 0.089, 0.089,
217
+ 0.089
218
+ ])
configs/_base_/datasets/humanart_aic.py ADDED
@@ -0,0 +1,205 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='humanart',
3
+ paper_info=[
4
+ dict(
5
+ author='Ju, Xuan and Zeng, Ailing and '
6
+ 'Wang, Jianan and Xu, Qiang and Zhang, '
7
+ 'Lei',
8
+ title='Human-Art: A Versatile Human-Centric Dataset '
9
+ 'Bridging Natural and Artificial Scenes',
10
+ container='CVPR',
11
+ year='2023',
12
+ homepage='https://idea-research.github.io/HumanArt/',
13
+ ),
14
+ dict(
15
+ author='Wu, Jiahong and Zheng, He and Zhao, Bo and '
16
+ 'Li, Yixin and Yan, Baoming and Liang, Rui and '
17
+ 'Wang, Wenjia and Zhou, Shipei and Lin, Guosen and '
18
+ 'Fu, Yanwei and others',
19
+ title='Ai challenger: A large-scale dataset for going '
20
+ 'deeper in image understanding',
21
+ container='arXiv',
22
+ year='2017',
23
+ homepage='https://github.com/AIChallenger/AI_Challenger_2017',
24
+ ),
25
+ ],
26
+ keypoint_info={
27
+ 0:
28
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
29
+ 1:
30
+ dict(
31
+ name='left_eye',
32
+ id=1,
33
+ color=[51, 153, 255],
34
+ type='upper',
35
+ swap='right_eye'),
36
+ 2:
37
+ dict(
38
+ name='right_eye',
39
+ id=2,
40
+ color=[51, 153, 255],
41
+ type='upper',
42
+ swap='left_eye'),
43
+ 3:
44
+ dict(
45
+ name='left_ear',
46
+ id=3,
47
+ color=[51, 153, 255],
48
+ type='upper',
49
+ swap='right_ear'),
50
+ 4:
51
+ dict(
52
+ name='right_ear',
53
+ id=4,
54
+ color=[51, 153, 255],
55
+ type='upper',
56
+ swap='left_ear'),
57
+ 5:
58
+ dict(
59
+ name='left_shoulder',
60
+ id=5,
61
+ color=[0, 255, 0],
62
+ type='upper',
63
+ swap='right_shoulder'),
64
+ 6:
65
+ dict(
66
+ name='right_shoulder',
67
+ id=6,
68
+ color=[255, 128, 0],
69
+ type='upper',
70
+ swap='left_shoulder'),
71
+ 7:
72
+ dict(
73
+ name='left_elbow',
74
+ id=7,
75
+ color=[0, 255, 0],
76
+ type='upper',
77
+ swap='right_elbow'),
78
+ 8:
79
+ dict(
80
+ name='right_elbow',
81
+ id=8,
82
+ color=[255, 128, 0],
83
+ type='upper',
84
+ swap='left_elbow'),
85
+ 9:
86
+ dict(
87
+ name='left_wrist',
88
+ id=9,
89
+ color=[0, 255, 0],
90
+ type='upper',
91
+ swap='right_wrist'),
92
+ 10:
93
+ dict(
94
+ name='right_wrist',
95
+ id=10,
96
+ color=[255, 128, 0],
97
+ type='upper',
98
+ swap='left_wrist'),
99
+ 11:
100
+ dict(
101
+ name='left_hip',
102
+ id=11,
103
+ color=[0, 255, 0],
104
+ type='lower',
105
+ swap='right_hip'),
106
+ 12:
107
+ dict(
108
+ name='right_hip',
109
+ id=12,
110
+ color=[255, 128, 0],
111
+ type='lower',
112
+ swap='left_hip'),
113
+ 13:
114
+ dict(
115
+ name='left_knee',
116
+ id=13,
117
+ color=[0, 255, 0],
118
+ type='lower',
119
+ swap='right_knee'),
120
+ 14:
121
+ dict(
122
+ name='right_knee',
123
+ id=14,
124
+ color=[255, 128, 0],
125
+ type='lower',
126
+ swap='left_knee'),
127
+ 15:
128
+ dict(
129
+ name='left_ankle',
130
+ id=15,
131
+ color=[0, 255, 0],
132
+ type='lower',
133
+ swap='right_ankle'),
134
+ 16:
135
+ dict(
136
+ name='right_ankle',
137
+ id=16,
138
+ color=[255, 128, 0],
139
+ type='lower',
140
+ swap='left_ankle'),
141
+ 17:
142
+ dict(
143
+ name='head_top',
144
+ id=17,
145
+ color=[51, 153, 255],
146
+ type='upper',
147
+ swap=''),
148
+ 18:
149
+ dict(name='neck', id=18, color=[51, 153, 255], type='upper', swap='')
150
+ },
151
+ skeleton_info={
152
+ 0:
153
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
154
+ 1:
155
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
156
+ 2:
157
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
158
+ 3:
159
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
160
+ 4:
161
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
162
+ 5:
163
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
164
+ 6:
165
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
166
+ 7:
167
+ dict(
168
+ link=('left_shoulder', 'right_shoulder'),
169
+ id=7,
170
+ color=[51, 153, 255]),
171
+ 8:
172
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
173
+ 9:
174
+ dict(
175
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
176
+ 10:
177
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
178
+ 11:
179
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
180
+ 12:
181
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
182
+ 13:
183
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
184
+ 14:
185
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
186
+ 15:
187
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
188
+ 16:
189
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
190
+ 17:
191
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
192
+ 18:
193
+ dict(
194
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255]),
195
+ 19:
196
+ dict(link=('head_top', 'neck'), id=11, color=[51, 153, 255]),
197
+ },
198
+ joint_weights=[
199
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
200
+ 1.5, 1.5
201
+ ],
202
+ sigmas=[
203
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
204
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089, 0.026, 0.026
205
+ ])
configs/_base_/datasets/interhand2d.py ADDED
@@ -0,0 +1,142 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='interhand2d',
3
+ paper_info=dict(
4
+ author='Moon, Gyeongsik and Yu, Shoou-I and Wen, He and '
5
+ 'Shiratori, Takaaki and Lee, Kyoung Mu',
6
+ title='InterHand2.6M: A dataset and baseline for 3D '
7
+ 'interacting hand pose estimation from a single RGB image',
8
+ container='arXiv',
9
+ year='2020',
10
+ homepage='https://mks0601.github.io/InterHand2.6M/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(name='thumb4', id=0, color=[255, 128, 0], type='', swap=''),
15
+ 1:
16
+ dict(name='thumb3', id=1, color=[255, 128, 0], type='', swap=''),
17
+ 2:
18
+ dict(name='thumb2', id=2, color=[255, 128, 0], type='', swap=''),
19
+ 3:
20
+ dict(name='thumb1', id=3, color=[255, 128, 0], type='', swap=''),
21
+ 4:
22
+ dict(
23
+ name='forefinger4', id=4, color=[255, 153, 255], type='', swap=''),
24
+ 5:
25
+ dict(
26
+ name='forefinger3', id=5, color=[255, 153, 255], type='', swap=''),
27
+ 6:
28
+ dict(
29
+ name='forefinger2', id=6, color=[255, 153, 255], type='', swap=''),
30
+ 7:
31
+ dict(
32
+ name='forefinger1', id=7, color=[255, 153, 255], type='', swap=''),
33
+ 8:
34
+ dict(
35
+ name='middle_finger4',
36
+ id=8,
37
+ color=[102, 178, 255],
38
+ type='',
39
+ swap=''),
40
+ 9:
41
+ dict(
42
+ name='middle_finger3',
43
+ id=9,
44
+ color=[102, 178, 255],
45
+ type='',
46
+ swap=''),
47
+ 10:
48
+ dict(
49
+ name='middle_finger2',
50
+ id=10,
51
+ color=[102, 178, 255],
52
+ type='',
53
+ swap=''),
54
+ 11:
55
+ dict(
56
+ name='middle_finger1',
57
+ id=11,
58
+ color=[102, 178, 255],
59
+ type='',
60
+ swap=''),
61
+ 12:
62
+ dict(
63
+ name='ring_finger4', id=12, color=[255, 51, 51], type='', swap=''),
64
+ 13:
65
+ dict(
66
+ name='ring_finger3', id=13, color=[255, 51, 51], type='', swap=''),
67
+ 14:
68
+ dict(
69
+ name='ring_finger2', id=14, color=[255, 51, 51], type='', swap=''),
70
+ 15:
71
+ dict(
72
+ name='ring_finger1', id=15, color=[255, 51, 51], type='', swap=''),
73
+ 16:
74
+ dict(name='pinky_finger4', id=16, color=[0, 255, 0], type='', swap=''),
75
+ 17:
76
+ dict(name='pinky_finger3', id=17, color=[0, 255, 0], type='', swap=''),
77
+ 18:
78
+ dict(name='pinky_finger2', id=18, color=[0, 255, 0], type='', swap=''),
79
+ 19:
80
+ dict(name='pinky_finger1', id=19, color=[0, 255, 0], type='', swap=''),
81
+ 20:
82
+ dict(name='wrist', id=20, color=[255, 255, 255], type='', swap='')
83
+ },
84
+ skeleton_info={
85
+ 0:
86
+ dict(link=('wrist', 'thumb1'), id=0, color=[255, 128, 0]),
87
+ 1:
88
+ dict(link=('thumb1', 'thumb2'), id=1, color=[255, 128, 0]),
89
+ 2:
90
+ dict(link=('thumb2', 'thumb3'), id=2, color=[255, 128, 0]),
91
+ 3:
92
+ dict(link=('thumb3', 'thumb4'), id=3, color=[255, 128, 0]),
93
+ 4:
94
+ dict(link=('wrist', 'forefinger1'), id=4, color=[255, 153, 255]),
95
+ 5:
96
+ dict(link=('forefinger1', 'forefinger2'), id=5, color=[255, 153, 255]),
97
+ 6:
98
+ dict(link=('forefinger2', 'forefinger3'), id=6, color=[255, 153, 255]),
99
+ 7:
100
+ dict(link=('forefinger3', 'forefinger4'), id=7, color=[255, 153, 255]),
101
+ 8:
102
+ dict(link=('wrist', 'middle_finger1'), id=8, color=[102, 178, 255]),
103
+ 9:
104
+ dict(
105
+ link=('middle_finger1', 'middle_finger2'),
106
+ id=9,
107
+ color=[102, 178, 255]),
108
+ 10:
109
+ dict(
110
+ link=('middle_finger2', 'middle_finger3'),
111
+ id=10,
112
+ color=[102, 178, 255]),
113
+ 11:
114
+ dict(
115
+ link=('middle_finger3', 'middle_finger4'),
116
+ id=11,
117
+ color=[102, 178, 255]),
118
+ 12:
119
+ dict(link=('wrist', 'ring_finger1'), id=12, color=[255, 51, 51]),
120
+ 13:
121
+ dict(
122
+ link=('ring_finger1', 'ring_finger2'), id=13, color=[255, 51, 51]),
123
+ 14:
124
+ dict(
125
+ link=('ring_finger2', 'ring_finger3'), id=14, color=[255, 51, 51]),
126
+ 15:
127
+ dict(
128
+ link=('ring_finger3', 'ring_finger4'), id=15, color=[255, 51, 51]),
129
+ 16:
130
+ dict(link=('wrist', 'pinky_finger1'), id=16, color=[0, 255, 0]),
131
+ 17:
132
+ dict(
133
+ link=('pinky_finger1', 'pinky_finger2'), id=17, color=[0, 255, 0]),
134
+ 18:
135
+ dict(
136
+ link=('pinky_finger2', 'pinky_finger3'), id=18, color=[0, 255, 0]),
137
+ 19:
138
+ dict(
139
+ link=('pinky_finger3', 'pinky_finger4'), id=19, color=[0, 255, 0])
140
+ },
141
+ joint_weights=[1.] * 21,
142
+ sigmas=[])
configs/_base_/datasets/interhand3d.py ADDED
@@ -0,0 +1,487 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='interhand3d',
3
+ paper_info=dict(
4
+ author='Moon, Gyeongsik and Yu, Shoou-I and Wen, He and '
5
+ 'Shiratori, Takaaki and Lee, Kyoung Mu',
6
+ title='InterHand2.6M: A dataset and baseline for 3D '
7
+ 'interacting hand pose estimation from a single RGB image',
8
+ container='arXiv',
9
+ year='2020',
10
+ homepage='https://mks0601.github.io/InterHand2.6M/',
11
+ ),
12
+ keypoint_info={
13
+ 0:
14
+ dict(
15
+ name='right_thumb4',
16
+ id=0,
17
+ color=[255, 128, 0],
18
+ type='',
19
+ swap='left_thumb4'),
20
+ 1:
21
+ dict(
22
+ name='right_thumb3',
23
+ id=1,
24
+ color=[255, 128, 0],
25
+ type='',
26
+ swap='left_thumb3'),
27
+ 2:
28
+ dict(
29
+ name='right_thumb2',
30
+ id=2,
31
+ color=[255, 128, 0],
32
+ type='',
33
+ swap='left_thumb2'),
34
+ 3:
35
+ dict(
36
+ name='right_thumb1',
37
+ id=3,
38
+ color=[255, 128, 0],
39
+ type='',
40
+ swap='left_thumb1'),
41
+ 4:
42
+ dict(
43
+ name='right_forefinger4',
44
+ id=4,
45
+ color=[255, 153, 255],
46
+ type='',
47
+ swap='left_forefinger4'),
48
+ 5:
49
+ dict(
50
+ name='right_forefinger3',
51
+ id=5,
52
+ color=[255, 153, 255],
53
+ type='',
54
+ swap='left_forefinger3'),
55
+ 6:
56
+ dict(
57
+ name='right_forefinger2',
58
+ id=6,
59
+ color=[255, 153, 255],
60
+ type='',
61
+ swap='left_forefinger2'),
62
+ 7:
63
+ dict(
64
+ name='right_forefinger1',
65
+ id=7,
66
+ color=[255, 153, 255],
67
+ type='',
68
+ swap='left_forefinger1'),
69
+ 8:
70
+ dict(
71
+ name='right_middle_finger4',
72
+ id=8,
73
+ color=[102, 178, 255],
74
+ type='',
75
+ swap='left_middle_finger4'),
76
+ 9:
77
+ dict(
78
+ name='right_middle_finger3',
79
+ id=9,
80
+ color=[102, 178, 255],
81
+ type='',
82
+ swap='left_middle_finger3'),
83
+ 10:
84
+ dict(
85
+ name='right_middle_finger2',
86
+ id=10,
87
+ color=[102, 178, 255],
88
+ type='',
89
+ swap='left_middle_finger2'),
90
+ 11:
91
+ dict(
92
+ name='right_middle_finger1',
93
+ id=11,
94
+ color=[102, 178, 255],
95
+ type='',
96
+ swap='left_middle_finger1'),
97
+ 12:
98
+ dict(
99
+ name='right_ring_finger4',
100
+ id=12,
101
+ color=[255, 51, 51],
102
+ type='',
103
+ swap='left_ring_finger4'),
104
+ 13:
105
+ dict(
106
+ name='right_ring_finger3',
107
+ id=13,
108
+ color=[255, 51, 51],
109
+ type='',
110
+ swap='left_ring_finger3'),
111
+ 14:
112
+ dict(
113
+ name='right_ring_finger2',
114
+ id=14,
115
+ color=[255, 51, 51],
116
+ type='',
117
+ swap='left_ring_finger2'),
118
+ 15:
119
+ dict(
120
+ name='right_ring_finger1',
121
+ id=15,
122
+ color=[255, 51, 51],
123
+ type='',
124
+ swap='left_ring_finger1'),
125
+ 16:
126
+ dict(
127
+ name='right_pinky_finger4',
128
+ id=16,
129
+ color=[0, 255, 0],
130
+ type='',
131
+ swap='left_pinky_finger4'),
132
+ 17:
133
+ dict(
134
+ name='right_pinky_finger3',
135
+ id=17,
136
+ color=[0, 255, 0],
137
+ type='',
138
+ swap='left_pinky_finger3'),
139
+ 18:
140
+ dict(
141
+ name='right_pinky_finger2',
142
+ id=18,
143
+ color=[0, 255, 0],
144
+ type='',
145
+ swap='left_pinky_finger2'),
146
+ 19:
147
+ dict(
148
+ name='right_pinky_finger1',
149
+ id=19,
150
+ color=[0, 255, 0],
151
+ type='',
152
+ swap='left_pinky_finger1'),
153
+ 20:
154
+ dict(
155
+ name='right_wrist',
156
+ id=20,
157
+ color=[255, 255, 255],
158
+ type='',
159
+ swap='left_wrist'),
160
+ 21:
161
+ dict(
162
+ name='left_thumb4',
163
+ id=21,
164
+ color=[255, 128, 0],
165
+ type='',
166
+ swap='right_thumb4'),
167
+ 22:
168
+ dict(
169
+ name='left_thumb3',
170
+ id=22,
171
+ color=[255, 128, 0],
172
+ type='',
173
+ swap='right_thumb3'),
174
+ 23:
175
+ dict(
176
+ name='left_thumb2',
177
+ id=23,
178
+ color=[255, 128, 0],
179
+ type='',
180
+ swap='right_thumb2'),
181
+ 24:
182
+ dict(
183
+ name='left_thumb1',
184
+ id=24,
185
+ color=[255, 128, 0],
186
+ type='',
187
+ swap='right_thumb1'),
188
+ 25:
189
+ dict(
190
+ name='left_forefinger4',
191
+ id=25,
192
+ color=[255, 153, 255],
193
+ type='',
194
+ swap='right_forefinger4'),
195
+ 26:
196
+ dict(
197
+ name='left_forefinger3',
198
+ id=26,
199
+ color=[255, 153, 255],
200
+ type='',
201
+ swap='right_forefinger3'),
202
+ 27:
203
+ dict(
204
+ name='left_forefinger2',
205
+ id=27,
206
+ color=[255, 153, 255],
207
+ type='',
208
+ swap='right_forefinger2'),
209
+ 28:
210
+ dict(
211
+ name='left_forefinger1',
212
+ id=28,
213
+ color=[255, 153, 255],
214
+ type='',
215
+ swap='right_forefinger1'),
216
+ 29:
217
+ dict(
218
+ name='left_middle_finger4',
219
+ id=29,
220
+ color=[102, 178, 255],
221
+ type='',
222
+ swap='right_middle_finger4'),
223
+ 30:
224
+ dict(
225
+ name='left_middle_finger3',
226
+ id=30,
227
+ color=[102, 178, 255],
228
+ type='',
229
+ swap='right_middle_finger3'),
230
+ 31:
231
+ dict(
232
+ name='left_middle_finger2',
233
+ id=31,
234
+ color=[102, 178, 255],
235
+ type='',
236
+ swap='right_middle_finger2'),
237
+ 32:
238
+ dict(
239
+ name='left_middle_finger1',
240
+ id=32,
241
+ color=[102, 178, 255],
242
+ type='',
243
+ swap='right_middle_finger1'),
244
+ 33:
245
+ dict(
246
+ name='left_ring_finger4',
247
+ id=33,
248
+ color=[255, 51, 51],
249
+ type='',
250
+ swap='right_ring_finger4'),
251
+ 34:
252
+ dict(
253
+ name='left_ring_finger3',
254
+ id=34,
255
+ color=[255, 51, 51],
256
+ type='',
257
+ swap='right_ring_finger3'),
258
+ 35:
259
+ dict(
260
+ name='left_ring_finger2',
261
+ id=35,
262
+ color=[255, 51, 51],
263
+ type='',
264
+ swap='right_ring_finger2'),
265
+ 36:
266
+ dict(
267
+ name='left_ring_finger1',
268
+ id=36,
269
+ color=[255, 51, 51],
270
+ type='',
271
+ swap='right_ring_finger1'),
272
+ 37:
273
+ dict(
274
+ name='left_pinky_finger4',
275
+ id=37,
276
+ color=[0, 255, 0],
277
+ type='',
278
+ swap='right_pinky_finger4'),
279
+ 38:
280
+ dict(
281
+ name='left_pinky_finger3',
282
+ id=38,
283
+ color=[0, 255, 0],
284
+ type='',
285
+ swap='right_pinky_finger3'),
286
+ 39:
287
+ dict(
288
+ name='left_pinky_finger2',
289
+ id=39,
290
+ color=[0, 255, 0],
291
+ type='',
292
+ swap='right_pinky_finger2'),
293
+ 40:
294
+ dict(
295
+ name='left_pinky_finger1',
296
+ id=40,
297
+ color=[0, 255, 0],
298
+ type='',
299
+ swap='right_pinky_finger1'),
300
+ 41:
301
+ dict(
302
+ name='left_wrist',
303
+ id=41,
304
+ color=[255, 255, 255],
305
+ type='',
306
+ swap='right_wrist'),
307
+ },
308
+ skeleton_info={
309
+ 0:
310
+ dict(link=('right_wrist', 'right_thumb1'), id=0, color=[255, 128, 0]),
311
+ 1:
312
+ dict(link=('right_thumb1', 'right_thumb2'), id=1, color=[255, 128, 0]),
313
+ 2:
314
+ dict(link=('right_thumb2', 'right_thumb3'), id=2, color=[255, 128, 0]),
315
+ 3:
316
+ dict(link=('right_thumb3', 'right_thumb4'), id=3, color=[255, 128, 0]),
317
+ 4:
318
+ dict(
319
+ link=('right_wrist', 'right_forefinger1'),
320
+ id=4,
321
+ color=[255, 153, 255]),
322
+ 5:
323
+ dict(
324
+ link=('right_forefinger1', 'right_forefinger2'),
325
+ id=5,
326
+ color=[255, 153, 255]),
327
+ 6:
328
+ dict(
329
+ link=('right_forefinger2', 'right_forefinger3'),
330
+ id=6,
331
+ color=[255, 153, 255]),
332
+ 7:
333
+ dict(
334
+ link=('right_forefinger3', 'right_forefinger4'),
335
+ id=7,
336
+ color=[255, 153, 255]),
337
+ 8:
338
+ dict(
339
+ link=('right_wrist', 'right_middle_finger1'),
340
+ id=8,
341
+ color=[102, 178, 255]),
342
+ 9:
343
+ dict(
344
+ link=('right_middle_finger1', 'right_middle_finger2'),
345
+ id=9,
346
+ color=[102, 178, 255]),
347
+ 10:
348
+ dict(
349
+ link=('right_middle_finger2', 'right_middle_finger3'),
350
+ id=10,
351
+ color=[102, 178, 255]),
352
+ 11:
353
+ dict(
354
+ link=('right_middle_finger3', 'right_middle_finger4'),
355
+ id=11,
356
+ color=[102, 178, 255]),
357
+ 12:
358
+ dict(
359
+ link=('right_wrist', 'right_ring_finger1'),
360
+ id=12,
361
+ color=[255, 51, 51]),
362
+ 13:
363
+ dict(
364
+ link=('right_ring_finger1', 'right_ring_finger2'),
365
+ id=13,
366
+ color=[255, 51, 51]),
367
+ 14:
368
+ dict(
369
+ link=('right_ring_finger2', 'right_ring_finger3'),
370
+ id=14,
371
+ color=[255, 51, 51]),
372
+ 15:
373
+ dict(
374
+ link=('right_ring_finger3', 'right_ring_finger4'),
375
+ id=15,
376
+ color=[255, 51, 51]),
377
+ 16:
378
+ dict(
379
+ link=('right_wrist', 'right_pinky_finger1'),
380
+ id=16,
381
+ color=[0, 255, 0]),
382
+ 17:
383
+ dict(
384
+ link=('right_pinky_finger1', 'right_pinky_finger2'),
385
+ id=17,
386
+ color=[0, 255, 0]),
387
+ 18:
388
+ dict(
389
+ link=('right_pinky_finger2', 'right_pinky_finger3'),
390
+ id=18,
391
+ color=[0, 255, 0]),
392
+ 19:
393
+ dict(
394
+ link=('right_pinky_finger3', 'right_pinky_finger4'),
395
+ id=19,
396
+ color=[0, 255, 0]),
397
+ 20:
398
+ dict(link=('left_wrist', 'left_thumb1'), id=20, color=[255, 128, 0]),
399
+ 21:
400
+ dict(link=('left_thumb1', 'left_thumb2'), id=21, color=[255, 128, 0]),
401
+ 22:
402
+ dict(link=('left_thumb2', 'left_thumb3'), id=22, color=[255, 128, 0]),
403
+ 23:
404
+ dict(link=('left_thumb3', 'left_thumb4'), id=23, color=[255, 128, 0]),
405
+ 24:
406
+ dict(
407
+ link=('left_wrist', 'left_forefinger1'),
408
+ id=24,
409
+ color=[255, 153, 255]),
410
+ 25:
411
+ dict(
412
+ link=('left_forefinger1', 'left_forefinger2'),
413
+ id=25,
414
+ color=[255, 153, 255]),
415
+ 26:
416
+ dict(
417
+ link=('left_forefinger2', 'left_forefinger3'),
418
+ id=26,
419
+ color=[255, 153, 255]),
420
+ 27:
421
+ dict(
422
+ link=('left_forefinger3', 'left_forefinger4'),
423
+ id=27,
424
+ color=[255, 153, 255]),
425
+ 28:
426
+ dict(
427
+ link=('left_wrist', 'left_middle_finger1'),
428
+ id=28,
429
+ color=[102, 178, 255]),
430
+ 29:
431
+ dict(
432
+ link=('left_middle_finger1', 'left_middle_finger2'),
433
+ id=29,
434
+ color=[102, 178, 255]),
435
+ 30:
436
+ dict(
437
+ link=('left_middle_finger2', 'left_middle_finger3'),
438
+ id=30,
439
+ color=[102, 178, 255]),
440
+ 31:
441
+ dict(
442
+ link=('left_middle_finger3', 'left_middle_finger4'),
443
+ id=31,
444
+ color=[102, 178, 255]),
445
+ 32:
446
+ dict(
447
+ link=('left_wrist', 'left_ring_finger1'),
448
+ id=32,
449
+ color=[255, 51, 51]),
450
+ 33:
451
+ dict(
452
+ link=('left_ring_finger1', 'left_ring_finger2'),
453
+ id=33,
454
+ color=[255, 51, 51]),
455
+ 34:
456
+ dict(
457
+ link=('left_ring_finger2', 'left_ring_finger3'),
458
+ id=34,
459
+ color=[255, 51, 51]),
460
+ 35:
461
+ dict(
462
+ link=('left_ring_finger3', 'left_ring_finger4'),
463
+ id=35,
464
+ color=[255, 51, 51]),
465
+ 36:
466
+ dict(
467
+ link=('left_wrist', 'left_pinky_finger1'),
468
+ id=36,
469
+ color=[0, 255, 0]),
470
+ 37:
471
+ dict(
472
+ link=('left_pinky_finger1', 'left_pinky_finger2'),
473
+ id=37,
474
+ color=[0, 255, 0]),
475
+ 38:
476
+ dict(
477
+ link=('left_pinky_finger2', 'left_pinky_finger3'),
478
+ id=38,
479
+ color=[0, 255, 0]),
480
+ 39:
481
+ dict(
482
+ link=('left_pinky_finger3', 'left_pinky_finger4'),
483
+ id=39,
484
+ color=[0, 255, 0]),
485
+ },
486
+ joint_weights=[1.] * 42,
487
+ sigmas=[])
configs/_base_/datasets/jhmdb.py ADDED
@@ -0,0 +1,129 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='jhmdb',
3
+ paper_info=dict(
4
+ author='H. Jhuang and J. Gall and S. Zuffi and '
5
+ 'C. Schmid and M. J. Black',
6
+ title='Towards understanding action recognition',
7
+ container='International Conf. on Computer Vision (ICCV)',
8
+ year='2013',
9
+ homepage='http://jhmdb.is.tue.mpg.de/dataset',
10
+ ),
11
+ keypoint_info={
12
+ 0:
13
+ dict(name='neck', id=0, color=[255, 128, 0], type='upper', swap=''),
14
+ 1:
15
+ dict(name='belly', id=1, color=[255, 128, 0], type='upper', swap=''),
16
+ 2:
17
+ dict(name='head', id=2, color=[255, 128, 0], type='upper', swap=''),
18
+ 3:
19
+ dict(
20
+ name='right_shoulder',
21
+ id=3,
22
+ color=[0, 255, 0],
23
+ type='upper',
24
+ swap='left_shoulder'),
25
+ 4:
26
+ dict(
27
+ name='left_shoulder',
28
+ id=4,
29
+ color=[0, 255, 0],
30
+ type='upper',
31
+ swap='right_shoulder'),
32
+ 5:
33
+ dict(
34
+ name='right_hip',
35
+ id=5,
36
+ color=[0, 255, 0],
37
+ type='lower',
38
+ swap='left_hip'),
39
+ 6:
40
+ dict(
41
+ name='left_hip',
42
+ id=6,
43
+ color=[51, 153, 255],
44
+ type='lower',
45
+ swap='right_hip'),
46
+ 7:
47
+ dict(
48
+ name='right_elbow',
49
+ id=7,
50
+ color=[51, 153, 255],
51
+ type='upper',
52
+ swap='left_elbow'),
53
+ 8:
54
+ dict(
55
+ name='left_elbow',
56
+ id=8,
57
+ color=[51, 153, 255],
58
+ type='upper',
59
+ swap='right_elbow'),
60
+ 9:
61
+ dict(
62
+ name='right_knee',
63
+ id=9,
64
+ color=[51, 153, 255],
65
+ type='lower',
66
+ swap='left_knee'),
67
+ 10:
68
+ dict(
69
+ name='left_knee',
70
+ id=10,
71
+ color=[255, 128, 0],
72
+ type='lower',
73
+ swap='right_knee'),
74
+ 11:
75
+ dict(
76
+ name='right_wrist',
77
+ id=11,
78
+ color=[255, 128, 0],
79
+ type='upper',
80
+ swap='left_wrist'),
81
+ 12:
82
+ dict(
83
+ name='left_wrist',
84
+ id=12,
85
+ color=[255, 128, 0],
86
+ type='upper',
87
+ swap='right_wrist'),
88
+ 13:
89
+ dict(
90
+ name='right_ankle',
91
+ id=13,
92
+ color=[0, 255, 0],
93
+ type='lower',
94
+ swap='left_ankle'),
95
+ 14:
96
+ dict(
97
+ name='left_ankle',
98
+ id=14,
99
+ color=[0, 255, 0],
100
+ type='lower',
101
+ swap='right_ankle')
102
+ },
103
+ skeleton_info={
104
+ 0: dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
105
+ 1: dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
106
+ 2: dict(link=('right_hip', 'belly'), id=2, color=[255, 128, 0]),
107
+ 3: dict(link=('belly', 'left_hip'), id=3, color=[0, 255, 0]),
108
+ 4: dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
109
+ 5: dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
110
+ 6: dict(link=('belly', 'neck'), id=6, color=[51, 153, 255]),
111
+ 7: dict(link=('neck', 'head'), id=7, color=[51, 153, 255]),
112
+ 8: dict(link=('neck', 'right_shoulder'), id=8, color=[255, 128, 0]),
113
+ 9: dict(
114
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
115
+ 10:
116
+ dict(link=('right_elbow', 'right_wrist'), id=10, color=[255, 128, 0]),
117
+ 11: dict(link=('neck', 'left_shoulder'), id=11, color=[0, 255, 0]),
118
+ 12:
119
+ dict(link=('left_shoulder', 'left_elbow'), id=12, color=[0, 255, 0]),
120
+ 13: dict(link=('left_elbow', 'left_wrist'), id=13, color=[0, 255, 0])
121
+ },
122
+ joint_weights=[
123
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.2, 1.2, 1.5, 1.5, 1.5, 1.5
124
+ ],
125
+ # Adapted from COCO dataset.
126
+ sigmas=[
127
+ 0.025, 0.107, 0.025, 0.079, 0.079, 0.107, 0.107, 0.072, 0.072, 0.087,
128
+ 0.087, 0.062, 0.062, 0.089, 0.089
129
+ ])
configs/_base_/datasets/lapa.py ADDED
@@ -0,0 +1,246 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='lapa',
3
+ paper_info=dict(
4
+ author='Liu, Yinglu and Shi, Hailin and Shen, Hao and Si, '
5
+ 'Yue and Wang, Xiaobo and Mei, Tao',
6
+ title='A New Dataset and Boundary-Attention Semantic '
7
+ 'Segmentation for Face Parsing.',
8
+ container='Proceedings of the AAAI Conference on '
9
+ 'Artificial Intelligence 2020',
10
+ year='2020',
11
+ homepage='https://github.com/JDAI-CV/lapa-dataset',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='kpt-0', id=0, color=[255, 0, 0], type='', swap='kpt-32'),
16
+ 1:
17
+ dict(name='kpt-1', id=1, color=[255, 0, 0], type='', swap='kpt-31'),
18
+ 2:
19
+ dict(name='kpt-2', id=2, color=[255, 0, 0], type='', swap='kpt-30'),
20
+ 3:
21
+ dict(name='kpt-3', id=3, color=[255, 0, 0], type='', swap='kpt-29'),
22
+ 4:
23
+ dict(name='kpt-4', id=4, color=[255, 0, 0], type='', swap='kpt-28'),
24
+ 5:
25
+ dict(name='kpt-5', id=5, color=[255, 0, 0], type='', swap='kpt-27'),
26
+ 6:
27
+ dict(name='kpt-6', id=6, color=[255, 0, 0], type='', swap='kpt-26'),
28
+ 7:
29
+ dict(name='kpt-7', id=7, color=[255, 0, 0], type='', swap='kpt-25'),
30
+ 8:
31
+ dict(name='kpt-8', id=8, color=[255, 0, 0], type='', swap='kpt-24'),
32
+ 9:
33
+ dict(name='kpt-9', id=9, color=[255, 0, 0], type='', swap='kpt-23'),
34
+ 10:
35
+ dict(name='kpt-10', id=10, color=[255, 0, 0], type='', swap='kpt-22'),
36
+ 11:
37
+ dict(name='kpt-11', id=11, color=[255, 0, 0], type='', swap='kpt-21'),
38
+ 12:
39
+ dict(name='kpt-12', id=12, color=[255, 0, 0], type='', swap='kpt-20'),
40
+ 13:
41
+ dict(name='kpt-13', id=13, color=[255, 0, 0], type='', swap='kpt-19'),
42
+ 14:
43
+ dict(name='kpt-14', id=14, color=[255, 0, 0], type='', swap='kpt-18'),
44
+ 15:
45
+ dict(name='kpt-15', id=15, color=[255, 0, 0], type='', swap='kpt-17'),
46
+ 16:
47
+ dict(name='kpt-16', id=16, color=[255, 0, 0], type='', swap=''),
48
+ 17:
49
+ dict(name='kpt-17', id=17, color=[255, 0, 0], type='', swap='kpt-15'),
50
+ 18:
51
+ dict(name='kpt-18', id=18, color=[255, 0, 0], type='', swap='kpt-14'),
52
+ 19:
53
+ dict(name='kpt-19', id=19, color=[255, 0, 0], type='', swap='kpt-13'),
54
+ 20:
55
+ dict(name='kpt-20', id=20, color=[255, 0, 0], type='', swap='kpt-12'),
56
+ 21:
57
+ dict(name='kpt-21', id=21, color=[255, 0, 0], type='', swap='kpt-11'),
58
+ 22:
59
+ dict(name='kpt-22', id=22, color=[255, 0, 0], type='', swap='kpt-10'),
60
+ 23:
61
+ dict(name='kpt-23', id=23, color=[255, 0, 0], type='', swap='kpt-9'),
62
+ 24:
63
+ dict(name='kpt-24', id=24, color=[255, 0, 0], type='', swap='kpt-8'),
64
+ 25:
65
+ dict(name='kpt-25', id=25, color=[255, 0, 0], type='', swap='kpt-7'),
66
+ 26:
67
+ dict(name='kpt-26', id=26, color=[255, 0, 0], type='', swap='kpt-6'),
68
+ 27:
69
+ dict(name='kpt-27', id=27, color=[255, 0, 0], type='', swap='kpt-5'),
70
+ 28:
71
+ dict(name='kpt-28', id=28, color=[255, 0, 0], type='', swap='kpt-4'),
72
+ 29:
73
+ dict(name='kpt-29', id=29, color=[255, 0, 0], type='', swap='kpt-3'),
74
+ 30:
75
+ dict(name='kpt-30', id=30, color=[255, 0, 0], type='', swap='kpt-2'),
76
+ 31:
77
+ dict(name='kpt-31', id=31, color=[255, 0, 0], type='', swap='kpt-1'),
78
+ 32:
79
+ dict(name='kpt-32', id=32, color=[255, 0, 0], type='', swap='kpt-0'),
80
+ 33:
81
+ dict(name='kpt-33', id=33, color=[255, 0, 0], type='', swap='kpt-46'),
82
+ 34:
83
+ dict(name='kpt-34', id=34, color=[255, 0, 0], type='', swap='kpt-45'),
84
+ 35:
85
+ dict(name='kpt-35', id=35, color=[255, 0, 0], type='', swap='kpt-44'),
86
+ 36:
87
+ dict(name='kpt-36', id=36, color=[255, 0, 0], type='', swap='kpt-43'),
88
+ 37:
89
+ dict(name='kpt-37', id=37, color=[255, 0, 0], type='', swap='kpt-42'),
90
+ 38:
91
+ dict(name='kpt-38', id=38, color=[255, 0, 0], type='', swap='kpt-50'),
92
+ 39:
93
+ dict(name='kpt-39', id=39, color=[255, 0, 0], type='', swap='kpt-49'),
94
+ 40:
95
+ dict(name='kpt-40', id=40, color=[255, 0, 0], type='', swap='kpt-48'),
96
+ 41:
97
+ dict(name='kpt-41', id=41, color=[255, 0, 0], type='', swap='kpt-47'),
98
+ 42:
99
+ dict(name='kpt-42', id=42, color=[255, 0, 0], type='', swap='kpt-37'),
100
+ 43:
101
+ dict(name='kpt-43', id=43, color=[255, 0, 0], type='', swap='kpt-36'),
102
+ 44:
103
+ dict(name='kpt-44', id=44, color=[255, 0, 0], type='', swap='kpt-35'),
104
+ 45:
105
+ dict(name='kpt-45', id=45, color=[255, 0, 0], type='', swap='kpt-34'),
106
+ 46:
107
+ dict(name='kpt-46', id=46, color=[255, 0, 0], type='', swap='kpt-33'),
108
+ 47:
109
+ dict(name='kpt-47', id=47, color=[255, 0, 0], type='', swap='kpt-41'),
110
+ 48:
111
+ dict(name='kpt-48', id=48, color=[255, 0, 0], type='', swap='kpt-40'),
112
+ 49:
113
+ dict(name='kpt-49', id=49, color=[255, 0, 0], type='', swap='kpt-39'),
114
+ 50:
115
+ dict(name='kpt-50', id=50, color=[255, 0, 0], type='', swap='kpt-38'),
116
+ 51:
117
+ dict(name='kpt-51', id=51, color=[255, 0, 0], type='', swap=''),
118
+ 52:
119
+ dict(name='kpt-52', id=52, color=[255, 0, 0], type='', swap=''),
120
+ 53:
121
+ dict(name='kpt-53', id=53, color=[255, 0, 0], type='', swap=''),
122
+ 54:
123
+ dict(name='kpt-54', id=54, color=[255, 0, 0], type='', swap=''),
124
+ 55:
125
+ dict(name='kpt-55', id=55, color=[255, 0, 0], type='', swap='kpt-65'),
126
+ 56:
127
+ dict(name='kpt-56', id=56, color=[255, 0, 0], type='', swap='kpt-64'),
128
+ 57:
129
+ dict(name='kpt-57', id=57, color=[255, 0, 0], type='', swap='kpt-63'),
130
+ 58:
131
+ dict(name='kpt-58', id=58, color=[255, 0, 0], type='', swap='kpt-62'),
132
+ 59:
133
+ dict(name='kpt-59', id=59, color=[255, 0, 0], type='', swap='kpt-61'),
134
+ 60:
135
+ dict(name='kpt-60', id=60, color=[255, 0, 0], type='', swap=''),
136
+ 61:
137
+ dict(name='kpt-61', id=61, color=[255, 0, 0], type='', swap='kpt-59'),
138
+ 62:
139
+ dict(name='kpt-62', id=62, color=[255, 0, 0], type='', swap='kpt-58'),
140
+ 63:
141
+ dict(name='kpt-63', id=63, color=[255, 0, 0], type='', swap='kpt-57'),
142
+ 64:
143
+ dict(name='kpt-64', id=64, color=[255, 0, 0], type='', swap='kpt-56'),
144
+ 65:
145
+ dict(name='kpt-65', id=65, color=[255, 0, 0], type='', swap='kpt-55'),
146
+ 66:
147
+ dict(name='kpt-66', id=66, color=[255, 0, 0], type='', swap='kpt-79'),
148
+ 67:
149
+ dict(name='kpt-67', id=67, color=[255, 0, 0], type='', swap='kpt-78'),
150
+ 68:
151
+ dict(name='kpt-68', id=68, color=[255, 0, 0], type='', swap='kpt-77'),
152
+ 69:
153
+ dict(name='kpt-69', id=69, color=[255, 0, 0], type='', swap='kpt-76'),
154
+ 70:
155
+ dict(name='kpt-70', id=70, color=[255, 0, 0], type='', swap='kpt-75'),
156
+ 71:
157
+ dict(name='kpt-71', id=71, color=[255, 0, 0], type='', swap='kpt-82'),
158
+ 72:
159
+ dict(name='kpt-72', id=72, color=[255, 0, 0], type='', swap='kpt-81'),
160
+ 73:
161
+ dict(name='kpt-73', id=73, color=[255, 0, 0], type='', swap='kpt-80'),
162
+ 74:
163
+ dict(name='kpt-74', id=74, color=[255, 0, 0], type='', swap='kpt-83'),
164
+ 75:
165
+ dict(name='kpt-75', id=75, color=[255, 0, 0], type='', swap='kpt-70'),
166
+ 76:
167
+ dict(name='kpt-76', id=76, color=[255, 0, 0], type='', swap='kpt-69'),
168
+ 77:
169
+ dict(name='kpt-77', id=77, color=[255, 0, 0], type='', swap='kpt-68'),
170
+ 78:
171
+ dict(name='kpt-78', id=78, color=[255, 0, 0], type='', swap='kpt-67'),
172
+ 79:
173
+ dict(name='kpt-79', id=79, color=[255, 0, 0], type='', swap='kpt-66'),
174
+ 80:
175
+ dict(name='kpt-80', id=80, color=[255, 0, 0], type='', swap='kpt-73'),
176
+ 81:
177
+ dict(name='kpt-81', id=81, color=[255, 0, 0], type='', swap='kpt-72'),
178
+ 82:
179
+ dict(name='kpt-82', id=82, color=[255, 0, 0], type='', swap='kpt-71'),
180
+ 83:
181
+ dict(name='kpt-83', id=83, color=[255, 0, 0], type='', swap='kpt-74'),
182
+ 84:
183
+ dict(name='kpt-84', id=84, color=[255, 0, 0], type='', swap='kpt-90'),
184
+ 85:
185
+ dict(name='kpt-85', id=85, color=[255, 0, 0], type='', swap='kpt-89'),
186
+ 86:
187
+ dict(name='kpt-86', id=86, color=[255, 0, 0], type='', swap='kpt-88'),
188
+ 87:
189
+ dict(name='kpt-87', id=87, color=[255, 0, 0], type='', swap=''),
190
+ 88:
191
+ dict(name='kpt-88', id=88, color=[255, 0, 0], type='', swap='kpt-86'),
192
+ 89:
193
+ dict(name='kpt-89', id=89, color=[255, 0, 0], type='', swap='kpt-85'),
194
+ 90:
195
+ dict(name='kpt-90', id=90, color=[255, 0, 0], type='', swap='kpt-84'),
196
+ 91:
197
+ dict(name='kpt-91', id=91, color=[255, 0, 0], type='', swap='kpt-95'),
198
+ 92:
199
+ dict(name='kpt-92', id=92, color=[255, 0, 0], type='', swap='kpt-94'),
200
+ 93:
201
+ dict(name='kpt-93', id=93, color=[255, 0, 0], type='', swap=''),
202
+ 94:
203
+ dict(name='kpt-94', id=94, color=[255, 0, 0], type='', swap='kpt-92'),
204
+ 95:
205
+ dict(name='kpt-95', id=95, color=[255, 0, 0], type='', swap='kpt-91'),
206
+ 96:
207
+ dict(name='kpt-96', id=96, color=[255, 0, 0], type='', swap='kpt-100'),
208
+ 97:
209
+ dict(name='kpt-97', id=97, color=[255, 0, 0], type='', swap='kpt-99'),
210
+ 98:
211
+ dict(name='kpt-98', id=98, color=[255, 0, 0], type='', swap=''),
212
+ 99:
213
+ dict(name='kpt-99', id=99, color=[255, 0, 0], type='', swap='kpt-97'),
214
+ 100:
215
+ dict(
216
+ name='kpt-100', id=100, color=[255, 0, 0], type='', swap='kpt-96'),
217
+ 101:
218
+ dict(
219
+ name='kpt-101', id=101, color=[255, 0, 0], type='',
220
+ swap='kpt-103'),
221
+ 102:
222
+ dict(name='kpt-102', id=102, color=[255, 0, 0], type='', swap=''),
223
+ 103:
224
+ dict(
225
+ name='kpt-103', id=103, color=[255, 0, 0], type='',
226
+ swap='kpt-101'),
227
+ 104:
228
+ dict(
229
+ name='kpt-104', id=104, color=[255, 0, 0], type='',
230
+ swap='kpt-105'),
231
+ 105:
232
+ dict(
233
+ name='kpt-105', id=105, color=[255, 0, 0], type='', swap='kpt-104')
234
+ },
235
+ skeleton_info={},
236
+ joint_weights=[
237
+ 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
238
+ 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8,
239
+ 0.8, 0.8, 0.8, 0.8, 0.8, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
240
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
241
+ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 2.0, 2.0, 2.0,
242
+ 2.0, 2.0, 2.0, 2.0, 1.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 1.0,
243
+ 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5,
244
+ 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.0, 1.0
245
+ ],
246
+ sigmas=[])
configs/_base_/datasets/locust.py ADDED
@@ -0,0 +1,263 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='locust',
3
+ paper_info=dict(
4
+ author='Graving, Jacob M and Chae, Daniel and Naik, Hemal and '
5
+ 'Li, Liang and Koger, Benjamin and Costelloe, Blair R and '
6
+ 'Couzin, Iain D',
7
+ title='DeepPoseKit, a software toolkit for fast and robust '
8
+ 'animal pose estimation using deep learning',
9
+ container='Elife',
10
+ year='2019',
11
+ homepage='https://github.com/jgraving/DeepPoseKit-Data',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='head', id=0, color=[255, 255, 255], type='', swap=''),
16
+ 1:
17
+ dict(name='neck', id=1, color=[255, 255, 255], type='', swap=''),
18
+ 2:
19
+ dict(name='thorax', id=2, color=[255, 255, 255], type='', swap=''),
20
+ 3:
21
+ dict(name='abdomen1', id=3, color=[255, 255, 255], type='', swap=''),
22
+ 4:
23
+ dict(name='abdomen2', id=4, color=[255, 255, 255], type='', swap=''),
24
+ 5:
25
+ dict(
26
+ name='anttipL',
27
+ id=5,
28
+ color=[255, 255, 255],
29
+ type='',
30
+ swap='anttipR'),
31
+ 6:
32
+ dict(
33
+ name='antbaseL',
34
+ id=6,
35
+ color=[255, 255, 255],
36
+ type='',
37
+ swap='antbaseR'),
38
+ 7:
39
+ dict(name='eyeL', id=7, color=[255, 255, 255], type='', swap='eyeR'),
40
+ 8:
41
+ dict(
42
+ name='forelegL1',
43
+ id=8,
44
+ color=[255, 255, 255],
45
+ type='',
46
+ swap='forelegR1'),
47
+ 9:
48
+ dict(
49
+ name='forelegL2',
50
+ id=9,
51
+ color=[255, 255, 255],
52
+ type='',
53
+ swap='forelegR2'),
54
+ 10:
55
+ dict(
56
+ name='forelegL3',
57
+ id=10,
58
+ color=[255, 255, 255],
59
+ type='',
60
+ swap='forelegR3'),
61
+ 11:
62
+ dict(
63
+ name='forelegL4',
64
+ id=11,
65
+ color=[255, 255, 255],
66
+ type='',
67
+ swap='forelegR4'),
68
+ 12:
69
+ dict(
70
+ name='midlegL1',
71
+ id=12,
72
+ color=[255, 255, 255],
73
+ type='',
74
+ swap='midlegR1'),
75
+ 13:
76
+ dict(
77
+ name='midlegL2',
78
+ id=13,
79
+ color=[255, 255, 255],
80
+ type='',
81
+ swap='midlegR2'),
82
+ 14:
83
+ dict(
84
+ name='midlegL3',
85
+ id=14,
86
+ color=[255, 255, 255],
87
+ type='',
88
+ swap='midlegR3'),
89
+ 15:
90
+ dict(
91
+ name='midlegL4',
92
+ id=15,
93
+ color=[255, 255, 255],
94
+ type='',
95
+ swap='midlegR4'),
96
+ 16:
97
+ dict(
98
+ name='hindlegL1',
99
+ id=16,
100
+ color=[255, 255, 255],
101
+ type='',
102
+ swap='hindlegR1'),
103
+ 17:
104
+ dict(
105
+ name='hindlegL2',
106
+ id=17,
107
+ color=[255, 255, 255],
108
+ type='',
109
+ swap='hindlegR2'),
110
+ 18:
111
+ dict(
112
+ name='hindlegL3',
113
+ id=18,
114
+ color=[255, 255, 255],
115
+ type='',
116
+ swap='hindlegR3'),
117
+ 19:
118
+ dict(
119
+ name='hindlegL4',
120
+ id=19,
121
+ color=[255, 255, 255],
122
+ type='',
123
+ swap='hindlegR4'),
124
+ 20:
125
+ dict(
126
+ name='anttipR',
127
+ id=20,
128
+ color=[255, 255, 255],
129
+ type='',
130
+ swap='anttipL'),
131
+ 21:
132
+ dict(
133
+ name='antbaseR',
134
+ id=21,
135
+ color=[255, 255, 255],
136
+ type='',
137
+ swap='antbaseL'),
138
+ 22:
139
+ dict(name='eyeR', id=22, color=[255, 255, 255], type='', swap='eyeL'),
140
+ 23:
141
+ dict(
142
+ name='forelegR1',
143
+ id=23,
144
+ color=[255, 255, 255],
145
+ type='',
146
+ swap='forelegL1'),
147
+ 24:
148
+ dict(
149
+ name='forelegR2',
150
+ id=24,
151
+ color=[255, 255, 255],
152
+ type='',
153
+ swap='forelegL2'),
154
+ 25:
155
+ dict(
156
+ name='forelegR3',
157
+ id=25,
158
+ color=[255, 255, 255],
159
+ type='',
160
+ swap='forelegL3'),
161
+ 26:
162
+ dict(
163
+ name='forelegR4',
164
+ id=26,
165
+ color=[255, 255, 255],
166
+ type='',
167
+ swap='forelegL4'),
168
+ 27:
169
+ dict(
170
+ name='midlegR1',
171
+ id=27,
172
+ color=[255, 255, 255],
173
+ type='',
174
+ swap='midlegL1'),
175
+ 28:
176
+ dict(
177
+ name='midlegR2',
178
+ id=28,
179
+ color=[255, 255, 255],
180
+ type='',
181
+ swap='midlegL2'),
182
+ 29:
183
+ dict(
184
+ name='midlegR3',
185
+ id=29,
186
+ color=[255, 255, 255],
187
+ type='',
188
+ swap='midlegL3'),
189
+ 30:
190
+ dict(
191
+ name='midlegR4',
192
+ id=30,
193
+ color=[255, 255, 255],
194
+ type='',
195
+ swap='midlegL4'),
196
+ 31:
197
+ dict(
198
+ name='hindlegR1',
199
+ id=31,
200
+ color=[255, 255, 255],
201
+ type='',
202
+ swap='hindlegL1'),
203
+ 32:
204
+ dict(
205
+ name='hindlegR2',
206
+ id=32,
207
+ color=[255, 255, 255],
208
+ type='',
209
+ swap='hindlegL2'),
210
+ 33:
211
+ dict(
212
+ name='hindlegR3',
213
+ id=33,
214
+ color=[255, 255, 255],
215
+ type='',
216
+ swap='hindlegL3'),
217
+ 34:
218
+ dict(
219
+ name='hindlegR4',
220
+ id=34,
221
+ color=[255, 255, 255],
222
+ type='',
223
+ swap='hindlegL4')
224
+ },
225
+ skeleton_info={
226
+ 0: dict(link=('neck', 'head'), id=0, color=[255, 255, 255]),
227
+ 1: dict(link=('thorax', 'neck'), id=1, color=[255, 255, 255]),
228
+ 2: dict(link=('abdomen1', 'thorax'), id=2, color=[255, 255, 255]),
229
+ 3: dict(link=('abdomen2', 'abdomen1'), id=3, color=[255, 255, 255]),
230
+ 4: dict(link=('antbaseL', 'anttipL'), id=4, color=[255, 255, 255]),
231
+ 5: dict(link=('eyeL', 'antbaseL'), id=5, color=[255, 255, 255]),
232
+ 6: dict(link=('forelegL2', 'forelegL1'), id=6, color=[255, 255, 255]),
233
+ 7: dict(link=('forelegL3', 'forelegL2'), id=7, color=[255, 255, 255]),
234
+ 8: dict(link=('forelegL4', 'forelegL3'), id=8, color=[255, 255, 255]),
235
+ 9: dict(link=('midlegL2', 'midlegL1'), id=9, color=[255, 255, 255]),
236
+ 10: dict(link=('midlegL3', 'midlegL2'), id=10, color=[255, 255, 255]),
237
+ 11: dict(link=('midlegL4', 'midlegL3'), id=11, color=[255, 255, 255]),
238
+ 12:
239
+ dict(link=('hindlegL2', 'hindlegL1'), id=12, color=[255, 255, 255]),
240
+ 13:
241
+ dict(link=('hindlegL3', 'hindlegL2'), id=13, color=[255, 255, 255]),
242
+ 14:
243
+ dict(link=('hindlegL4', 'hindlegL3'), id=14, color=[255, 255, 255]),
244
+ 15: dict(link=('antbaseR', 'anttipR'), id=15, color=[255, 255, 255]),
245
+ 16: dict(link=('eyeR', 'antbaseR'), id=16, color=[255, 255, 255]),
246
+ 17:
247
+ dict(link=('forelegR2', 'forelegR1'), id=17, color=[255, 255, 255]),
248
+ 18:
249
+ dict(link=('forelegR3', 'forelegR2'), id=18, color=[255, 255, 255]),
250
+ 19:
251
+ dict(link=('forelegR4', 'forelegR3'), id=19, color=[255, 255, 255]),
252
+ 20: dict(link=('midlegR2', 'midlegR1'), id=20, color=[255, 255, 255]),
253
+ 21: dict(link=('midlegR3', 'midlegR2'), id=21, color=[255, 255, 255]),
254
+ 22: dict(link=('midlegR4', 'midlegR3'), id=22, color=[255, 255, 255]),
255
+ 23:
256
+ dict(link=('hindlegR2', 'hindlegR1'), id=23, color=[255, 255, 255]),
257
+ 24:
258
+ dict(link=('hindlegR3', 'hindlegR2'), id=24, color=[255, 255, 255]),
259
+ 25:
260
+ dict(link=('hindlegR4', 'hindlegR3'), id=25, color=[255, 255, 255])
261
+ },
262
+ joint_weights=[1.] * 35,
263
+ sigmas=[])
configs/_base_/datasets/macaque.py ADDED
@@ -0,0 +1,183 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='macaque',
3
+ paper_info=dict(
4
+ author='Labuguen, Rollyn and Matsumoto, Jumpei and '
5
+ 'Negrete, Salvador and Nishimaru, Hiroshi and '
6
+ 'Nishijo, Hisao and Takada, Masahiko and '
7
+ 'Go, Yasuhiro and Inoue, Ken-ichi and Shibata, Tomohiro',
8
+ title='MacaquePose: A novel "in the wild" macaque monkey pose dataset '
9
+ 'for markerless motion capture',
10
+ container='bioRxiv',
11
+ year='2020',
12
+ homepage='http://www.pri.kyoto-u.ac.jp/datasets/'
13
+ 'macaquepose/index.html',
14
+ ),
15
+ keypoint_info={
16
+ 0:
17
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
18
+ 1:
19
+ dict(
20
+ name='left_eye',
21
+ id=1,
22
+ color=[51, 153, 255],
23
+ type='upper',
24
+ swap='right_eye'),
25
+ 2:
26
+ dict(
27
+ name='right_eye',
28
+ id=2,
29
+ color=[51, 153, 255],
30
+ type='upper',
31
+ swap='left_eye'),
32
+ 3:
33
+ dict(
34
+ name='left_ear',
35
+ id=3,
36
+ color=[51, 153, 255],
37
+ type='upper',
38
+ swap='right_ear'),
39
+ 4:
40
+ dict(
41
+ name='right_ear',
42
+ id=4,
43
+ color=[51, 153, 255],
44
+ type='upper',
45
+ swap='left_ear'),
46
+ 5:
47
+ dict(
48
+ name='left_shoulder',
49
+ id=5,
50
+ color=[0, 255, 0],
51
+ type='upper',
52
+ swap='right_shoulder'),
53
+ 6:
54
+ dict(
55
+ name='right_shoulder',
56
+ id=6,
57
+ color=[255, 128, 0],
58
+ type='upper',
59
+ swap='left_shoulder'),
60
+ 7:
61
+ dict(
62
+ name='left_elbow',
63
+ id=7,
64
+ color=[0, 255, 0],
65
+ type='upper',
66
+ swap='right_elbow'),
67
+ 8:
68
+ dict(
69
+ name='right_elbow',
70
+ id=8,
71
+ color=[255, 128, 0],
72
+ type='upper',
73
+ swap='left_elbow'),
74
+ 9:
75
+ dict(
76
+ name='left_wrist',
77
+ id=9,
78
+ color=[0, 255, 0],
79
+ type='upper',
80
+ swap='right_wrist'),
81
+ 10:
82
+ dict(
83
+ name='right_wrist',
84
+ id=10,
85
+ color=[255, 128, 0],
86
+ type='upper',
87
+ swap='left_wrist'),
88
+ 11:
89
+ dict(
90
+ name='left_hip',
91
+ id=11,
92
+ color=[0, 255, 0],
93
+ type='lower',
94
+ swap='right_hip'),
95
+ 12:
96
+ dict(
97
+ name='right_hip',
98
+ id=12,
99
+ color=[255, 128, 0],
100
+ type='lower',
101
+ swap='left_hip'),
102
+ 13:
103
+ dict(
104
+ name='left_knee',
105
+ id=13,
106
+ color=[0, 255, 0],
107
+ type='lower',
108
+ swap='right_knee'),
109
+ 14:
110
+ dict(
111
+ name='right_knee',
112
+ id=14,
113
+ color=[255, 128, 0],
114
+ type='lower',
115
+ swap='left_knee'),
116
+ 15:
117
+ dict(
118
+ name='left_ankle',
119
+ id=15,
120
+ color=[0, 255, 0],
121
+ type='lower',
122
+ swap='right_ankle'),
123
+ 16:
124
+ dict(
125
+ name='right_ankle',
126
+ id=16,
127
+ color=[255, 128, 0],
128
+ type='lower',
129
+ swap='left_ankle')
130
+ },
131
+ skeleton_info={
132
+ 0:
133
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
134
+ 1:
135
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
136
+ 2:
137
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
138
+ 3:
139
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
140
+ 4:
141
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
142
+ 5:
143
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
144
+ 6:
145
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
146
+ 7:
147
+ dict(
148
+ link=('left_shoulder', 'right_shoulder'),
149
+ id=7,
150
+ color=[51, 153, 255]),
151
+ 8:
152
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
153
+ 9:
154
+ dict(
155
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
156
+ 10:
157
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
158
+ 11:
159
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
160
+ 12:
161
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
162
+ 13:
163
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
164
+ 14:
165
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
166
+ 15:
167
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
168
+ 16:
169
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
170
+ 17:
171
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
172
+ 18:
173
+ dict(
174
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
175
+ },
176
+ joint_weights=[
177
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
178
+ 1.5
179
+ ],
180
+ sigmas=[
181
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
182
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
183
+ ])
configs/_base_/datasets/mhp.py ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='mhp',
3
+ paper_info=dict(
4
+ author='Zhao, Jian and Li, Jianshu and Cheng, Yu and '
5
+ 'Sim, Terence and Yan, Shuicheng and Feng, Jiashi',
6
+ title='Understanding humans in crowded scenes: '
7
+ 'Deep nested adversarial learning and a '
8
+ 'new benchmark for multi-human parsing',
9
+ container='Proceedings of the 26th ACM '
10
+ 'international conference on Multimedia',
11
+ year='2018',
12
+ homepage='https://lv-mhp.github.io/dataset',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='right_ankle',
18
+ id=0,
19
+ color=[255, 128, 0],
20
+ type='lower',
21
+ swap='left_ankle'),
22
+ 1:
23
+ dict(
24
+ name='right_knee',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='lower',
28
+ swap='left_knee'),
29
+ 2:
30
+ dict(
31
+ name='right_hip',
32
+ id=2,
33
+ color=[255, 128, 0],
34
+ type='lower',
35
+ swap='left_hip'),
36
+ 3:
37
+ dict(
38
+ name='left_hip',
39
+ id=3,
40
+ color=[0, 255, 0],
41
+ type='lower',
42
+ swap='right_hip'),
43
+ 4:
44
+ dict(
45
+ name='left_knee',
46
+ id=4,
47
+ color=[0, 255, 0],
48
+ type='lower',
49
+ swap='right_knee'),
50
+ 5:
51
+ dict(
52
+ name='left_ankle',
53
+ id=5,
54
+ color=[0, 255, 0],
55
+ type='lower',
56
+ swap='right_ankle'),
57
+ 6:
58
+ dict(name='pelvis', id=6, color=[51, 153, 255], type='lower', swap=''),
59
+ 7:
60
+ dict(name='thorax', id=7, color=[51, 153, 255], type='upper', swap=''),
61
+ 8:
62
+ dict(
63
+ name='upper_neck',
64
+ id=8,
65
+ color=[51, 153, 255],
66
+ type='upper',
67
+ swap=''),
68
+ 9:
69
+ dict(
70
+ name='head_top', id=9, color=[51, 153, 255], type='upper',
71
+ swap=''),
72
+ 10:
73
+ dict(
74
+ name='right_wrist',
75
+ id=10,
76
+ color=[255, 128, 0],
77
+ type='upper',
78
+ swap='left_wrist'),
79
+ 11:
80
+ dict(
81
+ name='right_elbow',
82
+ id=11,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_elbow'),
86
+ 12:
87
+ dict(
88
+ name='right_shoulder',
89
+ id=12,
90
+ color=[255, 128, 0],
91
+ type='upper',
92
+ swap='left_shoulder'),
93
+ 13:
94
+ dict(
95
+ name='left_shoulder',
96
+ id=13,
97
+ color=[0, 255, 0],
98
+ type='upper',
99
+ swap='right_shoulder'),
100
+ 14:
101
+ dict(
102
+ name='left_elbow',
103
+ id=14,
104
+ color=[0, 255, 0],
105
+ type='upper',
106
+ swap='right_elbow'),
107
+ 15:
108
+ dict(
109
+ name='left_wrist',
110
+ id=15,
111
+ color=[0, 255, 0],
112
+ type='upper',
113
+ swap='right_wrist')
114
+ },
115
+ skeleton_info={
116
+ 0:
117
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
118
+ 1:
119
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
120
+ 2:
121
+ dict(link=('right_hip', 'pelvis'), id=2, color=[255, 128, 0]),
122
+ 3:
123
+ dict(link=('pelvis', 'left_hip'), id=3, color=[0, 255, 0]),
124
+ 4:
125
+ dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
126
+ 5:
127
+ dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
128
+ 6:
129
+ dict(link=('pelvis', 'thorax'), id=6, color=[51, 153, 255]),
130
+ 7:
131
+ dict(link=('thorax', 'upper_neck'), id=7, color=[51, 153, 255]),
132
+ 8:
133
+ dict(link=('upper_neck', 'head_top'), id=8, color=[51, 153, 255]),
134
+ 9:
135
+ dict(link=('upper_neck', 'right_shoulder'), id=9, color=[255, 128, 0]),
136
+ 10:
137
+ dict(
138
+ link=('right_shoulder', 'right_elbow'), id=10, color=[255, 128,
139
+ 0]),
140
+ 11:
141
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
142
+ 12:
143
+ dict(link=('upper_neck', 'left_shoulder'), id=12, color=[0, 255, 0]),
144
+ 13:
145
+ dict(link=('left_shoulder', 'left_elbow'), id=13, color=[0, 255, 0]),
146
+ 14:
147
+ dict(link=('left_elbow', 'left_wrist'), id=14, color=[0, 255, 0])
148
+ },
149
+ joint_weights=[
150
+ 1.5, 1.2, 1., 1., 1.2, 1.5, 1., 1., 1., 1., 1.5, 1.2, 1., 1., 1.2, 1.5
151
+ ],
152
+ # Adapted from COCO dataset.
153
+ sigmas=[
154
+ 0.089, 0.083, 0.107, 0.107, 0.083, 0.089, 0.026, 0.026, 0.026, 0.026,
155
+ 0.062, 0.072, 0.179, 0.179, 0.072, 0.062
156
+ ])
configs/_base_/datasets/mpi_inf_3dhp.py ADDED
@@ -0,0 +1,132 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='mpi_inf_3dhp',
3
+ paper_info=dict(
4
+ author='ehta, Dushyant and Rhodin, Helge and Casas, Dan and '
5
+ 'Fua, Pascal and Sotnychenko, Oleksandr and Xu, Weipeng and '
6
+ 'Theobalt, Christian',
7
+ title='Monocular 3D Human Pose Estimation In The Wild Using Improved '
8
+ 'CNN Supervision',
9
+ container='2017 international conference on 3D vision (3DV)',
10
+ year='2017',
11
+ homepage='http://gvv.mpi-inf.mpg.de/3dhp-dataset',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='head_top', id=0, color=[51, 153, 255], type='upper',
17
+ swap=''),
18
+ 1:
19
+ dict(name='neck', id=1, color=[51, 153, 255], type='upper', swap=''),
20
+ 2:
21
+ dict(
22
+ name='right_shoulder',
23
+ id=2,
24
+ color=[255, 128, 0],
25
+ type='upper',
26
+ swap='left_shoulder'),
27
+ 3:
28
+ dict(
29
+ name='right_elbow',
30
+ id=3,
31
+ color=[255, 128, 0],
32
+ type='upper',
33
+ swap='left_elbow'),
34
+ 4:
35
+ dict(
36
+ name='right_wrist',
37
+ id=4,
38
+ color=[255, 128, 0],
39
+ type='upper',
40
+ swap='left_wrist'),
41
+ 5:
42
+ dict(
43
+ name='left_shoulder',
44
+ id=5,
45
+ color=[0, 255, 0],
46
+ type='upper',
47
+ swap='right_shoulder'),
48
+ 6:
49
+ dict(
50
+ name='left_elbow',
51
+ id=6,
52
+ color=[0, 255, 0],
53
+ type='upper',
54
+ swap='right_elbow'),
55
+ 7:
56
+ dict(
57
+ name='left_wrist',
58
+ id=7,
59
+ color=[0, 255, 0],
60
+ type='upper',
61
+ swap='right_wrist'),
62
+ 8:
63
+ dict(
64
+ name='right_hip',
65
+ id=8,
66
+ color=[255, 128, 0],
67
+ type='lower',
68
+ swap='left_hip'),
69
+ 9:
70
+ dict(
71
+ name='right_knee',
72
+ id=9,
73
+ color=[255, 128, 0],
74
+ type='lower',
75
+ swap='left_knee'),
76
+ 10:
77
+ dict(
78
+ name='right_ankle',
79
+ id=10,
80
+ color=[255, 128, 0],
81
+ type='lower',
82
+ swap='left_ankle'),
83
+ 11:
84
+ dict(
85
+ name='left_hip',
86
+ id=11,
87
+ color=[0, 255, 0],
88
+ type='lower',
89
+ swap='right_hip'),
90
+ 12:
91
+ dict(
92
+ name='left_knee',
93
+ id=12,
94
+ color=[0, 255, 0],
95
+ type='lower',
96
+ swap='right_knee'),
97
+ 13:
98
+ dict(
99
+ name='left_ankle',
100
+ id=13,
101
+ color=[0, 255, 0],
102
+ type='lower',
103
+ swap='right_ankle'),
104
+ 14:
105
+ dict(name='root', id=14, color=[51, 153, 255], type='lower', swap=''),
106
+ 15:
107
+ dict(name='spine', id=15, color=[51, 153, 255], type='upper', swap=''),
108
+ 16:
109
+ dict(name='head', id=16, color=[51, 153, 255], type='upper', swap='')
110
+ },
111
+ skeleton_info={
112
+ 0: dict(link=('neck', 'right_shoulder'), id=0, color=[255, 128, 0]),
113
+ 1: dict(
114
+ link=('right_shoulder', 'right_elbow'), id=1, color=[255, 128, 0]),
115
+ 2:
116
+ dict(link=('right_elbow', 'right_wrist'), id=2, color=[255, 128, 0]),
117
+ 3: dict(link=('neck', 'left_shoulder'), id=3, color=[0, 255, 0]),
118
+ 4: dict(link=('left_shoulder', 'left_elbow'), id=4, color=[0, 255, 0]),
119
+ 5: dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
120
+ 6: dict(link=('root', 'right_hip'), id=6, color=[255, 128, 0]),
121
+ 7: dict(link=('right_hip', 'right_knee'), id=7, color=[255, 128, 0]),
122
+ 8: dict(link=('right_knee', 'right_ankle'), id=8, color=[255, 128, 0]),
123
+ 9: dict(link=('root', 'left_hip'), id=9, color=[0, 255, 0]),
124
+ 10: dict(link=('left_hip', 'left_knee'), id=10, color=[0, 255, 0]),
125
+ 11: dict(link=('left_knee', 'left_ankle'), id=11, color=[0, 255, 0]),
126
+ 12: dict(link=('head_top', 'head'), id=12, color=[51, 153, 255]),
127
+ 13: dict(link=('head', 'neck'), id=13, color=[51, 153, 255]),
128
+ 14: dict(link=('neck', 'spine'), id=14, color=[51, 153, 255]),
129
+ 15: dict(link=('spine', 'root'), id=15, color=[51, 153, 255])
130
+ },
131
+ joint_weights=[1.] * 17,
132
+ sigmas=[])
configs/_base_/datasets/mpii.py ADDED
@@ -0,0 +1,155 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='mpii',
3
+ paper_info=dict(
4
+ author='Mykhaylo Andriluka and Leonid Pishchulin and '
5
+ 'Peter Gehler and Schiele, Bernt',
6
+ title='2D Human Pose Estimation: New Benchmark and '
7
+ 'State of the Art Analysis',
8
+ container='IEEE Conference on Computer Vision and '
9
+ 'Pattern Recognition (CVPR)',
10
+ year='2014',
11
+ homepage='http://human-pose.mpi-inf.mpg.de/',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(
16
+ name='right_ankle',
17
+ id=0,
18
+ color=[255, 128, 0],
19
+ type='lower',
20
+ swap='left_ankle'),
21
+ 1:
22
+ dict(
23
+ name='right_knee',
24
+ id=1,
25
+ color=[255, 128, 0],
26
+ type='lower',
27
+ swap='left_knee'),
28
+ 2:
29
+ dict(
30
+ name='right_hip',
31
+ id=2,
32
+ color=[255, 128, 0],
33
+ type='lower',
34
+ swap='left_hip'),
35
+ 3:
36
+ dict(
37
+ name='left_hip',
38
+ id=3,
39
+ color=[0, 255, 0],
40
+ type='lower',
41
+ swap='right_hip'),
42
+ 4:
43
+ dict(
44
+ name='left_knee',
45
+ id=4,
46
+ color=[0, 255, 0],
47
+ type='lower',
48
+ swap='right_knee'),
49
+ 5:
50
+ dict(
51
+ name='left_ankle',
52
+ id=5,
53
+ color=[0, 255, 0],
54
+ type='lower',
55
+ swap='right_ankle'),
56
+ 6:
57
+ dict(name='pelvis', id=6, color=[51, 153, 255], type='lower', swap=''),
58
+ 7:
59
+ dict(name='thorax', id=7, color=[51, 153, 255], type='upper', swap=''),
60
+ 8:
61
+ dict(
62
+ name='upper_neck',
63
+ id=8,
64
+ color=[51, 153, 255],
65
+ type='upper',
66
+ swap=''),
67
+ 9:
68
+ dict(
69
+ name='head_top', id=9, color=[51, 153, 255], type='upper',
70
+ swap=''),
71
+ 10:
72
+ dict(
73
+ name='right_wrist',
74
+ id=10,
75
+ color=[255, 128, 0],
76
+ type='upper',
77
+ swap='left_wrist'),
78
+ 11:
79
+ dict(
80
+ name='right_elbow',
81
+ id=11,
82
+ color=[255, 128, 0],
83
+ type='upper',
84
+ swap='left_elbow'),
85
+ 12:
86
+ dict(
87
+ name='right_shoulder',
88
+ id=12,
89
+ color=[255, 128, 0],
90
+ type='upper',
91
+ swap='left_shoulder'),
92
+ 13:
93
+ dict(
94
+ name='left_shoulder',
95
+ id=13,
96
+ color=[0, 255, 0],
97
+ type='upper',
98
+ swap='right_shoulder'),
99
+ 14:
100
+ dict(
101
+ name='left_elbow',
102
+ id=14,
103
+ color=[0, 255, 0],
104
+ type='upper',
105
+ swap='right_elbow'),
106
+ 15:
107
+ dict(
108
+ name='left_wrist',
109
+ id=15,
110
+ color=[0, 255, 0],
111
+ type='upper',
112
+ swap='right_wrist')
113
+ },
114
+ skeleton_info={
115
+ 0:
116
+ dict(link=('right_ankle', 'right_knee'), id=0, color=[255, 128, 0]),
117
+ 1:
118
+ dict(link=('right_knee', 'right_hip'), id=1, color=[255, 128, 0]),
119
+ 2:
120
+ dict(link=('right_hip', 'pelvis'), id=2, color=[255, 128, 0]),
121
+ 3:
122
+ dict(link=('pelvis', 'left_hip'), id=3, color=[0, 255, 0]),
123
+ 4:
124
+ dict(link=('left_hip', 'left_knee'), id=4, color=[0, 255, 0]),
125
+ 5:
126
+ dict(link=('left_knee', 'left_ankle'), id=5, color=[0, 255, 0]),
127
+ 6:
128
+ dict(link=('pelvis', 'thorax'), id=6, color=[51, 153, 255]),
129
+ 7:
130
+ dict(link=('thorax', 'upper_neck'), id=7, color=[51, 153, 255]),
131
+ 8:
132
+ dict(link=('upper_neck', 'head_top'), id=8, color=[51, 153, 255]),
133
+ 9:
134
+ dict(link=('upper_neck', 'right_shoulder'), id=9, color=[255, 128, 0]),
135
+ 10:
136
+ dict(
137
+ link=('right_shoulder', 'right_elbow'), id=10, color=[255, 128,
138
+ 0]),
139
+ 11:
140
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
141
+ 12:
142
+ dict(link=('upper_neck', 'left_shoulder'), id=12, color=[0, 255, 0]),
143
+ 13:
144
+ dict(link=('left_shoulder', 'left_elbow'), id=13, color=[0, 255, 0]),
145
+ 14:
146
+ dict(link=('left_elbow', 'left_wrist'), id=14, color=[0, 255, 0])
147
+ },
148
+ joint_weights=[
149
+ 1.5, 1.2, 1., 1., 1.2, 1.5, 1., 1., 1., 1., 1.5, 1.2, 1., 1., 1.2, 1.5
150
+ ],
151
+ # Adapted from COCO dataset.
152
+ sigmas=[
153
+ 0.089, 0.083, 0.107, 0.107, 0.083, 0.089, 0.026, 0.026, 0.026, 0.026,
154
+ 0.062, 0.072, 0.179, 0.179, 0.072, 0.062
155
+ ])
configs/_base_/datasets/mpii_trb.py ADDED
@@ -0,0 +1,380 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='mpii_trb',
3
+ paper_info=dict(
4
+ author='Duan, Haodong and Lin, Kwan-Yee and Jin, Sheng and '
5
+ 'Liu, Wentao and Qian, Chen and Ouyang, Wanli',
6
+ title='TRB: A Novel Triplet Representation for '
7
+ 'Understanding 2D Human Body',
8
+ container='Proceedings of the IEEE International '
9
+ 'Conference on Computer Vision',
10
+ year='2019',
11
+ homepage='https://github.com/kennymckormick/'
12
+ 'Triplet-Representation-of-human-Body',
13
+ ),
14
+ keypoint_info={
15
+ 0:
16
+ dict(
17
+ name='left_shoulder',
18
+ id=0,
19
+ color=[0, 255, 0],
20
+ type='upper',
21
+ swap='right_shoulder'),
22
+ 1:
23
+ dict(
24
+ name='right_shoulder',
25
+ id=1,
26
+ color=[255, 128, 0],
27
+ type='upper',
28
+ swap='left_shoulder'),
29
+ 2:
30
+ dict(
31
+ name='left_elbow',
32
+ id=2,
33
+ color=[0, 255, 0],
34
+ type='upper',
35
+ swap='right_elbow'),
36
+ 3:
37
+ dict(
38
+ name='right_elbow',
39
+ id=3,
40
+ color=[255, 128, 0],
41
+ type='upper',
42
+ swap='left_elbow'),
43
+ 4:
44
+ dict(
45
+ name='left_wrist',
46
+ id=4,
47
+ color=[0, 255, 0],
48
+ type='upper',
49
+ swap='right_wrist'),
50
+ 5:
51
+ dict(
52
+ name='right_wrist',
53
+ id=5,
54
+ color=[255, 128, 0],
55
+ type='upper',
56
+ swap='left_wrist'),
57
+ 6:
58
+ dict(
59
+ name='left_hip',
60
+ id=6,
61
+ color=[0, 255, 0],
62
+ type='lower',
63
+ swap='right_hip'),
64
+ 7:
65
+ dict(
66
+ name='right_hip',
67
+ id=7,
68
+ color=[255, 128, 0],
69
+ type='lower',
70
+ swap='left_hip'),
71
+ 8:
72
+ dict(
73
+ name='left_knee',
74
+ id=8,
75
+ color=[0, 255, 0],
76
+ type='lower',
77
+ swap='right_knee'),
78
+ 9:
79
+ dict(
80
+ name='right_knee',
81
+ id=9,
82
+ color=[255, 128, 0],
83
+ type='lower',
84
+ swap='left_knee'),
85
+ 10:
86
+ dict(
87
+ name='left_ankle',
88
+ id=10,
89
+ color=[0, 255, 0],
90
+ type='lower',
91
+ swap='right_ankle'),
92
+ 11:
93
+ dict(
94
+ name='right_ankle',
95
+ id=11,
96
+ color=[255, 128, 0],
97
+ type='lower',
98
+ swap='left_ankle'),
99
+ 12:
100
+ dict(name='head', id=12, color=[51, 153, 255], type='upper', swap=''),
101
+ 13:
102
+ dict(name='neck', id=13, color=[51, 153, 255], type='upper', swap=''),
103
+ 14:
104
+ dict(
105
+ name='right_neck',
106
+ id=14,
107
+ color=[255, 255, 255],
108
+ type='upper',
109
+ swap='left_neck'),
110
+ 15:
111
+ dict(
112
+ name='left_neck',
113
+ id=15,
114
+ color=[255, 255, 255],
115
+ type='upper',
116
+ swap='right_neck'),
117
+ 16:
118
+ dict(
119
+ name='medial_right_shoulder',
120
+ id=16,
121
+ color=[255, 255, 255],
122
+ type='upper',
123
+ swap='medial_left_shoulder'),
124
+ 17:
125
+ dict(
126
+ name='lateral_right_shoulder',
127
+ id=17,
128
+ color=[255, 255, 255],
129
+ type='upper',
130
+ swap='lateral_left_shoulder'),
131
+ 18:
132
+ dict(
133
+ name='medial_right_bow',
134
+ id=18,
135
+ color=[255, 255, 255],
136
+ type='upper',
137
+ swap='medial_left_bow'),
138
+ 19:
139
+ dict(
140
+ name='lateral_right_bow',
141
+ id=19,
142
+ color=[255, 255, 255],
143
+ type='upper',
144
+ swap='lateral_left_bow'),
145
+ 20:
146
+ dict(
147
+ name='medial_right_wrist',
148
+ id=20,
149
+ color=[255, 255, 255],
150
+ type='upper',
151
+ swap='medial_left_wrist'),
152
+ 21:
153
+ dict(
154
+ name='lateral_right_wrist',
155
+ id=21,
156
+ color=[255, 255, 255],
157
+ type='upper',
158
+ swap='lateral_left_wrist'),
159
+ 22:
160
+ dict(
161
+ name='medial_left_shoulder',
162
+ id=22,
163
+ color=[255, 255, 255],
164
+ type='upper',
165
+ swap='medial_right_shoulder'),
166
+ 23:
167
+ dict(
168
+ name='lateral_left_shoulder',
169
+ id=23,
170
+ color=[255, 255, 255],
171
+ type='upper',
172
+ swap='lateral_right_shoulder'),
173
+ 24:
174
+ dict(
175
+ name='medial_left_bow',
176
+ id=24,
177
+ color=[255, 255, 255],
178
+ type='upper',
179
+ swap='medial_right_bow'),
180
+ 25:
181
+ dict(
182
+ name='lateral_left_bow',
183
+ id=25,
184
+ color=[255, 255, 255],
185
+ type='upper',
186
+ swap='lateral_right_bow'),
187
+ 26:
188
+ dict(
189
+ name='medial_left_wrist',
190
+ id=26,
191
+ color=[255, 255, 255],
192
+ type='upper',
193
+ swap='medial_right_wrist'),
194
+ 27:
195
+ dict(
196
+ name='lateral_left_wrist',
197
+ id=27,
198
+ color=[255, 255, 255],
199
+ type='upper',
200
+ swap='lateral_right_wrist'),
201
+ 28:
202
+ dict(
203
+ name='medial_right_hip',
204
+ id=28,
205
+ color=[255, 255, 255],
206
+ type='lower',
207
+ swap='medial_left_hip'),
208
+ 29:
209
+ dict(
210
+ name='lateral_right_hip',
211
+ id=29,
212
+ color=[255, 255, 255],
213
+ type='lower',
214
+ swap='lateral_left_hip'),
215
+ 30:
216
+ dict(
217
+ name='medial_right_knee',
218
+ id=30,
219
+ color=[255, 255, 255],
220
+ type='lower',
221
+ swap='medial_left_knee'),
222
+ 31:
223
+ dict(
224
+ name='lateral_right_knee',
225
+ id=31,
226
+ color=[255, 255, 255],
227
+ type='lower',
228
+ swap='lateral_left_knee'),
229
+ 32:
230
+ dict(
231
+ name='medial_right_ankle',
232
+ id=32,
233
+ color=[255, 255, 255],
234
+ type='lower',
235
+ swap='medial_left_ankle'),
236
+ 33:
237
+ dict(
238
+ name='lateral_right_ankle',
239
+ id=33,
240
+ color=[255, 255, 255],
241
+ type='lower',
242
+ swap='lateral_left_ankle'),
243
+ 34:
244
+ dict(
245
+ name='medial_left_hip',
246
+ id=34,
247
+ color=[255, 255, 255],
248
+ type='lower',
249
+ swap='medial_right_hip'),
250
+ 35:
251
+ dict(
252
+ name='lateral_left_hip',
253
+ id=35,
254
+ color=[255, 255, 255],
255
+ type='lower',
256
+ swap='lateral_right_hip'),
257
+ 36:
258
+ dict(
259
+ name='medial_left_knee',
260
+ id=36,
261
+ color=[255, 255, 255],
262
+ type='lower',
263
+ swap='medial_right_knee'),
264
+ 37:
265
+ dict(
266
+ name='lateral_left_knee',
267
+ id=37,
268
+ color=[255, 255, 255],
269
+ type='lower',
270
+ swap='lateral_right_knee'),
271
+ 38:
272
+ dict(
273
+ name='medial_left_ankle',
274
+ id=38,
275
+ color=[255, 255, 255],
276
+ type='lower',
277
+ swap='medial_right_ankle'),
278
+ 39:
279
+ dict(
280
+ name='lateral_left_ankle',
281
+ id=39,
282
+ color=[255, 255, 255],
283
+ type='lower',
284
+ swap='lateral_right_ankle'),
285
+ },
286
+ skeleton_info={
287
+ 0:
288
+ dict(link=('head', 'neck'), id=0, color=[51, 153, 255]),
289
+ 1:
290
+ dict(link=('neck', 'left_shoulder'), id=1, color=[51, 153, 255]),
291
+ 2:
292
+ dict(link=('neck', 'right_shoulder'), id=2, color=[51, 153, 255]),
293
+ 3:
294
+ dict(link=('left_shoulder', 'left_elbow'), id=3, color=[0, 255, 0]),
295
+ 4:
296
+ dict(
297
+ link=('right_shoulder', 'right_elbow'), id=4, color=[255, 128, 0]),
298
+ 5:
299
+ dict(link=('left_elbow', 'left_wrist'), id=5, color=[0, 255, 0]),
300
+ 6:
301
+ dict(link=('right_elbow', 'right_wrist'), id=6, color=[255, 128, 0]),
302
+ 7:
303
+ dict(link=('left_shoulder', 'left_hip'), id=7, color=[51, 153, 255]),
304
+ 8:
305
+ dict(link=('right_shoulder', 'right_hip'), id=8, color=[51, 153, 255]),
306
+ 9:
307
+ dict(link=('left_hip', 'right_hip'), id=9, color=[51, 153, 255]),
308
+ 10:
309
+ dict(link=('left_hip', 'left_knee'), id=10, color=[0, 255, 0]),
310
+ 11:
311
+ dict(link=('right_hip', 'right_knee'), id=11, color=[255, 128, 0]),
312
+ 12:
313
+ dict(link=('left_knee', 'left_ankle'), id=12, color=[0, 255, 0]),
314
+ 13:
315
+ dict(link=('right_knee', 'right_ankle'), id=13, color=[255, 128, 0]),
316
+ 14:
317
+ dict(link=('right_neck', 'left_neck'), id=14, color=[255, 255, 255]),
318
+ 15:
319
+ dict(
320
+ link=('medial_right_shoulder', 'lateral_right_shoulder'),
321
+ id=15,
322
+ color=[255, 255, 255]),
323
+ 16:
324
+ dict(
325
+ link=('medial_right_bow', 'lateral_right_bow'),
326
+ id=16,
327
+ color=[255, 255, 255]),
328
+ 17:
329
+ dict(
330
+ link=('medial_right_wrist', 'lateral_right_wrist'),
331
+ id=17,
332
+ color=[255, 255, 255]),
333
+ 18:
334
+ dict(
335
+ link=('medial_left_shoulder', 'lateral_left_shoulder'),
336
+ id=18,
337
+ color=[255, 255, 255]),
338
+ 19:
339
+ dict(
340
+ link=('medial_left_bow', 'lateral_left_bow'),
341
+ id=19,
342
+ color=[255, 255, 255]),
343
+ 20:
344
+ dict(
345
+ link=('medial_left_wrist', 'lateral_left_wrist'),
346
+ id=20,
347
+ color=[255, 255, 255]),
348
+ 21:
349
+ dict(
350
+ link=('medial_right_hip', 'lateral_right_hip'),
351
+ id=21,
352
+ color=[255, 255, 255]),
353
+ 22:
354
+ dict(
355
+ link=('medial_right_knee', 'lateral_right_knee'),
356
+ id=22,
357
+ color=[255, 255, 255]),
358
+ 23:
359
+ dict(
360
+ link=('medial_right_ankle', 'lateral_right_ankle'),
361
+ id=23,
362
+ color=[255, 255, 255]),
363
+ 24:
364
+ dict(
365
+ link=('medial_left_hip', 'lateral_left_hip'),
366
+ id=24,
367
+ color=[255, 255, 255]),
368
+ 25:
369
+ dict(
370
+ link=('medial_left_knee', 'lateral_left_knee'),
371
+ id=25,
372
+ color=[255, 255, 255]),
373
+ 26:
374
+ dict(
375
+ link=('medial_left_ankle', 'lateral_left_ankle'),
376
+ id=26,
377
+ color=[255, 255, 255])
378
+ },
379
+ joint_weights=[1.] * 40,
380
+ sigmas=[])
configs/_base_/datasets/ochuman.py ADDED
@@ -0,0 +1,181 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ dataset_info = dict(
2
+ dataset_name='ochuman',
3
+ paper_info=dict(
4
+ author='Zhang, Song-Hai and Li, Ruilong and Dong, Xin and '
5
+ 'Rosin, Paul and Cai, Zixi and Han, Xi and '
6
+ 'Yang, Dingcheng and Huang, Haozhi and Hu, Shi-Min',
7
+ title='Pose2seg: Detection free human instance segmentation',
8
+ container='Proceedings of the IEEE conference on computer '
9
+ 'vision and pattern recognition',
10
+ year='2019',
11
+ homepage='https://github.com/liruilong940607/OCHumanApi',
12
+ ),
13
+ keypoint_info={
14
+ 0:
15
+ dict(name='nose', id=0, color=[51, 153, 255], type='upper', swap=''),
16
+ 1:
17
+ dict(
18
+ name='left_eye',
19
+ id=1,
20
+ color=[51, 153, 255],
21
+ type='upper',
22
+ swap='right_eye'),
23
+ 2:
24
+ dict(
25
+ name='right_eye',
26
+ id=2,
27
+ color=[51, 153, 255],
28
+ type='upper',
29
+ swap='left_eye'),
30
+ 3:
31
+ dict(
32
+ name='left_ear',
33
+ id=3,
34
+ color=[51, 153, 255],
35
+ type='upper',
36
+ swap='right_ear'),
37
+ 4:
38
+ dict(
39
+ name='right_ear',
40
+ id=4,
41
+ color=[51, 153, 255],
42
+ type='upper',
43
+ swap='left_ear'),
44
+ 5:
45
+ dict(
46
+ name='left_shoulder',
47
+ id=5,
48
+ color=[0, 255, 0],
49
+ type='upper',
50
+ swap='right_shoulder'),
51
+ 6:
52
+ dict(
53
+ name='right_shoulder',
54
+ id=6,
55
+ color=[255, 128, 0],
56
+ type='upper',
57
+ swap='left_shoulder'),
58
+ 7:
59
+ dict(
60
+ name='left_elbow',
61
+ id=7,
62
+ color=[0, 255, 0],
63
+ type='upper',
64
+ swap='right_elbow'),
65
+ 8:
66
+ dict(
67
+ name='right_elbow',
68
+ id=8,
69
+ color=[255, 128, 0],
70
+ type='upper',
71
+ swap='left_elbow'),
72
+ 9:
73
+ dict(
74
+ name='left_wrist',
75
+ id=9,
76
+ color=[0, 255, 0],
77
+ type='upper',
78
+ swap='right_wrist'),
79
+ 10:
80
+ dict(
81
+ name='right_wrist',
82
+ id=10,
83
+ color=[255, 128, 0],
84
+ type='upper',
85
+ swap='left_wrist'),
86
+ 11:
87
+ dict(
88
+ name='left_hip',
89
+ id=11,
90
+ color=[0, 255, 0],
91
+ type='lower',
92
+ swap='right_hip'),
93
+ 12:
94
+ dict(
95
+ name='right_hip',
96
+ id=12,
97
+ color=[255, 128, 0],
98
+ type='lower',
99
+ swap='left_hip'),
100
+ 13:
101
+ dict(
102
+ name='left_knee',
103
+ id=13,
104
+ color=[0, 255, 0],
105
+ type='lower',
106
+ swap='right_knee'),
107
+ 14:
108
+ dict(
109
+ name='right_knee',
110
+ id=14,
111
+ color=[255, 128, 0],
112
+ type='lower',
113
+ swap='left_knee'),
114
+ 15:
115
+ dict(
116
+ name='left_ankle',
117
+ id=15,
118
+ color=[0, 255, 0],
119
+ type='lower',
120
+ swap='right_ankle'),
121
+ 16:
122
+ dict(
123
+ name='right_ankle',
124
+ id=16,
125
+ color=[255, 128, 0],
126
+ type='lower',
127
+ swap='left_ankle')
128
+ },
129
+ skeleton_info={
130
+ 0:
131
+ dict(link=('left_ankle', 'left_knee'), id=0, color=[0, 255, 0]),
132
+ 1:
133
+ dict(link=('left_knee', 'left_hip'), id=1, color=[0, 255, 0]),
134
+ 2:
135
+ dict(link=('right_ankle', 'right_knee'), id=2, color=[255, 128, 0]),
136
+ 3:
137
+ dict(link=('right_knee', 'right_hip'), id=3, color=[255, 128, 0]),
138
+ 4:
139
+ dict(link=('left_hip', 'right_hip'), id=4, color=[51, 153, 255]),
140
+ 5:
141
+ dict(link=('left_shoulder', 'left_hip'), id=5, color=[51, 153, 255]),
142
+ 6:
143
+ dict(link=('right_shoulder', 'right_hip'), id=6, color=[51, 153, 255]),
144
+ 7:
145
+ dict(
146
+ link=('left_shoulder', 'right_shoulder'),
147
+ id=7,
148
+ color=[51, 153, 255]),
149
+ 8:
150
+ dict(link=('left_shoulder', 'left_elbow'), id=8, color=[0, 255, 0]),
151
+ 9:
152
+ dict(
153
+ link=('right_shoulder', 'right_elbow'), id=9, color=[255, 128, 0]),
154
+ 10:
155
+ dict(link=('left_elbow', 'left_wrist'), id=10, color=[0, 255, 0]),
156
+ 11:
157
+ dict(link=('right_elbow', 'right_wrist'), id=11, color=[255, 128, 0]),
158
+ 12:
159
+ dict(link=('left_eye', 'right_eye'), id=12, color=[51, 153, 255]),
160
+ 13:
161
+ dict(link=('nose', 'left_eye'), id=13, color=[51, 153, 255]),
162
+ 14:
163
+ dict(link=('nose', 'right_eye'), id=14, color=[51, 153, 255]),
164
+ 15:
165
+ dict(link=('left_eye', 'left_ear'), id=15, color=[51, 153, 255]),
166
+ 16:
167
+ dict(link=('right_eye', 'right_ear'), id=16, color=[51, 153, 255]),
168
+ 17:
169
+ dict(link=('left_ear', 'left_shoulder'), id=17, color=[51, 153, 255]),
170
+ 18:
171
+ dict(
172
+ link=('right_ear', 'right_shoulder'), id=18, color=[51, 153, 255])
173
+ },
174
+ joint_weights=[
175
+ 1., 1., 1., 1., 1., 1., 1., 1.2, 1.2, 1.5, 1.5, 1., 1., 1.2, 1.2, 1.5,
176
+ 1.5
177
+ ],
178
+ sigmas=[
179
+ 0.026, 0.025, 0.025, 0.035, 0.035, 0.079, 0.079, 0.072, 0.072, 0.062,
180
+ 0.062, 0.107, 0.107, 0.087, 0.087, 0.089, 0.089
181
+ ])