• Hardware Platform (Jetson / GPU) - Tesla T4/P4 • DeepStream Version - DS 5.1 • TensorRT Version - 7.2.1.6 • NVIDIA GPU Driver Version (valid for GPU only) - 460.91.03 • Cuda Version - 11.1 • Issue Type( questions, new requirements, bugs) - Access metadata of all objects crossing lines in nvdsanalytics • 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) - I am using the sample application deepstream-nvdsanalytics-test
Command to run - ./deepstream-nvdsanalytics-test file:///home/ram/Videos/Loc1.mp4
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
I am trying to running and extract the metadata of the detected objects by running the deepstream-nvdsanalytics-test. I am running the application to count the number of vehicles in lanes and classify them.
So far from my understanding there are following parameters for line crossing in the config_nvdsanalytics.txt
[line-crossing-stream-0]
enable=1 #Label;direction;lc #Location1 Video lines
line-crossing-Entry=500;751;703;650;531;673;793;712
line-crossing-Exit=1150;672;1050;900;720;770;1150;800
And I have set the lines as in the image below and its detecting and counting the vehicles
Please check nvdsanalytics_src_pad_buffer_probe() in deepstream_nvdsanalytics_test.cpp lcStatus in NvDsAnalyticsObjInfo can show the entry and exit status for each object
I have noticed lcStatus in nvds_analytics_meta.h and I tried to print the value but I didn’t get the exact output for the linecrossing
Filename: nvds_analytics_meta.h
/**
* Holds a set of nvdsanalytics object level metadata.
*/
typedef struct
{
/** Holds the array of ROI labels in which object is present */
std::vector <std::string> roiStatus;
/** Holds the array of OverCrowding labels in which object is present */
std::vector <std::string> ocStatus;
/** Holds the array of line crossing labels which object has crossed */
std::vector <std::string> lcStatus;
/** Holds the direction string for the tracked object */
std::string dirStatus;
/** Holds unique identifier for nvdsanalytics instance */
guint unique_id;
} NvDsAnalyticsObjInfo;
I have printed only objectID and lcStatus after the object crosses the line, if this is correct im getting the wrong output