Segmentation fault while integrating Byte-Track C++ version with Deepstream

• Hardware Platform: GPU

• DeepStream Version: 5.1

• TensorRT Version: 7.2.2.3

• NVIDIA GPU Driver Version: 455.23.05

• Issue Type: Segmentation Fault (Core Dumped) - NvTracker with custom low level tracker library

I’m trying to integrate the C++ version: ByteTrack/deploy/TensorRT/cpp at main · ifzhang/ByteTrack · GitHub with Deepstream, it includes parts from Deepstream and Byte Track. I’ve followed the instructions from: Gst-nvtracker — DeepStream 6.0 Release documentation. I’ve created a library from the Byte Track CPP code and passed it as the custom low level tracker library for NvTracker plugin. Since the code for NvTracker is closed source, its difficult to get to the root cause of the issue.

GST launch command


gst-launch-1.0 filesrc location= <Path to input video> \
! qtdemux ! h264parse ! nvv4l2decoder \
! m.sink_0 nvstreammux name=m batch-size=1 width=1920 height=1080 \
! nvinfer config-file-path=<Path to PGIE Config> \
! nvtracker ll-lib-file=<Path to libByteTracker.so file> \
! nvdsanalytics config-file=<Path to NvDSAnalytics Config file> \
! nvvideoconvert ! nvdsosd ! nvvideoconvert ! nvv4l2h264enc ! h264parse ! qtmux ! filesink location=<Path to output video>

Instructions to create libByteTracker.so file: GitHub - chirag4798/Byte-Deepstream

I’ve used the Yolov3 model with default configuration as shown in example apps from Deepstream

this how the PGIE config file looks like

[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
#0=RGB, 1=BGR
model-color-format=0
custom-network-config=yolov3.cfg
model-file=yolov3.weights
#model-engine-file=yolov3.engine
labelfile-path=labels.txt
int8-calib-file=yolov3-calibration.table.trt7.0
## 0=FP32, 1=INT8, 2=FP16 mode
network-mode=1
num-detected-classes=80
gie-unique-id=1
network-type=0
is-classifier=0
## 0=Group Rectangles, 1=DBSCAN, 2=NMS, 3= DBSCAN+NMS Hybrid, 4 = None(No clustering)
cluster-mode=2
maintain-aspect-ratio=1
parse-bbox-func-name = NvDsInferParseCustomYoloV3
custom-lib-path =libnvdsinfer_custom_impl_Yolo.so
engine-create-func-name = NvDsInferYoloCudaEngineGet
filter-out-class-ids=1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;

[class-attrs-all]
nms-iou-threshold = 0.18
pre-cluster-threshold = 0.18

Error message

DeInit handle called
Segmentation fault (core dumped)

Please update to latest DS 6.0 GA first and then you can have a try.

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