在demo文件里改,在run_demo函数里
改后的run_demo如下:
def run_demo(net, image_provider, height_size, cpu, track, smooth):
net = net.eval()
#if not cpu:
#net = net.cuda()
stride = 8 # 卷积步长
upsample_ratio = 4
num_keypoints = Pose.num_kpts # 18
previous_poses = []
delay = 1
i = 0
for img in image_provider: # 图像/视频文件
i += 1
orig_img = img.copy()
sk_img = np.zeros(img.shape)
heatmaps, pafs, scale, pad = infer_fast(net, img, height_size, stride, upsample_ratio, cpu)
# 记录总共检测到的关键点个数
total_keypoints_num = 0
# [x,y,conf,id] , 从extract_keypoints函数里返回
all_keypoints_by_type = []
for kpt_idx in range(num_keypoints): # 19th for bg 19种连接方向(线段)
# 提取第i个关键点的个数,把关键点的[x,y,conf,id]加入到all_keypoints_by_type
# 关键点个数使用total_keypoints_num记录
total_keypoints_num += extract_keypoints(heatmaps[:, :, kpt_idx], all_keypoints_b