def aug_image(image):
    from albumentations import (
        HorizontalFlip, IAAPerspective, ShiftScaleRotate, CLAHE, RandomRotate90, RandomGamma, VerticalFlip,
        Transpose, ShiftScaleRotate, Blur, OpticalDistortion, GridDistortion, HueSaturationValue, 
        IAAAdditiveGaussianNoise, GaussNoise, MotionBlur, MedianBlur, RandomBrightnessContrast, IAAPiecewiseAffine,
        IAASharpen, IAAEmboss, Flip, OneOf, Compose, Rotate, RandomContrast, RandomBrightness, RandomCrop, Resize, OpticalDistortion
    )

    transforms = Compose([
            #Rotate(limit=30, p=0.5),
            #Rotate(limit=180, p=0.5),
            #RandomRotate90(p=1.0)
            #Transpose(p=1.0)
            # Resize(248,248, p=1),     # resize 후 크롭
            # RandomCrop(224,224, p=1),  # 위에꺼랑 세트
            
            OneOf([
            RandomContrast(p=1, limit=(-0.5,2)),   # -0.5 ~ 2 까지가 현장과 가장 비슷함  -- RandomBrightnessContrast
            RandomBrightness(p=1, limit=(-0.2,0.4)),
            RandomGamma(p=1, gamma_limit=(80,200)),
            ], p=1),
                
            # OneOf([
            #     Rotate(limit=30, p=0.3),
            #     RandomRotate90(p=0.3),
            #     VerticalFlip(p=0.3)
            # ], p=0.3),
        
            MotionBlur(p=0.2),   # 움직일때 흔들리는 것 같은 이미지
            #ShiftScaleRotate(shift_limit=0.001, scale_limit=0.1, rotate_limit=30, p=0.3, border_mode=1),
            #Resize(224,224, p=1),
            ],
            p=1)
    return transforms(image=image)['image']
예제 #2
0
def get_train_transform(smallest_max_size: int, size: int):
    return Compose([
        SmallestMaxSize(smallest_max_size),
        RandomScale(scale_limit=0.125),
        # PadIfNeeded(256, 256, border_mode=cv2.BORDER_CONSTANT., value=0, p=1.),
        # ShiftScaleRotate(
        #     shift_limit=0.0625, scale_limit=0.1, rotate_limit=30,
        #     border_mode=cv2.BORDER_REFLECT_101, p=1.),
        Rotate(limit=20, border_mode=cv2.BORDER_REFLECT_101, p=1.),
        OneOf([
            RandomCrop(size, size, p=0.9),
            CenterCrop(size, size, p=0.1),
        ],
              p=1.),
        HorizontalFlip(p=0.5),
        RandomContrast(limit=0.2, p=0.5),
        RandomGamma(gamma_limit=(80, 120), p=0.5),
        RandomBrightness(limit=0.2, p=0.5),
        # HueSaturationValue(hue_shift_limit=5, sat_shift_limit=20,
        #                    val_shift_limit=10, p=1.),
        # OneOf([
        #     OpticalDistortion(p=0.3),
        #     GridDistortion(p=0.1),
        #     IAAPiecewiseAffine(p=0.3),
        # ], p=0.2),
        # OneOf([
        #     IAAAdditiveGaussianNoise(
        #         loc=0, scale=(1., 6.75), per_channel=False, p=0.3),
        #     GaussNoise(var_limit=(5.0, 20.0), p=0.6),
        # ], p=0.5),
        # Cutout(num_holes=4, max_h_size=30, max_w_size=50, p=0.75),
        # JpegCompression(quality_lower=50, quality_upper=100, p=0.5)
    ])
예제 #3
0
def strong_aug(p=.5):
    return Compose([
        HorizontalFlip(),
        OneOf([
            IAAAdditiveGaussianNoise(),
            GaussNoise(),
        ], p=0.4),
        OneOf([
            MotionBlur(p=.2),
            MedianBlur(blur_limit=3, p=.1),
            Blur(blur_limit=3, p=.1),
        ],
              p=0.3),
        OneOf([
            OpticalDistortion(p=0.3),
            GridDistortion(p=.1),
            IAAPiecewiseAffine(p=0.3),
        ],
              p=0.2),
        OneOf([
            CLAHE(clip_limit=2),
            IAASharpen(),
            RandomContrast(),
            RandomBrightness(),
        ],
              p=0.3),
        HueSaturationValue(p=0.3),
        ChannelShuffle(),
        Cutout(num_holes=20, max_h_size=16, max_w_size=16)
    ],
                   p=p)
예제 #4
0
def get_transforms(config, mode):
    if (mode == "val") or (mode =="test"):
        transform = [
            Resize(config["model"]["image_size"], config["model"]["image_size"]),
            # Normalize(mean=phase_config.mean, std=phase_config.std, p=1),
            ToTensor(),
        ]
        return transform

    elif mode == "train":
        list_transforms = []
        config_tarnsform = config[mode]["transform"]
        if config_tarnsform["HorizontalFlip"]:
            list_transforms.append(HorizontalFlip())
        if config_tarnsform["VerticalFlip"]:
            list_transforms.append(VerticalFlip())
        if config_tarnsform["Contrast"]:
            list_transforms.append(
                OneOf([
                    RandomContrast(0.5),
                    RandomBrightness(),
                ], p=0.5),
            )
        if config_tarnsform["ShiftScaleRotate"]:
            list_transforms.append(ShiftScaleRotate(shift_limit=(-0.05, 0.05), scale_limit=(-0.05, 0.05), rotate_limit=(-30,30), p=0.5))

        list_transforms.extend(
            [
                Resize(config["model"]["image_size"], config["model"]["image_size"]),
                # Normalize(mean=phase_config.mean, std=phase_config.std, p=1),
                ToTensor(),
            ]
        )

        return list_transforms
예제 #5
0
def get_transforms1(*, data, CFG):
    if data == 'train':
        return Compose([
            #RandomCrop(512,512,p=1),
            HorizontalFlip(p=CFG.augmentation.augmix_p),
            VerticalFlip(p=CFG.augmentation.augmix_p),
            RandomContrast(p=CFG.augmentation.contrast_p),
            #GaussNoise(p=0.5),
            RandomRotate90(p=CFG.augmentation.rotate_90_p),
            #RandomGamma(p=0.5),
            RandomBrightnessContrast(p=CFG.augmentation.bright_contrast_p),
            RandomAugMix(severity=CFG.augmentation.augmix_s,
                         width=3,
                         alpha=1.,
                         p=CFG.augmentation.augmix_p),
            #GaussianBlur(p=0.5),
            GridMask(num_grid=CFG.augmentation.grdimask_n,
                     p=CFG.augmentation.grdimask_p),
            Cutout(p=CFG.augmentation.cutout_p,
                   max_h_size=CFG.augmentation.cutout_h,
                   max_w_size=CFG.augmentation.cutout_w),
            Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
        ])
    elif data == 'valid':
        return Compose([
            Normalize(
                mean=[0.485, 0.456, 0.406],
                std=[0.229, 0.224, 0.225],
            )
        ])
예제 #6
0
def aug_image(image):
    from albumentations import (
        HorizontalFlip, IAAPerspective, ShiftScaleRotate, CLAHE,
        RandomRotate90, RandomGamma, VerticalFlip, Transpose, ShiftScaleRotate,
        Blur, OpticalDistortion, GridDistortion, HueSaturationValue,
        IAAAdditiveGaussianNoise, GaussNoise, MotionBlur, MedianBlur,
        RandomBrightnessContrast, IAAPiecewiseAffine, IAASharpen, IAAEmboss,
        Flip, OneOf, Compose, Rotate, RandomContrast, RandomBrightness,
        RandomCrop, Resize, OpticalDistortion)

    transforms = Compose(
        [
            OneOf(
                [
                    RandomContrast(
                        p=1, limit=(-0.5, 1.5)
                    ),  # -0.5 ~ 2 까지가 현장과 가장 비슷함  -- RandomBrightnessContrast
                    RandomBrightness(p=1, limit=(-0.2, 0.2)),
                    RandomGamma(p=1, gamma_limit=(80, 150)),
                ],
                p=1),
            MotionBlur(p=0.2),  # 움직일때 흔들리는 것 같은 이미지
        ],
        p=1)
    return transforms(image=image)['image']
예제 #7
0
def strong_aug(p=.5):
    return Compose([
        JpegCompression(p=0.9),
        HorizontalFlip(p=0.5),
        OneOf([
            IAAAdditiveGaussianNoise(),
            GaussNoise(),
        ], p=0.5),
        OneOf([
            MotionBlur(p=.2),
            MedianBlur(blur_limit=3, p=.1),
            Blur(blur_limit=3, p=.1),
        ],
              p=0.5),
        ShiftScaleRotate(
            shift_limit=0.0625, scale_limit=0.2, rotate_limit=15, p=.5),
        OneOf([
            CLAHE(clip_limit=2),
            IAASharpen(),
            IAAEmboss(),
            RandomContrast(),
            RandomBrightness(),
        ],
              p=0.5),
        HueSaturationValue(p=0.5),
    ],
                   p=p)
예제 #8
0
def strong_aug(p=1):
    return Compose(
        [
            HorizontalFlip(p=0.5),
            OneOf([
                RandomCrop(94, 94, p=0.6),
                ShiftScaleRotate(shift_limit=(0.1, 0.1),
                                 scale_limit=(0.05, 0.05),
                                 rotate_limit=10,
                                 p=0.4),
            ],
                  p=0.6),
            OneOf([
                ElasticTransform(p=0.2,
                                 alpha=120,
                                 sigma=120 * 0.05,
                                 alpha_affine=120 * 0.03),
                IAAPiecewiseAffine(p=.4),
                GridDistortion(p=0.4),
            ],
                  p=.4),
            OneOf(
                [
                    # CLAHE(clip_limit=2),
                    RandomGamma((90, 110)),
                    IAAEmboss((0.1, 0.4), (0.1, 0.6)),
                    RandomContrast(0.1),
                    RandomBrightness(0.1),
                ],
                p=0.5),
        ],
        p=p)
예제 #9
0
 def __init__(self,
              root_path,
              file_list,
              is_test=False,
              is_val=False,
              augment=False):
     self.is_test = is_test
     self.augment = augment
     self.root_path = root_path
     self.file_list = file_list
     self.pad = Compose([
         PadIfNeeded(p=1, min_height=PAD_SIZE, min_width=PAD_SIZE),
         ToTensor(),
     ])
     original_height, original_width = 101, 101
     self.augmentation = Compose([
         RandomSizedCrop(min_max_height=(50, 101),
                         height=original_height,
                         width=original_width,
                         p=0.9),
         HorizontalFlip(p=0.5),
         GridDistortion(p=0.8),
         RandomContrast(p=0.8),
         RandomBrightness(p=0.8),
         RandomGamma(p=0.8)
     ])
예제 #10
0
def light_aug():
    return Compose([
        RandomBrightness(limit=0.1, p=0.2),
        RandomContrast(limit=0.1, p=0.2),
        Blur(blur_limit=3, p=0.2),
        HorizontalFlip(p=0.7),
    ])
예제 #11
0
    def get_photometric(self):
        coeff = int(3 * self.strength)
        k = max(1, coeff if coeff % 2 else coeff - 1)

        return Compose([
            OneOf(
                [
                    #                 CLAHE(clip_limit=2, p=.4),
                    IAASharpen(p=.5),
                    IAAEmboss(p=.5),
                ],
                p=0.2),
            OneOf([
                IAAAdditiveGaussianNoise(p=.3),
                GaussNoise(p=.7),
            ], p=.2),
            OneOf([
                MotionBlur(p=.2),
                MedianBlur(blur_limit=k, p=.3),
                Blur(blur_limit=k, p=.5),
            ],
                  p=.2),
            OneOf([
                RandomContrast(),
                RandomBrightness(),
            ], p=.2)
        ])
예제 #12
0
def img_augment(p=1.):
    return Compose(
        [
            #RandomSizedCrop((300, 300), img_sz, img_sz, p=1.),
            Resize(img_sz, img_sz),
            HorizontalFlip(p=0.8),
            #RandomRotate90(p=0.25),
            OneOf([
                CLAHE(clip_limit=2),
                IAASharpen(),
                IAAEmboss(),
                RandomContrast(),
                RandomBrightness(),
            ],
                  p=0.3),
            #
            ShiftScaleRotate(
                shift_limit=0.0625, scale_limit=0.1, rotate_limit=10, p=.75),
            RandomBrightnessContrast(p=0.2),
            #GaussNoise(),
            #Blur(blur_limit=3, p=.33),
            #OpticalDistortion(p=.33),
            #GridDistortion(p=.33),
            #HueSaturationValue(p=.33)
        ],
        p=p)
예제 #13
0
def generate_transforms(image_size):

    train_transform = Compose(
        [
            Resize(height=image_size[0], width=image_size[1]),
            OneOf([RandomBrightness(limit=0.1, p=1), RandomContrast(limit=0.1, p=1)]),
            OneOf([MotionBlur(blur_limit=3), MedianBlur(blur_limit=3), GaussianBlur(blur_limit=3)], p=0.5),
            VerticalFlip(p=0.5),
            HorizontalFlip(p=0.5),
            ShiftScaleRotate(
                shift_limit=0.2,
                scale_limit=0.2,
                rotate_limit=20,
                interpolation=cv2.INTER_LINEAR,
                border_mode=cv2.BORDER_REFLECT_101,
                p=1,
            ),
            Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225), max_pixel_value=255.0, p=1.0),
        ]
    )

    val_transform = Compose(
        [
            Resize(height=image_size[0], width=image_size[1]),
            Normalize(mean=(0.485, 0.456, 0.406), std=(0.229, 0.224, 0.225), max_pixel_value=255.0, p=1.0),
        ]
    )

    return {"train_transforms": train_transform, "val_transforms": val_transform}
예제 #14
0
 def augment(self):  #p=.5):
     return Compose([
         RandomRotate90(),
         Flip(),
         Transpose(),
         ShiftScaleRotate(
             shift_limit=0.0625, scale_limit=0.2, rotate_limit=45, p=.2),
         OneOf([
             OpticalDistortion(p=0.3),
             GridDistortion(p=.1),
             IAAPiecewiseAffine(p=0.3),
         ],
               p=0.2),
         OneOf([
             IAAAdditiveGaussianNoise(),
             GaussNoise(),
         ], p=0.2),
         RandomCrop(256, 256, p=1),
         OneOf([
             MedianBlur(blur_limit=3, p=.1),
             Blur(blur_limit=3, p=.1),
         ],
               p=0.2),
         OneOf([
             CLAHE(clip_limit=2),
             IAASharpen(),
             IAAEmboss(),
             RandomContrast(),
             RandomBrightness(),
         ],
               p=0.3),
         HueSaturationValue(p=0.7),
     ],
                    p=1)
예제 #15
0
    def albumentations_transform(self, img):
        # 训练集的增强
        trans_train = Compose([
            # 随机更改输入图像的色相,饱和度和值
            # HueSaturationValue(hue_shift_limit=20, sat_shift_limit=30, val_shift_limit=20, always_apply=False, p=0.5),
            # 通过用255减去像素值来反转输入图像。
            # InvertImg(always_apply=False, p=1),
            # 随机改变RGB三个通道的顺序
            # ChannelShuffle(always_apply=False, p=0.5),
            # 随机出现小黑点
            # Cutout(num_holes=8, max_h_size=8, max_w_size=8, fill_value=0, always_apply=False, p=0.5),
            # RandomCrop(224, 224),
            OneOf([
                RandomBrightness(limit=0.1, p=1),
                RandomContrast(limit=0.1, p=1)
            ]),
            # OneOf([MotionBlur(blur_limit=3),MedianBlur(blur_limit=3), GaussianBlur(blur_limit=3),], p=0.5,),
            VerticalFlip(p=0.5),
            HorizontalFlip(p=0.5),
            # ShiftScaleRotate(
            #     shift_limit=0.2,
            #     scale_limit=0.2,
            #     rotate_limit=20,
            #     interpolation=cv2.INTER_LINEAR,
            #     border_mode=cv2.BORDER_REFLECT_101,
            #     p=1,
            # ),
        ])

        augmented = trans_train(image=img)
        return augmented['image']
예제 #16
0
def strong_aug(config, aug_prob):
    return Compose(
        [
            # Resize(config.image_height, config.image_width, always_apply=True),
            RandomSizedCrop(
                p=config.random_sized_crop_prob,
                min_max_height=(int(
                    config.image_height * config.min_max_height),
                                config.image_height),
                height=config.image_height,
                width=config.image_width,
                w2h_ratio=config.image_width / config.image_height),
            HorizontalFlip(p=config.horizontal_flip_prob),
            RandomGamma(p=config.random_gamma_prob),
            RandomContrast(p=config.random_contrast_prob,
                           limit=config.random_contrast_limit),
            RandomBrightness(p=config.random_brightness_prob,
                             limit=config.random_brightness_limit),
            OneOf([
                MotionBlur(p=config.motion_blur_prob),
                MedianBlur(blur_limit=config.median_blur_limit,
                           p=config.median_blur_prob),
                Blur(blur_limit=config.blur_limit, p=config.blur_prob),
            ],
                  p=config.one_of_blur_prob),
            CLAHE(clip_limit=config.clahe_limit, p=config.clahe_prob),
            IAAEmboss(p=config.iaaemboss_prob),
            HueSaturationValue(p=config.hue_saturation_value_prob,
                               hue_shift_limit=config.hue_shift_limit,
                               sat_shift_limit=config.sat_shift_limit,
                               val_shift_limit=config.val_shift_limit)
        ],
        p=aug_prob)
예제 #17
0
    def __init__(self, root_dir, partition, augment=True):
        self.root_dir = root_dir
        self.list_IDs = os.listdir(
            os.path.join(self.root_dir, 'x_{}'.format(partition)))
        self.partition = partition
        self.augment = augment
        self.augmentator = Compose([
            # Non destructive transformations
            VerticalFlip(p=0.6),
            HorizontalFlip(p=0.6),
            RandomRotate90(),
            Transpose(p=0.6),
            ShiftScaleRotate(p=0.45, scale_limit=(0.1, 0.3)),

            #     # Non-rigid transformations
            ElasticTransform(p=0.25,
                             alpha=160,
                             sigma=180 * 0.05,
                             alpha_affine=120 * 0.03),
            Blur(blur_limit=3, p=0.2),

            #     Color augmentation
            RandomBrightness(p=0.5),
            RandomContrast(p=0.5),
            RandomGamma(p=0.5),
            CLAHE(p=0.5)
        ])
def get_transforms(phase, size, mean, std):
    list_transforms = []
    if phase == "train":
        list_transforms.extend(
            [
                HorizontalFlip(p=0.5),
                # OneOf([
                #     RandomBrightnessContrast(),
                #     RandomGamma(),
                #     RandomBrightness(),
                # ], p=0.5),
                RandomBrightness(p=0.2, limit=0.2),
                RandomContrast(p=0.1, limit=0.2),
                ShiftScaleRotate(
                    shift_limit=0,  # no resizing
                    scale_limit=0.1,
                    rotate_limit=10,  # rotate
                    p=0.5,
                    border_mode=cv2.BORDER_CONSTANT
                ),
            ]
        )
    list_transforms.extend(
        [
            Normalize(mean=mean, std=std, p=1),
            Resize(size, size),
            ToTensor(),
        ]
    )

    list_trfms = Compose(list_transforms)
    return list_trfms
예제 #19
0
def augment_big(image, mask):

    original_height, original_width = image.shape[:2]

    aug = Compose([
        RandomSizedCrop(p=0.5,
                        min_max_height=(original_height // 2, original_height),
                        height=original_height,
                        width=original_width),
        OpticalDistortion(p=0.5, distort_limit=0.25, shift_limit=0.5),
        OneOf([
            CLAHE(p=1., clip_limit=4.),
            RandomContrast(p=1., limit=0.25),
            RandomGamma(p=1., gamma_limit=(50, 200))
        ],
              p=0.5),
    ],
                  p=0.5)

    augmented = aug(image=image, mask=mask)

    image_heavy = augmented['image']
    mask_heavy = augmented['mask']

    return image_heavy, mask_heavy
예제 #20
0
    def __init__(self, to_tensor=True):
        augs = [
            RandomSizedBBoxSafeCrop(height=512, width=512),
            RandomBrightness(p=0.5),
            RandomContrast(p=0.5),

            #RandomSunFlare(p=0.5, flare_roi=(0, 0, 1, 0.5), angle_lower=0.5,src_radius= 150),
            RandomShadow(p=0.5,
                         num_shadows_lower=1,
                         num_shadows_upper=1,
                         shadow_dimension=5,
                         shadow_roi=(0, 0.5, 1, 1)),
            HorizontalFlip(p=0.5),
            GaussianBlur(p=0.5),
        ]
        if to_tensor:
            augs.append(
                ToTensor(normalize={
                    "mean": [0.485, 0.456, 0.406],
                    "std": [0.229, 0.224, 0.225]
                }))
        self.transform = Compose(augs,
                                 bbox_params={
                                     "format": "albumentations",
                                     "min_area": 0,
                                     "min_visibility": 0.2,
                                     'label_fields': ['category_id']
                                 })
예제 #21
0
def transforms_train(aug_proba=1.):
    return Compose(transforms=[
        HorizontalFlip(p=0.5),
        Rotate(limit=25,
               p=0.5,
               border_mode=cv2.BORDER_CONSTANT,
               value=0,
               interpolation=cv2.INTER_CUBIC),
        OneOf([
            IAAAdditiveGaussianNoise(p=1),
            GaussNoise(p=1),
        ], p=0.2),
        OneOf([
            HueSaturationValue(hue_shift_limit=10,
                               sat_shift_limit=15,
                               val_shift_limit=10,
                               p=1),
            RGBShift(r_shift_limit=10, g_shift_limit=10, b_shift_limit=10, p=1)
        ]),
        OneOf([RandomContrast(p=1), RandomBrightness(p=1)], p=0.3),
        OpticalDistortion(p=0.1),
        Resize(*SIZE),
        Normalize()
    ],
                   p=aug_proba,
                   additional_targets={'trimap': 'mask'})
예제 #22
0
파일: data.py 프로젝트: wjzzzyx/workspace
    def train_aug(self, image, label):
        aug = Compose(
            [
                OneOf(
                    [CLAHE(), IAASharpen(), IAAEmboss()], p=0.5),
                # OneOf([IAAAdditiveGaussianNoise(), GaussNoise()], p=0.2),
                # OneOf([MotionBlur(p=0.2), MedianBlur(blur_limit=3, p=0.1), Blur(blur_limit=3, p=0.1)], p=0.2),
                RandomContrast(),
                RandomBrightness(),
                # ChannelShuffle(),
                RandomRotate90(),
                Flip(),
                # RandomScale(scale_limit=(0.0, 0.1)),
                OneOf([
                    ElasticTransform(),
                    OpticalDistortion(),
                    GridDistortion(),
                    IAAPiecewiseAffine()
                ],
                      p=0.5),
                # HueSaturationValue(p=0.3),
            ],
            p=0.9)
        augmented = aug(image=image, mask=label)
        augmented = ToGray(p=1)(image=augmented['image'],
                                mask=augmented['mask'])
        augmented = RandomCrop(256, 256)(image=augmented['image'],
                                         mask=augmented['mask'])
        image, label = augmented['image'], augmented['mask']

        return image, label
예제 #23
0
def strong_aug(p=1.0):
    return Compose(
        [
            Cutout(num_holes=1,
                   max_h_size=16,
                   max_w_size=16,
                   fill_value=[0.4914 * 255, 0.4822 * 255, 0.4465 * 255],
                   p=1.),
            HorizontalFlip(p=0.5),
            # RandomGamma(p=0.5),
            # ElasticTransform(value=10),
            ShiftScaleRotate(
                shift_limit=0.0625, scale_limit=0.2, rotate_limit=20, p=1.),

            # Below are Required
            OneOf([
                CLAHE(clip_limit=2),
                IAASharpen(),
                IAAEmboss(),
                RandomContrast(),
                RandomBrightness(),
            ],
                  p=0.3),
            # HueSaturationValue(p=0.3),
            ToTensor(normalize={
                'mean': (0.4914, 0.4822, 0.4465),
                'std': (0.2023, 0.1994, 0.2010)
            })
        ],
        p=p)
예제 #24
0
    def __init__(self, data, img_size=384, aug=True, mode='train'):
        self.data = data
        self.mode = mode
        if mode is 'train':
            self.images = data.ImageId.unique()
            self._aug = Compose([
                HorizontalFlip(),
                VerticalFlip(),
                OneOf([
                    RandomRotate90(),
                    ShiftScaleRotate(shift_limit=0.2, scale_limit=0.2, rotate_limit=0),
                ], p=1),
                OneOf([
                    CLAHE(),
                    RandomBrightness(),
                    RandomContrast(),
                    RandomGamma()
                ], p=1),
                Normalize(),
                RandomCrop(img_size, img_size)
                # Resize(256, 256),
                # Resize(img_size, img_size),

            ])
        elif mode is 'test' or mode is 'val':
            self.images = data.ImageId.unique()
            self._aug = Compose([
                Normalize(),
                # Resize(256, 256),
                # Resize(img_size, img_size),
                # RandomCrop(img_size, img_size)
                # PadIfNeeded(768, 768)
            ])
        else:
            raise RuntimeError()
예제 #25
0
def strong_aug(p=0.5):
    return Compose([
        RandomRotate90(),
        Flip(),
        Transpose(),
        OneOf([
            IAAAdditiveGaussianNoise(),
            GaussNoise(),
        ], p=p),
        OneOf([
            MotionBlur(p=p),
        ], p=p),
        ShiftScaleRotate(
            shift_limit=0.0625, scale_limit=0.2, rotate_limit=45, p=p),
        OneOf([
            OpticalDistortion(p=p),
            GridDistortion(p=p),
            IAAPiecewiseAffine(p=p),
        ],
              p=p),
        OneOf([
            IAASharpen(),
            IAAEmboss(),
            RandomContrast(),
            RandomBrightness(),
        ],
              p=p),
        HueSaturationValue(p=p),
    ],
                   p=p)
예제 #26
0
 def train_transform(p=1):
     return Compose([
         HorizontalFlip(p=0.5),
         OneOf([
                 RandomSizedCrop((92, 98), 101, 101,  p=0.6),
                 ShiftScaleRotate(shift_limit=(0, 0.1), scale_limit=(0, 0.05), rotate_limit=10, p=0.4),
         ], p=0.6),
         #OneOf([
         #    IAAAdditiveGaussianNoise(), #may by
         #    GaussNoise(),#may by
         #], p=0.2),
         #OneOf([
         #    MotionBlur(p=0.2),
         #    MedianBlur(blur_limit=3, p=0.3),
         #    Blur(blur_limit=3, p=0.5),
         #], p=0.4),
         OneOf([
             ElasticTransform(p=0.2, alpha=120, sigma=120 * 0.05, alpha_affine=120 * 0.03),
             IAAPiecewiseAffine(p=.4),
             GridDistortion(p=0.4),
         ], p=.4),
         OneOf([
             #CLAHE(clip_limit=2),
             RandomGamma((90,110)),
             ShiftBrightness((5, 20)),
             IAAEmboss((0.1, 0.4), (0.1, 0.6)),
             RandomContrast(0.08),
             RandomBrightness(0.08),
         ], p=0.5),
     ], p=p)
def alb_transform_train(imsize = 256, p=1):
    albumentations_transform = Compose([
    # RandomCrop(imsize),
    # RandomRotate90(),
    Flip(),
    # Transpose(),
    OneOf([
            IAAAdditiveGaussianNoise(),
            GaussNoise(),
        ], p=0.2),
    OneOf([
            MotionBlur(p=.2),
            MedianBlur(blur_limit=3, p=.1),
            Blur(blur_limit=3, p=.1),
        ], p=0.2),
    ShiftScaleRotate(shift_limit=0.0625, scale_limit=0.2, rotate_limit=45, p=.2),
    OneOf([
        OpticalDistortion(p=0.3),
        GridDistortion(p=.1),
        IAAPiecewiseAffine(p=0.3),
        ], p=0.2),
    OneOf([
        # CLAHE(clip_limit=2),
        IAASharpen(),
        IAAEmboss(),
        RandomContrast(),
        RandomBrightness(),
        ], p=0.3),
    Normalize(
        mean=[0.485, 0.456, 0.406],
        std=[0.229, 0.224, 0.225]
        )
    ], p=p)
    return albumentations_transform
예제 #28
0
def aug_daniel(prob=0.8):
    return Compose(
        [
            RandomRotate90(p=0.5),
            Transpose(p=0.5),
            Flip(p=0.5),
            OneOf(
                [
                    IAAAdditiveGaussianNoise(),
                    GaussNoise(),
                    #Blur(),
                ],
                p=0.3),
            OneOf(
                [
                    CLAHE(clip_limit=2),
                    IAASharpen(),
                    IAAEmboss(),
                    OneOf([
                        RandomContrast(),
                        RandomBrightness(),
                    ]),
                    #Blur(),
                    #GaussNoise()
                ],
                p=0.5),
            HueSaturationValue(p=0.5)
        ],
        p=prob)
def strong_aug(p=.5):
    return Compose([
        HorizontalFlip(p=0.5),
        ToGray(p=0.1),
        OneOf([
            IAAAdditiveGaussianNoise(),
            GaussNoise(),
        ], p=0.4),
        OneOf([
            MotionBlur(p=.2),
            MedianBlur(blur_limit=3, p=.1),
            Blur(blur_limit=3, p=.1),
        ],
              p=0.2),
        OneOf([
            OpticalDistortion(p=0.3),
            GridDistortion(p=.1),
            IAAPiecewiseAffine(p=0.3),
        ],
              p=0.2),
        OneOf([
            CLAHE(clip_limit=2),
            IAASharpen(),
            RandomContrast(),
            RandomBrightness(),
        ],
              p=0.3),
        HueSaturationValue(p=0.3),
    ],
                   p=p)
예제 #30
0
 def build_train(self):
     return Compose([
         HorizontalFlip(p=0.5),
         VerticalFlip(p=0.5),
         Normalize(mean=self.MEAN, std=self.STD),
         RandomContrast(p=0.1),
         RandomBrightness(p=0.1),
         ToTensor(),
     ])