deepstream 札記(3)----插件介紹,小例子介紹,論壇地址

原文
1、首先時鐘調整到最佳狀態

sudo nvpmodel -m 0 
sudo jetson_clocks

2、運行參考應用程序使用

deepstream-app -c <path_to_config_file>

For deb installation, you can find sample configuration files under /opt/nvidia/deepstream/deepstream-4.0/samples directory.
Enter this command to see application usage:
$ deepstream-app --help
3、dGPU [discrete GPU]指的是英偉達顯卡那些安裝再x86_64上的分離式的GPU
4、Plugins
1)gst-dsexample—怎麼開發,插入自己的組件
2)gst-nvmsgconv—轉換元數據格式
3)gst-nvmsgbroker—sending data to the server
4)gst-nvinfer—調用tensorRT爲了推理
5)gst-nvmultistreamtiler–輔助顯示,比如一個屏幕顯示四個
6)gst-nvmsgbroker—用於傳輸
7)gst-nveglglessink—渲染


1、source—Decoder—preprocess[resize,顏色轉換,歸一化]【用到cuda的加速】—TensorRT[網絡優化]—poseprocess【bodering box等等】—OSD/Display Msg broker
多路的話比如內存優化,模型共享問題,讓decoder,gpu跑滿
2、sample_apps/deepstream-app 改config文件就能完成換模型
3、metadata—保存每一個模塊輸出的結果,每個gst連接的紐帶,在gst-nvstreammux初始化,metadata附着在buffer上
metadata結構:
1)NvDsbatchMeta描述整個batch的情況【一個batch好幾幀圖像】
2)NvDsFrameMeta描述每一幀
3)NvDsDisplayMeta 就是描述幾個人,幾輛車,左上角那個
NvDsObjectMeta描述框出的人啊,車啊
4)NvDsClassifierMeta 描述object比如車的顏色,種類啊
metadata可以自定義的deepstream-user-metadata-test
4、deepstream-test3就是多路示例,test5是怎麼跟微軟的雲做交互
1)deepstream-app是把大部分都串起來了
2)dewarper-test 展示camer還原的
3)image-decode jpeg圖片解碼的例子
4)infer-tensor 不一定要拿網絡最後的輸出,可以拿任意一個layer的輸出
5)nvof-test 光流的例子
6)perf-demo 輸入時video,關於類似花分類那個
7)segmentation 分割例子 Unet網絡

sample_apps
├── deepstream-app
├      端到端示例演示了4級聯神經網絡(1個一級檢測器和3個二級分類器)的多相機流,並顯示平鋪輸出。
├── deepstream-dewarper-test
├      演示單個或多個360度攝像機流的扭曲功能。從CSV文件讀取相機校準參數,
├      並在顯示屏上渲染過道和斑點表面。
├── deepstream-gst-metadata-test
├      演示如何在DeepStream管道中的Gst-nvstreammux插件之前設置元數據,
├      以及如何在Gst-nvstreammux之後訪問元數據。
├── deepstream-image-decode-test
├      建立在deepstream-test3上,以演示圖像解碼而不是視頻。本示例使用自定義解碼箱,
├      因此可以將MJPEG編解碼器用作輸入。
├── deepstream-infer-tensor-meta-test
├      演示如何將nvinfer張量輸出作爲元數據傳遞和訪問。
├── deepstream-nvof-test
├      演示單個或多個流的光流功能。本示例使用兩個GStreamer插件(Gst-nvof和Gst-nvofvisual)。
├      Gst-nvof元素生成MV(運動矢量)數據並將其作爲用戶元數據附加。Gst-nvofvisual元素使用
├      預定義的色輪矩陣可視化MV數據。
├── deepstream-perf-demo
├      對目錄中的所有流順序執行單通道級聯推理和對象跟蹤。
├── deepstream-segmentation-test
├      演示使用語義或工業神經網絡對多流視頻或圖像進行分割,並將輸出呈現到顯示器。
├── deepstream-test1
├      有關如何對單個H.264流使用DeepStream元素的簡單示例:filesrc→decode解碼→nvstreammux→nvinfer
├   (主檢測器)→nvosd→renderer渲染器。
├── deepstream-test2
├      簡單的應用程序,建立在test1之上,顯示額外的屬性,如跟蹤和二級分類屬性。
├── deepstream-test3
├      基於deepstream-test1(簡單測試應用程序1)構建,以演示如何:
├     •在管道中使用多個來源
├     •使用uridecodebin接受任何類型的輸入(例如RTSP /文件),任何GStreamer支持的容器格式以及任何編解碼器
├     •配置Gst-nvstreammux生成一批幀並推斷出這些幀以提高資源利用率
├     •提取流元數據,其中包含有關批處理緩衝區中的幀的有用信息
├── deepstream-test4
├     基於deepstream-test1 構建單個H.264流:filesrc,decode,nvstreammux,nvinfer,nvosd, renderer演示如何:
├     •在管道中使用Gst-nvmsgconv和Gst-nvmsgbroker插件
├     •創建NVDS_META_EVENT_MSG類型的元數據並將其附加到緩衝區
├     •將 NVDS_META_EVENT_MSG用於不同類型的對象,例如車輛和人
├     •實現元數據通過extMsg字段擴展的“複製”和“免費”功能
├── deepstream-test5
├     建立在deepstream-app之上。展示:
├     •在管道中將Gst-nvmsgconv和Gst-nvmsgbroker插件用於多流
├     •如何從配置文件中將Gst-nvmsgbroker插件配置爲接收器插件(適用於KAFKA,Azure等)
├     •如何處理來自RTSP服務器或攝像機的RTCP發送者報告,以及如何將Gst Buffer PTS轉換爲UTC時間戳。
├    欲瞭解更多詳情,請參閱該RTCP發送者報告回調函數test5_rtcp_sender_report_callback註冊和使用的  deepstream_test5_app_main.c。
├     使用rtpmanager元素的“ handle-sync”信號進行GStreamer回調註冊的過程記錄在apps-common /src / deepstream_source_bin.c中。
├──deepstream-user-metadata-test
├    演示如何向DeepStream的任何組件中添加自定義或用戶特定的元數據。測試代碼將一個填充有用戶
├    數據的16字節數組附加到所選組件。數據在另一個組件中檢索。
————————————————
版權聲明:本文爲CSDN博主「ZONG_XP」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/zong596568821xp/article/details/103919762

5、就是將config替換成yolo的config,不會去論壇地址提問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章