AugMix layer
- Original Link : https://keras.io/api/keras_cv/layers/augmentation/aug_mix/
- Last Checked at : 2024-11-25
AugMix class
keras_cv.layers.AugMix(
value_range,
severity=0.3,
num_chains=3,
chain_depth=[1, 3],
alpha=1.0,
seed=None,
**kwargs
)Performs the AugMix data augmentation technique.
AugMix aims to produce images with variety while preserving the image
semantics and local statistics. During the augmentation process, each image
is augmented num_chains different ways, each way consisting of
chain_depth augmentations. Augmentations are sampled from the list:
translation, shearing, rotation, posterization, histogram equalization,
solarization and auto contrast. The results of each chain are then mixed
together with the original image based on random samples from a Dirichlet
distribution.
Arguments
- value_range: the range of values the incoming images will have.
Represented as a two number tuple written (low, high).
This is typically either
(0, 1)or(0, 255)depending on how your preprocessing pipeline is set up. - severity: A tuple of two floats, a single float or a
keras_cv.FactorSampler. A value is sampled from the provided range. If a float is passed, the range is interpreted as(0, severity). This value represents the level of strength of augmentations and is in the range [0, 1]. Defaults to 0.3. - num_chains: an integer representing the number of different chains to be mixed, defaults to 3.
- chain_depth: an integer or range representing the number of
transformations in the chains. If a range is passed, a random
chain_depthvalue sampled from a uniform distribution over the given range is called at the start of the chain. Defaults to [1,3]. - alpha: a float value used as the probability coefficients for the Beta and Dirichlet distributions, defaults to 1.0.
- seed: Integer. Used to create a random seed.
References
Example
(images, labels), _ = keras.datasets.cifar10.load_data()
augmix = keras_cv.layers.AugMix([0, 255])
augmented_images = augmix(images[:100])