Spaces:
Runtime error
Runtime error
# Copyright (c) Facebook, Inc. and its affiliates. | |
import logging | |
import numpy as np | |
import pycocotools.mask as mask_util | |
import torch | |
from fvcore.common.file_io import PathManager | |
from PIL import Image | |
from detectron2.data import transforms as T | |
from .transforms.custom_augmentation_impl import EfficientDetResizeCrop | |
def build_custom_augmentation(cfg, is_train, scale=None, size=None, \ | |
min_size=None, max_size=None): | |
""" | |
Create a list of default :class:`Augmentation` from config. | |
Now it includes resizing and flipping. | |
Returns: | |
list[Augmentation] | |
""" | |
if cfg.INPUT.CUSTOM_AUG == 'ResizeShortestEdge': | |
if is_train: | |
min_size = cfg.INPUT.MIN_SIZE_TRAIN if min_size is None else min_size | |
max_size = cfg.INPUT.MAX_SIZE_TRAIN if max_size is None else max_size | |
sample_style = cfg.INPUT.MIN_SIZE_TRAIN_SAMPLING | |
else: | |
min_size = cfg.INPUT.MIN_SIZE_TEST | |
max_size = cfg.INPUT.MAX_SIZE_TEST | |
sample_style = "choice" | |
augmentation = [T.ResizeShortestEdge(min_size, max_size, sample_style)] | |
elif cfg.INPUT.CUSTOM_AUG == 'EfficientDetResizeCrop': | |
if is_train: | |
scale = cfg.INPUT.SCALE_RANGE if scale is None else scale | |
size = cfg.INPUT.TRAIN_SIZE if size is None else size | |
else: | |
scale = (1, 1) | |
size = cfg.INPUT.TEST_SIZE | |
augmentation = [EfficientDetResizeCrop(size, scale)] | |
else: | |
assert 0, cfg.INPUT.CUSTOM_AUG | |
if is_train: | |
augmentation.append(T.RandomFlip()) | |
return augmentation | |
build_custom_transform_gen = build_custom_augmentation | |
""" | |
Alias for backward-compatibility. | |
""" |