Question about using hog performance on Jetson

Please provide complete information as applicable to your setup.

We are using NvDCF tracker and we wanted to ask if there’s a way to get track objects by using ColorNames and hog features without losing a significant amount of FPS and without increasing the primary inference interval.

**PERF:  39.47 (39.34)  39.47 (39.34)   39.47 (39.34)   39.47 (39.34)   39.26 (39.13)   39.26 (39.13)   39.26 (39.13)
**PERF:  39.42 (39.37)  39.42 (39.37)   39.42 (39.37)   39.42 (39.37)   39.42 (39.27)   39.42 (39.27)   39.42 (39.27)

This is the performance with the tracker with the sample configuration file config_tracker_NvDCF_perf.yml

**PERF:  30.31 (30.10)  30.31 (30.10)   30.31 (30.10)   30.31 (30.10)   30.31 (30.10)   30.31 (30.10)   30.31 (30.10)
**PERF:  28.68 (28.87)  28.68 (28.87)   28.68 (28.87)   28.68 (28.87)   28.68 (28.87)   28.68 (28.87)   28.68 (28.87)

This is the performance by enabling hog useHog = 1 in config_tracker_NvDCF_perf.yml

**PERF:  17.52 (16.83)  17.52 (16.83)   17.52 (16.83)   19.94 (18.99)   19.94 (18.99)   17.52 (16.83)   17.52 (16.83)
**PERF:  17.86 (17.80)  17.86 (17.80)   17.86 (17.80)   17.86 (18.14)   17.86 (18.14)   17.86 (17.80)   17.86 (17.80)
**PERF:  17.72 (17.71)  17.72 (17.71)   17.72 (17.71)   17.72 (17.89)   17.72 (17.89)   17.72 (17.71)   17.72 (17.71)

Is this the expected performance?

Here’s the Deepstream app configuration file.

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=5

[source0]
enable=1
type=3
uri=file://sample_1080p_h264.mp4
num-sources=7
#drop-frame-interval=2
gpu-id=0
# (0): memtype_device   - Memory type Device
# (1): memtype_pinned   - Memory type Host Pinned
# (2): memtype_unified  - Memory type Unified
cudadec-memtype=0

[sink0]
#source0 output as filesink
enable=1
type=1
sync=0
source-id=0

[streammux]
gpu-id=0
live-source=0
batch-size=7
batched-push-timeout=33000
width=1920
height=1080
enable-padding=0
nvbuf-memory-type=0
# attach-sys-ts-as-ntp=1

[tracker]
enable=1
tracker-width=256
tracker-height=256
ll-lib-file=/opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so
ll-config-file=config_tracker_NvDCF_perf.yml
gpu-id=0
enable-batch-process=1
enable-past-frame=1
display-tracking-id=1

[primary-gie]
enable=1
gpu-id=0
model-engine-file=models/resnet18_trafficcamnet_pruned.etlt_b7_gpu0_int8.engine
labelfile-path=models/labels.txt
batch-size=7
#Required by the app for OSD, not a plugin property
bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;0;1;1
bbox-border-color3=0;1;0;1
interval=0
gie-unique-id=1
nvbuf-memory-type=0
config-file=models/nvinfer_config.txt

[tests]
file-loop=0

Below you can find some of the setup information:
• Hardware Platform (Jetson / GPU): Jetson Xavier NX
• DeepStream Version: 6.1
• JetPack Version 5.0.1
• Power Mode 8
• NVIDIA GPU Driver Version: cuda 11.4
• Issue Type: question

HOG feature extraction in the tracker is done in the VPI lib installed on your Jetson as a part of JetPack. So, the performance of it is determined by the processing time in VPI.

Just to clarify: Are you saing yout 39 FPS with no tracker, 30 FPS with NvDCF_perf.yml, and 19 FPS with NvDCF_perf.yml + HOG? If that’s the case, I would say it is expected. HOG is more expensive features than ColorNames, as HOG has 18 channels while ColorNames as 11 channels.

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