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;未推断任何额外功能。*
相关
- 项目
- 项目
- 项目
- 项目
- 项目