Ultralytics YOLO11 模式
简介
Ultralytics YOLO11 不仅仅是另一个对象检测模型;它是一个多功能的框架,旨在涵盖 机器学习 模型的整个生命周期——从数据摄取和模型训练到验证、部署和真实世界的跟踪。每种模式都有其特定用途,并且经过精心设计,可为您提供不同任务和用例所需的灵活性和效率。
观看: Ultralytics 模式教程:训练、验证、预测、导出和基准测试。
模式概览
了解 Ultralytics YOLO11 支持的不同 模式 对于充分利用您的模型至关重要:
- 训练 模式:在自定义或预加载的数据集上微调您的模型。
- 验证 模式:训练后的检查点,用于验证模型性能。
- 预测 模式:释放您的模型在真实世界数据中的预测能力。
- 导出 模式:以各种格式使您的 模型部署 准备就绪。
- 跟踪 模式:将您的对象检测模型扩展到实时跟踪应用程序。
- 基准测试 模式:分析您的模型在不同部署环境中的速度和准确性。
本综合指南旨在让您全面了解每种模式并提供实践见解,帮助您充分利用 YOLO11 的潜力。
训练
Train 模式用于在自定义数据集上训练 YOLO11 模型。在此模式下,使用指定的数据集和超参数训练模型。训练过程包括优化模型的参数,以便它可以准确地预测图像中对象的类别和位置。训练对于创建可以识别与您的应用程序相关的特定对象的模型至关重要。
验证
Val 模式用于在 YOLO11 模型经过训练后对其进行验证。在此模式下,将在验证集上评估模型,以衡量其准确性和泛化性能。验证有助于识别潜在问题,如过拟合,并提供诸如平均精度均值 (mAP) 等指标来量化模型性能。此模式对于调整超参数和提高整体模型有效性至关重要。
预测
Predict(预测)模式用于使用经过训练的YOLO11模型对新图像或视频进行预测。在此模式下,模型从检查点文件加载,用户可以提供图像或视频来执行推理。模型识别并定位输入媒体中的对象,使其可以应用于实际场景。Predict模式是将训练好的模型应用于解决实际问题的途径。
导出
导出模式用于将 YOLO11 模型转换为适合在不同平台和设备上部署的格式。此模式将您的 PyTorch 模型转换为优化的格式,如 ONNX、TensorRT 或 CoreML,从而能够在生产环境中进行部署。导出对于将您的模型与各种软件应用程序或硬件设备集成至关重要,通常可以显著提高性能。
追踪
Track 模式扩展了 YOLO11 的对象检测能力,可以跨视频帧或实时流跟踪对象。此模式对于需要持久对象识别的应用(例如监控系统或自动驾驶汽车)特别有价值。Track 模式实现了诸如 ByteTrack 等复杂算法,以保持对象在帧中的身份,即使对象暂时从视野中消失也是如此。
基准测试
基准测试模式分析 YOLO11 的各种导出格式的速度和准确性。此模式提供关于模型大小、准确性(检测任务的 mAP50-95 或分类的 accuracy_top5)以及跨不同格式(如 ONNX、OpenVINO 和 TensorRT)的推理时间的综合指标。基准测试可帮助您根据部署环境中对速度和准确性的特定要求选择最佳导出格式。
常见问题
如何使用 Ultralytics YOLO11 训练自定义物体检测模型?
使用 Ultralytics YOLO11 训练自定义物体检测模型需要使用 train 模式。你需要一个以 YOLO 格式格式化的数据集,其中包含图像和相应的标注文件。使用以下命令启动训练过程:
示例
from ultralytics import YOLO
# Load a pre-trained YOLO model (you can choose n, s, m, l, or x versions)
model = YOLO("yolo11n.pt")
# Start training on your custom dataset
model.train(data="path/to/dataset.yaml", epochs=100, imgsz=640)
# Train a YOLO model from the command line
yolo train data=path/to/dataset.yaml epochs=100 imgsz=640
有关更详细的说明,请参阅Ultralytics 训练指南。
Ultralytics YOLO11 使用哪些指标来验证模型的性能?
Ultralytics YOLO11 在验证过程中使用各种指标来评估模型性能,包括:
- mAP(平均精度均值):用于评估物体检测的准确性。
- IOU(交并比):衡量预测边界框与真实边界框之间的重叠程度。
- 精确率和召回率:精确率衡量的是真正例检测与所有检测到的正例的比率,而召回率衡量的是真正例检测与所有实际正例的比率。
你可以运行以下命令来启动验证:
示例
from ultralytics import YOLO
# Load a pre-trained or custom YOLO model
model = YOLO("yolo11n.pt")
# Run validation on your dataset
model.val(data="path/to/validation.yaml")
# Validate a YOLO model from the command line
yolo val data=path/to/validation.yaml
有关更多详细信息,请参阅验证指南。
如何导出我的 YOLO11 模型以进行部署?
Ultralytics YOLO11 提供了导出功能,可将你训练好的模型转换为各种部署格式,例如 ONNX、TensorRT、CoreML 等。使用以下示例导出你的模型:
示例
from ultralytics import YOLO
# Load your trained YOLO model
model = YOLO("yolo11n.pt")
# Export the model to ONNX format (you can specify other formats as needed)
model.export(format="onnx")
# Export a YOLO model to ONNX format from the command line
yolo export model=yolo11n.pt format=onnx
有关每种导出格式的详细步骤,请参见导出指南。
Ultralytics YOLO11 中基准测试模式的目的是什么?
Ultralytics YOLO11 中的 Benchmark 模式用于分析速度和 准确性 ONNX、TensorRT 和 OpenVINO 等各种导出格式的性能。它提供诸如模型大小之类的指标, mAP50-95
用于物体检测,以及在不同硬件设置中的推理时间,帮助你选择最适合你部署需求的格式。
示例
from ultralytics.utils.benchmarks import benchmark
# Run benchmark on GPU (device 0)
# You can adjust parameters like model, dataset, image size, and precision as needed
benchmark(model="yolo11n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
# Benchmark a YOLO model from the command line
# Adjust parameters as needed for your specific use case
yolo benchmark model=yolo11n.pt data='coco8.yaml' imgsz=640 half=False device=0
有关更多详细信息,请参阅Benchmark 指南。
如何使用 Ultralytics YOLO11 执行实时对象跟踪?
使用 Ultralytics YOLO11 中的 track 模式可以实现实时物体跟踪。此模式扩展了物体检测功能,可以跨视频帧或实时馈送跟踪物体。使用以下示例启用跟踪:
示例
from ultralytics import YOLO
# Load a pre-trained YOLO model
model = YOLO("yolo11n.pt")
# Start tracking objects in a video
# You can also use live video streams or webcam input
model.track(source="path/to/video.mp4")
# Perform object tracking on a video from the command line
# You can specify different sources like webcam (0) or RTSP streams
yolo track source=path/to/video.mp4
有关深入的说明,请访问Track 指南。