- 打印
使用 Lookout for Vision 进行缺陷检测
利用 Tulip Vision 和 AWS Lookout for Vision 实施自动缺陷视觉检测
视觉检测是保持生产质量的关键环节,但很难在保持精益的同时实施,因为专门的人力检测资源成本很高。人工视觉检测也是一项高成本的操作;它非常重复,而且在视觉上具有挑战性。
利用摄像头和机器学习进行自动视觉检测则完全改变了这一情况。基于机器学习的视觉检测算法已经发展到在时间和准确性上都超越人工的地步。
使用 Tulip,您可以将Vision摄像头输出连接到一流的视觉异常检测云服务,从而实现自动视觉检测。亚马逊的 Lookout for Vision 就是这样一种服务,它通过简单的 REST API 端点提供强大的算法,可以轻松集成到 Tulip 中。
在本文中,我们将向您展示如何在 AWS 上使用 Cloud Formation 以及在 Tulip 中使用预捆绑的 Library App 快速设置。有关此过程的实时教程,请参阅以下视频。
前提条件
在开始此过程之前,请确保您拥有以下可用资源:
- 连接到 Tulip Player PC 的 USB 摄像头(请参阅Tulip Vision 硬件推荐指南
- 所连接摄像头的 Tulip Vision 摄像头配置和经过验证的工作视频流(参见视觉入门指南
- 在 Tulip 表中收集的带有正常异常注释的数据(参见数据收集应用程序)
- 允许用户创建 Lookout for Vision 和 API Gateway 等资源的 AWS 账户(请参阅亚马逊提供的入门指南)
:::(Info) (注)目前,Lookout for Vision 仅适用于特定的 AWS 区域:
在 AWS 控制台中设置 Lookout for Vision
为协助在 AWS 控制台上设置所需的云基础设施,我们提供了一个云组建模板(下载)。CFT 是一个简短的脚本,用于在 AWS 云上提供使用 Tulip 从 Lookout for Vision (LfV) 训练和运行检测模型所需的一切。它将创建一个 LfV 项目、一些用于激活 LfV 模型的 AWS Lambda 函数和一个用于与这些函数通信的 AWS API Gateway。Tulip 将调用 AWS API Gateway 端点,从而在 Tulip Apps(视觉检测在此完成)内运行对 LfV 模型的命令。
- 下载CFT。
- 进入 AWS 控制台的云组建。
- 创建堆栈并上传 CFT 文件。
- 运行 CloudFormation 堆栈创建脚本。
- 注意输出结果。
- 记下 apiGatewayInvokeURL 的值,或以其他方式记下,因为我们很快将再次使用它来设置连接器功能。
还要记下 "资源"选项卡中的 API 密钥。你需要点击它并找到该值。
现在,AWS 已由 Cloud Formation 提供,我们可以继续使用 Lookout for Vision 训练视觉机器学习模型。为此,我们必须有一个带注释的图像数据集。虽然您可以手动创建数据集,但我们提供了一种简便的方法,使用我们的数据收集应用程序 [链接],用 Tulip 收集数据。数据存储在 Tulip 表中,并可从中轻松导出。在接下来的几个步骤中,我们将假设数据集是在 Tulip 中收集的。
- 从 Tulip 表中导出数据集。
- 将数据集上传到 Lookout for Vision 创建的 S3 bucked。
- 在 Lookout for Vision 上创建数据集,并选择 S3 存储桶作为源。
确保选择自动附加标签:
现在数据集已在 Lookout for Vision 中准备就绪,我们可以训练模型了。这个过程大约需要 45 分钟,在 AWS 控制台上很容易完成。
- 点击训练模型。
- 查看训练状态。
- 查看训练结果。
一旦模型完成训练,我们就不需要在 AWS 方面再做什么了。云窗体已经为我们建立了所有连接,我们就可以将 Tulip 连接到 Lookout for Vision 了。
设置 Tulip 以调用 Lookout for Vision 模型
Tulip 通过 API 与外部服务集成的能力很强,因此很容易与 AWS Lookout for Vision 集成。我们将使用上一节中的 REST API 端点,通过 Tulip Connector Functions 控制 LfV 模型。不过,我们不会从头开始创建函数,而是在我们的 "使用 Lookout for Vision 进行缺陷检测 "库应用程序中提供预构建的函数。这将为您节省大量时间,并确保正确构建连接器。不过,首先,我们需要用您特定 AWS 账户中的正确数据填充连接器函数。
- 在 Tulip 中找到连接器函数。
- 为连接器设置来自 AWS 的正确端点 URL,这是之前从 Cloud Formation 复制的:
- 为每个功能设置 AWS 的 API KEY。
确保对所有 4 个功能都这样做。
在郁金香应用程序中使用 Lookout for Vision
在库中提供的缺陷检测应用程序中,我们为运行视觉检测设置了一个非常基本的流程。您可以根据自己的需要修改该应用程序或将其部分内容复制到其他应用程序中。要使用该应用,你需要做一些小的修改,以便与你特定的 Tulip Vision 设置配合使用。你需要将捕捉触发器指向 Vision 摄像头配置,以及用于视觉反馈的摄像头预览部件。
- 用正确的摄像头配置设置 Tulip App 摄像头小部件。
- 使用正确的摄像头配置设置 "检测异常 "触发器。
现在一切就绪,可以在 Tulip 上运行模型了。在模型可用于推理(评估图像)之前,它需要 "托管",这意味着它将占用一些云计算资源,如云虚拟机,以便为您的应用程序提供模型。我们在所提供的郁金香应用程序上创建了按钮来实现这一点。
:::(Info) (注意)一旦模型被 "托管",它就会消耗有附加成本的资源。切记在不使用模型时将其关闭,否则将面临花钱无回报的风险。在这里可以了解到 AWS LfV 的定价。请记住,AWS 也为 LfV 提供免费层。郁金香不对 AWS 上私人托管的资源负责,但欢迎您联系我们进行咨询:
继续在连接了检测摄像头的播放器 PC 上运行缺陷检测应用程序。在运行的应用程序上执行以下步骤:
- 打开模型("托管")。
:::(Info) (注意)一旦启动模型,它将开始产生费用。请记住将其关闭:
- 检查模型托管状态。
查看 "托管 "状态。如果状态不是 "已托管",模型将不接受查询。
- 在模型上运行推理请求。
模型现在应该可以预测对象是缺陷还是正常部件。我们添加了一些按钮来反馈检测准确性,以防模型预测错误。这些按钮将为郁金香表和数据集添加更多数据。通过向模型提供更多的样本图像,定期对模型进行再训练,以提高模型的鲁棒性。
结论
我们已经了解了在 Tulip 上开始使用基于机器学习的自动视觉检测的简单流程。这个过程可以节省人工视觉检测的资源。应用此流程还能为您提供一个可视化数据集,其中包含了产品中出现的所有缺陷,您可以将其用于检测以外的其他用途。
利用 Tulip 的连接功能,您可以轻松地应用和实施机器学习。选择使用其他云 ML 服务的方式也非常类似。