Issue with YOLOv7 License Plate Model in DeepStream 7.1 Pipeline

Details of Setup

  • Hardware Platform (Jetson / GPU): GPU
  • DeepStream Version: 7.1.0
  • TensorRT Version: 10.7.0.23-1+cuda12.6 amd64
  • NVIDIA GPU Driver Version (valid for GPU only): 560.35.03 (CUDA Version: 12.6)

Issue Type: Bug

Description of Issue:

I am reaching out regarding an issue we encountered after upgrading our pipeline from DeepStream 7.0 to 7.1. Previously, our custom YOLOv7 license plate detection model was functioning correctly when run as a secondary in our Python-based pipeline within DeepStream 7.0. However, since migrating to DeepStream 7.1, the license plate boxes are no longer being recognized or detected.

Could you please provide information on any changes introduced in DeepStream 7.1 that might have caused this behavior? Specifically, we would like to know if there were any modifications to the inference pipeline, model loading mechanisms, or API functions between these versions that could affect secondary models. Additionally, are there any known issues or configuration updates required when upgrading from 7.0 to 7.1 that we might have missed?

Any guidance on where to look or what steps to take would be greatly appreciated.

config_infer_secondary_yoloV7_lp.txt:

[property]
gpu-id=0
net-scale-factor=0.0039215697906911373
model-color-format=0
onnx-file=/home/ds_tracker/models/lp_detection/yolov7_lp_detection.onnx
file=/home/ds_tracker/models/lp_detection/yolov7_lp_detection_b1_gpu0_fp32.engine
labelfile-path=/home/ds_tracker/models/lp_detection/labels_lp.txt
batch-size=1
network-mode=0
num-detected-classes=1
interval=0
gie-unique-id=2
process-mode=2
network-type=0
cluster-mode=2
maintain-aspect-ratio=1
symmetric-padding=1
parse-bbox-func-name=NvDsInferParseYoloCuda
custom-lib-path=/home/ds_tracker/custom_libs/nvdsinfer_custom_impl_Yolo/libnvdsinfer_custom_impl_Yolo.so
engine-create-func-name=NvDsInferYoloCudaEngineGet

[class-attrs-all]
nms-iou-threshold=0.45
pre-cluster-threshold=0.25
topk=300

Do you mean you are using your own yolov7 license plate detection model and met accuracy issue with DeepStream 7.1 while works well on DeepStream 7.0?

The GPU compute stack is changed from DeepStream 7.0 to DeepStream 7.1. Installation — DeepStream documentation
CUDA 12.2 → CUDA 12.6
TRT 8.6.1.6 → TRT 10.3.0.26

You may need to verify the yolov7 model accuracy on the new TensorRT version before you deploy it.

It was the an issue with the libnvdsinfer_custom_impl_Yolo.so. I followed the instructions in the repo: GitHub - marcoslucianops/DeepStream-Yolo: NVIDIA DeepStream SDK 7.1 / 7.0 / 6.4 / 6.3 / 6.2 / 6.1.1 / 6.1 / 6.0.1 / 6.0 / 5.1 implementation for YOLO models and also exported the ONNX models again using the provided scripts in the same repo and that fixed the problem.

Related issue: Issue with YOLOv11 Models in DeepStream 7.1 - #4 by mazewalker

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