

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

# 清单文件中的物体定位
<a name="md-create-manifest-file-object-detection"></a>

通过将 SageMaker AI Ground Truth [Box Job Output 格式 JOB](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-data-output.html#sms-output-box) 行添加到清单文件中，你可以导入标有对象定位信息的图像。

定位信息表示物体在图像上的位置。该位置由围绕物体的边界框表示。边界框结构包含边界框的左上角坐标和边界框的宽度与高度。边界框格式的 JSON 行包含图像上一个或多个物体的位置的边界框以及图像上每个物体的类别。

清单文件由一个或多个 JSON 行组成，每行包含单张图像的信息。

**创建物体定位的清单文件**

1. 创建一个空文本文件。

1. 为要导入的每张图像各添加一个 JSON 行。每个 JSON 行应该与下面类似。

   ```
   {"source-ref": "s3://bucket/images/IMG_1186.png", "bounding-box": {"image_size": [{"width": 640, "height": 480, "depth": 3}], "annotations": [{ "class_id": 1,	"top": 251,	"left": 399, "width": 155, "height": 101}, {"class_id": 0, "top": 65, "left": 86, "width": 220,	"height": 334}]}, "bounding-box-metadata": {"objects": [{ "confidence": 1}, {"confidence": 1}],	"class-map": {"0": "Echo",	"1": "Echo Dot"}, "type": "groundtruth/object-detection", "human-annotated": "yes",	"creation-date": "2013-11-18T02:53:27", "job-name": "my job"}}
   ```

1. 保存该文件。您可以使用扩展名 `.manifest`，但不要求必须如此。

1. 使用您刚才创建的文件创建数据集。有关更多信息，请参阅 [使用 SageMaker AI Ground Truth 格式的清单文件创建数据集（控制台）](md-create-manifest-file.md#create-dataset-procedure-manifest-file)。



## 物体边界框 JSON 行
<a name="md-manifest-object-localization-json"></a>

在本部分中，我们将介绍如何为单张图像创建 JSON 行。下图显示了 Amazon Echo 和 Amazon Echo Dot 设备周围的边界框。

![\[木质表面上有两个 Amazon 智能扬声器，一个带有绿色边界框，另一个带有蓝色边界框。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/echos.png)


以下是上面这张图像的边界框 JSON 行。

```
{
	"source-ref": "s3://custom-labels-bucket/images/IMG_1186.png",
	"bounding-box": {
		"image_size": [{
			"width": 640,
			"height": 480,
			"depth": 3
		}],
		"annotations": [{
			"class_id": 1,
			"top": 251,
			"left": 399,
			"width": 155,
			"height": 101
		}, {
			"class_id": 0,
			"top": 65,
			"left": 86,
			"width": 220,
			"height": 334
		}]
	},
	"bounding-box-metadata": {
		"objects": [{
			"confidence": 1
		}, {
			"confidence": 1
		}],
		"class-map": {
			"0": "Echo",
			"1": "Echo Dot"
		},
		"type": "groundtruth/object-detection",
		"human-annotated": "yes",
		"creation-date": "2013-11-18T02:53:27",
		"job-name": "my job"
	}
}
```

请注意以下信息。

### source-ref
<a name="cd-manifest-source-ref"></a>

（必需）图像的 Amazon S3 位置。格式为 `"s3://BUCKET/OBJECT_PATH"`。所导入数据集中的图像必须存储在同一 Amazon S3 存储桶中。

### *bounding-box*
<a name="md-manifest-source-bounding-box"></a>

（必需）标签属性。您选择的字段名称。包含图像大小和图像中检测到的每个物体的边界框。必须有相应的元数据，这些元数据通过字段名称进行标识，并附有 *-metadata*。例如 `"bounding-box-metadata"`。

*image\$1size*  
（必需）包含图像大小（以像素为单位）的单个元素数组。  
+ *height*：（必需）图像的高度（以像素为单位）。
+ *width*：（必需）图像的深度（以像素为单位）。
+ *depth*：（必需）图像的通道数。对于 RGB 图像，该值为 3。Amazon Rekognition Custom Labels 目前未使用该属性，但必须为其提供一个值。

*annotations*  
（必需）图像中检测到的每个物体的边界框信息数组。  
+ *class\$1id*：（必需）映射到 *class-map* 中的标签。在上面的示例中，*class\$1id* 为 `1` 的物体是图像中的 Echo Dot。
+ *top*：（必需）从图像顶部到边界框顶部的距离（以像素为单位）。
+ *left*：（必需）从图像左侧到边界框左侧的距离（以像素为单位）。
+ *width*：（必需）边界框的宽度（以像素为单位）。
+ *height*：（必需）边界框的高度（以像素为单位）。

### *bounding-box*-元数据
<a name="md-manifest-source-bounding-box-metadata"></a>

（必需）与标签属性相关的元数据。该字段名称必须与标签属性附加 *-metadata* 之后相同。图像中检测到的每个物体的边界框信息数组。

*Objects*  
（必需）图像中的物体数组。按索引映射到 *annotations* 数组。Amazon Rekognition Custom Labels 不使用 confidence 属性。

*class-map*  
（必需）适用于图像中检测到的物体的类别映射。

*type*  
（必需）分类作业的类型。`"groundtruth/object-detection"` 将作业标识为物体检测。

*creation-date*   
（必需）创建标签的协调世界时 (UTC) 日期和时间。

*human-annotated*  
（必需）如果注释由人工完成，请指定 `"yes"`。否则为 `"no"`。

*job-name*  
（可选）处理图像的作业的名称。