Gst-nvdsanalytics roi filtering objects presence inconsistent

• dGPU
• DeepStream Version 8.0
• Docker
• Bug

Hi,

As requested here, I am opening this new topic.

The NvDsAnalytics plugin isn’t producing consistent results :

How to replicate :

deepstream-nvdsanalytics-test.zip (75.2 MB)

  1. Start DS 8 container :
xhost +
docker run --gpus all -it --rm --runtime=nvidia --network=host --privileged -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-8.0 nvcr.io/nvidia/deepstream:8.0-triton-multiarch
  1. Replace deepstream-nvdsanalytics-test folder with mine so that you can produce video output as well.

  2. Go in the folder

cd /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-nvdsanalytics-test
export CUDA_VER=12.8
make
./deepstream-nvdsanalytics-test file:///opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-nvdsanalytics-test/vid1.mp4
  1. Analyze frames of /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-nvdsanalytics-test/deepstream_output.mp4

This issue occurs multiple time.

Thanks

For your case, you may add “obj-cnt-win-in-ms” cfg to make nvanalytics use the point closer to center coordinate (x_left + width/2, y_top + height). please refer to this cfg.config_nvdsanalytics.txt (206 Bytes)

Hi, thanks for the suggestion! I have a couple of follow‑up questions to better understand:

  • What exactly does the obj-cnt-win-in-ms parameter control in nvdsanalytics?

  • You mentioned “make nvanalytics use the point closer to center coordinate (x_left + width/2, y_top + height)”. From my understanding, the analytics plugin already uses the bottom‑center of the bounding box (x_left + width/2, y_top + height). Could you clarify how obj-cnt-win-in-ms changes that behavior?

  • In my video, the bottom center is within the ROI, so why isn’t it working?

  • Could you also share a small example of how to configure this parameter in config_nvdsanalytics.txt (and the effect of different values)?

Thanks a lot for the help!

1&&2. nvdsanalytcs uses the bboxes of the same object in the consecutive frames. “obj-cnt-win-in-ms” is a window for object count. The smaller the value, the fewer frames are used.
3. from my test, if using “obj-cnt-win-in-ms=1”, when the bottom center is within the ROI, the count will increase.
4. please refer to my last comment.

1 Like

one correction, nvdsanalytics low-level lib is opensource in DS8.0. the path is /opt/nvidia/deepstream/deepstream/sources/libs/nvds_analytics/.

1 Like

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