Ultralytics YOLO27:

YOLO-NAS#

重要な更新

YOLO-NASの開発元であるDeciがNVIDIAに買収されたことにご注意ください。その結果、これらのモデルはDeciによる積極的なメンテナンスの対象ではなくなりました。Ultralyticsは引き続きこれらのモデルの使用をサポートしますが、元のチームからのさらなる更新は予定されていません。

概要#

Deci AIによって開発されたYOLO-NASは、画期的な物体検出基盤モデルです。これは、高度なニューラルアーキテクチャサーチ技術の成果であり、従来のYOLOモデルの制限に対処するために綿密に設計されています。量子化サポートと精度とレイテンシのトレードオフが大幅に改善されており、YOLO-NASは物体検出における大きな飛躍を実現しています。

COCOベンチマークにおける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 S47.53.21
YOLO-NAS M51.555.85
YOLO-NAS L52.227.87
YOLO-NAS S INT-847.032.36
YOLO-NAS M INT-851.03.78
YOLO-NAS L INT-852.14.78

各モデルバリアントは、平均適合率 (mAP)とレイテンシのバランスを提供するように設計されており、パフォーマンスと速度の両面で物体検出タスクを最適化できます。

使用例#

Ultralyticsは、ultralytics Pythonパッケージを使用して、YOLO-NASモデルをご自身のPythonアプリケーションに簡単に統合できるようにしています。このパッケージは、そのプロセスを効率化するための使いやすいPython APIを提供します。

以下の例では、ultralyticsパッケージを使用してYOLO-NASモデルで推論と検証を行う方法を示します。

推論と検証の例#

この例では、COCO8データセットでYOLO-NAS-sを検証します。

この例では、YOLO-NASの推論と検証を行うためのシンプルなコードを示します。推論結果の処理については、Predictモードを参照してください。YOLO-NASを追加のモードで使用する方法については、ValExportを参照してください。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: バランスの取れたアプローチを提供し、より高い精度が求められる汎用的な物体検出に適しています。
  • YOLO-NAS-l: 計算リソースの制約が比較的少なく、最高精度が必要なシナリオ向けに調整されています。

以下では、各モデルの詳細な概要として、事前トレーニング済みの重みへのリンク、サポートされるタスク、さまざまな動作モードとの互換性を示します。

モデルタイプ事前学習済み重みサポートされているタスクトレーニング検証推論エクスポート
YOLO-NAS-syolo_nas_s.ptオブジェクト検出
YOLO-NAS-myolo_nas_m.ptオブジェクト検出
YOLO-NAS-lyolo_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は、開発者と研究者の双方にとって重要なツールになると考えています。

FAQ#

  • Deci AIによって開発されたYOLO-NASは、高度なニューラルアーキテクチャサーチ(NAS)技術を活用した最先端の物体検出モデルです。量子化に適した基本ブロックや高度なトレーニング手法などの機能を導入することで、従来のYOLOモデルの制限に対処しています。その結果、特に計算リソースが限られた環境で、パフォーマンスが大幅に向上しています。YOLO-NASは量子化もサポートしており、INT8バージョンに変換した場合でも高い精度を維持するため、実運用環境により適しています。詳しくは、概要セクションをご覧ください。

  • 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")

    詳しくは、推論と検証の例を参照してください。

  • YOLO-NASには、物体検出タスクにおける優れた選択肢となる、次のような主な特徴があります。

    • 量子化に適した基本ブロック: 量子化後の精度低下を最小限に抑えながら、モデルのパフォーマンスを向上させる強化されたアーキテクチャです。
    • 高度なトレーニングと量子化: 高度なトレーニング手法とトレーニング後量子化技術を採用しています。
    • AutoNACの最適化と事前トレーニング: AutoNACの最適化を活用し、COCO、Objects365、Roboflow 100などの主要なデータセットで事前トレーニングされています。

    これらの特徴により、高い精度、効率的なパフォーマンス、実運用環境へのデプロイに適した特性が実現されています。詳しくは、主な特徴セクションをご覧ください。

  • YOLO-NASモデルは、推論、検証、エクスポートなど、さまざまな物体検出タスクとモードをサポートしています。トレーニングはサポートしていません。サポートされるモデルにはYOLO-NAS-s、YOLO-NAS-m、YOLO-NAS-lがあり、それぞれ異なる計算能力とパフォーマンスのニーズに合わせて設計されています。詳しい概要については、サポートされるタスクとモードセクションを参照してください。

  • はい、Ultralyticsは事前トレーニング済みのYOLO-NASモデルを提供しており、直接アクセスできます。これらのモデルはCOCOなどのデータセットで事前トレーニングされているため、速度と精度の両面で高いパフォーマンスを発揮します。事前トレーニング済みモデルセクションに記載されているリンクから、これらのモデルをダウンロードできます。以下にいくつか例を示します。

コメント