Deepstream 8.0 Access Gst-nvdsanalytics meta data in Python using Service Maker

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU): GPU
• DeepStream Version: 8.0
• Issue Type( questions, new requirements, bugs)

Does Service Maker for Python have access to RoiMetadata? I am unable to find an example that is able to access AnalyticsObjInfo via Service Maker for Python.

  1. Please refer to getRois in /opt/nvidia/deepstream/deepstream/service-maker/includes/metadata.hpp for how to access RoiMetadata.
  2. regarding NvDsAnalyticsObjInfo, in /opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-nvdsanalytics-test/deepstream_nvdsanalytics_meta.cpp, you can see NvDsAnalyticsObjInfo is in usermeta of objectmeta. In Python code deepstream_test1.py, you can see object_meta can be accessed via “frame_meta.object_items”, then you may access the nvdsanalytics usermeta via “object_meta.nvdsanalytics_obj_items”, then you may access the AnalyticsObjInfo data via “as_nvdsanalytics_obj” interface. Please refer to the similar code below.
                for user_meta in object_meta.nvdsanalytics_obj_items:
                    AnalyticsObjInfo = user_meta.as_nvdsanalytics_obj

Thanks for the reply.

How to get the obj_in_roi_cnt from nvdsanalytics_frame? The following crashes the program

for user_meta in object_meta.nvdsanalytics_obj_items:
AnalyticsObjInfo = user_meta.as_nvdsanalytics_obj
AnalyticsFrameMeta = user_meta.as_nvdsanalytics_frame()
print(AnalyticsFrameMeta)

#print(AnalyticsFrameMeta.obj_in_roi_cnt)

Please refer to the following code.

        for frame_meta in batch_meta.frame_items:
            for  user_meta in frame_meta.nvdsanalytics_frame_items:
                print("frame_items", user_meta.as_nvdsanalytics_frame().obj_in_roi_cnt)
            for object_meta in frame_meta.object_items:
                for user_meta in object_meta.nvdsanalytics_obj_items:
                    if user_meta.as_nvdsanalytics_obj().dir_status:
                        print("obj_items", object_meta.object_id, "is moving in ", user_meta.as_nvdsanalytics_obj().dir_status)

Here is the complete code deepstream_test2.py (5.2 KB) and log log-0929.txt (7.2 KB)
.

@aravindr Noticing you closed the topic, Did you obtain AnalyticsObjInfo and AnalyticsFrameMeta.obj_in_roi_cnt successfully using the method above? Thank you! Is this still an DeepStream issue to support? Thanks!

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