If some keypoints of a single body are not detected, multiple skeletons for a single person will be generated?
yangsenius opened this issue · comments
Line 97 in 32d44dd
From my understanding,
this_skel[kp['id'], :2] = kp['xy']
this_skel[kp['id'], 2] = kp['conf']
path = iterative_bfs(skeleton_graph, kp['id'])[1:]
for edge in path:
if this_skel[edge[0],2] == 0:
continue
the order of the path
will be uniquely determined by the start keypoint due to the tree-structure of person. So, if some keypoints in the path
are not detected, multiple skeletons will be generated for a single body because of this snippet:
if this_skel[edge[0],2] == 0:
continue
for example, let's assume that the start (the highest score) keypoint is Lwrist
and all keypoints except L_elbow
are detected for a single person, then this for edge in path:
loop will always goto continue
and this_skeleton
will only contain the Lwrist
keypoint location.
I don't know if I understand it correctly?
That's correct