VideoPipe可视化视频结构化框架更新总结(2022-12-9)
项目地址:https://github.com/sherlockchou86/video_pipe_c
往期文章:https://www.cnblogs.com/xiaozhi_5638/p/16857995.html
11月有3个更新,有兴趣的扫码加群交流。
支持推理结果序列化(vp_message_broker插件)
基于creal第三方库,对pipeline中的推理结果进行序列化输出。 序列化格式支持json和xml,输出位置支持Console、File、Socket(UDP)以及Kafka。

针对普通检测目标,序列化属性包括:
1 通道号channel_index
2 帧序列号frame_index
3 原始帧宽度width
4 原始帧高度height
5 原始帧fps
6 目标集合 [
7 目标一级推理检测ID primary_class_id
8 目标一级推理标签 primary_label
9 目标一级推理置信度 primary_score
10 目标位置x
11 目标位置y
12 目标宽度width
13 目标高度height
14 目标二级推理分类ID集合 secondary_class_ids
15 目标二级推理分类标签集合 secondary_labels
16 目标二级推理分类置信度集合 secondary_scores
17 目标包含子目标 sub_targets集合 [
18 子目标位置x
19 子目标位置y
20 子目标宽度width
21 子目标高度height
22 子目标检测ID class_id
23 子目标检测标签 label
24 子目标检测置信度 score
25 子目标附加数据 attachments
26 ]
27 目标特征 embeddings
28 目标跟踪ID track_id
29 ]
适配jetson嵌入式设备(或其他arm64平台)
代码在jetson tx2上调通运行,推理后端支持opencv::dnn 和 tenssorrt(其他硬件平台使用对应的推理SDK),下面是代码运行在jetson tx2上的效果:

新增15个sample说明
1-1-1_sample ↓
1个视频源输入,1种推理任务,1个输出。

1-1-N_sample ↓
1个视频源输入,1种推理任务,2个输出。

1-N-N_sample ↓
1个视频源输入,然后拆分成2个分支、2种推理任务,最后各自1个输出。

N-1-N_sample ↓
2个视频源输入,然后合并成1个分支、1种推理任务,最后拆开各自有多个输出。

N_N_sample ↓
各个pipeline独立运行互不干扰,每个pipe都是1-1-1结构(也可以是其他结构)。

paddle_infer_sample ↓
基于paddle推理后端的ocr文字识别。

trt_infer_sample ↓
基于tenssorrt推理后端的车辆检测。

src_des_sample ↓
演示SRC节点和DES节点如何工作,3种SRC节点(FILE,RTSP,UDP)和3种DES节点(SCREEN,RTMP,FAKE)。

face_tracking_sample ↓
演示基于vp_tracker_node的人脸跟踪。

vehicle_tracking_sample ↓
演示基于vp_tracker_node的车辆跟踪。

message_broker_sample ↓
演示推理结果序列化(xml->socket)

message_broker_sample2 ↓
演示推理结果序列化(json->console)

interaction_with_pipe_sample ↓
演示如何控制pipelien,比如开始、暂停某个通道。
record_sample ↓
演示录像功能。
vp_logger_sample ↓
演示日志接口使用。
VideoPipe可视化视频结构化框架更新总结(2022-12-9)的更多相关文章
- VideoPipe可视化视频结构化框架开源了!
完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...
- VideoPipe可视化视频结构化框架新增功能详解(2022-11-4)
VideoPipe从国庆节上线源代码到现在经历过了一个月时间,期间吸引了若干小伙伴的参与,现将本阶段新增内容总结如下,有兴趣的朋友可以加微信拉群交流. 项目地址:https://github.com/ ...
- VP视频结构化框架
完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...
- 视频结构化 AI 推理流程
「视频结构化」是一种 AI 落地的工程化实现,目的是把 AI 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能 ...
- [AI开发]基于DeepStream的视频结构化解决方案
视频结构化的定义 利用深度学习技术实时分析视频中有价值的内容,并输出结构化数据.相比数据库中每条结构化数据记录,视频.图片.音频等属于非结构化数据,计算机程序不能直接识别非结构化数据,因此需要先将这些 ...
- [AI开发]视频结构化类应用的局限性
算法不是通用的,基于深度学习的应用系统不但做不到通用,即使对于同一类业务场景,还需要为每个场景做定制.特殊处理,这样才能有可能到达实用标准.这种局限性在计算机视觉领域的应用中表现得尤其突出,本文介绍基 ...
- [AI开发]零代码分析视频结构化类应用结构设计
视频结构化类应用涉及到的技术栈比较多,而且每种技术入门门槛都较高,比如视频接入存储.编解码.深度学习推理.rtmp流媒体等等.每个环节的水都非常深,单独拿出来可以写好几篇文章,如果没有个几年经验基本很 ...
- Spark如何与深度学习框架协作,处理非结构化数据
随着大数据和AI业务的不断融合,大数据分析和处理过程中,通过深度学习技术对非结构化数据(如图片.音频.文本)进行大数据处理的业务场景越来越多.本文会介绍Spark如何与深度学习框架进行协同工作,在大数 ...
- seaborn线性关系数据可视化:时间线图|热图|结构化图表可视化
一.线性关系数据可视化lmplot( ) 表示对所统计的数据做散点图,并拟合一个一元线性回归关系. lmplot(x, y, data, hue=None, col=None, row=None, p ...
- Android组件化框架设计与实践
在目前移动互联网时代,每个 APP 就是流量入口,与过去 PC Web 浏览器时代不同的是,APP 的体验与迭代速度影响着用户的粘性,这同时也对从事移动开发人员提出更高要求,进而移动端框架也层出不穷. ...
随机推荐
- MySQL学习(3)---MySQL常用命令
ps:此随笔基于mysql 5.7.*版本. 准备 net start mysql 启动MySQL服务 net stop mysql 关闭MySQL服务 mysql [-h<IP地址>] ...
- NSIS隐藏桌面
下午在网上闲逛发现了一段代码, 刷新桌面用的,当时觉得可以利用nsis现有命令再结合API来实现,翻了些资料,终于搞定,同时结合查找到的桌面句柄,写了一个隐藏桌面的小玩意娱乐下. 完整脚本: !inc ...
- Netty 学习(六):创建 NioEventLoopGroup 的核心源码说明
Netty 学习(六):创建 NioEventLoopGroup 的核心源码说明 作者: Grey 原文地址: 博客园:Netty 学习(六):创建 NioEventLoopGroup 的核心源码说明 ...
- C#并发编程-2 异步编程基础-Task
一 异步延迟 在异步方法中,如果需要让程序延迟等待一会后,继续往下执行,应使用Task.Delay()方法. //创建一个在指定的毫秒数后完成的任务. public static Task Delay ...
- DateSet的应用
一.知识描述 1.什么是DataSet? DataSet为一个数据集,可以看做是一个内存中的数据库,包括表.数据行.数据列以及表与表之间的关系. 创建一个DataSet后,它可以单独存在,不需要一直保 ...
- 追求性能极致:Redis6.0的多线程模型
Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...
- 15. MongoDB系列之选择片键
1. 片键类型 1.1 升序片键 升序片键通常类似于date或ObjectId--随着时间稳步增长的字段. 这种模式通常会使MongoDB更难保持块的平衡,因为所有的块都是由一个分片创建的. 1.2 ...
- NLP之基于BERT的预测掩码标记和句间关系判断
BERT @ 目录 BERT 程序步骤 程序步骤 设置基本变量值,数据预处理 构建输入样本 在样本集中随机选取a和b两个句子 把ab两个句子合并为1个模型输入句,在句首加入分类符CLS,在ab中间和句 ...
- 7.httprunner-pytest风格用例
用例设计原则 py文件名以test_开头或者_test结尾 函数名以test_开头 类名以Test开头,并且不能有init初始化方法 所有的包pakege必须有_init_.py文件 pychar ...
- nrf9160 做modem—— 连接云(接入方式MQTT)
今天测试把nrf9160作为modem的例程Serial LTE Modem程序(后面简称slm),何为做modem,通俗来说就是将nrf9160作为无线模块,主控由其余MCU做,主控通过AT命令控制 ...