YOLO
重要な更新
YOLOオリジナル作成者であるDeciは、NVIDIA買収されたことにご注意ください。その結果、これらのモデルはDeciによって積極的に保守されなくなりました。Ultralytics これらのモデルの使用を引き続きサポートしますが、オリジナルチームからの更なるアップデートは期待できません。
概要
Deci AI開発されたYOLO、画期的な物体検出の基盤モデルです。YOLO -NASは、従来のYOLO モデルの限界に対処するために綿密に設計された、高度なニューラル・アーキテクチャ探索技術の産物です。量子化のサポートと精度と遅延のトレードオフの大幅な改善により、YOLO物体検出における大きな飛躍を意味します。
YOLO概要。 YOLO、量子化を考慮したブロックと選択的量子化を採用し、最適なパフォーマンスを実現している。このモデルをINT8量子化バージョンに変換すると、精度の低下が最小限に抑えられ、他のモデルよりも大幅に改善されます。これらの進化は、前例のない物体検出能力と卓越した性能を備えた優れたアーキテクチャに結実している。
主な特徴
- 量子化に優しい基本ブロック YOLO、量子化に適した新しい基本ブロックを導入し、従来のYOLO モデルの重大な制限のひとつに対処している。
- 高度なトレーニングと量子化 YOLO、高度なトレーニングスキームとトレーニング後の量子化を活用してパフォーマンスを向上させます。
- AutoNAC最適化と事前トレーニング: YOLOAutoNAC最適化を利用し、COCO、Objects365、Roboflow 100などの著名なデータセットで事前学習されています。この事前学習により、本番環境における下流の物体検出タスクに非常に適しています。
学習済みモデル
Ultralytics提供するトレーニング済みのYOLOモデルで、次世代の物体検出のパワーを体験してください。これらのモデルは、速度と精度の両面で一流のパフォーマンスを提供するように設計されています。お客様のニーズに合わせた様々なオプションからお選びください:
パフォーマンス
| モデル | mAP | レイテンシ(ms) |
|---|---|---|
| YOLO S | 47.5 | 3.21 |
| YOLO M | 51.55 | 5.85 |
| YOLO L | 52.22 | 7.87 |
| YOLOSイント8 | 47.03 | 2.36 |
| YOLOMイント8 | 51.0 | 3.78 |
| YOLOLイント8 | 52.1 | 4.78 |
各モデルのバリエーションは、平均平均精度mAP)とレイテンシのバランスを提供するように設計されており、性能と速度の両面から物体検出タスクを最適化するのに役立ちます。
使用例
Ultralytics 、YOLOモデルをPython アプリケーションに簡単に統合できるようにしました。 ultralytics python パッケージです。このパッケージは、プロセスを効率化するためのユーザーフレンドリーな Python API を提供します。
以下の例では、YOLOモデルを ultralytics 推論と検証用のパッケージ:
推論と検証の例
この例では、COCO8 データセットでYOLO検証する。
例
この例では、YOLO簡単な推論と検証コードを提供する。推論結果の取り扱いについては 予測 モードで使用できます。その他のモードでのYOLO使用については、以下を参照してください。 Val および エクスポート。YOLO-NASは、 ultralytics パッケージはトレーニングをサポートしていません。
PyTorch 学習済み *.pt モデルファイルはに渡すことができます。 NAS() pythonでモデルインスタンスを作成するためのclass:
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コマンドは、モデルを直接実行するために利用できます。
# Load a COCO-pretrained YOLO-NAS-s model and validate it's performance on the COCO8 example dataset
yolo val model=yolo_nas_s.pt data=coco8.yaml
# Load a COCO-pretrained YOLO-NAS-s model and run inference on the 'bus.jpg' image
yolo predict model=yolo_nas_s.pt source=path/to/bus.jpg
サポートされているタスクとモード
YOLOモデルには3つのバリエーションがあります:スモール(s)、ミディアム(m)、ラージ(l)です。各バリエーションは、異なる計算とパフォーマンスのニーズに対応するように設計されています:
- YOLO:計算リソースは限られているが、効率が重要な環境向けに最適化されている。
- YOLO:より高い精度で汎用的な物体検出に適した、バランスの取れたアプローチを提供。
- YOLO:計算機資源の制約が少なく、最高の精度が要求されるシナリオ向け。
以下は、各モデルの詳細な概要です。これには、事前トレーニング済みの重みへのリンク、サポートするタスク、およびさまざまな動作モードとの互換性が含まれます。
| モデルの種類 | 事前学習済み重み | サポートされているタスク | 推論 | 検証 | 学習 | エクスポート |
|---|---|---|---|---|---|---|
| YOLO | yolo_nas_s.pt | 物体検出 | ✅ | ✅ | ❌ | ✅ |
| YOLO | yolo_nas_m.pt | 物体検出 | ✅ | ✅ | ❌ | ✅ |
| YOLO | yolo_nas_l.pt | 物体検出 | ✅ | ✅ | ❌ | ✅ |
引用と謝辞
研究開発にYOLO使用する場合は、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、開発者や研究者にとって重要なツールになると信じています。
よくある質問
YOLOどのようなもので、これまでのYOLO モデルと比べてどのように改良されたのですか?
Deci AI開発したYOLO、高度なニューラル・アーキテクチャ・サーチ(NAS)技術を活用した最先端の物体検出モデルです。量子化に適した基本ブロックや洗練された学習スキームなどの特徴を導入することで、従来のYOLO モデルの限界に対処している。その結果、特に計算資源が限られた環境において、性能が大幅に向上しました。また、YOLO量子化をサポートしており、INT8バージョンに変換しても高い精度を維持し、本番環境への適合性を高めています。詳しくは、概要のセクションをご覧ください。
YOLOモデルをPython アプリケーションに統合するにはどうすればよいですか?
YOLOモデルをPython アプリケーションに統合するには ultralytics パッケージを使用する。ここでは、事前に訓練されたYOLOモデルをロードして推論を実行する簡単な例を示す:
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主な特徴と利用を検討する理由は何ですか?
YOLO、物体検出タスクに優れた選択肢となるいくつかの重要な機能を導入している:
- 量子化対応基本ブロック: 量子化後のモデル性能を最小限の精度低下で向上させる拡張アーキテクチャ。
- 高度な学習と量子化: 高度な学習スキームと学習後の量子化技術を採用しています。
- AutoNAC最適化と事前トレーニング:AutoNAC最適化を利用し、COCO、Objects365、Roboflow 100などの著名なデータセットで事前学習されています。
これらの機能は、その高い精度、効率的なパフォーマンス、および本番環境へのデプロイへの適合性に貢献しています。詳細については、Key Features セクションをご覧ください。
YOLOモデルでサポートされているタスクとモードは?
YOLOモデルは、推論、検証、エクスポートなど、様々なオブジェクト検出タスクとモードをサポートしている。トレーニングはサポートしていない。サポートされるモデルには、YOLO、YOLO、YOLOあり、それぞれ異なる計算能力と性能のニーズに合わせて作られています。詳細な概要については、「サポートされるタスクとモード」のセクションを参照してください。
トレーニング済みのYOLOモデルはありますか?
はい、Ultralytics 事前にトレーニングされたYOLOモデルを提供しており、お客様が直接アクセスすることができます。これらのモデルは、COCOようなデータセットで事前にトレーニングされており、スピードと精度の両面で高いパフォーマンスを保証します。これらのモデルは、Pre-trained Modelsセクションにあるリンクからダウンロードできます。以下はその例です: