使用 SageMaker 对象检测进行预测的图像大小?

Size of image for prediction with SageMaker object detection?

我正在使用 AWS SageMaker "built in" 对象检测算法 (SSD),我们已经在一系列带注释的 512x512 图像 (image_shape=512) 上对其进行了训练。我们已经部署了一个端点,当使用它进行预测时,我们得到了不同的结果。

如果我们用于预测的图像大小约为 512x512,我们将获得很高的准确性和良好的结果。如果图像大得多(例如 8000x10000),我们要么非常不准确,要么没有结果。如果我手动将这些大图像调整为 512x512 像素,我们正在寻找的特征将不再是肉眼可辨别的。这表明如果我的端点正在调整图像大小,那么这就可以解释为什么模型会遇到困难。

注意:虽然以像素为单位的尺寸很大,但我的图像基本上是白色背景上的线条图。它们有很少的颜色和大块的纯白色,因此压缩得很好。我未 运行 达到 6Mb 的请求大小限制。

那么,我的问题是:

  1. 在 image_shape=512 训练模型是否意味着我的预测图像也应该是相同的大小?
  2. 是否有一种普遍接受的方法可以在非常大的图像上进行对象检测?我可以设想如何将图像切割成更小的图块,然后将每个图块提供给我的模型,但如果有什么 "out of the box" 可以为我做这件事,那会节省一些精力。

您的理解是正确的。端点根据参数 image_shape 调整图像大小。回答您的问题:

  1. 只要调整大小的图像中对象的比例(即像素的扩展)在训练数据和预测数据之间相似,训练的模型就应该有效。
  2. 裁剪是一种选择。另一种方法是按照 David 的建议为大图像和小图像训练单独的模型。