Я выполняю сегментирование semanti c, и я хотел бы использовать класс ImageDataGenerator для дополнения моих данных. На документах keras, которые я читал об использовании генератора для изображения и масок, мне было интересно, как это будет работать? Мои метки имеют целочисленные значения, и .fit выдает ошибку, так как ожидает ранг 4, а моя фигура была (1605, 96, 160), поэтому я преобразовал метки в одну горячую кодировку, чтобы придать форму (1605, 96 , 160, 4).
Это мой код для augmentaion:
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 для меток?