YOLOv5u是由Ultralytics公司基于YOLOv5模型架构开发的最新版本,它引入了无锚点和对象性自由分离式头部的特性,这些特性在YOLOv8模型中首次亮相。这种改进使得模型在对象检测任务中的准确性和速度之间取得了更好的平衡。根据经验结果和衍生特性,YOLOv5u为那些在研究和实际应用中寻求强大解决方案的人提供了一个高效的替代方案。
在传统的对象检测模型中,通常依赖于预定义的锚点框来预测对象的位置。然而,YOLOv5u通过采用无锚点的分离式Ultralytics头部,现代化了这一方法。这种设计提供了一个更灵活、更适应性强的检测机制,并在多种场景下提高了性能。
速度和准确性往往是相反的目标,但YOLOv5u挑战了这一目标冲突。它提供了一个平衡点,确保了实时检测,同时不牺牲准确性。这一特性对于需要快速反应的应用来说非常有价值,例如自动驾驶汽车、机器人技术和实时视频分析。
YOLOv5u意识到不同的任务需要不同的工具,因此提供了多种预训练模型。无论专注于推理、验证还是训练,都有一个定制的模型在等。这种多样性确保不仅仅是使用一个通用的解决方案,而是一个特别为独特的挑战调整的模型。
在COCO数据集上训练的模型示例可以在Detection Docs中找到,这些模型包含80个预训练的类别。YOLOv5u模型在不同平台上的性能指标会有所不同。例如,YOLOv5nu模型在COCO数据集上达到了34.3 mAP,CPU (ONNX)上的速度为73.6 ms,A100 TensorRT上的速度为1.06 ms。可以在性能指标部分找到不同YOLOv5u模型在各种设备上的详细性能比较。
以下是一个简单的YOLOv5训练和推理示例。可以在Predict、Train、Val和Export文档页面上找到这些和其他模式的完整文档。
from ultralytics import YOLO
# 加载一个COCO预训练的YOLOv5n模型
model = YOLO("yolov5n.pt")
# 显示模型信息(可选)
model.info()
# 在COCO8示例数据集上训练模型100个周期
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 使用YOLOv5n模型在'bus.jpg'图像上运行推理
results = model("path/to/bus.jpg")
# 加载一个COCO预训练的YOLOv5n模型并在COCO8示例数据集上训练100个周期
yolo train model=yolov5n.pt data=coco8.yaml epochs=100 imgsz=640
# 加载一个COCO预训练的YOLOv5n模型并在'bus.jpg'图像上运行推理
yolo predict model=yolov5n.pt source=path/to/bus.jpg