in common/utils/vis.py [0:0]
def vis_3d_keypoints(kps_3d, score, skeleton, filename, score_thr=0.4, line_width=3, circle_rad=3):
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
rgb_dict = get_keypoint_rgb(skeleton)
for i in range(len(skeleton)):
joint_name = skeleton[i]['name']
pid = skeleton[i]['parent_id']
parent_joint_name = skeleton[pid]['name']
x = np.array([kps_3d[i,0], kps_3d[pid,0]])
y = np.array([kps_3d[i,1], kps_3d[pid,1]])
z = np.array([kps_3d[i,2], kps_3d[pid,2]])
if score[i] > score_thr and score[pid] > score_thr and pid != -1:
ax.plot(x, z, -y, c = np.array(rgb_dict[parent_joint_name])/255., linewidth = line_width)
if score[i] > score_thr:
ax.scatter(kps_3d[i,0], kps_3d[i,2], -kps_3d[i,1], c = np.array(rgb_dict[joint_name]).reshape(1,3)/255., marker='o')
if score[pid] > score_thr and pid != -1:
ax.scatter(kps_3d[pid,0], kps_3d[pid,2], -kps_3d[pid,1], c = np.array(rgb_dict[parent_joint_name]).reshape(1,3)/255., marker='o')
#plt.show()
#cv2.waitKey(0)
fig.savefig(osp.join(cfg.vis_dir, filename), dpi=fig.dpi)