**• Hardware Platform (Jetson / GPU): Jetson, NVIDIA Xavier NX 8GB
**• DeepStream Version: DeepStream 6.2
• JetPack Version (valid for Jetson only): JetPack 5.1.1
• TensorRT Version: TensorRT 8.5.2
• Issue Type( questions, new requirements, bugs): question
My program determines some custom parameters for tracked objects.
I need to save them and maintain across inference iterations.
I tried to use obj_user_meta_list to save the parameters. For this I:
- acquire an instance of NvDsUserMeta by calling
user_meta = nvds_acquire_user_meta_from_pool(batch_meta)
- initialize user meta
- add the user meta to an object meta by calling
It works OK but only until I get a new frame.
After getting a new frame
obj_meta->obj_user_meta_list == NULL always returns true, so I cannot access the user_meta.
What should I do to access the previously saved user_meta after getting a new frame?
The meta is bound with the current frame. So if you want to get the previously saved user_meta, you can bind this to the new frame by yourself and get that.
Ok. And what is the best practice to do this (I mean bind user_meta from objects of the previous frame to objects of the next frame)?
- get metadata of the previous frame using
- iterate through all objects at the previous frame
- find the same objects at the new frame
- copy user_meta from objects at the previous frame to the same objects at the new frame
It sounds ineffective. Is there a more optimal way?
There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks
You can create a list of the meta of all frames by yourself and copy the metas in it. When you need that, you can search and obtain it in the list.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.