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

RandomGrayscale 层

[源代码]

RandomGrayscale

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

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

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

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

注意:该层可以在 tf.datagrain 管道中使用(无论您使用的是哪个后端),且是安全的。

参数

  • 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" 格式。

输出形状

与输入形状相同。输出会保留与输入相同的通道数,即使对于所有通道都具有相同值的灰度转换图像也是如此。