Пример #1
0
def load_data_transformers(resize_reso=512, crop_reso=448, swap_num=[7, 7]):
    center_resize = 600
    Normalize = transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
    data_transforms = {
       	'swap': transforms.Compose([
            transforms.Randomswap((swap_num[0], swap_num[1])),
        ]),
        'common_aug': transforms.Compose([
            transforms.Resize((resize_reso, resize_reso)),
            transforms.RandomRotation(degrees=15),
            transforms.RandomCrop((crop_reso,crop_reso)),
            transforms.RandomHorizontalFlip(),
        ]),
        'train_totensor': transforms.Compose([
            transforms.Resize((crop_reso, crop_reso)),
            # ImageNetPolicy(),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
        ]),
        'val_totensor': transforms.Compose([
            transforms.Resize((crop_reso, crop_reso)),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
        ]),
        'test_totensor': transforms.Compose([
            transforms.Resize((resize_reso, resize_reso)),
            transforms.CenterCrop((crop_reso, crop_reso)),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
        ]),
        'None': None,
    }
    return data_transforms
Пример #2
0
 def _train_image_transform(self):
     transform = transforms.Compose([
         transforms.Resize(256),
         transforms.RandomCrop(224),
         transforms.RandomHorizontalFlip(),
         transforms.RandomVerticalFlip(),
         transforms.RandomRotation(0.2),
         transforms.ColorJitter(0.1, 0, 0, 0),
         transforms.ToTensor(),
         transforms.Normalize(mean=[0.485, 0.456, 0.406],
                              std=[0.229, 0.224, 0.225])
     ])
     return transform
Пример #3
0
def load_transforms(args, random_chance=1):

    # s determins random offset factor. If random_chance==0 (e.g. during testing), then we want no random offset.
    if random_chance == 0:
        s = 0
    else:
        s = 1

    transforms = tfs.ComposeMRI([
        tfs.LoadNifti(),
        tfs.RandomScaling(scale_range=[.95, 1.05]),  #.95,1.05
        tfs.RandomRotation(angle_interval=[-10, 10],
                           rotation_axis=None),  #-10,10
        tfs.ApplyAffine(so=2, chance=random_chance),
        tfs.Gamma(gamma_range=[.9, 1.1], chance=random_chance),  #.9,1.1
        tfs.ReturnImageData(),
        tfs.Crop(dims=args['img_dim'], offset=[0, -0, 0], rand_offset=5 * s),
        tfs.ReduceSlices(2, 2),
        tfs.PrcCap(),
        tfs.UnitInterval(),
        tfs.ToTensor(),
    ])

    return transforms
Пример #4
0
def load_data_transformers(resize_reso=512, crop_reso=448, swap_num=[7, 7]):
    center_resize = 600
    Normalize = transforms.Normalize([0.485, 0.456, 0.406],
                                     [0.229, 0.224, 0.225])
    data_transforms = {
        'swap':
        transforms.Compose([
            transforms.Resize((resize_reso, resize_reso)),
            transforms.RandomRotation(degrees=15),
            transforms.RandomCrop((crop_reso, crop_reso)),
            transforms.RandomHorizontalFlip(),
            transforms.Randomswap((swap_num[0], swap_num[1])),
        ]),
        'food_swap':
        transforms.Compose([
            transforms.Resize((resize_reso, resize_reso)),
            transforms.RandomRotation(degrees=90),
            #transforms.RandomCrop((crop_reso, crop_reso)),
            transforms.RandomHorizontalFlip(),
            transforms.RandomVerticalFlip(),
            transforms.RandomResizedCrop(size=crop_reso, scale=(0.75, 1)),
            transforms.Randomswap((swap_num[0], swap_num[1])),
        ]),
        'food_unswap':
        transforms.Compose([
            transforms.Resize((resize_reso, resize_reso)),
            transforms.RandomRotation(degrees=90),
            #transforms.RandomCrop((crop_reso, crop_reso)),
            transforms.RandomHorizontalFlip(),
            transforms.RandomVerticalFlip(),
            transforms.RandomResizedCrop(size=crop_reso, scale=(0.75, 1)),
        ]),
        'unswap':
        transforms.Compose([
            transforms.Resize((resize_reso, resize_reso)),
            transforms.RandomRotation(degrees=15),
            transforms.RandomCrop((crop_reso, crop_reso)),
            transforms.RandomHorizontalFlip(),
        ]),
        'train_totensor':
        transforms.Compose([
            transforms.Resize((crop_reso, crop_reso)),
            #ImageNetPolicy(),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
        ]),
        'val_totensor':
        transforms.Compose([
            transforms.Resize((crop_reso, crop_reso)),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
        ]),
        'test_totensor':
        transforms.Compose([
            transforms.Resize((resize_reso, resize_reso)),
            transforms.CenterCrop((crop_reso, crop_reso)),
            transforms.ToTensor(),
            transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]),
        ]),
        'None':
        None,
        'Centered_swap':
        transforms.Compose([
            transforms.CenterCrop((center_resize, center_resize)),
            transforms.Resize((resize_reso, resize_reso)),
            transforms.RandomRotation(degrees=15),
            transforms.RandomCrop((crop_reso, crop_reso)),
            transforms.RandomHorizontalFlip(),
            transforms.Randomswap((swap_num[0], swap_num[1])),
        ]),
        'Centered_unswap':
        transforms.Compose([
            transforms.CenterCrop((center_resize, center_resize)),
            transforms.Resize((resize_reso, resize_reso)),
            transforms.RandomRotation(degrees=15),
            transforms.RandomCrop((crop_reso, crop_reso)),
            transforms.RandomHorizontalFlip(),
        ]),
        'Tencrop':
        transforms.Compose([
            transforms.Resize((resize_reso, resize_reso)),
            transforms.TenCrop((crop_reso, crop_reso)),
            transforms.Lambda(lambda crops: torch.stack(
                [transforms.ToTensor()(crop) for crop in crops])),
        ])
    }

    return data_transforms
Пример #5
0
 net = ACCNN(n_classes=n_classes,
             pre_trained=True,
             dataset=dataset,
             fold=fold,
             virtualize=True,
             using_fl=fl).to(DEVICE)
 print("------------%s Model Already be Prepared------------" % net_name)
 input_img_size = net.input_size
 IMG_MEAN = [0.449]
 IMG_STD = [0.226]
 transform_train = transforms.Compose([
     transforms.Resize(
         input_img_size
     ),  # 缩放将图片的最小边缩放为 input_img_size,因此如果输入是非正方形的,那么输出也不是正方形的
     transforms.RandomHorizontalFlip(),
     transforms.RandomRotation(30),
     transforms.ToTensor(),
     transforms.Normalize(IMG_MEAN, IMG_STD),
 ])
 transform_test = transforms.Compose([
     transforms.Resize(
         input_img_size
     ),  # 缩放将图片的最小边缩放为 input_img_size,因此如果输入是非正方形的,那么输出也不是正方形的
     transforms.ToTensor(),
     transforms.Normalize(IMG_MEAN, IMG_STD),
 ])
 print("------------Preparing Data...----------------")
 if dataset == "JAFFE":
     test_data = JAFFE(is_train=False,
                       transform=transform_test,
                       target_type=target_type,
Пример #6
0
    numimage = 6667

print('Dataset:', cfg['dataset'])
print('train images:', train_pd.shape)
print('test images:', test_pd.shape)
print('num classes:', cfg['numcls'])

print('Set transform')

cfg['swap_num'] = 7

data_transforms = {
    'swap':
    transforms.Compose([
        transforms.Resize((512, 512)),
        transforms.RandomRotation(degrees=15),
        transforms.RandomCrop((448, 448)),
        transforms.RandomHorizontalFlip(),
        transforms.Randomswap((cfg['swap_num'], cfg['swap_num'])),
    ]),
    'unswap':
    transforms.Compose([
        transforms.Resize((512, 512)),
        transforms.RandomRotation(degrees=15),
        transforms.RandomCrop((448, 448)),
        transforms.RandomHorizontalFlip(),
    ]),
    'totensor':
    transforms.Compose([
        transforms.Resize((448, 448)),
        transforms.ToTensor(),

# Load image
dataset = SLAM('data/SLAM')
data, target = dataset[1]

# Add grid lines (https://stackoverflow.com/a/20473192/5828163)
dx, dy = 80, 80
data[:, ::dy, :] = [0, 0, 0, 0]
data[::dx, :, :] = [0, 0, 0, 0]
target[:, ::dy] = 1
target[::dx, :] = 1

# Plot transformations
plot_data_target(data, target, 'Original')

transform_list = [
    transforms.RandomHorizontalFlip(p=1),
    transforms.RandomVerticalFlip(p=1),
    transforms.MinMaxScaling(),
    transforms.RandomElasticDeformation(alpha=200, sigma=10, alpha_affine=40),
    transforms.Pad(92, padding_mode='reflect'),
    transforms.RandomRotation(180),
    transforms.RandomCrop(572, 388),
    transforms.ToTensor(),
]

for transform in transform_list:
    data, target = transform(data, target)
    plot_data_target(data, target, transform.__class__.__name__)
Пример #8
0
    IMG_STD = [0.226]
    # for RGB images
    # IMG_MEAN = [0.485, 0.456, 0.406]
    # IMG_STD = [0.229, 0.224, 0.225]

    crop_img_size = int(net.input_size * 1.2)
    input_img_size = net.input_size
    transform_using_crop = opt.tr_using_crop
    if transform_using_crop:
        transform_train = transforms.Compose([
            transforms.Resize(crop_img_size),
            transforms.TenCrop(input_img_size),
            transforms.Lambda(lambda crops: torch.stack([
                transforms.Normalize(IMG_MEAN, IMG_STD)
                (transforms.ToTensor()(transforms.RandomHorizontalFlip()(
                    transforms.RandomRotation(30)(crop)))) for crop in crops
            ])),
        ])
        transform_test = transforms.Compose([
            transforms.Resize(crop_img_size),
            transforms.TenCrop(input_img_size),
            transforms.Lambda(lambda crops: torch.stack([
                transforms.Normalize(IMG_MEAN, IMG_STD)
                (transforms.ToTensor()(crop)) for crop in crops
            ])),
        ])
    else:
        transform_train = transforms.Compose([
            transforms.Resize(
                input_img_size
            ),  # 缩放将图片的最小边缩放为 input_img_size,因此如果输入是非正方形的,那么输出也不是正方形的