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

RandomGrayscale 层

[源]

RandomGrayscale

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

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

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

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

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

参数

  • 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(批量)的张量:采用 "channels_last" 格式时形状为 (..., height, width, channels),采用 "channels_first" 格式时形状为 (..., channels, height, width)

输出形状

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