How to use another model in sample Python apps

I have a working Python app (modified from the sample app deepstream-rtsp-in-rtsp-out).
Now I’d like to change the used model from Nvidia Primary Detector to YOLOv4 pre-trained weights.
I tried changing the pgie config file, linking the model and its .cfg file, but the app is not working anymore.
The output stream still starts but doesn’t show ROIs or bounding boxes for objects and I have no idea how to get detections or any other info from the Python code.

Here is the new pgie config file:
YOLO pgie_config.txt (2.9 KB)
And the old one:
OLD (NVIDIA) pgie_config.txt (3.1 KB)

It also prints out this message during start-up (no message when using Nvidia model):

Warning: gst-stream-error-quark: No decoder available for type 'application/x-rtp, media=(string)application, payload=(int)98, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, npt-start=(guint64)0, npt-stop=(guint64)212287000000, play-speed=(double)1, play-scale=(double)1, ssrc=(uint)8281'. (6): gsturidecodebin.c(920): unknown_type_cb (): /GstPipeline:pipeline0/GstBin:source-bin-00/GstURIDecodeBin:uri-decode-bin

• Hardware Platform: Jetson Nano
• DeepStream Version: 6.1.1
• JetPack Version: 5.0.2
• Issue Type: Question

Where did you get the YOLOv4 pre-trained weights? You may need a customized postprocessing for your Yolov4 model.

There is already TAO Yolov4 sample in DeepStreamSDK. Please refer to deepstream_reference_apps/deepstream_app_tao_configs at master · NVIDIA-AI-IOT/deepstream_reference_apps (github.com).

1 Like

I downloaded yolov4-tiny.cfg and yolov4-tiny.weights from GitHub - AlexeyAB/darknet: YOLOv4 / Scaled-YOLOv4 / YOLO - Neural Networks for Object Detection (Windows and Linux version of Darknet ). I don’t know what I should do with them other than putting them in the config file like I did.

I took a look at the config files you linked but they use model files from tao_pretrained_models which I don’t have nor know how to acquire.

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

If you use TAO yolov4 pre-trained model, please refer to YOLOv4 with TAO Deploy — TAO Toolkit 4.0 documentation (nvidia.com)

If you want to use 3rd party yolov4 model, please refer to DeepStream SDK FAQ - Intelligent Video Analytics / DeepStream SDK - NVIDIA Developer Forums

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