Spaces:
Build error
Build error
| import albumentations as A | |
| class DarkAug(object): | |
| """ | |
| Extreme dark augmentation aiming at Aachen Day-Night | |
| """ | |
| def __init__(self) -> None: | |
| self.augmentor = A.Compose( | |
| [ | |
| A.RandomBrightnessContrast( | |
| p=0.75, brightness_limit=(-0.6, 0.0), contrast_limit=(-0.5, 0.3) | |
| ), | |
| A.Blur(p=0.1, blur_limit=(3, 9)), | |
| A.MotionBlur(p=0.2, blur_limit=(3, 25)), | |
| A.RandomGamma(p=0.1, gamma_limit=(15, 65)), | |
| A.HueSaturationValue(p=0.1, val_shift_limit=(-100, -40)), | |
| ], | |
| p=0.75, | |
| ) | |
| def __call__(self, x): | |
| return self.augmentor(image=x)["image"] | |
| class MobileAug(object): | |
| """ | |
| Random augmentations aiming at images of mobile/handhold devices. | |
| """ | |
| def __init__(self): | |
| self.augmentor = A.Compose( | |
| [ | |
| A.MotionBlur(p=0.25), | |
| A.ColorJitter(p=0.5), | |
| A.RandomRain(p=0.1), # random occlusion | |
| A.RandomSunFlare(p=0.1), | |
| A.JpegCompression(p=0.25), | |
| A.ISONoise(p=0.25), | |
| ], | |
| p=1.0, | |
| ) | |
| def __call__(self, x): | |
| return self.augmentor(image=x)["image"] | |
| def build_augmentor(method=None, **kwargs): | |
| if method is not None: | |
| raise NotImplementedError( | |
| "Using of augmentation functions are not supported yet!" | |
| ) | |
| if method == "dark": | |
| return DarkAug() | |
| elif method == "mobile": | |
| return MobileAug() | |
| elif method is None: | |
| return None | |
| else: | |
| raise ValueError(f"Invalid augmentation method: {method}") | |
| if __name__ == "__main__": | |
| augmentor = build_augmentor("FDA") | |