def test_list_from_file(): filename = path.join(path.dirname(__file__), 'data/filelist.txt') filelist = cvb.list_from_file(filename) assert filelist == ['1.jpg', '2.jpg', '3.jpg', '4.jpg', '5.jpg'] filelist = cvb.list_from_file(filename, prefix='a/') assert filelist == ['a/1.jpg', 'a/2.jpg', 'a/3.jpg', 'a/4.jpg', 'a/5.jpg'] filelist = cvb.list_from_file(filename, offset=2) assert filelist == ['3.jpg', '4.jpg', '5.jpg'] filelist = cvb.list_from_file(filename, max_num=2) assert filelist == ['1.jpg', '2.jpg'] filelist = cvb.list_from_file(filename, offset=3, max_num=3) assert filelist == ['4.jpg', '5.jpg']
def run(thread_index, thread_num, result, args): cls_list = ['_' for _ in range(81)] txt_path = os.path.join(args.base_path, args.img_list) all_index = cvb.list_from_file(txt_path) # datasets num = len(all_index) thread_result = [] for i in range(num): if i % thread_num != thread_index: continue start_time = time.time() proposal_base_path = os.path.join(args.base_path, 'score/') img_index = all_index[i] image_id = int(img_index) proposal_path = os.path.join(proposal_base_path, img_index + '.pkl') if not os.path.exists(proposal_path): thread_result.append(img_index) # box_feature, box_box, box_score = pkl.load(open(os.path.join(proposal_path), 'rb'), encoding='iso-8859-1') # if np.size(box_feature)==0 or np.size(box_box)==0 or np.size(box_score)==0: # thread_result.append(img_index) end_time = time.time() print_time = float(end_time - start_time) print('thread_index:{}, index:{}, image_id:{}, cost:{}'.format( thread_index, i, image_id, print_time)) result.extend(thread_result)
def __init__(self, base_path, txt_name): super(MultiDataset, self).__init__() self.base_path = base_path self.txt_path = os.path.join(self.base_path, txt_name) self.image_index = cvb.list_from_file(self.txt_path) self.info_path = os.path.join(self.base_path, 'info_1/') self.gt_path = os.path.join(self.base_path, 'gt/') self.img_path = os.path.join(self.base_path, 'img/') self.search_table = self.rank_table()
def run(thread_index, thread_num, result, args): txt_path = os.path.join(args.base_path, args.img_list) New2Old = cvb.load( '/mnt/lustre/liushu1/mask_rcnn/coco-master/PythonAPI/Newlabel.pkl') proposal_base_path = os.path.join(args.base_path, 'info/') thread_result = [] val_list = cvb.list_from_file(txt_path) val_num = len(val_list) for index, img_name in enumerate(val_list): if index % thread_num != thread_index: continue proposal_path = os.path.join(proposal_base_path, img_name + '.pkl') # box_feature, box_box, box_score = cvb.load(proposal_path) box_feature, box_box, box_score = pkl.load(open( os.path.join(proposal_path), 'rb'), encoding='iso-8859-1') box_feature = box_feature.astype(np.float) box_box = box_box.astype(np.float) box_score = box_score.astype(np.float) # bbox = verify_nms(box_box, box_score, img_name, New2Old, iou_thr=0.5, score_thr=0.1) # bbox = verify_nms_with_box_voting(box_box, box_score, img_name, New2Old, iou_thr=0.5, score_thr=0.01, bv_method='ID') bbox = verify_soft_nms(box_box, box_score, img_name, New2Old, iou_thr=0.5, score_thr=0.01) # bbox = verify_nms_with_limit(box_box, box_score, img_name, New2Old, iou_thr=0.5) # cls_num = 0 # for ii in range(1, 81): # valid_index = np.where(box_score[:,ii]>=0.01)[0] # valid_num = len(valid_index) # cls_num += valid_num thread_result.extend(bbox) print('img_index:{}, bbox_len:{}'.format(img_name, len(bbox))) # print('thread_index:{}, index:{}'.format(thread_index, index)) result.extend(thread_result)
(0, 255, 0), 1) cv2.namedWindow('bb') cv2.imshow('bb', I) cv2.waitKey(0) if __name__ == '__main__': txt_path = '/mnt/lustre/liushu1/qilu_ex/dataset/test_dev/panet/test.txt' info_path = '/mnt/lustre/liushu1/qilu_ex/rnn_nms/panet_dcn/testfolder/test16w_new_dev/output/' save_path = '/mnt/lustre/liushu1/qilu_ex/dataset/test_dev/panet/info/' if not os.path.exists(save_path): os.makedirs(save_path) thread_num = 16 thread_idx = int(sys.argv[1]) img_list = cvb.list_from_file(txt_path) num_list = len(img_list) for idx in range(0, num_list): if idx % thread_num != thread_idx: continue start = time.time() save_pkl_path = os.path.join(save_path, img_list[idx] + '.pkl') info_txt_path = os.path.join( info_path, 'COCO_train2014_' + img_list[idx] + '.txt') if not os.path.exists(info_txt_path): info_txt_path = os.path.join( info_path, 'COCO_val2014_' + img_list[idx] + '.txt') if not os.path.exists(info_txt_path): info_txt_path = os.path.join( info_path, 'COCO_test2015_' + img_list[idx] + '.txt')
x2 = x1 + width - 1 y2 = y1 + height - 1 score = ann['score'] cls_index = int(Old2New[str(ann['category_id'])][1]) ann_np[index, :] = x1, y1, x2, y2, score, cls_index return ann_np if __name__ == '__main__': args = parse_args() New2Old = cvb.load('/data/luqi/coco-master/PythonAPI/Newlabel.pkl') Old2New = cvb.load('/data/luqi/coco-master/PythonAPI/Oldlabel.pkl') all_anns = cvb.load(args.output_dir) anns_dict = make_json_dict(all_anns) txt_path = os.path.join(args.base_path, args.img_list) all_index = cvb.list_from_file(txt_path) results = [] for count, img_index in enumerate(all_index): gts_info = pkl.load( open(os.path.join(args.base_path, 'gt/' + img_index + '.pkl'), 'rb')) gts_box = np.zeros((len(gts_info), 5)) for index, gt in enumerate(gts_info): gts_box[index, :] = gt['bbox'] # if gts_box[index, 4]>=100: # gts_box[index, 4] -= 100 unique_gts = np.unique(gts_box[:, 4]).astype(np.int16) key = int(img_index) ann_dict = anns_dict[key] ann_matrix = trans_np(ann_dict, Old2New)