gpt4 book ai didi

tensorflow - Keras `ImageDataGenerator` 图像和掩模以不同方式增强

转载 作者:行者123 更新时间:2023-11-30 08:32:10 26 4
gpt4 key购买 nike

我正在使用 Keras 和 TensorFlow 后端训练语义分割模型。我采用了ImageDataGenerator来进行图像增强,包括旋转、翻转和移位。通过关注 documentation ,我创建了一个字典 maskgen_args 并将其用作实例化两个 ImageDataGenerator 实例的参数。

maskgen_args = dict(
rotation_range=90,
validation_split=VALIDATION_SPLIT
)

image_datagen = ImageDataGenerator(**maskgen_args)
mask_datagen = ImageDataGenerator(**maskgen_args)

训练数据生成器的工作原理如下,通过将seed设置为相同的值,掩模将与图像匹配。

training_data_generator = zip(
image_datagen.flow_from_directory(
data_dir,
target_size=(512, 512),
color_mode='rgb',
batch_size=BATCH_SIZE,
class_mode=None,
save_format='jpeg',
seed=GENERATE_SEED,
subset='training'
),
mask_datagen.flow_from_directory(
label_dir,
target_size=(512, 512),
color_mode='grayscale',
batch_size=BATCH_SIZE,
class_mode=None,
save_format='png',
seed=GENERATE_SEED,
subset='training'
)
)

到目前为止,没有出现任何问题。但由于我需要仅对图像而不是蒙版进行一些额外的预处理(例如标准化),因此我创建了另一个 imagegen_args 字典,并在实例化 ImageDataGenerator< 时将其用作参数.

maskgen_args = dict(
rotation_range=90,
validation_split=VALIDATION_SPLIT
)

imagegen_args = dict(
samplewise_center=True,
samplewise_std_normalization=True,
channel_shift_range=10,
brightness_range=(0.7, 1.3),
**maskgen_args
)

image_datagen = ImageDataGenerator(**imagegen_args)
mask_datagen = ImageDataGenerator(**maskgen_args)

当我检查training_data_generator的输出时,出现了问题:图像和蒙版似乎是分开生成的:它们肯定有随机旋转,但它们以不同的角度旋转,与以前不同。这是食物图像和食物蒙版的示例。

Inconsistency

我检查了image_datagenmask_datagenid,两种情况下它们的id是不同的。我想知道为什么在第一种情况下他们可以以相同的随机角度旋转图像和蒙版,但在第二种情况下却不能?当我确实需要为 image_datagen 提供额外参数时,我应该怎么做才能使它们表现得像第一种情况?

最佳答案

当你设置

channel_shift_range=10,
brightness_range=(0.7, 1.3)

这会修改该生成器的 RNG,以便 Image RNG 和 Mask RNG 不再同步。

我建议您使用自定义序列来执行此任务,直到 KP 新 API 发布。 (参见https://github.com/keras-team/governance/blob/master/rfcs/20190729-keras-preprocessing-redesign.md)

对于自定义序列的示例,我在这里建议一个示例:https://dref360.github.io/deterministic-da/

关于tensorflow - Keras `ImageDataGenerator` 图像和掩模以不同方式增强,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58846552/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com