本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用边界框标注物体
如果要让模型检测图像中物体的位置,则必须标识物体是什么以及它在图像中的位置。边界框是用来隔离图像中物体的方框。可以使用边界框来训练模型以检测同一图像中的不同物体。可以通过为边界框分配标签来标识物体。
注意
如果要训练模型查找带有图像级标签的物体、场景和概念,则无需执行此步骤。
例如,如果要训练检测 Amazon Echo Dot 设备的模型,则可以在图像中的每个 Echo Dot 周围绘制一个边界框,再为边界框分配名为 Echo Dot 的标签。下图显示了 Echo Dot 设备周围的边界框。该图像还包含了一个没有边界框的 Amazon Echo。
使用边界框定位物体(控制台)
在此过程中,您将使用控制台在图像中物体的周围绘制边界框。您还可以通过为边界框分配标签来标识图像中的物体。
注意
不能使用 Safari 浏览器为图像添加边界框。有关支持的浏览器,请参阅设置 Amazon Rekognition Custom Labels。
在添加边界框之前,必须至少向数据集添加一个标签。有关更多信息,请参阅 添加新标签(控制台)。
向图像添加边界框(控制台)
打开亚马逊 Rekognition 控制台,网址为https://console.aws.amazon.com/rekognition/
。 选择使用自定义标签。
选择开始。
在左侧导航窗格中,选择项目。
在项目页面上,选择要使用的项目。此时将显示项目的详细信息页面。
在项目详细信息页面上,选择对图像进行贴标
如果要向训练数据集图像添加边界框,请选择训练选项卡。否则,请选择测试选项卡,向测试数据集图像添加边界框。
选择开始标注,进入标注模式。
-
在图像库中,选择要向其添加边界框的图像。
-
选择绘制边界框。在显示边界框编辑器之前,会显示一系列提示。
-
在右侧的标签窗格中,选择要分配给边界框的标签。
-
在绘图工具中,将指针放在所需物体的左上角区域。
-
按住鼠标左键,在物体周围绘制一个方框。尝试将边界框绘制得尽量靠近物体。
-
松开鼠标键。该边界框会突出显示。
-
如果有更多图像需要标注,请选择下一步。否则,请选择完成,完成标注。
-
重复步骤 1—7,直到在每张包含物体的图像中都创建了一个边界框。
-
选择保存更改以保存您的更改。
-
选择退出,退出标注模式。
使用边界框定位对象 () SDK
您可以使用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行还包括图像上每个对象的带标签的边界框。有关更多信息,请参阅 清单文件中的物体定位。
为图像分配边界框
使用获取现有图像的获取JSON行
ListDatasetEntries
。在source-ref
字段中,指定要为其分配图像级标签的图像的位置。有关更多信息,请参阅 列出数据集条目 (SDK)。使用中的信息更新上一步中返回的JSON行清单文件中的物体定位。
调用
UpdateDatasetEntries
来更新图像。有关更多信息,请参阅 向数据集中添加更多图像。