How to put to work together NvDCF tracker and YOLO?

Hi,

I am sorry if not asking at the right place. I wonder if you could be so kind to help me out here. I am a Civil Engineer and I have not IT support on my side.

I understand my problem is at a quite basic level: I am trying to put to work your NvDCF tracker alongside with YOLO v 8, so I am following your documentation from Installation — DeepStream documentation

My purpose is to develop enhanced vehicle detection and tracking results from low fps traffic videos with difficult camera angles and long distances covered

But I am finding all kinds of problems in the process, possibly because my lack of expertise in IT matters and after almost a week failing to put it to work despite your detailed installation instructions I have come to ask you for help, if possible.

I am following the dGPU Setup for Ubuntu instructions

I think I have correctly performed:

  • Remove all previous DeepStream installations
  • Migrate glib to newer version
  • Install prerequisite packages
  • Install CUDA Toolkit 12.6 (despite some warnings)

At this point, things get a bit messy for me, even when I reached the end of the process and could even check on the expected output for source30_1080p_dec_infer-resnet_tiled_display_int8.txt flie, which resulted correct. But only that sample worked, the rest of them produced error messages and did not provide any results.

So I think my problems start in this step:

  • Install TensorRT 10.3.0.26

Should I install version=“10.3.0.26-1+cuda12.5”, as stated? Or, as I can read below, at the Note, It is assumed, “deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/” has been added, as mentioned in CUDA Toolkit 12.6 installation step.?

I mean, 10.3.0.26-1+cuda12.5 or 10.5.0.18-1+cuda12.6?

Also, in:

  • Install librdkafka (to enable Kafka protocol adaptor for message broker)

Every step of the process should be performed in cd glib/build/ or not? librdkafka should be installed in glib/build?

I think the answers for that questions would be extremely helpful. I am not even sure if I should use the driver version 550.144.03 or 560.35.03.

Also, I have had problems (and been unable to install) the following packages:

libtritonserver.so
librivermax.so.1
libucs.so.0

I am not certain why this is happening and also not certain if I really require those packages to be able to get results from YOLOv8x and NvDCF tracker.

One last question: is there any example for a python script that gets a local video as an input and another video and a csv as outputs for tracking and detection? I have no clear idea, nor found information, on how to set a script that gets the best out of your NvDCF tracker.

I guess I will need a container and I think I need to follow this document DeepStream - CV Deployment | NVIDIA NGC once the Deepstream SDK installation goes well. Please let me know if I am wrong at this point, also.

Thank you very much for your time and, in advance, for your help. Kind regards,
Enrique

Hello, again. Is it certain that I will get some kind of response?

SDK Manager is also being impossible to install. No Jetson on my side and the sdk manager gets stuck on the third configuration step, so I cannot go further.

Also, please, is there any available example of a video with results from NvDCF tracker and YOLO?

Thanks!

Hi @cabarcospita.6, first of all welcome to the NVIDIA developer forums.

Sorry to hear you have these kind of difficulties with your project.

I am not a Deepstream expert, so I took the liberty of moving your post over to the correct subcategory.

Hopefully they will be able to help you!

Thanks!

Hi, Markus. Ok, thank you!

Docker container should be easy way to have a try with DeepStream samples: Docker Containers — DeepStream documentation
Here is the Python samples: Python Sample Apps and Bindings Source Details — DeepStream documentation deepstream-test2 is detector + nvtracker sample. We can config detector and tracker to YOLOv8 and NvDCF.

I had not found a solution for me there. Now I will look deeply into it. Thank you.

Hi there again.

I have followed the instructions in the links provided, very useful, thank you. I have clearly advanced, but still I am not being able to run deepstream-test2 properly

I run my docker:
docker run -it --gpus all -v “/home/*********/NvDCF/videos 3:/videos” nvcr.io/nvidia/deepstream:7.1-gc-triton-devel bash

Then

cd /opt/nvidia/deepstream/deepstream-7.1/sources/apps/sample_apps/deepstream-test2

export CUDA_VER=12.6

make

apt-get install python3-gst-1.0

./deepstream-test2-app /videos/20s_h264.mp4

But, at this point, I still get an error:

root@*********:/opt/nvidia/deepstream/deepstream-7.1/sources/apps/sample_apps/de
epstream-test2# ./deepstream-test2-app /videos/20s_h264.mp4
With tracker
Using file: /videos/20s_h264.mp4
Running…
ERROR from element stream-muxer: Output width not set
Error details: gstnvstreammux.cpp(3161): gst_nvstreammux_change_state (): /GstPipeline:dstest2-pipeline/GstNvStreamMux:stream-muxer
Returned, stopping playback
Deleting pipeline

My video is 1920x1080 and dstest2_config.yml stablishes:
streammux:
batch-size: 1
batched-push-timeout: 40000
width: 1920
height: 1080

So I am being unable to find a reason why it is not working.

It would be great if you could provide me with some more help at this point.

Thanks a lot again!

Also, I have created my docker several times, but always with the same result

And sorry, also I get this

root@7d3fa3706fdb:/opt/nvidia/deepstream/deepstream-7.1/sources/apps/sample_apps/
deepstream-test2# ./deepstream-test2-app /videos/20s_h264.mp4
With tracker

(gst-plugin-scanner:214): GStreamer-WARNING **: 11:47:37.662: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstfluidsynthmidi.so’: libFLAC.so.8: cannot open shared object file: No such file or directory

(gst-plugin-scanner:219): GStreamer-WARNING **: 11:47:37.697: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstmplex.so’: libmjpegutils-2.1.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:219): GStreamer-WARNING **: 11:47:37.734: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so’: librivermax.so.1: cannot open shared object file: No such file or directory

(gst-plugin-scanner:219): GStreamer-WARNING **: 11:47:37.751: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstpulseaudio.so’: libFLAC.so.8: cannot open shared object file: No such file or directory

(gst-plugin-scanner:219): GStreamer-WARNING **: 11:47:37.757: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstopenmpt.so’: libmpg123.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:219): GStreamer-WARNING **: 11:47:37.757: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlame.so’: libmp3lame.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:219): GStreamer-WARNING **: 11:47:37.766: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstmpg123.so’: libmpg123.so.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:219): GStreamer-WARNING **: 11:47:37.779: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstsndfile.so’: libFLAC.so.8: cannot open shared object file: No such file or directory

(gst-plugin-scanner:219): GStreamer-WARNING **: 11:47:37.779: Failed to load plugin ‘/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstchromaprint.so’: libavcodec.so.58: cannot open shared object file: No such file or directory
Using file: /videos/20s_h264.mp4
Running…
ERROR from element stream-muxer: Output width not set
Error details: gstnvstreammux.cpp(3161): gst_nvstreammux_change_state (): /GstPipeline:dstest2-pipeline/GstNvStreamMux:stream-muxer
Returned, stopping playback
Deleting pipeline

I thought this “apt-get install python3-gst-1.0” was solving the warnings but it is not. They just come up every first time I run the example in a new docker, do I run previously “apt-get install python3-gst-1.0” or not. In further attempts for the same docker, warnings dont come up, no matter also if I run or not “apt-get install python3-gst-1.0”. So I think this is doing nothing and warnings are still there

Thus, something seems to be going on with Gst inside of the docker? Anyway, I think the main issue has to do with muxer, but I am not able to figure out the reason.

Are you fixed the setup issue? Can you run DeepStream now?

Yes, thank you. It has been a quite long difficult path for me, being a beginner, to put to work together Yolo and NvDCF accuracy.

It worked being very precise through the repository GitHub - marcoslucianops/DeepStream-Yolo: NVIDIA DeepStream SDK 7.1 / 7.0 / 6.4 / 6.3 / 6.2 / 6.1.1 / 6.1 / 6.0.1 / 6.0 / 5.1 implementation for YOLO models and downloading a config file from GitHub - callmesora/DeepStream-YOLO-DeepSORT: DeepStream YOLO with DeepSORT Tracker , NvDCF and IoU Trackers. As well as YOLO + ByteTrack implementation, among other modifications/interventions/adaptations.

I did not find all the solutions in your kind answer, but I understand it was quite a too wide question. Thanks again

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.