Nvidia Deepstream SDK 7.1 / 7.0 / 6.4 / 6.3 / 6.2 / 6.2 / 6.1.1 / 6.1 / 6.1 / 6.0.1 / 6.0 / 5.1 YOLO模型配置
git clone https://github.com/marcoslucianops/DeepStream-Yolo.git
cd DeepStream-Yolo
cfg並weights文件從Darknet Repo到DeepStream-Yolo文件夾3.1。根據您的Deepstream版本設置CUDA_VER
export CUDA_VER=XY.Z
x86平台
DeepStream 7.1 = 12.6
DeepStream 7.0 / 6.4 = 12.2
DeepStream 6.3 = 12.1
DeepStream 6.2 = 11.8
DeepStream 6.1.1 = 11.7
DeepStream 6.1 = 11.6
DeepStream 6.0.1 / 6.0 = 11.4
DeepStream 5.1 = 11.1
Jetson平台
DeepStream 7.1 = 12.6
DeepStream 7.0 / 6.4 = 12.2
DeepStream 6.3 / 6.2 / 6.1.1 / 6.1 = 11.4
DeepStream 6.0.1 / 6.0 / 5.1 = 10.2
3.2。進行自由
make -C nvdsinfer_custom_impl_Yolo clean && make -C nvdsinfer_custom_impl_Yolo
config_infer_primary.txt文件(yolov4的示例) [property]
...
custom-network-config=yolov4.cfg
model-file=yolov4.weights
...
注意:對於DarkNet模型,默認情況下,設置了動態批處理大小。要使用靜態批處理大小,請刪除行
...
force-implicit-batch-dim=1
...
deepstream-app -c deepstream_app_config.txt
注意:Tensorrt引擎文件可能需要很長時間才能生成(有時超過10分鐘)。
注意:如果要使用yolov2或yolov2微型型號,請在運行之前更改deepstream_app_config.txt文件
...
[primary-gie]
...
config-file=config_infer_primary_yoloV2.txt
...
x86平台
nvcr.io/nvidia/deepstream:7.1-gc-triton-devel
nvcr.io/nvidia/deepstream:7.1-triton-multiarch
Jetson平台
nvcr.io/nvidia/deepstream:7.1-triton-multiarch
注意:要編譯nvdsinfer_custom_impl_Yolo ,您需要在容器中安裝G ++
apt-get install build-essential
注意:使用Deepstream 7.1,Docker容器不會包裝某些多媒體操作所需的庫,例如音頻數據解析,CPU解碼和CPU編碼。此更改可能會影響處理某些視頻流/文件(例如MP4)的處理,其中包括音軌。請在Docker圖像中運行以下腳本,以安裝使用所有DeepStreamSDK功能所需的其他軟件包:
/opt/nvidia/deepstream/deepstream/user_additional_install.sh
要更改nms-iou-threshold , pre-cluster-threshold和topk值,請修改config_infer文件
[class-attrs-all]
nms-iou-threshold=0.45
pre-cluster-threshold=0.25
topk=300
注意:確保在config_infer文件中設置cluster-mode=2 。
有時,在運行GSTREAMER管道或示例應用程序時,用戶可能會遇到錯誤: GLib (gthread-posix.c): Unexpected error from C library during 'pthread_setspecific': Invalid argument. Aborting. 。該問題是由於glib 2.0-2.72版本中的錯誤引起的,默認情況下,ubuntu 22.04隨附。該問題以glib 2.76解決,需要安裝來解決該問題(https://github.com/gnome/glib/glib/tree/2.76.6)。
將glib遷移到更新版本
pip3 install meson
pip3 install ninja
注意:建議使用Python Virtualenv。
git clone https://github.com/GNOME/glib.git
cd glib
git checkout 2.76.6
meson build --prefix=/usr
ninja -C build/
cd build/
ninja install
檢查並確認新安裝的GLIB版本:
pkg-config --modversion glib-2.0
有時,隨著RTSP流的使用,應用程序被卡在到達EOS上。這是因為RTPJitterBuffer組件中的問題。為了解決此問題,已為腳本提供了所需的詳細信息,以更新GSTRTPMANAGER庫。
/opt/nvidia/deepstream/deepstream/update_rtpmanager.sh
您可以使用python和c/c ++從deepstream獲得元數據。對於C/C ++,您可以編輯deepstream-app或deepstream-test代碼。對於Python,您可以安裝和編輯deepstream_python_apps。
基本上,您需要操縱NvDsObjectMeta (Python / C / C ++) and NvDsFrameMeta (Python / C / C ++)才能獲得Bboxes的標籤,位置等。
我的項目:https://www.youtube.com/marcoslucianotv