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

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目