YOLOv5
概要
YOLOv5uは、物体検出手法の進歩を象徴している。YOLOv5uは、。 YOLOv5YOLOv5uは、Ultralytics によって開発されたモデルの基本的なアーキテクチャーに由来し、アンカーフリー、物体らしさフリーのスプリットヘッドを統合している。 YOLOv8モデルに導入されていた機能である。この適応によりモデルのアーキテクチャが改良され、物体検出タスクにおける精度と速度のトレードオフが改善された。YOLOv5uは、経験的な結果とその導出された特徴から、研究と実用的な応用の両方において、頑健な解決策を求める人々に効率的な代替案を提供する。
主な特徴
-
アンカーフリーのスプリットUltralytics ヘッド:従来のオブジェクト検出モデルは、オブジェクトの位置を予測するために、あらかじめ定義されたアンカーボックスに依存していた。しかし、YOLOv5uはこのアプローチを近代化する。アンカーフリーのスプリットUltralytics ヘッドを採用することで、より柔軟で適応的な検出メカニズムを保証し、その結果、多様なシナリオにおける性能を向上させる。
-
最適化された正確さとスピードのトレードオフ:スピードと正確さは、しばしば相反する方向へ引っ張られる。しかし、YOLOv5uはこのトレードオフに挑戦します。YOLOv5uは調整されたバランスを提供し、精度に妥協することなくリアルタイムの検出を保証します。この機能は、自律走行車、ロボット工学、リアルタイムビデオ解析など、迅速な応答が求められるアプリケーションでは特に貴重です。
-
多様な事前学習済みモデルタスクによって必要とされるツールセットが異なることを理解し、YOLOv5uは多くのトレーニング済みモデルを提供しています。推論、検証、トレーニングのいずれに重点を置いていても、オーダーメイドのモデルがあなたを待っています。この多様性により、万能なソリューションではなく、あなたのユニークな課題に対して特別に微調整されたモデルを使用することができます。
サポートされるタスクとモード
YOLOv5uモデルは、様々な事前学習済みの重みを持ち、物体検出タスクに優れています。幅広いモードをサポートしているため、開発から配備まで、さまざまな用途に適しています。
モデル・タイプ | 事前に訓練されたウェイト | タスク | 推論 | バリデーション | トレーニング | 輸出 |
---|---|---|---|---|---|---|
YOLOv5u | yolov5nu , yolov5su , yolov5mu , yolov5lu , yolov5xu , yolov5n6u , yolov5s6u , yolov5m6u , yolov5l6u , yolov5x6u |
物体検出 | ✅ | ✅ | ✅ | ✅ |
この表は、YOLOv5uモデルバリアントの詳細な概要を示しており、物体検出タスクにおける適用可能性と、推論、検証、トレーニング、エクスポートといった様々な操作モードのサポートを強調しています。この包括的なサポートにより、ユーザーは幅広い物体検出シナリオでYOLOv5uモデルの機能をフルに活用することができます。
パフォーマンス指標
パフォーマンス
80の訓練済みクラスを含むCOCO上で訓練されたこれらのモデルの使用例については、Detection Docsを参照してください。
モデル | ヤムル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (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 |
使用例
この例では、単純なYOLOv5 トレーニングと推論の例を提供します。これらのモードや他のモードに関する完全なドキュメントはPredict,Train,ValandExportdocs ページを参照してください。
例
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")
CLI コマンドでモデルを直接実行できる:
引用と謝辞
あなたの研究でYOLOv5 または YOLOv5u を使用する場合は、Ultralytics YOLOv5 リポジトリを以下のように引用してください:
YOLOv5 モデルは AGPL-3.0およびEnterpriseライセンスで提供されます。
よくあるご質問
Ultralytics YOLOv5uとは何ですか?また、YOLOv5 との違いは何ですか?
Ultralytics YOLOv5uは、YOLOv5 の進化版であり、アンカーフリー、オブジェクトネスフリーのスプリットヘッドを統合し、リアルタイムのオブジェクト検出タスクの精度と速度のトレードオフを強化する。従来のYOLOv5 と異なり、YOLOv5uはアンカーフリーの検出メカニズムを採用し、より柔軟で多様なシナリオに適応します。YOLOv5uの特徴の詳細については、YOLOv5 概要をご参照ください。
YOLOv5uにおいて、アンカーを使わないUltralytics ヘッドはどのように物体検出性能を向上させているのか?
YOLOv5uのアンカーフリーUltralytics ヘッドは、あらかじめ定義されたアンカーボックスへの依存を排除することで、物体検出性能を向上させます。その結果、より柔軟で適応性の高い検出メカニズムが実現し、さまざまなサイズや形状の物体をより効率的に扱うことができる。この強化は、精度と速度のバランスの取れたトレードオフに直接貢献し、YOLOv5uをリアルタイム・アプリケーションに適しています。YOLOv5uのアーキテクチャーについては、「主な特長」をご覧ください。
トレーニング済みのYOLOv5uモデルを異なるタスクやモードに使用できますか?
はい、オブジェクト検出などの様々なタスクに、事前にトレーニングされたYOLOv5uモデルを使用することができます。これらのモデルは、推論、検証、トレーニング、エクスポートなどの複数のモードをサポートしています。この柔軟性により、ユーザーはさまざまな運用要件でYOLOv5uモデルの機能を活用することができます。詳細な概要については、「サポートされるタスクとモード」のセクションをご覧ください。
YOLOv5uモデルのパフォーマンス指標は、異なるプラットフォームでどのように比較されますか?
YOLOv5uモデルの性能指標は、使用するプラットフォームやハードウェアによって異なる。例えば、YOLOv5nuモデルは、COCOデータセットで34.3mAPを達成し、CPU (ONNX)では73.6ms、A100TensorRT では1.06msの速度でした。さまざまなYOLOv5uモデルの詳細な性能指標は、性能指標のセクションで見ることができます。
Ultralytics Python APIを使用してYOLOv5uモデルをトレーニングするにはどうすればよいですか?
YOLOv5uモデルをトレーニングするには、事前にトレーニングされたモデルをロードし、あなたのデータセットでトレーニングコマンドを実行します。簡単な例を挙げよう:
例
より詳しい説明は、使用例のセクションをご覧ください。