ImageDataGenerator 是 Keras 中用于图像数据增强的工具类,可以用于生成经过随机变换的图像数据,以扩充训练集,从而提高模型的泛化能力。ImageDataGenerator 可以进行如下操作:

  1. 随机旋转:旋转图像一定角度。
  2. 随机剪切:在图像上随机裁剪一块区域。
  3. 随机缩放:随机缩放图像。
  4. 随机水平翻转:随机水平翻转图像。
  5. 随机竖直翻转:随机竖直翻转图像。
  6. 随机亮度变化:对图像亮度进行随机变化。
  7. 随机对比度变化:对图像对比度进行随机变化。
  8. 随机饱和度变化:对图像饱和度进行随机变化。

使用 ImageDataGenerator 时,需要先将图像数据加载到内存中,然后通过调用 ImageDataGenerator 的 fit() 方法进行数据增强,生成新的图像数据。生成的图像数据可以通过调用 flow() 方法生成迭代器,用于模型的训练。

以下是一个简单的使用 ImageDataGenerator 进行数据增强的例子:

from keras.preprocessing.image import ImageDataGenerator

datagen = ImageDataGenerator(
    rotation_range=20, # 随机旋转
    width_shift_range=0.2, # 随机水平平移
    height_shift_range=0.2, # 随机竖直平移
    shear_range=0.2, # 随机剪切
    zoom_range=0.2, # 随机缩放
    horizontal_flip=True, # 随机水平翻转
    fill_mode='nearest') # 填充模式

# 加载图像数据
images = ...
labels = ...

# 数据增强
datagen.fit(images)

# 生成迭代器
generator = datagen.flow(images, labels, batch_size=32)

# 训练模型
model.fit_generator(generator, ...)

原文地址: https://www.cveoy.top/t/topic/nQJi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录