刚发布的最新版本怎么用?YOLOv13新手教程带你快速上手
本文将详细介绍YOLOv13的完整实现流程,涵盖数据集准备、模型训练、验证评估以及实际应用等关键环节。
YOLOv13(You Only Look Once v13)是2025年6月最新发布的目标检测模型,代表了当前目标检测技术的最新发展成果。该模型基于深度学习技术构建,可通过Ultralytics框架进行训练和部署。作为YOLO系列的最新版本,YOLOv13在检测精度和运行效率方面都有显著提升。本文将详细介绍YOLOv13的完整实现流程,涵盖数据集准备、模型训练、验证评估以及实际应用等关键环节。
YOLOv13模型概述
YOLOv13是YOLO系列的最新版本,专门针对目标检测任务进行优化。该模型能够实时检测图像中的目标对象并生成精确的边界框。需要注意的是,目前YOLOv13主要支持检测任务。如需进行其他计算机视觉任务(如分割、姿态估计等),建议使用功能更全面的YOLO11版本。
YOLOv13提供了多种规模的模型架构以适应不同的应用场景和性能需求。模型规模从小到大依次为Nano (N)、Small (S)、Medium (M)、Large (L)和eXtra Large (X)。其中,Nano和Small模型适用于资源受限的环境或快速原型验证;Medium和Large模型平衡了性能与计算效率,适合中等规模的应用场景;eXtra Large模型提供最佳检测精度,适用于对准确性要求极高的工业级应用。
数据集构建与标注
数据收集与组织
数据集的质量直接影响模型的最终性能。首先需要收集与目标应用场景相关的图像数据,并将所有图像文件整理到统一的文件夹中。随后将数据上传至Roboflow平台进行专业的数据管理和标注。
在Roboflow平台中选择目标检测项目类型,利用平台提供的标注工具对上传的图像进行精确标注。Roboflow提供了多种标注工具,包括矩形边界框工具、多边形标注工具以及AI辅助标注功能,可以显著提高标注效率和准确性。
性能优化配置
对于配备NVIDIA GPU的用户,强烈建议配置FlashAttention以优化训练和推理性能。FlashAttention能够显著减少内存使用并加速计算过程,特别是在处理大规模数据集时效果明显。由于FlashAttention的编译配置较为复杂,建议参考官方GitHub仓库的详细说明进行配置。
模型训练实施
环境准备与模型选择
完成数据标注后,需要进行数据集健康检查以确保标注质量。在Roboflow的版本管理界面中创建数据集版本,并导出为YOLOv13格式。下载并解压数据集文件,准备进行模型训练。
首先安装Ultralytics框架:
pip install ultralytics
安装完成后,可通过在终端执行
yolo
命令验证安装是否成功。
在模型选择方面,需要根据具体需求确定是使用预训练模型(.pt格式)还是从零开始训练(.yaml格式)。模型命名规则为
yolov13{size}.{extension}
,例如
yolov13n.pt
或
yolov13x.yaml
。
需要特别注意的是,YOLOv13与其他YOLO系列模型的获取方式不同。由于Ultralytics官方尚未将YOLOv13集成到标准YOLO系列中(截至2025年7月6日),用户需要手动下载模型权重文件或配置YAML文件。相关资源可从官方GitHub仓库获取。
训练代码实现
以下是基本的模型训练代码:
from ultralytics import YOLO
model = YOLO('INSERT_MODEL_NAME')
# 训练模型
results = model.train(data='PATH_TO_DATASET', epochs=CHOOSE_AND_EXPERIMENT, imgsz=640)
训练过程中需要合理设置epoch数量,通常需要通过实验确定最优值。训练完成后,模型文件将保存在数据集目录下的
runs
文件夹中,具体路径为对应任务类型下的
train
子目录。
如果遇到"dataset not found"错误,需要检查数据集路径配置是否正确。
模型应用与评估
目标跟踪应用
训练完成的模型可以应用于多种场景。对于视频目标跟踪任务,可使用以下代码:
from ultralytics import YOLO
model = YOLO('PATH_TO_MODEL')
# 使用模型执行跟踪
results = model.track('INSERT YOUTUBE LINK', show=True)
模型验证与性能评估
模型验证是优化模型性能的重要步骤,可以通过以下代码进行:
from ultralytics import YOLO
model = YOLO("PATH TO MODEL")
metrics = model.val() # 不需要参数
# 查看关键性能指标
metrics.box.map # map50-95
metrics.box.map50 # map50
图像推理预测
对于新图像的批量预测,可以使用以下代码实现:
from ultralytics import YOLO
# 加载模型
model = YOLO("PATH TO MODEL")
# 在图像列表上运行批量推理
results = model(["im1.jpg", "im2.jpg"]) # 返回Results对象列表
# 处理结果列表
for result in results:
boxes = result.boxes # 边界框输出的Boxes对象
masks = result.masks # 分割掩码输出的Masks对象
keypoints = result.keypoints # 姿态输出的Keypoints对象
probs = result.probs # 分类输出的Probs对象
obb = result.obb # OBB输出的定向框对象
result.show() # 显示到屏幕
result.save(filename="result.jpg") # 保存到磁盘
模型格式转换
为适应不同的部署环境,可以将训练好的模型转换为其他格式,如ONNX:
from ultralytics import YOLO
# 加载模型
model = YOLO("PATH TO MODEL")
# 导出模型
model.export(format="onnx")
性能基准测试
通过基准测试可以全面评估模型在特定硬件环境下的性能表现:
from ultralytics.utils.benchmarks import benchmark
# 在GPU上进行基准测试
benchmark(model='PATH_TO_MODEL', data='DATASET PATH', imgsz=640, half=False)
总结
本文详细介绍了YOLOv13目标检测模型的完整实现流程,从数据集准备到模型训练,再到实际应用和性能评估。YOLOv13作为先进的目标检测工具,为计算机视觉研究和工业应用提供了强大的技术支持。通过合理的数据准备、模型配置和训练策略,可以获得满足特定应用需求的高性能检测模型。
https://avoid.overfit.cn/post/9d393f7a1dbe466fbd3ed9c27a3ba1a4
作者:Zain Shariff
更多推荐
所有评论(0)