コンテンツへスキップ

YOLOv8

概要

YOLOv8 は、リアルタイム物体検出器YOLO シリーズの最新版で、精度と速度の面で最先端の性能を提供します。YOLO の旧バージョンの進化をベースに、YOLOv8 は新機能と最適化を導入し、幅広いアプリケーションにおけるさまざまな物体検出タスクに理想的な選択肢を提供します。

Ultralytics 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モデルであることに注意してください。その他のサポートされるタスクについては、SegmentClassifyOBBdocs、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 コマンドでモデルを直接実行できる:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg

引用と謝辞

YOLOv8 モデル、またはこのリポジトリにある他のソフトウェアをあなたの研究で使用する場合は、以下のフォーマットで引用してください:

@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

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 モデルを使用したモデルのトレーニングの例です:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

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

詳細については、トレーニングのドキュメントをご覧ください。

YOLOv8 モデルの性能をベンチマークできますか?

はい、YOLOv8 モデルは、様々なエクスポートフォーマットにおいて、スピードと正確さの観点からパフォーマンスのベンチマークを取ることができます。ベンチマークには、PyTorch 、ONNX 、TensorRT などを使用できます。以下は、Python とCLI を使用したベンチマーク用コマンドの例です:

from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

詳しくは、パフォーマンス・メトリクスのセクションをご覧ください。



作成日:2023-11-12 更新日:2024-07-04
作成者:glenn-jocher(17),Burhan-Q(1),Laughing-q(2),AyushExel(1),fcakyon(1)

コメント