ultralytics/yolov3
PyTorch implementation of YOLOv3, YOLOv3-SPP, and YOLOv3-tiny for real-time object detection with training, validation, inference, and multi-format export.
解決的問題
本專案提供了 YOLOv3 的 PyTorch 實作,這是一種即時目標檢測模型,可以在圖像或影片中識別並定位物體。它解決了在單次前向傳播中檢測各種尺寸(小、中、大)的多個物體時,對快速、準確且易於部署的系統需求的問題。
工作原理
YOLOv3 將目標檢測視為單一回歸問題,透過單次前向傳播直接從完整圖像中預測邊界框與類別機率。它使用 Darknet-53 作為骨幹網路進行特徵提取,並採用特徵金字塔風格的設計在三個不同的尺度上進行預測。它採用錨框(anchor boxes)來穩定訓練,並使用獨立的邏輯分類器允許單一物體擁有多個標籤。
適用對象
專為需要即時目標檢測能力的開發人員與研究人員設計,範圍涵蓋從部署在高性能 GPU 上的使用者到針對 CPU 與邊緣裝置(透過 YOLOv3-tiny 變體)的使用者。
亮點
- 三種模型變體:包括 YOLOv3(平衡型)、YOLOv3-SPP(透過空間金字塔池化增強精度)以及 YOLOv3-tiny(針對速度與邊緣裝置進行優化)。
- 全面的工具鏈:提供用於訓練、驗證、推論以及將模型匯出為 ONNX、TensorRT 與 CoreML 等格式的內建指令碼。
- 多尺度檢測:透過多尺度特徵圖高效處理不同尺寸的物體。
- PyTorch Hub 整合:允許使用者透過幾行程式碼以程式化方式載入預訓練模型。