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

RandomGrayscale 层

[源代码]

RandomGrayscale

keras.layers.RandomGrayscale(factor=0.5, data_format=None, seed=None, **kwargs)

用于将 RGB 图像随机转换为灰度图的预处理层。

此层以指定的因子随机将输入图像转换为灰度图。应用后,它会保持原始通道数,但将所有通道设置为相同的灰度值。这对于数据增强和训练模型以使其对颜色变化具有鲁棒性很有用。

转换使用标准的 RGB 到灰度转换系数来保留原始彩色图像的感知亮度。未选择进行转换的图像保持不变。

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

参数

  • factor:介于 0 和 1 之间的浮点数,指定将每张图像转换为灰度图的因子。默认为 0.5。值为 1.0 表示所有图像都将被转换,而 0.0 表示没有图像将被转换。
  • data_format:字符串,可以是 "channels_last"(默认)或 "channels_first"。输入中维度的顺序。"channels_last" 对应于形状为 (batch, height, width, channels) 的输入,而 "channels_first" 对应于形状为 (batch, channels, height, width) 的输入。

输入形状

3D(未批处理)或 4D(已批处理)张量,形状为:(..., height, width, channels),采用 "channels_last" 格式;或者 (..., channels, height, width),采用 "channels_first" 格式。

输出形状

与输入形状相同。输出保持与输入相同的通道数,即使对于转换为灰度图的图像,所有通道也将具有相同的值。