You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
6.7 KiB
121 lines
6.7 KiB
--- |
|
comments: true |
|
description: 探索详细的YOLO-NAS文档,这是一个更高级的物体检测模型。了解其特点、预训练模型、与Ultralytics Python API的使用等内容。 |
|
keywords: YOLO-NAS, Deci AI, 物体检测, 深度学习, 神经架构搜索, Ultralytics Python API, YOLO模型, 预训练模型, 量化, 优化, COCO, Objects365, Roboflow 100 |
|
--- |
|
|
|
# YOLO-NAS |
|
|
|
## 概述 |
|
|
|
由Deci AI开发,YOLO-NAS是一种开创性的物体检测基础模型。它是先进的神经架构搜索技术的产物,经过精心设计以解决之前YOLO模型的局限性。YOLO-NAS在量化支持和准确性-延迟权衡方面取得了重大改进,代表了物体检测领域的重大飞跃。 |
|
|
|
![模型示例图像](https://learnopencv.com/wp-content/uploads/2023/05/yolo-nas_COCO_map_metrics.png) |
|
**YOLO-NAS概览。** YOLO-NAS采用量化感知块和选择性量化实现最佳性能。当将模型转换为INT8量化版本时,模型会经历较小的精度损失,比其他模型有显著改进。这些先进技术使得YOLO-NAS成为具有前所未有的物体检测能力和出色性能的卓越架构。 |
|
|
|
### 主要特点 |
|
|
|
- **量化友好基本块:** YOLO-NAS引入了一种新的基本块,对量化友好,解决了之前YOLO模型的一个重要局限性。 |
|
- **高级训练和量化:** YOLO-NAS利用先进的训练方案和训练后量化以提高性能。 |
|
- **AutoNAC优化和预训练:** YOLO-NAS利用AutoNAC优化,并在著名数据集(如COCO、Objects365和Roboflow 100)上进行了预训练。这种预训练使其非常适合生产环境中的下游物体检测任务。 |
|
|
|
## 预训练模型 |
|
|
|
通过Ultralytics提供的预训练YOLO-NAS模型,体验下一代物体检测的强大功能。这些模型旨在在速度和准确性方面提供出色的性能。根据您的需求,可以选择各种选项: |
|
|
|
| 模型 | mAP | 延迟(ms) | |
|
|------------------|-------|--------| |
|
| YOLO-NAS S | 47.5 | 3.21 | |
|
| YOLO-NAS M | 51.55 | 5.85 | |
|
| YOLO-NAS L | 52.22 | 7.87 | |
|
| YOLO-NAS S INT-8 | 47.03 | 2.36 | |
|
| YOLO-NAS M INT-8 | 51.0 | 3.78 | |
|
| YOLO-NAS L INT-8 | 52.1 | 4.78 | |
|
|
|
每个模型变体均旨在在均衡平均精度(mAP)和延迟之间提供平衡,帮助您为性能和速度都进行优化的物体检测任务。 |
|
|
|
## 用法示例 |
|
|
|
通过我们的`ultralytics` python包,Ultralytics使得将YOLO-NAS模型集成到您的Python应用程序中变得容易。该包提供了一个用户友好的Python API,以简化流程。 |
|
|
|
以下示例展示了如何使用`ultralytics`包与YOLO-NAS模型进行推理和验证: |
|
|
|
### 推理和验证示例 |
|
|
|
这个示例中,我们在COCO8数据集上验证YOLO-NAS-s。 |
|
|
|
!!! 例子 |
|
|
|
以下示例为YOLO-NAS提供了简单的推理和验证代码。有关处理推理结果的方法,请参见[Predict](../modes/predict.md)模式。有关使用其他模式的YOLO-NAS的方法,请参见[Val](../modes/val.md)和[Export](../modes/export.md)。`ultralytics`包中的YOLO-NAS不支持训练。 |
|
|
|
=== "Python" |
|
|
|
可以将预训练的PyTorch `*.pt`模型文件传递给`NAS()`类以在python中创建一个模型实例: |
|
|
|
```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') |
|
``` |
|
|
|
=== "CLI" |
|
|
|
可以使用CLI命令直接运行模型: |
|
|
|
```bash |
|
# 加载一个在COCO上预训练的YOLO-NAS-s模型,并验证其在COCO8示例数据集上的性能 |
|
yolo val model=yolo_nas_s.pt data=coco8.yaml |
|
|
|
# 加载一个在COCO上预训练的YOLO-NAS-s模型,并对'bus.jpg'图像进行推理 |
|
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg |
|
``` |
|
|
|
## 支持的任务和模式 |
|
|
|
我们提供了三种类型的YOLO-NAS模型:Small (s)、Medium (m)和Large (l)。每种类型都旨在满足不同的计算和性能需求: |
|
|
|
- **YOLO-NAS-s:** 针对计算资源有限但效率至关重要的环境进行了优化。 |
|
- **YOLO-NAS-m:** 提供平衡的方法,适用于具有更高准确性的通用物体检测。 |
|
- **YOLO-NAS-l:** 面向需要最高准确性的场景,计算资源不是限制因素。 |
|
|
|
下面是每个模型的详细信息,包括它们的预训练权重链接、支持的任务以及与不同操作模式的兼容性。 |
|
|
|
| 模型类型 | 预训练权重链接 | 支持的任务 | 推理 | 验证 | 训练 | 导出 | |
|
|------------|-----------------------------------------------------------------------------------------------|----------------------------|----|----|----|----| |
|
| YOLO-NAS-s | [yolo_nas_s.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_s.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | |
|
| YOLO-NAS-m | [yolo_nas_m.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_m.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | |
|
| YOLO-NAS-l | [yolo_nas_l.pt](https://github.com/ultralytics/assets/releases/download/v0.0.0/yolo_nas_l.pt) | [物体检测](../tasks/detect.md) | ✅ | ✅ | ❌ | ✅ | |
|
|
|
## 引用和致谢 |
|
|
|
如果您在研究或开发工作中使用了YOLO-NAS,请引用SuperGradients: |
|
|
|
!!! Quote "" |
|
|
|
=== "BibTeX" |
|
|
|
```bibtex |
|
@misc{supergradients, |
|
doi = {10.5281/ZENODO.7789328}, |
|
url = {https://zenodo.org/record/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](https://github.com/Deci-AI/super-gradients/)团队表示感谢,他们致力于创建和维护这个对计算机视觉社区非常有价值的资源。我们相信YOLO-NAS凭借其创新的架构和卓越的物体检测能力,将成为开发者和研究人员的重要工具。 |
|
|
|
*keywords: YOLO-NAS, Deci AI, 物体检测, 深度学习, 神经架构搜索, Ultralytics Python API, YOLO模型, SuperGradients, 预训练模型, 量化友好基本块, 高级训练方案, 训练后量化, AutoNAC优化, COCO, Objects365, Roboflow 100*
|
|
|