detectnet with DeepStream (Solved)

I tried mixing 2 of NVIDIA’s demo drops:
a) The “2 days to a demo” tutorial on Jetson provides example networks for classification, detection and segmentation. I used the trained facenet-120 network for detection.
b) Deepstream comes with a config file and Resnet built in.

I used the facenet-120 network in the DeepStream config file(instead of ResNet), and ran DeepStream on a video file with faces. The video ran through fine, but didn’t show any boxes around the faces.

Any hints/suggestions?

Thanks.

Hi,

Some parameter you may need to adjust:

• model-file
• proto-file
• model-cache, if already generated
• labelfile-path
• mean-file, if required
• offsets, if required
• parse-func, must be set to 0, used for detectors
• parse-bbox-func-name, for detectors
• parse-bbox-lib-name, for detectors

You can find more information in our document:
➤ Application Customization
➤ Custom Open Model

Thanks.

Hi,

Another issue is that the output format of detectNet and resNet is different.
Please use the attached parser for detectNet:

1. Compile the detectNet’s parser

unzip parser_detectnet.zip 
cd parser_detectnet
make

2. Update the config file

...
parse-func=0
parse-bbox-func-name=parse_bbox_custom_detectnet
parse-bbox-lib-name=/path/to/the/parser_detectnet/libnvparsebbox.so
...

Thanks
parser_detectnet.zip (2.45 KB)

AastaLLL, thanks for those suggestions. I tried them out, but still am not seeing any boxes around the faces.

Considering that these are both NVIDIA demos (without any customer specific files), it would be helpful if you (or someone from NVIDIA) could try this out, and provide the new Deepstream configuration file that successfully shows faces. Perhaps it needs some more parameters to be tuned.

I’m using the Jetson TX2, BTW.

Thank you.

Hi,

We have updated a DetectNet sample to this GitHub:
https://github.com/AastaNV/DeepStream

Thanks.

Hi AastaLLL,

That’s very much appreciated, thank you. It works quite well now.

I see that the main differences are: net-scale-factor of 1, instead of the prior 0.003, and a small change in the network topology (removal of one layer, and a change in the input image size). Of course, the network weights are different, I’m sure.

The rest of the DeepStream parameters have not changed much, (or the changes are No-ops).

Very nice to hear back from NVIDIA with a working solution. Thanks again.

Hi AastaLLL,

A follow-up question on Comment #2, where you provided a parser function. Where can I find documentation on writing similar parser functions for different types of DNNs?

Thanks.

Hi,

We don’t have a document for it yet.
Please follow the signature of this function:
https://github.com/AastaNV/DeepStream/blob/master/parser_detectnet/nvparsebbox.h#L27

Thanks.

Hi Aasta,

Could you clarify which document you are referencing above?

-albertr

Hi,

You can open the document after you untar the DeepStream package:

$ tar xpvf DeepStream_SDK_on_Jetson_1.5_pre-release.tbz2
$ tar xpvf NVIDIA_IVA_SDK_References.tar

Launch the document from Start_IVA_Docs.html.

Thanks.

Do they still need to be adjusted in case of use of github DeepStream sample?
In my case I can specify uri file and see it as playing either with app-gui or without gui, but I can not see vehicles detected.

Hi, Andrey1984

Which version do you use?
Thanks.

I used 1.5 version, but focused my attention on 3.0 for xavier already, as it seems more innovative

YES. Please let us know if you have any issue for the DS 3.0. (New topic will be better~)

May I know if 1.5 version at tx2 works with DetectNet at your side if using the default video file sample_720p.mp4 ?
Thanks

Please check this comment for the suggestion:
https://devtalk.nvidia.com/default/topic/1037835/deepstream-sdk-on-jetson/deepstream-and-jetpack-3-3/post/5311023/#5311023

Thanks.

Hi
I wanted to know can I get a similar documentation on “using custom models with the deepstream sdk3.0” on Tesla platform

Hi
I wanted to know can I get a similar documentation on “using custom models with the deepstream sdk3.0” on Tesla platform

Hi,

with deepstream 4.0, I get the following error,

nvinfer gstnvinfer.cpp:511:gst_nvinfer_logger:<primary-nvinference-engine> NvDsInferContext[UID 1]:fillDetectionOutput(): Failed to parse bboxes using custom parse function
Segmentation fault (core dumped)

my config.txt

batch-size=2
network-mode=1
process-mode=1
model-color-format=0
num-detected-classes=1
interval=0
gie-unique-id=1
output-blob-names=coverage;bboxes
parse-bbox-func-name=parse_bbox_custom_detectnet
custom-lib-path=/parser_detectnet/libnvparsebbox.so

can someone help me to solve this?

created a new issues.

https://devtalk.nvidia.com/default/topic/1058917/deepstream-sdk/deepstream-4-0-custom-parser-function/