Ultralytics YOLO 常见问题解答 (FAQ)
本 FAQ 部分旨在解决用户在使用 Ultralytics YOLO 存储库时可能遇到的常见问题。
常见问题 (FAQ)
什么是 Ultralytics,它提供什么服务?
Ultralytics 是一家专注于 计算机视觉 的人工智能公司,擅长最先进的目标检测和 图像分割 模型,重点关注 YOLO (You Only Look Once) 系列。其产品包括:
- YOLO26(最新版)和 YOLO11(上一代)的开源实现
- 广泛适用于各种计算机视觉任务的 预训练模型
- 用于将 YOLO 模型无缝集成到项目中的综合 Python 包
- 用于模型训练、测试和部署的多功能 工具
- 详尽的文档 和互助社区
如何安装 Ultralytics 包?
使用 pip 安装 Ultralytics 包非常简单:
pip install ultralytics如需获取最新的开发版本,可直接从 GitHub 存储库安装:
pip install git+https://github.com/ultralytics/ultralytics.git详细的安装说明可在 快速入门指南 中找到。
运行 Ultralytics 模型有哪些系统要求?
最低要求:
- Python 3.8+
- PyTorch 1.8+
- CUDA 兼容 GPU(用于 GPU 加速)
推荐配置:
- Python 3.8+
- PyTorch 1.10+
- 配备 CUDA 11.2+ 的 NVIDIA GPU
- 8GB 以上内存 (RAM)
- 50GB 以上可用磁盘空间(用于数据集存储和模型训练)
若要排查常见问题,请访问 YOLO 常见问题 页面。
如何使用自己的数据集训练自定义 YOLO 模型?
训练自定义 YOLO 模型的方法:
-
按 YOLO 格式 准备数据集(图片和对应的标签 txt 文件)。
-
创建一个 YAML 文件来描述数据集结构和类别(请参阅 数据集 YAML 示例)。
-
使用以下 Python 代码开始训练:
from ultralytics import YOLO # Load a model model = YOLO("yolo26n.yaml") # build a new model from scratch model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training) # Train the model results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
如需更深入的指南(包括数据准备和高级训练选项),请参考综合性的 训练指南。
Ultralytics 提供哪些预训练模型?
Ultralytics 为各种任务提供多种预训练模型:
- 目标检测:YOLO26n, YOLO26s, YOLO26m, YOLO26l, YOLO26x
- 实例分割:YOLO26n-seg, YOLO26s-seg, YOLO26m-seg, YOLO26l-seg, YOLO26x-seg
- 语义分割:YOLO26n-sem, YOLO26s-sem, YOLO26m-sem, YOLO26l-sem, YOLO26x-sem
- 图像分类:YOLO26n-cls, YOLO26s-cls, YOLO26m-cls, YOLO26l-cls, YOLO26x-cls
- 姿态估计:YOLO26n-pose, YOLO26s-pose, YOLO26m-pose, YOLO26l-pose, YOLO26x-pose
- 旋转目标检测 (OBB):YOLO26n-obb, YOLO26s-obb, YOLO26m-obb, YOLO26l-obb, YOLO26x-obb
这些模型在尺寸和复杂度上各不相同,在速度和 准确率 之间提供不同的权衡。探索全套 预训练模型 以找到最适合你项目的选择。
如何使用训练好的 Ultralytics 模型执行推理?
使用训练好的模型执行推理:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/your/model.pt")
# Perform inference
results = model("path/to/image.jpg")
# Process results
for r in results:
print(r.boxes) # print bbox predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilities如需高级推理选项(包括批量处理和视频推理),请查看详细的 预测指南。
Ultralytics 模型可以部署在边缘设备或生产环境中吗?
当然可以!Ultralytics 模型专为跨各种平台的多功能部署而设计:
- 边缘设备:使用 TensorRT、ONNX 或 OpenVINO 在 NVIDIA Jetson 或 Intel Neural Compute Stick 等设备上优化推理。
- 移动设备:通过将模型转换为 TFLite 或 Core ML 部署在 Android 或 iOS 设备上。
- 云端:利用 TensorFlow Serving 或 PyTorch Serve 等框架进行可扩展的云端部署。
- Web:使用 ONNX.js 或 TensorFlow.js 实现浏览器内推理。
Ultralytics 提供导出功能,将模型转换为各种格式以便部署。探索广泛的 部署选项 以找到最适合你用例的解决方案。
YOLO11 和 YOLO26 有什么区别?
主要区别包括:
- 端到端无 NMS 推理:YOLO26 原生支持端到端,无需非极大值抑制 (NMS) 即可直接生成预测结果,从而降低延迟并简化部署。
- 移除 DFL:YOLO26 移除了 Distribution Focal Loss 模块,简化了导出并提高了在边缘设备和低功耗设备上的兼容性。
- MuSGD 优化器:结合了 SGD 和 Muon(灵感来自 Moonshot AI 的 Kimi K2),使训练更稳定,收敛速度更快。
- CPU 性能:YOLO26 的 CPU 推理速度提升高达 43%,非常适合没有 GPU 的设备。
- 任务特定优化:增强了语义损失和多尺度原型 (multi-scale protos) 的分割效果,采用 RLE 进行高精度姿态估计,并改进了带有角度损失的 OBB 解码。
- 任务:两种模型都在一个统一框架内支持 目标检测、实例分割、图像分类、姿态估计和旋转目标检测 (OBB)。YOLO26 还增加了用于密集像素级预测的 语义分割 功能。
欲深入了解功能和性能指标的对比,请访问 YOLO26 文档页面。
如何为 Ultralytics 开源项目做出贡献?
为 Ultralytics 做出贡献是改进项目并提升个人技能的好方法。以下是参与方式:
- 在 GitHub 上 fork Ultralytics 存储库。
- 为你的功能或 Bug 修复创建一个新分支。
- 进行修改并确保所有测试通过。
- 提交包含明确变更描述的 Pull Request。
- 参与代码审查过程。
你也可以通过报告 Bug、建议功能或改进文档来做出贡献。有关详细指南和最佳实践,请参考 贡献指南。
如何在 Python 中安装 Ultralytics 包?
在 Python 中安装 Ultralytics 包很简单。只需在你的终端或命令提示符中运行以下 pip 命令:
pip install ultralytics如需获取前沿的开发版本,请直接从 GitHub 存储库安装:
pip install git+https://github.com/ultralytics/ultralytics.git有关针对特定环境的安装说明和故障排除建议,请查阅全面的 快速入门指南。
Ultralytics YOLO 的主要功能是什么?
Ultralytics YOLO 拥有丰富的功能,可应对高级计算机视觉任务:
- 实时检测:在实时场景中高效地检测和分类对象。
- 多任务处理:在统一框架下执行目标检测、实例分割、语义分割、图像分类、姿态估计和旋转目标检测 (OBB)。
- 预训练模型:访问各种 预训练模型,在速度和准确率之间针对不同用例进行权衡。
- 自定义训练:利用灵活的 训练流水线 在自定义数据集上轻松微调模型。
- 广泛的 部署选项:将模型导出为 TensorRT、ONNX 和 CoreML 等多种格式,以便在不同平台上部署。
- 详尽的文档:得益于全面的 文档 和互助社区,为你的计算机视觉工作流提供支持。
如何提高 YOLO 模型的性能?
可以通过多种技术提高 YOLO 模型的性能:
- 超参数调优:使用 超参数调优指南 试验不同的超参数,以优化模型表现。
- 数据增强:实施翻转、缩放、旋转和色彩调整等技术来增强训练数据集,提高模型的泛化能力。
- 迁移学习:利用预训练模型,并使用 训练指南 在你的特定数据集上对其进行微调。
- 导出为高效格式:使用 导出指南 将模型转换为 TensorRT 或 ONNX 等优化格式,以实现更快的推理。
- 基准测试:利用 基准测试模式 系统地测量和改进推理速度与准确率。
我可以在移动设备和边缘设备上部署 Ultralytics YOLO 模型吗?
可以,Ultralytics YOLO 模型专为多功能部署而设计,包括移动设备和边缘设备:
- 移动设备:将模型转换为 TFLite 或 CoreML 以便无缝集成到 Android 或 iOS 应用中。请参阅 TFLite 集成指南 和 CoreML 集成指南 获取特定平台的说明。
- 边缘设备:使用 TensorRT 或 ONNX 在 NVIDIA Jetson 或其他边缘硬件上优化推理。Edge TPU 集成指南 提供了边缘部署的详细步骤。
欲全面了解跨各种平台的部署策略,请参考 部署选项指南。
如何使用训练好的 Ultralytics YOLO 模型执行推理?
使用训练好的 Ultralytics YOLO 模型执行推理非常直接:
-
加载模型:
from ultralytics import YOLO model = YOLO("path/to/your/model.pt") -
运行推理:
results = model("path/to/image.jpg") for r in results: print(r.boxes) # print bounding box predictions print(r.masks) # print mask predictions print(r.probs) # print class probabilities
有关高级推理技术(包括批量处理、视频推理和自定义预处理),请参考详细的 预测指南。
在哪里可以找到使用 Ultralytics 的示例和教程?
Ultralytics 提供了丰富的资源来帮助你入门并掌握其工具:
- 📚 官方文档:综合指南、API 参考和最佳实践。
- 💻 GitHub 存储库:源代码、示例脚本和社区贡献。
- ✍️ Ultralytics 博客:深度文章、用例和技术洞察。
- 💬 社区论坛:与其他用户交流、提问并分享你的经验。
- 🎥 YouTube 频道:关于各类 Ultralytics 主题的视频教程、演示和网络研讨会。
这些资源提供了使用 Ultralytics 模型执行各项任务的代码示例、实际应用案例和分步指南。
如果你需要进一步帮助,请查阅 Ultralytics 文档,或通过 GitHub Issues 或官方 讨论论坛 与社区取得联系。