User_meta->base_meta.meta_type, NVDS_USER_META_REID are not being equivalent

**• Hardware Platform (Jetson / GPU): RTX A2000
**• DeepStream Version: 6.3
• JetPack Version (valid for Jetson only)
**• TensorRT Version: 8.6.1
**• NVIDIA GPU Driver Version (valid for GPU only): 535.171.04

I am trying to collect REID-tensor embedding. But my user_meta->base_meta.meta_type, NVDS_USER_META_REID are not matching. Is this a problem of configuration?
user_meta->base_meta.meta_type=12979
NVDS_USER_META_REID=12980

From the source video I can that the object is being tracked.

write_reid_track_output (AppCtx * appCtx, NvDsBatchMeta * batch_meta)
{
  if (!appCtx->config.reid_track_dir_path)
    return;

   // printf("Writing reid tracking data\n");

  gchar reid_file[1024] = { 0 };
  FILE *reid_params_dump_file = NULL;
  /** Find batch reid tensor in batch user meta. */
  NvDsReidTensorBatch *pReidTensor = NULL;
  for (NvDsUserMetaList *l_batch_user = batch_meta->batch_user_meta_list; l_batch_user != NULL;
      l_batch_user = l_batch_user->next) {
    NvDsUserMeta *user_meta = (NvDsUserMeta *) l_batch_user->data;
    if (user_meta && user_meta->base_meta.meta_type == NVDS_TRACKER_BATCH_REID_META) {
    printf("user_meta->base_meta.meta_type == NVDS_TRACKER_BATCH_REID_META\n");
      pReidTensor = (NvDsReidTensorBatch *) (user_meta->user_meta_data);
    }
  }

which sample are you testing or referring to? there is only a NVDS_TRACKER_BATCH_REID_META in DeepStream code. how did you create this NVDS_USER_META_REID?

I apologize. I gave the wrong snippet. That was something I am still trying to do. Anyway, I have updated the code snippet. I am running the deepstream_app.c. Here I am always getting
user_meta->base_meta.meta_type and NVDS_TRACKER_BATCH_REID_META with 1 difference. Working fine in my Jetson nano. But in my PC as I’ve given the configuration the problem is occurring.

maybe there are other type of usermeta? could you print the value of user_meta->base_meta.meta_type and NVDS_TRACKER_BATCH_REID_META? from the code of nvdsmeta.h, the value of NVDS_TRACKER_BATCH_REID_META is 16, why is it 12980 in your code?

Sorry. The value is from the previous example I was referring to. The deepstream_app.c I am running is showing user_meta->base_meta.meta_type=15 and NVDS_TRACKER_BATCH_REID_META= 16. I am using the nvDFC traker and accuray config.

please refer to nvdsmeta.h in DeepStream SDK. type 15 represents NVDS_TRACKER_PAST_FRAME_META. it is not used to save REID.

I have solved it. Thank you for the help.

1 Like

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