我正在执行语义分割,我想使用ImageDataGenerator类来扩充我的数据。在关于keras的文档中,我读到了有关为图像以及蒙版使用生成器的信息,我想知道这将如何工作?我的标签是整数值,.fit会引发错误,因为它期望等级为4,并且我的形状是(1605,96,160),所以我将标签转换为一个热编码的标签,从而得到(1605,96)的形状,160,4)。
这是我的增强代码:
from keras.preprocessing.image import ImageDataGenerator
data_gen_args = dict(featurewise_center=True,
featurewise_std_normalization=True,
rotation_range=5,
width_shift_range=0.1,
height_shift_range=0.1,
zoom_range=0.2,
brightness_range=[0.5,1.5],
horizontal_flip=True)
image_datagen = ImageDataGenerator(**data_gen_args)
mask_datagen = ImageDataGenerator(**data_gen_args)
# Provide the same seed and keyword arguments to the fit and flow methods
image_datagen.fit(X_org, augment=True, seed=seed)
mask_datagen.fit(Y_org, augment=True, seed=seed)
image_generator = image_datagen.flow(
X_train,
seed=seed,
batch_size=32)
mask_generator = mask_datagen.flow(
Y_train,
seed=seed,
batch_size=32)
train_generator = zip(image_generator, mask_generator)
由于在图像和标签上调用了相同的功能,所以我想知道诸如增亮和featurewise_center这样的增强将如何影响标签。它将在类别标签上应用标准化并更改类别值吗?标签是否需要调用.fit和.flow方法?