Object Detection and Recognition: YOLO

Hi Team,

It’s the first time I am using AGX board with ZED Camera for autonomous vehicle project. Please find the information of the board as:
NVIDIA Jetson AGX Xavier [16GB]
L4T 32.4.4 [ JetPack 4.4.1 ]
Ubuntu 18.04.5 LTS
Kernel Version: 4.9.140-rt93-tegra
CUDA 10.2.89
CUDA Architecture: 7.2
OpenCV version: 4.1.1
OpenCV Cuda: NO
Vision Works:
VPI: 0.4.4
Vulcan: 1.2.70

I want to use YOLO model for object detection and recognition. I have few questions as :

  1. I came across various versions of YOLO but I am confused which version of YOLO should I use, whether I should use YOLOv3 tiny, YOLOv3 or YOLOv4?
  2. Which framework should I select darknet or Tensorflow, I want to use C++ programming language.
  3. Do I need to use Deepstream SDK? If yes which version of it I should use?
  4. Is there any sample code matching the requirements?



1. This depends on your use case.
YOLOv3, YOLOv3 Tiny, and YOLOv4 are different in accuracy vs. performance.
There are lots of papers discuss this. Please google it and check.

2. In general, we recommended using TensorRT for better performance on Jetson.
TensorRT currently supports ONNX and Darnet model formats.
In our experience, the model that comes from Darnet is much easier to convert into TensorRT.

3. Yes. Please.
Deepstream provides an optimized pipeline for Jetson devices.
Currently, please use v5.1 for JetPack4.5.1.

4. Yes. We have a built-in/GitHub sample for the YOLO model.
YOLOv3/YOLOv3 Tiny: /opt/nvidia/deepstream/deepstream-5.1/sources/objectDetector_Yolo
YOLOv4: GitHub - NVIDIA-AI-IOT/yolov4_deepstream


Thanks for the quick feedback. But I am using Jetpack 4.4.1, which version of Deepstream sdk should I use, as the suggested version is for Jetpack 4.5.1.

Thanks and Regards!


Please try Deepstream 5.0 for the JetPack 4.4.1.
If you set up the system with SDK manager, it will select the corresponding package automatically.