Object Detection API 中的一步是否意味着处理一张图片或一个边界框?

Does one step in Object Detection API mean processing one picture or one bounding box?

Tensorflow Object Detection API 的 pipeline.config 文件中,我们有参数 NUM_STEPS

一步是指处理一张整图,还是处理一个边界框?

在配置文件中,我们有:

model {
  faster_rcnn {
    # (...)
  }

  train_config: {
    batch_size: 1
    optimizer {
      # (...)
    }
    gradient_clipping_by_norm: 10.0
    # (...)
    num_steps: 200000  # <-- HERE IT IS
    # (...)
  }
}

例如我们有一个包含 2 张图片的训练 TFRecord,每张 10 个 bbox。如果我将 NUM_STEPS 设置为 10,这是否意味着我将处理前 10 个 bbox,或者每张照片处理 5 次?

完整的配置文件可以在这里找到:

https://github.com/tensorflow/models/blob/32dadfc2def4f05faeedacce98e4c4099be4c433/research/object_detection/samples/configs/faster_rcnn_inception_v2_coco.config#L113

一个'step'对应一个批处理

faster-RCNN的输入是一张完整的图像,你的batch size是1,也就是说你每次使用一张图像。在您的情况下,第一步将处理第一张图像的五个框,第二步将处理第二张图像的五个框。