使用Keras进行深度学习的图像增强(Image Augmentation)

使用Keras进行深度学习的图像增强(Image Augmentation)

Keras是一个高层神经网络API,Keras由纯Python编写而成并基Tensorflow、Theano以及CNTK后端。Keras
为支持快速实验而生,能够把你的idea迅速转换为结果,如果你有如下需求,请选择Keras:

简易和快速的原型设计(keras具有高度模块化,极简,和可扩充特性)
支持CNN和RNN,或二者的结合
无缝CPU和GPU切换

Keras适用的Python版本是:Python 2.7-3.6
我的系统是win10.
当时我的python版本是3.7的,安装 tensorflow的时候出了点问题,所以有前辈建议先别使用太新的python版本。所以安装了3.6的版本。

Keras 图片增强 API

就像Keras的其他api一样,图像增强API简单且强大。Keras提供了ImageDataGenerator类,定义关于图片准备和增强的配置。包括以下功能:样本级的标准化特征级的标准化ZCA白化.随机旋转、转换、剪切、翻转维度重排.将增强的图片保存在本地.

1、 可以通过以下方式创建 ImageDataGenerator() 的实例:

from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img

2、导入os模块

import os

ps:导入os模块是为了后面的遍历文件

3、开始增广

Datagen = ImageDataGenerator(rotation_range=40,
        shear_range=0.2,
        zoom_range=0.2,
        horizontal_flip=True,
        vertical_flip = True,
        fill_mode='nearest')

注意

如果操作的是一个文件夹,则要遍历这个文件夹,即

for file_name in os.listdir('C:/Users/yiqi/Desktop/......作业/'):

图片的开始存放路径和增广以后的存放路径要搞清

4、load图片

img = load_img('C:/Users/yiqi/Desktop/......作业/')
x_img = img_to_array(img)
x_img = x_img.reshape((1,)+ x_img.shape)

5、每张图片的数据集都要扩充10倍

i = 0
for img_batch in Datagen.flow(x_img,
              batch_size=32,
              save_to_dir='C:/Users/yiqi/Desktop/new/',
              save_prefix='candy',
              save_format='jpg'):
    i +=1
    if i > 10:
       break
ps:文件地址删除了带有本人名字的文件夹名。
ps:这边的candy是自定义的前缀,可以根据个人喜好定义,还有jpg,可以是png,jpeg或者其他图片格式。

更多详情:Image Augmentation for Deep Learning With Keras
By Jason Brownlee on June 29, 2016 in Deep Learning

扩充之前的图片

使用Keras进行深度学习的图像增强(Image Augmentation)_第1张图片

扩充之后的图片

使用Keras进行深度学习的图像增强(Image Augmentation)_第2张图片

使用Keras进行深度学习的图像增强(Image Augmentation)_第3张图片

ps:文件地址删除了带有本人名字的文件夹名。

你可能感兴趣的:(使用Keras进行深度学习的图像增强(Image Augmentation))