【问题标题】:Image data augmentation图像数据增强
【发布时间】:2021-03-23 16:50:11
【问题描述】:

我正在做一个计算机视觉项目,我需要应用数据增强。 我有 3 个类:两个类有 500 个图像,一个类有 1000 个图像。 我将使用数据增强生成多个版本的图像,我是否应该在两个第一类上应用 3 个随机变换以获得总共 2000 个图像,并在最后一个类上应用一个变换以获得 2000 个总类? 最后,应该对整个数据集应用数据增强,然后将其分成训练和测试,或者将其分离,然后对训练数据集应用增强。 谢谢

【问题讨论】:

  • 一定要进行训练测试拆分,然后扩充训练数据。永远不要对测试数据做任何事情(预处理除外)。

标签: python computer-vision yolo data-augmentation


【解决方案1】:

数据增强仅应用于训练集。请勿触摸测试集。

在训练中随机应用增强。因此,特定图像可能会或可能不会在特定时期增强。

无需单独处理类来处理类不平衡。使用适当的损失函数(例如 cross-entropyfocal loss function in retinanet)处理类不平衡。

【讨论】:

  • 感谢您的回答@Abhi25t 这真的很有帮助,我将使用 YOLOv4,所以即使对于数据增强,我也无法真正选择损失函数,我需要在训练之前应用它。 (我完全是初学者)。
  • Yolov4 论文确实讨论了通过焦点损失函数处理类不平衡的好处(第 2.2 节),并继续描述 CIOU 损失函数如何更适合该问题。我建议您先使用默认设置,然后再查看问题(如果有)。你必须从某个地方开始。在深度学习中,许多默认设置就足够了。如果没有,调整通常会起作用,但您需要确定默认设置的问题。