

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 对象检测请求和响应格式
<a name="object-detection-in-formats"></a>

以下页面介绍了 Amazon A SageMaker I 对象检测- MXNet 模型的推理请求和响应格式。

## 请求格式
<a name="object-detection-json"></a>

使用模型的终端节点查询经过训练的模型。终端节点接受具有 `image/jpeg` 和 `image/png` 内容类型的 .jpg 和 .png 图像格式。

## 响应格式
<a name="object-detection-recordio"></a>

响应是具有置信度分数的分类索引以及以 JSON 格式编码的图像中的所有对象的边界框坐标。以下是响应 .json 文件的示例：

```
{"prediction":[
  [4.0, 0.86419455409049988, 0.3088374733924866, 0.07030484080314636, 0.7110607028007507, 0.9345266819000244],
  [0.0, 0.73376623392105103, 0.5714187026023865, 0.40427327156066895, 0.827075183391571, 0.9712159633636475],
  [4.0, 0.32643985450267792, 0.3677481412887573, 0.034883320331573486, 0.6318609714508057, 0.5967587828636169],
  [8.0, 0.22552496790885925, 0.6152569651603699, 0.5722782611846924, 0.882301390171051, 0.8985623121261597],
  [3.0, 0.42260299175977707, 0.019305512309074402, 0.08386176824569702, 0.39093565940856934, 0.9574796557426453]
]}
```

此 .json 文件中的每一行都包含一个表示检测到的对象的数组。这些对象数组中的每一个都包含六个数字的列表。第一个数字是预测分类标签。第二个数字是检测的关联置信度分数。最后四个数字代表边界框坐标 [xmin, ymin, xmax, ymax]。这些输出边界框角索引由整体图像大小标准化。请注意，此编码与输入 .json 格式使用的编码不同。例如，在检测结果的第一个条目中，0.3088374733924866 是边界框的左坐标（左上角的 x 坐标）与整体图像宽度的比例，0.07030484080314636 是顶部坐标（y 坐标）边界框的左上角与整体图像高度的比例，0.7110607028007507 是边界框的右坐标（右下角的 x 坐标）与整体图像宽度的比例，而 0.9345266819000244 是边界框的底部坐标（右下角的 y 坐标）与整体图像高度的比率。

为避免检测结果不可靠，您可能需要筛选掉具有低置信度分数的检测结果。在[对象检测示例笔记本](https://github.com/aws/amazon-sagemaker-examples/blob/main/introduction_to_amazon_algorithms/object_detection_birds/object_detection_birds.ipynb)中，我们提供了示例脚本，使用阈值来移除低置信度的检测结果，并在原始图像上绘制边界框。

对于批量转换，响应采用 JSON 格式，其格式与上述 JSON 格式相同。每个图像的检测结果表示为 JSON 文件。例如：

```
{"prediction": [[label_id, confidence_score, xmin, ymin, xmax, ymax], [label_id, confidence_score, xmin, ymin, xmax, ymax]]}
```

有关训练和推理的更多详细信息，请参阅[对象检测示例笔记本](object-detection.md#object-detection-sample-notebooks)。

## 输出：JSON 响应格式
<a name="object-detection-output-json"></a>

accept: application/json;annotation=1

```
{
   "image_size": [
      {
         "width": 500,
         "height": 400,
         "depth": 3
      }
   ],
   "annotations": [
      {
         "class_id": 0,
         "score": 0.943,
         "left": 111,
         "top": 134,
         "width": 61,
         "height": 128
      },
      {
         "class_id": 0,
         "score": 0.0013,
         "left": 161,
         "top": 250,
         "width": 79,
         "height": 143
      },
      {
         "class_id": 1,
         "score": 0.0133,
         "left": 101,
         "top": 185,
         "width": 42,
         "height": 130
      }
   ]
}
```