YOLOv5 快速入门 🚀#
踏上使用 Ultralytics YOLOv5 探索实时目标检测动态领域的旅程吧!本指南旨在为希望掌握 YOLOv5 的 AI 爱好者和专业人士提供全面的入门指导。从初始设置到高级训练技术,我们都会为你详细介绍。读完本指南后,你将掌握使用先进深度学习方法将 YOLOv5 自信地应用到项目中的知识。让我们启动引擎,向 YOLOv5 进发吧!
安装#
通过克隆 YOLOv5 仓库并配置环境,为启动做好准备。这可确保安装所有必要的依赖项。确认你已准备好 Python>=3.8.0 和 PyTorch>=1.8,即可开始使用。这些基础工具对于高效运行 YOLOv5 至关重要。
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependencies使用 PyTorch Hub 推理#
体验 YOLOv5 PyTorch Hub 推理的简便性:系统会从最新的 YOLOv5 版本中无缝下载模型。此方法利用 PyTorch 的强大功能轻松加载和运行模型,让你可以简单直接地获得预测结果。
import torch
# Model loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Can be 'yolov5n' - 'yolov5x6', or 'custom'
# Inference on images
img = "https://ultralytics.com/images/zidane.jpg" # Can be a file, Path, PIL, OpenCV, numpy, or list of images
# Run inference
results = model(img)
# Display results
results.print() # or .show(), .save(), .crop(), .pandas(), etc.使用 detect.py 推理#
利用 detect.py 在各种来源上进行通用的推理。它会自动从最新的 YOLOv5 release 中获取models并轻松保存结果。此脚本非常适合命令行使用以及将 YOLOv5 集成到更大的系统中,支持图像、视频、目录、网络摄像头甚至live streams等输入。
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训练#
按照下方的training instructions复制 YOLOv5 COCO dataset 基准。所需的models和datasets(例如 coco128.yaml 或完整的 coco.yaml)直接从最新的 YOLOv5 release 中拉取。在 V100 GPU 上训练 YOLOv5n/s/m/l/x 通常分别需要 1/2/4/6/8 天(请注意,Multi-GPU training 设置运行速度更快)。通过使用尽可能高的 --batch-size 来最大化性能,或者使用 --batch-size -1 来启用 YOLOv5 AutoBatch 功能,该功能会自动寻找最佳的batch size。以下批次大小非常适合 V100-16GB GPU。有关模型配置文件 (*.yaml) 的详细信息,请参阅Architecture Summary。
# 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 不仅是目标检测领域的先进工具,也体现了机器学习通过视觉理解改变我们与世界互动方式的强大力量。在阅读本指南并开始将 YOLOv5 应用于项目的过程中,请记住,你正站在技术革命的最前沿,能够在计算机视觉领域实现非凡成果。如果你希望获得更多见解,或得到其他视觉领域探索者的支持,欢迎访问我们的 GitHub 仓库。那里汇聚了一个活跃的开发者和研究人员社区。你还可以探索 Ultralytics Platform 等资源,以便在无需编写代码的情况下管理数据集和训练模型;或者查看我们的解决方案页面,了解实际应用和获取灵感。继续探索,持续创新,享受 YOLOv5 带来的奇妙体验。祝你检测愉快!🌠🔍
常见问题#
推理不需要。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 变体。完整列表请参阅pretrained checkpoints table。将图像和 YOLO 格式的标签放入平行的
images/和labels/文件夹中,在dataset.yaml中进行描述,然后运行python train.py --data dataset.yaml --weights yolov5s.pt。Train Custom Data 教程逐步介绍了每个步骤。YOLOv5 很稳定,并且在独立代码库中继续获得完全支持,但它已不再是最新模型。对于新工作,
ultralytics软件包中的 YOLO26 更快、更准确,并且无需 NMS 即可端到端导出,同时使用了Quickstart 中描述的相同pip install ultralytics工作流。