在数据增强中使用宽度/高度偏移有什么用?

数据挖掘 喀拉斯 数据集 美国有线电视新闻网 图像分类 数据增强
2022-02-11 22:51:48

我不确定使用宽度偏移和高度偏移来理解增强数据的使用。

假设我的图像数据有限,我想使用 Keras 的 ImageDataGenerator 创建新数据。为了在图像之间进行分类,我使用 CNN。由于 CNN 是平移不变的,那么来自 keras 的平移转换不是没用的,因为这些转换不会产生新的图像吗?(我知道生成器会创建新图像,但 CNN 不会从图片中学习新特征,反而可能导致过度拟合?)

2个回答

如果独立完成,那么它是正确的。

但是应用增强时的另一个目标是具有随机性。
这是通过一起应用多种增强技术来实现的。
从这个意义上说,这两个也可以变得有效。

例如,这是一个缩放图像,添加垂直移位可以进一步裁剪图像并最终产生一个新的(随机)图像

在此处输入图像描述

由于 CNN 是平移不变的,那么 Keras 的平移转换不是没用的,因为这些转换不会产生新的图像吗?

翻译不变性意味着如果我们翻译输入,CNN 仍然能够检测到输入所属的类别。平移不变性是池化操作的结果。在池化操作中,我们将卷积网络在某个位置的输出替换为附近输出的汇总统计信息,例如 Max Pooling 情况下的最大值。与最大池化的情况一样,我们将输出替换为最大值,因此即使我们稍微调整输入,也不会影响大多数池化输出的值。

最大池化的主要问题是网络无法学习不同特征之间的空间关系,因此如果所有特征相对于彼此出现在错误的位置,则会给出误报。这发生在我们需要位置的图像分割等案例中。

因此,数据增强可以方便地处理图像中的严重失真,并在我们拥有较少图像时使模型对这些失真更加鲁棒。

参考: 平移不变性