ultralytics/yolov5
Ultralytics YOLOv5 in PyTorch for object detection, instance segmentation, classification, training, and export.
What it solves
YOLOv5 provides a fast, accurate, and easy-to-use framework for common computer vision tasks. It addresses the need for real-time object detection, image segmentation, and image classification that can be deployed across various hardware environments.
How it works
Built on the PyTorch framework, YOLOv5 uses a series of model sizes (from nano to extra-large) to balance speed and accuracy. It allows users to perform inference via PyTorch Hub, a dedicated detect.py script for various input sources (webcams, videos, URLs), and a train.py script for training on custom datasets. The system supports exporting models to multiple formats like ONNX, TensorRT, TFLite, and CoreML for optimized deployment.
Who it’s for
It is designed for developers and AI researchers who need a production-ready vision model that is accessible and simple to implement, ranging from those deploying on high-end NVIDIA GPUs to those using edge devices like NVIDIA Jetson.
Highlights
- Multi-task support: Capable of object detection, instance segmentation, and image classification.
- High performance: Offers a range of model scales (n, s, m, l, x) to fit different hardware constraints.
- Flexible inference: Supports a wide variety of input sources including RTSP streams, YouTube URLs, and local files.
- Extensive deployment options: Includes tools for model pruning, sparsity, and export to various industry-standard formats.