Custom yolov4 deepstream5.1

Please provide complete information as applicable to your setup.

**• Hardware Platform: Jetson nano
**• DeepStream Version: 5.1 or 6
**• JetPack Version: 4.5.1
**• TensorRT Version: TensorRT 7.1.3

•	Issue Type questions / bugs

Hi nvidia community !!,

I have a question concerning a yolov4 model that I trained (custom classes) and I wanted to integrate this model into a Jetson nano using nvidia SDK deepstream_5.1.
It’ works but…

Among the classes that I trained two of them have sometimes overlap boxes (just for the illustration and as example if car and red_car are two different classes, a picture containing a red car in darknet will return 2 boxes with a perfect overlap (same coordinates)). I know it’s weird but anyway darknet deals perfectly with this situation and I recover both classes and even when the boxes overlap perfectly.

To use yolov4 on nano I used Deepstream_5.1 (inside a container) which give really nice result in term of inference. Unfortunately, the engine generator for yolov4 is not yet perfectly incorporate in deepstream and need a lot of prerequisites to work (especially if you use the docker container of deepstream5). Thanks to the very nice repo of Marcos_Luciano (GitHub - marcoslucianops/DeepStream-Yolo: NVIDIA DeepStream SDK 6.1 / 6.0.1 / 6.0 configuration for YOLO models) it is possible to easily convert/parse yolov4 and use it along with deepstream5.1.

But I notice that in the case on my example (two classes with sometimes same boxes coordinates) I didn’t get both classes. It’s seems that it return only one of them (probably the one with the highest probability usually car or rarely red_car but never both).

I suspect somewhere in the code a kind of nms maybe responsible for that?? but I’m not mastering C++ enough to figure it out where could be this.

If anyone faced the same issue or have any idea on that subject. It will be really helpful.

Thx all !

Hi,

It seems related to the output parser of the nvinfer.
Do you use our default parser in the below folder?

/opt/nvidia/deepstream/deepstream-5.1/sources/objectDetector_Yolo/nvdsinfer_custom_impl_Yolo

Thanks.

Hi,
thx for your reply.
no I am using the one from this repo :
GitHub - marcoslucianops/DeepStream-Yolo: NVIDIA DeepStream SDK 5.1 configuration for YOLO models

Hi,

Are you using a custom parser from the community?
If yes, it’s recommended to check this issue with the author directly.

Thanks.