Keras 的 ImageDataGenerator 中的剪切究竟是做啥的?

Posted

技术标签:

【中文标题】Keras 的 ImageDataGenerator 中的剪切究竟是做啥的?【英文标题】:What exactly the shear do in ImageDataGenerator of Keras?Keras 的 ImageDataGenerator 中的剪切究竟是做什么的? 【发布时间】:2019-12-09 14:19:51 【问题描述】:

不明白keras的ImageDataGenerator中shear参数的作用是什么

我曾尝试通过 ImageDataGenerator 中的 apply_transform 成员函数使用图像来应用剪切。应用此功能后,我可以看到图像似乎被旋转和拉伸。但我不明白它到底做了什么。

from keras.preprocessing.image import ImageDataGenerator
import matplotlib.pyplot as plt
import numpy as np

(train_x, train_y) , (test_x,test_Y) = cifar10.load_data()
img = train_x[0]
img_gen = ImageDataGenerator()


shear_intensity = np.arange(0,110,10, dtype = int)

nrow = 4
ncol = 3


plt.figure(figsize = (14,14))
for i,shear in enumerate(shear_intensity):
  plt.title(f'shear intensity : shear')
  plt.subplot(nrow, ncol, i+1)
  plt.imshow(img_gen.apply_transform(img, 'shear' : shear))
plt.show()

图像确实有一些变化,但我无法理解效果。

【问题讨论】:

【参考方案1】:

“剪切”意味着图像将沿轴扭曲,主要是为了创建或校正感知角度。它通常用于增强图像,以便计算机可以看到人类如何从不同角度看待事物。

来源:https://www.tutorialspoint.com/javafx/shearing_transformation

【讨论】:

以上是关于Keras 的 ImageDataGenerator 中的剪切究竟是做啥的?的主要内容,如果未能解决你的问题,请参考以下文章

keras如何快速入门

keras 自定义 metrics

keras与tensorflow.python.keras - 使用哪一个?

keras是啥

为啥keras安装以后导入失败?

keras 与 tensorflow.python.keras - 使用哪一个?