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 基準上,對三種預設變體——YOLOv3YOLOv3‑SPPYOLOv3‑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.ptyolov3‑spp.ptyolov3‑tiny.pt)。
訓練工具 提供 train.pyval.pydetect.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;未推斷任何額外功能。*

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案