Python code obj_meta_list returns None after custom parsing output for model

**• Hardware Platform (Jetson / GPU): Jetson Nan
**• DeepStream Version: 6.0.1
**• JetPack Version: 4.6
• TensorRT Version 8.0
**• Issue Type: Bug
**• Iam using deepstream to make face recognition app.
The process will be to use scrfd to detect the face, then use arcface to extract the vector
currently having problems at custom parsing output for scrfd model. Below is the c++ code to render the library, but in the python code obj_meta_list still returns None.

This is my model architech output
image

My C++ code for parsing the output, I have log out the boundbox parameter in the c++ code and it works. But in python code it return None

This is weird. Could you use our demo code to reproduce this problem or attach your demo that I could run in my environment?

This is model .onnx I used (SCRFD for face detect)

I use nvcr.io/nvidia/deepstream-l4t:6.0-base to convert .trt and run deepstream app

/usr/src/tensorrt/bin/trtexec --onnx=./models/srcfd/model.onnx --saveEngine=./models/srcfd/model.engine --explicitBatch --workspace=14336 --fp16 --minShapes=input.1:1x3x640x640 --optShapes=input.1:1x3x640x640 --maxShapes=input.1:1x3x640x640 --shapes=input.1:1x3x640x640

These 3 files: file nvds_parsebbox_scrfd.cpp for custom parse bounding box,
file srcfd_config.txt use for nvinfer, and file python for run app (base on deepstream-test1-usbcam, i just replace the file config path)

https://drive.google.com/drive/folders/18qgtQ9mz5DYv50vMdZQFdRAI_BVbv3kV?usp=sharing

can you help me deploy my code on your environment?

any update please?

Could you attach your label.txt file and the command line for running the program?

my label.txt just contain 2 lines:

face
null

run docker

sudo docker run -it --rm --net=host --runtime nvidia -w /app -v ./app:/app --device /dev/video0:/dev/video0 nvcr.io/nvidia/deepstream-l4t:6.0-base

run app:

python3 usbcam_input.py /dev/video0

Could you print the objectList[0].detectionConfidence in the nvds_parsebbox_scrfd.cpp? Perhaps this value is too low and filtered out.

oh, I checked, the above convert c++ code I didn’t declare the detectionConfidence part so this parameter always returns 0, so the filter cannot pass, in the config file I changed the pre-cluster-threshold=0 and define the parameter detectionConfidence and error have been fixed. Thanks a lot

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