def __init__(self, root, output_size, dataset_file='meta.json', clip_n=3, max_obj_n=11): self.root = root self.clip_n = clip_n self.output_size = output_size self.max_obj_n = max_obj_n dataset_path = os.path.join(root, dataset_file) with open(dataset_path, 'r') as json_file: meta_data = json.load(json_file) self.dataset_list = list(meta_data['videos']) self.dataset_size = len(self.dataset_list) self.random_horizontal_flip = mytrans.RandomHorizontalFlip(0.3) self.color_jitter = TF.ColorJitter(0.1, 0.1, 0.1, 0.02) self.random_affine = mytrans.RandomAffine(degrees=15, translate=(0.1, 0.1), scale=(0.95, 1.05), shear=10) self.random_resize_crop = mytrans.RandomResizedCrop( output_size, (0.3, 0.5), (0.95, 1.05)) self.to_tensor = TF.ToTensor() self.to_onehot = mytrans.ToOnehot(max_obj_n, shuffle=True)
def __init__(self, root, output_size, imset='2017/train.txt', clip_n=3, max_obj_n=11): self.root = root self.clip_n = clip_n self.output_size = output_size self.max_obj_n = max_obj_n dataset_path = os.path.join(root, 'ImageSets', imset) self.dataset_list = list() with open(os.path.join(dataset_path), 'r') as lines: for line in lines: dataset_name = line.strip() if len(dataset_name) > 0: self.dataset_list.append(dataset_name) self.random_horizontal_flip = mytrans.RandomHorizontalFlip(0.3) self.color_jitter = TF.ColorJitter(0.1, 0.1, 0.1, 0.02) self.random_affine = mytrans.RandomAffine(degrees=15, translate=(0.1, 0.1), scale=(0.95, 1.05), shear=10) self.random_resize_crop = mytrans.RandomResizedCrop( output_size, (0.8, 1), (0.95, 1.05)) self.to_tensor = TF.ToTensor() self.to_onehot = mytrans.ToOnehot(max_obj_n, shuffle=True)
def __init__(self, root, dataset_file='videos.txt', max_obj_n=5): self.root = root self.dataset_list = list() with open(os.path.join(root, dataset_file), 'r') as lines: for line in lines: dataset_name = line.strip() if len(dataset_name) > 0: self.dataset_list.append(dataset_name) self.to_tensor = TF.ToTensor() self.to_onehot = mytrans.ToOnehot(max_obj_n, shuffle=False)
def __init__(self, root, img_set='2017/val.txt', max_obj_n=11, single_obj=False): self.root = root self.single_obj = single_obj dataset_path = os.path.join(root, 'ImageSets', img_set) self.dataset_list = list() with open(os.path.join(dataset_path), 'r') as lines: for line in lines: dataset_name = line.strip() if len(dataset_name) > 0: self.dataset_list.append(dataset_name) self.to_tensor = TF.ToTensor() self.to_onehot = mytrans.ToOnehot(max_obj_n, shuffle=False)
def __init__(self, root, dataset_file='meta.json', output_size=(495, 880), max_obj_n=11): self.root = root self.max_obj_n = max_obj_n self.out_h, self.out_w = output_size dataset_path = os.path.join(root, dataset_file) with open(dataset_path, 'r') as json_file: self.meta_data = json.load(json_file) self.dataset_list = list(self.meta_data['videos']) self.dataset_size = len(self.dataset_list) self.to_tensor = TF.ToTensor() self.to_onehot = mytrans.ToOnehot(max_obj_n, shuffle=False)
def __init__(self, img_dir, mask_dir): self.img_list = sorted( glob(os.path.join(img_dir, '*.jpg')) + glob(os.path.join(img_dir, '*.png'))) self.mask_list = sorted(glob(os.path.join(mask_dir, '*.png'))) first_mask = myutils.load_image_in_PIL(self.mask_list[0], 'P') first_frame = myutils.load_image_in_PIL(self.img_list[0]) self.first_name = os.path.basename(self.img_list[0])[:-4] first_mask = np.array(first_mask, np.uint8) self.obj_n = first_mask.max() + 1 self.img_list = self.img_list[1:] self.video_len = len(self.img_list) self.to_tensor = TF.ToTensor() self.to_onehot = mytrans.ToOnehot(self.obj_n, shuffle=False) first_mask, _ = self.to_onehot(first_mask) self.first_frame = self.to_tensor(first_frame) self.first_mask = first_mask[:self.obj_n]
def __init__(self, root, output_size, dataset_file='./assets/pretrain.txt', clip_n=3, max_obj_n=11): self.root = root self.clip_n = clip_n self.output_size = output_size self.max_obj_n = max_obj_n self.img_list = list() self.mask_list = list() dataset_list = list() with open(os.path.join(dataset_file), 'r') as lines: for line in lines: dataset_name = line.strip() img_dir = os.path.join(root, 'JPEGImages', dataset_name) mask_dir = os.path.join(root, 'Annotations', dataset_name) img_list = sorted(glob(os.path.join(img_dir, '*.jpg'))) + sorted(glob(os.path.join(img_dir, '*.png'))) mask_list = sorted(glob(os.path.join(mask_dir, '*.png'))) if len(img_list) > 0: if len(img_list) == len(mask_list): dataset_list.append(dataset_name) self.img_list += img_list self.mask_list += mask_list print(f'\t{dataset_name}: {len(img_list)} imgs.') else: print(f'\tPreTrain dataset {dataset_name} has {len(img_list)} imgs and {len(mask_list)} annots. Not match! Skip.') else: print(f'\tPreTrain dataset {dataset_name} doesn\'t exist. Skip.') print(myutils.gct(), f'{len(self.img_list)} imgs are used for PreTrain. They are from {dataset_list}.') self.random_horizontal_flip = mytrans.RandomHorizontalFlip(0.3) self.color_jitter = TF.ColorJitter(0.1, 0.1, 0.1, 0.03) self.random_affine = mytrans.RandomAffine(degrees=20, translate=(0.1, 0.1), scale=(0.9, 1.1), shear=10) self.random_resize_crop = mytrans.RandomResizedCrop(output_size, (0.8, 1)) self.to_tensor = TF.ToTensor() self.to_onehot = mytrans.ToOnehot(max_obj_n, shuffle=True)