ImageDataGenerator中channel_shift_range的效果(Keras图像增强)

时间:2019-07-01 18:15:08

标签: python-3.x tensorflow keras computer-vision tf.keras

也许我误会了。如果我在ImageDataGenerator中实现channel_shift_range,则输出应具有“加扰”的颜色值,对吗?我想用它使我的模型对颜色的变化更加稳健。

但是,当我对其进行测试时,没有看到任何效果。我使用错了吗?这是我的代码:

from keras.preprocessing.image import ImageDataGenerator

import cv2
import matplotlib.pyplot as plt
%matplotlib inline

path = '/mnt/Project/Imaging/samples'

datagen = ImageDataGenerator(channel_shift_range=0.9)

genObject = datagen.flow_from_directory(path,
                                        batch_size=1)

augs = []
i = 0

for batch in genObject:
    augs.append(batch)
    i += 1
    if i > 10:
        break

for item in augs:
    plt.imshow(item[0][0].astype('uint8'))
    plt.show()

环境:
Jupyter Lab
Python 3.6.6
Keras == 2.2.4
Keras-Applications == 1.0.7
Keras-预处理== 1.0.9
tensorboard == 1.9.0
tensorflow-gpu == 1.9.0

预先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

图像数据的值在[0..255]范围内,因此几乎看不到0..0.9的偏移。尝试进行较大的调整以查看效果。

请注意,使用rescale = 1. / 255。这无济于事,因为转换后会应用重新缩放。