Post-processing on python deepstream-test2

• Hardware Platform (Jetson / GPU) GTX 1650
• DeepStream Version 5
• TensorRT Version 7.0.0.11
• NVIDIA GPU Driver Version (valid for GPU only) 450.51
• Issue Type( questions, new requirements, bugs) question

I am using Python API, deepstream-test2. I want to do post-processing on the output detection boxes (draw only boxes that lies inside a given ROI, and draw certain classes). How can I do that? and can I call some function that uses opencv in there?

Hey, for customize post process, pls refer deepstream_python_apps/apps/deepstream-ssd-parser at master · NVIDIA-AI-IOT/deepstream_python_apps · GitHub

I think this link not relevant.

I have a post-processing function that say calculates the area of the detection boxes. Where can I add it?. I called it from inside deepstream_test_2.py and passed the frame_meta.obj_meta_list to it. It is working, but is that the right approach?.

For the certain classes issue, I updated the parsing function, built it, and used it in the configuration file like that

custom-lib-path=libnvdsinfer_custom_impl_Yolo.so
engine-create-func-name=NvDsInferYoloCudaEngineGet

Where can I add the post processing function in case I wanted to run my project using deepstream-app -c instead of python.

If you are using c/c++, so you can refer nvdsinfer_custombboxparser.cpp for how to write the customized post process parser and then in your nvinfer config file set following item:

custom-lib-path
parse-bbox-func-name

You can find the details for the 2 items in the nvinfer plugin manual Gst-nvinfer — DeepStream 6.1.1 Release documentation