生产线吞吐量监控系统构建指南

生产线的吞吐量变化可能是上游或下游堵塞的前兆,也可能是生产线之间工作负载不平衡的数据点,或者是分析系统停止和启动时吞吐量变化的依据。通过使用Roboflow工作流,可以在不编写任何代码的情况下构建高级吞吐量监控系统,并结合计算机视觉技术。可以训练自定义模型来识别生产线上特定的产品,然后编写自定义逻辑来监控设施中生产线的容量。

系统演示

以下是一个将要构建的系统的演示。这个系统能够确定生产线特定部分的容量是否超出了预期,从而指示可能存在堵塞。

开始构建生产线吞吐量监控系统

为了构建生产线吞吐量监控系统,将执行以下步骤:

  • 配置系统以接受图像或视频输入,以及在给定时间内允许的最大产品数量;
  • 运行目标检测以识别产品(在这个例子中,是牛奶瓶);
  • 定义一个表达式,如果生产线超负荷,则返回TRUE,如果没有超负荷,则返回FALSE;
  • 在输入图像上绘制模型的结果,以便可以可视化模型性能;
  • 返回系统的处理结果。

Roboflow工作流是什么?

工作流是一个低代码计算机视觉应用构建器。通过工作流,可以在Web界面中构建复杂的计算机视觉应用,然后使用Roboflow云、NVIDIA Jetson等边缘设备,或GCP、AWS等任何云提供商部署工作流。工作流为项目提供了广泛的预构建函数,并且可以在工作流Web编辑器中测试管道,允许在不编写任何代码的情况下迭代开发逻辑。

配置输入

系统接受两个输入:一张图像(也可以是视频中的一帧),以及允许的最大瓶数。将使用这些值来运行模型,并判断视野中是否有太多的瓶子。

使用计算机视觉检测生产线上的产品

在这个指南中,使用的是牛奶瓶检测模型。该模型已训练用于识别牛奶瓶和瓶盖。可以使用任何模型与工作流一起使用。如果还没有一个训练有素的目标检测模型来识别生产线上的对象,请参考Roboflow入门指南,了解如何训练一个自定义模型来识别感兴趣的对象。

// 更新使用的模型,通过点击工作流中的“目标检测模型”块并更新模型ID。 // 可以使用Roboflow Universe上的任何公共模型,或者工作区中的私有模型。

点击“Roboflow模型标识符”输入字段,从工作区中选择一个模型或添加一个来自Roboflow Universe的模型:

配置表达式块

首先,添加一个表达式块到工作流中。将想要添加bottle_count作为一个参数输入到表达式块中。点击表达式块“switch”配置中的“添加参数”。输入bottle_count作为参数名称,并从下拉列表中选择属性定义块的输出“$steps.bottles_detected.output”。点击“添加”以保存参数以备将来使用。重复步骤1-3以添加maximum_bottles_allowed输入作为参数。

// 现在将配置通过/失败逻辑,使用case语句部分。 // 点击“添加案例语句”。 // 设置逻辑,如果bottle_count大于maximum_bottle_allowed,则返回true。可以点击链接图标,引用参数值而不是输入一个数字。

完成的案例语句如下所示。最后,想要将默认输出设置为“false”。完全配置的表达式块如下所示。

可视化模型预测

在测试工作流时,可视化模型的预测是很有帮助的。这些可视化可以用来检查训练的模型在示例图像上的表现如何。要可视化模型预测,使用边界框可视化块。这个块读取模型的预测,并在输入图像上绘制相应的边界框。

配置输出

工作流返回三个值:目标检测模型的预测;表示系统是否超负荷或不超负荷的TRUE或FALSE判断;以及显示模型返回的边界框的可视化。

运行系统!

要测试一个工作流,点击页面顶部的“运行预览”。要运行预览,首先将图像拖放到图像输入字段中。然后,设置允许的最大瓶数。在这个演示中,假设在给定时间内视野中允许5瓶。点击“运行预览”来运行工作流。工作流将运行并提供两个输出:一个JSON视图,包含配置的工作流返回的所有数据;以及使用包含在工作流中的边界框可视化块绘制的模型预测的可视化。

部署工作流

工作流可以在Roboflow云中部署,也可以在NVIDIA Jetson或Raspberry Pi等边缘设备上部署。要部署一个工作流,点击工作流构建器中的“部署工作流”。然后,可以选择想要部署工作流的方式。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485