예제 #1
0
def get_coco(root, image_set, transforms, mode="instances"):
    anno_file_template = "{}_{}2017.json"
    PATHS = {
        "train": (
            "train2017",
            os.path.join("annotations",
                         anno_file_template.format(mode, "train")),
        ),
        "val": (
            "val2017",
            os.path.join("annotations", anno_file_template.format(mode,
                                                                  "val")),
        ),
        # "train": ("val2017", os.path.join("annotations", anno_file_template.format(mode, "val")))
    }

    t = [ConvertCocoPolysToMask()]

    if transforms is not None:
        t.append(transforms)
    transforms = T.Compose(t)

    img_folder, ann_file = PATHS[image_set]
    img_folder = os.path.join(root, img_folder)
    ann_file = os.path.join(root, ann_file)

    dataset = CocoDetection(img_folder, ann_file, transforms=transforms)

    if image_set == "train":
        dataset = _coco_remove_images_without_annotations(dataset)

    # dataset = torch.utils.data.Subset(dataset, [i for i in range(500)])

    return dataset
예제 #2
0
def get_transform_2(train):
    transforms = [T.ToTensor()]
    if train:
        transforms = [
            # transforms on PIL.Image
            T.TransformsCOCO('ColorJitter',
                             brightness=0.4,
                             contrast=.4,
                             saturation=.4),
            T.RandomCropCOCOSimple(scale=(0.6, 1.3)),
            # to tensor
            T.ToTensor(),
            # transforms on  Tensor
            T.RandomApplyCOCO([T.LightingCOCO(0.1)], 0.3),
            T.RandomHorizontalFlip(0.5)
        ]
    return T.Compose(transforms)
예제 #3
0
def get_transform(train):
    transforms = [T.ToTensor()]
    if train:
        transforms.append(T.RandomHorizontalFlip(0.5))
    return T.Compose(transforms)