DeepStream Version 6.2
I am following this repo deepstream_reference_apps/back-to-back-detectors at master · NVIDIA-AI-IOT/deepstream_reference_apps · GitHub and made it in python, for rtsp.
Detections are all good, but always i get for objects from SECONDARY None at parent call
this is the pipeline:
streammux.link(pgie)
pgie.link(tracker)
tracker.link(sgie1)
sgie1.link(tiler)
tiler.link(nvvideoconvert)
nvvideoconvert.link(nvosd)
nvosd.link(sink)
this is osd_sink_pad_buffer_probe:
def osd_sink_pad_buffer_probe(pad, info, u_data):
primary_obj_counter = {
PGIE_CLASS_ID_PERSON: 0,
PGIE_CLASS_ID_VEHICLE: 0,
}
secondary_obj_counter = {
SGIE_CLASS_ID_FACE: 0,
SGIE_CLASS_ID_LP: 0,
}
global frame_number
global SECOND_DETECTOR_IS_SECONDARY
gst_buffer = info.get_buffer()
if not gst_buffer:
print("Unable to get GstBuffer ")
return Gst.PadProbeReturn.OK
batch_meta = pyds.gst_buffer_get_nvds_batch_meta(hash(gst_buffer))
l_frame = batch_meta.frame_meta_list
while l_frame is not None:
frame_meta = pyds.NvDsFrameMeta.cast(l_frame.data)
l_obj = frame_meta.obj_meta_list
while l_obj is not None:
obj_meta = pyds.NvDsObjectMeta.cast(l_obj.data)
if obj_meta.unique_component_id == PRIMARY_DETECTOR_UID:
if obj_meta.class_id in [PGIE_CLASS_ID_PERSON, PGIE_CLASS_ID_VEHICLE]:
# print(obj_meta.object_id)
primary_obj_counter[obj_meta.class_id] += 1
elif obj_meta.unique_component_id == SECONDARY_DETECTOR_UID:
if obj_meta.class_id in [SGIE_CLASS_ID_FACE, SGIE_CLASS_ID_LP]:
secondary_obj_counter[obj_meta.class_id] += 1
print(obj_meta.parent)
# if obj_meta.parent is not None:
# print("{} found for parent object id={}".format(sgie_classes_str[obj_meta.class_id], obj_meta.parent.object_id))
l_obj = l_obj.next
l_frame = l_frame.next
print("Frame Number:", frame_number,
"Person Count:", primary_obj_counter[PGIE_CLASS_ID_PERSON],
"Vehicle Count:", primary_obj_counter[PGIE_CLASS_ID_VEHICLE],
"Face Count:", secondary_obj_counter[SGIE_CLASS_ID_FACE],
"License Plate Count:", secondary_obj_counter[SGIE_CLASS_ID_LP])
frame_number += 1
return Gst.PadProbeReturn.OK