YOLO-NAS
概要
Deci AI開発されたYOLO、画期的な物体検出の基盤モデルです。YOLO -NASは、従来のYOLO モデルの限界に対処するために綿密に設計された、高度なニューラル・アーキテクチャ探索技術の産物です。量子化サポートと精度とレイテンシーのトレードオフの大幅な改善により、YOLO物体検出における大きな飛躍を意味します。
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 |
各モデルのバリエーションは、平均平均精度(mAP)とレイテンシのバランスを提供するように設計されており、性能と速度の両面から物体検出タスクを最適化するのに役立ちます。
使用例
Ultralytics は、YOLO-NASモデルをPython アプリケーションに簡単に統合できるようにしました。 ultralytics
python パッケージで提供される。このパッケージは、プロセスを合理化するためのユーザーフレンドリーなPython APIを提供する。
以下の例では、YOLO-NASモデルを ultralytics
パッケージで推論と検証を行う:
推論と検証の例
この例では、YOLO-NAS-sをCOCO8データセットで検証する。
例
この例では、YOLO-NASの簡単な推論と検証コードを提供する。推論結果の処理については 予測する モードで使用できます。YOLO-NASとその他のモードの併用については、以下を参照のこと。 バル そして 輸出.YOLO-のNAS ultralytics
パッケージはトレーニングをサポートしていない。
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")
CLI コマンドでモデルを直接実行できる:
サポートされるタスクとモード
YOLO-NASモデルには3つのバリエーションがあります:スモール(s)、ミディアム(m)、ラージ(l)です。各バリエーションは、異なる計算とパフォーマンスのニーズに対応するように設計されています:
- YOLO-NAS-s:計算リソースは限られているが、効率が重要な環境向けに最適化されている。
- YOLO-NAS-m:より高い精度で汎用的な物体検出に適した、バランスの取れたアプローチを提供。
- 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/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 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は、物体検出タスクに優れた選択肢となるいくつかの重要な機能を導入している:
- 量子化に適した基本ブロック:量子化後の精度低下を最小限に抑え、モデル性能を向上させる拡張アーキテクチャ。
- 洗練されたトレーニングと量子化:高度なトレーニングスキームとトレーニング後の量子化技術を採用。
- AutoNAC最適化と事前トレーニング:AutoNAC最適化を利用し、COCO、Objects365、Roboflow 100などの著名なデータセットで事前学習されています。
これらの特長により、高い精度、効率的なパフォーマンス、生産環境での展開に適しています。詳しくは「主な機能」のセクションをご覧ください。
YOLO-NAS モデルでは、どのタスクとモードがサポートされていますか?
YOLO-NASモデルは、推論、検証、エクスポートなど、さまざまなオブジェクト検出タスクとモードをサポートしています。トレーニングはサポートしていない。サポートされているモデルには、YOLO-NAS-s、YOLO-NAS-m、YOLO-NAS-lがあり、それぞれ異なる計算能力と性能のニーズに合わせて調整されている。詳細な概要については、「サポートされるタスクとモード」のセクションを参照。
事前にトレーニングされたYOLO-NAS モデルはありますか?
はい、Ultralytics は事前にトレーニングされたYOLO-NAS モデルを提供しており、直接アクセスすることができます。これらのモデルはCOCOのようなデータセットで事前に訓練されており、速度と精度の両方で高いパフォーマンスを保証します。これらのモデルはPre-trained Modelsセクションにあるリンクからダウンロードできます。以下はその例です: