1. 程式人生 > 其它 >VideoPipe視覺化視訊結構化框架更新總結(2022-12-9)

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 ↓

演示日誌介面使用。