with h5py.File(PATH_TVSum, 'r') as hdf: for video_name in keys: video_index = video_name[6:] user_summary = np.array( hdf.get('video_' + video_index + '/user_summary')) sb = np.array(hdf.get('video_' + video_index + '/change_points')) n_frames = np.array(hdf.get('video_' + video_index + '/n_frames')) positions = np.array(hdf.get('video_' + video_index + '/picks')) all_user_summary.append(user_summary) all_shot_bound.append(sb) all_nframes.append(n_frames) all_positions.append(positions) all_summaries = generate_summary(all_shot_bound, all_scores, all_nframes, all_positions) all_f_scores = [] # compare the resulting summary with the ground truth one, for each video for video_index in range(len(all_summaries)): summary = all_summaries[video_index] user_summary = all_user_summary[video_index] f_score = evaluate_summary(summary, user_summary, eval_method) all_f_scores.append(f_score) f_score_epochs.append(np.mean(all_f_scores)) print("f_score: ", np.mean(all_f_scores)) with open(path + '/f_scores.txt', 'w') as outfile: json.dump(f_score_epochs, outfile)
n_frames = np.array(hdf.get('video_' + video_index + '/n_frames')) positions = np.array(hdf.get('video_' + video_index + '/picks')) all_gt_scores.append(gt_score) all_shot_bound.append(sb) all_nframes.append(n_frames) all_positions.append(positions) # generate summary based on the auto-generated scores all_summaries = generate_summary(all_shot_bound, all_scores, all_nframes, all_positions) # generate summary based on the ground-truth scores all_gt_summary = generate_summary(all_shot_bound, all_gt_scores, all_nframes, all_positions) all_f_scores = [] # Compare the resulting summary with the ground truth one, for each video for video_index in range(len(all_summaries)): summary = all_summaries[video_index] gt_summary = all_gt_summary[video_index] f_score = evaluate_summary(summary, np.expand_dims(gt_summary, axis=0), eval_method) all_f_scores.append(f_score) f_score_epochs.append(np.mean(all_f_scores)) print("f_score: ", np.mean(all_f_scores)) with open(path + '/f_scores.txt', 'w') as outfile: json.dump(f_score_epochs, outfile)