了解 Amazon Rekognition Custom Labels - Rekognition

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

了解 Amazon Rekognition Custom Labels

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

注意

Amazon Rekognition Custom Labels 现在可以管理项目内的数据集。您可以使用控制台和 AWS SDK 为项目创建数据集。如果之前使用过 Amazon Rekognition Custom Labels,则可能需要将旧数据集与新项目关联。有关更多信息,请参阅步骤 6:(可选)将先前的数据集与新项目关联

确定您的模型类型

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

Amazon Rekognition Custom Labels 可以训练以下类型的模型:

为帮助您决定要训练的模型类型,Amazon Rekognition Custom Labels 提供了您可以使用的示例项目。有关更多信息,请参阅 Amazon Rekognition Custom Labels 入门

查找物体、场景和概念

该模型可以预测与整张图像关联的物体、场景和概念的分类。例如,可以训练一个模型来确定图像是否包含旅游景点。如需查看示例项目,请参阅图像分类。以下湖泊图像是您可以识别其中的物体、场景和概念的图像的示例。

宁静的湖泊在日落或日出时分反射云层和山脉。

或者,也可以训练模型来将图像分为多个类别。例如,上面这张图像可能包含天空颜色反射湖泊等类别。如需查看示例项目,请参阅多标签图像分类

查找物体位置

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

组件图像显示了电路板上的红外 LED、电阻器和比较器芯片。

物体定位示例项目展示了 Amazon Rekognition Custom Labels 如何使用带标签的边界框来训练查找物体位置的模型。

查找品牌位置

Amazon Rekognition Custom Labels 可以训练模型在图像上查找品牌(例如徽标)的位置。预测包括品牌位置的边界框信息以及用于标识边界框内物体的标签。如需查看示例项目,请参阅品牌检测。下图是该模型可以检测到的一些品牌的示例。

该图显示了 Lambda 服务将用户活动输入亚马逊 Pinpoint 以获取建议。

创建模型

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

创建项目

Amazon Rekognition Custom Labels 项目是指创建和管理模型所需的一组资源。项目用于管理以下内容:

  • 数据集:用于训练模型的图像和图像标签。一个项目具有一个训练数据集和一个测试数据集。

  • 模型:训练来查找符合您业务需求的独特概念、场景和物体的软件。一个项目可以有多个版本的模型。

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

您可以使用亚马逊 Rekognition 自定义标签控制台和 API 创建项目。CreateProject有关更多信息,请参阅 创建项目

创建训练和测试数据集

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

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

重要

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

图像必须采用 PNG 和 JPEG 格式,并且您应遵循输入图像的建议。有关更多信息,请参阅 准备图像

创建训练和测试数据集(控制台)

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

要为项目创建数据集,请通过以下方式之一导入图像:

  • 从本地计算机导入图像。

  • 从 S3 存储桶导入图像。Amazon Rekognition Custom Labels 可以使用包含图像的文件夹名称为图像添加标签。

  • 导入 Amazon G SageMaker round Truth 清单文件。

  • 复制现有的 Amazon Rekognition Custom Labels 数据集。

有关更多信息,请参阅 使用图像创建训练和测试数据集

根据导入图像的方式,您的图像可能没有标签。例如,从本地计算机导入的图像就没有标签。从 Amazon G SageMaker round Truth 清单文件导入的图片已贴上标签。您可以使用 Amazon Rekognition Custom Labels 控制台添加、更改和分配标签。有关更多信息,请参阅 标注图像

要使用控制台创建训练和测试数据集,请参阅使用图像创建训练和测试数据集。如需查看包含创建训练和测试数据集相关内容的教程,请参阅教程:对图像进行分类

创建训练和测试数据集 (SDK)

要创建训练和测试数据集,请使用 CreateDataset API。您可以使用 Amazon SageMaker 格式的清单文件或通过复制现有的 Amazon Rekognition Custom Labels 数据集来创建数据集。有关更多信息,请参阅创建训练和测试数据集 (SDK) 。如有必要,您可以创建自己的清单文件。有关更多信息,请参阅 创建清单文件

训练模型

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

训练模型(控制台)

要使用控制台训练模型,请参阅训练模型(控制台)

训练模型 (SDK)

你可以通过调用 Version 来训练亚马逊 Rekognition 自定义标签模型。CreateProject有关更多信息,请参阅 训练模型 (SDK)

改进模型

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

评估模型

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

评估模型(控制台)

如需查看性能指标,请参阅获取评估指标(控制台)

评估模型 (SDK)

要获取性能指标,您可以调用 Ver DescribeProjects ions 来获取测试结果。有关更多信息,请参阅 获取 Amazon Rekognition Custom Labels 评估指标 (SDK)。测试结果包含控制台中未提供的指标,例如分类结果的混淆矩阵。测试结果以下列格式返回:

  • F1 分数:代表模型的精度和召回率整体表现的单个值。有关更多信息,请参阅 F1

  • 摘要文件位置:测试摘要包含整个测试数据集的综合评估指标和每个标签的指标。DescribeProjectVersions 会返回摘要文件所在的 S3 存储桶和文件夹位置。有关更多信息,请参阅 摘要文件

  • 评估清单快照位置:快照包含有关测试结果的详细信息,包括置信度评分和二进制分类测试的结果,例如假正例。DescribeProjectVersions 会返回快照文件所在的 S3 存储桶和文件夹位置。有关更多信息,请参阅 评估清单快照

改进模型

如需进行改进,可以添加更多训练图像或改进数据集标注方式。有关更多信息,请参阅 改进 Amazon Rekognition Custom Labels 模型。您还可以就模型所做的预测提供反馈,并据其改进模型。有关更多信息,请参阅 模型反馈解决方案

改进模型(控制台)

要向数据集中添加图像,请参阅向数据集中添加更多图像。要添加或更改标签,请参阅标注图像

要重新训练模型,请参阅训练模型(控制台)

改进模型 (SDK)

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

要重新训练模型,请参阅训练模型 (SDK)

启动模型

在使用模型之前,需要先使用 Amazon Rekognition Custom Labels 控制台或 StartProjectVersion API 启动模型。您将根据模型运行时间付费。有关更多信息,请参阅 运行经过训练的 Amazon Rekognition Custom Labels 模型

启动模型(控制台)

要使用控制台启动模型,请参阅启动 Amazon Rekognition Custom Labels 模型(控制台)

启动模型

你在启动模型时调用 StartProjectVersion。有关更多信息,请参阅 启动 Amazon Rekognition Custom Labels 模型 (SDK)

分析图像

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

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

客厅里有壁炉、棕色沙发、扶手椅、咖啡桌和墙上的风景艺术品。门通向户外露台。

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

带有红外 LED、光电晶体管和用于调整的电位计的电路板。

有关更多信息,请参阅 使用经过训练的模型分析图像

停止模型

您将根据模型运行时间付费。如果您不再使用模型,请使用 Amazon Rekognition Custom Labels 控制台或 StopProjectVersion API 停止该模型。有关更多信息,请参阅 停止 Amazon Rekognition Custom Labels 模型

停止模型(控制台)

要使用控制台停止正在运行的模型,请参阅停止 Amazon Rekognition Custom Labels 模型(控制台)

停止模型 (SDK)

要停止正在运行的模型,请调用 StopProjectVersion。有关更多信息,请参阅 停止 Amazon Rekognition Custom Labels 模型 (SDK)