是否将channel_shift_range添加到Keras预处理(图像增强)中,可以在可变光照条件下使用该模型?

问题描述 投票:0回答:1

我目前正在创建机器学习模型,其最终目标是在iOS应用程序中部署模型。该应用程序将用于现场,与测试和培训相比,光照条件变化很大。

将高channel_shift_range添加到我的图像数据生成器会提高我的模型识别图像的能力,即使在光照条件变化很大的情况下吗?

我当前正在使用

train_datagen = ImageDataGenerator(
        rotation_range=360,
        width_shift_range=0.2,
        height_shift_range=0.2,
        rescale=1./255,
        shear_range=0.2,
        zoom_range=0.2,
        horizontal_flip=True,
        channel_shift_range=100,
        data_format=ch_format,
        brightness_range=(0.75, 1.25),
        fill_mode='nearest')

test_datagen = ImageDataGenerator(rescale = 1./255,
                                  data_format=ch_format)

对于我的数据生成器,并使用flow_from_directory将我的图像加载到模型中。

从概念上讲,这会起作用并产生预期的结果吗?另外,如果在channel_shift_range上添加test_datagen,它会更准确地反映出模型在可变光照条件下的性能吗?

谢谢您的帮助!

tensorflow machine-learning keras light coreml
1个回答
0
投票

通常,您不仅要应用channel_shift_range,还要应用各种数据扩充。

请注意,原则上,您不应触摸测试数据集。在您的情况下,如果您对训练集应用某种扩充,则您也不想将其也应用于测试集。

使用扩充的想法是为模型提供许多示例,以便在“投入生产”时具有鲁棒性。如果您以扩展训练集的确切方式扩展了真实的测试数据集,您将只是“小作弊”;如您所知,您给出了很多示例,例如,将[K0]设为K作为训练集,将相同的确切值赋予测试集几乎就像将训练数据复制到测试数据中;您不想这样做。

请确保在您的案例中使用大量且相关的增强功能(例如,比较苹果和橙子时色偏并不是明智的选择)。>>

© www.soinside.com 2019 - 2024. All rights reserved.