Per-class tracker parameters

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU): GPU
• DeepStream Version: 6.2
• JetPack Version (valid for Jetson only)
• TensorRT Version:
• NVIDIA GPU Driver Version (valid for GPU only): 525
• Issue Type( questions, new requirements, bugs): questions

Hello. I’m building a video app, which should track cars and pedestrians, so I have a model (inferred by nvinfer) which produces two classes bounding boxes. As for the nvtracker, I need to use different settings for pedestrians and cars as they behave differently. Is there a way to specify different settings for different classes? Or, maybe, the task can be resolved in another architectural way, e.g. maybe we should have two trackers with unique settings for each class? Any tips are appreciated. Thanks.

Why you need different settings for different class? Can you share more on your use case?

Thanks, after tuning tracker parameters, I realized that optimal setting for pedestrians are different from what is optimal for cars because cars behave differently (cars tend to be much faster going straight line on the highway, while pedestrians are much slower and have more spontaneous trajectory). For example, in my case there are normally no overlap of the same car’s bounding box on the consequent frames, while it is virtually always the case for pedestrians. So, I have two sets of parameters, one is optimal for cars and another one is optimal for pedestrians, with the main differences in TargetManagement, TrajectoryManagement, DataAssociator and StateEstimator blocks. I’m not ready to compromise on one of the classes, so, looking for a solution to use class specific tracker parameters or two independent trackers with individual set of parameters.

It is a roadmap item, and currently there’s no ready-made solution for that. As a WAR, you can launch multiple pipelines in a single process (pls refer to Single Process section in Quickstart Guide — DeepStream 6.2 Release documentation) where you can filter some object classes in the PGIE config, so the tracker in each pipeline runs for the selected object classes with its own tracker params.

1 Like

Thank you. I’m looking forward for the release with the feature and will implement the suggested solution for now.