项目地址: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上的效果:

新增15sample说明

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)的更多相关文章

  1. VideoPipe可视化视频结构化框架开源了!

    完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...

  2. VideoPipe可视化视频结构化框架新增功能详解(2022-11-4)

    VideoPipe从国庆节上线源代码到现在经历过了一个月时间,期间吸引了若干小伙伴的参与,现将本阶段新增内容总结如下,有兴趣的朋友可以加微信拉群交流. 项目地址:https://github.com/ ...

  3. VP视频结构化框架

    完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...

  4. 视频结构化 AI 推理流程

    「视频结构化」是一种 AI 落地的工程化实现,目的是把 AI 模型推理流程能够一般化.它输入视频,输出结构化数据,将结果给到业务系统去形成某些行业的解决方案. 换个角度,如果你想用摄像头来实现某些智能 ...

  5. [AI开发]基于DeepStream的视频结构化解决方案

    视频结构化的定义 利用深度学习技术实时分析视频中有价值的内容,并输出结构化数据.相比数据库中每条结构化数据记录,视频.图片.音频等属于非结构化数据,计算机程序不能直接识别非结构化数据,因此需要先将这些 ...

  6. [AI开发]视频结构化类应用的局限性

    算法不是通用的,基于深度学习的应用系统不但做不到通用,即使对于同一类业务场景,还需要为每个场景做定制.特殊处理,这样才能有可能到达实用标准.这种局限性在计算机视觉领域的应用中表现得尤其突出,本文介绍基 ...

  7. [AI开发]零代码分析视频结构化类应用结构设计

    视频结构化类应用涉及到的技术栈比较多,而且每种技术入门门槛都较高,比如视频接入存储.编解码.深度学习推理.rtmp流媒体等等.每个环节的水都非常深,单独拿出来可以写好几篇文章,如果没有个几年经验基本很 ...

  8. Spark如何与深度学习框架协作,处理非结构化数据

    随着大数据和AI业务的不断融合,大数据分析和处理过程中,通过深度学习技术对非结构化数据(如图片.音频.文本)进行大数据处理的业务场景越来越多.本文会介绍Spark如何与深度学习框架进行协同工作,在大数 ...

  9. seaborn线性关系数据可视化:时间线图|热图|结构化图表可视化

    一.线性关系数据可视化lmplot( ) 表示对所统计的数据做散点图,并拟合一个一元线性回归关系. lmplot(x, y, data, hue=None, col=None, row=None, p ...

  10. Android组件化框架设计与实践

    在目前移动互联网时代,每个 APP 就是流量入口,与过去 PC Web 浏览器时代不同的是,APP 的体验与迭代速度影响着用户的粘性,这同时也对从事移动开发人员提出更高要求,进而移动端框架也层出不穷. ...

随机推荐

  1. 使用metricbeat监控system和nginx

    下载并解压缩metricbeat metricbeat.yml配置文件设置: setup.kibana: host: "192.168.75.21:5601" output.ela ...

  2. 部署文件:filebeat->kafka集群(zk集群)->logstash->es集群->kibana

    该压缩包内包含以下文件: 1.install_java.txt 配置java环境,logstash使用 2.es.txt 三节点的es集群 3.filebeat.txt 获取日志输出到kafka集群 ...

  3. echarts 改变个别省份的边界线颜色

    想要实现地图,首先要引入china.js文件,如果有引入就直接调过本步骤去下方看代码,没有引入可以点击下方链接自行Ctrl c + Ctrl v china.js import "../.. ...

  4. 对循环神经网络参数的理解|LSTM RNN Input_size Batch Sequence

    在很多博客和知乎中我看到了许多对于pytorch框架中RNN接口的一些解析,但都较为浅显甚至出现一些不准确的理解,在这里我想阐述下我对于pytorch中RNN接口的参数的理解. 我们经常看到的RNN网 ...

  5. Charles的安装与使用

    Charles是一款抓包工具,可以用来截取和发送手机APP上的各种请求 在windows上安装Charles,确保手机和电脑在同一个WIFI下,加上一些配置,就可以抓取手机上的APP请求 有能力的同学 ...

  6. python2与python区别汇总

    目录 输入与输出 range使用区别 字符编码区别 输入与输出 python2与python3中两个关键字的区别 python2中 input方法需要用户自己提前指定数据类型 写什么类型就是什么类型 ...

  7. Linux 下搭建 Hive 环境

    Linux 下搭建 Hive 环境 作者:Grey 原文地址: 博客园:Linux 下搭建 Hive 环境 CSDN:Linux 下搭建 Hive 环境 前置工作 首先,需要先完成 Linux 下搭建 ...

  8. do-while循环的使用

    一.循环结构的4个要素 ① 初始化条件 ② 循环条件 --->是boolean类型 ③ 循环体 ④ 迭代条件 二.do-while循环结构: ①do{ ③; ④;}while(②); 执行过程: ...

  9. 手写自定义springboot-starter,感受框架的魅力和原理

    一.前言 Springboot的自动配置原理,面试中经常问到,一直看也记不住,不如手写一个starter,加深一下记忆. 看了之后发现大部分的starter都是这个原理,实践才会记忆深刻. 核心思想: ...

  10. github使用Webhooks实现自动化部署

    参考: https://blog.csdn.net/u013764814/article/details/85240752 -------------------------------------- ...