ImageDataGenerator: Keras 图像数据增强工具详解
ImageDataGenerator 是 Keras 中用于图像数据增强的工具类,可以用于生成经过随机变换的图像数据,以扩充训练集,从而提高模型的泛化能力。ImageDataGenerator 可以进行如下操作:
- 随机旋转:旋转图像一定角度。
- 随机剪切:在图像上随机裁剪一块区域。
- 随机缩放:随机缩放图像。
- 随机水平翻转:随机水平翻转图像。
- 随机竖直翻转:随机竖直翻转图像。
- 随机亮度变化:对图像亮度进行随机变化。
- 随机对比度变化:对图像对比度进行随机变化。
- 随机饱和度变化:对图像饱和度进行随机变化。
使用 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 著作权归作者所有。请勿转载和采集!