3
我的面部表情識別使用Keras工作圖像數據生成的參數,我使用的數據集沒有可用的數據量很大,所以我將使用Keras的圖像預處理爲數據增強。Keras最好的數據擴張
我想知道ImageDataGenerator的最佳參數,產生正常的面孔至極,我可以用它來訓練我的神經網絡。
下面是我使用的數據擴充代碼:
def data_augmentation(subdir):
datagen = ImageDataGenerator(
featurewise_center=False,
samplewise_center=False,
featurewise_std_normalization=False,
samplewise_std_normalization=False,
zca_whitening=False,
rotation_range=30,
width_shift_range=0.2,
height_shift_range=0.2,
horizontal_flip=True,
vertical_flip=False)
print ("\nData augmentation...")
print ("\nProcess...")
for file in glob.glob(subdir+"*/*.jpg"):
img = load_img(file)
print ("\nProcessing..." + str(file))
x = img_to_array(img)
x = x.reshape((1,) + x.shape)
i = 0
for batch in datagen.flow(x, batch_size=1, save_to_dir='data_aug', save_prefix='Fig', save_format='jpg'):
i += 1
if i > 20:
break
這裏的所有ImageDataGenerator的參數
keras.preprocessing.image.ImageDataGenerator(featurewise_center=False,
samplewise_center=False,
featurewise_std_normalization=False,
samplewise_std_normalization=False,
zca_whitening=False,
zca_epsilon=1e-6,
rotation_range=0.,
width_shift_range=0.,
height_shift_range=0.,
shear_range=0.,
zoom_range=0.,
channel_shift_range=0.,
fill_mode='nearest',
cval=0.,
horizontal_flip=False,
vertical_flip=False,
rescale=None,
preprocessing_function=None,
data_format=K.image_data_format())
而這裏的圖像的一個例子使用我的代碼生成:
正如你所看到的,圖像失真並不夠好訓練我的網絡。
我想知道什麼是ImageDataGenerator的最佳參數,人臉或者是有數據擴充任何更好的方法?