Exemplo n.º 1
0
def draw_small_overview():
    ia.seed(42)
    image = ia.quokka(size=0.2)
    heatmap = ia.quokka_heatmap(size=0.4)
    segmap = ia.quokka_segmentation_map(size=0.2)
    kps = ia.quokka_keypoints(size=0.2)
    bbs = ia.quokka_bounding_boxes(size=0.2)
    batch = ia.Batch(images=[image],
                     heatmaps=[heatmap.invert()],
                     segmentation_maps=[segmap],
                     keypoints=[kps],
                     bounding_boxes=[bbs])

    augs = []
    augs.append(("noop", iaa.Noop()))
    augs.append(("non_geometric",
                 iaa.Sequential([
                     iaa.AdditiveGaussianNoise(scale=(0, 20)),
                     iaa.ContrastNormalization(1.2),
                     iaa.Sharpen(alpha=1.0, lightness=1.5)
                 ])))
    augs.append(("affine",
                 iaa.Affine(rotate=0,
                            translate_percent={"x": 0.1},
                            scale=1.3,
                            mode="constant",
                            cval=25)))
    augs.append(("cropandpad",
                 iaa.CropAndPad(percent=(-0.05, 0.2, -0.05, -0.2),
                                pad_mode="maximum")))
    augs.append(("fliplr_perspective",
                 iaa.Sequential(
                     [iaa.Fliplr(1.0),
                      iaa.PerspectiveTransform(scale=0.15)])))

    for name, aug in augs:
        result = list(aug.augment_batches([batch]))[0]
        image_aug = result.images_aug[0]
        image_aug_heatmap = result.heatmaps_aug[0].draw(cmap=None)[0]
        image_aug_segmap = result.segmentation_maps_aug[0].draw_on_image(
            image_aug, alpha=0.8)
        image_aug_kps = result.keypoints_aug[0].draw_on_image(
            image_aug, color=[0, 255, 0], size=7)
        image_aug_bbs = result.bounding_boxes_aug[0].cut_out_of_image(
        ).draw_on_image(image_aug, thickness=3)
        imageio.imwrite(
            os.path.join(IMAGES_DIR, "small_overview",
                         "%s_image.jpg" % (name, )), image_aug)
        imageio.imwrite(
            os.path.join(IMAGES_DIR, "small_overview",
                         "%s_heatmap.jpg" % (name, )), image_aug_heatmap)
        imageio.imwrite(
            os.path.join(IMAGES_DIR, "small_overview",
                         "%s_segmap.jpg" % (name, )), image_aug_segmap)
        imageio.imwrite(
            os.path.join(IMAGES_DIR, "small_overview",
                         "%s_kps.jpg" % (name, )), image_aug_kps)
        imageio.imwrite(
            os.path.join(IMAGES_DIR, "small_overview",
                         "%s_bbs.jpg" % (name, )), image_aug_bbs)
Exemplo n.º 2
0
def main():
    image = ia.quokka_square((200, 200))
    kpsoi = ia.quokka_keypoints((200, 200), extract="square")
    aug = iaa.Jigsaw(10, 10)

    images_aug, kpsois_aug = aug(images=[image] * 16,
                                 keypoints=[kpsoi] * 16)
    images_show = [kpsoi_aug.draw_on_image(image_aug)
                   for image_aug, kpsoi_aug in zip(images_aug, kpsois_aug)]
    ia.imshow(ia.draw_grid(images_show))

    gen_time = timeit.timeit(
        "iaa.generate_jigsaw_destinations(10, 10, 2, rng)",
        number=128,
        setup=(
            "import imgaug.augmenters as iaa; "
            "import imgaug.random as iarandom; "
            "rng = iarandom.RNG(0)"
        )
    )
    print("Time to generate 128x dest:", gen_time)

    destinations = iaa.generate_jigsaw_destinations(10, 10, 1, seed=1)
    image_jig = iaa.apply_jigsaw(image, destinations)
    ia.imshow(image_jig)
Exemplo n.º 3
0
def main():
    augs = [("iaa.Rot90(-1, keep_size=False)", iaa.Rot90(-1, keep_size=False)),
            ("iaa.Rot90(0, keep_size=False)", iaa.Rot90(0, keep_size=False)),
            ("iaa.Rot90(1, keep_size=False)", iaa.Rot90(1, keep_size=False)),
            ("iaa.Rot90(2, keep_size=False)", iaa.Rot90(2, keep_size=False)),
            ("iaa.Rot90(3, keep_size=False)", iaa.Rot90(3, keep_size=False)),
            ("iaa.Rot90(4, keep_size=False)", iaa.Rot90(4, keep_size=False)),
            ("iaa.Rot90(-1, keep_size=True)", iaa.Rot90(-1, keep_size=True)),
            ("iaa.Rot90(0, keep_size=True)", iaa.Rot90(0, keep_size=True)),
            ("iaa.Rot90(1, keep_size=True)", iaa.Rot90(1, keep_size=True)),
            ("iaa.Rot90(2, keep_size=True)", iaa.Rot90(2, keep_size=True)),
            ("iaa.Rot90(3, keep_size=True)", iaa.Rot90(3, keep_size=True)),
            ("iaa.Rot90(4, keep_size=True)", iaa.Rot90(4, keep_size=True)),
            ("iaa.Rot90([0, 1, 2, 3, 4], keep_size=False)",
             iaa.Rot90([0, 1, 2, 3, 4], keep_size=False)),
            ("iaa.Rot90([0, 1, 2, 3, 4], keep_size=True)",
             iaa.Rot90([0, 1, 2, 3, 4], keep_size=True)),
            ("iaa.Rot90((0, 4), keep_size=False)",
             iaa.Rot90((0, 4), keep_size=False)),
            ("iaa.Rot90((0, 4), keep_size=True)",
             iaa.Rot90((0, 4), keep_size=True)),
            ("iaa.Rot90((1, 3), keep_size=False)",
             iaa.Rot90((1, 3), keep_size=False)),
            ("iaa.Rot90((1, 3), keep_size=True)",
             iaa.Rot90((1, 3), keep_size=True))]

    image = ia.data.quokka(0.25)

    print("--------")
    print("Image + Keypoints")
    print("--------")
    kps = ia.quokka_keypoints(0.25)
    for name, aug in augs:
        print(name, "...")
        aug_det = aug.to_deterministic()
        images_aug = aug_det.augment_images([image] * 16)
        kps_aug = aug_det.augment_keypoints([kps] * 16)
        images_aug = [
            kps_aug_i.draw_on_image(image_aug_i, size=5)
            for image_aug_i, kps_aug_i in zip(images_aug, kps_aug)
        ]
        ia.imshow(ia.draw_grid(images_aug))

    print("--------")
    print("Image + Heatmaps (low res)")
    print("--------")
    hms = ia.quokka_heatmap(0.10)
    for name, aug in augs:
        print(name, "...")
        aug_det = aug.to_deterministic()
        images_aug = aug_det.augment_images([image] * 16)
        hms_aug = aug_det.augment_heatmaps([hms] * 16)
        images_aug = [
            hms_aug_i.draw_on_image(image_aug_i)[0]
            for image_aug_i, hms_aug_i in zip(images_aug, hms_aug)
        ]
        ia.imshow(ia.draw_grid(images_aug))
Exemplo n.º 4
0
def main():
    augs = [
        ("iaa.Rot90(-1, keep_size=False)", iaa.Rot90(-1, keep_size=False)),
        ("iaa.Rot90(0, keep_size=False)", iaa.Rot90(0, keep_size=False)),
        ("iaa.Rot90(1, keep_size=False)", iaa.Rot90(1, keep_size=False)),
        ("iaa.Rot90(2, keep_size=False)", iaa.Rot90(2, keep_size=False)),
        ("iaa.Rot90(3, keep_size=False)", iaa.Rot90(3, keep_size=False)),
        ("iaa.Rot90(4, keep_size=False)", iaa.Rot90(4, keep_size=False)),
        ("iaa.Rot90(-1, keep_size=True)", iaa.Rot90(-1, keep_size=True)),
        ("iaa.Rot90(0, keep_size=True)", iaa.Rot90(0, keep_size=True)),
        ("iaa.Rot90(1, keep_size=True)", iaa.Rot90(1, keep_size=True)),
        ("iaa.Rot90(2, keep_size=True)", iaa.Rot90(2, keep_size=True)),
        ("iaa.Rot90(3, keep_size=True)", iaa.Rot90(3, keep_size=True)),
        ("iaa.Rot90(4, keep_size=True)", iaa.Rot90(4, keep_size=True)),
        ("iaa.Rot90([0, 1, 2, 3, 4], keep_size=False)", iaa.Rot90([0, 1, 2, 3, 4], keep_size=False)),
        ("iaa.Rot90([0, 1, 2, 3, 4], keep_size=True)", iaa.Rot90([0, 1, 2, 3, 4], keep_size=True)),
        ("iaa.Rot90((0, 4), keep_size=False)", iaa.Rot90((0, 4), keep_size=False)),
        ("iaa.Rot90((0, 4), keep_size=True)", iaa.Rot90((0, 4), keep_size=True)),
        ("iaa.Rot90((1, 3), keep_size=False)", iaa.Rot90((1, 3), keep_size=False)),
        ("iaa.Rot90((1, 3), keep_size=True)", iaa.Rot90((1, 3), keep_size=True))
    ]

    image = ia.quokka(0.25)

    print("--------")
    print("Image + Keypoints")
    print("--------")
    kps = ia.quokka_keypoints(0.25)
    for name, aug in augs:
        print(name, "...")
        aug_det = aug.to_deterministic()
        images_aug = aug_det.augment_images([image] * 16)
        kps_aug = aug_det.augment_keypoints([kps] * 16)
        images_aug = [kps_aug_i.draw_on_image(image_aug_i, size=5)
                      for image_aug_i, kps_aug_i in zip(images_aug, kps_aug)]
        ia.imshow(ia.draw_grid(images_aug))

    print("--------")
    print("Image + Heatmaps (low res)")
    print("--------")
    hms = ia.quokka_heatmap(0.10)
    for name, aug in augs:
        print(name, "...")
        aug_det = aug.to_deterministic()
        images_aug = aug_det.augment_images([image] * 16)
        hms_aug = aug_det.augment_heatmaps([hms] * 16)
        images_aug = [hms_aug_i.draw_on_image(image_aug_i)[0]
                      for image_aug_i, hms_aug_i in zip(images_aug, hms_aug)]
        ia.imshow(ia.draw_grid(images_aug))