Please provide the following information when requesting support.
• Hardware (T4/V100/Xavier/Nano/etc)
jetson nano 2g
• Network Type (Detectnet_v2/Faster_rcnn/Yolo_v4/LPRnet/Mask_rcnn/Classification/etc)
Detectnet_v2
• TLT Version (Please run “tlt info --verbose” and share “docker_tag” here)
• Training spec file(If have, please share here)
• How to reproduce the issue ? (This is for errors. Please share the command line and the detailed log here.)
I’ve retrained a model from detectnet_v2 (resnet 18) by TAO, and it’s running good on my Jetson NX and Jetson Nano2g board with a testing file source, but see 2 potential issues for live camera RTSP stream (25fps, 1280*960) for JetsonNano 2g board:
NOTE, both testing are running on a customized Deepstream 6 python sample app which based on test4, it now can support read a rtsp source and send detected objects info to a remote kafka server.
Low inference performance
I got 6 FPS in jetson nano 2g board, is it a reasonable result?
Any recommendation to improve?
Too large time lagging
With the low perf, the real-time inference is impossible, from my testing, the inference osd window show minutes delay from live camera monitor, as I think it’s caused by buffering un-inferenced frames.
Any Python code sample to follow to disable or lower the input RTSP buffer in my Python app, that means I prefer to drop old frames, and keep the latest frames as priority to do inferencing?
The fps depends on hardware, the input-size of your trained model, the classes quantities, the pruned ratio of your model, fp16/int8 mode, batch-size , etc.
Please consider to train a smaller model, prune/retrain as much as possible.
I looked the perf chart for DashCamNet which say Jetson Nano (may the model 4G?) can reach 17FPS, as my model is quite similar to it: retrained from detectnet-v2, and detecting classes is 4.
Can I understand the major perf diff is caused by prune rate?
What is the input-size of model?
Is there anyway to drop frames for mostly catch up with live stream in my situation?
I understand that to achieve real-time inference (no matter 24 or 30 FPS) on my Jetson Nano 2g is quite challenge, or may can’t as the hardware’s low spec.
By the fact of very limited training dataset (<=1000 per class) on hand, I don’t want to sacrifice too much on precision by reduce too much on pruning stage though I’ll try to get a good balance later.
So I’ll still stick with that is there anyway to adjust params when constructing the gstreamer pipelines (I’m using Python code) to drop old frames?
To increase the FPS You could enable the Interval setting in the Deepstream-app.I.e. interval=3. This will produce flickering bounding boxes. To resolve this, use the tracker and enable past frame.