Ejemplo n.º 1
0
    def __init__(self, root, list_path, set='val',
                 max_iters=None,
                 crop_size=(321, 321), mean=(128, 128, 128),
                 load_labels=True,
                 info_path=DEFAULT_INFO_PATH, labels_size=None,
                 label_folder='',
                 num_classes=19):
        self.label_folder = label_folder
        super().__init__(root, list_path, set, max_iters, crop_size, labels_size, mean)

        self.load_labels = load_labels
        if num_classes==16:
            self.info = json_load(INFO_PATH_16)
        elif num_classes==7:
            self.info = json_load(INFO_PATH_7)
        else:
            self.info = json_load(info_path)
        self.mapping = np.array(self.info['label2train'], dtype=np.int)
        self.map_vector = np.zeros((self.mapping.shape[0],), dtype=np.int64)
        for source_label, target_label in self.mapping:
            self.map_vector[source_label] = target_label
Ejemplo n.º 2
0
    def __init__(self,
                 root,
                 list_path,
                 set='val',
                 max_iters=None,
                 crop_size=(321, 321),
                 mean=(128, 128, 128),
                 load_labels=True,
                 info_path=DEFAULT_INFO_PATH,
                 labels_size=None):
        super().__init__(root, list_path, set, max_iters, crop_size,
                         labels_size, mean)

        self.load_labels = load_labels
        self.info = json_load(info_path)
        self.class_names = np.array(self.info['label'], dtype=np.str)
        self.mapping = np.array(self.info['label2train'], dtype=np.int)
        self.map_vector = np.zeros((self.mapping.shape[0], ), dtype=np.int64)
        for source_label, target_label in self.mapping:
            self.map_vector[source_label] = target_label
Ejemplo n.º 3
0
 def __init__(self,
              root,
              list_path,
              set='train',
              max_iters=None,
              crop_size=(321, 321),
              mean=(128, 128, 128),
              info_path=DEFAULT_INFO_PATH,
              class_mappings=MAPILLARY_2_CITYSCAPES,
              class_list=COMMON_7CLASSES,
              scale_label=True):
     super().__init__(root, list_path, set, max_iters, crop_size, None,
                      mean)
     self.info = json_load(info_path)
     self.map_vector = None
     self.scale_label = scale_label
     ori_class_names = [label['readable'] for label in self.info['labels']]
     if class_mappings is not None:
         self.map_vector = array_from_class_mappings(
             ori_class_names, class_mappings, class_list)
     self.class_names = list(class_list.keys())
Ejemplo n.º 4
0
    def __init__(self, root, set='train', max_iters=None, crop_size=(321, 321), mean=(128, 128, 128),
                 class_mappings=classes_mappings_mapillary_to_cityscapes, model_classes=classes_ids,
                 load_instances=False, scale_label=True, labels_size=None, info_path=DEFAULT_INFO_PATH,
                 label_folder=''):
        # root = Path(download('mapillary'))
        self.label_folder = label_folder
        self.path = Path(root) / set
        self.crop_size = crop_size
        if labels_size is None:
            self.labels_size = crop_size
        else:
            self.labels_size = labels_size
        self.load_instances = load_instances
        self.mean = mean
        self.scale_label = scale_label
        self.info = json_load(info_path)

        if self.label_folder is not '':
            sorted_paths = (sorted((self.path / 'images').iterdir()),
                            sorted((Path(self.label_folder)).iterdir()),
                            sorted((self.path / 'instances').iterdir()))
        else:
            sorted_paths = map(lambda x: sorted((self.path / x).iterdir()),
                                ('images', 'labels', 'instances'))

        self.data_paths = list(zip(*sorted_paths))
        if max_iters is not None:
            self.data_paths = self.data_paths * int(np.ceil(float(max_iters) / len(self.data_paths)))

        self.labels = json.loads((Path(root) / 'config.json').read_text())['labels']

        self.vector_mappings = None
        if class_mappings is not None:
            dataset_classes = [label['readable'] for label in self.labels]
            self.vector_mappings = array_from_class_mappings(dataset_classes,
                                                             class_mappings,
                                                             model_classes)