Ultralytics YOLO 全面教程#
欢迎阅读 Ultralytics 的 YOLO 指南。我们的全面教程涵盖 YOLO对象检测模型的各个方面,从训练和预测到部署。YOLO 基于 PyTorch 构建,在实时对象检测任务中以出色的速度和准确度脱颖而出。
无论你是 深度学习 初学者还是专家,我们的教程都能为你在 计算机视觉 项目中实现和优化 YOLO 提供有价值的见解。
观看: Ultralytics YOLO26 指南概览
指南#
指南按项目阶段分组——从环境设置和数据准备,到训练、评估、部署、推理优化和边缘硬件——这样你可以直接跳转到当前正在处理的步骤。
开始使用与规划#
- Conda 快速入门:分步指南,介绍如何为 Ultralytics 设置 Conda 环境。了解如何高效安装并开始使用 Ultralytics 软件包。
- Docker 快速入门:关于如何使用 Docker 设置和使用 Ultralytics YOLO 模型的完整指南。了解如何安装 Docker、管理 GPU 支持,以及在隔离容器中运行 YOLO 模型,以确保开发和部署环境一致。
- AzureML 快速入门:开始在 Microsoft Azure 机器学习平台上使用 Ultralytics YOLO 模型。了解如何在云端训练、部署和扩展目标检测项目。
- Modal 快速入门:在 Modal 无服务器云平台上运行 Ultralytics YOLO26,涵盖身份验证、GPU 推理、带持久化存储的训练任务——无需管理基础设施。
- 定义计算机视觉项目目标:了解如何为计算机视觉项目有效地设定清晰、可衡量的目标。了解明确定义问题陈述的重要性,以及它如何为项目制定路线图。
- 计算机视觉项目的步骤:了解计算机视觉项目涉及的关键步骤,包括定义目标、选择模型、准备数据和评估结果。
- YOLO 架构详解:梳理 YOLO 架构从 YOLOv3 到 YOLO26 的演进,涵盖主干网络、颈部网络和检测头,以及 C2f、C3k2、C2PSA 注意力、无锚框和免 NMS 设计。
准备数据#
- 数据收集与标注:了解用于收集和标注数据的工具、技术和最佳实践,为计算机视觉模型创建高质量输入。
- 预处理已标注数据:了解使用 YOLO26 进行计算机视觉数据预处理,包括图像缩放、归一化、数据集划分、数据增强和探索性数据分析 (EDA)。
- YOLO 数据增强:全面掌握 YOLO 中各种数据增强技术,从基础变换到提升模型鲁棒性和性能的高级策略。
- COCO 转 YOLO:将 COCO JSON 标注转换为 YOLO 格式以进行训练的完整指南。涵盖检测、分割和关键点,包括类别 ID 映射和常见转换问题。
- 使用 COCO JSON 进行训练:使用自定义数据集类和训练器,直接基于 COCO JSON 标注训练 YOLO,无需转换为 YOLO 格式。
训练与微调#
- 模型训练技巧:了解优化批量大小、使用混合精度、应用预训练权重等技巧,让计算机视觉模型的训练变得轻松。
- 使用自定义数据微调 YOLO:使用预训练权重在自定义数据集上微调 YOLO26 的完整指南,涵盖迁移学习、冻结层、优化器选择、两阶段训练和故障排除。
- YOLO26 训练方案:完整记录用于在 COCO 上训练官方 YOLO26 基础检查点的超参数、增强流程和优化器设置,并提供实用的微调指导。
- 超参数调优:了解如何使用 Tuner 类和遗传进化算法微调超参数,从而优化 YOLO 模型。
- 知识蒸馏:了解如何使用基于特征的蒸馏,将知识从较大的教师模型迁移到较小的学生模型,以提升模型性能。
- K 折交叉验证:了解如何使用 K 折交叉验证技术提升模型泛化能力。
- 自定义训练器:了解如何对 YOLO 训练器进行子类化,以记录自定义指标、添加类别加权损失、自定义模型保存、冻结/解冻主干网络,以及设置逐层学习率。
- 模型 YAML 配置指南:深入介绍 Ultralytics 的模型架构定义。了解 YAML 格式和模块解析系统,并学习如何无缝集成自定义模块。
评估与故障排除#
- YOLO 性能指标 ⭐ 必看:了解用于评估 YOLO 模型性能的关键指标,如 mAP、IoU 和 F1 分数。其中包含实用示例,以及提升检测准确率和速度的技巧。
- 模型评估与微调见解:使用 mAP 和 IoU 等指标评估计算机视觉模型,再根据指标揭示的问题采取措施,提升检测准确率。
- 模型测试:了解如何使用未见过的数据测试计算机视觉模型、验证 YOLO26 模型,并在部署前发现过拟合、欠拟合和数据泄漏。
- YOLO 常见问题 ⭐ 推荐:提供实用方案和故障排除技巧,帮助解决使用 Ultralytics YOLO 模型时最常遇到的问题。
- 维护计算机视觉模型:了解监控、维护和记录计算机视觉模型的关键实践,以确保准确性、发现异常并缓解数据漂移。
部署与服务#
- 模型部署选项:概述 YOLO 的模型部署格式,如 ONNX、OpenVINO 和 TensorRT,并介绍各自的优缺点,帮助你制定部署策略。
- 模型部署最佳实践:介绍在计算机视觉项目中高效部署模型的技巧和最佳实践,重点关注优化、故障排除和安全性。
- 导出非 YOLO 模型:使用 Ultralytics 独立导出工具,将任意
torch.nn.Module(timm、torchvision、自定义模型)转换为 TorchScript、ONNX、OpenVINO、CoreML、Core AI、TensorFlow SavedModel、PaddlePaddle、MNN、NCNN 和 ExecuTorch。 - 端到端检测:选择 NMS 或免 NMS 推理,并了解输出格式和导出兼容性。
- 集成 Triton 推理服务器:深入了解 Ultralytics YOLO26 与 NVIDIA Triton 推理服务器的集成,以便大规模、高效地部署深度学习推理。
- YOLO 线程安全推理:以线程安全方式使用 YOLO 模型进行推理的指南。了解线程安全的重要性和最佳实践,以防止竞态条件并确保预测一致。
- ROS 快速入门:了解如何将 YOLO 与机器人操作系统 (ROS) 集成,用于机器人应用中的实时目标检测,包括点云和深度图像。
- 使用 Docker 部署 Vertex AI:简明指南,介绍如何使用 Docker 将 YOLO 模型容器化并部署到 Google Cloud Vertex AI,涵盖构建、推送、自动扩缩和监控。
优化推理#
- SAHI 切片推理:全面介绍如何利用 SAHI 的切片推理功能,使用 YOLO26 检测高分辨率图像中的目标。
- OpenVINO 延迟与吞吐量模式:了解延迟和吞吐量优化技术,充分提升 YOLO 推理性能。
- NVIDIA DALI GPU 预处理:使用 NVIDIA DALI 在 GPU 上执行 YOLO 的 letterbox 缩放、填充和归一化,消除 CPU 预处理瓶颈,并集成 Triton 推理服务器。
- 隔离分割目标:分步讲解如何使用 Ultralytics 分割功能从图像中提取和/或隔离目标。
- 在终端中查看推理图像:使用远程隧道或 SSH 会话时,通过 VSCode 集成终端查看推理结果。
边缘与嵌入式硬件#
- NVIDIA Jetson:在 NVIDIA Jetson 设备上部署 YOLO 模型的快速入门指南。
- Raspberry Pi:在最新 Raspberry Pi 硬件上运行 YOLO 模型的快速入门教程。
- NVIDIA Jetson 上的 DeepStream:使用 DeepStream 和 TensorRT 在 NVIDIA Jetson 设备上部署 YOLO 模型的快速入门指南。
- Raspberry Pi 上的 Edge TPU:Google Edge TPU 可加速 Raspberry Pi 上的 YOLO 推理。
- NVIDIA DGX Spark:在 NVIDIA DGX Spark 设备上部署 YOLO 模型的快速入门指南。
- Intel 上的 DL Streamer:使用 DL Streamer 和 OpenVINO™ 在 Intel Core Ultra Series 3 设备上部署 YOLO26 模型的快速入门指南。
为我们的指南做贡献#
我们欢迎社区成员贡献内容!如果你熟悉 Ultralytics YOLO 的某个方面,而我们的指南尚未涵盖,欢迎分享你的专业知识。撰写指南是回馈社区的好方式,也能帮助我们让文档更加全面、易于使用。
开始之前,请阅读我们的贡献指南,了解如何发起拉取请求 (PR)。添加新指南时,请将其放在上方与项目阶段相对应的类别中,并将内容限定为单一页面类型——分步教程、以任务为重点的操作指南或参考资料——以便指南集不断扩充时仍易于浏览。期待你的贡献。
常见问题#
使用 Ultralytics YOLO 训练自定义目标检测模型很简单。首先,按正确格式准备数据集并安装 Ultralytics 软件包。使用以下代码开始训练:
示例from ultralytics import YOLO model = YOLO("yolo26n.pt") # 加载预训练的 YOLO 模型 model.train(data="path/to/dataset.yaml", epochs=50) # 在自定义数据集上训练有关数据集格式和更多选项的详细信息,请参阅我们的模型训练技巧指南。
Ultralytics Platform 是一个无需编写代码的平台,可简化 YOLO 模型的管理、训练和部署。它支持无缝集成、实时跟踪和云端训练,适合新手和专业人士。通过我们的 Ultralytics Platform 快速入门指南,了解更多功能以及它如何简化你的工作流程。
要在 NVIDIA Jetson 和 Raspberry Pi 等边缘设备上部署 YOLO 模型,需要将模型转换为兼容格式,例如 TensorRT 或 LiteRT。请按照我们的 NVIDIA Jetson 和 Raspberry Pi 部署分步指南,开始在边缘硬件上进行实时目标检测。这些指南将带你完成安装、配置和性能优化。