Showing posts with label nvidia jetson object detection. Show all posts
Showing posts with label nvidia jetson object detection. Show all posts

Tuesday, January 9, 2024

NVIDIA Jetson YOLOv8 Object Tracking

NVIDIA Jetson YOLOv8 Object Tracking

YOLOv8 from Ultralytics

Ultralytics YOLOv8 is a cutting-edge, state-of-the-art (SOTA) model that builds upon the success of previous YOLO versions and introduces new features and improvements to further boost performance and flexibility. YOLOv8 is designed to be fast, accurate, and easy to use, making it an excellent choice for a wide range of object detection and tracking, instance segmentation, image classification and pose estimation tasks


Regions Counting Using YOLOv8 (Inference on Video)

  • Region counting is a method employed to tally the objects within a specified area, allowing for more sophisticated analyses when multiple regions are considered. These regions can be adjusted interactively using a Left Mouse Click, and the counting process occurs in real time.
  • Regions can be adjusted to suit the user's preferences and requirements.


Source Code


Install Ultralytics on NVDIA Jetson


Run Python Demo Code







Thursday, July 28, 2022

NVIDIA Jetson YOLO Object Detection

NVIDIA Jetson YOLO Object Detection

Demos showcase how to convert pre-trained yolov3 and yolov4 models through ONNX to TensorRT engines. The code for these 2 demos has gone through some significant changes. More specifically, I have recently updated the implementation with a "yolo_layer" plugin to speed up the inference time of the yolov3/yolov4 models.

What is a YOLO object detector?

When it comes to deep learning-based object detection, there are three primary object detectors you’ll encounter:

  • R-CNN and their variants, including the original R-CNN, Fast R- CNN, and Faster R-CNN
  • Single Shot Detector (SSDs)
  • YOLO
First introduced in 2015 by Redmon et al., their paper, You Only Look Once: Unified, Real-Time Object Detection, details an object detector capable of super real-time object detection, obtaining 45 FPS on a GPU.

You Only Look Once: Unified, Real-Time Object Detection

https://arxiv.org/pdf/1506.02640v3.pdf

YOLOv4

With the original authors work on YOLO coming to a standstill, YOLOv4 was released by Alexey Bochoknovskiy, Chien-Yao Wang, and Hong-Yuan Mark Liao. The paper was titled YOLOv4: Optimal Speed and Accuracy of Object Detection

Author: Alexey Bochoknovskiy, Chien-Yao Wang, and Hong-Yuan Mark Liao
Released: 23 April 2020

YOLOv3

YOLOv3 improved on the YOLOv2 paper and both Joseph Redmon and Ali Farhadi, the original authors, contributed.
Together they published YOLOv3: An Incremental Improvement

The original YOLO papers were are hosted here

Author: Joseph Redmon and Ali Farhadi
Released: 8 Apr 2018

We’ll be using YOLOv3 , YOLOv4 in this blog post, in particular, YOLO trained on the COCO dataset.

The COCO dataset consists of 80 labels.

YOLOv3-416

Image   :   4.46 FPS.

Video    :   4.35 FPS.


YOLOv3-tiny-416

Image  :  22.30 FPS.

Video   :   20.58 FPS.


YOLOv4-416

For NVIDIA Jetson Nano

Image   :  4.46 FPS.

Video   :   4.35 FPS.


For NVIDIA Jetson Xavier NX

Image   :  24.09 FPS.

Video   :   22.33 FPS.


YOLOv4-tiny-416

For NVIDIA Jetson Nano

Image  :  22.41 FPS.

Video   :  20.47 FPS.

For NVIDIA Jetson Xavier NX

Image   :  47.93 FPS.

Video   :   43.13 FPS.

Compare Performance


Hardware NVIDIA Jetson nano 4GB.

Jetpack SDK 4.6.1


Video  MP4 ( 960x540 )








Image JPG  ( 768x576 )






Hardware NVIDIA Jetson Xavier NX

Jetpack SDK 4.6.1



Compare Nano vs. Xavier NX






Run NVIDIA GPU GTX1070

Hardware
CPU :  Intel i3-9100F 3.60GHz
GPU :  NVIDIA GTX1070. ( Driver Version 470.141.03 )

Software
OS : Ubuntu 18.04.6 LTS
Python 3.6.9
CUDA v11.2.67

Python Library
numpy==1.19.4
opencv-python==4.5.1.48
tensorrt==7.2.2.3
pycuda==2019.1.2






YOLOv4-416 ( TensorRT FP16 )

Image ( 576x425 ) >  45.x fps
Video ( 960x540 ) > 40-44 fps

 

YOLOv4-tiny-416 ( TensorRT FP16 )

Image ( 576x425 ) > 110-115 fps
Video ( 960x540 ) >  86-107 fps



Compare Performance








NVIDIA Jetson Nano Object detection with YOLOv3-416
https://youtu.be/8XmceZQHWSc

NVIDIA Jetson Nano Object detection with YOLOv3-tiny-416

NVIDIA Jetson Nano Object detection with YOLOv4-416

NVIDIA Jetson Nano Object detection with YOLOv4-tiny-416

NVIDIA Jetson Xavier Object detection with YOLOv4-416

NVIDIA Jetson Xavier Object detection with YOLOv4-tiny-416


NVIDIA GPU GTX1070 Object detection with YOLOv4-tiny-416

https://youtu.be/5JSsxoGNGC4


Reference

TensorRT demos

https://github.com/jkjung-avt/tensorrt_demos


You Only Look Once: Unified, Real-Time Object Detection

https://arxiv.org/pdf/1506.02640v3.pdf


YOLOv3: An Incremental Improvement

https://arxiv.org/pdf/1804.02767.pdf


YOLOv4: Optimal Speed and Accuracy of Object Detection

https://arxiv.org/pdf/2004.10934.pdf


DarkNet YOLO

https://github.com/AlexeyAB/darknet


YOLO Object Detection

https://pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/


Website : https://softpower.tech