Keras实时增强添加噪声和对比度

时间:2017-04-13 01:19:13

标签: image image-processing machine-learning deep-learning keras

Keras为实时增强提供ImageDataGenerator类,但它不包括对比度调整和噪声添加。

我们如何在训练期间应用随机噪音和随机对比度调整?这些函数可以添加到datagen中的'preprocessing_function'参数吗?

谢谢。

3 个答案:

答案 0 :(得分:6)

您确实可以使用preprocessing_function添加噪音。

示例脚本:

snapshotResolver

脚本生成的示例图像:

Four images of a cat with varying modification and levels of noise

答案 1 :(得分:2)

来自Keras文档:

preprocessing_function:将隐含在每个输入上的函数。该函数将在对其进行任何其他修改之前运行。该函数应该采用一个参数:一个图像(Numpy张量为3级),并应输出具有相同形状的Numpy张量。

因此,我创建了一个简单的函数,然后使用imgaug module中的图像增强函数。请注意,imgaug要求图像排名为4。

答案 2 :(得分:0)

我在this blog中发现,您可以做一些简单的事情:

from keras.layers import GaussianNoise

model.add(Dense(32))
model.add(GaussianNoise(0.1))
model.add(Activation('relu'))
model.add(Dense(32))
...

不幸的是,我找不到类似的方法来调整/增强对比度。但是您可以根据此post

增强亮度
from keras.preprocessing.image import ImageDataGenerator
ImageDataGenerator(brightness_range=[range_min,range_max])