跳至内容

YOLOv5

概述

YOLOv5u 代表着物体检测方法的进步。YOLOv5u 源自 开发的 YOLOv5Ultralytics 开发的模型的基础结构,YOLOv5u 整合了无锚点、无对象性的分割头,这是以前的 YOLOv8模型中引入的功能。这一调整完善了模型的架构,从而提高了物体检测任务中的精度-速度权衡。鉴于经验结果及其衍生特征,YOLOv5u 为那些在研究和实际应用中寻求稳健解决方案的人提供了一个高效的替代方案。

Ultralytics YOLOv5

主要功能

  • 无锚点分割Ultralytics Head:传统的物体检测模型依赖于预定义的锚点框来预测物体位置。然而,YOLOv5u 将这种方法现代化。通过采用无锚分Ultralytics 头,它确保了一种更加灵活和自适应的检测机制,从而提高了在不同场景下的性能。

  • 优化准确性与速度之间的权衡:速度与准确性往往背道而驰。但 YOLOv5u 挑战了这种取舍。它提供了一个经过校准的平衡点,在确保实时检测的同时不影响准确性。这一功能对于自动驾驶汽车、机器人和实时视频分析等需要快速响应的应用尤为重要。

  • 多种预训练模型:由于不同的任务需要不同的工具集,YOLOv5u 提供了大量预训练模型。无论您是专注于推理、验证还是训练,都有一个量身定制的模型在等着您。这种多样性可确保您使用的不仅仅是一个放之四海而皆准的解决方案,而是一个专门针对您的独特挑战进行微调的模型。

支持的任务和模式

YOLOv5u 模型具有各种预训练权重,在物体检测任务中表现出色。它们支持各种模式,适合从开发到部署的各种应用。

型号 预训练重量 任务 推论 验证 培训 出口
YOLOv5u yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u 物体检测

本表提供了 YOLOv5u 模型变体的详细概述,强调了它们在物体检测任务中的适用性以及对推理验证训练导出等各种操作模式的支持。这种全面的支持可确保用户在各种物体检测场景中充分利用 YOLOv5u 模型的功能。

性能指标

性能

有关在COCO 上训练的这些模型的使用示例,请参见检测文档,其中包括 80 个预先训练的类别。

模型 YAML 尺寸
(像素)
mAPval
50-95
速度
CPUONNX
(ms)
速度
A100 TensorRT
(毫秒)
params
(M)
FLOPs
(B)
yolov5nu.pt yolov5n.yaml 640 34.3 73.6 1.06 2.6 7.7
yolov5su.pt yolov5s.yaml 640 43.0 120.7 1.27 9.1 24.0
yolov5mu.pt yolov5m.yaml 640 49.0 233.9 1.86 25.1 64.2
yolov5lu.pt yolov5l.yaml 640 52.2 408.4 2.50 53.2 135.0
yolov5xu.pt yolov5x.yaml 640 53.2 763.2 3.81 97.2 246.4
yolov5n6u.pt yolov5n6.yaml 1280 42.1 211.0 1.83 4.3 7.8
yolov5s6u.pt yolov5s6.yaml 1280 48.6 422.6 2.34 15.3 24.6
yolov5m6u.pt yolov5m6.yaml 1280 53.6 810.9 4.36 41.2 65.7
yolov5l6u.pt yolov5l6.yaml 1280 55.7 1470.9 5.47 86.1 137.4
yolov5x6u.pt yolov5x6.yaml 1280 56.8 2436.5 8.98 155.4 250.7

使用示例

本示例提供了简单的YOLOv5 训练和推理示例。有关这些模式和其他模式的完整文档,请参阅 "预测"、"训练"、"验证"和 "导出"文档页面。

示例

PyTorch 训练有素 *.pt 模型以及配置 *.yaml 文件可以传递给 YOLO() 类在python 中创建模型实例:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO('yolov5n.pt')

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)

# Run inference with the YOLOv5n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')

CLI 命令可直接运行模型:

# Load a COCO-pretrained YOLOv5n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv5n model and run inference on the 'bus.jpg' image
yolo predict model=yolov5n.pt source=path/to/bus.jpg

引文和致谢

如果您在研究中使用YOLOv5 或 YOLOv5u,请按如下方式引用Ultralytics YOLOv5 储存库:

@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

请注意,YOLOv5 型号是根据 AGPL-3.0企业许可证提供。



创建于 2023-11-12,更新于 2024-04-17
作者:glenn-jocher(9)

评论