

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

# 使用边界框标注物体
<a name="md-localize-objects"></a>

如果要让模型检测图像中物体的位置，则必须标识物体是什么以及它在图像中的位置。边界框是用来隔离图像中物体的方框。可以使用边界框来训练模型以检测同一图像中的不同物体。可以通过为边界框分配标签来标识物体。

**注意**  
如果要训练模型查找带有图像级标签的物体、场景和概念，则无需执行此步骤。

例如，如果要训练检测 Amazon Echo Dot 设备的模型，则可以在图像中的每个 Echo Dot 周围绘制一个边界框，再为边界框分配名为 *Echo Dot* 的标签。下图显示了 Echo Dot 设备周围的边界框。该图像还包含了一个没有边界框的 Amazon Echo。

![\[Amazon Echo Dot 和 Echo 设备，Echo Dot 周围有边界框。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/dot.jpg)


## 使用边界框定位物体（控制台）
<a name="md-localize-objects-console"></a>

 在此过程中，您将使用控制台在图像中物体的周围绘制边界框。您还可以通过为边界框分配标签来标识图像中的物体。

**注意**  
不能使用 Safari 浏览器为图像添加边界框。有关支持的浏览器，请参阅[设置 Amazon Rekognition Custom Labels](setting-up.md)。

在添加边界框之前，必须至少向数据集添加一个标签。有关更多信息，请参阅 [添加新标签（控制台）](md-labels.md#md-add-new-labels)。

****

**向图像添加边界框（控制台）**

1. 打开亚马逊 Rekognition 控制台，网址为[https://console.aws.amazon.com/rekognition/](https://console.aws.amazon.com/rekognition/)。

1. 选择**使用自定义标签**。

1. 选择**开始**。

1. 在左侧导航窗格中，选择**项目**。

1. 在**项目**页面上，选择要使用的项目。此时将显示项目的详细信息页面。

1. 在项目详细信息页面上，选择**对图像进行贴标**

1. 如果要向训练数据集图像添加边界框，请选择**训练**选项卡。否则，请选择**测试**选项卡，向测试数据集图像添加边界框。

1. 选择**开始标注**，进入标注模式。

1. 在图像库中，选择要向其添加边界框的图像。

1. 选择**绘制边界框**。在显示边界框编辑器之前，会显示一系列提示。

1. 在右侧的**标签**窗格中，选择要分配给边界框的标签。

1. 在绘图工具中，将指针放在所需物体的左上角区域。

1. 按住鼠标左键，在物体周围绘制一个方框。尝试将边界框绘制得尽量靠近物体。

1. 松开鼠标键。该边界框会突出显示。

1. 如果有更多图像需要标注，请选择**下一步**。否则，请选择**完成**，完成标注。  
![\[UI 可用于在图像周围绘制边界框，图中所示为木质表面上的 Amazon Echo 和 Echo Dot 智能扬声器。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/draw-bounding-box.png)

1. 重复步骤 1—7，直到在每张包含物体的图像中都创建了一个边界框。

1. 选择**保存更改**以保存您的更改。

1. 选择**退出**，退出标注模式。

## 使用边界框定位物体 (SDK)
<a name="md-localize-objects-sdk"></a>

可以使用 `UpdateDatasetEntries` API 来添加或更新图像的物体位置信息。`UpdateDatasetEntries` 接受一个或多个 JSON 行。每个 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"}}
```

`source-ref` 字段表示图像的位置。JSON 行还包含了图像上每个物体的带标签的边界框。有关更多信息，请参阅 [清单文件中的物体定位](md-create-manifest-file-object-detection.md)。

**为图像分配边界框**

1. 使用 `ListDatasetEntries` 获取现有图像的 JSON 行。在 `source-ref` 字段中，指定要为其分配图像级标签的图像的位置。有关更多信息，请参阅 [列出数据集条目 (SDK)](md-listing-dataset-entries-sdk.md)。

1. 按照[清单文件中的物体定位](md-create-manifest-file-object-detection.md)中的信息更新上一步中返回的 JSON 行。

1. 调用 `UpdateDatasetEntries` 来更新图像。有关更多信息，请参阅 [向数据集中添加更多图像](md-add-images.md)。