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