在高级项目中,可能需要编写大量的代码,这些代码随后需要在所有需要应用的地方进行测试和部署。Roboflow 兴奋地宣布了一个新的功能——Workflows,它允许利用最先进的计算机视觉技术构建复杂的应用。Workflows 提供了一个基于Web的编辑器,可以在其中构建应用逻辑。一旦Workflow准备就绪,可以复制一个代码片段,将其部署到所有的设备上,无论是在图像、视频还是实时视频流上。
以下是一个检测常见物体的Workflow示例。点击“尝试Workflow”,并上传包含常见物体(例如猫、手机、咖啡杯)的图像,以查看Workflow的工作情况:使用此Workflow,点击Workflow底部的“运行预览”,然后拖入任何包含常见物体(例如汽车、动物、家用物品)的图像。点击“运行预览”以查看模型的输出。这里是一个模型返回的示例输出:
在这篇博客文章中,将探索Workflows中可能的内容:可用的功能以及用例,以激发想象力,让在实验和构建新项目时有所启发。可以在Roboflow Workflow Templates库中看到一系列Workflow模板,可以尝试立即使用它们。
Roboflow Workflows允许在浏览器中构建复杂的计算机视觉应用。Workflows基于块构建,每个块执行一个特定功能,并且可以连接到其他块以创建一个应用。使用Workflows,可以构建使用以下内容的应用:
Workflows可以包含任意多的块,以表示应用逻辑。让讨论一些可以使用Workflows构建的高级用例,而无需编写任何代码。
可以构建运行对象检测或分割模型的视觉系统,并将结果与输入图像一起保存到数据集中。这可以用于构建主动学习管道,其中模型的输入数据被保存到数据集中,用于训练未来的模型版本。
可以构建主动学习系统,将所有通过工作流的图像添加到数据集中。这可以与像SAM-2这样的基础模型一起使用,以自动标记数据。
还可以使用Workflows构建只上传满足特定条件的图像到数据集的主动学习系统,例如预测的置信度在特定范围内。这有助于收集可以用来提高模型性能的数据。
可以构建基于特定条件做出判断的Workflows。例如,可以构建一个系统,监控装配线上的堵塞情况,这由给定区域内物品过多表示。
可以使用Workflows为零售应用构建高级库存管理系统。例如,可以使用YOLO World,这是一个零样本模型,来识别通用产品(例如咖啡袋),裁剪感兴趣的对象,然后将每个对象发送给GPT以获取有关对象的更多信息。
可以构建包含多个条件语句的Workflows。为了好玩,Roboflow团队制作了一个Workflow,让可以玩石头剪刀布。
可以使用Workflows构建运行对象检测模型、处理预测,然后对结果运行业务逻辑的系统。例如,构建了一个系统,用四个Workflow块读取集装箱ID。该系统:
可以通过以下三种方式部署Workflow:
Workflows部署文档详细介绍了如何使用上述各种方法部署Workflows。如果需要一个API来运行Workflows而不需要管理自己的硬件,那么部署到云端是理想的。话虽如此,对于减少延迟至关重要的用例,建议在自己硬件上部署。
如果在Roboflow云中部署模型,可以在图像上运行推理。如果在专用部署或自己的硬件上部署,可以在图像、视频、网络摄像头源和RTSP流上运行推理。
要部署一个Workflow,点击Roboflow工作区中的“部署Workflow”。然后会打开一个窗口,提供有关如何部署Workflow的信息。
当第一次在自己的硬件或专用部署上运行Workflow时,Workflow中使用的所有模型将被下载到设备上,以供与Workflow一起使用。这个过程需要的时间将取决于使用哪些模型。Roboflow模型应该只需要几秒钟就可以下载,但像CLIP和SAM 2这样的基础模型可能需要几分钟才能下载。然后,模型将被缓存以供在自己的硬件上使用。这将导致后续运行的响应速度更快。
Roboflow Workflows模板库中有许多Workflow示例。以下是制作的一些示例:
还编写了几篇指南,详细介绍了特定Workflows的逐步操作,包括: