Keras 3 API 文档 / 层 API / 预处理层 / 图像增强层 / RandomContrast 层

RandomContrast 层

[源代码]

RandomContrast

keras.layers.RandomContrast(factor, value_range=(0, 255), seed=None, **kwargs)

一个在训练期间随机调整对比度的预处理层。

此层将通过随机因子随机调整一个或多个图像的对比度。在训练期间,对比度会针对每个图像的每个通道独立调整。

对于每个通道,此层计算该通道中图像像素的平均值,然后将每个像素的每个分量 x 调整为 (x - mean) * contrast_factor + mean

输入像素值可以是任何范围(例如 [0., 1.)[0, 255]),并且可以是整数或浮点 dtype。默认情况下,此层将输出浮点数。

注意:此层可以安全地用于 tf.data 管道中(无论您使用哪个后端)。

输入形状

采用 "channels_last" 格式的 3D(无批次)或 4D(带批次)张量,形状为:(..., height, width, channels)

输出形状

采用 "channels_last" 格式的 3D(无批次)或 4D(带批次)张量,形状为:(..., height, width, channels)

参数

  • factor: 一个正浮点数,表示为值的比例;或者一个大小为 2 的元组,表示下界和上界。当表示为单个浮点数时,下界 = 上界。对比度因子将在 [1.0 - lower, 1.0 + upper] 之间随机选取。对于通道中的任何像素 x,输出将是 (x - mean) * factor + mean,其中 mean 是该通道的平均值。
  • value_range: 输入图像的值范围。表示为一个包含两个数字的元组,写作 [low, high]。这通常是 [0, 1][0, 255],具体取决于您的预处理管道如何设置。
  • seed: 整数。用于创建随机种子。