「视频结构化」是一种 AI 落地的工程化实现,目的是把 AI 模型推理流程能够一般化。它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案。
换个角度,如果你想用摄像头来实现某些智能化监控、预警等,那么「视频结构化」可能就是你要用到的技术方案。
不过,也不一定需要自己去实现,因为各个芯片厂商可能都提供了类似的流程框架:
- 寒武纪 CNStream[1]
- NVIDIA DeepStream[2]
以上个人没用过,简单看了下,都受限于只能用厂商自家的芯片。个人经验来说,一般硬件还是需要多家可选的,自己实现一套「视频结构化」还是有必要的。
本文将介绍「视频结构化」的实现思路、技术架构,以及衍生的一些工作。
实现思路
有一个 AI 模型与一段视频,如何进行推理呢?
- 视频流:OpenCV 打开视频流,获取图像帧
- 前处理:图像 Resize 成模型输入的 Shape
- 模型推理:AI 框架进行模型推理,得到输出
- 后处理:将输出处理成期望的信息
- 例如,目标检测:解析框的位置和类别,再 NMS 筛选
以上是最基础的推理流程,完成得不错