Image augmentation for PyTorch
Project description
ImageAug
Image augmentation for PyTorch
- Apply random cropped rotations without going out of image bounds
- Convert RGB to YUV color space
- Adjust brightness and contrast, and more
Quick Start
The transformations are designed to be chained together using torchvision.transforms.Compose
. Additionally, there is a functional module. Functional transforms give more fine-grained control if you have to build a more complex transformation pipeline.
Install
pip3 install -r requirements.txt
python3 setup.py install
Requirements:
- Pillow
- torchvision
- numpy
Example
from torchvision.transforms import ToTensor, ToPILImage, Compose
from PIL import Image
from imageaug.transforms import Colorspace, RandomAdjustment, RandomRotatedCrop
image_filename = 'test.png'
img = Image.open(image_filename, 'r').convert("RGB")
crop_size = (64, 64)
angle_std = 90 # in degrees
# Note: apply color adjustments before a random rotated crop so that so that the
# fillcolor for out of bounds is not randomly adjusted (this only applies
# if you have images smaller than the crop size)
transform = Compose([
# convert PIL Image to Tensor
ToTensor(),
# convert RGB to YUV colorspace
Colorspace("rgb", "yuv"),
# randomly adjust the brightness and contrast of channel 0 (Y: luminance)
RandomAdjustment(0, 0.1, 0.1, rgb=False),
# randomly adjust the contrast of channel 1 and 2 (UV: color channels)
RandomAdjustment((1,2), 0, 0.38, rgb=False),
# convert YUV to RGB colorspace
Colorspace("yuv", "rgb"),
# convert Tensor back to PIL Image
ToPILImage(),
# random rotated crop
RandomRotatedCrop(crop_size, 0.0, angle_std, downscale=0.5)
])
out = transform(img)
out.save("out.png")
Current Features
- Rotate and crop images within the bounds of the original image for any given degree of angle perturbation (for training samples with rotational noise)
- Convert images to and from RGB/YUV/YCH colorspace with alpha channel support
- Adjust contrast and brightness of channels
- Noise occulsion
To-do
This project is still a work in progress.
- Uniform distribution for RandomRotatedCrop
- Color lookup table for faster conversions between colorspaces
- Add image, text, shape, and pixelation occulsions
Project Page
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ImageAug-0.1.0.post0.tar.gz
(6.5 kB
view hashes)
Built Distributions
ImageAug-0.1.0.post0-py3.7.egg
(15.7 kB
view hashes)
Close
Hashes for ImageAug-0.1.0.post0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e2f57e50208bd5a4add2245ba7fe10b1730fdd25506a0548c309bc98990ee50 |
|
MD5 | 2be7889784c820ee5cc0bba1ba2d2b3f |
|
BLAKE2b-256 | b03294b150eaacdf0320e30b7ac65bed574dcfa3a65d72c6487f1e7f7e7b1a8f |