ultralytics/yolov3
PyTorch implementation of YOLOv3, YOLOv3-SPP, and YOLOv3-tiny for real-time object detection with training, validation, inference, and multi-format export.
📦 什麼是 Ultralytics YOLOv3?
Ultralytics YOLOv3 是經典 YOLOv3 物件偵測模型的開源 PyTorch 實作。它讓您能在自己的資料或 COCO 基準上,對三種預設變體——YOLOv3、YOLOv3‑SPP 和 YOLOv3‑tiny——進行 訓練、驗證、執行推論與匯出。
🚀 主要功能(如 README 所述)
| 功能 | 詳細 |
|---|---|
| 即時單階段檢測 | 一次前向傳播即可產生邊界框與類別機率。 |
| 三種模型大小 | • YOLOv3 – 完整的 Darknet‑53 主幹(速度/準確度最佳平衡) |
| • YOLOv3‑SPP – 加入空間金字塔池化以略微提升準確度 | |
| • YOLOv3‑tiny – 輕量級,雙尺度模型,適用於 CPU/邊緣裝置。 | |
| 多尺度預測 | 透過三個特徵圖尺度檢測小、中、大型物件。 |
| 多標籤支援 | 獨立的邏輯分類器允許重疊的類別標籤。 |
| 匯出至多種格式 | 透過 export.py 支援 TorchScript、ONNX、OpenVINO、TensorRT、CoreML、PaddlePaddle。 |
| 整合功能 | 支援 Weights & Biases、Comet ML、Roboflow、Intel OpenVINO 及雲端筆記本(Colab、Kaggle、Gradient、Docker、SageMaker、GCP 等)。 |
| 預訓練 COCO 檢查點 | 自動下載(yolov3.pt、yolov3‑spp.pt、yolov3‑tiny.pt)。 |
| 訓練工具 | 提供 train.py、val.py、detect.py 腳本;支援超參數調校、多 GPU、測試時增強、集成。 |
🛠️ 快速上手(來自 README 的快速啟動)
# 克隆並安裝
git clone https://github.com/ultralytics/yolov3
cd yolov3
pip install -r requirements.txt # Python ≥3.8, PyTorch ≥1.8
透過 PyTorch Hub 進行推論
import torch
model = torch.hub.load('ultralytics/yolov3', 'yolov3', pretrained=True) # 或 yolov3_spp / yolov3_tiny
results = model('https://ultralytics.com/images/zidane.jpg')
results.print() # 控制台輸出
results.show() # 弹出視窗
results.save() # 儲存至 runs/detect/exp
使用內建腳本進行推論
python detect.py --weights yolov3.pt --source 0 # 鏡頭
python detect.py --weights yolov3.pt --source img.jpg # 單一影像
python detect.py --weights yolov3.pt --source vid.mp4 # 影片檔案
在 COCO 上訓練(將 --weights '' 改為從頭開始)
python train.py --data coco.yaml --epochs 300 --weights '' \
--cfg yolov3.yaml --batch-size 32 # 完整模型
python train.py --data coco.yaml --epochs 300 --weights '' \
--cfg yolov3-tiny.yaml --batch-size 64 # 輕量模型
驗證與匯出:
python val.py --weights yolov3.pt --data coco.yaml
python export.py --weights yolov3.pt --include onnx # 加入 torchscript、openvino 等
📚 文件與協助
- 完整文件: https://docs.ultralytics.com/models/yolov3
- README 中連結了教學(自訂資料、多 GPU、TTA、集成、超參數調校等)。
- 透過 GitHub Issues、Discord、Reddit 和 Ultralytics 論壇取得社群支援。
📄 授權
- AGPL‑3.0:用於開源用途(研究、非商業用途)。
- 企業授權:商業產品可用。
🎯 誰會使用它?
- 需要明確基線進行物件偵測的研究人員。
- 在 GPU、CPU 或邊緣裝置上開發即時偵測應用的開發者。
- 希望使用單一程式碼庫完成訓練、推論與部署格式匯出的團隊。
- 上述所有資訊皆直接取自倉儲的 README;未推斷任何額外功能。*
相關
- 專案
- 專案
- 專案
- 專案
- 專案