def make_voc_transforms(image_set, remove_difficult): normalize = T.Compose([ T.ToTensor(), T.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) transform_train = T.Compose([ T.RandomHorizontalFlip(), T.RandomSelect( T.RandomResize([400, 500, 600], max_size=1000), T.Compose([ T.RandomResize([400, 500, 600]), T.RandomCrop((384, 384)), T.RandomResize([400, 500, 600], max_size=1000), ]), ), normalize, T.RemoveDifficult(remove_difficult), ]) transform_val = T.Compose( [T.RandomResize([600], max_size=1000), normalize]) transforms = { "train": transform_train, "trainval": transform_train, "val": transform_val, "test": transform_val, } return transforms[image_set]
def make_lvis_transforms(image_set): normalize = T.Compose([ T.ToTensor(), T.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ]) scales = [480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800] transform_train = T.Compose([ T.RandomHorizontalFlip(), T.RandomSelect( T.RandomResize(scales, max_size=1333), T.Compose([ T.RandomResize([400, 500, 600]), T.RandomCrop((384, 384)), T.RandomResize(scales, max_size=1333), ]), ), normalize, ]) transform_val = T.Compose( [T.RandomResize([800], max_size=1333), normalize]) transforms = { "train": transform_train, "trainval": transform_train, "val": transform_val, "test": transform_val, } return transforms[image_set]
def get_transform(train, resolution): transforms = [] # if square resolution, perform some aspect cropping # otherwise, resize to the resolution as specified if resolution[0] == resolution[1]: base_size = resolution[0] + 32 crop_size = resolution[0] min_size = int((0.5 if train else 1.0) * base_size) max_size = int((2.0 if train else 1.0) * base_size) transforms.append(T.RandomResize(min_size, max_size)) # during training mode, perform some data randomization if train: transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.RandomCrop(crop_size)) else: # transforms.append(T.Resize(resolution)) if train: transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.ToTensor()) transforms.append( T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])) return T.Compose(transforms)
def get_transform(train): base_size = 520 crop_size = 480 min_size = int((0.5 if train else 1.0) * base_size) max_size = int((2.0 if train else 1.0) * base_size) transforms = [] transforms.append(T.RandomResize(min_size, max_size)) if train: transforms.append( T.RandomColorJitter(brightness=0.25, contrast=0.25, saturation=0.25, hue=0.25)) transforms.append(T.RandomGaussianSmoothing(radius=[0, 5])) transforms.append(T.RandomRotation(degrees=30, fill=0)) transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.RandomPerspective(fill=0)) transforms.append(T.RandomCrop(crop_size, fill=0)) transforms.append(T.RandomGrayscale(p=0.1)) transforms.append(T.ToTensor()) transforms.append( T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])) return T.Compose(transforms)
def __init__(self, base_size, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)): self.transforms = T.Compose([ T.RandomResize(base_size, base_size), T.ToTensor(), T.Normalize(mean=mean, std=std), ])
def get_transform(train): base_size = crop_size = 385 min_size = int((0.5 if train else 1.0) * base_size) max_size = int((2.0 if train else 1.0) * base_size) transforms = [] transforms.append(T.RandomResize(min_size, max_size)) if train: transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.ToTensor()) return T.Compose(transforms)
def __init__(self, base_size, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)): self.transforms = T.Compose([ T.RandomResize(base_size, base_size), T.PILToTensor(), T.ConvertImageDtype(torch.float), T.Normalize(mean=mean, std=std), ])
def __init__(self, base_size, crop_size, hflip_prob=0.5, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225)): min_size = int(0.5 * base_size) max_size = int(2.0 * base_size) trans = [T.RandomResize(min_size, max_size)] if hflip_prob > 0: trans.append(T.RandomHorizontalFlip(hflip_prob)) trans.extend([ T.RandomCrop(crop_size), T.ToTensor(), T.Normalize(mean=mean, std=std), ]) self.transforms = T.Compose(trans)
def __init__(self): # Load all the images from coco self.images = glob.glob('../data/coco/*/*.jpg') # self data size self.data_size = len(self.images) # define the required transform on images self.resize = T.RandomResize([800], max_size=1331) self.transform = transforms.Compose([ transforms.ToTensor(), transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) ])
def get_transforms(train, base_size=520, crop_size=480): min_size = int((0.5 if train else 1.0) * base_size) max_size = int((2.0 if train else 1.0) * base_size) transforms = [] transforms.append(T.RandomResize(min_size, max_size)) if train: transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.RandomCrop(crop_size)) transforms.append(T.ToTensor()) transforms.append(T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])) return T.Compose(transforms)
def get_transform(mode, base_size): #base_size = 520 #crop_size = 480 crop_size = int(480 * base_size / 520) min_size = int((0.5 if mode == 'train' else 1.0) * base_size) max_size = int((2.0 if mode == 'train' else 1.0) * base_size) transforms = [] transforms.append(T.RandomResize(min_size, max_size)) if mode == 'train': transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.RandomCrop(crop_size)) transforms.append(T.ToTensor()) transforms.append( T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])) return T.Compose(transforms)
def __init__(self, base_size, mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225), contrast=1, brightness=1, sigma=1): self.contrast_initial = contrast self.contrast_final = contrast if (contrast == 1): self.contrast_final = contrast else: self.contrast_final = self.contrast_initial - 1 self.brightness_initial = brightness self.brightness_final = brightness if (brightness == 1): self.brightness_final = brightness else: self.brightness_final = self.brightness_initial - 1 self.sigma_initial = sigma self.sigma_final = sigma if (sigma == 1): self.sigma_final = sigma else: self.sigma_final = self.sigma_initial - 1 print("Contrast: ({}, {})".format(self.contrast_final, self.contrast_initial)) print("Brightness: ({}, {})".format(self.brightness_final, self.brightness_initial)) print("Sigma: ({}, {})".format(self.sigma_final, self.sigma_initial)) self.transforms = T.Compose([ T.RandomResize(base_size, base_size), T.PILToTensor(), T.ConvertImageDtype(torch.float), T.ColorJitter(contrast=(self.contrast_final, self.contrast_initial), brightness=(self.brightness_final, self.brightness_initial)), #T.GaussianBlur(kernel_size=19, sigma=(self.sigma_final, self.sigma_initial)), T.Normalize(mean=mean, std=std), ])
def get_transform(train): base_size = 1000 crop_size = 768 min_size = int((0.5 if train else 1.0) * base_size) max_size = int((2.0 if train else 1.0) * base_size) transforms = [] transforms.append(T.RandomResize(min_size, max_size)) if train: transforms.append(T.ColorJitter(0.5, 0.5, 0.5, 0.5)) transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.RandomVerticalFlip(0.5)) transforms.append(T.RandomCrop(crop_size)) transforms.append(T.ToTensor()) transforms.append( T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])) return T.Compose(transforms)
def get_transform(train, resolution): transforms = [] # if square resolution, perform some aspect cropping # otherwise, resize to the resolution as specified if resolution[0] == resolution[1]: base_size = resolution[0] + 32 #520 crop_size = resolution[0] #480 min_size = int((0.5 if train else 1.0) * base_size) max_size = int((2.0 if train else 1.0) * base_size) transforms.append(T.RandomResize(min_size, max_size)) # during training mode, perform some data randomization if train: transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.RandomCrop(crop_size)) if (args.randomize_color > 0.0): transforms.append(T.RandomizeColor(args.randomize_color)) else: transforms.append(T.Resize(resolution)) if train: transforms.append(T.RandomHorizontalFlip(0.5)) if (args.randomize_color > 0.0): transforms.append(T.RandomizeColor(args.randomize_color)) transforms.append( T.IncreaseContrastSaturation( args.adjust_contrast_saturation_val)) transforms.append(T.ToTensor()) mean_norm = args.mean_norm std_norm = args.std_norm transforms.append( T.Normalize(mean=[mean_norm, mean_norm, mean_norm], std=[std_norm, std_norm, std_norm])) return T.Compose(transforms)
def get_transform(train): base_size = 520 crop_size = 480 min_size = int((0.5 if train else 1.0) * base_size) max_size = int((2.0 if train else 1.0) * base_size) transforms = [] if train: transforms.append(T.RandomResize( min_size, max_size)) #move this line inside if condition transforms.append(T.RandomHorizontalFlip(0.5)) # can add random rotation if have chance transforms.append(T.RandomCrop(crop_size)) else: transforms.append(T.Resize( (min_size, max_size) )) # add new line to reshape test/dp-train data into square shape transforms.append(T.ToTensor()) transforms.append( T.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])) return T.Compose(transforms)
def build_transforms(is_train, size, crop_size,mode="baseline"): mean = (0.485, 0.456, 0.406) std = (0.229, 0.224, 0.225) fill = tuple([int(v * 255) for v in mean]) ignore_value = 255 transforms=[] min_scale=1 max_scale=1 if is_train: min_scale=0.5 max_scale=2 transforms.append(T.RandomResize(int(min_scale*size),int(max_scale*size))) if is_train: if mode=="baseline": pass elif mode=="randaug": transforms.append(T.RandAugment(2,1/3,prob=1.0,fill=fill,ignore_value=ignore_value)) elif mode=="custom1": transforms.append(T.ColorJitter(0.5,0.5,(0.5,2),0.05)) transforms.append(T.AddNoise(10)) transforms.append(T.RandomRotation((-10,10), mean=fill, ignore_value=0)) else: raise NotImplementedError() transforms.append( T.RandomCrop( crop_size,crop_size, fill, ignore_value, random_pad=is_train )) transforms.append(T.RandomHorizontalFlip(0.5)) transforms.append(T.ToTensor()) transforms.append(T.Normalize( mean, std )) return T.Compose(transforms)