Link to this sectionYOLO-NAS#
YOLO-NASのオリジナル開発元であるDeciがNVIDIAによって買収されました。その結果、これらのモデルはDeciによる積極的なメンテナンスが終了しています。Ultralyticsでは引き続きこれらのモデルの使用をサポートしますが、オリジナルチームからの今後のアップデートは予定されていません。
Link to this section概要#
Deci AIによって開発されたYOLO-NASは、画期的な物体検出基盤モデルです。これは、高度なNeural Architecture Search(ニューラルアーキテクチャ探索)技術の成果であり、従来のYOLOモデルの限界に対処するために綿密に設計されました。量子化サポートと精度・レイテンシのトレードオフにおける大幅な改善により、YOLO-NASは物体検出における大きな飛躍を遂げています。
YOLO-NASの概要: YOLO-NASは、最適なパフォーマンスを実現するために量子化対応ブロックと選択的量子化を採用しています。このモデルをINT8量子化バージョンに変換しても、精度の低下は最小限に抑えられ、他のモデルと比較して大幅に改善されています。これらの進歩により、前例のない物体検出機能と卓越した性能を備えた優れたアーキテクチャが完成しました。
Link to this section主な特徴#
- 量子化フレンドリーな基本ブロック: YOLO-NASは、従来のYOLOモデルの重要な制限の1つに対処する、量子化に適した新しい基本ブロックを導入しています。
- 高度なトレーニングと量子化: YOLO-NASは、パフォーマンスを向上させるために高度なトレーニングスキームとトレーニング後の量子化を活用しています。
- AutoNAC最適化と事前学習: YOLO-NASはAutoNAC最適化を活用しており、COCO、Objects365、Roboflow 100などの主要なデータセットで事前学習されています。この事前学習により、本番環境でのダウンストリームの物体検出タスクに非常に適したものとなっています。
Link to this section事前学習済みモデル#
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)とレイテンシのバランスを取るように設計されており、パフォーマンスと速度の両面で物体検出タスクを最適化するのに役立ちます。
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を使用する方法については、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")Link to this sectionサポートされるタスクとモード#
YOLO-NASモデルには、Small (s)、Medium (m)、Large (l)の3つのバリアントを用意しています。各バリアントは、計算能力とパフォーマンスのさまざまなニーズに応えるように設計されています。
- 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 | オブジェクト検出 | ✅ | ✅ | ❌ | ✅ |
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},
}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.
Link to this sectionよくある質問 (FAQ)#
Link to this sectionYOLO-NASとは何ですか?また、従来のYOLOモデルからどのように改善されていますか?#
Deci AIが開発したYOLO-NASは、高度なNeural Architecture Search (NAS)技術を活用した最先端の物体検出モデルです。量子化フレンドリーな基本ブロックや高度なトレーニングスキームなどの機能を導入することで、従来のYOLOモデルの制限に対処しています。その結果、特に計算リソースが限られた環境においてパフォーマンスが大幅に向上しました。また、YOLO-NASは量子化をサポートしており、INT8バージョンに変換しても高い精度を維持できるため、本番環境への適合性が高まっています。詳細については、概要セクションを参照してください。
Link to this sectionYOLO-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")詳細については、推論と検証の例を参照してください。
Link to this sectionYOLO-NASの主な機能は何ですか?また、それを使用するメリットは何ですか?#
YOLO-NASには、物体検出タスクにおいて優れた選択肢となるいくつかの主要機能が導入されています。
- 量子化フレンドリーな基本ブロック: 量子化後の精度低下を最小限に抑えながらモデルのパフォーマンスを向上させる強化されたアーキテクチャ。
- 高度なトレーニングと量子化: 高度なトレーニングスキームとトレーニング後の量子化技術を採用。
- AutoNAC最適化と事前学習: AutoNAC最適化を利用し、COCO、Objects365、Roboflow 100などの主要なデータセットで事前学習済み。
これらの機能は、高い精度、効率的なパフォーマンス、および本番環境へのデプロイへの適合性に貢献しています。詳細については、主な機能セクションをご覧ください。
Link to this sectionYOLO-NASモデルでサポートされているタスクとモードは何ですか?#
YOLO-NASモデルは、推論、検証、エクスポートなど、さまざまな物体検出タスクとモードをサポートしています。トレーニングはサポートしていません。サポートされているモデルには、それぞれの計算能力とパフォーマンスのニーズに合わせてカスタマイズされたYOLO-NAS-s、YOLO-NAS-m、YOLO-NAS-lが含まれます。詳細な概要については、サポートされているタスクとモードセクションを参照してください。
Link to this section事前学習済みのYOLO-NASモデルは利用できますか?また、それらにアクセスするにはどうすればよいですか?#
はい、Ultralyticsは直接アクセス可能な事前学習済みYOLO-NASモデルを提供しています。これらのモデルはCOCOなどのデータセットで事前学習されており、速度と精度の両面で高いパフォーマンスを保証します。事前学習済みモデルセクションで提供されているリンクを使用して、これらのモデルをダウンロードできます。例をいくつか示します。