Platform: Jetson Orin Nano Developer Kit JetPack Version: 5.1.2 (L4T 35.4.1) DeepStream Version: 6.2 Model: Face detection model (resnet18_facedetectir Engine: .engine file generated using trtexec (FP16)
Issue:
When running the DeepStream app, the model loads and inference runs, but no bounding boxes are displayed in the output. The pipeline works (no GStreamer or nvinfer crash), but it’s like the post-processing parser is not decoding the outputs correctly.
Questions:
Is a custom bounding box parser required for this model?
What’s the correct format for the output_bbox/BiasAdd post-processing?
Can I use an existing parser from TAO models or must I write one?
I’m initially curious to not see any [osd] configuration in your app config file. While this doesn’t address your questions about post processing, have you ruled out that you are not missing any config to draw the bounding boxes?
Is this still an DeepStream issue to support? Thanks!
nvinfer low-level implementaton is opnsource. The default parser function has been specifically written for the sample resnet10 model. deepstream-test1 does not need a custom bbox parser function. the outputs of the test1 model are
If “DetectPostprocessor::parseBoundingBox” can process the outputs of your model, pleaase write a custom bbox parser function. please refer to this sample cfg and code.
it seems the model layers are similar to resnet10. please comment out ‘custom-lib-path’ and ‘parse-bbox-func-name’ to use the default bbox parsing function, then try agian.
from “create_udpsink_bin failed”, some elements failed to create. you can run the application with “export GST_DEBUG=6” to get more detailed information. or you can use ‘type=2’(3dsink) first. Please refer to this FAQ for accuray issue.
Thank you for the suggestions. I’ve followed each of them carefully, but I’m still unable to see any bounding boxes during inference. Here’s what I’ve done so far:
Model Parser:
I commented out both custom-lib-path and parse-bbox-func-name in the [primary-gie] section to use the default bbox parser, as you suggested. The model (ResNet18-based FaceDetectIR) loads successfully and the engine deserializes without errors.
Sink Configuration:
I’m currently using type=2 for [sink0] to test 3dsink (since udpsink caused a crash previously). The pipeline runs and displays the video, but no bounding boxes are drawn.
Debugging Attempts:
I’ve tested with:
GST_DEBUG="*:2,*nvds*:6"
Verified my .engine file loads correctly
Observed warnings such as:
pad not activated yet
qtdemux: unknown QuickTime node type
Failed to probe pixel aspect ratio
The source .mp4 plays fine in gst-play-1.0 and ffplay
Re-encoded the input video with ffmpeg to avoid container issues
System Info:
Jetson Orin Nano
JetPack 5.1.2
DeepStream 6.3
Model: resnet18_facedetectir_int8.engine from NGC, generated via tao-converter
At this point, the model loads, the video renders, but no bounding boxes are visible, and no inference outputs appear in the logs.
Question:
Given that I’ve tried the default parser and ensured the source video is valid, what else can I check to troubleshoot why inference outputs are not being drawn? Should I consider switching to the older resnet10 model as a sanity test, or is there a known issue with using FaceDetectIR in DeepStream 6.3?
Also, would using a raw deepstream-test1-app with this engine help isolate the issue?
please refer to this topic for facedetectir nvinfer cfg. As written in the topic, facedetectir is too old. please refer to this ready-made facenet sample.
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.