Table of Contents
* New transforms
* [ISONoise](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.ISONoise)
* [Solarize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Solarize)
* [Equilize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Equalize)
* [Posterize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Posterize)
* [ImageCompression](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.ImageCompression)
* [Downscale](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Downscale)
* [RandomResizedCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomSizedCrop)
* [RandomGridShuffle](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomGridShuffle)
* [CropNonEmptyMaskIfExists](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.CropNonEmptyMaskIfExists)
* ToTensorV2
* New features
* Added YOLO format to bounding boxes
* Deterministic / Replay mode
* Improvements
* Added `fill_value` to [Cutout](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Cutout)
* Separate `fill_value` for image and mask targets
* Speedup in [RGBShift](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RGBShift) transform
* Speedup in [HueSaturationValue](HueSaturationValue)
* Speedup in [RandomBrightnessContrast](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomBrightnessContrast)
* Speedup in [RandomGamma](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomGamma)
* Added support for images and masks with more than 3 channels
* Added key points support to [Crop](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Crop), [CropNonEmptyMaskIfExists](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.CropNonEmptyMaskIfExists), [LongestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.LongestMaxSize), [RandomCropNearBBox](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomCropNearBBox), [Resize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Resize), [SmallestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.SmallestMaxSize), and [Transpose](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Transpose)
* Add per channel transform composition
* Bug Fixes
* Bugfix in [GaussNoise](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.GaussNoise)
* Bugfix in [RandomGamma](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomGamma)
* Bugfix in [RandomSizedBBoxSafeCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomSizedBBoxSafeCrop)
* Documentation Updated
* Added page that lists pre-prints and papers that cite albumentations
* Added page that contains competitions in which top teams used albumentations
New transforms
[ISONoise](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.ISONoise)
https://github.com/albu/albumentations/commit/2e25667f8c39eba3e6be0e85719e5156422ee9a9
Target: image
This transform mimics the noise that images will have if the ISO parameter of the camera is high. [Wiki](https://en.wikipedia.org/wiki/Image_noise#Low_and_high-ISO_noise_examples)
[Solarize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Solarize)
https://github.com/albu/albumentations/commit/e365b52df6c6535a1bf06733b607915231f2f9d4
Targets: image
[Solarize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Solarize) inverts all pixels above some threshold. It is an essential part of the work [AutoAugment: Learning Augmentation Policies from Data](https://arxiv.org/abs/1805.09501).
[Equilize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Equalize)
https://github.com/albu/albumentations/commit/9f71038c95c4124bdaf3ee13a9823225bb8d85da
Target: image
Equalizes image histogram. It is an essential part of the work [AutoAugment: Learning Augmentation Policies from Data](https://arxiv.org/abs/1805.09501).
[Posterize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Posterize)
https://github.com/albu/albumentations/commit/ad95fa005fd5325deb73461bfb6e543fca342f45
Target: image
Reduce the number of bits for each pixel. It is an essential part of the work [AutoAugment: Learning Augmentation Policies from Data](https://arxiv.org/abs/1805.09501).
[ImageCompression](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.ImageCompression)
Target: image
https://github.com/albu/albumentations/commit/b6127864d45cfa5b5299578d309680baa0ce7aa3
Decrease Jpeg or WebP compression to the image.
[Downscale](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Downscale)
https://github.com/albu/albumentations/commit/df831d6605140e7aa013deab6012d85af9854be3
Target: image
Decreases image quality by downscaling and upscaling back.
[RandomResizedCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomResizedCrop)
https://github.com/albu/albumentations/commit/4dbe41e8795c7b7d48e0cc4501efe8046e21765b
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](https://pytorch.org/docs/stable/torchvision/transforms.html#torchvision.transforms.RandomResizedCrop).
[RandomGridShuffle](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomGridShuffle)
https://github.com/albu/albumentations/commit/4cf6c36bc2332729d91e44f58f18f44b66db3c6f
Targets: image, mask
Partition an image into tiles. Shuffle them and merge back.
[CropNonEmptyMaskIfExists](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.CropNonEmptyMaskIfExists)
Targets: image, mask, bboxes, keypoints
Crop area with a mask if the mask is non-empty, else make a random crop.
ToTensorV2
https://github.com/albu/albumentations/commit/a5026800d84c6c1998f224b86dedbf3f005ae994
Targets: image, mask
Convert image and mask to `torch.Tensor`
New features
Added YOLO format to bounding boxes.
https://github.com/albu/albumentations/commit/d05db9e9aae6b7607c33c4cdce69be011c2f8802
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
https://github.com/albu/albumentations/commit/9942689f9846c59006c80718ee8db38e02ee2104
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](https://github.com/albu/albumentations/blob/master/notebooks/replay.ipynb).
Added `fill_value` to the [Cutout](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Cutout) transform.
https://github.com/albu/albumentations/commit/d85bab59eb8ccb0a2fec86750f94173e18e86395
Separated `fill_value` for images and masks
https://github.com/albu/albumentations/commit/2c1a1485f690b4e8ead50f5bb29d3838fbbc177d
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](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RGBShift)
https://github.com/albu/albumentations/commit/c3cc277f37b172bebf7177c779a7cf3cdf7120d3
3.2 times faster for uint8 images.
Speedup in [HueSaturationValue](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.HueSaturationValue)
https://github.com/albu/albumentations/commit/448761df9a008384cf914343f25e3cfb7c4d7551
2 times faster for uint8 images.
Speedup in [RandomBrightnessContrast](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomBrightnessContrast)
https://github.com/albu/albumentations/commit/4e12c6ec3e55cf79cf242a09c5cdc813bcfc6401
2.7 times faster for uint8 images.
Speedup in [RandomGamma](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomGamma)
https://github.com/albu/albumentations/commit/ac499d0365bfb2494cb535e82591fc3460d4595a
4 times faster for uint8 images.
Added support for images and masks with more than 3 channels
https://github.com/albu/albumentations/commit/c028a9557cc960da11720a0a505a19cdd4fe0b24
Added key points support
https://github.com/albu/albumentations/commit/30a3f3024dc34597307c466a6307e2e6d27e9d3e
Not all spatial tranforms jave keypoints support yet. In this release we added [Crop](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Crop), [CropNonEmptyMaskIfExists](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.CropNonEmptyMaskIfExists), [LongestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.LongestMaxSize), [RandomCropNearBBox](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomCropNearBBox), [Resize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Resize), [SmallestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.SmallestMaxSize), and [Transpose](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.Transpose).
Add per channel transform composition https://github.com/albu/albumentations/commit/7fb635c66acd5e6c3e9ca50a37a9496956644f36
Bug Fixes
* Bugfix in the [GaussNoise](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.GaussNoise)https://github.com/albu/albumentations/commit/1bc367f54be07fed0fc0ef39d718dc040b7927d4
* Bugfix in the [RandomGamma](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomGamma) https://github.com/albu/albumentations/commit/389d31ab333a9681413ab3eddef8c2a41dfe73df
* Bugfix in the [RandomSizedBBoxSafeCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.html#albumentations.augmentations.transforms.RandomCropNearBBox) https://github.com/albu/albumentations/commit/9db2a74bfcd1ed38a7b5430ff4f43c1a30346f6f
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](https://github.com/albu/albumentations/blob/master/docs/citations.rst) 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](https://www.kaggle.com/) and other platforms. We added a ["Hall of Fame"](https://github.com/albu/albumentations/blob/master/docs/hall_of_fame.rst) 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](https://github.com/albu/albumentations/blob/master/docs/contributing.rst).
People that made this release happen
albu Dipet creafz BloodAxe ternaus vfdev-5 arsenyinfo qubvel toshiks Jae-Hyuck BelBES alekseynp timeous jveitchmichaelis bfialkoff