sports2d 0.5.6__py3-none-any.whl → 0.6.2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,34 +3,33 @@
3
3
 
4
4
 
5
5
  '''
6
- ###########################################################################
7
- ## SKELETONS DEFINITIONS ##
8
- ###########################################################################
9
-
10
- The definition and hierarchy of the following skeletons are available:
11
- - CUSTOM (e.g.., from DeepLabCut),
12
- - OpenPose BODY_25B, BODY_25, BODY_135, COCO, MPII
13
- - Mediapipe BLAZEPOSE
14
- - AlphaPose HALPE_26, HALPE_68, HALPE_136, COCO_133, COCO, MPII
15
- (for COCO and MPII, AlphaPose must be run with the flag "--format cmu")
16
-
17
- N.B.: Not all face and hand keypoints are reported in the skeleton architecture,
18
- since some are redundant for the orientation of some bodies.
19
-
20
- N.B.: The corresponding OpenSim model files are provided in the "Pose2Sim\Empty project" folder.
21
- If you wish to use any other, you will need to adjust the markerset in the .osim model file,
22
- as well as in the scaling and IK setup files.
23
-
24
- N.B.: In case you built a custom skeleton, you can check its structure by typing:
25
- from anytree import Node, RenderTree
26
- for pre, _, node in RenderTree(CUSTOM):
27
- print(f'{pre}{node.name} id={node.id}')
28
- If you build it from a DeepLabCut model, make sure the node ids
29
- correspond to the column numbers, starting from zero.
6
+ ###########################################################################
7
+ ## SKELETONS DEFINITIONS ##
8
+ ###########################################################################
9
+
10
+ The definition and hierarchy of the following skeletons are available:
11
+ - RTMPose HALPE_26, COCO_133, COCO_133_WRIST, COCO_17, HAND, FACE, ANIMAL
12
+ - OpenPose BODY_25B, BODY_25, BODY_135, COCO, MPII
13
+ - Mediapipe BLAZEPOSE
14
+ - AlphaPose HALPE_26, HALPE_68, HALPE_136, COCO_133, COCO, MPII
15
+ (for COCO and MPII, AlphaPose must be run with the flag "--format cmu")
16
+ - DeepLabCut CUSTOM: the skeleton will be defined in Config.toml
17
+
18
+ N.B.: Not all face and hand keypoints are reported in the skeleton architecture,
19
+ since some are redundant for the orientation of some bodies.
20
+
21
+ N.B.: The corresponding OpenSim model files are provided in the "Pose2Sim/Empty project" folder.
22
+ If you wish to use any other, you will need to adjust the markerset in the .osim model file,
23
+ as well as in the scaling and IK setup files.
24
+
25
+ Check the skeleton structure with:
26
+ from anytree import Node, RenderTree
27
+ for pre, _, node in RenderTree(model):
28
+ print(f'{pre}{node.name} id={node.id}')
30
29
  '''
31
30
 
32
31
  ## INIT
33
- from anytree import Node, RenderTree, PreOrderIter
32
+ from anytree import Node
34
33
 
35
34
 
36
35
  ## AUTHORSHIP INFORMATION
@@ -38,24 +37,16 @@ __author__ = "David Pagnon"
38
37
  __copyright__ = "Copyright 2021, Pose2Sim"
39
38
  __credits__ = ["David Pagnon"]
40
39
  __license__ = "BSD 3-Clause License"
41
- __version__ = "0.4.0"
40
+ __version__ = "0.9.4"
42
41
  __maintainer__ = "David Pagnon"
43
42
  __email__ = "contact@david-pagnon.com"
44
43
  __status__ = "Development"
45
44
 
46
45
 
47
- ## SKELETONS
48
- '''CUSTOM SKELETON (e.g., from DeepLabCut detection)'''
49
- CUSTOM = Node("Root", id=0, children=[
50
- Node("Child1", id=1),
51
- Node("Child2", id=2),
52
- ])
53
-
54
-
55
- '''BodyWithFeet from HALPE_26 (full-body without hands, for RTMPose, AlphaPose, MMPose, etc.)
46
+ '''HALPE_26 (full-body without hands, from AlphaPose, MMPose, etc.)
56
47
  https://github.com/MVIG-SJTU/AlphaPose/blob/master/docs/MODEL_ZOO.md
57
48
  https://github.com/open-mmlab/mmpose/tree/main/projects/rtmpose'''
58
- body_with_feet = Node("Hip", id=19, children=[
49
+ HALPE_26 = Node("Hip", id=19, children=[
59
50
  Node("RHip", id=12, children=[
60
51
  Node("RKnee", id=14, children=[
61
52
  Node("RAnkle", id=16, children=[
@@ -94,6 +85,598 @@ body_with_feet = Node("Hip", id=19, children=[
94
85
  ])
95
86
 
96
87
 
88
+ '''COCO_133_wrist (full-body with hands and face, from AlphaPose, MMPose, etc.)
89
+ https://github.com/MVIG-SJTU/AlphaPose/blob/master/docs/MODEL_ZOO.md
90
+ https://github.com/open-mmlab/mmpose/tree/main/projects/rtmpose'''
91
+ COCO_133_wrist = Node("CHip", id=None, children=[
92
+ Node("RHip", id=12, children=[
93
+ Node("RKnee", id=14, children=[
94
+ Node("RAnkle", id=16, children=[
95
+ Node("RBigToe", id=20, children=[
96
+ Node("RSmallToe", id=21),
97
+ ]),
98
+ Node("RHeel", id=22),
99
+ ]),
100
+ ]),
101
+ ]),
102
+ Node("LHip", id=11, children=[
103
+ Node("LKnee", id=13, children=[
104
+ Node("LAnkle", id=15, children=[
105
+ Node("LBigToe", id=17, children=[
106
+ Node("LSmallToe", id=18),
107
+ ]),
108
+ Node("LHeel", id=19),
109
+ ]),
110
+ ]),
111
+ ]),
112
+ Node("Neck", id=None, children=[
113
+ Node("Nose", id=0, children=[
114
+ Node("REye", id=2),
115
+ Node("LEye", id=1),
116
+ ]),
117
+ Node("RShoulder", id=6, children=[
118
+ Node("RElbow", id=8, children=[
119
+ Node("RWrist", id=10, children=[
120
+ Node("RThumb", id=114),
121
+ Node("RIndex", id=117),
122
+ Node("RPinky", id=129),
123
+ ]),
124
+ ]),
125
+ ]),
126
+ Node("LShoulder", id=5, children=[
127
+ Node("LElbow", id=7, children=[
128
+ Node("LWrist", id=9, children=[
129
+ Node("LThumb", id=93),
130
+ Node("LIndex", id=96),
131
+ Node("LPinky", id=108),
132
+ ])
133
+ ]),
134
+ ]),
135
+ ]),
136
+ ])
137
+
138
+
139
+ '''COCO_133 (full-body with hands and face, from AlphaPose, MMPose, etc.)
140
+ https://github.com/MVIG-SJTU/AlphaPose/blob/master/docs/MODEL_ZOO.md
141
+ https://github.com/open-mmlab/mmpose/tree/main/projects/rtmpose'''
142
+ COCO_133 = Node("CHip", id=None, children=[
143
+ Node("RHip", id=12, children=[
144
+ Node("RKnee", id=14, children=[
145
+ Node("RAnkle", id=16, children=[
146
+ Node("RBigToe", id=20, children=[
147
+ Node("RSmallToe", id=21),
148
+ ]),
149
+ Node("RHeel", id=22),
150
+ ]),
151
+ ]),
152
+ ]),
153
+ Node("LHip", id=11, children=[
154
+ Node("LKnee", id=13, children=[
155
+ Node("LAnkle", id=15, children=[
156
+ Node("LBigToe", id=17, children=[
157
+ Node("LSmallToe", id=18),
158
+ ]),
159
+ Node("LHeel", id=19),
160
+ ]),
161
+ ]),
162
+ ]),
163
+ Node("Neck", id=None, children=[
164
+ Node("Nose", id=0, children=[
165
+ Node("REye", id=2),
166
+ Node("LEye", id=1),
167
+ Node("REar", id=4),
168
+ Node("LEar", id=3),
169
+ ]),
170
+ Node("RShoulder", id=6, children=[
171
+ Node("RElbow", id=8, children=[
172
+ Node("RWrist", id=10, children=[
173
+ Node("RThumb1", id=113, children=[
174
+ Node("RThumb", id=114, children=[
175
+ Node("RThumb3", id=115, children=[
176
+ Node("RThumb4", id=116),
177
+ ]),
178
+ ]),
179
+ ]),
180
+ Node("RIndex", id=117, children=[
181
+ Node("RIndex2", id=118, children=[
182
+ Node("RIndex3", id=119, children=[
183
+ Node("RIndex4", id=120),
184
+ ]),
185
+ ]),
186
+ ]),
187
+ Node("RMiddle1", id=121, children=[
188
+ Node("RMiddle2", id=122, children=[
189
+ Node("RMiddle3", id=123, children=[
190
+ Node("RMiddle4", id=124),
191
+ ]),
192
+ ]),
193
+ ]),
194
+ Node("RRing1", id=125, children=[
195
+ Node("RRing2", id=126, children=[
196
+ Node("RRing3", id=127, children=[
197
+ Node("RRing4", id=128),
198
+ ]),
199
+ ]),
200
+ ]),
201
+ Node("RPinky", id=129, children=[
202
+ Node("RPinky2", id=130, children=[
203
+ Node("RPinky3", id=131, children=[
204
+ Node("RPinky4", id=132),
205
+ ]),
206
+ ]),
207
+ ]),
208
+ ]),
209
+ ]),
210
+ ]),
211
+ Node("LShoulder", id=5, children=[
212
+ Node("LElbow", id=7, children=[
213
+ Node("LWrist", id=9, children=[
214
+ Node("LThumb1", id=92, children=[
215
+ Node("LThumb", id=93, children=[
216
+ Node("LThumb3", id=94, children=[
217
+ Node("LThumb4", id=95),
218
+ ]),
219
+ ]),
220
+ ]),
221
+ Node("LIndex", id=96, children=[
222
+ Node("LIndex2", id=97, children=[
223
+ Node("LIndex3", id=98, children=[
224
+ Node("LIndex4", id=99),
225
+ ]),
226
+ ]),
227
+ ]),
228
+ Node("LMiddle1", id=100, children=[
229
+ Node("LMiddle2", id=101, children=[
230
+ Node("LMiddle3", id=102, children=[
231
+ Node("LMiddle4", id=103),
232
+ ]),
233
+ ]),
234
+ ]),
235
+ Node("LRing1", id=104, children=[
236
+ Node("LRing2", id=105, children=[
237
+ Node("LRing3", id=106, children=[
238
+ Node("LRing4", id=107),
239
+ ]),
240
+ ]),
241
+ ]),
242
+ Node("LPinky", id=108, children=[
243
+ Node("LPinky2", id=109, children=[
244
+ Node("LPinky3", id=110, children=[
245
+ Node("LPinky4", id=111),
246
+ ]),
247
+ ]),
248
+ ]),
249
+ ])
250
+ ]),
251
+ ]),
252
+ Node("Jaw1", id=23, children=[
253
+ Node("Jaw2", id=24, children=[
254
+ Node("Jaw3", id=25, children=[
255
+ Node("Jaw4", id=26, children=[
256
+ Node("Jaw5", id=27, children=[
257
+ Node("Jaw6", id=28, children=[
258
+ Node("Jaw7", id=29, children=[
259
+ Node("Jaw8", id=30, children=[
260
+ Node("Jaw9", id=31, children=[
261
+ Node("Jaw10", id=32, children=[
262
+ Node("Jaw11", id=33, children=[
263
+ Node("Jaw12", id=34, children=[
264
+ Node("Jaw13", id=35, children=[
265
+ Node("Jaw14", id=36, children=[
266
+ Node("Jaw15", id=37, children=[
267
+ Node("Jaw16", id=38, children=[
268
+ Node("Jaw17", id=39),
269
+ ]),
270
+ ]),
271
+ ]),
272
+ ]),
273
+ ]),
274
+ ]),
275
+ ]),
276
+ ]),
277
+ ]),
278
+ ]),
279
+ ]),
280
+ ]),
281
+ ]),
282
+ ]),
283
+ ]),
284
+ ]),
285
+ Node("EyebrowR1", id=40, children=[
286
+ Node("EyebrowR2", id=41, children=[
287
+ Node("EyebrowR3", id=42, children=[
288
+ Node("EyebrowR4", id=43, children=[
289
+ Node("EyebrowR5", id=44, children=[
290
+ Node("EyebrowL1", id=45, children=[
291
+ Node("EyebrowL2", id=46, children=[
292
+ Node("EyebrowL3", id=47, children=[
293
+ Node("EyebrowL4", id=48, children=[
294
+ Node("EyebrowL5", id=49)
295
+ ]),
296
+ ]),
297
+ ]),
298
+ ]),
299
+ ]),
300
+ ]),
301
+ ]),
302
+ ]),
303
+ ]),
304
+ Node("Nose1", id=50, children=[
305
+ Node("Nose2", id=51, children=[
306
+ Node("Nose3", id=52, children=[
307
+ Node("Nose4", id=53, children=[
308
+ Node("Nose5", id=54, children=[
309
+ Node("Nose6", id=55, children=[
310
+ Node("Nose7", id=56, children=[
311
+ Node("Nose8", id=57, children=[
312
+ Node("Nose9", id=58)
313
+ ]),
314
+ ]),
315
+ ]),
316
+ ]),
317
+ ]),
318
+ ]),
319
+ ]),
320
+ ]),
321
+ Node("REye1", id=59, children=[
322
+ Node("REye2", id=60, children=[
323
+ Node("REye3", id=61, children=[
324
+ Node("REye4", id=62, children=[
325
+ Node("REye5", id=63, children=[
326
+ Node("REye6", id=64)
327
+ ]),
328
+ ]),
329
+ ]),
330
+ ]),
331
+ ]),
332
+ Node("LEye1", id=65, children=[
333
+ Node("LEye2", id=66, children=[
334
+ Node("LEye3", id=67, children=[
335
+ Node("LEye4", id=68, children=[
336
+ Node("LEye5", id=69, children=[
337
+ Node("LEye6", id=70)
338
+ ]),
339
+ ]),
340
+ ]),
341
+ ]),
342
+ ]),
343
+ Node("Mouth1", id=71, children=[
344
+ Node("Mouth2", id=72, children=[
345
+ Node("Mouth3", id=73, children=[
346
+ Node("Mouth4", id=74, children=[
347
+ Node("Mouth5", id=75, children=[
348
+ Node("Mouth6", id=76, children=[
349
+ Node("Mouth7", id=77, children=[
350
+ Node("Mouth8", id=78, children=[
351
+ Node("Mouth9", id=79, children=[
352
+ Node("Mouth10", id=80, children=[
353
+ Node("Mouth11", id=81, children=[
354
+ Node("Mouth12", id=82, children=[
355
+ Node("Mouth13", id=83, children=[
356
+ Node("Mouth14", id=84, children=[
357
+ Node("Mouth15", id=85, children=[
358
+ Node("Mouth16", id=86, children=[
359
+ Node("Mouth17", id=87, children=[
360
+ Node("Mouth18", id=88, children=[
361
+ Node("Mouth19", id=89, children=[
362
+ Node("Mouth20", id=90, children=[
363
+ Node("Mouth21", id=91)
364
+ ]),
365
+ ]),
366
+ ]),
367
+ ]),
368
+ ]),
369
+ ]),
370
+ ]),
371
+ ]),
372
+ ]),
373
+ ]),
374
+ ]),
375
+ ]),
376
+ ]),
377
+ ]),
378
+ ]),
379
+ ]),
380
+ ]),
381
+ ]),
382
+ ]),
383
+ ]),
384
+ ]),
385
+ ])
386
+
387
+
388
+ '''COCO_17 (full-body without hands and feet, from OpenPose, AlphaPose, OpenPifPaf, YOLO-pose, MMPose, etc.)
389
+ https://github.com/open-mmlab/mmpose/tree/main/projects/rtmpose'''
390
+ COCO_17 = Node("CHip", id=None, children=[
391
+ Node("RHip", id=12, children=[
392
+ Node("RKnee", id=14, children=[
393
+ Node("RAnkle", id=16),
394
+ ]),
395
+ ]),
396
+ Node("LHip", id=11, children=[
397
+ Node("LKnee", id=13, children=[
398
+ Node("LAnkle", id=15),
399
+ ]),
400
+ ]),
401
+ Node("Neck", id=None, children=[
402
+ Node("Nose", id=0),
403
+ Node("RShoulder", id=6, children=[
404
+ Node("RElbow", id=8, children=[
405
+ Node("RWrist", id=10),
406
+ ]),
407
+ ]),
408
+ Node("LShoulder", id=5, children=[
409
+ Node("LElbow", id=7, children=[
410
+ Node("LWrist", id=9),
411
+ ]),
412
+ ]),
413
+ ]),
414
+ ])
415
+
416
+
417
+ '''HAND_21
418
+ https://github.com/jin-s13/COCO-WholeBody/'''
419
+ HAND_21 = Node("RWrist", id=0, children=[
420
+ Node("RThumb1", id=1, children=[
421
+ Node("RThumb2", id=2, children=[
422
+ Node("RThumb3", id=3, children=[
423
+ Node("RThumb4", id=4),
424
+ ]),
425
+ ]),
426
+ ]),
427
+ Node("RIndex1", id=5, children=[
428
+ Node("RIndex2", id=6, children=[
429
+ Node("RIndex3", id=7, children=[
430
+ Node("RIndex4", id=8),
431
+ ]),
432
+ ]),
433
+ ]),
434
+ Node("RMiddle1", id=9, children=[
435
+ Node("RMiddle2", id=10, children=[
436
+ Node("RMiddle3", id=11, children=[
437
+ Node("RMiddle4", id=12),
438
+ ]),
439
+ ]),
440
+ ]),
441
+ Node("RRing1", id=13, children=[
442
+ Node("RRing2", id=14, children=[
443
+ Node("RRing3", id=15, children=[
444
+ Node("RRing4", id=16),
445
+ ]),
446
+ ]),
447
+ ]),
448
+ Node("RPinky1", id=17, children=[
449
+ Node("RPinky2", id=18, children=[
450
+ Node("RPinky3", id=19, children=[
451
+ Node("RPinky4", id=20),
452
+ ]),
453
+ ]),
454
+ ]),
455
+ ])
456
+
457
+
458
+ '''FACE_106
459
+ https://github.com/jd-opensource/lapa-dataset'''
460
+ FACE_106 = Node("root", id=None, children=[
461
+ Node("Jaw0", id=0, children=[
462
+ Node("Jaw1", id=1, children=[
463
+ Node("Jaw2", id=2, children=[
464
+ Node("Jaw3", id=3, children=[
465
+ Node("Jaw4", id=4, children=[
466
+ Node("Jaw5", id=5, children=[
467
+ Node("Jaw6", id=6, children=[
468
+ Node("Jaw7", id=7, children=[
469
+ Node("Jaw8", id=8, children=[
470
+ Node("Jaw9", id=9, children=[
471
+ Node("Jaw10", id=10, children=[
472
+ Node("Jaw11", id=11, children=[
473
+ Node("Jaw12", id=12, children=[
474
+ Node("Jaw13", id=13, children=[
475
+ Node("Jaw14", id=14, children=[
476
+ Node("Jaw15", id=15, children=[
477
+ Node("Jaw16", id=16, children=[
478
+ Node("Jaw17", id=17, children=[
479
+ Node("Jaw18", id=18, children=[
480
+ Node("Jaw19", id=19, children=[
481
+ Node("Jaw20", id=20, children=[
482
+ Node("Jaw21", id=21, children=[
483
+ Node("Jaw22", id=22, children=[
484
+ Node("Jaw23", id=23, children=[
485
+ Node("Jaw24", id=24, children=[
486
+ Node("Jaw25", id=25, children=[
487
+ Node("Jaw26", id=26, children=[
488
+ Node("Jaw27", id=27, children=[
489
+ Node("Jaw28", id=28, children=[
490
+ Node("Jaw29", id=29, children=[
491
+ Node("Jaw30", id=30, children=[
492
+ Node("Jaw31", id=31, children=[
493
+ Node("Jaw32", id=32),
494
+ ]),
495
+ ]),
496
+ ]),
497
+ ]),
498
+ ]),
499
+ ]),
500
+ ]),
501
+ ]),
502
+ ]),
503
+ ]),
504
+ ]),
505
+ ]),
506
+ ]),
507
+ ]),
508
+ ]),
509
+ ]),
510
+ ]),
511
+ ]),
512
+ ]),
513
+ ]),
514
+ ]),
515
+ ]),
516
+ ]),
517
+ ]),
518
+ ]),
519
+ ]),
520
+ ]),
521
+ ]),
522
+ ]),
523
+ ]),
524
+ ]),
525
+ ]),
526
+ Node("EyebrowR1", id=33, children=[
527
+ Node("EyebrowR2", id=34, children=[
528
+ Node("EyebrowR3", id=35, children=[
529
+ Node("EyebrowR4", id=36, children=[
530
+ Node("EyebrowR5", id=37, children=[
531
+ Node("EyebrowR6", id=38, children=[
532
+ Node("EyebrowR7", id=39, children=[
533
+ Node("EyebrowR8", id=40, children=[
534
+ Node("EyebrowR9", id=41)
535
+ ]),
536
+ ]),
537
+ ]),
538
+ ]),
539
+ ]),
540
+ ]),
541
+ ]),
542
+ ]),
543
+ Node("EyebrowL1", id=42, children=[
544
+ Node("EyebrowL2", id=43, children=[
545
+ Node("EyebrowL3", id=44, children=[
546
+ Node("EyebrowL4", id=45, children=[
547
+ Node("EyebrowL5", id=46, children=[
548
+ Node("EyebrowL6", id=47, children=[
549
+ Node("EyebrowL7", id=48, children=[
550
+ Node("EyebrowL8", id=49, children=[
551
+ Node("EyebrowL9", id=50)
552
+ ]),
553
+ ]),
554
+ ]),
555
+ ]),
556
+ ]),
557
+ ]),
558
+ ]),
559
+ Node("Nose1", id=51, children=[
560
+ Node("Nose2", id=52, children=[
561
+ Node("Nose3", id=53, children=[
562
+ Node("Nose4", id=54, children=[
563
+ Node("Nose5", id=55, children=[
564
+ Node("Nose6", id=56, children=[
565
+ Node("Nose7", id=57, children=[
566
+ Node("Nose8", id=58, children=[
567
+ Node("Nose9", id=59)
568
+ ]),
569
+ ]),
570
+ ]),
571
+ ]),
572
+ ]),
573
+ ]),
574
+ ]),
575
+ ]),
576
+ Node("REye1", id=60, children=[
577
+ Node("REye2", id=61, children=[
578
+ Node("REye3", id=62, children=[
579
+ Node("REye4", id=63, children=[
580
+ Node("REye5", id=64, children=[
581
+ Node("REye6", id=65, children=[
582
+ Node("REye7", id=66, children=[
583
+ Node("REye8", id=67)
584
+ ]),
585
+ ]),
586
+ ]),
587
+ ]),
588
+ ]),
589
+ ]),
590
+ ]),
591
+ Node("LEye1", id=68, children=[
592
+ Node("LEye2", id=69, children=[
593
+ Node("LEye3", id=70, children=[
594
+ Node("LEye4", id=71, children=[
595
+ Node("LEye5", id=72, children=[
596
+ Node("LEye6", id=73, children=[
597
+ Node("LEye7", id=74, children=[
598
+ Node("LEye8", id=75)
599
+ ]),
600
+ ]),
601
+ ]),
602
+ ]),
603
+ ]),
604
+ ]),
605
+ ]),
606
+ Node("Mouth1", id=76, children=[
607
+ Node("Mouth2", id=77, children=[
608
+ Node("Mouth3", id=78, children=[
609
+ Node("Mouth4", id=79, children=[
610
+ Node("Mouth5", id=80, children=[
611
+ Node("Mouth6", id=81, children=[
612
+ Node("Mouth7", id=82, children=[
613
+ Node("Mouth8", id=83, children=[
614
+ Node("Mouth9", id=84, children=[
615
+ Node("Mouth10", id=85, children=[
616
+ Node("Mouth11", id=86, children=[
617
+ Node("Mouth12", id=87, children=[
618
+ Node("Mouth13", id=88, children=[
619
+ Node("Mouth14", id=89, children=[
620
+ Node("Mouth15", id=90, children=[
621
+ Node("Mouth16", id=91, children=[
622
+ Node("Mouth17", id=92, children=[
623
+ Node("Mouth18", id=93, children=[
624
+ Node("Mouth19", id=94, children=[
625
+ Node("Mouth20", id=95)
626
+ ]),
627
+ ]),
628
+ ]),
629
+ ]),
630
+ ]),
631
+ ]),
632
+ ]),
633
+ ]),
634
+ ]),
635
+ ]),
636
+ ]),
637
+ ]),
638
+ ]),
639
+ ]),
640
+ ]),
641
+ ]),
642
+ ]),
643
+ ]),
644
+ ]),
645
+ ]),
646
+ ])
647
+
648
+ '''ANIMAL2D_17 (full-body animal)
649
+ https://github.com/AlexTheBad/AP-10K/'''
650
+ ANIMAL2D_17 = Node("CHip", id=4, children=[
651
+ Node("RHip", id=14, children=[
652
+ Node("RKnee", id=15, children=[
653
+ Node("RAnkle", id=16),
654
+ ]),
655
+ ]),
656
+ Node("LHip", id=11, children=[
657
+ Node("LKnee", id=12, children=[
658
+ Node("LAnkle", id=13),
659
+ ]),
660
+ ]),
661
+ Node("Neck", id=3, children=[
662
+ Node("Nose", id=2, children=[
663
+ Node("REye", id=1),
664
+ Node("LEye", id=0),
665
+ ]),
666
+ Node("RShoulder", id=8, children=[
667
+ Node("RElbow", id=9, children=[
668
+ Node("RWrist", id=10),
669
+ ]),
670
+ ]),
671
+ Node("LShoulder", id=5, children=[
672
+ Node("LElbow", id=6, children=[
673
+ Node("LWrist", id=7),
674
+ ]),
675
+ ]),
676
+ ]),
677
+ ])
678
+
679
+
97
680
  '''BODY_25B (full-body without hands, experimental, from OpenPose)
98
681
  https://github.com/CMU-Perceptual-Computing-Lab/openpose_train/blob/master/experimental_models/README.md'''
99
682
  BODY_25B = Node("CHip", id=None, children=[
@@ -119,14 +702,7 @@ BODY_25B = Node("CHip", id=None, children=[
119
702
  ]),
120
703
  Node("Neck", id=17, children=[
121
704
  Node("Head", id=18, children=[
122
- Node("Nose", id=0, children=[
123
- Node("REye", id=2, children=[
124
- Node("REar", id=4)
125
- ]),
126
- Node("LEye", id=1, children=[
127
- Node("LEar", id=3)
128
- ]),
129
- ]),
705
+ Node("Nose", id=0),
130
706
  ]),
131
707
  Node("RShoulder", id=6, children=[
132
708
  Node("RElbow", id=8, children=[
@@ -166,14 +742,7 @@ BODY_25 = Node("CHip", id=8, children=[
166
742
  ]),
167
743
  ]),
168
744
  Node("Neck", id=1, children=[
169
- Node("Nose", id=0, children=[
170
- Node("REye", id=15, children=[
171
- Node("REar", id=17)
172
- ]),
173
- Node("LEye", id=16, children=[
174
- Node("LEar", id=18)
175
- ]),
176
- ]),
745
+ Node("Nose", id=0),
177
746
  Node("RShoulder", id=2, children=[
178
747
  Node("RElbow", id=3, children=[
179
748
  Node("RWrist", id=4),
@@ -237,59 +806,51 @@ BODY_135 = Node("CHip", id=None, children=[
237
806
  ])
238
807
 
239
808
 
240
- '''BLAZEPOSE (full-body with simplified hand and foot, from mediapipe)
809
+ '''BLAZEPOSE (full-body with simplified hand and foot, from mediapipe)
241
810
  https://google.github.io/mediapipe/solutions/pose'''
242
- BLAZEPOSE = Node("CHip", id=None, children=[
243
- Node("RHip", id=24, children=[
244
- Node("RKnee", id=26, children=[
245
- Node("RAnkle", id=28, children=[
246
- Node("RHeel", id=30),
247
- Node("RBigToe", id=32),
811
+ BLAZEPOSE = Node("root", id=None, children=[
812
+ Node("right_hip", id=24, children=[
813
+ Node("right_knee", id=26, children=[
814
+ Node("right_ankle", id=28, children=[
815
+ Node("right_heel", id=30),
816
+ Node("right_foot_index", id=32),
248
817
  ]),
249
818
  ]),
250
819
  ]),
251
- Node("LHip", id=23, children=[
252
- Node("LKnee", id=25, children=[
253
- Node("LAnkle", id=27, children=[
254
- Node("LHeel", id=29),
255
- Node("LBigToe", id=31),
820
+ Node("left_hip", id=23, children=[
821
+ Node("left_knee", id=25, children=[
822
+ Node("left_ankle", id=27, children=[
823
+ Node("left_heel", id=29),
824
+ Node("left_foot_index", id=31),
256
825
  ]),
257
826
  ]),
258
827
  ]),
259
- Node("Nose", id=0, children=[
260
- Node("LEyeInner", id=1),
261
- Node("LEye", id=2),
262
- Node("LEyeOuter", id=3),
263
- Node("REyeInner", id=4),
264
- Node("REye", id=5),
265
- Node("REyeOuter", id=6),
266
- Node("LEar", id=7),
267
- Node("REar", id=8),
268
- Node("LMouth", id=9),
269
- Node("RMouth", id=10),
828
+ Node("nose", id=0, children=[
829
+ Node("right_eye", id=5),
830
+ Node("left_eye", id=2),
270
831
  ]),
271
- Node("RShoulder", id=12, children=[
272
- Node("RElbow", id=14, children=[
273
- Node("RWrist", id=16, children=[
274
- Node("RPinky", id=18),
275
- Node("RIndex", id=20),
276
- Node("RThumb", id=22),
832
+ Node("right_shoulder", id=12, children=[
833
+ Node("right_elbow", id=14, children=[
834
+ Node("right_wrist", id=16, children=[
835
+ Node("right_pinky", id=18),
836
+ Node("right_index", id=20),
837
+ Node("right_thumb", id=22),
277
838
  ]),
278
839
  ]),
279
840
  ]),
280
- Node("LShoulder", id=11, children=[
281
- Node("LElbow", id=13, children=[
282
- Node("LWrist", id=15, children=[
283
- Node("LPinky", id=17),
284
- Node("LIndex", id=19),
285
- Node("LThumb", id=21),
841
+ Node("left_shoulder", id=11, children=[
842
+ Node("left_elbow", id=13, children=[
843
+ Node("left_wrist", id=15, children=[
844
+ Node("left_pinky", id=17),
845
+ Node("left_index", id=19),
846
+ Node("left_thumb", id=21),
286
847
  ]),
287
848
  ]),
288
849
  ]),
289
850
  ])
290
851
 
291
852
 
292
- '''HALPE_68 (full-body with hands without face, from AlphaPose)
853
+ '''HALPE_68 (full-body with hands without face, from AlphaPose, MMPose, etc.)
293
854
  https://github.com/MVIG-SJTU/AlphaPose/blob/master/docs/MODEL_ZOO.md'''
294
855
  HALPE_68 = Node("Hip", id=19, children=[
295
856
  Node("RHip", id=12, children=[
@@ -336,7 +897,7 @@ HALPE_68 = Node("Hip", id=19, children=[
336
897
  ])
337
898
 
338
899
 
339
- '''HALPE_136 (full-body with hands and face, from AlphaPose)
900
+ '''HALPE_136 (full-body with hands and face, from AlphaPose, MMPose, etc.)
340
901
  https://github.com/MVIG-SJTU/AlphaPose/blob/master/docs/MODEL_ZOO.md'''
341
902
  HALPE_136 = Node("Hip", id=19, children=[
342
903
  Node("RHip", id=12, children=[
@@ -383,57 +944,7 @@ HALPE_136 = Node("Hip", id=19, children=[
383
944
  ])
384
945
 
385
946
 
386
- '''COCO_133 (full-body with hands and face, from AlphaPose)
387
- https://github.com/MVIG-SJTU/AlphaPose/blob/master/docs/MODEL_ZOO.md'''
388
- COCO_133 = Node("Hip", id=None, children=[
389
- Node("RHip", id=13, children=[
390
- Node("RKnee", id=15, children=[
391
- Node("RAnkle", id=17, children=[
392
- Node("RBigToe", id=21, children=[
393
- Node("RSmallToe", id=22),
394
- ]),
395
- Node("RHeel", id=23),
396
- ]),
397
- ]),
398
- ]),
399
- Node("LHip", id=12, children=[
400
- Node("LKnee", id=14, children=[
401
- Node("LAnkle", id=16, children=[
402
- Node("LBigToe", id=18, children=[
403
- Node("LSmallToe", id=19),
404
- ]),
405
- Node("LHeel", id=20),
406
- ]),
407
- ]),
408
- ]),
409
- Node("Neck", id=None, children=[
410
- Node("Nose", id=1, children=[
411
- Node("right_eye", id=3),
412
- Node("left_eye", id=2),
413
- ]),
414
- Node("RShoulder", id=7, children=[
415
- Node("RElbow", id=9, children=[
416
- Node("RWrist", id=11, children=[
417
- Node("RThumb", id=115),
418
- Node("RIndex", id=118),
419
- Node("RPinky", id=130),
420
- ]),
421
- ]),
422
- ]),
423
- Node("LShoulder", id=6, children=[
424
- Node("LElbow", id=8, children=[
425
- Node("LWrist", id=10, children=[
426
- Node("LThumb", id=94),
427
- Node("LIndex", id=97),
428
- Node("LPinky", id=109),
429
- ])
430
- ]),
431
- ]),
432
- ]),
433
- ])
434
-
435
-
436
- '''COCO (full-body without hands and feet, from OpenPose, AlphaPose, OpenPifPaf, YOLO-pose, etc)
947
+ '''COCO (full-body without hands and feet, from OpenPose, AlphaPose, OpenPifPaf, YOLO-pose, MMPose, etc.)
437
948
  https://github.com/CMU-Perceptual-Computing-Lab/openpose/tree/master/models'''
438
949
  COCO = Node("CHip", id=None, children=[
439
950
  Node("RHip", id=8, children=[
@@ -441,7 +952,7 @@ COCO = Node("CHip", id=None, children=[
441
952
  Node("RAnkle", id=10),
442
953
  ]),
443
954
  ]),
444
- Node("LHipJ", id=11, children=[
955
+ Node("LHip", id=11, children=[
445
956
  Node("LKnee", id=12, children=[
446
957
  Node("LAnkle", id=13),
447
958
  ]),
@@ -462,7 +973,7 @@ COCO = Node("CHip", id=None, children=[
462
973
  ])
463
974
 
464
975
 
465
- '''MPII (full-body without hands and feet, from OpenPose, AlphaPose, OpenPifPaf, YOLO-pose, etc)
976
+ '''MPII (full-body without hands and feet, from OpenPose, AlphaPose, OpenPifPaf, YOLO-pose, MMPose, etc.)
466
977
  https://github.com/CMU-Perceptual-Computing-Lab/openpose/tree/master/models'''
467
978
  MPII = Node("CHip", id=14, children=[
468
979
  Node("RHip", id=8, children=[
@@ -470,7 +981,7 @@ MPII = Node("CHip", id=14, children=[
470
981
  Node("RAnkle", id=10),
471
982
  ]),
472
983
  ]),
473
- Node("LHipJ", id=11, children=[
984
+ Node("LHip", id=11, children=[
474
985
  Node("LKnee", id=12, children=[
475
986
  Node("LAnkle", id=13),
476
987
  ]),