while (max_score > 0.5): query_img = bridge.crop_bbox( int(video_dets[max_score_index][0]), video_dets[max_score_index][1:5]) # gallery_imgs = [] query_feat = reid.extract_feats([query_img]) gallery_feats = reid.extract_feats(gallery_imgs) min_dist, min_dist_index = get_similar_box( query_feat, gallery_feats, used_mask) position = [ int(video_dets[min_dist_index][1]), int(video_dets[min_dist_index][2]) ] old_score = float(video_dets[min_dist_index][-1]) video_dets[min_dist_index][-1] = bridge.update_score( video_dets[max_score_index][-1], video_dets[min_dist_index][-1], min_dist) print("max score id:{}, min dist id:{}".format( video_dets[max_score_index][0], video_dets[min_dist_index][0])) print("update image:id-{}-bbox-{} score from {} to {}".format( int(video_dets[min_dist_index][0]), position, old_score, video_dets[min_dist_index][-1])) max_score, max_score_index = select_max_det( video_dets, used_mask) used_mask[ max_score_index] = True # 标记已经被选择的框,排除后迭代,直到max score小于阈值0.2 # 保存update后的结果 for det in video_dets: