Ultralytics YOLOv5

概要

YOLOv5uは、物体検出手法における進歩を表すものです。Ultralyticsが開発したYOLOv5モデルの基礎アーキテクチャから派生したYOLOv5uは、YOLOv8モデルで導入されたアンカーフリーかつオブジェクネスフリーなスプリットヘッドを統合しています。この適応によりモデルアーキテクチャが洗練され、物体検出タスクにおける精度と速度のトレードオフが改善されました。経験的な結果とその派生機能に基づき、YOLOv5uは研究および実用アプリケーションの両面で堅牢なソリューションを求めるユーザーにとって効率的な代替手段となります。

YOLOv5物体検出モデルのアーキテクチャとパフォーマンス

[ultralytics/yolov5](https://github.com/ultralytics/yolov5)で学習されたYOLOv5モデルは、[ultralytics/ultralytics](https://github.com/ultralytics/ultralytics)ライブラリと互換性がありません。

Ultralyticsは、YOLOv5モデルのアンカーフリー版を提供しています。オリジナルのYOLOv5リポジトリで学習されたモデルは、Ultralyticsライブラリでは使用できません。

Ultralytics Platformで試す

YOLOv5モデルをUltralytics Platformで直接探索および実行できます。

主な特徴

  • アンカーフリー・スプリットUltralyticsヘッド: 従来の物体検出モデルは、事前に定義されたアンカーボックスを使用して物体の位置を予測していました。しかし、YOLOv5uはこの手法を現代化しています。アンカーフリーなスプリットUltralyticsヘッドを採用することで、より柔軟で適応性の高い検出メカニズムが保証され、結果として多様なシナリオでのパフォーマンスが向上します。

  • 最適化された精度と速度のトレードオフ: 速度と精度はしばしば相反する関係にあります。しかし、YOLOv5uはこのトレードオフに挑戦しています。調整されたバランスを提供し、精度を損なうことなくリアルタイムの検出を実現します。この機能は、自律走行車ロボティクス、リアルタイム映像解析など、迅速な応答が求められるアプリケーションにとって特に重要です。

  • 多様な学習済みモデル: タスクごとに異なるツールセットが必要であることを理解し、YOLOv5uは多数の学習済みモデルを提供しています。推論、検証、学習のいずれに重点を置く場合でも、あなたにぴったりのモデルが見つかります。この多様性により、汎用的なソリューションを使用するだけでなく、独自の課題に対して特別に微調整されたモデルを利用できます。

サポートされているタスクとモード

様々な学習済み重みを持つYOLOv5uモデルは、物体検出タスクにおいて優れた性能を発揮します。幅広いモードをサポートしており、開発からデプロイメントまで多様なアプリケーションに適しています。

モデルタイプ事前学習済み重みタスク推論 (Inference)検証学習Export
YOLOv5uyolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u物体検出

この表は、YOLOv5uモデルの各バリエーションの詳細な概要であり、物体検出タスクへの適合性、および推論検証学習エクスポートといった様々な運用モードへの対応を示しています。この包括的なサポートにより、ユーザーは幅広い物体検出シナリオにおいてYOLOv5uモデルの能力を最大限に活用できます。

性能メトリクス

性能

See Detection Docs for usage examples with these models trained on COCO, which include 80 pretrained classes.

モデルYAMLサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
A100 TensorRT
(ms)
パラメータ
(M)
FLOPs
(B)
yolov5nu.ptyolov5n.yaml64034.373.61.062.67.7
yolov5su.ptyolov5s.yaml64043.0120.71.279.124.0
yolov5mu.ptyolov5m.yaml64049.0233.91.8625.164.2
yolov5lu.ptyolov5l.yaml64052.2408.42.5053.2135.0
yolov5xu.ptyolov5x.yaml64053.2763.23.8197.2246.4
yolov5n6u.ptyolov5n6.yaml128042.1211.01.834.37.8
yolov5s6u.ptyolov5s6.yaml128048.6422.62.3415.324.6
yolov5m6u.ptyolov5m6.yaml128053.6810.94.3641.265.7
yolov5l6u.ptyolov5l6.yaml128055.71470.95.4786.1137.4
yolov5x6u.ptyolov5x6.yaml128056.82436.58.98155.4250.7

使用例

この例では、基本的なYOLOv5の学習および推論の例を紹介します。これらやその他のモードに関する完全なドキュメントについては、推論学習検証、およびエクスポートのドキュメントページを参照してください。

PyTorch の事前学習済み *.pt モデル、および設定 *.yaml ファイルを YOLO() クラスに渡すことで、Pythonでモデルインスタンスを作成できます。

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv5n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

引用と謝辞

Ultralytics YOLOv5の出版物

Ultralyticsは、モデルの急速な進化のため、YOLOv5に関する正式な研究論文を出版していません。私たちは静的なドキュメントを作成することよりも、技術を進歩させ、使いやすくすることに注力しています。YOLOのアーキテクチャ、機能、使用方法に関する最新情報については、GitHubリポジトリおよびドキュメントを参照してください。

研究でYOLOv5またはYOLOv5uを使用する場合は、次のようにUltralytics YOLOv5リポジトリを引用してください。

引用
@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

YOLOv5モデルは、AGPL-3.0およびEnterpriseライセンスの下で提供されていることに注意してください。

FAQ

Ultralytics YOLOv5uとは何ですか?また、YOLOv5とどのように異なりますか?

Ultralytics YOLOv5uは、YOLOv5の高度なバージョンであり、リアルタイム物体検出タスクの精度と速度のトレードオフを改善する、アンカーフリーかつオブジェクネスフリーなスプリットヘッドを統合しています。従来のYOLOv5とは異なり、YOLOv5uはアンカーフリーの検出メカニズムを採用しており、多様なシナリオにおいてより柔軟で適応性が高くなっています。その機能の詳細については、YOLOv5の概要を参照してください。

アンカーフリーのUltralyticsヘッドは、YOLOv5uでどのように物体検出パフォーマンスを向上させますか?

YOLOv5uのアンカーフリーUltralyticsヘッドは、事前に定義されたアンカーボックスへの依存を排除することで物体検出パフォーマンスを向上させます。これにより、さまざまな物体のサイズや形状をより効率的に扱える、柔軟で適応性の高い検出メカニズムが実現します。この強化は、精度と速度のバランスのとれたトレードオフに直接寄与し、YOLOv5uをリアルタイムアプリケーションに適したものにしています。アーキテクチャの詳細については、主な機能セクションを参照してください。

学習済みYOLOv5uモデルを異なるタスクやモードで使用できますか?

はい、学習済みYOLOv5uモデルは、物体検出などの様々なタスクで使用できます。これらのモデルは、推論検証学習エクスポートなど、複数のモードをサポートしています。この柔軟性により、ユーザーはさまざまな運用要件にわたってYOLOv5uモデルの機能を活用できます。詳細な概要については、サポートされているタスクとモードセクションを確認してください。

YOLOv5uモデルのパフォーマンス指標は、プラットフォームごとにどのように異なりますか?

YOLOv5uモデルのパフォーマンス指標は、使用されるプラットフォームやハードウェアによって異なります。例えば、YOLOv5nuモデルはCOCOデータセットで34.3のmAPを達成し、CPU (ONNX) で73.6 ms、A100 TensorRTで1.06 msの速度を実現します。様々なYOLOv5uモデルの詳細なパフォーマンス指標は、パフォーマンス指標セクションに記載されており、さまざまなデバイス間での包括的な比較が可能です。

Ultralytics Python APIを使用してYOLOv5uモデルを学習する方法は?

学習済みモデルをロードし、データセットを指定して学習コマンドを実行することで、YOLOv5uモデルを学習できます。簡単な例を以下に示します。

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

より詳細な手順については、使用例セクションを参照してください。

コメント