Ultralytics YOLO27: 加入候补名单。
开始使用

YOLOv5 快速入门 🚀#

本指南是使用 Ultralytics YOLOv5 进行实时目标检测的入门指南。内容涵盖安装、使用 PyTorch Hub 和 detect.py 进行推理,以及训练,帮助你将此深度学习模型应用于自己的项目。

安装#

克隆 YOLOv5 仓库,并在具有 Python>=3.8.0 和 PyTorch>=1.8 的环境中安装其依赖项。

git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies

使用 PyTorch Hub 进行推理#

通过 PyTorch Hub 运行 YOLOv5 推理,该工具会自动从最新 YOLOv5 版本下载模型。此方法使用 PyTorch 加载并运行模型,让你轻松获得预测结果。

import torch

# 模型加载
model = torch.hub.load("ultralytics/yolov5", "yolov5s")  # 可以是 'yolov5n' - 'yolov5x6',也可以是 'custom'

# 对图像进行推理
img = "https://ultralytics.com/images/zidane.jpg"  # 可以是文件、Path、PIL、OpenCV、numpy 或图像列表

# 运行推理
results = model(img)

# 显示结果
results.print()  # 或 .show(), .save(), .crop(), .pandas() 等。

使用 detect.py 进行推理#

使用 detect.py 对多种来源进行推理。它会自动从最新 YOLOv5 版本获取模型,并将结果保存到 runs/detect。此脚本非常适合在命令行中使用以及将 YOLOv5 集成到更大的系统中,支持图像、视频、目录、网络摄像头,甚至实时流等输入。

python detect.py --weights yolov5s.pt --source 0                              # webcam
python detect.py --weights yolov5s.pt --source image.jpg                      # image
python detect.py --weights yolov5s.pt --source video.mp4                      # video
python detect.py --weights yolov5s.pt --source screen                         # screenshot
python detect.py --weights yolov5s.pt --source path/                          # directory
python detect.py --weights yolov5s.pt --source list.txt                       # list of images
python detect.py --weights yolov5s.pt --source list.streams                   # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg'                   # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP stream

训练#

按照以下训练说明,复现 YOLOv5 COCO 数据集基准测试。所需的模型和数据集(例如 coco128.yaml 或完整的 coco.yaml)会直接从最新的 YOLOv5 发布版本获取。在 V100 GPU 上训练 YOLOv5n/s/m/l/x 通常分别需要 1/2/4/6/8 天(请注意,多 GPU 训练配置的速度更快)。使用尽可能大的 --batch-size,或使用 --batch-size -1 启用 YOLOv5 AutoBatch 功能,以充分提升性能;该功能会自动找到最佳批次大小。以下批次大小适用于 V100-16GB GPU。有关模型配置文件(*.yaml)的详细信息,请参阅架构摘要。

# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128

# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64

# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40

# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24

# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
YOLOv5 training curves for COCO dataset

将 YOLOv5 应用于计算机视觉项目时,GitHub 仓库是你提问并与其他开发者和研究人员分享成果的地方。你也可以使用 Ultralytics Platform 管理数据集并免编写代码地训练模型,或浏览解决方案页面,了解实际应用案例。

常见问题#

  • 推理时不需要。PyTorch Hub 会按需下载代码和权重,并使用 torch.hub.load("ultralytics/yolov5", "yolov5s")。运行 train.py、val.py、detect.py 和 export.py 脚本则需要先克隆仓库。

  • 对于大多数项目,yolov5s.pt 在速度和准确率之间取得了最佳平衡。边缘设备可使用 yolov5n.pt;当准确率比速度更重要时,可使用 yolov5m.pt 到 yolov5x.pt;而对于以 1280 像素进行训练,可使用 yolov5s6.pt 等 P6 变体。完整列表请参阅预训练检查点表。

  • 将图像和 YOLO 格式的标签分别放入并列的 images/ 和 labels/ 文件夹,在 dataset.yaml 中描述数据集,然后运行 python train.py --data dataset.yaml --weights yolov5s.pt。训练自定义数据教程会逐步讲解整个流程。

  • YOLOv5 已趋于稳定,并仍在独立仓库中获得全面支持,但它已不是最新模型。对于新项目,YOLO26 在 ultralytics 软件包中速度更快、精度更高,并可在导出时实现端到端无 NMS,使用的 pip install ultralytics 工作流与 Quickstart 中所述相同。

评论

提出问题、分享结果,或帮助其他人。