3

所以假设我的原始原始数据集有 100 张图像。我应用random_horizontal_flip了数据增强,默认情况下以 50% 的概率水平翻转。所以只是为了举例,假设它翻转了 100 张图像中的 50 张。所以,

  1. 这是否意味着我的算法现在将使用 150 个图像(100 个原始版本和 50 个翻转版本)进行训练,还是意味着它仍将使用 100 个图像进行训练,但其中 50 个将是原始图像的翻转版本?
  2. 问题 #1 的答案是否可以推广到 Tensorflow 对象检测 API 提供的所有数据增强选项?

我阅读了尽可能多的官方文档,并查看了预处理器代码,但找不到我的答案。

4

1 回答 1

1

默认增强概率为 50%,独立应用于每个图像。训练模型/算法的图像数量取决于 epoch 的数量。

  • 假设您的批量大小为1,总时期数为100:您的算法将在 100 张图像上进行训练,其中 50 张将是原始图像的翻转版本。在这种情况下,模型将看不到原始的 50 张图像,因为您的 epoch 太低。

  • 假设您的批量大小为1,总时期数为200:您的算法将在 200 张图像上进行训练,其中 100 张将是原始图像的翻转版本。

结果,只要您的 epoch 大小不限制您的数据集,以 50% 的概率,您将看到一个效果,就好像您通过翻转每个项目使数据集翻了一番。

除了水平翻转,如果你也添加垂直翻转 ( random_vertical_flip),你的数据集会增加三倍。

于 2020-01-19T15:49:05.227 回答