使用SageMaker对象检测进行预测的图像尺寸?

时间:2019-01-15 06:28:29

标签: aws-sdk object-detection amazon-sagemaker

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

如果我们用于识别的图像约为512x512尺寸,那么我们将获得很高的准确性和良好的效果。如果图片明显更大(例如8000x10000),我们将得到非常不准确的结果,或者没有结果。如果我手动将那些大图像调整为512x512像素,我们正在寻找的功能将不再是肉眼可辨的。这表明如果我的端点正在调整图像的大小,那么就可以解释为什么模型很费力。

注意:尽管以像素为单位的尺寸很大,但我的图像基本上是白色背景上的线条图。它们几乎没有颜色,大块的纯白色,因此压缩效果非常好。我快要达到6Mb的请求大小限制了。

所以,我的问题是:

  1. 以image_shape = 512训练模型是否意味着我的预测图像也应该具有相同的大小?
  2. 是否有一种公认的方法可以对非常大的图像进行物体检测?我可以设想如何将图像切成较小的图块,然后将每个图块馈送到我的模型中,但是如果有“开箱即用”的东西可以帮到我,那将节省一些精力。

1 个答案:

答案 0 :(得分:1)

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

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