• Hardware Platform (Jetson / GPU): Jetson Xavier NX 16 Gb
• DeepStream Version: 6.3
• JetPack Version (valid for Jetson only): 5.1.3
• How to reproduce the issue: using nvdsanalytics
and line-crossing
at low frame rate.
Hi everyone,
I’m building an application using the nvdsanalytics
plugin, specifically the line-crossing
module. Initially, it seems to work well, but occasionally it exhibits behavior that’s difficult to explain.
I’m using DeepStream to infer on two video streams of the same street to count cars. Each stream counts cars using a line perpendicular to the road (mode: loose
). In theory, I’d expect both streams to show similar counts (give or take some detection errors). However, I’m seeing discrepancies of over 10% between the two counts.
I’ve investigated this behavior and suspect the counting mechanism is particularly sensitive to the frame rate (FPS) during inference. In my setup, the system was running at 16 FPS.
In a lab test, I noticed the counting can be inconsistent, as shown in the example below (see attached photo). Sometimes the bounding box is counted, and sometimes it’s not, depending on a few pixels of difference.
Could someone explain in detail how the counter increments and what parameters influence the counting? (I’m assuming the detection from the AI model is accurate on each frame). My understanding is that the counter increments only when the bottom-middle part of the bounding box intersects the line. This seems problematic if the system infers only before and after the box crosses the line, missing the exact frame when it intersects.
Any insights into how this works and how to mitigate these discrepancies would be greatly appreciated!