YOLOv5

開始之前

請在已安裝 Python>=3.8 和 PyTorch>=1.7 的環境中開始。有關安裝 PyTorch 的資訊,請參見 https://pytorch.com.tw/get-started/locally/。要安裝 YOLOv5 依賴項,請執行以下操作:

pip install -U ultralytics

模型描述

YOLO Model Comparison

Ultralytics YOLOv5 🚀 是一款尖端、最先進 (SOTA) 的模型,它建立在先前 YOLO 版本的成功基礎之上,並引入了新功能和改進,以進一步提高效能和靈活性。YOLOv5 的設計宗旨是速度快、準確性高且易於使用,使其成為廣泛的物體檢測、例項分割和影像分類任務的絕佳選擇。

我們希望這裡的資源能幫助您充分利用 YOLOv5。請瀏覽 YOLOv5  文件 獲取詳細資訊,在 GitHub 上提交問題以獲得支援,並加入我們的 Discord 社群進行提問和討論!

模型尺寸
(畫素)
mAPval
50-95
mAPval
50
速度
CPU b1
(毫秒)
速度
V100 b1
(毫秒)
速度
V100 b32
(毫秒)
引數
(百萬)
FLOPs
@640 (億)
YOLOv5n64028.045.7456.30.61.94.5
YOLOv5s64037.456.8986.40.97.216.5
YOLOv5m64045.464.12248.21.721.249.0
YOLOv5l64049.067.343010.12.746.5109.1
YOLOv5x64050.768.976612.14.886.7205.7
         
YOLOv5n6128036.054.41538.12.13.24.6
YOLOv5s6128044.863.73858.23.612.616.8
YOLOv5m6128051.369.388711.16.835.750.0
YOLOv5l6128053.771.3178415.810.576.8111.4
YOLOv5x6
+ [TTA]
1280
1536
55.0
55.8
72.7
72.7
3136
26.2
19.4
140.7
209.8
表格註釋

– 所有檢查點均以預設設定訓練 300 個 epoch。Nano 和 Small 模型使用 [hyp.scratch-low.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-low.yaml) 超引數,所有其他模型使用 [hyp.scratch-high.yaml](https://github.com/ultralytics/yolov5/blob/master/data/hyps/hyp.scratch-high.yaml)。 – **mAPval** 值是針對 [COCO val2017](http://cocodataset.org) 資料集上的單模型單尺度。
透過 `python val.py –data coco.yaml –img 640 –conf 0.001 –iou 0.65` 重現 – **速度** 平均於使用 [AWS p3.2xlarge](https://aws.amazon.com/ec2/instance-types/p3/) 例項的 COCO val 影像。不包括 NMS 時間(約 1 毫秒/影像)。
透過 `python val.py –data coco.yaml –img 640 –task speed –batch 1` 重現 – **TTA** [測試時間增強](https://docs.ultralytics.com/yolov5/tutorials/test_time_augmentation) 包括反射和尺度增強。
透過 `python val.py –data coco.yaml –img 1536 –iou 0.7 –augment` 重現

從 PyTorch Hub 載入

此示例載入預訓練的 YOLOv5s 模型並傳入影像進行推理。YOLOv5 接受 URL、 檔名、 PIL、 OpenCV、 Numpy 和 PyTorch 輸入,並以 torch、 pandas 和 JSON 輸出格式返回檢測結果。詳情請參見 YOLOv5 PyTorch Hub 教程

import torch

# Model
model = torch.hub.load('ultralytics/yolov5', 'yolov5s', pretrained=True)

# Images
imgs = ['https://ultralytics.com/images/zidane.jpg']  # batch of images

# Inference
results = model(imgs)

# Results
results.print()
results.save()  # or .show()

results.xyxy[0]  # img1 predictions (tensor)
results.pandas().xyxy[0]  # img1 predictions (pandas)
#      xmin    ymin    xmax   ymax  confidence  class    name
# 0  749.50   43.50  1148.0  704.5    0.874023      0  person
# 1  433.50  433.50   517.5  714.5    0.687988     27     tie
# 2  114.75  195.75  1095.0  708.0    0.624512      0  person
# 3  986.00  304.00  1028.0  420.0    0.286865     27     tie

引用

如果您在研究中使用 YOLOv5 或 YOLOv5u,請按如下方式引用 Ultralytics YOLOv5 儲存庫:

@software{yolov5,
  title = {YOLOv5 by Ultralytics},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

聯絡方式

有關 YOLOv5 的錯誤報告和功能請求,請訪問 GitHub Issues,並加入我們的 Discord 社群進行提問和討論!

Ultralytics YOLOv5 🚀 用於目標檢測、例項分割和影像分類。

模型型別: 可指令碼化 | 視覺
提交者: Ultralytics