Ultralytics YOLO27:
Get Started

Ultralytics YOLO 常见问题解答 (FAQ)#

本常见问题解答部分介绍用户在使用 Ultralytics YOLO 代码仓库时可能遇到的常见问题和疑难情况。

常见问题#

  • Ultralytics 是一家专注于先进目标检测和图像分割模型的计算机视觉 AI 公司,重点关注 YOLO (You Only Look Once) 系列。其产品和服务包括:

  • 不可以。YOLO27正在进行最终的研发工作,预计于今年晚些时候发布,但发布日期尚未确定。文档预览了其功能、初步基准测试结果,以及发布后使用模型的示例。目前的项目请继续使用 YOLO26。

  • 使用 pip 安装 Ultralytics 软件包很简单:

    pip install ultralytics

    如需安装最新开发版本,请直接从 GitHub 代码仓库安装:

    pip install git+https://github.com/ultralytics/ultralytics.git

    详细的安装说明请参阅快速入门指南。

  • 最低要求:

    • 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 模型的步骤:

    1. 按照 YOLO 格式准备数据集(图像及对应的标签 txt 文件)。

    2. 创建 YAML 文件,描述数据集结构和类别(参见数据集 YAML 示例)。

    3. 使用以下 Python 代码开始训练:

      from ultralytics import YOLO
      
      # 加载模型
      model = YOLO("yolo26n.yaml")  # 从头开始构建新模型
      model = YOLO("yolo26n.pt")  # 加载预训练模型(推荐用于训练)
      
      # 训练模型
      results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)

    如需更深入的指南,包括数据准备和高级训练选项,请参阅训练指南。

  • 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-depth、YOLO26s-depth、YOLO26m-depth、YOLO26l-depth、YOLO26x-depth
    • 分类: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

    这些模型的大小和复杂度各不相同,在速度和准确率之间提供不同的权衡。探索完整的预训练模型系列,为你的项目找到最合适的模型。

  • 使用训练好的模型进行推理的步骤:

    from ultralytics import YOLO
    
    # 加载模型
    model = YOLO("path/to/your/model.pt")
    
    # 执行推理
    results = model("path/to/image.jpg")
    
    # 处理结果
    for r in results:
        print(r.boxes)  # 打印 bbox 预测结果
        print(r.masks)  # 打印掩码预测结果
        print(r.probs)  # 打印类别概率

    如需了解高级推理选项,包括批处理和视频推理,请参阅详细的预测指南。

  • 当然可以!Ultralytics 模型专为在各种平台上灵活部署而设计:

    • 边缘设备:使用 TensorRT、ONNX 或 OpenVINO,在 NVIDIA Jetson 或 Raspberry Pi 等设备上优化推理。
    • 移动设备:将模型转换为 LiteRT 或 CoreML,即可部署到 Android 或 iOS 设备。
    • 云端:利用 TensorFlow Serving 或 TorchServe 等框架,实现可扩展的云端部署。
    • Web:使用 ONNX Runtime Web 实现浏览器内推理。

    Ultralytics 提供导出函数,可将模型转换为各种格式以便部署。探索丰富的部署选项,找到最适合你使用场景的解决方案。

  • 主要区别包括:

    • 端到端无 NMS 推理:YOLO26 使用 nms=False 提供无 NMS 推理。默认的一对多路径使用 NMS 来提高准确率。
    • 移除 DFL:YOLO26 移除了分布焦点损失模块,简化了导出流程,并提升了与边缘设备和低功耗设备的兼容性。
    • MuSGD 优化器:结合 SGD 和 Muon 的混合优化器(灵感来自 Moonshot AI 的 Kimi K2),可实现更稳定的训练和更快的收敛。
    • CPU 性能:在 CPU ONNX 推理中,YOLO26n 的运行速度比 YOLO11n 快至 43%(Intel Xeon CPU @ 2.00 GHz),非常适合没有 GPU 的设备。
    • 针对特定任务的优化:通过语义损失和多尺度原型增强分割性能,使用 RLE 进行高精度姿态估计,并通过角度损失改进 OBB 解码。
    • 任务:两个模型都支持目标检测和实例分割,而 YOLO26 还新增了语义分割,用于密集的像素级预测;以及单目深度估计,用于逐像素深度预测。两个模型还通过统一框架支持分类、姿态估计和定向目标检测 (OBB)。

    如需深入比较功能和性能指标,请访问 YOLO26 文档页面。

  • 为 Ultralytics 做贡献是改进项目、拓展技能的好方法。你可以通过以下方式参与:

    1. 在 GitHub 上复刻 Ultralytics 仓库。
    2. 为你的功能或错误修复创建一个新分支。
    3. 进行修改,并确保所有测试都通过。
    4. 提交拉取请求,并清楚描述你的修改。
    5. 参与代码审查流程。

    你也可以通过报告错误、提出功能建议或改进文档来做贡献。有关详细指南和最佳实践,请参阅贡献指南。

  • Ultralytics YOLO 提供丰富的功能,可用于高级计算机视觉任务:

    • 实时检测:在实时场景中高效检测和分类目标。
    • 多任务能力:通过统一框架执行目标检测、实例分割、语义分割、单目深度估计、分类、姿态估计和定向目标检测 (OBB)。
    • 预训练模型:你可以使用多种预训练模型,在不同使用场景中平衡速度与准确率。
    • 自定义训练:借助灵活的训练流程,轻松使用自定义数据集微调模型。
    • 丰富的部署选项:将模型导出为 TensorRT、ONNX 和 CoreML 等多种格式,以便在不同平台上部署。
    • 全面的文档:借助详尽的文档和热心的社区,优化你的计算机视觉工作流。
  • 你可以通过多种方法提升 YOLO 模型的性能:

    1. 超参数调优:参考超参数调优指南,尝试不同的超参数以优化模型性能。
    2. 数据增强:使用翻转、缩放、旋转和颜色调整等方法扩充训练数据集,提升模型的泛化能力。
    3. 迁移学习:利用预训练模型,并参考训练指南在特定数据集上进行微调。
    4. 导出为高效格式:参考导出指南,将模型转换为 TensorRT 或 ONNX 等优化格式,以加快推理速度。
    5. 基准测试:使用基准测试模式系统地衡量并提升推理速度和准确率。
  • Ultralytics 提供了丰富的资源,帮助你入门并熟练使用相关工具:

    • 📚 官方文档:全面的指南、API 参考和最佳实践。
    • 💻 GitHub 仓库:源代码、示例脚本和社区贡献。
    • ✍️ Ultralytics 博客:深入文章、使用案例和技术见解。
    • 💬 社区论坛:与其他用户交流、提出问题并分享经验。
    • 🎥 YouTube 频道:关于各种 Ultralytics 主题的视频教程、演示和网络研讨会。

    这些资源提供代码示例、实际使用案例和分步指南,介绍如何使用 Ultralytics 模型完成各种任务。

    如果你需要进一步帮助,请查阅 Ultralytics 文档,或通过 GitHub Issues 或官方讨论论坛联系社区。

评论