def create_apollo_info_file(data_path, save_path=None, relative_path=True): #找train.txt val.txt...,拿里面的ids来用 imageset_folder = Path(__file__).resolve().parent / "ImageSets" train_img_ids = _read_imageset_file(str(imageset_folder / "train.txt")) val_img_ids = _read_imageset_file(str(imageset_folder / "val.txt")) test_img_ids = _read_imageset_file(str(imageset_folder / "test.txt")) print("Generate info. this may take several minutes.") #找存哪里 if save_path is None: save_path = Path(data_path) else: save_path = Path(save_path) #用get_kitti_image_info把数据做成pkl kitti_infos_train = kitti.get_kitti_image_info(data_path, training=True, velodyne=True, calib=True, image_ids=train_img_ids, relative_path=relative_path) #计算gt里的点数量 _calculate_num_points_in_gt(data_path, kitti_infos_train, relative_path) #用刚刚写的存的点决定存哪里,把它存进去 filename = save_path / 'kitti_infos_train.pkl' print(f"Kitti info train file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train, f) kitti_infos_val = kitti.get_kitti_image_info(data_path, training=True, velodyne=True, calib=True, image_ids=val_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_val, relative_path) filename = save_path / 'kitti_infos_val.pkl' print(f"Kitti info val file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_val, f) filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train + kitti_infos_val, f) kitti_infos_test = kitti.get_kitti_image_info(data_path, training=False, label_info=False, velodyne=True, calib=True, image_ids=test_img_ids, relative_path=relative_path) filename = save_path / 'kitti_infos_test.pkl' print(f"Kitti info test file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_test, f)
def create_kitti_info_file0(data_path, save_path=None, create_trainval=False, relative_path=True): train_img_ids = _read_imageset_file("./data/ImageSets/train0.txt") val_img_ids = _read_imageset_file("./data/ImageSets/val0.txt") #trainval_img_ids = _read_imageset_file("./data/ImageSets/trainval.txt") #test_img_ids = _read_imageset_file("./data/ImageSets/test.txt") #test_img_ids = _read_imageset_file("./data/ImageSets/test2.txt") print("Generate info. this may take several minutes.") if save_path is None: save_path = pathlib.Path(data_path) else: save_path = pathlib.Path(save_path) kitti_infos_train = kitti.get_kitti_image_info( data_path, training=True, velodyne=True, calib=True, image_ids=train_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_train, relative_path) filename = save_path / 'kitti_infos_train.pkl' print(f"Kitti info train file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train, f) kitti_infos_val = kitti.get_kitti_image_info( data_path, training=True, velodyne=True, calib=True, image_ids=val_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_val, relative_path) filename = save_path / 'kitti_infos_val.pkl' print(f"Kitti info val file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_val, f) """ if create_trainval: kitti_infos_trainval = kitti.get_kitti_image_info( data_path, training=True, velodyne=True, calib=True, image_ids=trainval_img_ids, relative_path=relative_path) filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_trainval, f) """ filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train + kitti_infos_val, f)
def create_kitti_info_file(data_path, save_path=None, create_trainval=False, relative_path=True): dir_path = os.path.dirname(os.path.realpath(__file__)) train_img_ids = _read_imageset_file(dir_path + "/data/ImageSets/train.txt") val_img_ids = _read_imageset_file(dir_path + "/data/ImageSets/val.txt") trainval_img_ids = _read_imageset_file(dir_path + "/data/ImageSets/trainval.txt") test_img_ids = _read_imageset_file(dir_path + "/data/ImageSets/test.txt") print("Generate info. this may take several minutes.") if save_path is None: save_path = pathlib.Path(data_path) else: save_path = pathlib.Path(save_path) kitti_infos_train = kitti.get_kitti_image_info(data_path, training=True, velodyne=True, calib=True, image_ids=train_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_train, relative_path) filename = save_path / 'kitti_infos_train.pkl' print(f"Kitti info train file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train, f) kitti_infos_val = kitti.get_kitti_image_info(data_path, training=True, velodyne=True, calib=True, image_ids=val_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_val, relative_path) filename = save_path / 'kitti_infos_val.pkl' print(f"Kitti info val file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_val, f) filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train + kitti_infos_val, f) kitti_infos_test = kitti.get_kitti_image_info(data_path, training=False, label_info=False, velodyne=True, calib=True, image_ids=test_img_ids, relative_path=relative_path) filename = save_path / 'kitti_infos_test.pkl' print(f"Kitti info test file is saved to {filename}") #print(kitti_infos_test) with open(filename, 'wb') as f: pickle.dump(kitti_infos_test, f)
def create_kitti_info_file(data_path, save_path=None, create_trainval=False, relative_path=True): train_img_ids = list(range(0, 4533)) val_img_ids = list(range(0, 750)) trainval_img_ids = list(range(0, 7480)) # only kitti test_img_ids = list(range(0, 7517)) # only kitti print("Generate info. this may take several minutes.") if save_path is None: save_path = pathlib.Path(data_path) else: save_path = pathlib.Path(save_path) # get all the annos from the file kitti_infos_train = kitti.get_kitti_image_info(data_path, training=True, velodyne=True, calib=True, image_ids=train_img_ids, relative_path=relative_path) # calculate the number of points in the pointcloud which fall into each gt box _calculate_num_points_in_gt(data_path, kitti_infos_train, relative_path) # ------------------------------------------------------------------------------------------------------ # save pc infos # ------------------------------------------------------------------------------------------------------ filename = save_path / 'kitti_infos_train.pkl' print(f"Kitti info train file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train, f, 2) # do the same for training set kitti_infos_val = kitti.get_kitti_image_info(data_path, training=False, velodyne=True, calib=True, image_ids=val_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_val, relative_path) filename = save_path / 'kitti_infos_val.pkl' print(f"Kitti info val file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_val, f, 2) # ------------------------------------------------------------------------------------------------------ # old KITTI stuff # ------------------------------------------------------------------------------------------------------ """
def create_kitti_info_file_tracking(data_path, sequence, save_path=None, relative_path=True): train_img_ids = sorted( int(p.stem) for p in ((Path(data_path) / "training" / "velodyne" / sequence).glob("*"))) print("Generate info. this may take several minutes.") if save_path is None: save_path = Path(data_path) else: save_path = Path(save_path) kitti_infos_train = kitti.get_kitti_image_info( data_path, training=True, label_info= False, # TODO(brendan): Not handling reading labels for tracking right now. velodyne=True, calib=True, image_ids=train_img_ids, relative_path=relative_path, sequence=sequence) # TODO(brendan): seems to just adjust annos, which I'm not setting for tracking right now. # _calculate_num_points_in_gt(data_path, kitti_infos_train, relative_path) filename = save_path / f'kitti_infos_train{sequence}.pkl' print(f"Kitti info train file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train, f)
def create_kitti_tracking_info_file(data_path, save_path=None, relative_path=True): imageset_folder = Path(__file__).resolve().parent / "ImageSets" train_img_ids = _read_tracking_imageset_file(str(imageset_folder / "tracking_training_info_v4.txt")) val_img_ids = _read_tracking_imageset_file(str(imageset_folder / "tracking_val_info_v4.txt")) # NO test set from kitti tracking # test_img_ids = _read_imageset_file(str(imageset_folder / "test_tracking.txt")) print("Number of kitti tracking training data:{}".format(len(train_img_ids))) print("Number of kitti tracking val data:{}".format(len(val_img_ids))) print("Generate info. this may take several minutes.") if save_path is None: save_path = Path(data_path) else: save_path = Path(save_path) kitti_infos_train = kitti.get_kitti_image_info( data_path, training=True, tracking=True, velodyne=True, calib=True, num_worker=8, # debug only image_ids=train_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_train, relative_path) filename = save_path / 'kitti_infos_train.pkl' print(f"Kitti info train file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train, f) kitti_infos_val = kitti.get_kitti_image_info( data_path, training=True, tracking=True, velodyne=True, calib=True, image_ids=val_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_val, relative_path) filename = save_path / 'kitti_infos_val.pkl' print(f"Kitti info val file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_val, f) filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train + kitti_infos_val, f)
def initialize(self): image_infos = get_kitti_image_info(self.data_path, training=True, label_info=False, calib=True, image_ids=[self.calib_idx]) self.calib_info = image_infos[0] self._build() self._restore()
def create_kitti_info_file_only_test(data_path, save_path=None, create_trainval=False, relative_path=True): test_img_ids = _read_imageset_file("./data/ImageSets/test.txt") print("Generate info. this may take several minutes.") if save_path is None: save_path = pathlib.Path(data_path) else: save_path = pathlib.Path(save_path) kitti_infos_test = kitti.get_kitti_image_info(data_path, training=False, label_info=False, velodyne=True, calib=True, image_ids=test_img_ids, relative_path=relative_path) filename = save_path / 'kitti_infos_test.pkl' print(f"Kitti info test file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_test, f)
def create_kitti_info_file(data_path, save_path=None, create_trainval=False, relative_path=True, scene_num=None): # train_img_ids = _read_imageset_file("./data/ImageSets/train.txt") # val_img_ids = _read_imageset_file("./data/ImageSets/val.txt") # trainval_img_ids = _read_imageset_file("./data/ImageSets/trainval.txt") # scene_num ="0104" if scene_num is not None: test_img_ids = _read_imageset_file( "/home/spalab/jhyoo/dataset/KITTI_raw/2011_09_26_drive_" + scene_num + "_sync/testing/test.txt") else: import pdb pdb.set_trace() temp = 1 print("Generate info. this may take several minutes.") if save_path is None: save_path = pathlib.Path(data_path) else: save_path = pathlib.Path(save_path) # kitti_infos_train = kitti.get_kitti_image_info( # data_path, # training=True, # velodyne=True, # calib=True, # image_ids=train_img_ids, # relative_path=relative_path) # _calculate_num_points_in_gt(data_path, kitti_infos_train, relative_path) # filename = save_path / 'kitti_infos_train.pkl' # print(f"Kitti info train file is saved to {filename}") # with open(filename, 'wb') as f: # pickle.dump(kitti_infos_train, f) # kitti_infos_val = kitti.get_kitti_image_info( # data_path, # training=True, # velodyne=True, # calib=True, # image_ids=val_img_ids, # relative_path=relative_path) # _calculate_num_points_in_gt(data_path, kitti_infos_val, relative_path) # filename = save_path / 'kitti_infos_val.pkl' # print(f"Kitti info val file is saved to {filename}") # with open(filename, 'wb') as f: # pickle.dump(kitti_infos_val, f) # """ # if create_trainval: # kitti_infos_trainval = kitti.get_kitti_image_info( # data_path, # training=True, # velodyne=True, # calib=True, # image_ids=trainval_img_ids, # relative_path=relative_path) # filename = save_path / 'kitti_infos_trainval.pkl' # print(f"Kitti info trainval file is saved to {filename}") # with open(filename, 'wb') as f: # pickle.dump(kitti_infos_trainval, f) # """ # filename = save_path / 'kitti_infos_trainval.pkl' # print(f"Kitti info trainval file is saved to {filename}") # with open(filename, 'wb') as f: # pickle.dump(kitti_infos_train + kitti_infos_val, f) kitti_infos_test = kitti.get_kitti_image_info(data_path, training=False, label_info=False, velodyne=True, calib=True, image_ids=test_img_ids, relative_path=relative_path) f_name = 'kitti_infos_test_' + scene_num + '.pkl' filename = save_path / f_name print(f"Kitti info test file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_test, f)
def create_kitti_info_file(data_path, save_path=None, create_trainval=False, relative_path=True): train_img_ids = _read_imageset_file("./data/ImageSets/train.txt") val_img_ids = _read_imageset_file("./data/ImageSets/val.txt") trainval_img_ids = _read_imageset_file("./data/ImageSets/trainval.txt") test_img_ids = _read_imageset_file("./data/ImageSets/test.txt") print("Generate info. this may take several minutes.") if save_path is None: save_path = pathlib.Path(data_path) else: save_path = pathlib.Path(save_path) try: kitti_infos_train = kitti.get_kitti_image_info( data_path, training=True, velodyne=True, calib=True, image_ids=train_img_ids, relative_path=relative_path) except Exception as e: print('Got exception: {}'.format(e)) kitti_infos_train = [i for i in kitti_infos_train if i is not None] print('Found all {} valid train infos.'.format(len(kitti_infos_train))) _calculate_num_points_in_gt(data_path, kitti_infos_train, relative_path) filename = save_path / 'kitti_infos_train.pkl' print(f"Kitti info train file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train, f) kitti_infos_val = kitti.get_kitti_image_info(data_path, training=True, velodyne=True, calib=True, image_ids=val_img_ids, relative_path=relative_path) kitti_infos_val = [i for i in kitti_infos_val if i is not None] print('Found all {} valid test infos.'.format(len(kitti_infos_val))) _calculate_num_points_in_gt(data_path, kitti_infos_val, relative_path) filename = save_path / 'kitti_infos_val.pkl' print(f"Kitti info val file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_val, f) """ if create_trainval: kitti_infos_trainval = kitti.get_kitti_image_info( data_path, training=True, velodyne=True, calib=True, image_ids=trainval_img_ids, relative_path=relative_path) filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_trainval, f) """ filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train + kitti_infos_val, f) kitti_infos_test = kitti.get_kitti_image_info(data_path, training=False, label_info=False, velodyne=True, calib=True, image_ids=test_img_ids, relative_path=relative_path) kitti_infos_test = [i for i in kitti_infos_test if i is not None] print('Found all {} valid test infos.'.format(len(kitti_infos_test))) filename = save_path / 'kitti_infos_test.pkl' print(f"Kitti info test file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_test, f)
def create_kitti_info_file(data_path, save_path=None, create_trainval=False, relative_path=True): # Read all the lines in the already stored names of image files train_img_ids = _read_imageset_file("./data/ImageSets/train.txt") val_img_ids = _read_imageset_file("./data/ImageSets/val.txt") # trainval_img_ids = _read_imageset_file("./data/ImageSets/trainval.txt") # FIXME: Not sure what is trainval, simply a sum of train and val sets? test_img_ids = _read_imageset_file("./data/ImageSets/test.txt") print("Generate info. this may take several minutes.") if save_path is None: save_path = pathlib.Path(data_path) else: save_path = pathlib.Path(save_path) # Store train data info kitti_infos_train = kitti.get_kitti_image_info( data_path, training=True, velodyne=True, calib=True, image_ids=train_img_ids, relative_path=relative_path ) # NOTE: Get all useful info about each image such as TF, calibration, path to file, image shape _calculate_num_points_in_gt( data_path, kitti_infos_train, relative_path ) # Add num of points in ground-truth using call by reference approach filename = save_path / 'kitti_infos_train.pkl' print(f"Kitti info train file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train, f) # Store val data info kitti_infos_val = kitti.get_kitti_image_info(data_path, training=True, velodyne=True, calib=True, image_ids=val_img_ids, relative_path=relative_path) _calculate_num_points_in_gt(data_path, kitti_infos_val, relative_path) filename = save_path / 'kitti_infos_val.pkl' print(f"Kitti info val file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_val, f) """ if create_trainval: kitti_infos_trainval = kitti.get_kitti_image_info( data_path, training=True, velodyne=True, calib=True, image_ids=trainval_img_ids, relative_path=relative_path) filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_trainval, f) """ filename = save_path / 'kitti_infos_trainval.pkl' print(f"Kitti info trainval file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_train + kitti_infos_val, f) # Store test data info kitti_infos_test = kitti.get_kitti_image_info(data_path, training=False, label_info=False, velodyne=True, calib=True, image_ids=test_img_ids, relative_path=relative_path) filename = save_path / 'kitti_infos_test.pkl' print(f"Kitti info test file is saved to {filename}") with open(filename, 'wb') as f: pickle.dump(kitti_infos_test, f)