Custom DeepStream Deep Learning App


I have a Nvidia Jetson Nano and I want to create an application, preferably in Python, to track and re-identificate people in multicamera scenarios. Following I am able to connect 4 RTSP cameras, detect people, by using resnet caffe model, and draw their bounding boxes. The problem and my questions come when I want to:

  1. Crop the people when I click over them in the frame in order to apply another CNN. I tried with gst_navigation_event_parse_mouse_button_event but it does not work. Is this possible in GStreamer and DeepStream?

  2. Convert my siamese neural network, developed in Tensorflow, to a deepstream plugin. How can I migrate the tensorflow CNN to deep stream, it is necessary to developed in C++?


You may refer to test2 sample, which has one primary model(pgie) and three secondary models(sgie). You can make ‘another CNN’ into a secondary model.

We have a reference of converting TensorFlow to TRT. Please check



The problem is that I need to apply the sgie (my custom sgie) just to some bbox, not all of them, so:

  1. How can I select the bboxes I want as input in the sgie?

  2. How can I make a GUi with Ds and Osd in order to select with a click the person to track? There is any library for that?

On the other hand, I will see the reference that you told me about converting .pb to .uff.


You would need to implement interactive GUI. Not sure if there is existing implementation in python. Other users may share experiences/guidance on this function.

For selecting bboxes, you can get all bboxes and then remove those you don’t need. There is a sample of using nvds_remove_obj_meta_from_frame():
Please look at the post and give it a try.

Ok, it works.