tensorflow中图像增强的方法详解

tf.keras.preprocessing.image.ImageDataGenerator()官方文档如下:

 1 tf.keras.preprocessing.image.ImageDataGenerator(
 2     featurewise_center=False, 
 3     samplewise_center=False,
 4     featurewise_std_normalization=False,             
 5     samplewise_std_normalization=False,
 6     zca_whitening=False, 
 7     zca_epsilon=1e-06, 
 8     rotation_range=0, 
 9     width_shift_range=0.0,
10     height_shift_range=0.0, 
11     brightness_range=None, 
12     shear_range=0.0, 
13     zoom_range=0.0,
14     channel_shift_range=0.0, 
15     fill_mode='nearest', cval=0.0,
16     horizontal_flip=False, 
17     vertical_flip=False, 
18     rescale=None,
19     preprocessing_function=None, 
20     data_format=None, 
21     validation_split=0.0, 
22     dtype=None
23 )    

1. featurewise_center

布尔类型,大意是数据集去中心化,每个输入样本除以整个数据集的标准差

2. samplewise_center  

布尔类型,大意是样本去中心化,每个输入样本除以自身的标准差

3. featurewise_std_normalization

布尔类型,输入样本除以数据集的标准差以完成标准化, 按feature执行

4. samplewise_std_normalization

布尔类型,输入样本除以自身的标准差以完成标准化

5. zca_whitening

布尔类型,对输入数据施加ZCA白化,即对图像进行PCA降维操作,减少图片的冗余信息,保留最重要的特征,细节可参看:Whitening transformation--维基百科(https://en.wikipedia.org/wiki/Whitening_transformation),Whitening--斯坦福(http://ufldl.stanford.edu/wiki/index.php/Whitening)

6. rotation_range

整数(取值为0-180的整数),数据提升时图片随机转动的角度, 在 [0, 指定角度] 范围内进行随机角度旋转

7. width_shift_range

浮点数(取值为0-1的浮点数,可以大于1,但最好不要大于1),水平方向平移的幅度(平移距离 / 图像宽度)

8. height_shift_range

浮点数(取值为0-1的浮点数,可以大于1,但最好不要大于1),垂直方向平移的幅度(平移距离 / 图像高度)

9. shear_range

浮点数,剪切强度(逆时针方向的剪切变换角度),效果就是让所有点的x坐标(或者y坐标)保持不变,而对应的y坐标(或者x坐标)则按比例发生平移,且平移的大小和该点到x轴(或y轴)的垂直距离成正比。

10. zoom_range

浮点数或形如[width_zoom_range, height_zoom_range]的列表。若为浮点数,图片同时在长宽两个方向进行同等程度的放缩操作;若为列表,即分别对长宽进行不同程度的放缩

参数大于0小于1时,执行的是放大操作,当参数大于1时,执行的是缩小操作

11. channel_shift_range

浮点数,颜色通道的数值偏移,改变图片的整体颜色,相当于给整个数据集加了一个“滤镜”

12. fill_mode

‘constant',‘nearest',‘reflect'或‘wrap'之一,当对图片进行平移、放缩、剪切等操作时,图片中会出现一些缺失的地方,那这些缺失的地方该用什么方式补全呢?就由fill_mode中的参数确定

 13. cval

浮点数或整数,当fill_mode=‘’constant‘’时,指定要向超出边界的点填充的值

14. horizontal_flip

布尔值,随机的对图片进行水平翻转,意味着不一定对所有图片都会执行水平翻转,这个参数适用于水平翻转不影响图片语义的时候。

15. vertical_flip

布尔值,随机垂直翻转

16. rescale

浮点数(取值为0-1的浮点数),将在执行其他处理前乘到整个图像上,我们的图像在RGB通道都是0~255的整数,所以该值通常定为 1/255

17. preprocessing_function

将被应用于每个输入的函数。该函数将在任何其他修改之前运行。该函数接受一个参数,为一张图片(秩为3的numpy array),并且输出一个具有相同shape的numpy array

18. data_format

字符串,“channel_first”或“channel_last”之一,代表图像的通道维的位置。该参数是Keras 1.x中的image_dim_ordering,“channel_last”对应原本的“tf”,“channel_first”对应原本的“th”。以128x128的RGB图像为例,“channel_first”应将数据组织为(3,128,128),而“channel_last”应将数据组织为(128,128,3)。该参数的默认值是~/.keras/keras.json中设置的值,若从未设置过,则为“channel_last”。

原文地址:https://www.cnblogs.com/shuaishuaidefeizhu/p/15171052.html