tobiascz / VideoPose3D

Efficient 3D human pose estimation in video using 2D keypoint trajectories
Other
65 stars 17 forks source link

Human36mDataset: Discrepancy in parent and children nodes #26

Open ualiawan opened 3 years ago

ualiawan commented 3 years ago

In Human36mDataset, parent node for node 11 and 14 is node 8, while in the children list, both node 11 and 14 are listed as children of node 7.

    path = "p[ath/to/npz"
    h36m = Human36mDataset(path)

    parents= h36m._skeleton.parents()
    print([(i,p) for i, p in enumerate(parents)], "parents")

    children= h36m._skeleton.children()
    print([(i,c) for i, c in enumerate(children)], "children")

Output:

[(0, -1), (1, 0), (2, 1), (3, 2), (4, 0), (5, 4), (6, 5), (7, 0), (8, 7), (9, 8), (10, 9), (11, 8), (12, 11), (13, 12), (14, 8), (15, 14), (16, 15)] parents
[(0, [1, 4, 7]), (1, [2]), (2, [3]), (3, []), (4, [5]), (5, [6]), (6, []), (7, [8, 11, 14]), (8, [9]), (9, [10]), (10, []), (11, [12]), (12, [13]), (13, []), (14, [15]), (15, [16]), (16, [])] children

If we look closely, node 11 and 14 are LeftShoulder and RightShoulder, while 7 and 8 are Spine and Thorax, respectively. So, parent lists says that Left and Right shoulder have Thorax as parent, while the children list say that they are children of Spine.