вам нужно хранить ваши изображения в одной подпапке, например, создать папку с именем "img" внутри каталога изображений и маски.
-- image
-- img
-- 1.jpg
-- 2.jpg
-- mask
-- img
-- 1.png
-- 2.png
Генератор данных должен выглядеть так: -
seed = 909 # (IMPORTANT) to transform image and corresponding mask with same augmentation parameter.
image_datagen = ImageDataGenerator(width_shift_range=0.1,
height_shift_range=0.1,
preprocessing_function = image_preprocessing) # custom fuction for each image you can use resnet one too.
mask_datagen = ImageDataGenerator(width_shift_range=0.1,
height_shift_range=0.1,
preprocessing_function = mask_preprocessing) # to make mask as feedable formate (256,256,1)
image_generator =image_datagen.flow_from_directory("dataset/image/",
class_mode=None, seed=seed)
mask_generator = mask_datagen.flow_from_directory("dataset/mask/",
class_mode=None, seed=seed)
train_generator = zip(image_generator, mask_generator)
Если вы хотите создать собственный генератор данных для моделей семантической сегментации, чтобы получить лучший контроль над набором данных, вы можете проверить мое ядро kaggle, где я использовал набор данных camvid для обучения модели UNET.
https://www.kaggle.com/mukulkr/camvid-segmentation-using-unet
Если вам нужна лучшая функция увеличения, вы можете проверить это потрясающее GitHub-репо - https://github.com/mdbloice/Augmentor