图像增强会使性能变差

16
我正在进行一项图像分割项目,并一直尝试采用图像增强技术来增加训练集大小。起初,我只是尝试使用水平翻转来使图像数量翻倍,但我发现性能比不使用要差得多。是否有任何可以分享的见解?谢谢。
3个回答

17

因此,基本上你需要回答自己一个重要的问题:在您的领域中,翻转图像是否是有效的图像?

  1. 如果不是-则可能会损害您的训练过程,因为您正在向网络提供无效输入,这可能会使您的网络学习到您数据中的虚假模式。 翻转图像可能会损害您的训练,例如在标志识别中,不改变数据方向很重要,以便正确地学习标志。
  2. 如果是-则您的模型开始表现更差可能有很多不同的原因。其中一个可能是它的容量太小,无法学习您数据中的所有模式。第二个是你没有足够的样本-当你添加翻转图像时,它实际上记忆了大量的训练案例。另一件事是,也许你学习的时间太短了,将迭代次数设置为更大的值可能是一个好主意。

    有一件事是肯定的-您的模型没有很好地推广,因为您的翻转数据是有效的。


关于我的情况,如果我翻转训练图像,它对我仍然有意义。因此,我将假设翻转的图像仍然是我领域内的有效图像。我将看看第2项中提到的三种情况是否能给我任何指导。此外,如果模型没有泛化,是否有任何建议来克服它。我正在使用SegNet类型的框架进行分割工作。 - user288609
在这种情况下,您使用什么类型的SegNet?您能提供有关数据类型和数量的见解吗? - Marcin Możejko
数据就像遥感图像一样。我有100张大小为600*800的图片。我尝试了U-Net和SegNet。 - user288609
1
这可能是情况 - 您提供的数据量非常非常少。 - Marcin Możejko
那么,我的回答有帮助到你吗? - Marcin Możejko

3
当你说数据增强效果更差时,你是在比较同一个数据集上的结果吗?
我曾犯了一个错误,将使用数据增强训练的模型在增强数据集上的准确率与未使用数据增强训练的模型在常规数据集上的准确率进行了比较。
结果我惊讶地发现,使用数据增强的模型准确率更低。然而,在没有增强的数据集上比较两个模型的准确率后,使用数据增强的模型表现比另一个模型更好。
需要注意的是,对于模型来说,增强数据集可能更难处理。因此,即使准确率不如以前高,但在常规数据集上评估时,实际上可能更高。

2
图像增强是扩展数据集的好方法,但正如你所展示的那样,它并非万能药。在一定程度上,图像增强通过变化与模型基础映射函数无关的图像特征(例如,图像亮度不应与狗的存在相关),同时仍然使图像中的对象可识别。
我认为你可以最容易地改进的是变化你的增强技术。不仅仅水平翻转图像,还可以尝试缩放、裁剪、旋转、拉伸、调整亮度、对比度、添加噪音等。这将比单一的增强方式更多地改变原始图像。我为工作撰写的博客介绍了不同类型的增强及其作用,这个库是我们首选的实现图像增强的方法。
不同的数据增强示例: 剪切 剪切增强 噪声: 噪声增强 颜色空间: 颜色空间增强 过度依赖数据增强来增加数据集大小可能会导致模型对训练数据集过拟合,但是变化多样的增强技术可以帮助您避免出现这种情况。如果您有资源,最好的方法是使用全新的数据,如果您想要更高级的方法,可以研究生成对抗网络,通过它您可以从头开始创建新数据。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接