RandomGrayscale
classkeras.layers.RandomGrayscale(factor=0.5, data_format=None, seed=None, **kwargs)
Preprocessing layer for random conversion of RGB images to grayscale.
This layer randomly converts input images to grayscale with a specified factor. When applied, it maintains the original number of channels but sets all channels to the same grayscale value. This can be useful for data augmentation and training models to be robust to color variations.
The conversion preserves the perceived luminance of the original color image using standard RGB to grayscale conversion coefficients. Images that are not selected for conversion remain unchanged.
Note: This layer is safe to use inside a tf.data
pipeline
(independently of which backend you're using).
Arguments
"channels_last"
(default) or
"channels_first"
. The ordering of the dimensions in the inputs.
"channels_last"
corresponds to inputs with shape
(batch, height, width, channels)
while "channels_first"
corresponds to inputs with shape
(batch, channels, height, width)
.Input shape
3D (unbatched) or 4D (batched) tensor with shape:
(..., height, width, channels)
, in "channels_last"
format,
or (..., channels, height, width)
, in "channels_first"
format.
Output shape
Same as input shape. The output maintains the same number of channels as the input, even for grayscale-converted images where all channels will have the same value.