in common/utils/vis.py [0:0]
def vis_keypoints(img, kps, score, skeleton, filename, score_thr=0.4, line_width=3, circle_rad = 3):
rgb_dict = get_keypoint_rgb(skeleton)
_img = Image.fromarray(img.transpose(1,2,0).astype('uint8'))
draw = ImageDraw.Draw(_img)
for i in range(len(skeleton)):
joint_name = skeleton[i]['name']
pid = skeleton[i]['parent_id']
parent_joint_name = skeleton[pid]['name']
kps_i = (kps[i][0].astype(np.int32), kps[i][1].astype(np.int32))
kps_pid = (kps[pid][0].astype(np.int32), kps[pid][1].astype(np.int32))
if score[i] > score_thr and score[pid] > score_thr and pid != -1:
draw.line([(kps[i][0], kps[i][1]), (kps[pid][0], kps[pid][1])], fill=rgb_dict[parent_joint_name], width=line_width)
if score[i] > score_thr:
draw.ellipse((kps[i][0]-circle_rad, kps[i][1]-circle_rad, kps[i][0]+circle_rad, kps[i][1]+circle_rad), fill=rgb_dict[joint_name])
if score[pid] > score_thr and pid != -1:
draw.ellipse((kps[pid][0]-circle_rad, kps[pid][1]-circle_rad, kps[pid][0]+circle_rad, kps[pid][1]+circle_rad), fill=rgb_dict[parent_joint_name])
_img.save(osp.join(cfg.vis_dir, filename))