YOLO-NAS
概要
Developed by Deci AI, YOLO-NAS is a groundbreaking object detection foundational model. It is the product of advanced Neural Architecture Search technology, meticulously designed to address the limitations of previous YOLO models. With significant improvements in quantization support and accuracy-latency trade-offs, YOLO-NAS represents a major leap in object detection.
YOLO-NASの概要。 YOLO-NASは量子化を意識したブロックと選択的量子化を採用し、最適なパフォーマンスを実現。このモデルをINT8量子化バージョンに変換すると、精度の低下が最小限に抑えられ、他のモデルよりも大幅に改善されます。これらの進化は、前例のない物体検出能力と卓越した性能を備えた優れたアーキテクチャに結実している。
主な特徴
- 量子化に適した基本ブロック: YOLO-NASは、量子化に適した新しい基本ブロックを導入し、従来のYOLO モデルの重大な制限のひとつに対処している。
- 洗練されたトレーニングと量子化: YOLO-NASは、高度なトレーニングスキームとトレーニング後の量子化を活用してパフォーマンスを向上させる。
- AutoNAC最適化と事前トレーニング: YOLO-NASはAutoNAC最適化を利用し、COCO、Objects365、Roboflow 100などの著名なデータセットで事前トレーニングされています。この事前学習により、本番環境における下流の物体検出タスクに非常に適しています。
訓練済みモデル
Ultralytics が提供する事前学習済みのYOLO-NAS モデルで、次世代の物体検出のパワーを体験してください。これらのモデルは、速度と精度の両面で一流のパフォーマンスを提供するように設計されています。お客様のニーズに合わせた様々なオプションからお選びください:
モデル | マップ | 待ち時間 (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 |
Each model variant is designed to offer a balance between Mean Average Precision (mAP) and latency, helping you optimize your object detection tasks for both performance and speed.
使用例
Ultralytics は、YOLO-NAS モデルをPython アプリケーションに簡単に統合できるようにしました。 ultralytics
python パッケージで提供される。このパッケージは、プロセスを合理化するためのユーザーフレンドリーなPython APIを提供する。
以下の例では、YOLO-NASモデルを ultralytics
パッケージで推論と検証を行う:
推論と検証の例
この例では、YOLO-NAS-sをCOCO8データセットで検証する。
例
この例では、YOLO-NASの簡単な推論と検証コードを提供する。推論結果の処理については 予測する モードで使用できます。YOLO-NASとその他のモードの併用については、以下を参照のこと。 バル そして 輸出.YOLO-のNAS ultralytics
パッケージはトレーニングをサポートしていない。
PyTorch pretrained *.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")
CLI コマンドでモデルを直接実行できる:
サポートされるタスクとモード
YOLO-NASモデルには3つのバリエーションがあります:スモール(s)、ミディアム(m)、ラージ(l)です。各バリエーションは、異なる計算とパフォーマンスのニーズに対応するように設計されています:
- YOLO-NAS-s:計算リソースは限られているが、効率が重要な環境向けに最適化されている。
- YOLO-NAS-m: Offers a balanced approach, suitable for general-purpose object detection with higher accuracy.
- YOLO-NAS-l:計算機資源の制約が少なく、最高の精度が要求されるシナリオ向け。
以下は各モデルの詳細な概要で、事前に訓練された重みへのリンク、サポートするタスク、異なる動作モードとの互換性などが含まれる。
モデル・タイプ | 事前に訓練されたウェイト | 対応タスク | 推論 | バリデーション | トレーニング | 輸出 |
---|---|---|---|---|---|---|
YOLO-NAS-s | yolo_nas_s.pt | 物体検出 | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-m | yolo_nas_m.pt | 物体検出 | ✅ | ✅ | ❌ | ✅ |
YOLO-NAS-l | yolo_nas_l.pt | 物体検出 | ✅ | ✅ | ❌ | ✅ |
引用と謝辞
研究開発でYOLO-NAS を使用する場合は、SuperGradients を引用してください:
@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},
}
We express our gratitude to Deci AI's SuperGradients team for their efforts in creating and maintaining this valuable resource for the computer vision community. We believe YOLO-NAS, with its innovative architecture and superior object detection capabilities, will become a critical tool for developers and researchers alike.
よくあるご質問
YOLO YOLO -NASとは何ですか?
YOLO-Deci AI によって開発されたNASは、高度なニューラル・アーキテクチャ・サーチ(NAS)技術を活用した最先端の物体検出モデルである。量子化に適した基本ブロックや洗練された学習スキームなどの特徴を導入することで、従来のYOLO モデルの限界に対処している。その結果、特に計算資源が限られた環境において、性能が大幅に向上しています。YOLO-NASは量子化もサポートしており、INT8バージョンに変換しても高い精度を維持し、プロダクション環境への適合性を高めている。詳細は「概要」を参照。
Python アプリケーションにYOLO-NAS モデルを統合するには?
Python アプリケーションにYOLO-NAS モデルを簡単に統合できます。 ultralytics
パッケージを使用する。以下は、事前に訓練された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")
詳細については、推論と検証の例を参照してください。
YOLO-NASの主な機能と、その使用を検討する理由は何ですか?
YOLO-NASは、物体検出タスクに優れた選択肢となるいくつかの重要な機能を導入している:
- Quantization-Friendly Basic Block: Enhanced architecture that improves model performance with minimal precision drop post quantization.
- 洗練されたトレーニングと量子化:高度なトレーニングスキームとトレーニング後の量子化技術を採用。
- AutoNAC Optimization and Pre-training: Utilizes AutoNAC optimization and is pre-trained on prominent datasets like COCO, Objects365, and Roboflow 100. These features contribute to its high accuracy, efficient performance, and suitability for deployment in production environments. Learn more in the Key Features section.
YOLO-NAS モデルでは、どのタスクとモードがサポートされていますか?
YOLO-NASモデルは、推論、検証、エクスポートなど、さまざまなオブジェクト検出タスクとモードをサポートしています。トレーニングはサポートしていない。サポートされているモデルには、YOLO-NAS-s、YOLO-NAS-m、YOLO-NAS-lがあり、それぞれ異なる計算能力と性能のニーズに合わせて調整されている。詳細な概要については、「サポートされるタスクとモード」のセクションを参照。
事前にトレーニングされたYOLO-NAS モデルはありますか?
はい、Ultralytics は事前にトレーニングされたYOLO-NAS モデルを提供しており、直接アクセスすることができます。これらのモデルはCOCOのようなデータセットで事前に訓練されており、速度と精度の両方で高いパフォーマンスを保証します。これらのモデルはPre-trained Modelsセクションにあるリンクからダウンロードできます。以下はその例です: