Yolo3 deployment on JETSON TX2

Hello,
I faced problem regarding Yolo object detection deployment on TX2.
I use pre-trained Yolo3 (trained on Coco dataset) to detect some limited objects (I mostly concern on five classes, not all the classes), The speed is low for real-time detection, and the accuracy is not perfect (but acceptable) on my laptop. I’m thinking to make it faster by multithreading or multiprocessing on my laptop, is it possible for yolo?
But my main problem is that algorithm is not running on raspberry pi and nvidia TX2.

Here are my questions:

  1. In general, is it possible to run yolov3 on TX2 without any modification like accelerators and model compression techniques?

  2. I cannot run the model on TX2. Firstly I got error regarding camera, so I decided to run the model on a video, this time I got the ‘cannot allocate memory in static TLS block’ error, what is the reason of this error? the model is too big. It uses 16 GB GPU memory on my laptop and the GPU memory of raspberry and TX2 are less than 8GB. As far as I know there are two solutions, using a smaller model or using tensor RT or pruning. Do you have any idea if there is any other way?

  3. if I use tiny-yolo I will get lower accuracy and this is not what I want. Is there any way to run any object detection model with high performance for real-time in terms of both accuracy and speed (FPS) on raspberry pi or NVIDIA TX2?

  4. If I clean the coco data for just the objects I concern and then train the same model, I would get higher accuracy and speed but the size would not change, Am I correct?

  5. In general, what is the best model in terms of accuracy for real-time detection and what is the best in terms of speed?

  6. How is Mobilenet? Is it better than YOLOs in terms of both accuracy and speed?

I would appreciate if you answer my questions.

Hi,

1. Yes. Darknet can be installed and run on the Jetson devices.

2. Please try our Deepstream sample first.
It can inference YOLO with the .cfg/.weight format directly (TensorRT backend)

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

3. You can get some acceleration with TensorRT.

4. Performace is similar for the same model.
And accuracy depends on the way you train the model.

5. Please give TensorRT a try.

6. MobileNet is faster than YOLOv3.
For accuracy, please check some academic analyses for the details.

Thanks.

1 Like