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

UltralyticsはYOLOv5モデルのアンカーフリーバリアントを提供しています。ultralytics/yolov5リポジトリで学習されたモデルは、ultralytics/ultralyticsライブラリでは読み込めません。ここでYOLOv5を使用するには、Ultralytics YOLOv5uのチェックポイント(例: yolov5su.pt)から新しいモデルを学習してください。
YOLOv5モデルをUltralytics Platformで直接探索し、実行できます。
Link to this section主な機能#
-
アンカーフリー分割Ultralyticsヘッド: 従来の物体検出モデルは、事前に定義されたアンカーボックスを使用して物体の位置を予測していました。しかし、YOLOv5uはこのアプローチを現代化しています。アンカーフリーの分割Ultralyticsヘッドを採用することで、より柔軟で適応性の高い検出メカニズムが保証され、多様なシナリオでのパフォーマンスが向上します。
-
最適化された精度と速度のトレードオフ: 速度と精度は往々にして相反するものです。しかし、YOLOv5uはこのトレードオフに挑戦しています。調整されたバランスを提供し、精度を犠牲にすることなくリアルタイムの検出を実現します。この機能は、自動運転車、ロボティクス、リアルタイム映像解析など、迅速な応答が求められるアプリケーションにとって特に重要です。
-
多様な学習済みモデル: タスクに応じて必要なツールセットが異なることを踏まえ、YOLOv5uは多数の学習済みモデルを提供しています。推論、検証、トレーニングのいずれに焦点を当てている場合でも、最適なモデルが用意されています。この多様性により、万能なソリューションを使うだけでなく、独自の課題に合わせて微調整されたモデルを利用できます。
Link to this sectionサポートされているタスクとモード#
さまざまな学習済み重みを持つYOLOv5uモデルは、物体検出タスクで優れた性能を発揮します。幅広いモードをサポートしており、開発からデプロイメントまで、多様なアプリケーションに適しています。
| モデルタイプ | 学習済み重み | タスク | 推論 | 検証 | 学習 | Export(エクスポート) |
|---|---|---|---|---|---|---|
| YOLOv5u | yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u | 物体検出 | ✅ | ✅ | ✅ | ✅ |
この表はYOLOv5uモデルのバリアントの詳細な概要を示しており、物体検出タスクへの適用性と、推論、検証、トレーニング、エクスポートといったさまざまな運用モードのサポートを強調しています。この包括的なサポートにより、ユーザーは幅広い物体検出シナリオでYOLOv5uモデルの機能を最大限に活用できます。
Link to this sectionパフォーマンス指標#
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.pt | yolov5n.yaml | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
| yolov5su.pt | yolov5s.yaml | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
| yolov5mu.pt | yolov5m.yaml | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
| yolov5lu.pt | yolov5l.yaml | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
| yolov5xu.pt | yolov5x.yaml | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
| yolov5n6u.pt | yolov5n6.yaml | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 7.8 |
| yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
| yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
| yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
| yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
Link to this section使用例#
この例では、シンプルな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")Link to this section引用と謝辞#
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ライセンスの下で提供されています。
Link to this sectionFAQ#
Link to this sectionUltralytics YOLOv5uとは何ですか?また、YOLOv5とどう違いますか?#
Ultralytics YOLOv5uはYOLOv5の高度なバージョンであり、リアルタイム物体検出タスクにおける精度と速度のトレードオフを向上させるアンカーフリーかつオブジェクトネスフリーの分割ヘッドを統合しています。従来のYOLOv5とは異なり、YOLOv5uはアンカーフリーの検出メカニズムを採用しており、多様なシナリオでより柔軟で適応性が高くなっています。その機能の詳細については、YOLOv5概要を参照してください。
Link to this sectionアンカーフリーのUltralyticsヘッドは、YOLOv5uの物体検出性能をどのように改善しますか?#
YOLOv5uのアンカーフリーUltralyticsヘッドは、事前定義されたアンカーボックスへの依存を排除することで、物体検出性能を改善します。これにより、さまざまな物体のサイズや形状をより効率的に扱える、より柔軟で適応性の高い検出メカニズムが実現します。この強化は、精度と速度のバランスの取れたトレードオフに直接貢献し、YOLOv5uをリアルタイムアプリケーションに適したものにしています。そのアーキテクチャについては、主な機能セクションで詳しく解説しています。
Link to this section学習済みのYOLOv5uモデルをさまざまなタスクやモードで使用できますか?#
はい、学習済みのYOLOv5uモデルを物体検出などのさまざまなタスクで使用できます。これらのモデルは、推論、検証、トレーニング、エクスポートを含む複数のモードをサポートしています。この柔軟性により、ユーザーは異なる運用要件に合わせてYOLOv5uモデルの機能を活用できます。詳細な概要については、サポートされているタスクとモードセクションを確認してください。
Link to this sectionYOLOv5uモデルのパフォーマンス指標は、異なるプラットフォーム間でどのように比較されますか?#
YOLOv5uモデルのパフォーマンス指標は、使用するプラットフォームやハードウェアによって異なります。例えば、YOLOv5nuモデルはCOCOデータセットで34.3 mAPを達成し、CPU (ONNX) で73.6 ms、A100 TensorRTで1.06 msの速度を実現します。さまざまなYOLOv5uモデルの詳細なパフォーマンス指標は、パフォーマンス指標セクションに記載されており、さまざまなデバイス間での包括的な比較を提供しています。
Link to this sectionUltralytics 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)詳細な手順については、Usage Examplesセクションをご覧ください。