关于VideoPipe适配不同AI硬件平台的流程

VideoPipe视频分析框架开源至今受到了很多人的好评,也有很多成功的商业落地案例。Github仓库中的Sample代码默认只支持CPU和英伟达两种硬件类型(推理部分基于OpenCV::DNN和TensorRT后端),由于某些保密原因,其他硬件平台的适配代码没有公开。随着国产信创化的需求越来越多,国产硬件也是今后AI算法部署落地的新趋势。本篇文章简要介绍如何将VideoPipe移植、适配到不同AI硬件平台,比如华为昇腾、寒武纪、瑞芯微等。

框架移植到不同硬件平台的工作主要涉及到两大块:编解码和模型推理,这两块需要对应的硬件加速。

1、VideoPipe中的编解码部分默认采用Gstreamer管道实现,由OpenCV创建和加载Gstreamer编解码插件,如果你要适配的目标硬件平台本身有对应的GStreamer硬编解码插件,那么编解码移植这块的工作比较简单,直接替换原来软编解码插件为目标平台的硬编解码插件即可。如果没有现成的硬编解码插件可用(大部分时候是这种情况),那么你要做的工作就是参考仓库中/nodes/ffio这个目录中的代码(该目录基于FFmpeg实现了收流、拆包、解码、编码、封包、推流等逻辑),基于目标硬件平台的Codec编解码SDK,去实现自己的硬编、硬解逻辑,封装成VideoPipe中的一个SRC/DES Node即可,然后基于新的SRC/DES节点去构建VideoPipe中的Pipeline。

2、VideoPipe中的模型推理部分默认采用OpenCV::DNN模块实现,它可以加载主流深度学习框架导出的模型格式(如ONNX/Tensorflow/Caffe等),而且支持英伟达平台CUDA加速。当然针对英伟达平台,仓库中还提供了基于TensorRT推理后端的参考实现。如果你要适配其他硬件平台,那么需要基于对应硬件平台的推理Runtime去实现自己的推理逻辑,比如瑞芯微的RKNN、华为的CANN等等。这块其实很简单,直接参考硬件平台厂家提供的推理Demo代码,将其封装成VideoPipe中的一个推理Node即可,然后基于新的推理节点去构建VideoPipe中的Pipeline。

除了编解码和模型推理需要适配移植之外,其他比如OSD画图、颜色格式转换、图片缩放等环节可能也需要使用目标硬件平台的硬件加速API,这块可以参考模型推理移植的步骤,基于目标硬件平台提供的加速API实现对应逻辑即可(如瑞芯微平台的RGA图像处理加速库,专门处理图像缩放裁剪、格式转换等)。整个移植适配的工作其实相当简单,前提是你对适配的目标硬件平台要足够熟悉和了解。

VideoPipe视频教程

视频教程一共包含740分钟,分“理论篇”(8章)和“实战篇”(9章)两个部分。

理论部分重点介绍视频分析相关概念和技术栈,适合新手小白学习。实战部分基于VideoPipe框架手把手教你实现“人脸识别”、“车牌识别相机”、“交通事件检测”、“以图搜图”、“车辆检索(属性查询)”、“口算检查(仿作业帮APP)”六个项目原型。

完整教程大纲点击这里。完整教程包含以下内容:

1、理论视频教程(含PPT课件,一共8章/时长约380分钟)。实战视频教程(含PPT课件,一共9章/时长约360分钟)。
2、6个配套的实战案例源码(Github上没有,可1对1指导跑通)。
3、完整的测试数据和测试模型(含全部ONNX原始格式,Github上没有,可以跨平台转换/部署)。
4、1对1答疑(限教程相关问题),相关技术咨询。

微信交流群一起讨论(加zhzhi78):

2.4 视频结构化相关应用常见架构👇

3.2 视频解码👇

3.4 目标跟踪👇

6.3 行为分析之目标跨线(闯入)👇

7.2 检索比对的前提:特征相似度👇

更多内容联系作者

大/小模型在视频分析领域中的联合应用

CV领域小模型发展

自2012年AlexNet在ImageNet大规模视觉识别挑战赛(ILSVRC)中以显著优势夺冠以来,计算机视觉(CV)领域进入了深度学习驱动的新纪元。AlexNet首次大规模使用卷积神经网络(CNN)进行图像分类,其成功标志着传统手工特征方法的终结,开启了基于数据驱动的深度模型时代。

随后几年,小模型在结构设计上不断优化,追求更高的精度与更低的计算成本。2014年,牛津大学提出的VGG网络通过堆叠3×3小卷积核实现了更深的网络结构,提升了分类性能;同年,Google提出的Inception结构引入多尺度卷积并行处理,显著提高了参数利用效率。

2015年,微软提出的ResNet(残差网络)通过“跳跃连接”解决了深层网络中的梯度消失问题,使得网络可以扩展到上百层,并在ImageNet上取得了超越人类水平的分类准确率。这一突破推动了小模型向更深、更高效的方向演进。

进入2016—2018年,轻量化模型成为研究热点。SqueezeNet证明了在保持精度的同时大幅压缩模型体积的可能性;MobileNet系列(v1/v2/v3)采用深度可分离卷积,在移动端实现了高效的图像分类和目标检测;ShuffleNet则通过通道混洗机制提升轻量模型的表达能力,广泛应用于边缘设备。

在目标检测方面,从Faster R-CNN到SSD,再到YOLO系列(尤其是YOLOv3、v4、v5),小模型逐步实现了从高精度到实时性的跨越。YOLOv5和YOLOv8等版本不仅精度高,且推理速度快,适合部署在摄像头、无人机、机器人等资源受限设备上。

分割任务中,FCN、U-Net、DeepLab系列也不断优化,出现了如BiSeNet、Fast-SCNN等专为实时语义分割设计的小模型,广泛应用于自动驾驶、工业质检等场景。

总体来看,2012—2022年间,CV领域的小模型经历了从“追求精度”到“兼顾效率”的转变,形成了分类、检测、分割三大任务下的成熟轻量级模型体系,为后续边缘智能和实时视频分析奠定了基础。

CV领域小模型瓶颈

尽管小模型在效率和部署便捷性方面表现优异,但在复杂真实场景下的视频分析任务中仍面临诸多挑战:

(1)环境敏感性强

小模型通常依赖于训练数据分布,在光照变化剧烈(如夜间、逆光、雾霾)、天气恶劣或动态背景干扰下,检测与识别性能显著下降。例如,白天表现良好的行人检测模型在夜间可能漏检率上升30%以上。

(2)泛化能力有限

小模型多为单任务专用模型(如仅做人脸识别或车辆检测),对未知类别或新出现的目标类型缺乏识别能力。例如,传统YOLO模型无法识别训练集中未包含的新物体(如新型电动车、特殊工程车辆)。

(3)上下文理解缺失

小模型多基于局部像素信息进行判断,缺乏对场景语义、时空上下文的理解。例如,在拥挤人群中难以区分“正常行走”与“异常聚集”,也无法判断某人是否在“徘徊”或“丢弃物品”。

(4)鲁棒性不足

面对遮挡、尺度变化、姿态变化等情况,小模型容易产生误检或漏检。例如,部分遮挡的目标检测准确率可能下降50%以上。

这些局限性使得仅依赖小模型难以满足高安全要求的视频分析场景(如安防监控、交通管理、工业安全)中对准确性、鲁棒性和语义理解的综合需求。

大模型(多模态)优劣势

2022年底OpenAI发布的GPT3.5迅速掀起了全球大模型浪潮,与此同时(2022年前后)以CLIP、Flamingo、BLIP、Qwen-VL、InternVL等为代表的多模态大模型迅速崛起,成为提升视觉理解能力的重要技术路径。

优势:

(1)强大的语义理解能力

大模型通过海量图文对预训练,具备跨模态对齐能力,能理解图像内容与自然语言之间的深层关联。例如,给定查询“一个穿红衣服的人正在翻越护栏”,大模型可直接从视频帧中定位并判断该行为是否存在。

(2)零样本/少样本识别能力强

得益于大规模预训练,大模型无需微调即可识别数千类未见过的对象或行为,极大提升了系统灵活性。例如,CLIP可在不重新训练的情况下识别“外卖电动车”“共享滑板车”等新兴目标。

(3)上下文与推理能力突出

大模型能结合时间序列、空间关系和语言指令进行逻辑推理。例如,判断“一个人将包留在车站后离开”是否构成可疑遗留物,需结合动作、时间、位置等多维信息。

(4)统一架构支持多任务

一个大模型可同时完成分类、检测、描述生成、问答等多种任务,减少系统复杂度。

劣势:

(1)计算资源消耗巨大

典型多模态大模型参数量达数十亿甚至上百亿,单次推理需高性能GPU(如A100/H100),功耗高、成本大,难以部署在边缘设备。

(2)推理延迟高,难以满足实时性要求

大模型前向推理耗时通常在百毫秒级以上,无法满足视频流每秒30帧的实时分析需求,尤其在高并发场景下性能瓶颈明显。

(3)训练与微调门槛极高

训练大模型需要PB级数据、千卡级算力集群和专业团队,中小企业难以独立完成。

(4)存在“幻觉”风险

大模型可能生成不符合事实的描述或误判,尤其在低质量图像或模糊场景中。

因此,尽管大模型在准确性与智能性上远超小模型,但其高资源消耗与低实时性限制了其在实际视频分析系统中的直接广泛应用。

大小模型联合应用方式

为兼顾效率与智能,“小模型+大模型”协同推理架构逐渐成为视频分析领域的主流解决方案。其核心思想是:由小模型负责高效初筛,大模型负责精准复核与语义理解,实现性能与成本的最优平衡。

常见的联合应用方式包括:

(1)两级级联推理架构

第一级:小模型快速过滤

使用轻量级模型(如YOLOv8、MobileNet-SSD)对视频流进行实时目标检测与初步分类,筛选出感兴趣区域(ROI)或异常事件候选帧。

第二级:大模型精细分析

将候选帧送入多模态大模型(如Qwen-VL、InternVL)进行深度语义解析、行为理解或自然语言问答,确认事件真实性与具体含义。

示例:在地铁监控中,小模型检测到“有人倒地”,触发告警;大模型结合上下文(是否有人搀扶、是否有打斗前兆)判断是否为真实跌倒事件,避免误报。

(2)主动学习与增量更新机制

小模型在运行中遇到置信度低或无法识别的样本时,自动提交给大模型进行标注;

大模型输出结果作为“伪标签”,用于后续小模型的在线微调或增量训练,形成闭环优化。

(3)知识蒸馏(Knowledge Distillation)

利用大模型作为“教师模型”,指导小模型(“学生模型”)学习其输出分布或中间特征表示;

在保持小模型轻量化的同时,提升其语义理解能力。

(4)任务分工协作

小模型负责结构化任务(如人脸检测、车牌识别、人数统计);

大模型负责非结构化任务(如事件描述、意图推断、开放域问答);

两者通过中间接口(如消息队列、API服务)协同工作。

这种“分工明确、各司其职”的架构既能发挥小模型的实时性优势,又能调用大模型的智能决策能力。

大小模型联合应用案例

近年来,多个行业已成功落地大小模型协同的视频分析系统,取得了显著成效。以下是几个典型案例:

✅ 案例一:智慧安防中的异常行为识别(某一线城市地铁系统)

背景:地铁站每日客流量超百万人次,需实时监测跌倒、打架、滞留、逆行等异常行为。

方案:

1. 前端摄像头部署YOLOv8 + DeepSort进行实时人体检测与轨迹跟踪;

2.当检测到异常轨迹(如突然倒地、长时间静止)时,截取前后5秒视频片段;

3.视频片段上传至云端大模型(基于Qwen-VL定制)进行语义分析:“此人是否受伤?”“是否有同伴施救?”“是否为醉酒?”

效果:

1.异常事件识别准确率从72%提升至94%;

2.误报率下降60%,显著减轻人工复核压力;

3.平均每路视频日均仅触发3~5次大模型调用,算力成本可控。

✅ 案例二:工业园区安全监管(某化工企业)

背景:需检测工人是否佩戴安全帽、是否进入禁区、是否存在违规操作。

方案:

1.边缘设备部署轻量分割模型(BiSeNet)实时检测人员与装备;

2.若检测到“未戴安全帽”或“进入高危区”,则触发告警;

3.告警帧送入本地部署的裁剪版CLIP模型进行二次验证,排除误检(如头盔反光、阴影遮挡);

4.支持自然语言查询:“今天有几个没戴安全帽的人进入了反应车间?”

效果:

1.安全违规识别准确率达96.5%;

2.实现零云依赖本地闭环处理,满足数据安全要求;

3.支持开放语义查询,提升管理人员交互体验。

✅ 案例三:零售门店顾客行为分析(连锁便利店)

背景:需分析顾客动线、热区分布、商品关注度,优化陈列。

方案:

1.小模型(MobileNet-SSD)实时检测顾客位置与动作(拿取、放下、停留);

2.每分钟汇总一次结构化数据(如某货架前停留人数);

3.每小时将汇总数据与关键帧发送至大模型(BLIP-2)生成可视化报告:“今日最受欢迎商品是矿泉水,主要购买时段为12:00–13:00”;

4.支持语音提问:“昨天下午谁偷拿了商品?” → 大模型结合轨迹与动作分析可疑行为。

效果:

1.数据分析自动化程度提升80%;

2.店长可通过自然语言快速获取洞察,决策效率提高;

3.大模型调用频率低,整体系统稳定高效。

大小模型联合应用效果

某省高速监控视频分析系统累计接入视频路数超过2万路,针对部分传统AI小模型识别难度极大并影响道路安全的突发异常事件(汽车自燃、烟雾、抛洒物、边坡塌方),在引入多模态大模型之后,整体识别效果提升明显。下面是烟雾和道路抛洒物的识别案例(2万路视频样本基数下,准确率趋近99%):

(右键->新标签打开图片查看原图)

结语

大小模型的联合应用正在重塑视频分析的技术范式。小模型以其高效、低延迟的特点承担“哨兵”角色,实现全天候实时监控;大模型则作为“大脑”,提供深层次语义理解与智能决策支持。二者协同,既避免了大模型的算力黑洞,又弥补了小模型的认知局限。

未来,随着大模型轻量化技术(如MoE架构、量化压缩)、边缘计算能力提升以及多模态推理框架的成熟,大小模型融合将更加紧密,向“端-边-云”一体化智能视频分析系统演进,广泛应用于智慧城市、自动驾驶、工业互联网等领域,真正实现“看得清、看得懂、反应快”的智能视觉感知体系。

VideoPipe中集成多模态大模型做视频(图片)分析

VideoPipe是一个用于视频分析和结构化的框架,采用 C++ 编写、依赖少、易上手。它像管道一样,其中每个节点相互独立并可自行搭配,VideoPipe可用来构建不同类型的视频分析应用,适用于视频结构化、图片搜索、人脸识别、交通/安防领域的行为分析(如交通事件检测)等场景。

VideoPipe项目仓库中已经提供了50多个集成传统AI算法模型的Sample源码,涉及到车牌识别、人脸识别、违章检测、图搜、OCR、AI变脸、目标检测、图像分类、图像分割等各个领域。在大模型逐渐成为主流的今天(多模态大模型赋能传统AI视觉算法领域中表现优秀),VideoPipe也支持大模型集成啦,这次重点介绍VideoPipe如何集成多模态大模型来完成视频(图片)分析相关任务。

快速开始
下面基于VideoPipe和阿里云qwen-vl多模态大模型实现一个简单的图片理解的功能:从本地磁盘读取图片序列(现实场景中可以从网络获取图片或视频数据),大模型根据事先定义的Prompt提示词,对图片进行识别理解,依次对图片进行标签化,然后将标签化结果叠加到图片下方,最后显示结果。

1、创建VideoPipe节点类型(事先准备好aliyun大模型服务api_key)
2、将节点串起来,组成Pipeline管道
3、启动管道(一共55行代码)

运行效果

管道运行起来之后,大模型分析节点根据事先定义好的参数(模型名称、提示词、api_key)访问大模型服务,并解析大模型输出,随后显示节点将大模型输出绘制到图片中,并在控制台实时打印。VideoPipe目前支持的大模型后端有:OpenAI协议兼容服务、Ollama/vLLM本地部署服务。

VideoPipe在高速场景中的应用效果演示

-1-

-2-

-3-

-4-

-5-

-6-

-7-

-8-

-9-

-10-

HAVE数据集

Highway All-scenario Video Events Dataset. 高速公路全场景视频事件数据集。

HAVE 数据集是专为高速公路场景下多场景、多事件分析而构建的大规模视频数据集。数据集全面覆盖多种复杂环境和交通事件,包括隧道、桥梁、外场、收费站、服务区、白天、夜晚、雨雪雾天气,以及事故、施工、拥堵、边坡、停车、逆行、烟火等典型交通事件。

数据集旨在推动智能交通、自动驾驶、交通事件检测等领域的研究与应用,为视频理解、场景识别、交通异常检测等任务提供高质量、多样化、精准标注的真实高速公路视频数据。

 “一套数据,尽览高速公路全场景与事件——HAVE,尽在掌握。”

 数据集特点

  • 完整细致的标签体系,涵盖场景、天气和交通事件;
  • 覆盖国内多种高速公路环境与复杂交通事件;
  • 适用于视频理解、场景识别、交通异常检测等多种任务。

数据集规格

  • 数据集中视频文件包含`MP4/H264`两种格式,大部分视频时长`1分钟`左右,少部分超过1分钟,以`25FPS`、`1920*1080/704*576`居多;
  • 数据集中视频文件根据类型分子目录(`part1/part2/partN`)存储,比如桥梁场景单独为一个子目录,拥堵单独为一个子目录,注意子目录与标签没有完全一一对应(一个视频可能包含多种标签);
  • 数据集中视频文件数量超过1000个(持续扩充中),覆盖国内大部分省份高速场景,其中各标签占比并不完全一致,特殊标签如`事故`、`边坡塌方`占比较小。

下面是各子目录介绍:

  • part1: 存放真实烟火相关视频,100+视频
  • part2: 存放烟火相关视频,存在部分人工模拟数据,50+视频
  • part3: 存放拥堵视频,100+视频
  • part4: 存放恶劣天气相关视频,包含雨雪雾,300+视频
  • part5: 存放施工相关视频,100+视频
  • part6: 存放逆行相关视频,100+视频
  • part7: 存放停车相关视频,100+视频
  • part8: 存放收费站场景相关视频,含180度广角画面,200+视频
  • part9: 存放疑似事故相关视频,100+视频
  • part10: 存放抛洒物相关视频,100+视频
  • part11: 存放桥梁场景相关视频,100+视频
  • part12: 存放立交互通场景相关视频,100+视频
  • part13: 存放桥梁、互通场景中发生停车的相关视频,100+视频
  • part14: 存放凌晨、傍晚时间段视频,开车灯,大部分车身轮廓可见,100+视频
  • part15: 存放主线大流量视频,车辆目标多,100+视频
  • part16: 存放服务区场景相关视频,含180度广角画面,100+视频
  • part17: 存放门架视角视频(正拍),100+视频
  • part18: 存放广场全景视角视频(180度),50+视频
  • part19: 补充中

注意:

  • 同一个视频可能包含多种标签,比如part3中的拥堵视频,可以发生在桥梁、互通等场景,并且画面中可能在下雨。part4中的恶劣天气视频,画面中可能存在停车、拥堵。part7中的停车视频,可以发生在外场、隧道,也可能是门架正拍视角。
  • 各视频场景重复率低于1%,少部分视频场景重复,但视频录制的时间不相同,画面中目标、光线完全不一样。

数据集示例

分类

ID

标签

示例

说明

时间

1

白天

白天

2

夜晚

夜晚(部分黑白图)

场景

3

外场

外场主线场景

4

隧道

隧道场景(含不同亮度)

5

桥梁

桥梁场景

6

服务区

服务区场景

7

收费站

收费站场景

8

立交互通

立交互通场景

视角

9

侧拍

侧拍视角(外场立杆12米,隧道壁4米)

10

正拍

正拍视角(外场门架8米,隧道顶6米)

天气

11

画面下雨(不区分下雨程度)

12

画面下雪(不区分下雪程度)

13

画面起雾(不区分起雾程度)

事件

14

拥堵

画面存在拥堵

15

施工

画面存 在施工

16

事故

画面存在事故(翻车/追尾)

17

边坡塌方

画面存在边坡塌方

18

烟火

画面存在烟火

19

停车

画面存在停车

20

逆行

画面存在逆行(倒车)

21

行人

画面存在行人

22

摩托车

画面存在摩托车

23

抛洒物

画面存在抛洒物(轮胎、纸箱、垃圾袋等不明确物体)

数据集应用

下面是HAVE数据集样本在VideoPipe框架中的应用效果:
 

开心快乐

虽然我跟孩子单独相处的时间比较多,但是很少谈一些比较正式严肃的话题。

上周傍晚带她去眼镜店做眼部保健回来的路上,我突然问了她一个问题:你觉得在学校上学什么最重要?

她马上回答道:安全和健康。这个回答我是提前知道的,因为她妈妈平时跟她提过很多次,她平时也一直对妈妈的话很上心。

我又追问到:除了安全和健康呢?她支支吾吾半天没有回答。

我告诉她:除了安全和健康,还有开心快乐最重要,你可以学习不好,也可以表现不好被老师批评,哪怕是没有养成好习惯导致眼睛过早近视,这些与开心快乐比较起来,都不那么重要了。

她马上补充道:对对,考试最重要,因为只要我每次考100分,我就很开心快乐!

我跟她说:能考100分固然是好,但是在学校开心快乐的事情远不止考试得100分,你可以为交到好朋友而开心快乐,可以与其他人分享小秘密而快乐,甚至下课后能在操场尽情奔跑而开心快乐。

她好像听明白似的连说知道了知道了。

开心快乐是人生长跑过程中的无价之宝,学业、工作、是否婚育这些都要靠边站。因为,

很多事情其实根本没有意义。

吃喝玩乐不是虚度光阴,

吃苦耐劳也不一定值得歌颂。

生命的本质是一场历程,

人生需要不断体验,爱你所爱,

不一定要做世俗认为有意义的事,

如果你想发呆,看日落数星星都有意义。

不断尝试、感受、收获,然后放下,

就像在吃汉堡比赛里,输赢并不重要,

因为怎么样你都能吃到汉堡。

有些道理,有人明白得早,而有的人却明白得太晚。