ideas icon indicating copy to clipboard operation
ideas copied to clipboard

A library of predefined image augmentation presets

Open KOLANICH opened this issue 2 years ago • 3 comments

Project description

There are multiple libs for image augmentations for machine learning. But they all are hard to use. I mean currently a user has to set up the augmentations himself, this causes either a lot of wheels to be reinvented or not enough augs be used in projects.

We need a simpler library with the following interface:

from ourLib import augment, presets
from PIL import Image

srcImg = Image.open("./src.png")

for img in augment(srcImg, preset=presets.middle):
    doSomethingWithAugmentedImage(img)

The new library should rely on other libs and should select the augmentations and their parameters randomly (underlying libs doing actual augs have this functionality) from the sensible defaults (presets). The defaults must be sensible, I mean the augmented images should be augmented as much as possible to be considered a good aug for the use case and not so much to be slow.

Relevant Technology

  • https://github.com/aleju/imgaug
  • https://github.com/AgaMiko/data-augmentation-review
  • https://github.com/facebookresearch/AugLy

Complexity and required time

Complexity

  • [x] Beginner - This project requires no or little prior knowledge of the technolog(y|ies) specified to contribute to the project

Required time (ETA)

  • [x] Little work - A couple of days
  • [x] Medium work - A week or two

Categories

  • [x] AI/ML

KOLANICH avatar Feb 25 '22 17:02 KOLANICH

@KOLANICH

Hey,

Looks like s a good idea. Few years ago I tried something like this in my work, https://github.com/chekoduadarsh/Custom-Image-Augmentation-Keras

Currently it has less image augmentation presets and very basic. I think you want the same but advanced with many. !!

chekoduadarsh avatar Feb 27 '22 12:02 chekoduadarsh

It turns out there exist some presets: https://github.com/pytorch/vision/blob/main/torchvision/transforms/autoaugment.py

I guess it should be separated into a different library.

KOLANICH avatar Feb 28 '22 10:02 KOLANICH

I have not really tested it , but here is what I have implemented:

https://github.com/KOLANICH-libs/PreImgAugment.py

Currently it only tries to do something with the precomputed autoaugment presets from Keras. It is very likely it does the completely different thing.

KOLANICH avatar Apr 14 '22 15:04 KOLANICH