Skip to content

0.4.0

Compare
Choose a tag to compare
@ternaus ternaus released this 14 Oct 17:02

Table of Contents

New transforms

ISONoise

2e25667
Target: image

This transform mimics the noise that images will have if the ISO parameter of the camera is high. Wiki

Solarize

e365b52
Targets: image

Solarize inverts all pixels above some threshold. It is an essential part of the work AutoAugment: Learning Augmentation Policies from Data.

Equilize

9f71038
Target: image

Equalizes image histogram. It is an essential part of the work AutoAugment: Learning Augmentation Policies from Data.

Posterize

ad95fa0
Target: image

Reduce the number of bits for each pixel. It is an essential part of the work AutoAugment: Learning Augmentation Policies from Data.

ImageCompression

Target: image
b612786
Decrease Jpeg or WebP compression to the image.

Downscale

df831d6
Target: image

Decreases image quality by downscaling and upscaling back.

RandomResizedCrop

4dbe41e
Targets: image, mask, bboxes, keypoints

Crop the given Image to the random size and aspect ratio. This transform is an essential part of many image classification pipelines. Very popular for ImageNet classification.

It has the same API as RandomResizedCrop in torchvision.

RandomGridShuffle

4cf6c36
Targets: image, mask

Partition an image into tiles. Shuffle them and merge back.

CropNonEmptyMaskIfExists

Targets: image, mask, bboxes, keypoints

Crop area with a mask if the mask is non-empty, else make a random crop.

ToTensorV2

a502680
Targets: image, mask

Convert image and mask to torch.Tensor

New features

Added YOLO format to bounding boxes.

d05db9e

The Yolo format of a bounding box has a format [x, y, width, height], where values normalized to the size of the image. Ex: [0.3, 0.1, 0.05, 0.07]

Added Deterministic / Replay mode

9942689

Augmentations pipeline has a lot of randomnesses, which is hard to debug. We added Determentsic / Replay mode in which you can track what parameters were applied to the input and use precisely the same transform to another input if necessary.

Jupyter notebook with an example.

Added fill_value to the Cutout transform.

d85bab5

Separated fill_value for images and masks

2c1a148

One of the use cases is it to use mask_value, which is equal to the ignore_index of your loss. This will decrease the level of noise and may improve convergence.

Speedup in the RGBShift

c3cc277

3.2 times faster for uint8 images.

Speedup in HueSaturationValue

448761d

2 times faster for uint8 images.

Speedup in RandomBrightnessContrast

4e12c6e

2.7 times faster for uint8 images.

Speedup in RandomGamma

ac499d0

4 times faster for uint8 images.

Added support for images and masks with more than 3 channels

c028a95

Added key points support

30a3f30
Not all spatial tranforms jave keypoints support yet. In this release we added Crop, CropNonEmptyMaskIfExists, LongestMaxSize, RandomCropNearBBox, Resize, SmallestMaxSize, and Transpose.

Add per channel transform composition 7fb635c

Bug Fixes

Documentation Updated

Added a page that lists pre-prints and papers that cite albumentations

We are delighted that albumentations are helpful to the academic community. We extended documentation with a page that lists all papers and preprints that cite albumentations in their work. This page is automatically generated by parsing Google Scholar. At this moment, this number is 24.

Added a page that lists competitions in which top teams used albumentations.

We are delighted that albumentations help people to get top results in machine learning competitions at Kaggle and other platforms. We added a "Hall of Fame" where people can share their achievements. This page is manually created. We encourage people to add more information about their results with pull requests, following the contributing guide.

People that made this release happen

@albu @Dipet @creafz @BloodAxe @ternaus @vfdev-5 @arsenyinfo @qubvel @toshiks @jae-hyuck @BelBES @alekseynp @Timeous @jveitchmichaelis @bfialkoff