Where to get values for NvDsInferParseDetectionParams

I am writing my own parser for an object detection model. I am using C++, DeepStream 6.2 and a Tesla T4.
I see that I can get the following values from NvDsInferParseDetectionParams: numClassesConfigured. perClassPreclusterThreshold, and perClassPostclusterThreshold (see NVIDIA DeepStream SDK API Reference: NvDsInferParseDetectionParams Struct Reference ).
Where are these values read from? Are they specified in primary engine config txt file as in the example below?

[property]
num-detected-classes

[class-attrs-all]
pre-cluster-threshold=0.3
post-cluster-threshold=0.

If the nms-iou-threshold is specified in [class-attrs-all], is there a way to read its value from the C++ code?

They were parsed from the configuration file. Please refer to our source code gstnvinfer_property_parser.cpp and gstnvinfer_yaml_parser.cppin the opt\nvidia\deepstream\deepstream\sources\gst-plugins\gst-nvinfer path.

Hi @yuweiw , thank you for your reply.
I understand that numClassesConfigured , perClassPreclusterThreshold , and perClassPostclusterThreshold are parsed from the pgie txt configuration file.
Is there a way I can also get the nms-iou-threshold value in my custom C++ postprocessing for object detection?

Yes. Please refer the demo code nvdsinfer_custombboxparser_tao.cpp.

It looks like it’s not possible to retrieve nms-iou-threshold, at least looking at that file. Thank you anyway.

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

There are many apps of this post-processing function in the following demo: deepstream_tao_apps. You can refer to that too.

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