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上的效果:

 

新增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 ↓

演示日志接口使用。

posted @ 2022-12-09 17:31  周见智  阅读(1018)  评论(0编辑  收藏  举报