Is it possible to run the Single-View 3D Tracking (deepstream_reference_apps /deepstream-tracker-3d) with TensorRT Inference Option?

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) GeForce RTX 4070 Laptop GPU
• DeepStream Version 7.0
• TensorRT Version 8.6.1.6-1+cuda12.0
• NVIDIA GPU Driver Version (valid for GPU only) 535.161.08
• Issue Type( questions, new requirements, bugs) questions
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Is it possible to run the Single-View 3D Tracking (deepstream_reference_apps /deepstream-tracker-3d) with TensorRT Inference Option? Not docker.

The sample app can also run in host machine if the DeepStream SDK is installed.

Hi Fiona. Thanks for reply.

I had followed the instruction for using the “deepstream-tracker-3d” app:
From deepstream_reference_apps
README:
Preferably clone this project in
/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/
.
.
.
For further details, please see each project’s README.

Single-View 3D Tracking: README

The sample demostrates usage of single-view 3D tracking with DeepStream nvtracker.

When I run the code, there is the error:

sudo deepstream-app -c deepstream_app_source1_3d_tracking.txt
Warning: ‘input-dims’ parameter has been deprecated. Use ‘infer-dims’ instead.
libEGL warning: DRI3: Screen seems not DRI3 capable
libEGL warning: DRI2: failed to authenticate
gstnvtracker: Loading low-level lib at /opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so
~~ CLOG[src/modules/ReID/ReID.cpp, loadTRTEngine() @line 605]: Engine file does not exist
[NvMultiObjectTracker] Load engine failed. Create engine again.

!![ERROR] TAO model file does not exist
[NvMultiObjectTracker] De-initialized
An exception occurred. TAO model file does not exist
gstnvtracker: Failed to initialize tracker context!
gstnvtracker:: Failed to create batch context. Shutting down processing.
** ERROR: main:706: Failed to set pipeline to PAUSED
Quitting
nvstreammux: Successfully handled EOS for source_id=0
App run failed

The models are as follow:

Have you install DeepStream SDK in your host machine?

Please follow Gst-nvtracker — DeepStream documentation 6.4 documentation to download the reidentification model to the correct path.

Yes I have installed the DeepStream SDK in my host machine. I can run the deepstream_python_app perfectly (with no issues).

After I download the reidentification model to the correct path, there is new error:

sudo deepstream-app -c deepstream_app_source1_3d_tracking.txt
Warning: ‘input-dims’ parameter has been deprecated. Use ‘infer-dims’ instead.
libEGL warning: DRI3: Screen seems not DRI3 capable
libEGL warning: DRI2: failed to authenticate
gstnvtracker: Loading low-level lib at /opt/nvidia/deepstream/deepstream/lib/libnvds_nvmultiobjecttracker.so
[NvMultiObjectTracker] Loading TRT Engine for tracker ReID…
[NvMultiObjectTracker] Loading Complete!
ERROR: [TRT]: 3: [runtime.cpp::~Runtime::346] Error Code 3: API Usage Error (Parameter check failed at: runtime/rt/runtime.cpp::~Runtime::346, condition: mEngineCounter.use_count() == 1. Destroying a runtime before destroying deserialized engines created by the runtime leads to undefined behavior.
)
[NvMultiObjectTracker] Initialized
WARNING: …/nvdsinfer/nvdsinfer_model_builder.cpp:1494 Deserialize engine failed because file path: /opt/nvidia/deepstream/deepstream-7.0/sources/apps/sample_apps/deepstream_reference_apps/deepstream-tracker-3d/configs/…/models/PeopleNet/resnet34_peoplenet_int8.etlt_b1_gpu0_int8.engine open error
0:00:04.636725768 25254 0x5cd5019a6d90 WARN nvinfer gstnvinfer.cpp:679:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::deserializeEngineAndBackend() <nvdsinfer_context_impl.cpp:2083> [UID = 1]: deserialize engine from file :/opt/nvidia/deepstream/deepstream-7.0/sources/apps/sample_apps/deepstream_reference_apps/deepstream-tracker-3d/configs/…/models/PeopleNet/resnet34_peoplenet_int8.etlt_b1_gpu0_int8.engine failed
0:00:04.764604006 25254 0x5cd5019a6d90 WARN nvinfer gstnvinfer.cpp:679:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Warning from NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2188> [UID = 1]: deserialize backend context from engine from file :/opt/nvidia/deepstream/deepstream-7.0/sources/apps/sample_apps/deepstream_reference_apps/deepstream-tracker-3d/configs/…/models/PeopleNet/resnet34_peoplenet_int8.etlt_b1_gpu0_int8.engine failed, try rebuild
0:00:04.764619933 25254 0x5cd5019a6d90 INFO nvinfer gstnvinfer.cpp:682:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Info from NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:2109> [UID = 1]: Trying to create engine from model files
NvDsInferCudaEngineGetFromTltModel: Failed to open TLT encoded model file /opt/nvidia/deepstream/deepstream-7.0/sources/apps/sample_apps/deepstream_reference_apps/deepstream-tracker-3d/configs/…/models/PeopleNet/resnet34_peoplenet_int8.etlt
ERROR: …/nvdsinfer/nvdsinfer_model_builder.cpp:733 Failed to create network using custom network creation function
ERROR: …/nvdsinfer/nvdsinfer_model_builder.cpp:799 Failed to get cuda engine from custom library API
0:00:08.840741122 25254 0x5cd5019a6d90 ERROR nvinfer gstnvinfer.cpp:676:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:2129> [UID = 1]: build engine file failed
free(): double free detected in tcache 2
Aborted

It seams that the config file is point to a .etlt model type. But in the deepstream-tracker-3d README.md say to download a .onnx model type, as follow:
deepstream-tracker-3d
├── configs
├── streams
└── models
└── PeopleNet
├── labels.txt
├── resnet34_peoplenet.onnx
└── resnet34_peoplenet_int8.txt

Hi Fiona,
I used the peoplenet .onnx model and config file from deepstream_tao_app. Now the “deepstream-tracker-3d” works fine.

Many thanks.

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