摄像头系统的"第二层":当视频 AI 不再只读单帧

电子说

1.4w人已加入

描述

▌ 引言

对嵌入式和 IoT 工程师来说,摄像头接入 AI 的路径已经相当成熟:IPC 输出 RTSP 流,边缘盒子跑推理,检测结果上传云端或触发本地动作。YOLOv8 轻量化版本在 RK3588、昇腾 310 等芯片上的部署,已经有大量工程实践可以参考。
但在部署层之上,有一个问题逐渐变得突出:推理结果的"颗粒度"与实际应用需求之间存在错配。
模型识别出"一个人在用手机"——这是感知结果。但业务系统需要的是"这名员工在岗位上持续使用手机超过 X 分钟"——这是判断结论。本文从硬件感知到系统逻辑,梳理这一层的设计思路。

▌ 一、感知层现状:端侧推理已相当成熟

硬件侧:
• 边缘 AI 芯片:瑞芯微 RK3588、海思 Hi3516/Hi3519、地平线 J5/J6、昇腾 310B 等
• 典型算力:1 ~ 10 TOPS INT8,满足 1080P 视频实时检测需求
• 接入方式:RTSP/RTMP 拉流,GigE 有线或 WiFi 无线,POE 供电

软件侧:
• 推理框架:RKNN、MNN、OpenVINO、TensorRT(按芯片选择)
• 检测模型:YOLOv8/v9 轻量化版本,端侧部署帧率一般在 15 ~ 30 FPS
• 跟踪算法:ByteTrack、OC-SORT,用于目标 ID 持久化

这一层能稳定输出:目标框、类别标签、置信度、目标 ID(跟踪情况下)。但这些输出是逐帧结构化数据,缺乏时序上下文。

▌ 二、中间层缺失:从特征流到事件结论的鸿沟

设想一个具体场景:需要判断后厨员工是否在处理食材前完整执行了洗手流程。
流程定义为:
1. 员工接触原材料(摄像头 A 覆盖区域)
2. 员工移动至洗手台(摄像头 B 覆盖区域)
3. 洗手动作持续时间 ≥ 20 秒
4. 员工返回操作台(摄像头 A)

如果只依赖端侧推理输出,系统接收到的是:

如果只依赖端侧推理输出,系统接收到的是:
t=00:01:23  cam_A  person_07  action: touching_ingredients  conf=0.91
t=00:01:47  cam_B  person_?   action: handwashing            conf=0.83
t=00:02:09  cam_A  person_07  action: food_prep              conf=0.88

要从这三条离散记录中判断"洗手流程合规",系统需要解决:
• cam_B 中的 person_? 是否与 cam_A 的 person_07 是同一个人?(跨摄像头 ReID)
• 洗手动作是否持续了足够时长?(时序状态持久化)
• 整个流程的时间间隔是否在合理范围内?(序列时间约束)
这些处理,全部发生在感知层之上、应用层之下的中间层,而这一层目前在很多系统设计中处于空白状态。

▌ 三、中间层的关键技术模块

1. 目标 ReID(跨摄像头重识别)

原理上是基于外观特征向量(ResNet/ViT 提取)的相似度匹配,但实际工程中需要应对:
• 光线差异(不同区域摄像头的曝光条件不同)
• 服装相似(同一品牌制服的员工高度相似)
• 遮挡与角度变化
工程上通常结合空间拓扑约束来降低误匹配率:只有摄像头网络中空间相邻的点位,才对目标 ReID 进行匹配尝试。

2.行为状态机

用于对单一目标的跨帧行为状态进行管理,典型设计如下:
IDLE ──[首次检测到目标行为]──> TRIGGERED
TRIGGERED ──[持续N帧确认]──> CONFIRMED
TRIGGERED ──[行为消失]──> IDLE
CONFIRMED ──[超过时长阈值]──> EVENT_GENERATED
CONFIRMED ──[行为消失]──> IDLE(不生成事件)

3.序列流程验证器

本质上是一个带时间约束的有限状态自动机(FSA):
• 定义动作节点序列:[A, B, C]
• 为相邻节点间定义时间窗口约束:A→B ≤ 30s,B→C ≤ 120s
• 状态在收到对应事件信号时迁移,超时则回到初始状态或标记为流程中断
3.4 规则配置层
业务规则以结构化配置描述,而非硬编码,规则变更只需修改配置文件,无需重新训练或部署模型。

▌ 四、端侧 vs 边缘服务器的分工建议

处理模块 推荐部署位置 原因
目标检测 + 跟踪 端侧 AI 芯片 计算密集,本地处理降低带宽
行为分类 端侧 AI 芯片 对延迟敏感,本地处理更快
跨摄像头 ReID 边缘服务器 需要多摄像头数据汇聚
状态机 + 规则引擎 边缘服务器 计算量小,但需要状态持久化
事件存储 + 审计 云端 持久化存储,支持历史查询

▌ 五、开发者注意事项

时钟同步: 多摄像头跨帧分析的基础是时间戳可信。边缘设备需要接入 NTP 同步,时钟偏差控制在 100ms 以内,否则跨摄像头的时序逻辑会出现系统性误差。
帧采样策略: 不需要对每帧都运行全量推理。对于持续性行为判断,1 ~ 5 FPS 的关键帧采样通常足够,结合运动检测进行自适应采样可进一步降低计算开销。
特征流格式标准化: 中间层输入的特征流格式要尽早标准化(推荐 Protobuf 或 JSON Schema),这是规则引擎与感知层解耦的基础。
状态持久化: 边缘服务器需要对目标状态进行持久化(SQLite 或 Redis),避免因重启丢失跨时段的行为状态记录。

▌ 小结

视频 AI 系统从"端侧推理"到"事件判定",需要在感知层之上构建一个完整的中间分析层,核心模块包括:跨摄像头 ReID、行为状态机、序列流程验证器和规则配置引擎。
这一层的工程挑战主要集中在跨摄像头目标关联的准确性、实时系统的延迟控制和规则描述的表达能力上。

感兴趣的朋友欢迎在评论区讨论相关的工程实践经验。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分