Spaces:
Build error
A newer version of the Gradio SDK is available: 6.12.0
Ultralytics YOLOv8 Object Detection with OpenCV and ONNX
This example demonstrates how to implement Ultralytics YOLOv8 object detection using OpenCV in Python, leveraging the ONNX (Open Neural Network Exchange) model format for efficient inference.
π Getting Started
Follow these simple steps to get the example running on your local machine.
Clone the Repository: If you haven't already, clone the Ultralytics repository to access the example code:
git clone https://github.com/ultralytics/ultralytics.git cd ultralytics/examples/YOLOv8-OpenCV-ONNX-Python/Install Requirements: Install the necessary Python packages listed in the
requirements.txtfile. We recommend using a virtual environment.pip install -r requirements.txtRun the Detection Script: Execute the main Python script, specifying the ONNX model path and the input image.
python main.py --model yolov8n.onnx --img image.jpgThe script will perform object detection on
image.jpgusing theyolov8n.onnxmodel and display the results.
π οΈ Exporting Your Model
If you want to use a different Ultralytics YOLOv8 model or one you've trained yourself, you need to export it to the ONNX format first.
Install Ultralytics: If you don't have it installed, get the latest
ultralyticspackage:pip install ultralyticsExport the Model: Use the
yolo exportcommand to convert your desired model (e.g.,yolov8n.pt) to ONNX. Ensure you specifyopset=12or higher for compatibility with OpenCV's DNN module. You can find more details in the Ultralytics Export documentation.yolo export model=yolov8n.pt imgsz=640 format=onnx opset=12This command will generate a
yolov8n.onnxfile (or the corresponding name for your model) in your working directory. You can then use this.onnxfile with themain.pyscript.
π€ Contributing
Contributions are welcome! If you find any issues or have suggestions for improvement, please feel free to open an issue or submit a pull request to the main Ultralytics repository. Thank you for helping us make Ultralytics YOLO even better!