Exemple #1
0
def load_det_proposals(prop_file_path):
    if not os.path.exists(prop_file_path):
        print prop_file_path, 'does not exist...'
        return
    prop_arr = load_txt_to_fltarr(prop_file_path)
    print 'load', len(prop_arr), 'det proposals done...'
    return prop_arr
Exemple #2
0
def load_frame_boxes(track_mask_dir, frm_id, frm_labels, iter_name):
    ##print '======================load frame boxes==============================='
    frm_num = len(frm_labels)
    boxes = np.zeros((frm_num, 4))
    for n_id in xrange(frm_num):
        label = frm_labels[n_id]
        det_file_path = os.path.join(track_mask_dir, str(label),
                                     iter_name + det_file_ext)
        ##print 'det_file_path:', det_file_path
        dets = load_txt_to_fltarr(det_file_path)
        r_frm_id = frm_id + shift_num
        row_index = np.where(dets[:, 0] == r_frm_id)[0]
        boxes[n_id] = dets[row_index, 2:6]
    return boxes
Exemple #3
0
def interploate_dets(disc_dets_path, cont_dets_path):
    print '==================interploate det proposals=========================='
    print '--------------------------discrete_det_arr--------------------------------------------'

    disc_det_arr = load_txt_to_fltarr(disc_dets_path)
    #print 'disc_det_arr:\n', disc_det_arr
    tmp_det_arr = disc_det_arr  # frm-no, obj_id, x1,y1,w,h
    tmp_coords = tmp_det_arr[:, 2:6]  ## x1,y1,w,h
    tmp_boxes = coords_to_boxes(tmp_coords)  ## x1,y1,x2, y2
    tmp_det_arr[:, 2:6] = tmp_boxes

    print '--------------------------------------------------------------------'
    #frm_no,obj_id,x1,y1,x2,y2
    col = 1  ## obj_id (col)
    sort_det_arr = tmp_det_arr[np.argsort(
        tmp_det_arr[:, col])]  ## sort according to obj_id
    obj_ids = np.unique(sort_det_arr[:, 1]).astype(int)

    print '----------------------------cont_det_arr-------------------------------------------'
    cont_det_arr = []
    tmp_cont_det_arr = np.zeros((0, sort_det_arr.shape[1]))

    ## interploate box based on each obj_id
    for obj_id in obj_ids:
        #print '--------------------------obj_id=', obj_id, '------------------------------------------------'
        row_indexes = np.where(sort_det_arr[:, 1] == obj_id)
        disc_label_det_arr = sort_det_arr[row_indexes]
        cont_label_det_arr = interploate_label_dets(obj_id, disc_label_det_arr)

        # print 'disc_label_det_arr.shape:', disc_label_det_arr.shape
        # print 'cont_label_det_arr.shape:', cont_label_det_arr.shape
        if disc_label_det_arr.shape == cont_label_det_arr.shape:
            print 'obj_id that equal:', obj_id

        cont_label_boxes = cont_label_det_arr[:, 2:
                                              6]  ## convert back from boxes to coords
        cont_label_coords = boxes_to_coords(cont_label_boxes)
        cont_label_det_arr[:, 2:6] = cont_label_coords
        tmp_cont_det_arr = np.vstack((tmp_cont_det_arr, cont_label_det_arr))

    cont_det_arr = np.asarray(tmp_cont_det_arr)  #convert list to array
    write_detarr_as_mot(cont_dets_path,
                        cont_det_arr)  ## save in local disk as .txt

    if debug_flag:
        print 'cont_det_arr.shape:', cont_det_arr.shape
Exemple #4
0
def load_dets_ref():
    res_dir = get_ref_dir()
    dets_path = os.path.join(res_dir, 'ref_dets.txt')
    dets = load_txt_to_fltarr(dets_path)
    return dets
Exemple #5
0
def load_dets_annots(dets_annots_path):
    dets_arr = load_txt_to_fltarr(dets_annots_path)
    return dets_arr
Exemple #6
0
def load_dets_org():
    gt_dets_path = os.path.join(data_dir, new_gt_folder, 'dets_lose.txt')
    gt_dets = load_txt_to_fltarr(gt_dets_path)
    return gt_dets