YOLOv8
概要
YOLOv8 は、リアルタイム物体検出器YOLO シリーズの最新版で、精度と速度の面で最先端の性能を提供します。YOLO の旧バージョンの進化をベースに、YOLOv8 は新機能と最適化を導入し、幅広いアプリケーションにおけるさまざまな物体検出タスクに理想的な選択肢を提供します。
見るんだ: Ultralytics YOLOv8 モデル概要
主な特徴
- 高度なバックボーンとネックアーキテクチャ: YOLOv8 は最先端のバックボーンとネックアーキテクチャを採用し、特徴抽出と物体検出のパフォーマンスを向上させています。
- アンカーフリーのスプリットヘッドUltralytics : YOLOv8 は、アンカーフリーのスプリットヘッドUltralytics を採用しており、アンカーベースのアプローチと比較して、より高い精度と効率的な検出プロセスに貢献しています。
- 最適化された精度と速度のトレードオフ:精度と速度の最適なバランスを維持することに重点を置き、YOLOv8 、さまざまな応用分野におけるリアルタイムの物体検出タスクに適している。
- 様々な事前学習済みモデル: YOLOv8 は、様々なタスクやパフォーマンス要件に対応する様々な事前学習済みモデルを提供しており、特定のユースケースに適したモデルを簡単に見つけることができます。
サポートされるタスクとモード
YOLOv8 シリーズは、コンピュータビジョンにおける特定のタスクに特化した、多様なモデルを提供しています。これらのモデルは、物体検出から、インスタンスのセグメンテーション、ポーズ/キーポイント検出、指向性物体検出、分類などの複雑なタスクまで、さまざまな要件に対応するように設計されています。
YOLOv8 シリーズの各バリエーションは、それぞれのタスクに最適化されており、高い性能と精度を保証します。さらに、これらのモデルは、推論、検証、トレーニング、エクスポートなど、さまざまな操作モードに対応しており、展開や開発のさまざまな段階での使用が容易になっています。
モデル | ファイル名 | タスク | 推論 | バリデーション | トレーニング | 輸出 |
---|---|---|---|---|---|---|
YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt |
検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv8-セグ | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt |
インスタンスのセグメンテーション | ✅ | ✅ | ✅ | ✅ |
YOLOv8-ポーズ | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt |
ポーズ/キーポイント | ✅ | ✅ | ✅ | ✅ |
YOLOv8-オッブ | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt |
指向性検出 | ✅ | ✅ | ✅ | ✅ |
YOLOv8-cls(クルス | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt |
分類 | ✅ | ✅ | ✅ | ✅ |
この表は、YOLOv8 モデルバリアントの概要を提供し、特定のタスクにおける適用可能性と、推論、検証、トレーニング、エクスポートなどのさまざまな動作モードとの互換性を強調しています。この表は、YOLOv8 シリーズの汎用性と堅牢性を示しており、コンピュータビジョンのさまざまなアプリケーションに適しています。
パフォーマンス指標
パフォーマンス
80の訓練済みクラスを含むCOCO上で訓練されたこれらのモデルの使用例については、Detection Docsを参照してください。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
Open Image V7でトレーニングされたこれらのモデルの使用例については、Detection Docsを参照してください。
モデル | サイズ (ピクセル) |
mAPval 50-95 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
YOLOv8s | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
YOLOv8m | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
YOLOv8l | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
YOLOv8x | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
COCOで訓練されたこれらのモデルの使用例については、Segmentation Docsを参照してください。
モデル | サイズ (ピクセル) |
mAPbox 50-95 |
mAPmask 50-95 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-セグ | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
YOLOv8s-セグ | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
YOLOv8m-セグ | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
YOLOv8l-セグ | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
YOLOv8x-セグ | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
ImageNetで訓練されたこれらのモデルの使用例については、Classification Docsを参照してください。
モデル | サイズ (ピクセル) |
acc top1 |
acc top5 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) at 640 |
---|---|---|---|---|---|---|---|
YOLOv8n-cls(クルス | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 4.3 |
YOLOv8s-cls(クルス | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 13.5 |
YOLOv8m-cls(クルス | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 42.7 |
YOLOv8l-cls(クルス | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 99.7 |
YOLOv8x-cls(クルス | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 154.8 |
COCOで訓練されたこれらのモデルの使用例については、Pose Estimation Docsを参照してください。
モデル | サイズ (ピクセル) |
mAPpose 50-95 |
mAPpose 50 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-ポーズ | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
YOLOv8s-ポーズ | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
YOLOv8m-ポーズ | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
YOLOv8l-ポーズ | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
YOLOv8x-ポーズ | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
YOLOv8x-pose-p6 | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
DOTAv1で訓練されたこれらのモデルの使用例については、Oriented Detection Docsを参照のこと。
モデル | サイズ (ピクセル) |
mAPtest 50 |
速度 CPU ONNX (ms) |
速度 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n-オッブ | 1024 | 78.0 | 204.77 | 3.57 | 3.1 | 23.3 |
YOLOv8s-オッブ | 1024 | 79.5 | 424.88 | 4.07 | 11.4 | 76.3 |
YOLOv8m-オッブ | 1024 | 80.5 | 763.48 | 7.61 | 26.4 | 208.6 |
YOLOv8l-オッブ | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
YOLOv8x-オッブ | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
使用例
この例では、単純なYOLOv8 トレーニングと推論の例を提供します。これらのモードや他のモードに関する完全なドキュメントはPredict,Train,ValandExportdocs ページを参照してください。
以下の例は、YOLOv8 オブジェクト検出のためのDetectモデルであることに注意してください。その他のサポートされるタスクについては、Segment、Classify、OBBdocs、Posedocsを参照してください。
例
PyTorch じゅくれんした *.pt
モデルおよび構成 *.yaml
ファイルに渡すことができる。 YOLO()
クラスを使用して、python にモデルのインスタンスを作成します:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.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 YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI コマンドでモデルを直接実行できる:
引用と謝辞
YOLOv8 モデル、またはこのリポジトリにある他のソフトウェアをあなたの研究で使用する場合は、以下のフォーマットで引用してください:
DOIは保留中であり、利用可能になり次第、引用に追加されることにご注意ください。YOLOv8 モデルは、以下のライセンスで提供されます。 AGPL-3.0およびEnterpriseライセンスで提供されています。
よくあるご質問
YOLOv8 、以前のYOLO バージョンとの違いは?
YOLOv8 は、Ultralytics YOLO シリーズの最新版で、高度な機能によりリアルタイムの物体検出性能を向上させるよう設計されています。以前のバージョンとは異なり、YOLOv8 は、アンカーフリーのスプリット・ヘッド(Ultralytics )、最先端のバックボーンとネック・アーキテクチャを搭載し、精度と速度のトレードオフを最適化することで、多様なアプリケーションに理想的な製品となっています。詳細については、「概要」と「主な特長」のセクションをご覧ください。
コンピュータ・ビジョンのさまざまなタスクにYOLOv8 。
YOLOv8 は、物体検出、インスタンス分割、ポーズ/キーポイント検出、指向性物体検出、分類など、幅広いコンピュータビジョンタスクをサポートしています。各モデルのバリアントは、特定のタスクに最適化されており、推論、検証、トレーニング、エクスポートなどのさまざまな操作モードに対応しています。詳細については、「サポートされるタスクとモード」のセクションを参照してください。
YOLOv8 モデルのパフォーマンス指標は?
YOLOv8 モデルは、さまざまなベンチマークデータセットで最先端の性能を達成している。例えば、YOLOv8n モデルでは、COCO データセットで 37.3 の mAP(平均平均精度)、A100TensorRT で 0.99 ms の速度を達成しています。様々なタスクやデータセットにおける各モデルバリアントの詳細なパフォーマンスメトリクスは、パフォーマンスメトリクスのセクションで見ることができます。
YOLOv8 モデルのトレーニング方法は?
YOLOv8 モデルのトレーニングは、Python またはCLI のいずれかを使用して行うことができます。以下は、COCO8データセットで100エポックのCOCO-pretrainedYOLOv8 モデルを使用したモデルのトレーニングの例です:
例
詳細については、トレーニングのドキュメントをご覧ください。
YOLOv8 モデルの性能をベンチマークできますか?
はい、YOLOv8 モデルは、様々なエクスポートフォーマットにおいて、スピードと正確さの観点からパフォーマンスのベンチマークを取ることができます。ベンチマークには、PyTorch 、ONNX 、TensorRT などを使用できます。以下は、Python とCLI を使用したベンチマーク用コマンドの例です:
例
詳しくは、パフォーマンス・メトリクスのセクションをご覧ください。