Varun 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
..
MOT17 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
data 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
deep_sort 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
model_data 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
models 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
mot_evaluation 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
runs 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
utils 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
.pre-commit-config.yaml 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
CONTRIBUTING.md 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
LICENSE 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
MOT17Labels.zip 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
README.md 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
detect.py 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
detect_track.py 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
export.py 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
football-video.mp4 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
hubconf.py 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
requirements.txt 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
setup.cfg 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
sprint.mp4 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
train.py 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
tutorial.ipynb 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
val.py 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago
yolov5m.pt 4bd850686c Added "Understanding Multiple Object Tracking using DeepSORT" blogpost 2 years ago

README.md


CI CPU testing YOLOv5 Citation Docker Pulls
Open In Colab Open In Kaggle Join Forum


YOLOv5 🚀 is a family of object detection architectures and models pretrained on the COCO dataset, and represents Ultralytics open-source research into future vision AI methods, incorporating lessons learned and best practices evolved over thousands of hours of research and development.

Documentation

See the YOLOv5 Docs for full documentation on training, testing and deployment.

Quick Start Examples

Install

Clone repo and install requirements.txt in a Python>=3.7.0 environment, including PyTorch>=1.7.

git clone https://github.com/ultralytics/yolov5  # clone
cd yolov5
pip install -r requirements.txt  # install

Inference

YOLOv5 PyTorch Hub inference. Models download automatically from the latest YOLOv5 release.

import torch

# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s')  # or yolov5n - yolov5x6, custom

# Images
img = 'https://ultralytics.com/images/zidane.jpg'  # or file, Path, PIL, OpenCV, numpy, list

# Inference
results = model(img)

# Results
results.print()  # or .show(), .save(), .crop(), .pandas(), etc.

Inference with detect.py

detect.py runs inference on a variety of sources, downloading models automatically from the latest YOLOv5 release and saving results to runs/detect.

python detect.py --source 0  # webcam
                          img.jpg  # image
                          vid.mp4  # video
                          path/  # directory
                          path/*.jpg  # glob
                          'https://youtu.be/Zgi9g1ksQHc'  # YouTube
                          'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream

Training

The commands below reproduce YOLOv5 COCO results. Models and datasets download automatically from the latest YOLOv5 release. Training times for YOLOv5n/s/m/l/x are 1/2/4/6/8 days on a V100 GPU (Multi-GPU times faster). Use the largest --batch-size possible, or pass --batch-size -1 for YOLOv5 AutoBatch. Batch sizes shown for V100-16GB.

python train.py --data coco.yaml --cfg yolov5n.yaml --weights '' --batch-size 128
                                       yolov5s                                64
                                       yolov5m                                40
                                       yolov5l                                24
                                       yolov5x                                16

Tutorials

Environments

Get started in seconds with our verified environments. Click each icon below for details.

Integrations

Weights and Biases Roboflow ⭐ NEW
Automatically track and visualize all your YOLOv5 training runs in the cloud with Weights & Biases Label and export your custom datasets directly to YOLOv5 for training with Roboflow

Why YOLOv5

YOLOv5-P5 640 Figure (click to expand)

Figure Notes (click to expand)
  • COCO AP val denotes mAP@0.5:0.95 metric measured on the 5000-image COCO val2017 dataset over various inference sizes from 256 to 1536.
  • GPU Speed measures average inference time per image on COCO val2017 dataset using a AWS p3.2xlarge V100 instance at batch-size 32.
  • EfficientDet data from google/automl at batch size 8.
  • Reproduce by python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5n6.pt yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt

Pretrained Checkpoints

Table Notes (click to expand)
  • All checkpoints are trained to 300 epochs with default settings. Nano and Small models use hyp.scratch-low.yaml hyps, all others use hyp.scratch-high.yaml.
  • mAPval values are for single-model single-scale on COCO val2017 dataset.
    Reproduce by python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65
  • Speed averaged over COCO val images using a AWS p3.2xlarge instance. NMS times (~1 ms/img) not included.
    Reproduce by python val.py --data coco.yaml --img 640 --task speed --batch 1
  • TTA Test Time Augmentation includes reflection and scale augmentations.
    Reproduce by python val.py --data coco.yaml --img 1536 --iou 0.7 --augment

Contribute

We love your input! We want to make contributing to YOLOv5 as easy and transparent as possible. Please see our Contributing Guide to get started, and fill out the YOLOv5 Survey to send us feedback on your experiences. Thank you to all our contributors!

Contact

For YOLOv5 bugs and feature requests please visit GitHub Issues. For business inquiries or professional support requests please visit https://ultralytics.com/contact.


Model size
(pixels)
mAPval
0.5:0.95
mAPval
0.5
Speed
CPU b1
(ms)
Speed
V100 b1
(ms)
Speed
V100 b32
(ms)
params
(M)
FLOPs
@640 (B)
YOLOv5n 640 28.0 45.7 45 6.3 0.6 1.9 4.5
YOLOv5s 640 37.4 56.8 98 6.4 0.9 7.2 16.5
YOLOv5m 640 45.4 64.1 224 8.2 1.7 21.2 49.0
YOLOv5l 640 49.0 67.3 430 10.1 2.7 46.5 109.1
YOLOv5x 640 50.7 68.9 766 12.1 4.8 86.7 205.7
YOLOv5n6 1280 36.0 54.4 153 8.1 2.1 3.2 4.6
YOLOv5s6 1280 44.8 63.7 385 8.2 3.6 12.6 16.8
YOLOv5m6 1280 51.3 69.3 887 11.1 6.8 35.7 50.0
YOLOv5l6 1280 53.7 71.3 1784 15.8 10.5 76.8 111.4
YOLOv5x6
+ TTA
1280
1536
55.0
55.8
72.7
72.7
3136
-
26.2
-
19.4
-
140.7
-
209.8
-