

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

# 了解 Amazon Rekognition Custom Labels
<a name="understanding-custom-labels"></a>

本节概述了通过控制台和软件开发工具包训练和使用 Amazon Rekognition 自定义标签模型的工作流程。 AWS 

**注意**  
Amazon Rekognition Custom Labels 现在可以管理项目内的数据集。您可以使用控制台和 AWS SDK 为项目创建数据集。如果之前使用过 Amazon Rekognition Custom Labels，则可能需要将旧数据集与新项目关联。有关更多信息，请参阅 [步骤 6：（可选）将先前的数据集与新项目关联](su-associate-prior-dataset.md)。

**Topics**
+ [确定您的模型类型](#tm-intro-model-type)
+ [创建模型](#tm-create-model)
+ [改进模型](#tm-intro-improve-model)
+ [启动模型](#tm-start-model)
+ [分析图像](#training-analyze-image)
+ [停止模型](#tm-stop-model)

## 确定您的模型类型
<a name="tm-intro-model-type"></a>

您首先需要决定要训练哪种类型的模型，这取决于您的业务目标。例如，您可以训练模型在社交媒体文章中查找您的徽标、在商店货架上识别您的产品，或者在装配线上对机器部件进行分类。

Amazon Rekognition Custom Labels 可以训练以下类型的模型：
+ [查找物体、场景和概念](#tm-classification)
+ [查找物体位置](#tm-object-localization)
+ [查找品牌位置](#tm-brand-detection-localization)

为帮助您决定要训练的模型类型，Amazon Rekognition Custom Labels 提供了您可以使用的示例项目。有关更多信息，请参阅 [Amazon Rekognition Custom Labels 入门](getting-started.md)。

### 查找物体、场景和概念
<a name="tm-classification"></a>

该模型可以预测与整张图像关联的物体、场景和概念的分类。例如，可以训练一个模型来确定图像是否包含*旅游景点*。如需查看示例项目，请参阅[图像分类](getting-started.md#gs-image-classification-example)。以下湖泊图像就是这样的例子，您可以识别图中的物体、场景和概念。

![\[日落或日出时分，云层和群山倒映在平静的湖面上。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/pateros.jpg)


或者，也可以训练模型来将图像分为多个类别。例如，上面这张图像可能包含*天空颜色*、*反射*或*湖泊*等类别。如需查看示例项目，请参阅[多标签图像分类](getting-started.md#gs-multi-label-image-classification-example)。

### 查找物体位置
<a name="tm-object-localization"></a>

该模型可预测物体在图像上的位置。预测包括物体位置的边界框信息以及用于标识边界框内物体的标签。例如，下图显示了电路板各个零件（例如*比较器*或*电位器*）周围的边界框。

![\[元件图像显示电路板上的红外 LED、电位器和比较器芯片。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/localization-circuit-board.png)


[物体定位](getting-started.md#gs-object-localization-example)示例项目展示了 Amazon Rekognition Custom Labels 如何使用带标签的边界框来训练查找物体位置的模型。

### 查找品牌位置
<a name="tm-brand-detection-localization"></a>

Amazon Rekognition Custom Labels 可以训练模型在图像上查找品牌（例如徽标）的位置。预测包括品牌位置的边界框信息以及用于标识边界框内物体的标签。如需查看示例项目，请参阅[品牌检测](getting-started.md#gs-brand-detection-example)。下图是该模型可以检测到的一些品牌的示例。

![\[图中显示将用户活动输入 Amazon Pinpoint 以获取建议的 Lambda 服务。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/brand-detection-lambda.png)


## 创建模型
<a name="tm-create-model"></a>

创建模型的步骤包括创建项目、创建训练和测试数据集以及训练模型。

### 创建项目
<a name="tm-intro-project"></a>

Amazon Rekognition Custom Labels 项目是指创建和管理模型所需的一组资源。项目用于管理以下内容：
+ **数据集**：用于训练模型的图像和图像标签。一个项目具有一个训练数据集和一个测试数据集。
+ **模型**：训练来查找符合您业务需求的独特概念、场景和物体的软件。一个项目可以有多个版本的模型。

建议将一个项目用于单个使用场景，例如在电路板上查找电路板零件。

您可以使用亚马逊 Rekognition 自定义标签控制台和 API 创建项目。[CreateProject](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProject)有关更多信息，请参阅 [创建项目](mp-create-project.md)。

### 创建训练和测试数据集
<a name="tm-intro-datasets"></a>

数据集是由图像和描述这些图像的标签组成的集合。在您的项目中，您可以创建一个训练数据集和一个测试数据集，Amazon Rekognition Custom Labels 将使用这些数据集来训练和测试您的模型。

标签用于标识图像中的物体、场景、概念或物体周围的边界框。标签要么分配给整个图像（*图像级*），要么分配给围绕图像上的物体的边界框。

**重要**  
如何为数据集中的图像添加标签决定了 Amazon Rekognition Custom Labels 创建的模型的类型。例如，要训练查找物体、场景和概念的模型，请为训练和测试数据集中的图像分配图像级标签。有关更多信息，请参阅 [确定数据集用途](md-dataset-purpose.md)。

图像必须采用 PNG 和 JPEG 格式，并且您应遵循输入图像的建议。有关更多信息，请参阅 [准备图像](md-prepare-images.md)。

#### 创建训练和测试数据集（控制台）
<a name="ud-create-dataset-console"></a>

可以使用单个数据集或单独的训练数据集和测试数据集开始项目。如果从单个数据集开始，Amazon Rekognition Custom Labels 会在训练期间拆分该数据集，来为项目创建训练数据集 (80%) 和测试数据集 (20%)。如果想让 Amazon Rekognition Custom Labels 决定使用哪些图像进行训练和哪些图像进行测试，请使用单个数据集开始项目。为了能够完全控制训练、测试和性能调整，建议您使用单独的训练数据集和测试数据集开始您的项目。

要为项目创建数据集，请通过以下方式之一导入图像：
+ 从本地计算机导入图像。
+ 从 S3 存储桶导入图像。Amazon Rekognition Custom Labels 可以使用包含图像的文件夹名称为图像添加标签。
+ 导入 Amazon A SageMaker I Ground Truth 清单文件。
+ 复制现有的 Amazon Rekognition Custom Labels 数据集。

有关更多信息，请参阅 [使用图像创建训练和测试数据集](md-create-dataset.md)。

根据导入图像的方式，您的图像可能没有标签。例如，从本地计算机导入的图像就没有标签。从 Amazon A SageMaker I Ground Truth 清单文件导入的图像已贴上标签。您可以使用 Amazon Rekognition Custom Labels 控制台添加、更改和分配标签。有关更多信息，请参阅 [标注图像](md-labeling-images.md)。

要使用控制台创建训练和测试数据集，请参阅[使用图像创建训练和测试数据集](md-create-dataset.md)。如需查看包含创建训练和测试数据集相关内容的教程，请参阅[图像分类](tutorial-classification.md)。

#### 创建训练和测试数据集 (SDK)
<a name="ud-create-dataset-sdk"></a>

要创建训练和测试数据集，请使用 `CreateDataset` API。您可以使用 Amazon SageMaker 格式的清单文件或通过复制现有的 Amazon Rekognition Custom Labels 数据集来创建数据集。有关更多信息，请参阅[创建训练和测试数据集 (SDK)](md-create-dataset.md#cd-create-dataset-sdk)。如有必要，您可以创建自己的清单文件。有关更多信息，请参阅 [创建清单文件](md-create-manifest-file.md)。

### 训练模型
<a name="tm-train-model"></a>

使用训练数据集训练您的模型。每次训练模型时都会创建一个新的模型版本。训练期间，Amazon Rekognition Custom Labels 会测试训练后的模型的性能。您可以使用测试结果来评估和改进模型。训练需要一段时间才能完成。您只需为成功的模型训练付费。有关更多信息，请参阅 [训练 Amazon Rekognition Custom Labels 模型](training-model.md)。如果模型训练失败，Amazon Rekognition Custom Labels 会提供调试信息供您使用。有关更多信息，请参阅 [调试失败的模型训练](tm-debugging.md)。

#### 训练模型（控制台）
<a name="tm-train-model-console"></a>

要使用控制台训练模型，请参阅[训练模型（控制台）](training-model.md#tm-console)。

#### 训练模型 (SDK)
<a name="tm-train-sdk"></a>

你可以通过调用来训练亚马逊 Rekognition 自定义标签模型。[CreateProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_CreateProjectVersion)有关更多信息，请参阅 [训练模型（SDK）](training-model.md#tm-sdk)。

## 改进模型
<a name="tm-intro-improve-model"></a>

测试期间，Amazon Rekognition Custom Labels 会创建评估指标，您可以使用这些指标来改进训练后的模型。

### 评估模型
<a name="tm-intro-evaluate-model"></a>

使用在测试期间创建的性能指标，评估模型的性能。F1、精度和召回率等性能指标可让您了解训练后的模型的性能，并决定是否已准备好在生产中使用它。有关更多信息，请参阅 [评估模型的指标](im-metrics-use.md)。

#### 评估模型（控制台）
<a name="tm-evaluate-console"></a>

如需查看性能指标，请参阅[获取评估指标（控制台）](im-access-training-results.md)。

#### 评估模型 (SDK)
<a name="tm-evaluate-sdk"></a>

要获取性能指标，请[DescribeProjectVersions](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_DescribeProjectVersions)致电获取测试结果。有关更多信息，请参阅 [获取 Amazon Rekognition Custom Labels 评估指标 (SDK)](im-metrics-api.md)。测试结果包含控制台中未提供的指标，例如分类结果的混淆矩阵。测试结果以下列格式返回：
+ F1 分数：代表模型的精度和召回率整体表现的单个值。有关更多信息，请参阅 [F1](im-metrics-use.md#im-f1-metric)。
+ 摘要文件位置：测试摘要包含整个测试数据集的综合评估指标和每个标签的指标。`DescribeProjectVersions` 会返回摘要文件所在的 S3 存储桶和文件夹位置。有关更多信息，请参阅 [访问模型摘要文件](im-summary-file-api.md)。
+ 评估清单快照位置：快照包含有关测试结果的详细信息，包括置信度评分和二进制分类测试的结果，例如假正例。`DescribeProjectVersions` 会返回快照文件所在的 S3 存储桶和文件夹位置。有关更多信息，请参阅 [解释评测清单快照](im-evaluation-manifest-snapshot-api.md)。

### 改进模型
<a name="tm-improve-model"></a>

如需进行改进，可以添加更多训练图像或改进数据集标注方式。有关更多信息，请参阅 [改进 Amazon Rekognition Custom Labels 模型](tr-improve-model.md)。您还可以就模型所做的预测提供反馈，并据其改进模型。有关更多信息，请参阅 [根据模型反馈改进模型](ex-feedback.md)。

#### 改进模型（控制台）
<a name="tm-improve-model-console"></a>

要向数据集中添加图像，请参阅[向数据集中添加更多图像](md-add-images.md)。要添加或更改标签，请参阅[标注图像](md-labeling-images.md)。

要重新训练模型，请参阅[训练模型（控制台）](training-model.md#tm-console)。

#### 改进模型 (SDK)
<a name="tm-improve-model-sdk"></a>

要向数据集中添加图像或更改图像的标注方式，请使用 `UpdateDatasetEntries` API。`UpdateDatasetEntries` 会在清单文件中更新或添加 JSON 行。每个 JSON 行都包含单张图像的信息，例如分配的标签或边界框信息。有关更多信息，请参阅 [添加更多图像 (SDK)](md-add-images.md#md-add-images-sdk)。要查看数据集中的条目，请使用 `ListDatasetEntries` API。

要重新训练模型，请参阅[训练模型 (SDK)](training-model.md#tm-sdk-datasets)。

## 启动模型
<a name="tm-start-model"></a>

在使用模型之前，需要先使用 Amazon Rekognition Custom Labels 控制台或 `StartProjectVersion` API 启动模型。您将根据模型运行时间付费。有关更多信息，请参阅 [运行经过训练的 Amazon Rekognition Custom Labels 模型](running-model.md)。

### 启动模型（控制台）
<a name="tm-start-model-console"></a>

要使用控制台启动模型，请参阅[启动 Amazon Rekognition Custom Labels 模型（控制台）](rm-start.md#rm-start-console)。

### 启动模型
<a name="tm-start-model-sdk"></a>

你开始调用模型[StartProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StartProjectVersion)。有关更多信息，请参阅 [启动 Amazon Rekognition Custom Labels 模型 (SDK)](rm-start.md#rm-start-sdk)。

## 分析图像
<a name="training-analyze-image"></a>

要使用模型分析图像，可以使用 `DetectCustomLabels` API。可以指定本地图像或存储在 S3 存储桶中的图像。该操作还要求提供要使用的模型的 Amazon 资源名称 (ARN)。

如果模型用于查找物体、场景和概念，则响应会包含在图像中找到的图像级标签的列表。例如，下图显示了使用*房间*示例项目找到的图像级标签。

![\[客厅里有壁炉、棕色沙发、扶手椅、咖啡桌，墙上挂着风景艺术品。几扇门通向户外露台。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/rooms.jpg)


如果模型用于查找物体位置，则响应将包含在图像中找到的带标签的边界框列表。边界框表示物体在图像上的位置。您可以使用边界框信息在物体周围绘制边界框。例如，下图显示了使用*电路板*示例项目找到的电路板零件周围的边界框。

![\[电路板带有红外 LED、光电晶体管和用于调整的电位计。\]](http://docs.aws.amazon.com/zh_cn/rekognition/latest/customlabels-dg/images/circuitboardparts.jpg)


有关更多信息，请参阅 [使用经过训练的模型分析图像](detecting-custom-labels.md)。

## 停止模型
<a name="tm-stop-model"></a>

您将根据模型运行时间付费。如果您不再使用模型，请使用 Amazon Rekognition Custom Labels 控制台或 `StopProjectVersion` API 停止该模型。有关更多信息，请参阅 [停止 Amazon Rekognition Custom Labels 模型](rm-stop.md)。

### 停止模型（控制台）
<a name="tm-stop-model-console"></a>

要使用控制台停止正在运行的模型，请参阅[停止 Amazon Rekognition Custom Labels 模型（控制台）](rm-stop.md#rm-stop-console)。

### 停止模型 (SDK)
<a name="tm-stop-model-sdk"></a>

要停止正在运行的模型，请调用[StopProjectVersion](https://docs.aws.amazon.com/rekognition/latest/APIReference/API_StopProjectVersion)。有关更多信息，请参阅 [停止 Amazon Rekognition Custom Labels 模型 (SDK)](rm-stop.md#rm-stop-sdk)。