Changelogs » Albumentations

PyUp Safety actively tracks 232,000 Python packages for vulnerabilities and notifies you when to upgrade.

Albumentations

0.4.0

Table of Contents
  * New transforms
  * [ISONoise](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.ISONoise)
  * [Solarize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Solarize)
  * [Equilize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Equalize)
  * [Posterize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Posterize)
  * [ImageCompression](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.ImageCompression)
  * [Downscale](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Downscale)
  * [RandomResizedCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomSizedCrop)
  * [RandomGridShuffle](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomGridShuffle)
  * [CropNonEmptyMaskIfExists](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.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.htmlalbumentations.augmentations.transforms.Cutout)
  * Separate `fill_value` for image and mask targets
  * Speedup in [RGBShift](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RGBShift) transform
  * Speedup in [HueSaturationValue](HueSaturationValue)
  * Speedup in [RandomBrightnessContrast](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomBrightnessContrast)
  * Speedup in [RandomGamma](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.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.htmlalbumentations.augmentations.transforms.Crop), [CropNonEmptyMaskIfExists](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.CropNonEmptyMaskIfExists), [LongestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.LongestMaxSize), [RandomCropNearBBox](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomCropNearBBox), [Resize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Resize), [SmallestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.SmallestMaxSize), and [Transpose](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Transpose)
  * Add per channel transform composition
  * Bug Fixes
  * Bugfix in [GaussNoise](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.GaussNoise)
  * Bugfix in [RandomGamma](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomGamma)
  * Bugfix in [RandomSizedBBoxSafeCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.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.htmlalbumentations.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_noiseLow_and_high-ISO_noise_examples)
  
  [Solarize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Solarize)
  https://github.com/albu/albumentations/commit/e365b52df6c6535a1bf06733b607915231f2f9d4
  Targets: image
  
  [Solarize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmltorchvision.transforms.RandomResizedCrop).
  
  [RandomGridShuffle](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.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.htmlalbumentations.augmentations.transforms.Crop), [CropNonEmptyMaskIfExists](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.CropNonEmptyMaskIfExists), [LongestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.LongestMaxSize), [RandomCropNearBBox](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomCropNearBBox), [Resize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Resize), [SmallestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.SmallestMaxSize), and [Transpose](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.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.htmlalbumentations.augmentations.transforms.GaussNoise)https://github.com/albu/albumentations/commit/1bc367f54be07fed0fc0ef39d718dc040b7927d4
  * Bugfix in the [RandomGamma](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomGamma) https://github.com/albu/albumentations/commit/389d31ab333a9681413ab3eddef8c2a41dfe73df
  * Bugfix in the [RandomSizedBBoxSafeCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.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

0.3.0

Added serialization / deserialization
  
  - Now we can define transformations in a python dictionary, `json`, `yaml` files and they will be deserialized and used in the code.
  - Now we can define transformations in the code and serialize them in python dictionary, `json` and `yaml` files.
  
  [**Jupyter notebook with an example**](https://github.com/albu/albumentations/blob/master/notebooks/serialization.ipynb)
  
  Special thanks to creafz
  
  Added new transformations
  
  - [Lambda](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Lambda)
  - [GaussianBlur](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.GaussianBlur)
  - [ChannelDropout](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.ChannelDropout)
  - [CoarseDropout](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.CoarseDropout)
  - [RandomSnow](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomSnow)
  - [RandomRain](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomRain)
  - [RandomFog](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomFog)
  - [RandomSunFlare](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomSunFlare)
  - [RandomShadow](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomShadow)
  
  Special thanks to vfdev-5 ternaus BloodAxe kirillbobyrev
  
  Bugfixes and improvements
  
  - Bugfix in [ToGray](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomShadow)
  - Bugfix in [ShiftScaleRotate](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.ShiftScaleRotate)
  - Bugfix in [GaussNoise](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.GaussNoise)
  - Added `fill_value` parameter to [CutOut](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Cutout)
  - SpeedUp in [RandomBrightnessContrast](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomBrightnessContrast)
  
  Special thanks to qubvel ternaus albu BloodAxe

0.2.0

Added support for the keypoint transformations to
  
  * [CenterCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.CenterCrop)
  * [Flip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Flip)
  * [HorizontalFlip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.HorizontalFlip)
  * [IAAAffine](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.imgaug.transforms.IAAAffine)
  * [IAACropAndPad](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.imgaug.transforms.IAACropAndPad)
  * [IAAFliplr](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.imgaug.transforms.IAAFliplr)
  * [IAAFlipud](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.imgaug.transforms.IAAFlipud)
  * [IAAPerspective](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.imgaug.transforms.IAAPerspective)
  * [IAAPiecewiseAffine](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.imgaug.transforms.IAAPiecewiseAffine)
  * [PadIfNeeded](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.PadIfNeeded)
  * [RandomCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomCrop)
  * [RandomRotate90](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomRotate90)
  * [RandomScale](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomScale)
  * [RandomSizedCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomSizedCrop)
  * [Rotate](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Rotate)
  * [ShiftScaleRotate](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.ShiftScaleRotate)
  * [VerticalFlip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.VerticalFlip)
  
  **[Notebook with an example](https://github.com/albu/albumentations/blob/master/notebooks/example_keypoints.ipynb)**
  
  Special thanks to the Evegene Khvedchenya (BloodAxe) for the work.
  
  Added an option to apply the same transformation to the more than one target of the same type.
  
  The possible use case are image2image or stereo-image pipelines.
  
  **[Notebook with an example](https://github.com/albu/albumentations/blob/master/notebooks/example_multi_target.ipynb)**
  
  Special thanks to Alexander Buslaev (albu) for the work.
  
  Added new transformations
  * [RandomCropNearBBox](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomCropNearBBox)
  * [RandomSizedBBoxSafeCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomSizedBBoxSafeCrop)
  * [SmallestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.SmallestMaxSize)
  
  Speed up in
  * [Normalize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Normalize)
  * [Flip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Flip)
  * [HorizontalFlip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.HorizontalFlip)
  * [VerticalFlip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.VerticalFlip)
  * [ElasticTransform](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.ElasticTransform)
  
  Bug fixes
  * Fix for Compose with multiprocessing DataLoaders.
  * Fix in SmallestMaxSize for multiclass masks.
  * Fix in [RandomBrightness](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomBrightness)
  * Fix in [RandomContrast](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomContrast)
  
  And many others.
  
  Additional
  * Performance benchmark was extended to the [Augmentor](https://github.com/mdbloice/Augmentor) and [Solt](https://github.com/MIPT-Oulu/solt) libraries.
  * Added table to Readme that shows all implemented transformations with the set of possible targets: images, bounding boxes, masks, key points. (Special thanks to Alex Parinov creafz )
  * The library can be installed in anaconda.
  
  Contributors
  BloodAxe albu creafz ternaus erikgaas marcocaccin libfun DBusAI alexobednikov StrikerRUS IlyaOvodov ZFTurbo Vcv85 georgymironov LinaShiryaeva vfdev-5 daisukelab cdicle

0.1.1

Bounding boxes support
  
  Transformations that support bounding boxes
  
  The main change in this release is the addition of the operations on bounding boxes to the
  * [Flip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Flip)
  * [VerticalFlip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.VerticalFlip)
  * [HorizontalFlip](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.HorizontalFlip)
  * [Transpose](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Transpose)
  * [RandomRotate90](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomRotate90)
  * [LongestMaxSize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.LongestMaxSize)
  * [Resize](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Resize)
  * [RandomScale](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomScale)
  * [Crop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.Crop)
  * [RandomCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomCrop)
  * [CenterCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.CenterCrop)
  * [RandomSizedCrop](https://albumentations.readthedocs.io/en/latest/api/augmentations.htmlalbumentations.augmentations.transforms.RandomSizedCrop)
  * [IAAAffine](https://albumentations.readthedocs.io/en/latest/api/imgaug.htmlalbumentations.imgaug.transforms.IAAAffine)
  
  Supported formats
  
  Currently supported the following formats for the bounding boxes:
  1. COCO: `[x_min, y_min, width, height]`, ex `[97, 12, 150, 200]`
  2. Pascal VOC: `[x_min, y_min, x_max, y_max]`, ex `[97, 12, 247, 212]`
  
  Bounding box filtering
  It may happen that after the transformation a big part of the bounding box was cropped and it is needed to exclude such boxes.
  
  We support such a bounding box filtering based on the:
  * Bounding box area, measured in pixels.
  * Visible box area, measured in percent.
  
  Smaller changes
  * Added support for 8-bit images.
  * We changed all `np.random` occurrences to `random` due to the numpy behavior reported in https://github.com/pytorch/pytorch/issues/5059
  * Multiple bugfixes.
  
  Added notebooks with examples
  * [How to migrate from torchvision to albumentations.](https://github.com/albu/albumentations/blob/master/notebooks/migrating_from_torchvision_to_albumentations.ipynb)
  * [How to apply the transformation to the **classification** problems.](https://github.com/albu/albumentations/blob/master/notebooks/example.ipynb)
  * [How to apply transformations to the **detection** problems.](https://github.com/albu/albumentations/blob/master/notebooks/example_bboxes.ipynb)
  * [How to apply transformations to the **segmentation** problems.](https://github.com/albu/albumentations/blob/master/notebooks/example_kaggle_salt.ipynb)
  * [How to apply transformations to the **non 8-bit** images](https://github.com/albu/albumentations/blob/master/notebooks/example_16_bit_tiff.ipynb)
  * [All in one showcase](https://github.com/albu/albumentations/blob/master/notebooks/showcase.ipynb)