YOLO-NAS#
YOLO-NASのオリジナル開発元であるDeciは、NVIDIAに買収されましたのでご注意ください。その結果、これらのモデルはDeciによるアクティブな保守が終了しています。Ultralyticsはこれらのモデルの使用を引き続きサポートしますが、オリジナルのチームからの今後のアップデートは予定されていません。
概要#
Deci AIによって開発されたYOLO-NASは、画期的な物体検出の基盤モデルです。これは、従来のYOLOモデルの制限に対処するために細心の注意を払って設計された、高度なNeural Architecture Searchテクノロジーの成果です。量子化サポートの大幅な改善とaccuracyとレイテンシのトレードオフにより、YOLO-NASは物体検出における大きな飛躍を表しています。
YOLO-NASの概要。 YOLO-NASは、最適なパフォーマンスを実現するために量子化認識ブロックと選択的量子化を採用しています。このモデルは、INT8量子化バージョンに変換された際に精度の低下が最小限に抑えられ、他のモデルに比べて大幅に改善されています。これらの進歩により、前例のない物体検出機能と優れたパフォーマンスを備えた優れたアーキテクチャが実現します。
主な特徴#
- 量子化フレンドリーな基本ブロック: YOLO-NASは、従来のYOLOモデルの重要な制限の1つに対処する、量子化に適した新しい基本ブロックを導入しています。
- 高度なトレーニングと量子化: 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 |
各モデルバリアントは、Mean Average Precision(mAP)とレイテンシのバランスを提供するように設計されており、パフォーマンスと速度の両方について物体検出タスクを最適化するのに役立ちます。
使用例#
Ultralyticsにより、ultralytics pythonパッケージを介してYOLO-NASモデルをPythonアプリケーションに簡単に統合できるようになりました。このパッケージは、プロセスを合理化するための使いやすいPython APIを提供します。
次の例は、推論と検証のために ultralytics パッケージでYOLO-NASモデルを使用する方法を示しています。
推論と検証の例#
この例では、COCO8データセットでYOLO-NAS-sを検証します。
この例では、YOLO-NASの簡単な推論および検証コードを提供します。推論結果の処理については、Predictモードを参照してください。追加のモードでYOLO-NASを使用するには、ValおよびExportを参照してください。ultralytics パッケージ上の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")サポートされるタスクとモード#
YOLO-NASモデルには、Small (s)、Medium (m)、Large (l)の3つのバリアントを用意しています。各バリアントは、計算能力とパフォーマンスのさまざまなニーズに応えるように設計されています。
- YOLO-NAS-s: 計算リソースが限られているものの、効率が重要である環境向けに最適化されています。
- YOLO-NAS-m: バランスの取れたアプローチを提供し、より高い精度での汎用object detectionに適しています。
- YOLO-NAS-l: 計算リソースの制約が少ない、最高精度を必要とするシナリオ向けに調整されています。
以下は、各モデルの詳細な概要で、事前学習済みウェイトへのリンク、サポートするタスク、およびさまざまな動作モードとの互換性を含みます。
| モデルタイプ | 事前学習済みウェイト | サポートされるタスク | トレーニング | バリデーション | 推論 | エクスポート |
|---|---|---|---|---|---|---|
| YOLO-NAS-s | yolo_nas_s.pt | Object Detection | ❌ | ✅ | ✅ | ✅ |
| YOLO-NAS-m | yolo_nas_m.pt | Object Detection | ❌ | ✅ | ✅ | ✅ |
| YOLO-NAS-l | yolo_nas_l.pt | Object Detection | ❌ | ✅ | ✅ | ✅ |
引用と謝辞#
研究や開発作業で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},
}computer visionコミュニティのためにこの貴重なリソースを作成および維持していただいたDeci AIのSuperGradientsチームの努力に感謝いたします。革新的なアーキテクチャと優れた物体検出機能を備えたYOLO-NASが、開発者や研究者にとって不可欠なツールになると確信しています。
よくある質問 (FAQ)#
Deci AIによって開発されたYOLO-NASは、高度なNeural Architecture Search(NAS)テクノロジーを活用した最先端の物体検出モデルです。量子化に適した基本ブロックや洗練されたトレーニングスキームなどの機能を導入することで、従来のYOLOモデルの制限に対処します。これにより、特に限られた計算リソース環境において、パフォーマンスが大幅に向上します。また、YOLO-NASは量子化をサポートしており、INT8バージョンに変換しても高い精度を維持し、本番環境への適合性を高めています。詳細については、Overviewセクションを参照してください。
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を参照してください。
YOLO-NASには、物体検出タスクにおいて優れた選択肢となるいくつかの主要機能が導入されています。
- 量子化対応基本ブロック: 量子化後のprecisionの低下を最小限に抑えながらモデルのパフォーマンスを向上させる拡張アーキテクチャ。
- 高度なトレーニングと量子化: 高度なトレーニングスキームとトレーニング後の量子化技術を採用。
- AutoNAC最適化と事前学習: AutoNAC最適化を利用し、COCO、Objects365、Roboflow 100などの主要なデータセットで事前学習済み。
これらの機能は、高い精度、効率的なパフォーマンス、および本番環境へのデプロイへの適合性に貢献します。詳細については、Key Featuresセクションを参照してください。
YOLO-NASモデルは、推論、検証、エクスポートなどのさまざまな物体検出タスクとモードをサポートしています。トレーニングはサポートしていません。サポートされているモデルには、YOLO-NAS-s、YOLO-NAS-m、YOLO-NAS-lがあり、それぞれ異なる計算能力とパフォーマンスのニーズに合わせて調整されています。詳細な概要については、Supported Tasks and Modesセクションを参照してください。
はい、Ultralyticsは直接アクセスできる事前トレーニング済みのYOLO-NASモデルを提供しています。これらのモデルはCOCOなどのデータセットで事前トレーニングされており、速度と精度の両方の面で高いパフォーマンスを保証します。Pretrained Modelsセクションにあるリンクを使用して、これらのモデルをダウンロードできます。いくつかの例を次に示します。