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

RandomBrightness 层

[来源]

RandomBrightness

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

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

此层将随机增加/减少输入 RGB 图像的亮度。在推理时,输出将与输入相同。使用 training=True 调用此层以调整输入的亮度。

注意: 此层可以安全地在 tf.data 管道中使用(与您使用的后端无关)。

参数

  • factor: 浮点数或介于 -1.0 和 1.0 之间的 2 个浮点数的列表/元组。此因子用于确定亮度调整的下限和上限。将在此限制之间随机选择一个浮点值。当选择 -1.0 时,输出图像将为黑色,当选择 1.0 时,图像将完全为白色。当仅提供一个浮点数时,例如 0.2,则 -0.2 将用作下限,0.2 将用作上限。
  • value_range: 可选的 2 个浮点数的列表/元组,用于输入数据值的下限和上限。要不进行更改,请使用 [0.0, 1.0],例如,如果图像输入在此层之前已缩放。默认为 [0.0, 255.0]。亮度调整将缩放到此范围,并且输出值将被裁剪到此范围。
  • seed: 可选整数,用于固定 RNG 行为。

输入:3D (HWC) 或 4D (NHWC) 张量,具有浮点或整数 dtype。输入像素值可以是任何范围(例如 [0., 1.)[0, 255]

输出:3D (HWC) 或 4D (NHWC) 张量,其亮度根据 factor 进行调整。默认情况下,该层将输出浮点数。输出值将被裁剪到范围 [0, 255],RGB 颜色的有效范围,并根据 value_range 在需要时重新缩放。

示例

random_bright = keras.layers.RandomBrightness(factor=0.2)

# An image with shape [2, 2, 3]
image = [[[1, 2, 3], [4 ,5 ,6]], [[7, 8, 9], [10, 11, 12]]]

# Assume we randomly select the factor to be 0.1, then it will apply
# 0.1 * 255 to all the channel
output = random_bright(image, training=True)

# output will be int64 with 25.5 added to each channel and round down.
```python
>>> array([[[26.5, 27.5, 28.5]
            [29.5, 30.5, 31.5]]
           [[32.5, 33.5, 34.5]
            [35.5, 36.5, 37.5]]],
          shape=(2, 2, 3), dtype=int64)

```