Tensorflow Object Detection API进行的数据扩充是否会产生比原始样本更多的样本?

时间:2018-12-12 23:29:09

标签: tensorflow object-detection-api data-augmentation

因此,假设我的原始原始数据集包含100张图像。我应用了random_horizontal_flip数据扩充功能,默认情况下它会以50%的概率水平翻转。因此,仅出于示例目的,可以说它翻转了100张图片中的50张。因此,

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

我阅读了尽可能多的官方文档,并调查了preprocessor code,但找不到答案。

1 个答案:

答案 0 :(得分:1)

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

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

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

因此,只要纪元大小不限制数据集(概率为50%),您就会看到一种效果,就好像您通过翻转每个项目使数据集翻了一番。

除了水平翻转外,如果还添加垂直翻转(random_vertical_flip),则数据集将增加三倍。