How to pass dummy objects to nvDCF tracker for tracking?

Please provide complete information as applicable to your setup.

**• Hardware Platform (Jetson / GPU)**GPU
• DeepStream Version 5.0
• JetPack Version (valid for Jetson only)
• TensorRT Version 7.0.0
• NVIDIA GPU Driver Version (valid for GPU only) GeForce Rtx 2080ti
• Issue Type( questions, new requirements, bugs) questions
• 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)

Hi Team,

My case is to create dummy vehicle objects and pass them to nvDCF tracker for tracking. My pipeline is like deepstream-app but without primary gie, and I will use dummy objects as detected objects.

I implemented this by adding a probe at the sink pad of tracker plugin, and use nvds_acquire_obj_meta_from_pool() and nvds_add_obj_meta_to_frame() api to create and add 2 dummy moving objects to batched metadata. I can successfully access the metadata of the 2 dummy objects after tracker, as well as draw the bounding boxes of the 2 dummy objects in OSD during the whole video. However, the object id of the 2 dummy objects will always be the same as “0”, and bounding box location and confidence dumped in kitti files are always 0 too.

motorbike-dummy 0 0.0 0 0.0 0.000000 0.000000 0.000000 0.000000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000000
motorbike-dummy 2 0.0 0 0.0 0.000000 0.000000 0.000000 0.000000 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.000000

I am not sure whether this means the dummy objects have not been passed to tracker or not been tracked at all? Or maybe where and how can I verify the results? Any api for me to check if those dummy objects have been set as detected objects in the track list for the tracker?

Partial code:
NvDsObjectMeta *obj_meta = NULL;
obj_meta = nvds_acquire_obj_meta_from_pool (batch_meta);
NvDsObjectMeta *parent_obj_meta = NULL;
obj_meta->unique_component_id = DUMMY_UNIQUE_ID;
obj_meta->confidence = 0.9;
obj_meta->class_id = 3; //motorbike
sprintf(obj_meta->obj_label, “%s”, “motorbike-dummy”);
NvOSD_RectParams & rect_params = obj_meta->rect_params;
NvOSD_TextParams & text_params = obj_meta->text_params;
rect_params.left = 100 + frame_meta->frame_num * 3;
gint increment_y = frame_meta->frame_num * 3;
if (increment_y > frame_meta->source_frame_height - 100) {
increment_y = frame_meta->frame_num * 1;
}
rect_params.top = 100 + increment_y;
rect_params.width = 100;
rect_params.height = 150;
text_params.x_offset = rect_params.left;
text_params.y_offset = rect_params.top - 10;
text_params.set_bg_clr = 1;
text_params.text_bg_clr = (NvOSD_ColorParams) {
0, 0, 0, 1};
text_params.font_params.font_size = 11;
text_params.font_params.font_color = (NvOSD_ColorParams) {
1, 1, 1, 1};
nvds_add_obj_meta_to_frame (frame_meta, obj_meta, parent_obj_meta);

Any help will be very appreciated!
Thanks.

Hey,
I think you should check MetaData in the DeepStream SDK — DeepStream 6.1.1 Release documentation