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
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
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
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
def load_dets_annots(dets_annots_path): dets_arr = load_txt_to_fltarr(dets_annots_path) return dets_arr
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