Beispiel #1
0
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]
Beispiel #2
0
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]
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #5
0
 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),
     ])
Beispiel #6
0
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)
Beispiel #7
0
 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])
        ])
Beispiel #10
0
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)
Beispiel #11
0
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)
Beispiel #12
0
    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),
        ])
Beispiel #13
0
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)
Beispiel #14
0
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)
Beispiel #15
0
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)
Beispiel #16
0
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)