了解 Amazon Lookout for Vision - Amazon Lookout for Vision

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

了解 Amazon Lookout for Vision

您可以使用 Amazon Lookout for Vision 准确地大规模发现工业产品中的外观缺陷,适用于以下任务:

  • 检测损坏的零件:在制造和组装过程中发现产品表面质量、颜色和形状的损坏。

  • 识别缺失的组件:根据对象的缺失、存在或位置来确定缺失的组件。例如,印刷电路板上缺少电容器。

  • 发现工艺问题:检测具有重复图案的缺陷,如硅芯片晶圆上同一位置的重复划痕。

使用 Lookout for Vision,您可以创建一个计算机视觉模型,用于预测图像中是否存在异常。您需要提供图像,供 Amazon Lookout for Vision 用来训练和测试您的模型。Amazon Lookout for Vision 提供一些指标,您可用来评估并改进所训练的模型。您可以在 AWS 云中托管所训练的模型,也可以将模型部署到边缘设备。简单的 API 操作即可返回您的模型所做的预测。

创建、评估和使用模型的一般工作流如下:

Workflow diagram showing steps to create, train, improve, and use an anomaly detection model.

选择模型类型

在创建模型之前,必须先确定您想要哪种类型的模型。您可以创建两种类型的模型,即图像分类图像分割。您需要根据自己的使用场景,确定要创建哪种类型的模型。

图像分类模型

如果只需要知道图像是否包含异常,但不需要知道异常的位置,应创建图像分类模型。图像分类模型可以预测图像是否包含异常。预测包括模型对预测准确性的置信度。模型不提供图像上所发现异常的任何位置信息。

图像分割模型

如果您需要知道异常的位置,如划痕的位置,应创建图像分割模型。Amazon Lookout for Vision 模型使用语义分割,确定各类异常(如划痕或缺失零件)位于图像上的哪些像素。

注意

语义分割模型可以确定不同类型异常的位置。它不提供各个异常的实例信息。例如,如果图像包含两个凹痕,则 Lookout for Vision 会在代表凹痕异常类型的单个实体中,返回与两个凹痕相关的信息。

Amazon Lookout for Vision 分割模型会做出以下预测:

分类

模型会返回对所分析图像的分类(正常/异常),其中包括模型对预测的置信度。分类信息与分割信息分开进行计算,您不应假设它们之间存在关系。

分段

模型会返回一个图像掩码,用于标记图像上出现异常的像素。根据在数据集中分配给异常标签 的颜色,不同类型的异常会按颜色进行编码。异常标签表示异常的类型。例如,下图中的蓝色掩码用于标记在汽车上发现的划痕 异常类型的位置。

Close-up of a car's front side, showing a blue scratch mark on the white body panel.

模型会返回掩码中每个异常标签的颜色代码。模型还会返回异常标签的图像覆盖百分比。

借助 Lookout for Vision 分割模型,您可以使用各种标准来分析模型的分析结果。例如:

  • 异常位置:如果需要知道异常的位置,请使用分割信息来查看覆盖异常的掩码。

  • 异常类型:使用分割信息来确定图像包含的异常类型是否超过可接受的数量。

  • 覆盖区域:使用分割信息来确定某类异常覆盖的图像区域是否超过可接受的值。

  • 图像分类:如果不需要知道异常的位置,请使用分类信息来确定图像是否包含异常。

有关示例代码,请参阅 检测图像中的异常

在决定要使用哪种模型之后,您可以创建项目和数据集来管理您的模型。使用标签,您可以将图像归类为正常图像或异常图像。标签还可以标识分割信息,如掩码和异常类型。您对数据集中图像的标注决定了 Lookout for Vision 会创建什么类型的模型。

标注图像分割模型要比标注图像分类模型复杂。要训练分割模型,必须将训练图像归类为正常图像或异常图像。您还必须为每张异常图像定义异常掩码和异常类型。分类模型仅要求将训练图像标识为正常图像或异常图像。

创建您的模型

如下所述,创建模型的步骤为创建项目、创建数据集以及训练模型:

创建项目

创建一个项目来管理您创建的数据集和模型。一个项目应该用于一种使用场景,如检测单一类型机器零件中的异常。

您可以使用控制面板显示项目的概览。有关更多信息,请参阅 使用 Amazon Lookout for Vision 控制面板

更多信息创建您的项目

创建数据集

要训练模型,Amazon Lookout for Vision 需要与您的使用场景对应的正常对象及异常对象的图像。您可以在数据集 中提供这些图像。

数据集是由图像和描述这些图像的标签组成的集合。图像应代表可能出现异常的单一类型的对象。有关更多信息,请参阅 为数据集准备图像

借助 Amazon Lookout for Vision,一个项目可以使用单个数据集,或者,一个项目也可以具有不同的训练数据集和测试数据集。除非要更好地控制训练、测试和性能调优,否则我们建议使用单一数据集项目。

您可以通过导入图像来创建数据集。根据您如何导入图像,可能还会对图像进行标注。如果未标注,您应使用控制台来标注图像。

导入图像

如果使用 Lookout for Vision 控制台来创建数据集,则可以通过以下方式之一导入图像:

  • 从本地计算机导入图像。图像不会被标注。

  • 从 S3 桶导入图像。Amazon Lookout for Vision 可以使用包含图像的文件夹名称来对图像进行分类。使用 normal 来表示正常图像。使用 anomaly 来表示异常图像。您无法自动分配分割标签。

  • 导入 Amazon SageMaker Ground Truth 清单文件。清单文件中的图像会被标注。您可以创建并导入自己的清单文件。如果图像数量很多,可以考虑使用 SageMaker Ground Truth 标注服务。然后,您可以导入 Amazon SageMaker Ground Truth 任务的输出清单文件。

标注图像

标签用于描述数据集中的图像。标签可以指明图像为正常还是异常(分类)。标签还可以描述图像上的异常位置(分割)。

如果图像未进行标注,您可以使用控制台来标注它们。

您为数据集中的图像分配的标签决定了 Lookout for Vision 会创建什么类型的模型。

图像分类

要创建图像分类模型,请使用 Lookout for Vision 控制台,将数据集中的图像分类为正常图像或异常图像。

您还可以使用 CreateDataset 操作,通过包含分类信息的清单文件创建数据集。

图像分割

要创建图像分割模型,请使用 Lookout for Vision 控制台,将数据集中的图像分类为正常图像或异常图像。您还需要为图像上的异常区域(如果存在)指定像素掩码,并为各个异常掩码指定异常标签。

您还可以使用 CreateDataset 操作,通过包含分割和分类信息的清单文件创建数据集。

如果您的项目具有单独的训练数据集和测试数据集,则 Lookout for Vision 会使用训练数据集来学习和确定模型类型。您应以相同的方式标注测试数据集中的图像。

更多信息创建您的数据集

训练您的模型

训练会创建模型,并训练它预测图像中是否存在异常。每次训练时都会创建一个新的模型版本。

训练开始时,Amazon Lookout for Vision 会选择最合适的算法来训练您的模型。模型会依次接受训练和测试。在开始使用 Amazon Lookout for Vision 中,您可以训练单数据集项目,该数据集会在内部进行拆分,从而创建训练数据集和测试数据集。您也可以创建具有单独训练数据集和测试数据集的项目。在此配置中,Amazon Lookout for Vision 会使用训练数据集训练您的模型,并使用测试数据集来测试模型。

重要

您需要按照成功训练模型所花费的时间量付费。

更多信息训练您的模型

评估您的模型

使用在测试期间创建的性能指标,评估模型的性能。

使用性能指标,您可以更好地了解所训练模型的性能,并确定是否已准备好将其投入生产。

更多信息改进您的模型

如果性能指标表明需要改进,您可以通过用新图像来执行试用检测任务,从而添加更多训练数据。该任务完成后,您可以验证结果并将经过验证的图像添加到训练数据集中。或者,您可以将新的训练图像直接添加到数据集中。接下来,您可以重新训练模型并重新检查性能指标。

更多信息使用试用检测任务验证您的模型

使用您的模型

若要在AWS云中使用模型,需要先使用 StartModel 操作启动模型。您可以从控制台获取适用于您的模型的 StartModel CLI 命令。

更多信息启动您的模型

经过训练的 Amazon Lookout for Vision 模型可以预测输入图像包含正常内容还是异常内容。如果您的模型是分割模型,则预测中会包含异常掩码,用于标记发现异常的像素。

要使用您的模型进行预测,请调用 DetectAnomalies 操作并从本地计算机传递输入图像。您可以从控制台获取用于调用 DetectAnomalies 的 CLI 命令。

更多信息检测图像中的异常

重要

您需要为模型的运行时间付费。

如果不再使用您的模型,请使用 StopModel 操作停止模型。您可以从控制台获取 CLI 命令。

更多信息停止您的模型

在边缘设备上使用您的模型

您可以在 AWS IoT Greengrass Version 2 核心设备上使用 Lookout for Vision 模型。

更多信息在边缘设备上使用您的 Amazon Lookout for Vision 模型

使用您的控制面板

您可以使用控制面板来获取所有项目的概览,以及各个项目的概览信息。

更多信息使用您的控制面板