Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
Ultralytics 平台

如何使用 Ultralytics Agents 将 YOLO 检测结果转化为警报,无需编写代码

无需编写代码,使用 Ultralytics Agents 中的 Gate 条件,即可将 Ultralytics YOLO 检测结果转化为 Slack 警报、webhook 和数据集采集。

Miles DeansMiles Deans8 分钟阅读
Ultralytics Agents 画布:输入图像进入 YOLO26 Detect people 模块和一个设置为检测 person 数量的 Person detected Gate,然后分支连接到 Captured images 和 Notify Slack

你可以通过在 Ultralytics Agents 中构建可视化工作流,将 Ultralytics YOLO 检测结果转化为警报,无需编写代码;Ultralytics Agents 是 Ultralytics Platform 的一部分。将图像连接到 YOLO 模型,添加一个用于检查模型检测结果的 Gate,再将结果分支连接到 Slack 消息、webhook 或数据集。本指南将从 Capture and Alert 模板开始,逐步构建该工作流,然后扩展工作流以串联第二个模型、保存工作流、在新图像上重新运行,并导出为 Python。

你将构建的工作流#

最终工作流会使用 YOLO26 模型检查图像,并且仅在检测到 person 时,通过同一个条件执行三项操作:

  • 发送 Slack 消息到你已连接的频道,其中包含检测结果。
  • 向公共 HTTPS 端点发送 JSON webhook,该端点需配置为接受你选择的 JSON 正文,例如工单工具或内部服务的端点。
  • 将图像保存到数据集,以便你之后为图像添加标签并重新训练模型。

Agents 会在画布上将图像、模型、条件和操作连接为模块,所有已登录的 Ultralytics Platform 用户都可以在个人和团队工作区中使用 Agents(Agents 文档)。点击 Run 后,工作流会针对所选图像、视频或数据集运行;它不是持续监控摄像头的服务。若要了解 Agents 是什么以及我们为何构建它,请阅读隆重介绍 Ultralytics Agents。

本指南使用 Image → YOLO → Gate,Gate 会分支连接到 Slack、Webhook 和目标 Dataset。如需查看完整的模块参考和其他工作流模式,请参阅 Agents 文档。

Ultralytics Agents 中的 Add block 面板,列出输入、模型、逻辑和平台模块,旁边是 YOLO 到视觉语言模型的工作流

第 1 步:加载 Capture and Alert 模板#

在 Platform 侧边栏中打开 Agents,点击 Add block,切换到 Templates,然后选择 Capture and Alert。加载模板会替换当前画布上的模块,Platform 会先要求你确认。

Capture and Alert 已将 person 检测条件连接到数据集采集和 Slack;你需要配置这些目标,并在下方添加 webhook 分支。其他模板 YOLO → VLM Monitor 和 Collect Uncertain Detections 是可编辑的起点,分别用于描述场景和构建审核数据集。

Ultralytics Agents 中的 Templates 选项卡,显示 YOLO → VLM Monitor、Collect Uncertain Detections 和 Capture and Alert 模板

第 2 步:选择输入图像#

选择 Input image 模块,然后选择一张包含 person 的图像,可以上传图像,也可以从已上传的数据集中选择。首次运行共享试用版时,请使用不超过 4 百万像素的图像。上传的文件会保留在浏览器中,直到你运行工作流;刷新页面后文件会被清除。若要处理多张图像,请将 Image 模块替换为 Dataset 模块,选择源数据集和数据拆分,设置输入数量上限,然后将其连接到 YOLO 模块。

第 3 步:选择 YOLO 模型和置信度#

选择 Detect people 模块。该模板使用 YOLO26 nano(yolo26n),这是共享试用版运行的模型。若要使用其他官方 YOLO 模型或在工作区中训练的模型(例如自定义缺陷检测器或 PPE 检测器),请在此模块的 Model 下选择该模型,并在第 7 步选择专用部署来执行工作流。Minimum detection confidence 设置会在任何条件运行之前丢弃置信度较低的检测结果;如果你希望工作流对置信度较低的检测结果作出反应,请调低此设置。

第 4 步:在 Gate 模块中设置条件#

Gate 模块决定是否运行后续操作。在 Capture and Alert 中,选择 Person detected 模块并确认其设置:

  • 模式: Condition
  • 检测模型: Detect people
  • 度量: Detection count
  • 类别名称: person
  • 条件: 大于或等于
  • 比较值: 1

Ultralytics Agents 中的 Capture and Alert 工作流,已选中 Person detected Gate:person 的检测数量大于或等于 1,并分支连接到数据集和 Slack 模块

将类别名称改为与你的模型类别相符的名称,或使用 * 表示任意类别。你也可以测量检测置信度而非数量;将 YOLO 模块的最低置信度设置得足够低,以保留你想要评估的检测结果。置信度条件在至少一个检测结果符合条件时通过,因此,分数为 0.3 和 0.9 的图像符合 0.25 到 0.5 的范围,而没有检测结果的图像永远不会通过置信度条件。如果条件不匹配,该图像对应的已连接操作就不会运行。

第 5 步:配置 Slack 和 webhook#

Slack。 在 Settings > Integrations 中连接一次 Slack(在团队工作区中,这需要由工作区管理员或所有者完成),然后编辑 Notify Slack 模块的消息。使用 {output} 纳入上游结果,如模板中的 Person detected: {output}。这些工作流消息与 Platform 的训练和部署通知彼此独立(Slack 集成文档)。

Webhook。 点击 Add block,在 Blocks 选项卡中选择 Webhook,然后将 Person detected 的输出连接到该模块,同时保留现有的 Slack 和数据集连接。输入一个公共 HTTPS 目标 URL,并将其配置为接受你的 JSON 正文,例如 {"text": "{output}"}。Platform 会针对每个结果发送一个 POST 请求,其中包含 Content-Type: application/json。正文最多可包含 10,000 个字符;请求不会跟随重定向;连接会在 5 秒后超时;非 2xx 响应会导致模块失败。Webhook 模块是终端模块,不会将结果继续传递到工作流的后续部分。

Ultralytics Agents 中的 Webhook 模块设置,包含 HTTPS 目标 URL 和使用 {output} 的 JSON 正文的字段

一个 Gate 输出可以同时连接多个模块,因此 Slack、webhook 和数据集都会使用同一个已评估的条件。模块失败时会显示红色轮廓。

第 6 步:保留符合条件的图像以供重新训练#

选择 Captured images 模块,然后选择一个你有编辑权限的现有数据集;如果需要,可以先按照数据集创建指南创建数据集。已连接的云存储数据集和本地部署数据集不能用作目标数据集,且正常的数据集存储配额仍然适用。符合条件的图像会添加到数据集的训练拆分中,但不会添加标签;数据集中已有的图像会被跳过。在标注编辑器中打开数据集,审核并标注收集到的图像,然后在下一次 Platform 训练运行中使用这些图像。

第 7 步:运行、保存并在新图像上重新运行#

在 Run 按钮旁选择运行方式:

选项适用场景局限
共享试用版 · 60 秒试用小型工作流最长 60 秒;最多 20 张输入图像,每张不超过 4 百万像素;最多 20 次模型或提供商调用;每分钟最多运行三次;一个本地 YOLO 模型,使用官方 YOLO26 nano 模型
现有专用部署较大的数据集和较长的运行任务使用该部署的硬件和定价;工作流没有总时长或图像数量上限,但仍受现有部署和提供商限制约束
新建部署从构建器创建专用硬件打开部署创建和定价对话框;请等待部署就绪后再运行

一个工作流最多可以有 20 个模块。Slack 和 webhook 操作计为模型或提供商调用,分支可能会增加每张图像的调用次数。运行过程中,模块会显示进度;你可以点击 Stop 取消运行。

配置好输入和目标后,点击 Run。检查模块结果,然后查看已连接的 Slack 频道、webhook 接收端和目标数据集。如果没有操作运行,请检查 YOLO 是否检测到 person,以及 Gate 条件是否匹配;条件不匹配时,已连接的操作不会执行。

点击 Save workflow 为工作流命名,以便之后从 Open workflow 重新打开。若要在新数据上重新运行,请打开已保存的工作流,选择新图像或其他数据集,然后再次点击 Run。保存不会安排运行任务。

第 8 步:串联第二个模型#

如果你除了想知道“是否有 person?”,还想知道“发生了什么?”,请添加一个 LLM 模块,将 Gate 连接到该模块,再将 LLM 连接到新的 Output 模块,按照 YOLO → VLM Monitor 模板的模式进行配置。Gate 会评估 YOLO 的检测结果,视觉语言模型则只描述通过条件的图像。在 LLM 模块中选择视觉语言模型并输入提示词,然后在 Settings > API Keys 中添加对应的提供商密钥(在团队工作区中,由工作区所有者添加密钥)。语言模型的使用费用由该提供商收取。若要通过已部署的模型执行预测步骤,请使用 Deployment 模块调用现有的、已就绪的 Platform 部署。

第 9 步:将工作流导出为 Python 或通过 API 管理#

点击 Python 查看生成的工作流代码。若要在本地运行,请安装 ultralytics 和 ultralytics-platform 包,在环境中设置所需的提供商密钥,并选择源输入。通过代码管理工作流的团队可以使用 Agents API;该 API 在 Python SDK 中以 client.agents(ultralytics-platform>=0.1.74)的形式提供,可用于列出、保存和删除 agents。若要在 Platform 上启动运行,请在画布上打开已保存的工作流并点击 Run。

何时该选择其他方案#

Agents 适用于按需运行的图像、视频片段和数据集事件驱动检查。其他任务可能适合采用其他方案:

  • 用 Python 编写。若要持续处理实时摄像头画面,请使用 Ultralytics Python 包通过代码构建流水线;我们的安全警报系统指南展示了一个使用 Ultralytics YOLO26 构建的代码式警报项目。
  • 多路视频流流水线。NVIDIA 将 DeepStream 描述为流分析工具包,它提供基于 GStreamer 的框架,可在 NVIDIA GPU 上构建多路、多模型推理流水线。
  • 通用自动化工具。Node-RED 将自身描述为一种基于流程的编程工具,带有基于浏览器的流程编辑器,适合需要在计算机视觉之外构建更广泛自动化流程的团队。

常见问题

  • Ultralytics Platform 中的 Ultralytics Agents 支持在可视化画布上将 YOLO 模型、Platform 部署和视觉语言模型串联为模块。常见模式是 YOLO → Gate → LLM:YOLO 用于筛选图像,视觉语言模型则只描述通过条件的图像。

  • Ultralytics Agents 将 YOLO 检测模型与 Gate 模块相结合;Gate 可根据检测数量、置信度和类别应用规则,并支持 Slack、webhook 和数据集操作。团队可以从模板开始构建工作流,无需编写代码,之后还可以将工作流导出为 Python。

  • 在 Ultralytics Agents 中,将 Gate 模块连接到 Webhook 模块。仅当条件匹配时才会触发 webhook;每个结果都会向公共 HTTPS 端点发送一个 JSON POST 请求,其中的 {output} 会被检测结果替换。

  • Ultralytics Agents 会通过连接到条件的 Slack 模块发送 Slack 消息,例如“person 数量 ≥ 1”。在 Settings > Integrations 中连接一次 Slack,然后使用 Capture and Alert 模板。

  • Ultralytics Agents 会按名称保存工作流。打开已保存的工作流,将新图像或数据集选为输入,然后点击 Run。在专用部署上运行时,工作流没有总时长或图像数量上限,但仍受现有部署和提供商限制约束。

  • Ultralytics Agents 是 Ultralytics Platform 中的无代码计算机视觉工作流构建器,提供可编辑模板,可将 Ultralytics YOLO 检测结果连接到条件、Slack 警报、webhook 和数据集采集。其共享试用版无需创建部署即可运行小型工作流。Slack 操作需要已连接的 Slack 频道,视觉语言模型步骤需要对应的提供商密钥。

  • 不会。点击 Run 后,工作流才会针对所选图像、视频或数据集运行;保存工作流不会安排运行任务。持续监控摄像头需要单独通过代码或流处理方式实现。

作者

Miles Deans
Miles Deans

SEO 主管 · Ultralytics

Miles Deans 是常驻伦敦的 Ultralytics SEO 负责人,负责推动公司的搜索策略和自然增长。他此前曾在 Adobe、Kaizen 和 Virgin Media O2 任职。

评论

提出问题、分享你的结果,或帮助其他人。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来