Ultralytics YOLO27:
Get Started

YOLO-NAS#

重要更新

请注意,Deci(YOLO-NAS 的原始创建者)已被 NVIDIA 收购。因此,Deci 不再积极维护这些模型。Ultralytics 仍支持使用这些模型,但原团队预计不会再提供更新。

概述#

YOLO-NAS 由 Deci AI 开发,是一款开创性的目标检测基础模型。它采用先进的神经架构搜索技术,经过精心设计,旨在解决先前 YOLO 模型的局限性。YOLO-NAS 在量化支持以及准确率与延迟之间的权衡方面实现了显著改进,是目标检测领域的一项重大突破。

YOLO-NAS 模型在 COCO 基准测试中的准确率对比 YOLO-NAS 概述。 YOLO-NAS 采用量化感知模块和选择性量化,以实现最佳性能。将模型转换为 INT8 量化版本后,精度损失极小,相较于其他模型有了显著提升。这些进步共同造就了更出色的架构,使其具备前所未有的目标检测能力和卓越性能。

主要功能#

  • 量化友好型基础模块: YOLO-NAS 引入了一种新的量化友好型基础模块,解决了先前 YOLO 模型的一项重要局限性。
  • 先进的训练与量化: YOLO-NAS 采用先进的训练方案和训练后量化来提升性能。
  • AutoNAC 优化与预训练: YOLO-NAS 使用 AutoNAC 优化,并在 COCO、Objects365 和 Roboflow 100 等知名数据集上进行预训练。这种预训练使其非常适合在生产环境中执行下游目标检测任务。

预训练模型#

借助 Ultralytics 提供的 YOLO-NAS 预训练模型,体验新一代目标检测的强大能力。这些模型经过专门设计,在速度和准确率方面都能提供顶级性能。你可以根据具体需求,从多种选项中进行选择:

性能
模型mAP延迟 (ms)
YOLO-NAS S47.53.21
YOLO-NAS M51.555.85
YOLO-NAS L52.227.87
YOLO-NAS S INT-847.032.36
YOLO-NAS M INT-851.03.78
YOLO-NAS L INT-852.14.78

每种模型变体都旨在平衡平均精度均值(mAP)与延迟,帮助你兼顾性能和速度,优化目标检测任务。

使用示例#

Ultralytics 通过我们的 ultralytics Python 软件包,让你可以轻松地将 YOLO-NAS 模型集成到 Python 应用中。该软件包提供易于使用的 Python API,可简化整个流程。

以下示例展示如何使用 ultralytics 软件包中的 YOLO-NAS 模型进行推理和验证:

推理和验证示例#

在此示例中,我们在 COCO8 数据集上验证 YOLO-NAS-s。

示例

此示例提供了用于 YOLO-NAS 的简单推理和验证代码。有关如何处理推理结果,请参阅预测模式。要在其他模式下使用 YOLO-NAS,请参阅验证和导出。ultralytics 软件包中的 YOLO-NAS 不支持训练。

可以将 PyTorch 预训练的 *.pt 模型文件传递给 NAS() 类,以便在 Python 中创建模型实例:

from ultralytics import NAS

# 加载经过 COCO 预训练的 YOLO-NAS-s 模型
model = NAS("yolo_nas_s.pt")

# 显示模型信息(可选)
model.info()

# 在 COCO8 示例数据集上验证模型
results = model.val(data="coco8.yaml")

# 使用 YOLO-NAS-s 模型对图像 'bus.jpg' 执行推理
results = model("path/to/bus.jpg")

支持的任务和模式#

我们提供三个版本的 YOLO-NAS 模型:小型(s)、中型(m)和大型(l)。每个版本都针对不同的计算能力和性能需求而设计:

  • YOLO-NAS-s:针对计算资源有限但效率至关重要的环境进行了优化。
  • YOLO-NAS-m:兼顾各方面需求,适合对准确率要求较高的通用目标检测任务。
  • YOLO-NAS-l:专为要求最高准确率且计算资源限制较少的场景设计。

下面详细介绍每个模型,包括其预训练权重链接、支持的任务,以及与不同运行模式的兼容性。

模型类型预训练权重支持的任务训练验证推理导出
YOLO-NAS-syolo_nas_s.pt目标检测❌✅✅✅
YOLO-NAS-myolo_nas_m.pt目标检测❌✅✅✅
YOLO-NAS-lyolo_nas_l.pt目标检测❌✅✅✅

引用与致谢#

如果你在研究或开发工作中使用 YOLO-NAS,请引用 SuperGradients:

引用格式
@misc{supergradients,
      doi = {10.5281/ZENODO.7789328},
      url = {https://zenodo.org/records/7789328},
      author = {Aharon,  Shay and {Louis-Dupont} and {Ofri Masad} and Yurkova,  Kate and {Lotem Fridman} and {Lkdci} and Khvedchenya,  Eugene and Rubin,  Ran and Bagrov,  Natan and Tymchenko,  Borys and Keren,  Tomer and Zhilko,  Alexander and {Eran-Deci}},
      title = {Super-Gradients},
      publisher = {GitHub},
      journal = {GitHub repository},
      year = {2021},
}

我们感谢 Deci AI 的 SuperGradients 团队为计算机视觉社区创建并维护这一宝贵资源所付出的努力。我们相信,凭借创新的架构和卓越的目标检测能力,YOLO-NAS 将成为开发者和研究人员的重要工具。

常见问题#

  • YOLO-NAS 由 Deci AI 开发,是一款采用先进神经架构搜索(NAS)技术的尖端目标检测模型。它通过引入量化友好型基础模块和先进训练方案等特性,解决了先前 YOLO 模型的局限性。这些改进显著提升了性能,尤其适用于计算资源有限的环境。YOLO-NAS 还支持量化,即使转换为 INT8 版本,也能保持较高的准确率,从而更适合在生产环境中使用。更多详情请参阅概述部分。

  • 你可以使用 ultralytics 软件包,轻松将 YOLO-NAS 模型集成到 Python 应用中。下面是加载 YOLO-NAS 预训练模型并执行推理的简单示例:

    from ultralytics import NAS
    
    # 加载经过 COCO 预训练的 YOLO-NAS-s 模型
    model = NAS("yolo_nas_s.pt")
    
    # 在 COCO8 示例数据集上验证模型
    results = model.val(data="coco8.yaml")
    
    # 使用 YOLO-NAS-s 模型对图像 'bus.jpg' 执行推理
    results = model("path/to/bus.jpg")

    更多信息请参阅推理和验证示例。

  • YOLO-NAS 引入了多项关键功能,使其成为目标检测任务的优选方案:

    • 量化友好型基础模块: 改进后的架构可提升模型性能,并将量化后的精度损失降至最低。
    • 先进的训练与量化: 采用先进的训练方案和训练后量化技术。
    • AutoNAC 优化与预训练: 使用 AutoNAC 优化,并在 COCO、Objects365 和 Roboflow 100 等知名数据集上进行预训练。

    这些功能提升了模型的准确率和运行效率,使其适合部署在生产环境中。请在主要功能部分了解更多信息。

  • YOLO-NAS 模型支持多种目标检测任务和模式,例如推理、验证和导出,但不支持训练。支持的模型包括 YOLO-NAS-s、YOLO-NAS-m 和 YOLO-NAS-l,分别适用于不同的计算能力和性能需求。详细概览请参阅支持的任务和模式部分。

  • 是的,Ultralytics 提供可直接获取的预训练 YOLO-NAS 模型。这些模型在 COCO 等数据集上进行了预训练,因此兼具出色的速度和精度。你可以通过预训练模型部分提供的链接下载这些模型。以下是一些示例:

评论