I am doing video analytics on prerecorded video files. At the end of each video clip, it appears the nvtracker is resetting the tracking IDs, however the internal states of nvdsanalytics is not reset, (in the OSD, I can see the line crossing counter starts with previous clip’s value), in result on the second video clip the line crossing would fail to detect line crossing.
the structure of the pipeline:
uridecodebin->nvstreammux->nvinfer->nvtracker->nvdsanalytics->nvstreamdemux->nvdsosd->nvoverlaysink
Is there a way to reset the nvdsanalytics state in ds6.0? Thanks.
Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU)
• DeepStream Version
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
How long is the mp4? will these cars in the screenshot disappear from the video? Noticing all trackerid did not changed in the second run. yes, line crossing counter is accumulative.
nvdsanalytics plugin is opensource in DS6.3. you can reload the cfg to recreate low-level instance. By this way, all counter will start from 0. please refer to this topic for how to reload cfg.
you can copy the code /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvdsanalytics/ from DS6.3 to DS6.0. then build it according to the readme. especially you need to replace /opt/nvidia/deepstream/deepstream/lib/gst-plugins/libnvdsgst_dsanalytics.so with the new so. please backup the original so first.