跳至内容

Ultralytics YOLOv5

概述

YOLOv5u represents an advancement in object detection methodologies. Originating from the foundational architecture of the YOLOv5 model developed by Ultralytics, YOLOv5u integrates the anchor-free, objectness-free split head, a feature previously introduced in the YOLOv8 models. This adaptation refines the model's architecture, leading to an improved accuracy-speed tradeoff in object detection tasks. Given the empirical results and its derived features, YOLOv5u provides an efficient alternative for those seeking robust solutions in both research and practical applications.

Ultralytics YOLOv5

主要功能

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

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

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

支持的任务和模式

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

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

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

性能指标

性能

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

模型YAML尺寸
(像素)
mAPval
50-95
速度
CPU ONNX
(毫秒)
速度
A100 TensorRT
(毫秒)
params
(M)
FLOPs
(B)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.37.8
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.4250.7

使用示例

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

示例

PyTorch pretrained *.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

引文和致谢

Ultralytics YOLOv5 Publication

Ultralytics has not published a formal research paper for YOLOv5 due to the rapidly evolving nature of the models. We focus on advancing the technology and making it easier to use, rather than producing static documentation. For the most up-to-date information on YOLO architecture, features, and usage, please refer to our GitHub repository and documentation.

如果您在研究中使用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企业许可证提供。

常见问题

Ultralytics YOLOv5u 是什么,与YOLOv5 有什么区别?

Ultralytics YOLOv5u is an advanced version of YOLOv5, integrating the anchor-free, objectness-free split head that enhances the accuracy-speed tradeoff for real-time object detection tasks. Unlike the traditional YOLOv5, YOLOv5u adopts an anchor-free detection mechanism, making it more flexible and adaptive in diverse scenarios. For more detailed information on its features, you can refer to the YOLOv5 Overview.

无锚Ultralytics 头如何提高 YOLOv5u 的物体检测性能?

YOLOv5u 的无锚点Ultralytics 头消除了对预定义锚点框的依赖,从而提高了物体检测性能。这使得检测机制更加灵活和自适应,可以更高效地处理各种物体尺寸和形状。这一改进直接促进了准确性和速度之间的平衡,使 YOLOv5u 适用于实时应用。有关其架构的更多信息,请参阅 "主要功能"部分。

我可以将预先训练好的 YOLOv5u 模型用于不同的任务和模式吗?

是的,您可以将预先训练好的 YOLOv5u 模型用于对象检测等各种任务。这些模型支持多种模式,包括推理验证训练导出。这种灵活性使用户能够在不同的操作要求中充分利用 YOLOv5u 模型的功能。有关详细概述,请查看 "支持的任务和模式"部分。

YOLOv5u 机型在不同平台上的性能指标如何比较?

YOLOv5u 模型的性能指标因所使用的平台和硬件而异。例如,YOLOv5nu 模型在 COCO 数据集上实现了 34.3 mAP,在CPU (ONNX) 上的速度为 73.6 ms,在 A100TensorRT 上的速度为 1.06 ms。不同 YOLOv5u 模型的详细性能指标可在 "性能指标"部分找到,该部分对各种设备进行了全面比较。

如何使用Ultralytics Python API 训练 YOLOv5u 模型?

您可以通过加载预先训练好的模型并使用数据集运行训练命令来训练 YOLOv5u 模型。下面是一个快速示例:

示例

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)
# 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

有关更详细的说明,请访问 "使用示例"部分。

📅 Created 1 year ago ✏️ Updated 4 days ago

评论