Removal of spamming logs for Re-ID NvDCF / DeepSort Tracker and Performance Improvements for Tracking

• GPU (RTX 3090)
• DeepStream Version : 7.0
• NVIDIA GPU Driver Version (valid for GPU only) : 535.230.02
• Issue Type( questions, new requirements, bugs) : question / bug
**• How to reproduce the issue ? (**Using Re-ID tracker with ghost_reid.onnx and nv-deepsort with sub-batching and pgie interval as 2)

I am encountering these spamming logs constantly while using a deepstream-app based custom YOLO inference pipeline that utilizes the ghost_reid.onnx tracker with NvDCF accuracy config and NvDeepSort and IOU tracker with sub batching. I want to use all these trackers to infer on the same stream id efficiently, but using them reduces the fps output across all cameras (using batch size of 2 for pgie) but I want a way to improve performance per stream and remove these logs while using any interval of pgie higher than 2.
Setting a pgie interval of 0 removes these logs but my inference speed is impacted greatly. I tried changing the reIDExtractionInterval values from tracker configs, but it still didn’t perform as expected. Any suggestions to improve performance and remove the logs for higher inference intervals would be appreciated!

Deepstream App logs :

deepstream_app_config.txt

[application]
enable-perf-measurement = 1
perf-measurement-interval-sec = 5
kitti-track-output-dir = /opt/nvidia/deepstream/deepstream-7.0/sources/apps/sample_apps/deepstream-app/detections/

[streammux]
gpu-id = 0
live-source = 1
batch-size = 2
batched-push-timeout = 40000
width = 1920
height = 1080
enable-padding = 0
nvbuf-memory-type = 3

[tracker]
enable = 1
gpu-id = 0
tracker-height = 480
tracker-width = 640
ll-lib-file = /opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so
ll-config-file = /shared_volume//weights/tracker_configs/config_tracker_NvDCF_accuracy_interval8_fp16.yml;/shared_volume//weights/tracker_configs/config_tracker_NvDeepSORT.yml;/opt/nvidia/deepstream/deepstream-7.0/samples/configs/deepstream-app/config_tracker_IOU.yml
sub-batches= 0,1
display-tracking-id=1

[source0]
enable = 1
type = 4
uri = rtsp:
num-sources = 1
gpu-id = 0
cudadec-memtype = 0
rtsp-reconnect-interval-sec=10
rtsp-reconnect-attempts=-1
select-rtp-protocol=4

smart-record=2
smart-rec-dir-path=./video_data
smart-rec-file-prefix=cam0
smart-rec-cache=15
smart-rec-container=0
smart-rec-start-time=5
smart-rec-default-duration=10
smart-rec-duration=10
smart-rec-interval=1000000

[sink0]
enable = 1
type = 1
sync = 0
gpu-id = 0
nvbuf-memory-type = 0

[source1]
enable = 1
type = 4
uri = rtsp://
num-sources = 1
gpu-id = 0
cudadec-memtype = 0
rtsp-reconnect-interval-sec=10
rtsp-reconnect-attempts=-1
select-rtp-protocol=4

smart-record=2
smart-rec-dir-path=./video_data
smart-rec-file-prefix=cam1
smart-rec-cache=15
smart-rec-container=0
smart-rec-start-time=5
smart-rec-default-duration=10
smart-rec-duration=10
smart-rec-interval=1000000

[sink0]
enable = 1
type = 1
sync = 0
gpu-id = 0
nvbuf-memory-type = 0

[primary-gie]
enable = 1
gpu-id = 0
nvbuf-memory-type = 3
gie-unique-id = 1
config-file = /shared_volume/configs/0/config_infer_primary_gpu0.txt

[secondary-gie0]
enable = 1
gpu-id = 0
nvbuf-memory-type = 3
gie-unique-id = 2
operate-on-gie-id=1
input-tensor-meta=0
config-file = /shared_volume/configs/0/config_infer_secondary_gpu0_index0.txt

NvDCF Accuracy Config :

BaseConfig:
  minDetectorConfidence: 0.1894
DataAssociator:
  associationMatcherType: 1
  checkClassMatch: 1
  dataAssociatorType: 0
  matchingScoreWeight4Iou: 0.4033
  matchingScoreWeight4SizeSimilarity: 0.6003
  matchingScoreWeight4VisualSimilarity: 0.3951
  minMatchingScore4Iou: 0.0
  minMatchingScore4Overall: 0.0
  minMatchingScore4SizeSimilarity: 0.0
  minMatchingScore4TentativeIou: 0.2852
  minMatchingScore4VisualSimilarity: 0.0
  tentativeDetectorConfidence: 0.1024
ReID:
  addFeatureNormalization: 1
  batchSize: 100
  colorFormat: 0
  inferDims:
  - 3
  - 384
  - 128
  inputOrder: 0
  keepAspc: 1
  minVisibility4GalleryUpdate: 0.3
  modelEngineFile: /shared_volume/weights/ghost_reid.onnx_b100_gpu0_fp16.engine
  netScaleFactor: 0.01742919
  networkMode: 1
  offsets:
  - 109.125
  - 102.6
  - 91.35
  onnxFile: /shared_volume/weights/ghost_reid.onnx
  reidFeatureSize: 512
  reidHistorySize: 512
  reidType: 2
  tltModelKey: nvidia_tao
  workspaceSize: 1000
StateEstimator:
  measurementNoiseVar4Detector: 100.0
  measurementNoiseVar4Tracker: 293.3238
  processNoiseVar4Loc: 6810.8668
  processNoiseVar4Size: 1541.8647
  processNoiseVar4Vel: 1348.4874
  stateEstimatorType: 2
TargetManagement:
  earlyTerminationAge: 140
  enableBboxUnClipping: 1
  maxShadowTrackingAge: 84
  maxTargetsPerStream: 150
  minIouDiff4NewTarget: 0.3686
  minTrackerConfidence: 0.35
  preserveStreamUpdateOrder: 0
  probationAge: 0
TrajectoryManagement:
  enableReAssoc: 1
  matchingScoreWeight4ReidSimilarity: 0.3848
  matchingScoreWeight4TrackletSimilarity: 0.7981
  maxAngle4TrackletMatching: 90
  maxTrackletMatchingTimeSearchRange: 27
  minBboxSizeSimilarity4TrackletMatching: 0.0
  minMatchingScore4Overall: 0.0
  minMatchingScore4ReidSimilarity: 0.0
  minSpeedSimilarity4TrackletMatching: 0.0
  minTrackletMatchingScore: 0.0
  minTrajectoryLength4Projection: 3
  prepLength4TrajectoryProjection: 58
  reidExtractionInterval: 8
  trackletSpacialSearchRegionScale: 0.01
  trajectoryProjectionLength: 66
  trajectoryProjectionMeasurementNoiseScale: 100
  trajectoryProjectionProcessNoiseScale: 0.01
  useUniqueID: 0
VisualTracker:
  featureFocusOffsetFactor_y: -0.1054
  featureImgSizeLevel: 5
  filterChannelWeightsLr: 0.0339
  filterLr: 0.0767
  gaussianSigma: 0.5687
  useColorNames: 1
  useHog: 1
  visualTrackerType: 1

config_tracker_NvDeepSORT.yml

```

BaseConfig:
  minDetectorConfidence: 0.0762
DataAssociator:
  associationMatcherType: 1
  checkClassMatch: 1
  dataAssociatorType: 0
  matchingScoreWeight4Iou: 0.4551
  matchingScoreWeight4ReidSimilarity: 0.3197
  matchingScoreWeight4SizeSimilarity: 0.7178
  minMatchingScore4Iou: 0.2364
  minMatchingScore4Overall: 0.1794
  minMatchingScore4ReidSimilarity: 0.7505
  minMatchingScore4SizeSimilarity: 0.3291
  minMatchingScore4TentativeIou: 0.2376
  tentativeDetectorConfidence: 0.2479
  thresholdMahalanobis: 12.1875
ReID:
  addFeatureNormalization: 1
  batchSize: 100
  colorFormat: 0
  inferDims:
  - 3
  - 256
  - 128
  inputOrder: 0
  keepAspc: 1
  modelEngineFile: /shared_volume/weights/resnet50_market1501.etlt_b100_gpu0_fp16.engine
  netScaleFactor: 0.01735207
  networkMode: 1
  offsets:
  - 123.675
  - 116.28
  - 103.53
  reidFeatureSize: 256
  reidHistorySize: 100
  reidType: 1
  tltEncodedModel: /shared_volume/weights/resnet50_market1501.etlt
  tltModelKey: nvidia_tao
  workspaceSize: 1000
StateEstimator:
  noiseWeightVar4Loc: 0.0503
  noiseWeightVar4Vel: 0.0037
  stateEstimatorType: 2
  useAspectRatio: 1
TargetManagement:
  earlyTerminationAge: 140
  enableBboxUnClipping: 1
  maxShadowTrackingAge: 84
  maxTargetsPerStream: 150
  minIouDiff4NewTarget: 0.3686
  minTrackerConfidence: 0.1513
  preserveStreamUpdateOrder: 0
  probationAge: 0
TrajectoryManagement:
  useUniqueID: 0

pgie interval → 2

sgie interval → 0

Please upgrade to the latest DeepStream release 8.0. Only NvDCF tracker support PGIE inference interval in this guide: Gst-nvtracker — DeepStream documentation . Do you see the issue only with NvDCF tracker?

Hi, are there any alternatives to updating deepstream release to 8.0? Considering 7.0 release only how can I improve the inference speed with NvDCF tracker while maintaining accuracy? Also, after upgrading to deepstream 8.0 how much of a performance improvement can I expect from the current setup?

And yes removing DeepSort tracker fixed the spamming logs, thank you!