Exemple #1
0
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)
Exemple #3
0
 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')
Exemple #6
0
        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)