首页 > 解决方案 > 使用 SageMaker 对象检测进行预测的图像大小?

问题描述

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

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

注意:虽然像素大小很大,但我的图像基本上是白色背景上的线条图。它们有很少的颜色和大块纯白色,因此它们的压缩效果很好。我遇到了 6Mb 的请求大小限制。

所以,我的问题是:

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

标签: aws-sdkobject-detectionamazon-sagemaker

解决方案


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

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

推荐阅读