AiDBox Pipeline 可视化编排
目标:看懂场景任务的内部结构,判断节点应该放在什么位置,独立完成常见的节点增删、连线和参数调整。
在「服务分配」页面选择算法、画区域、调参数的背后,是场景任务下的算法任务在工作。每个场景任务可以理解为一条"处理链":
输入 → 推理 → 逻辑处理 → 输出
认识常见节点类型
| 类别 | 节点 | 作用 |
|---|---|---|
| 输入类 | 视频解码 | 将视频流解码为逐帧图像——几乎所有场景任务的起点 |
| 推理类 | 目标检测 | 在画面中定位目标(行人检测、安全帽检测等) |
| 目标分类 | 对已检测目标做二次分类(如判断是否戴安全帽) | |
| 追踪算法 | 给目标分配稳定 ID,让同一对象跨帧保持身份 | |
| 语言视觉大模型 / 检测视觉大模型 | VLM:对图像做状态判断("门开着还是关着");DINO:按文本提示词检测目标("垃圾桶""消防柜") | |
| 逻辑类 | 类别筛选 | 只保留指定类别,去掉不关心的结果 |
| 目标尺寸过滤 | 过滤过小或过大的目标(排除远处小目标干扰) | |
| 区域判定 / 越线判定 | 判断目标是否进入指定区域 / 穿过指定线段(对应 ROI 与客流统计) | |
| 灵敏度计算 | 多帧累积后再触发告警,避免单次误检即告警 | |
| 事件上报 | 生成结构化事件并推送(MQTT / HTTP Webhook) |
数据如何在节点之间流转
以"未戴安全帽"为例,完整链路是:
视频解码 → 目标检测(行人)→ 追踪(跨帧身份保持)
→ 类别筛选 → 安全帽分类 → 灵敏度计算 → 事件上报
-
每个节点消费上游输出、产生自己的结果;
-
逻辑类节点不改变画面,只决定"什么条件下算违规";
-
OSD 叠加与告警截图由事件上报阶段统一生成。
判断节点顺序的基本原则
-
先解码,后推理——所有检测/分类都依赖逐帧图像;
-
先定位,后判定——区域/越线判定需要目标框坐标;
-
筛选尽早——类别筛选、尺寸过滤放在推理链前段可显著降低后续计算量;
-
灵敏度靠后——多帧累积判断应在所有单帧逻辑完成之后。
修改现有场景任务(示例:添加类别筛选)
以"未戴安全帽"为例,若检测算法输出多种类别而只关心行人:
-
进入「场景任务 → 未戴安全帽 → 算法编排」;
-
在目标检测节点后添加"类别筛选"节点并连线,配置保留类别为 pedestrian;
-
保存后系统自动重新加载该场景任务。
验证:修改后回到「实时展示」确认画面叠加与告警行为符合预期;异常时可通过节点级日志定位问题环节。
从零创建新的业务场景任务
参照现有结构搭建:复制一条相近的任务 → 替换推理节点(换模型或 VLM/DINO)→ 调整逻辑链与参数 → 绑定通道验证。新能力(第三方模型)的引入见模型移植指南。