如何使用ImageDataGenerator进行语义分割标签?

时间:2020-04-29 20:44:54

标签: python machine-learning image-processing keras semantic-segmentation

我正在执行语义分割,我想使用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方法?

0 个答案:

没有答案