Keras 3 API 文档 / KerasCV / / 增强层 / AugMix 层

AugMix 层

[源代码]

AugMix

keras_cv.layers.AugMix(
    value_range,
    severity=0.3,
    num_chains=3,
    chain_depth=[1, 3],
    alpha=1.0,
    seed=None,
    **kwargs
)

执行 AugMix 数据增强技术。

AugMix 旨在生成具有多样性的图像,同时保留图像语义和局部统计信息。在增强过程中,每个图像以 num_chains 种不同的方式进行增强,每种方式包含 chain_depth 次增强。增强操作从以下列表中采样:平移、剪切、旋转、色调量化、直方图均衡化、太阳化和自动对比度。然后,根据 Dirichlet 分布的随机样本将每个链的结果与原始图像混合在一起。

参数

  • value_range:输入图像将具有的值的范围。表示为一个包含两个数字的元组,写成 (low, high)。这通常是 (0, 1)(0, 255),具体取决于预处理管道的设置方式。
  • severity:两个浮点数的元组、单个浮点数或 keras_cv.FactorSampler。从提供的范围内采样一个值。如果传递浮点数,则范围被解释为 (0, severity)。此值表示增强强度的级别,范围在 [0, 1] 之间。默认为 0.3。
  • num_chains:一个整数,表示要混合的不同链的数量,默认为 3。
  • chain_depth:一个整数或范围,表示链中变换的数量。如果传递范围,则在链开始时从给定范围内的均匀分布中采样一个随机 chain_depth 值。默认为 [1,3]。
  • alpha:一个浮点值,用作 Beta 和 Dirichlet 分布的概率系数,默认为 1.0。
  • seed:整数。用于创建随机种子。

参考文献

示例

(images, labels), _ = keras.datasets.cifar10.load_data()
augmix = keras_cv.layers.AugMix([0, 255])
augmented_images = augmix(images[:100])