亚马逊AWS官方博客
Amazon Lookout Vision – 新的机器学习服务简化了制造缺陷检测
今天,我很高兴宣布推出 Amazon Lookout for Vision,这是一项新的机器学习 (ML) 服务,可帮助工业环境中的客户以简单且经济高效的方式检测生产单元和设备上的视觉缺陷。
您能在这些图像中找出有缺陷的电路板吗?
如果您熟悉电路板的话,也许可以做到,但我不得不说,我花了很长时间才发现错误。人类在经过适当训练且获得充分休息的情况下,是很擅长在一组物体中发现异常的。但是,如果他们很疲惫或者没有经过适当的训练(就像这个例子中的我一样),他们的速度会很慢、容易出错,而且表现不一致。
这就是许多公司使用机器视觉技术来检测异常的原因。不过,这些技术需要通过受控的照明和摄像机视点来进行校准。此外,您还需要指定定义哪些是缺陷和哪些不是缺陷的硬编码规则,这使得这些技术非常专业化,构建起来非常复杂。
Lookout for Vision 是一项新的机器学习服务,通过在生产过程中自动执行产品缺陷视觉检测来帮助提高工业产品质量和降低运营成本。Lookout for Vision 使用深度学习模型来取代硬编码规则,并处理摄像机角度、照明以及操作环境中出现的其他挑战方面的差异。借助 Lookout for Vision,可以降低对精心控制环境的需求。
使用 Lookout for Vision 可以检测制造部件的损坏、识别丢失的部件或零件,并发现制造生产线中与工艺相关的潜在问题。
如何开始使用 Lookout for Vision
首先我要说的是,不需要是机器学习专家也能使用 Lookout for Vision。Lookout for Vision 是一项完全托管的服务,并带有可针对您的用例和数据进行优化的异常检测模型。
使用 Lookout for Vision 分为几个步骤。首先是准备数据集,其中包括创建图像数据集以及向图像添加标签。然后,Lookout for Vision 使用此数据集来自动训练学习如何检测产品异常的 ML 模型。最后一部分是在生产环境中使用该模型。您可以不断评估训练后模型的性能,并随时使用 Lookout for Vision 提供的工具对其进行改进。
准备数据
要开始使用模型,首先需要一组产品图像。为了获得更好的结果,请包含正常(无缺陷)和异常内容(包括缺陷)的图像。要开始训练,您至少需要 20 张正常图像和 10 张异常图像。
可以通过多种方法将图像从 AWS 管理控制台导入 Lookout for Vision:您可以使用 Amazon SageMaker Ground Truth 服务为带注释的图像提供清单、提供 S3 存储桶中的图像或直接从计算机上传。
上传图像后,您需要添加标签以将数据集中的图像分类为正常或异常。添加标签是一个非常重要的步骤,因为这是 Lookout for Vision 用于训练用例模型的关键信息。
在本演示中,我从 S3 存储桶中导入映像。如果您已按文件夹名称 (/anomaly/01.jpeg) 对 S3 存储桶中的图像进行了整理,则 Lookout for Vision 会自动将文件夹结构导入相应的标签中。
训练模型
当数据集准备就绪时,我们需要使用它来训练我们的模型。一旦达到标签图像的最小数量:20 张正常图像和 10 张异常图像,就会启用训练按钮。
根据数据集的大小,训练可能需要一段时间才能完成:对我而言,用 100 张图像训练模型大约需要一个小时。请注意,当 Lookout for Vision 开始实际训练模型时,就将开始产生成本。训练完成后,您的模型将准备就绪,可以检测新图像中的异常。
评估模型
有几种方法可以评估您的模型是否已经准备好部署到生产环境中。第一种是审查模型的性能指标,第二种是运行一些类似生产环境的测试,它们将帮助您验证模型是否已做好部署准备。
有三个主要的性能指标:精度、召回率和 F1 分数。精度衡量模型正确预测次数的百分比,召回率衡量模型识别出的真实缺陷百分比。F1 分数用于确定模型性能指标。
如果您想运行一些类似生产环境的测试来验证模型是否已准备就绪,请使用运行试验检测功能。这将使您能够运行 Lookout for Vision 模型并预测新图像上的异常。您可以通过手动验证结果和添加新的训练图像来进一步改进模型。
我使用了本篇文章开头出现的三张图像进行试验检测。试探检测作业运行 15-20 分钟后,Lookout for Vision 使用训练好的模型将图像分类为“正常”和“异常”。 Lookout for Vision 最终完成试验检测作业后,您可以验证结果是否正确,并将此图像添加到数据集中。
在生产环境中使用模型
要使用 Lookout for Vision,您需要将 AWS 开发工具包或 CLI 集成到正在处理生产线中的产品图像的系统中,而且需要联网。首先,您需要启动模型。 使用 Lookout for Vision 时,将按模型运行和进行推理的时间来计费。例如,如果您在上午 8 点启动模型,下午 5 点停止,则需要支付 9 小时的费用。
# 示例 CLI
aws lookoutvision start-model
--project-name circuitBoard
--model-version 1
--additional-output-config "Bucket=<OUTPUT_BUCKET>,Prefix=<PREFIX_KEY>"
--min-anomaly-detection-units 10
# 示例响应
{ "status" : "STARTING_HOSTING" }
模型准备就绪后,即可从 Lookout for Vision 调用 detect-anomalies API。
# 示例 CLI
aws lookoutvision detect-anomalies
--project-name circuitBoard
--model-version 1
此 API 将返回 JSON 响应,显示图像是否异常以及该预测的置信度。
{
"DetectAnomalyResult": {
"Source": {
"Type": "direct"
},
"IsAnomalous": true,
"Confidence": 0.97
}
}
完成当天的异常检测后,请使用 stop-model API。在 Lookout for Vision 服务控制台中,您可以找到关于如何使用这些 API 的代码片段。
在生产环境中使用 Lookout for Vision 时,您会发现一个控制面板,它可以帮助您按照缺陷最多的生产线、最近出现缺陷的生产线以及异常率最高的生产线进行分类和跟踪。
现已推出
Lookout for Vision 现已在所有 AWS 区域推出。
要开始使用 Amazon Lookout for Vision,请立即访问服务页面。
— Marcia