如果你管过超过二十路摄像头的视频监控项目,大概会有同一种感觉:画面里什么都有,但又什么都“没说”。人和车在镜头下来来去去,系统只负责把画面存成录像;真要等出了事,只能靠人去一帧一帧回放。我在给一套模拟项目X做技术改造时,把 SkeyeVSS 和 GaaS 组合到同一套体系里,试图把传统视频监控改造成会感知、能判断、可行动的“智能体员工”。这篇文章不是产品手册,而是把我踩过的坑、验证过的路径,以及从视频流到动作闭环的完整思路整理出来,给正在做同类改造的开发者、集成商和运维同学做个参考。
先把我理解的两个核心组件讲清楚。SkeyeVSS 在我眼里的价值,是解决视频接入、转码、录像和事件输出,把分散的摄像头变成统一的数据源;GaaS 更偏算力和模型服务,GPU 资源按需申请,检测、识别、文本生成都变成可以调用的接口。两者合起来,监控系统才第一次有机会从“存下来给人看”变成“看懂了替人干”。
这类改造成熟了吗?从技术栈看是成熟的,但从落地节奏看,还需要一整套可复制的路径。下面按思路、选型、实操、排障四个层面展开。
1. 传统监控与智能体员工之间,隔着三层能力
1.1 只“记录”不“理解”:传统视频监控的四个边界
传统视频监控的核心能力,归纳起来就是采集、存储、回放、实时查看。再加一点移动侦测或区域入侵告警。这套体系稳定运行了很多年,但把它当成“智能体的感知层”来用,会发现在四个维度上存在明显边界。
第一个边界是内容理解。摄像头记录的是像素,系统不知道画面里是人是车、是货物还是杂物,更不知道某个物体已经停留了多久。普通告警只能告诉你“这个区域有变化”,不能告诉你“变化的是什么、是否违规、该由谁处理”。
第二个边界是跨镜头关联。单路摄像头只能看到局部。一个人从 A 区走到 B 区,如果中间换了几路相机,传统平台很难自动把轨迹串起来。要做跨镜头的行为分析,靠传统录像检索几乎做不到。
第三个边界是处置能力。传统监控发现异常后,最多在屏幕上弹个窗、发条告警。打电话给谁、派单给谁、联动什么设备、有没有人处理、处理结果如何,这些都不在系统能力范围内。
第四个边界是反馈闭环。没有结果回流,系统就不知道自己的判断是对是错。发现十次“异常”,可能八次是影子、飞虫、车灯反光,系统下一次还会继续报。没有人反馈、没有数据回流,AI 模型也好、规则引擎也好,都很难迭代优化。
这些边界不是某一个厂商的问题,而是传统监控的定位决定的。它天生是“事后取证工具”,不是“事中处置工具”。要做智能体员工,第一件事就是在认知上把这些边界划清楚。
1.2 智能体员工不是聊天机器人,而是“感知-认知-行动”的闭环
这两年智能体、AI Agent 的概念很多,很多朋友一听到“智能体员工”,会下意识想到一个能聊天的窗口。但放到视频监控场景里,智能体员工的核心不是对话,而是闭环:感知环境变化,形成判断,驱动动作,再收集反馈。
举个具体例子。消防通道被杂物占用,这是园区、厂房、商场里最常见的场景。传统规则怎么做?在画面上画一个区域,区域内像素变化超过阈值就告警。它能告诉你“有东西进来了”,但大概率分不清进来的是人、推车,还是光影变化。
换成智能体员工的思路是这样的:感知层先通过目标检测识别出“物体”并分类,给出“堆物”的置信度;认知层结合所在区域、持续时长、时间上下文,生成一条综合结论,比如“A 区东门消防通道出现疑似堆物,已持续约 12 分钟,风险等级中高”;行动层自动向责任岗位推送消息,生成一条整改工单,通知附近值班人员到场确认,并在处理完成后把结果写回系统。
这里最关键的不是某一个模型有多聪明,而是“感知-认知-行动”三段之间有没有顺畅的数据管道。很多项目死在中间:摄像头检测出来了,但事件只存在平台里,没有推给业务系统;业务系统想处理,又不知道调用哪个 AI 接口。SkeyeVSS 这类视频底座解决前半段,GaaS 这类模型服务解决中间和后半段。
1.3 技术条件成熟,能力栈可以拼装了
几年前想实现上面这套逻辑,要自己训练模型、自己写推理服务、自己对接几十种摄像头 SDK,项目周期按年算。现在条件发生了几个明显变化。
视频接入标准化程度提高了。GB/T 28181 国标在大量场景强制落地,RTSP、ONVIF、WebRTC 等协议的兼容性也比过去好。SkeyeVSS 这类平台把摄像头接入、流媒体转码、录像管理、事件回调做成了通用能力,设备碎片化的问题在底座层就被挡住了。
模型能力服务化程度提高了。GaaS 把 GPU 资源、模型推理、接口封装成按需调用的服务,不再需要每个项目单独买显卡、配环境、维护 CUDA 版本。一个目标检测接口、一个视频理解接口、一个文本生成接口,通过 HTTP 或消息队列就能接进业务流程。
工作流和低代码工具成熟了。一个事件进来,走什么分支、通知谁、超时怎么升级、要不要人工确认,这些逻辑可以用工作流引擎编排起来,而不是每次改逻辑都改代码重发布。
这三条变化叠加到一起,意味着智能体员工不再是巨头才能做的项目,而是一个集成商团队用现有平台拼接就能完成的工程。难点也从“能不能做出来”变成了“怎么做得稳定、省钱、可维护”。
2. 用SkeyeVSS搭视频底座:先把“眼睛”的接口统一
2.1 多协议接入,消除设备“方言”
摄像头品牌、型号、出厂协议各不相同,项目里经常同时存在国标设备、局域网枪机、NVR、互联网摄像机。如果每路设备都用自己的 SDK 单独对接,后面做 AI、做联动、做统一管理会非常痛苦。SkeyeVSS 在体系里的第一个作用,是当“翻译层”,把各种协议的“方言”转成统一的标准流。
常见接入方式大致有这些:
| 协议 | 典型场景 | 优势 | 容易忽略的坑 |
|---|---|---|---|
| GB/T 28181 | 国标平台、运营商、公安/园区已建系统 | 注册式接入,设备主动上线,适合跨网互通 | SIP 端口和国标 ID 配置容易错;设备注册后还要在平台侧做通道关联 |
| RTSP / RTMP | 局域网内 IPC、NVR、推流服务器 | 简单直接,VLC 都能拉流验证 | 公网环境下端口暴露有风险;弱网下丢包明显 |
| ONVIF | 多种厂商网络摄像机 | 协议公开,能拿设备能力集和设备信息 | 部分设备实现不完整,发现、鉴权可能失败 |
| WebRTC | 浏览器低延迟实时预览 | 无需装插件,延迟可到秒级以内 | 需要信令服务和 TURN 开销;H.265 支持依赖平台转码 |
| 私有 SDK | 特定厂商 NB 设备 | 功能全,能调设备特有能力 | 强绑定厂商,维护成本高,不建议作为主接入方式 |
我的经验是:接入层不要贪多求全,优先把 GB28181 和 RTSP 打通,这两个协议能覆盖绝大多数存量设备。国标设备走 GB28181,老旧的、非标的局域网设备走 RTSP 拉流,基本够用了。
2.2 转码、录像、按需拉流,数据调度不能省
视频接入之后,不是简单地把流放出来就行。监控体系里常有三个被低估的功能:转码、录像策略、按需拉流。
先说转码。很多摄像头默认输出 H.265 编码,画质是高,但浏览器直接播放困难,第三方系统解码成本也高。SkeyeVSS 在中间做一层转码,把 H.265 转成 H.264,甚至按需要输出低分辨率子码流,实时预览和 AI 抽帧就都能跑得动。调试阶段我强烈建议先用子码流,分辨率低一点没关系,先把链路跑通,再切主码流验证画质。
录像策略也很关键。平台一般支持计划录像、事件录像、按需录像。传统做法是 7×24 小时全量录像,存储成本高,AI 分析时还要从头到尾扫数据。更好的做法是:日常只录低码率的长周期录像;当 AI 检测到可疑事件时,自动把对应时间段的高清流录一份,并打上事件标签。这样既能追溯细节,又不会让存储和算力一起“裸奔”。
按需拉流是容易被忽略的优化点。摄像头和平台之间如果一直保持长连接,一路设备实时占一路带宽,规模一上去马上撑不住。更合理的方式是:平台平时与设备保持轻量注册状态,只有客户端预览、AI 分析、录像任务需要时才临时拉流;任务结束就断流。事件触发式地拉高清流,也是智能体系统常见的做法。
2.3 让事件“开口说话”:回调、消息队列与结构化输出
视频底座只有把“画面”转化成“事件”,下游的 GaaS 和业务系统才能消费。SkeyeVSS 这类平台通常会提供事件回调能力,把接入状态、录像完成、移动侦测、AI 检测等结构化事件推给外部系统。
回调的常见通道有三种:HTTP Webhook、MQTT、Kafka。小项目用 Webhook 最简单,配置一个接收地址就行;并发高、需要削峰或保证可靠投递时,建议上 MQTT 或 Kafka。典型的事件结构长这样:
{ "event_id": "evt_1001", "source": "gb28181/34020000001320000001", "channel_name": "A区东门", "event_type": "ai_detection", "detect_type": "fire_exit_occupied", "confidence": 0.92, "bbox": [122, 34, 180, 90], "timestamp": 1735718400, "snapshot_url": "http://media.internal:18080/snap/1001.jpg" }注意字段设计:event_id 是全局唯一标识,下游必须靠它做去重;channel_name、source 用来定位设备位置;confidence、bbox 是 AI 检测的原始结果;snapshot_url 是事件截图地址,方便人工复核和大模型做多模态理解。
把这件小事做扎实,后面的消息链路、智能判断、动作派单才能跑得顺畅。很多项目后面出问题,回头看根子都在这里:事件字段不统一、没有唯一 ID、回调地址没做幂等,导致下游一接入就乱。
3. 用GaaS给系统配“大脑”:算力与服务化选型
3.1 GaaS的本质:GPU资源池加上模型API
GaaS这个名字在不同语境下解释略有不同,我把标题里这个组合理解为“模型推理即服务”,底层是 GPU 资源池,上层封装各类模型推理接口。你调用它,不是在“租一张显卡”,而是在“调用一个能力”。
打个比方,以前每个项目都要自己建厨房:买燃气灶、请厨师、囤食材,厨房还得有人维护。GaaS 相当于中央厨房:你打电话下单,它把做好的菜送过来,按份数付费。你不需要关心后厨用的是哪口锅、哪个灶,只需要关心菜品是否满足需求。
对视频监控智能体改造来说,GaaS 主要解决三件事:第一,算力弹性,检测任务波峰波谷明显,白天事件多、晚上事件少,按需弹性扩缩容比买固定服务器划算;第二,模型服务化,目标检测、车牌识别、OCR、行为分析、文本生成都是标准 API,减少自研模型服务的维护成本;第三,降低团队门槛,不需要每个项目都养算法工程师。
3.2 大小模型协同:边缘做感知,云端做认知
很多朋友上来就问“用什么大模型”,我的建议是别把大模型当成万能钥匙。视频监控对实时性要求高,视频数据量又大,全部丢给云端大模型既不经济,延迟也受不了。更稳妥的做法是大小模型协同。
| 任务 | 合适的模型 | 建议部署位置 | 典型延迟 |
|---|---|---|---|
| 目标检测、人/车/物分类、区域入侵 | YOLO 类轻量模型 | 边缘盒子、就近 GPU | 几十毫秒到几百毫秒 |
| 行为识别、场景理解、异常事件识别 | 视频理解模型 | 本地高配 GPU 或 GaaS 近端 | 1 秒左右 |
| 文本生成、工单描述、处置建议 | LLM 大语言模型 | GaaS 云端 | 1 到 5 秒 |
推荐的数据流是“小模型先筛,大模型后判”。摄像头画面先在边缘或本地 GPU 上做高频检测,一旦检测到可疑目标,才把截图和目标信息发给 GaaS 上的大模型做语义理解,生成处置建议。这样既保证实时告警快,又让大模型只在关键事件上发挥作用,控制算力成本。
举个例子,消防通道占用场景:边缘小模型每秒抽 1 帧做检测,识别到占用物并确认 3 帧以上,才触发事件;然后系统把目标框、通道名称、持续时长、截图发给 GaaS 大模型,让它判断风险等级、生成给保安中控的提示文案和一个建议动作清单。整个过程小模型在本地瞬间完成,大模型调用只占最后一步。
3.3 延迟、成本与隐私的权衡
选型不能只看单项指标,延迟、成本、隐私三者要放在业务场景里一起权衡。
延迟要求高、网络不稳定的场景,比如园区周界、关键机房、危化品区域,建议把检测模型放在本地或边缘,由 SkeyeVSS 所在的近端部署完成。这类场景追求的不是“能识别”而是“识别后的处置不能断网”。
成本敏感的场景,比如连锁门店、学校、社区,摄像头数量大但单体预算低,可以用抽帧+事件触发的方式,减少无效计算。不是每路每秒都要做检测,可以先按 0.5 秒或 1 秒一帧做预筛选,触发后再放大到高清帧详细分析。
隐私敏感的场景,比如办公区、宿舍、医院走廊,要尽量保证原始图像不流出本地网络。GaaS 调用时可以只传目标框、类型、置信度这类结构化信息,不传原图;如果确实需要多模态分析,也要对截图做脱敏处理,比如人脸打码、敏感区域裁剪之后再上传。
3.4 算力估算不能拍脑袋,压测数据说话
做方案汇报时经常被问“这个项目要多少算力”。我踩过最大的坑就是凭经验估算,结果上线后 GPU 满载,告警延迟从几百毫秒涨到几秒。
比较可靠的估算方法是先想清楚抽样策略。假设一路摄像头按 1 帧/秒做检测,一天 86400 秒;但实际上可以分成“快测”和“精测”。快测用最小模型跑低分辨率帧,大部分画面什么都不做;只有命中预置规则时,才做高质量二次识别。最终真正进入模型分析的帧,可能不到全天帧数的 1%。
无论算力怎么估算,都建议保留 20% 到 30% 冗余,并且在上线前用真实录像回放做压测。录一段现场 30 分钟的视频,循环回放给平台处理,观察 CPU/GPU 占用、事件延迟、告警数量这三个指标。数据比任何理论估算都可靠。
4. 从感知到行动的实操路线:事件管道怎么搭
4.1 五层架构,先看清数据往哪流
要把“智能体员工”落地,我习惯把系统拆成五层,每一层职责单一,层与层之间用标准接口交互。
感知层:摄像头、NVR、门禁等设备,负责采集画面和信号。这层最关键的是点位规划,镜头朝向、覆盖区域、光线条件直接决定上层识别效果。
接入层:SkeyeVSS 统一拉流、转码、录像、事件回调。它把“有哪些设备、流在哪里、事件长什么样”封装成标准化输出,下游不需要关心设备品牌。
认知层:GaaS 上的检测、识别、语义理解模型,负责把事件变成有意义的判断,比如“这是堆物”“这是人员聚集”“这是消防通道占用且持续 12 分钟”。
决策层:规则引擎或 Agent 编排,接收认知层的结论,做风险分级、责任人匹配、处置策略选择。这里可以把大模型生成的能力和硬规则结合起来:硬规则保证底线,大模型保证灵活性。
行动与反馈层:把决策转成动作,包括即时通讯告警、短信通知、工单生成、门禁联动、声光报警;处置结果再回流到系统,成为下一次判断的依据。
五层之间核心的数据主线只有一条:结构化事件从接入层流向认知层,再从认知层流向决策层,最后变成动作和反馈。主线不被打通,任何单点做得多漂亮都没用。
4.2 关键消息链路:回调确认、队列削峰、幂等去重
这一节是全文里最值得花时间的地方。事件从 SkeyeVSS 出来之后,千万不能直接同步调用 GaaS 接口,中间至少要做三件事:确认、削峰、去重。
先说确认。Webhook 接收端处理完事件后,必须给平台返回一个明确的状态码,否则平台可能会判定投递失败并多次重试。接收端要尽量快收快写,把事件先落库或推到队列,再异步做 AI 调用,不要让平台等待模型推理结果。
再说削峰。中午、上下班高峰期、夜间报警时段,事件量波动很大。如果业务系统直接去扛瞬时高峰,很容易超时、溢出。中间加一个 MQTT 或 Kafka,让事件先以高吞吐进队列,消费者按自身能力慢慢处理,系统稳定性会好很多。
最后是去重。平台可能因网络问题重投事件,AI 服务也可能因超时重试,下游必须做幂等。简单起见,可以用“通道 + 事件类型 + 时间桶”生成一个幂等键,处理前查数据库,存在就直接跳过。代码示意如下:
import hashlib import json import requests from flask import Flask, request app = Flask(__name__) def make_id(event): # 以 通道+类型+分钟 为幂等键,避免同一事件在短时间窗口内重复处理 minute_bucket = int(event["timestamp"]) // 60 raw = f"{event['channel_name']}_{event['event_type']}_{minute_bucket}" return hashlib.md5(raw.encode()).hexdigest() @app.route("/webhook/skeyeVSS", methods=["POST"]) def handle_event(): event = request.get_json() event_id = make_id(event) # 这里应检查数据库中是否已存在 event_id,存在则直接返回 payload = { "event": event, "scene": "消防通道占用告警", "instruction": "请根据事件生成处置建议,包含位置、风险等级与建议动作。" } # 调用 GaaS 上的模型接口,这里用通用 chat 接口举例 r = requests.post( "http://gaas-gateway.internal/v1/chat/completions", json={ "model": "scene-assistant", "messages": [{"role": "user", "content": json.dumps(payload, ensure_ascii=False)}], "max_tokens": 200 }, timeout=10 ) result = r.json()["choices"][0]["message"]["content"] # 把 result 写入工单/即时通讯/邮件,并记录 event_id 防止重入 return {"code": 0, "event_id": event_id, "suggestion": result}这段代码不是生产级实现,但把最重要的一步演示出来了:接收事件、生成幂等键、调用 GaaS、返回结果。实际项目里还要加鉴权、超时重试、异常告警和落库逻辑。
4.3 动作层设计:从“通知”到闭环,给员工发“工作内容”
动作层是智能体员工和传统监控差异最明显的地方。传统系统最多弹个窗,智能体系统要能把消息变成“工作内容”。
动作类型可以逐步叠加。第一阶段只做消息通知,把 AI 结论推给值班人员;第二阶段生成工单,把位置、风险、建议动作、截图一起带上,处理人领单后要回填结果;第三阶段做设备联动,比如识别到通道占用后自动语音播报,识别到夜间翻越周界时自动打开探照灯并锁紧出入口。
决策层还要处理“升级”逻辑。举个例子:一条高风险事件推给值班员后,2 分钟没人确认,自动通知值班负责人;10 分钟没人处理,升级到安全主管,并在工作流里留下完整记录。这一步用硬编码规则就能实现,不一定要大模型,但它是闭环里必不可少的一环。
另一个容易被忽略的点是人工反馈。每次事件被处置后,让值班人员标记“属实/误报/已处理”,这些标签回流到样本集,可以定期用于模型微调或规则优化。没有反馈的智能体,只会越跑越偏。
4.4 最小可复制路径:先跑三个环节,再谈规模化
做第一个试点项目,我强烈不建议一步到位。先按最小闭环跑通,再逐步加东西,节奏会更稳。
第一步,先接 3 到 5 路摄像头到 SkeyeVSS,确认 GB28181 或 RTSP 拉流成功,能在网页上实时预览、回放录像。这一步主要是验证网络、端口、编码格式这些基础条件。
第二步,把 SkeyeVSS 的事件回调指向一个临时接收端,打印收到的 JSON,确认事件里有哪些字段、重复投递规律、延迟大概多少。把事件结构固定下来,向后端就不再改了。
第三步,接入 GaaS 的检测或文本生成接口,先不用接真实业务,拿一段历史录像截图离线调用,验证模型的识别结果和文本建议是否符合现场业务。
第四步,选一个最痛、最好定义规则的场景,比如消防通道占用,把“识别结果 + 建议文本 + 即时通讯通知 + 人工确认”整条链路串起来,跑两到四周,收集误报率、确认率和平均响应时间。
第五步,再根据试点数据扩容点位,添加更多事件类型和联动动作。没有前面四步的数据,直接规模化大概率会把问题也放大。
5. 接入、识别、链路三块容易翻车的现场
5.1 接入遇坑:先从H.264子码流开始
接入阶段最常见的坑有两个:GB28181 注册不上,以及拉流画面黑屏。
GB28181 注册不上,大多数是 SIP 端口和国标 ID 配置不对。设备国标 ID 通常由中心编码、行业编码、类型编码和设备序号组成,少一位、多一位都注册不上。排查时先抓 SIP 信令,看设备有没有发给平台的 REGISTER 请求,没有就是网络不通,有了但响应异常就重点检查端口映射和 ID 规则。
画面黑屏或卡顿,H.265 高码率主码流是常见原因。平台转码能力不足,或者浏览器不支持 H.265,就会黑屏或一直转圈。调试阶段先切到 H.264 子码流,把分辨率降到 704×576 或 1280×720,链路通了再调画质。这样能把“流传输问题”和“编码兼容问题”分开定位,节省大量时间。
还有一个小细节:设备时间。部分摄像头的告警、录像时间戳和平台不一致,会导致事件回调里的 timestamp 错乱,影响后端去重和时序分析。上线前统一做一次 NTP 校时,能把很多诡异问题消弭在源头。
5.2 识别不准:阈值、抽帧、ROI一起调
识别不准是智能体项目里被吐槽最多的问题。很多团队把模型接到系统里就开始跑,结果误报率 60%,没人愿意用。
误报往往不是模型的问题,而是使用方式的问题。一个是单帧判断太激进,飞虫、车灯、光影都可能被当成目标。解决方法是做连续帧确认,比如同一目标连续 3 到 5 帧都命中,才触发事件。另一个是没做 ROI 区域裁剪,画面里本来就有人行通道,系统把所有路过的人都报成“人员闯入”,那肯定炸锅。要先把规则作用的区域画出来,区域外的一律不检测。
抽帧策略也直接影响效果。抽帧太密,算力成本高;抽帧太稀,快速移动的目标可能拖影或丢失。一个好的起点是:低分辨率快测 1 帧/秒,命中后切高清帧复核 5 帧/秒。具体参数根据现场活动频率调,人流密集的通道要快一些,夜间空旷园区可以慢一些。
如果通用模型对现场特殊目标识别不好,比如特定的堆垛、特定的车辆款式,不要轻易否定模型。先积累一批现场截图,打标签后交回 GaaS 做微调,或者用提示词让大模型辅助分类,通常都能显著改善。
5.3 消息链路:丢事件和重复事件同样致命
很多项目 AI 识别已经不错了,但业务系统收到的消息要么丢、要么重,最后值班人员根本不信任这套系统。
丢事件的根因,往往是 Webhook 接收端没有做最终确认,平台重试了几次都没成功,事件就被丢弃;或者接收端在处理 AI 调用时阻塞太久,超时后没有补偿机制。建议把流程拆成两步:接收即落库,落库成功后立即返回成功;真正调用 GaaS 的逻辑放到后台任务或队列里异步执行。
重复事件通常是因为平台重投、消费端重启后重新消费、或者幂等键设计太粗。用“通道 + 事件类型 + 时间桶”去重,能挡掉大部分重复;再用数据库的唯一索引兜底,双保险。
消息链路要有监控。每小时的入站事件量、失败量、幂等命中量、GaaS 调用耗时这五个指标,建议做成一个简单看板。没有这些指标,出了问题只能被动救火。
5.4 问题速查表
| 现象 | 常见原因 | 处理建议 |
|---|---|---|
| GB28181 注册不上 | SIP 端口不通、国标 ID 配置错误 | 抓 SIP 信令,查端口与 ID,先确认网络层通不通 |
| 拉流黑屏/转圈 | H.265 编码、主码流带宽不足 | 先切 H.264 子码流,链路通了再调画质 |
| 告警误报率高 | 阈值太低、未做连续帧确认、ROI 未裁剪 | 调置信度阈值,连续多帧确认,画 ROI 排除干扰区 |
| 事件丢失 | Webhook 未返回成功、接收端阻塞 | 接收即落库,异步处理,加消息队列并开启重试 |
| 事件重复 | 平台重投、消费端无幂等 | 用 event_id 或时间桶幂等键,数据库唯一索引兜底 |
| GaaS 响应慢 | 同步调用阻塞、未做 batch | 改异步调用,按场景设计批处理;压测后扩容 |
| 存储成本高 | 全量高清录像+长期保留 | 启用事件录像、低码率常态录像、按需拉流 |
6. 一点经验
把视频监控做成智能体员工,我最大的体会是:技术栈没有想象中复杂,复杂的是把业务规则翻译成代码。最开始我花了很多时间调模型,后来发现真正卡住项目的,是“消防通道占用”到底由谁来认定、误报谁来负责、消息没送达谁兜底这些看似琐碎的问题。
做这类改造,建议先不要贪多。先拿三五路摄像头,把 SkeyeVSS 的事件回调、GaaS 的推理接口、动作层的一条通知链路整体跑通,再去扩点位、加模型。画面能不能存不重要,重要的是画面里的信息能不能“流”到该去的地方。只要这条数据管道是通的,今天加一个新检测模型,明天加一个自动工单,都只是在这个管道上再接一个节点而已。