Ultralytics YOLOv8をご覧ください#
概要#
Ultralyticsは2023年1月10日にYOLOv8をリリースし、精度と速度で最先端の性能を実現しました。従来のYOLOバージョンの進歩を基盤とするYOLOv8には、新機能と最適化が導入されており、幅広い用途におけるさまざまな物体検出タスクに最適です。

視聴: Ultralytics YOLOv8 モデルの概要
Ultralytics PlatformでYOLOv8モデルを直接探索して実行できます。
YOLOv8の主な機能#
- 高度なバックボーンおよびネックアーキテクチャ: YOLOv8は最先端のバックボーンおよびネックアーキテクチャを採用しており、特徴抽出と物体検出の性能が向上しています。
- アンカーフリーの分割型Ultralyticsヘッド: YOLOv8はアンカーフリーの分割型Ultralyticsヘッドを採用しており、アンカーベースの手法と比べて精度の向上と検出プロセスの効率化に貢献します。
- 精度と速度のトレードオフを最適化: 精度と速度の最適なバランスを維持することを重視しているため、YOLOv8は幅広い用途におけるリアルタイム物体検出タスクに適しています。
- 多様な事前学習済みモデル: YOLOv8はさまざまなタスクや性能要件に対応する幅広い事前学習済みモデルを提供しており、特定のユースケースに適したモデルを簡単に見つけられます。
サポート対象のタスクとモード#
YOLOv8シリーズは、コンピュータービジョンの特定のタスクに特化した多様なモデルを提供します。物体検出から、インスタンスセグメンテーション、分類、姿勢・キーポイント検出、向き付き物体検出などのより複雑なタスクまで、さまざまな要件に対応するよう設計されています。
YOLOv8シリーズの各バリアントは、それぞれのタスクに合わせて最適化されており、高い性能と精度を実現します。さらに、これらのモデルは推論、検証、トレーニング、エクスポートなど、さまざまな運用モードに対応しているため、開発やデプロイの各段階で活用できます。
| モデル | ファイル名 | タスク | トレーニング | 検証 | 推論 | エクスポート |
|---|---|---|---|---|---|---|
| YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt | 物体検出 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | インスタンスセグメンテーション | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | 分類 | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | 姿勢/キーポイント | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | 方向付き物体検出 | ✅ | ✅ | ✅ | ✅ |
この表では、YOLOv8のモデルバリアントの概要を示し、特定のタスクへの適用性と、推論、検証、トレーニング、エクスポートなどのさまざまな運用モードとの互換性を紹介します。YOLOv8シリーズの汎用性と堅牢性を示しており、コンピュータービジョンのさまざまな用途に適しています。
性能指標#
YOLOv8の使用例#
この例では、YOLOv8のトレーニングと推論の基本的な例を紹介します。これらの例やその他のモードの詳細については、Predict、Train、Val、Exportのドキュメントページをご覧ください。
以下の例は、物体検出用のYOLOv8 Detectモデルを対象としています。その他の対応タスクについては、Segment、Classify、Pose、OBBのドキュメントをご覧ください。
PyTorchの事前学習済み*.ptモデルと構成*.yamlファイルをYOLO()クラスに渡すことで、Pythonでモデルインスタンスを作成できます。
from ultralytics import YOLO
# COCOで事前学習済みのYOLOv8nモデルを読み込みます
model = YOLO("yolov8n.pt")
# モデル情報を表示(任意)
model.info()
# COCO8サンプルデータセットでモデルを100エポック学習する
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 'bus.jpg'画像に対してYOLOv8nモデルで推論を実行します
results = model("path/to/bus.jpg")引用と謝辞#
モデルが急速に進化しているため、UltralyticsはYOLOv8の正式な研究論文を公開していません。静的なドキュメントを作成するよりも、技術の進歩と使いやすさの向上に注力しています。YOLOアーキテクチャ、機能、使用方法に関する最新情報については、GitHubリポジトリとドキュメントをご覧ください。
業務で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モデルは、さまざまなベンチマークデータセットで最先端の性能を達成しています。たとえば、YOLOv8nモデルはCOCOデータセットでmAP(平均平均適合率)37.3を達成し、A100 TensorRTでの速度は0.99 msです。さまざまなタスクやデータセットにおける各モデルバリアントの詳細な性能指標は、性能指標のセクションで確認できます。
YOLOv8モデルは、PythonまたはCLIを使用してトレーニングできます。以下に、COCOで事前学習済みのYOLOv8モデルを使用し、COCO8データセットで100エポックにわたってトレーニングする例を示します。
例from ultralytics import YOLO # COCOで事前学習済みのYOLOv8nモデルを読み込みます model = YOLO("yolov8n.pt") # COCO8サンプルデータセットでモデルを100エポック学習する results = model.train(data="coco8.yaml", epochs=100, imgsz=640)詳しくは、トレーニングのドキュメントをご覧ください。
はい、さまざまなエクスポート形式で、速度と精度の観点からYOLOv8モデルの性能をベンチマークできます。ベンチマークには、PyTorch、ONNX、TensorRTなどを使用できます。以下に、PythonとCLIを使用したベンチマークのコマンド例を示します。
例from ultralytics.utils.benchmarks import benchmark # GPUでベンチマークを実行 benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)詳しくは、性能指標のセクションをご覧ください。