Meet YOLO26: next-gen vision AI.

Link to this sectionYOLO-NAS#

重要更新

请注意,YOLO-NAS 的原始创建者 Deci 已被 NVIDIA 收购。因此,这些模型不再由 Deci 积极维护。Ultralytics 将继续支持这些模型的使用,但预计原始团队不会再进行任何更新。

Link to this section概述#

YOLO-NAS 由 Deci AI 开发,是一款突破性的目标检测基础模型。它是先进的 神经架构搜索 技术的产物,旨在精心解决以往 YOLO 模型存在的局限性。凭借在量化支持和 准确率-延迟权衡方面的重大改进,YOLO-NAS 代表了目标检测领域的一次重大飞跃。

COCO 基准测试上的 YOLO-NAS 模型准确率对比 YOLO-NAS 概览。 YOLO-NAS 采用了量化感知模块和选择性量化,以实现最佳性能。当转换为 INT8 量化版本时,该模型的精度下降极小,这比其他模型有了显著改进。这些进步造就了具有前所未有的目标检测能力和出色性能的卓越架构。

Link to this section主要特性#

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

Link to this section预训练模型#

通过 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) 和延迟之间的平衡,帮助你在性能和速度上优化目标检测任务。

Link to this section使用示例#

Ultralytics 使得通过我们的 ultralytics python 软件包将 YOLO-NAS 模型集成到你的 Python 应用程序中变得非常容易。该包提供了一个用户友好的 Python API 来简化流程。

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

Link to this section推理和验证示例#

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

示例

此示例提供了针对 YOLO-NAS 的简单推理和验证代码。关于处理推理结果,请参阅 Predict 模式。若要将 YOLO-NAS 用于其他模式,请参阅 ValExportultralytics 包中的 YOLO-NAS 不支持训练。

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

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Display model information (optional)
model.info()

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Link to this section支持的任务和模式#

我们提供三种 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目标检测

Link to this section引用与致谢#

如果你在研究或开发工作中使用了 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 将成为开发人员和研究人员的重要工具。

Link to this section常见问题解答#

Link to this section什么是 YOLO-NAS,它比之前的 YOLO 模型有哪些改进?#

YOLO-NAS 由 Deci AI 开发,是一款利用先进神经架构搜索 (NAS) 技术的尖端目标检测模型。它引入了量化友好型基本模块和复杂的训练方案等功能,解决了之前 YOLO 模型的局限性。这在性能方面带来了显著提升,特别是在计算资源有限的环境中。YOLO-NAS 还支持量化,即使转换为 INT8 版本也能保持高准确率,增强了其对生产环境的适应性。更多详情,请参阅 Overview 部分。

Link to this section我该如何将 YOLO-NAS 模型集成到我的 Python 应用程序中?#

你可以使用 ultralytics 包轻松地将 YOLO-NAS 模型集成到你的 Python 应用程序中。以下是如何加载预训练的 YOLO-NAS 模型并进行推理的简单示例:

from ultralytics import NAS

# Load a COCO-pretrained YOLO-NAS-s model
model = NAS("yolo_nas_s.pt")

# Validate the model on the COCO8 example dataset
results = model.val(data="coco8.yaml")

# Run inference with the YOLO-NAS-s model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

更多信息,请参考 Inference and Validation Examples

Link to this sectionYOLO-NAS 的关键功能有哪些,为什么我应该考虑使用它?#

YOLO-NAS 引入了几项关键功能,使其成为目标检测任务的绝佳选择:

  • 量化友好型基本模块: 增强的架构可在量化后以极小的 精度 损失提升模型性能。
  • 复杂的训练和量化: 采用先进的训练方案和训练后量化技术。
  • AutoNAC 优化和预训练: 利用 AutoNAC 优化,并在 COCO、Objects365 和 Roboflow 100 等著名数据集上进行预训练。

这些功能有助于其实现高准确率、高效的性能以及在生产环境中的部署适应性。在 Key Features 部分了解更多信息。

Link to this sectionYOLO-NAS 模型支持哪些任务和模式?#

YOLO-NAS 模型支持各种目标检测任务和模式,如推理、验证和导出。它们不支持训练。支持的模型包括 YOLO-NAS-s、YOLO-NAS-m 和 YOLO-NAS-l,每个模型都针对不同的计算能力和性能需求进行了调整。如需详细概览,请参阅 Supported Tasks and Modes 部分。

Link to this section是否有可用的预训练 YOLO-NAS 模型,我该如何访问它们?#

是的,Ultralytics 提供了你可以直接访问的预训练 YOLO-NAS 模型。这些模型在 COCO 等数据集上进行了预训练,确保了速度和准确率方面的高性能。你可以使用 Pretrained Models 部分提供的链接下载这些模型。以下是一些示例:

评论