Albumentations 적용 후 다양한 증강 기법을 조합하며 모델 성능을 비교하는 실험을 진행.
Sequential apply Examples
class PillDataset(object):
def __init__(self, ..., is_train=True):
if is_train:
self.transform = A.Compose([
# A.HorizontalFlip(p=0.5),
# A.RandomBrightnessContrast(p=0.2),
A.Resize(height=640, width=640)
], bbox_params=A.BboxParams(format='yolo'))
else:
self.transform = A.Compose([A.Resize(height=640, width=640)])
class PillDataset(object):
def __init__(self, ..., is_train=True):
if is_train:
self.transform = A.Compose([
A.Resize(height=640, width=640),
A.HorizontalFlip(p=0.5), # 1차 증강 추가
A.RandomBrightnessContrast(p=0.2), # 1차 증강 추가
A.Rotate(limit=10, p=0.5), # 1차 증강 추가
], bbox_params=A.BboxParams(format='yolo'))
else:
self.transform = A.Compose([A.Resize(height=640, width=640)])
class PillDataset(object):
def __init__(self, ..., is_train=True):
if is_train:
self.transform = A.Compose([
A.Resize(height=640, width=640),
A.HorizontalFlip(p=0.5),
A.RandomBrightnessContrast(p=0.2),
A.Rotate(limit=10, p=0.5),
A.GaussNoise(p=0.2), # 2차 증강 추가
A.MotionBlur(blur_limit=5, p=0.2), # 2차 증강 추가
], bbox_params=A.BboxParams(format='yolo'))
else:
self.transform = A.Compose([A.Resize(height=640, width=640)])
class PillDataset(object):
def __init__(self, ..., is_train=True):
if is_train:
self.transform = A.Compose([
A.Resize(height=640, width=640),
A.HorizontalFlip(p=0.5),
A.RandomBrightnessContrast(p=0.2),
A.Rotate(limit=10, p=0.5),
A.GaussNoise(p=0.2),
A.MotionBlur(blur_limit=5, p=0.2),
A.Affine(
scale=(0.8, 1.2), rotate=(-15, 15),
translate_percent=(-0.1, 0.1), shear=(-10, 10), p=0.8
)
], bbox_params=A.BboxParams(format='yolo'))
else:
self.transform = A.Compose([A.Resize(height=640, width=640)])
약의 표면에 특징을 해치지 않고 모델의 성능을 높일 수 있다.
import albumentations as A
train_pipeline = A.Compose(
A.HorizontalFlip(p=0.5)
)
import albumentations as A
train_pipeline = A.Compose(
A.RandomBrightnessContrast(brightness_limit=0.2, contrast_limit=0.2, p=0.8)
)
import albumentations as A
train_pipeline = A.Compose(
A.Affine(rotate=(-15, 15) # Rotate by -15 to +15 degrees)
)