边缘 AI 视频分析引擎实战:可视化拖拽编排流水线,把训练完的模型快速跑起来

前言
算法工程师最熟悉的一句话往往是:「模型 mAP 已经 92% 了。」
现场实施最头疼的一句话往往是:「能接到摄像头、能出告警、能对接我们业务系统吗?」
从实验室到边缘现场,中间隔着模型格式转换、多路 RTSP、推理后端适配、OSD 渲染、告警推送、第三方对接等一整条工程链路。很多项目卡在这「最后一公里」:模型训得出来,却很难在边缘盒子上稳定跑起来。
本文介绍一套面向生产环境的 边缘 AI 视频分析引擎 :导入 ONNX 模型,在浏览器里用拖拽方式搭建 AI 流水线,接入 RTSP 摄像头,即可完成目标检测、跟踪、VLM 视觉大模型判断,输出带标注画面,并通过 MQTT / HTTP Webhook 向外推送告警事件。目标很明确------把训练完的模型,快速、可运维地跑到生产现场。
一、要解决的核心问题
边缘视觉落地通常会撞上这几堵墙:
| 痛点 | 表现 | 业务影响 |
|---|---|---|
| 模型落地难 | 训练权重无法直接对接摄像头与告警 | 算法成果无法交付 |
| 流水线硬编码 | 改规则就要改代码、重新发版 | 现场调试周期长 |
| 多芯片碎片化 | Sophon / RKNN / x86 各写一套 | 维护成本高 |
| 误报难控 | 规则告警噪声大 | 值班人员疲劳、系统信任度下降 |
| 对接成本高 | 业务系统拿不到结构化事件 | 二次开发反复扯皮 |
这套引擎的定位,就是把「模型 → 流水线 → 视频源 → 告警 → 第三方系统」串成一条可配置、可观测、可集成的生产链路。
二、整体能力一览
| 能力模块 | 关键技术 | 解决什么 |
|---|---|---|
| 可视化流水线编排 | Vue Flow | 浏览器拖拽组合 AI 节点,无需硬编码 |
| 原生运行时 | 多路媒体处理、推理调度、OSD、任务管理 | 生产级并发与任务生命周期 |
| 推理后端 | Sophon BMRT、RKNN、ONNX Runtime(x86) | 覆盖主流边缘芯片与通用 CPU |
| 流媒体预览 | SRS 6.0(WebRTC / HTTP-FLV) | 浏览器直接看 AI 分析画面 |
| 端侧智能 | GroundingDINO + VLM | 开放词汇检测与告警二次复核 |
| 告警体系 | OSD、抓拍、MQTT / Webhook | 结构化事件对外推送 |
| 运维集成 | REST / WebSocket / MQTT / 断点续传上传 | 模型管理与业务对接 |
一句话概括产品形态:
导入 ONNX
↓
浏览器拖拽搭建 AI 流水线
↓
接入 RTSP / USB / 本地视频 / WebRTC
↓
检测 + 跟踪 +(可选)VLM 判断
↓
带标注画面预览 + MQTT/Webhook 告警
三、可视化流水线编排:用 Vue Flow 搭 AI 流水线
传统做法是:检测、跟踪、画线、告警逻辑写死在 Python/C++ 服务里,现场改一条警戒线或换一个模型,往往要改代码、重启服务。
本引擎采用 Vue Flow 做浏览器端可视化编排,把 AI 能力拆成可组合节点:
视频源节点
→ 推理节点(ONNX / 平台后端)
→ 跟踪节点
→ 规则节点(越线 / 区域 / 计数)
→ VLM 复核节点(可选)
→ OSD 渲染节点
→ 告警输出节点(MQTT / Webhook)
3.1 编排层能力
| 能力 | 说明 |
|---|---|
| 流水线组合 | 拖拽节点、连线成图,所见即所得 |
| 任务绑定 | 流水线绑定到具体摄像头 / 视频源 |
| 参数校验 | 节点参数在保存前校验,减少运行时失败 |
| 实时反馈 | 任务状态、推理结果、异常信息回传前端 |
3.2 对现场实施的价值
- 算法同学:把训练好的 ONNX 导入即可试跑,不必手写整条服务链路
- 实施同学:改警戒线、阈值、推送地址,多数在页面完成
- 产品同学:同一套运行时,可快速拼出不同场景流水线(安防、消防、产线)
四、原生运行时与多芯片推理后端
可视化编排解决「怎么配」,原生运行时解决「怎么稳跑」。引擎面向多路媒体处理、推理调度、OSD 渲染、任务管理与事件处理,推理后端覆盖三类主流部署环境:
| 后端 | 适用平台 | 典型场景 |
|---|---|---|
| Sophon BMRT | 算能 / Sophon 边缘设备 | 国产化边缘盒子、园区落地 |
| RKNN | 瑞芯微 RK 系列 | 低成本边缘节点、门禁与小型园区 |
| ONNX Runtime | x86 CPU/GPU 通用环境 | 开发调试、通用服务器、快速验证 |
4.1 为什么要统一抽象推理后端
现场硬件往往不是一种:同一套业务,可能一部分点位用 RKNN 盒子,中心侧用 x86 + ONNX Runtime,部分项目还要求 Sophon。若每个芯片各写一套业务逻辑,后期必然分裂。
更合理的做法是:
统一流水线定义(前端编排)
↓
统一任务运行时(调度 / OSD / 事件)
↓
可插拔推理后端(BMRT / RKNN / ORT)
业务侧关心「这个节点用哪个模型、阈值多少、告警推到哪里」;硬件差异被收敛在推理后端适配层。
4.2 生产运行时关注点
- 多路并发:多路视频同时推理,而不是单路 Demo
- 推理调度:控制采样率、队列深度,避免积压导致画面越来越慢
- 任务管理:启停、重启、异常恢复,可按任务粒度运维
- 事件处理:告警去重、抓拍关联、历史留存
五、流媒体预览:SRS 6.0 + WebRTC / HTTP-FLV
AI 结果如果只能看日志或静态图,现场验收很难通过。本引擎集成 SRS 6.0,提供:
| 协议 | 用途 |
|---|---|
| WebRTC | 低延迟实时预览,适合操作台盯屏 |
| HTTP-FLV | 浏览器兼容性好,适合大屏与普通 Web 预览 |
效果是:浏览器直接查看 AI 分析后的带标注画面,无需额外播放器客户端。这对实施验收、客户演示、值班监控都非常关键。
六、端侧 VLM 与 GroundingDINO:开放词汇 + 告警复核
规则检测能解决「已知类别、固定规则」问题,但现场经常出现两类更难的需求:
- 没专门训过的物体:杂物、异物、临时堆放
- 需要语义判断:消防栓是否被遮挡、通道是否畅通
因此引擎引入端侧 GroundingDINO 与 VLM 视觉判断。
6.1 GroundingDINO:文本提示词开放词汇检测
- 输入:图像 + 文本提示词
- 能力:开放词汇检测,识别没有专门训练过的物体
- 典型用途:找杂物、异物、临时障碍物
适合作为「固定类 YOLO 检测」的补充,而不是替代实时主检测器。
6.2 VLM 视觉判断:自然语言 YES/NO
给一句自然语言,例如:
判断「消防栓是否被遮挡」
模型输出 YES / NO(或等价结论),把语义判断能力下沉到流水线节点中。
6.3 VLM 告警复核:先确认,再上报
这是生产环境里非常实用的一环:
检测 / 规则触发告警
↓
调用 VLM 二次确认
↓
确认成立 → MQTT / Webhook 上报
确认不成立 → 过滤误报(可记日志)
价值很直接:过滤大量误报,提高告警可信度,降低值班噪声。
6.4 本地离线与云端 API 双模式
| 模式 | 说明 | 适用 |
|---|---|---|
| 本地硬件离线跑 | 数据完全不出设备 | 涉密、弱网、合规要求高 |
| 兼容 OpenAI 的 API | 调用外部大模型服务 | 快速验证、算力不足时补充 |
同一套流水线可按部署策略选择本地 VLM 或远程 API,不必为两种部署各写一套业务。
七、OSD 画面渲染与告警体系
生产可用的视觉系统,必须「看得见、告得准、查得到」。
7.1 OSD 自动叠加
| 元素 | 说明 |
|---|---|
| 检测框 | 自动绘制目标框 |
| 警戒线 / 警戒区域 | 越线、闯入等规则可视化 |
| 计数器 | 人流 / 车流等统计展示 |
| 状态配色 | 正常 / 预警 / 违规使用不同颜色 |
7.2 告警闭环
触发条件成立
↓
自动抓拍截图
↓
写入事件历史(可筛选、可导出)
↓
MQTT 或 HTTP 接口推送到业务后台
告警不再只是「弹个框」,而是形成 截图 + 结构化事件 + 可追溯历史 的完整闭环。
八、丰富视频源与多路并发
现场视频源很少是单一类型,引擎支持:
| 视频源 | 典型用途 |
|---|---|
| RTSP 网络摄像头 | 园区、道路、厂房主流接入 |
| USB 摄像头 | 工位旁路调试、桌面演示 |
| 本地视频文件 | 算法验收、回放复盘、离线压测 |
| WebRTC 流 | 低延迟互动与特殊接入场景 |
并支持 多路视频同时并发推理,更贴近真实生产负载,而不是单路 Demo。
九、运维能力与第三方系统集成
边缘 AI 要进生产,还必须具备模型运维与系统对接能力。
9.1 模型与告警运维
| 能力 | 说明 |
|---|---|
| 模型生命周期管理 | 导入、版本、绑定任务、下线 |
| 告警中心 | 集中查看、处理、筛选告警 |
| 事件历史留存 | 支持筛选与导出,便于复盘与审计 |
| 断点续传模型上传 | 大模型上传中断后可恢复,无需重传完整文件 |
大模型(尤其 VLM 权重)体积大,断点续传对弱网现场尤其重要。
9.2 对外集成接口
| 接口 | 用途 |
|---|---|
| REST API | 任务状态、配置、查询类对接 |
| WebSocket | 实时状态与结果推送 |
| MQTT | 物联网 / 告警总线常见接入方式 |
| HTTP Webhook | 业务后台被动接收结构化事件 |
第三方系统可获取:
- 任务运行状态
- 抓拍图片
- 结构化告警事件
从而方便做二次开发:工单系统、大屏、短信/企微推送、业务数据库入库等。
十、典型应用场景
结合「任务划分」思路,可将流水线按场景模板化:
| 场景 | 流水线要点 | 关键节点 |
|---|---|---|
| 周界安防 | 检测人 → 越线/区域 → 告警 | 检测、规则、OSD、Webhook |
| 消防巡检 | 开放词汇找杂物 + VLM 判断消防栓遮挡 | GroundingDINO、VLM、复核 |
| 人员行为 | 检测 → 跟踪 → 聚集/徘徊规则 | 跟踪、规则、告警中心 |
| 产线质检 | 本地视频/USB 调试 → ONNX 检测 → 事件导出 | 文件源、ORT、事件历史 |
| 多芯片边缘部署 | 同一流水线切换 RKNN / BMRT / ORT | 可插拔推理后端 |
实施时建议先落「检测 + 规则 + 告警」主路径,再按误报情况加 VLM 复核;开放词汇与大模型判断作为增强,而不是一上来替换全部检测器。
十一、推荐落地路径
| 阶段 | 目标 | 动作 |
|---|---|---|
| Day 1 | 跑通单路 | 导入 ONNX → 拖拽检测流水线 → 接 RTSP → 浏览器预览 |
| Week 1 | 形成可交付告警 | 加越线/区域规则 → 抓拍 → MQTT/Webhook 对接业务 |
| Week 2 | 控误报 | 对高噪声点位加 VLM 复核;必要时加 GroundingDINO 找异物 |
| Month 1 | 规模化 | 多路并发压测;按现场芯片选 BMRT / RKNN / ORT;完善模型版本与事件审计 |
十二、架构示意(逻辑视图)
┌─────────────────────────────────────────────────────────┐
│ 浏览器编排层(Vue Flow) │
│ 流水线组合 / 任务绑定 / 参数校验 / 实时反馈 │
└────────────────────────────┬────────────────────────────┘
│
┌────────────────────────────▼────────────────────────────┐
│ 原生运行时 │
│ 多路媒体处理 │ 推理调度 │ OSD │ 任务管理 │ 事件处理 │
└───────┬────────────────┬────────────────┬───────────────┘
│ │ │
┌────▼────┐ ┌─────▼─────┐ ┌─────▼─────┐
│ Sophon │ │ RKNN │ │ ONNX RT │
│ BMRT │ │ │ │ (x86) │
└─────────┘ └───────────┘ └───────────┘
│
┌────▼────────────────────────────────────────┐
│ GroundingDINO │ VLM 判断 │ VLM 告警复核 │
│(本地离线 或 兼容 OpenAI 的 API) │
└────┬────────────────────────────────────────┘
│
┌────▼──────────────┐ ┌──────────────────────────┐
│ SRS 6.0 预览 │ │ REST / WS / MQTT / Hook │
│ WebRTC / HTTP-FLV │ │ 结构化告警 → 业务后台 │
└───────────────────┘ └──────────────────────────┘
十三、总结
面向生产环境的边缘 AI 视频分析,关键不是再堆一个检测模型,而是打通:
| 环节 | 关键能力 |
|---|---|
| 编排 | Vue Flow 可视化流水线,降低改规则成本 |
| 运行 | 多路调度 + OSD + 任务管理,贴近生产负载 |
| 芯片 | Sophon BMRT / RKNN / ONNX Runtime 可插拔 |
| 预览 | SRS 6.0,浏览器直接看 AI 画面 |
| 智能增强 | GroundingDINO 开放词汇 + VLM 判断与复核 |
| 集成 | REST / WebSocket / MQTT / Webhook + 断点续传上传 |
一句话:导入 ONNX,拖拽搭流水线,接上摄像头,就能把训练完的模型跑成「看得见画面、推得出告警、对得上业务系统」的生产服务------这才是边缘 AI 视频分析真正要解决的最后一公里。
参考与延伸阅读
- Vue Flow 可视化编排:适合把检测、跟踪、规则、告警拆成可组合节点
- SRS:WebRTC / HTTP-FLV 实时预览常见方案
- ONNX Runtime / RKNN / Sophon BMRT:边缘多芯片部署的主流推理路径
- GroundingDINO:开放词汇检测代表性方案
- 端侧 / API 双模式 VLM:兼顾合规离线与快速验证
标签 :边缘计算 AI视频分析 流水线编排 ONNX RKNN VLM GroundingDINO MQTT 智能安防 计算机视觉