终止支持通知:2025年10月31日, AWS 将停止对亚马逊 Lookout for Vision 的支持。2025 年 10 月 31 日之后,你将无法再访问 Lookout for Vision 主机或 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.](images/lfv.png)
选择模型类型
在创建模型之前,必须先确定您想要哪种类型的模型。您可以创建两种类型的模型,即图像分类 和图像分割。您需要根据自己的使用场景,确定要创建哪种类型的模型。
图像分类模型
如果只需要知道图像是否包含异常,但不需要知道异常的位置,应创建图像分类模型。图像分类模型可以预测图像是否包含异常。预测包括模型对预测准确性的置信度。模型不提供图像上所发现异常的任何位置信息。
图像分割模型
如果您需要知道异常的位置,如划痕的位置,应创建图像分割模型。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.](images/mask.png)
模型会返回掩码中每个异常标签的颜色代码。模型还会返回异常标签的图像覆盖百分比。
借助 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 A SageMaker I Ground Truth 清单文件。清单文件中的图像会被标注。您可以创建并导入自己的清单文件。如果你有很多图片,可以考虑使用 SageMaker AI Ground Truth 标签服务。然后,您可以从 Amazon A SageMaker I 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命令。
更多信息:停止您的模型。
在边缘设备上使用您的模型
你可以在核心设备上使用 Lookout for Vis AWS IoT Greengrass Version 2 ion 模型。
更多信息:在边缘设备上使用您的 Amazon Lookout for Vision 模型。
使用您的控制面板
您可以使用控制面板来获取所有项目的概览,以及各个项目的概览信息。
更多信息:使用您的控制面板。