Home ONNX YOLOv9 MIT Object Detection
Post
Cancel

Open In Github

Python scripts performing object detection using the YOLOv9 MIT model in ONNX.

!ONNX YOLOv9 Object Detection

[!CAUTION] I skipped adding the pad to the input image when resizing, which might affect the accuracy of the model if the input image has a different aspect ratio compared to the input size of the model. Always try to get an input size with a ratio close to the input images you will use.

Requirements

  • Check the requirements.txt file.
  • For ONNX, if you have a NVIDIA GPU, then install the onnxruntime-gpu, otherwise use the onnxruntime library.

Installation PyPI

1
pip install yolov9-onnx

Or, clone this repository:

1
2
3
git clone https://github.com/ibaiGorordo/ONNX-YOLOv9-MIT-Object-Detection.git
cd ONNX-YOLOv9-MIT-Object-Detection
pip install -r requirements.txt

ONNX Runtime

For Nvidia GPU computers: pip install onnxruntime-gpu

Otherwise: pip install onnxruntime

ONNX model

  • If the model file is not found in the models directory, it will be downloaded automatically from the release page.
  • Or, for exporting the models with a different input size, use the Google Colab notebook to convert the model: Open In Colab
  • Available models:
    • MIT: v9-s_mit.onnx, v9-m_mit.onnx, v9-c_mit.onnx
    • Official: gelan-c.onnx, gelan-e.onnx, yolov9-c.onnx, yolov9-e.onnx

Original YOLOv9 MIT model

The original YOLOv9 MIT model can be found in this repository: YOLOv9 MIT Repository

  • The License of the models is MIT license: License

Usage

1
2
3
4
5
6
7
8
9
10
11
12
import cv2
from yolov9 import YOLOv9, draw_detections

detector = YOLOv9("v9-c_mit.onnx")

img = cv2.imread("image.jpg")

class_ids, boxes, confidences = detector(img)

combined_img = draw_detections(img, boxes, confidences, class_ids)
cv2.imshow("Detections", combined_img)
cv2.waitKey(0)

Load the model

Examples

  • Image inference:
    1
    
     python image_object_detection.py
    
  • Webcam inference:
    1
    
     python webcam_object_detection.py
    
  • Video inference: https://youtu.be/X_XVkEqgCUM
    1
    
     python video_object_detection.py
    

https://github.com/user-attachments/assets/71b3ef97-92ef-4ddb-a62c-5e52922a396d

References:

This post is licensed under CC BY 4.0 by the author.