def __init__(self, mode, test_id=None): self.name = 'SemanticKITTI' self.dataset_path = '/data/WQ/DataSet/semantic-kitti/dataset/sequences_0.06' self.label_to_names = {0: 'unlabeled', 1: 'car', 2: 'bicycle', 3: 'motorcycle', 4: 'truck', 5: 'other-vehicle', 6: 'person', 7: 'bicyclist', 8: 'motorcyclist', 9: 'road', 10: 'parking', 11: 'sidewalk', 12: 'other-ground', 13: 'building', 14: 'fence', 15: 'vegetation', 16: 'trunk', 17: 'terrain', 18: 'pole', 19: 'traffic-sign'} self.num_classes = len(self.label_to_names) self.label_values = np.sort([k for k, v in self.label_to_names.items()]) self.label_to_idx = {l: i for i, l in enumerate(self.label_values)} self.ignored_labels = np.sort([0]) self.seq_list = np.sort(os.listdir(self.dataset_path)) if mode == 'test': self.test_scan_number = str(test_id) self.mode = mode train_list, val_list, test_list = DP.get_file_list(self.dataset_path, str(test_id)) if mode == 'training': self.data_list = train_list elif mode == 'validation': self.data_list = val_list elif mode == 'test': self.data_list = test_list # self.data_list = self.data_list[0:1] self.data_list = DP.shuffle_list(self.data_list) self.possibility = [] self.min_possibility = [] if mode == 'test': path_list = self.data_list for test_file_name in path_list: points = np.load(test_file_name) self.possibility += [np.random.rand(points.shape[0]) * 1e-3] self.min_possibility += [float(np.min(self.possibility[-1]))] cfg.ignored_label_inds = [self.label_to_idx[ign_label] for ign_label in self.ignored_labels] cfg.class_weights = DP.get_class_weights('SemanticKITTI')
def __init__(self, test_id): self.name = 'SemanticKITTI' self.dataset_path = '/data/semantic_kitti/dataset/sequences_0.06' self.label_to_names = { 0: 'unlabeled', 1: 'car', 2: 'bicycle', 3: 'motorcycle', 4: 'truck', 5: 'other-vehicle', 6: 'person', 7: 'bicyclist', 8: 'motorcyclist', 9: 'road', 10: 'parking', 11: 'sidewalk', 12: 'other-ground', 13: 'building', 14: 'fence', 15: 'vegetation', 16: 'trunk', 17: 'terrain', 18: 'pole', 19: 'traffic-sign' } self.num_classes = len(self.label_to_names) self.label_values = np.sort( [k for k, v in self.label_to_names.items()]) self.label_to_idx = {l: i for i, l in enumerate(self.label_values)} self.ignored_labels = np.sort([0]) self.val_split = '08' self.seq_list = np.sort(os.listdir(self.dataset_path)) self.test_scan_number = str(test_id) self.train_list, self.val_list, self.test_list = DP.get_file_list( self.dataset_path, self.test_scan_number) self.train_list = DP.shuffle_list(self.train_list) self.val_list = DP.shuffle_list(self.val_list) self.possibility = [] self.min_possibility = []