Ultralytics YOLOv8を詳しく見る#
概要#
YOLOv8は2023年1月10日にUltralyticsからリリースされ、精度と速度の面で最先端のパフォーマンスを提供します。以前のYOLOバージョンの進歩を基盤として、YOLOv8は新しい機能と最適化を導入し、幅広いアプリケーションにおけるさまざまな物体検出タスクに適した選択肢となっています。

Watch: Ultralytics YOLOv8 Model Overview
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のドキュメントページをご覧ください。
以下の例は、物体検出用のYOLOv8Detectモデルを対象としています。その他の対応タスクについては、Segment、Classify、Pose、OBBのドキュメントをご覧ください。
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")引用と謝辞#
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ライセンスで提供されています。
FAQ#
YOLOv8モデルは、さまざまなベンチマークデータセットで最先端のパフォーマンスを達成しています。たとえば、YOLOv8nモデルはCOCOデータセットでmAP(平均適合率)37.3、A100 TensorRTで速度0.99 msを達成します。各モデルバリアントについて、異なるタスクやデータセットにわたる詳細なパフォーマンス指標は、パフォーマンス指標のセクションで確認できます。
YOLOv8モデルは、PythonまたはCLIを使用してトレーニングできます。以下に、COCOで事前学習したYOLOv8モデルをCOCO8データセット上で100エポックトレーニングする例を示します。
例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)詳細については、トレーニングのドキュメントをご覧ください。
はい。YOLOv8モデルは、さまざまなエクスポート形式にわたって速度と精度の面でベンチマークできます。ベンチマークにはPyTorch、ONNX、TensorRTなどを使用できます。以下に、PythonとCLIを使用してベンチマークを実行するコマンド例を示します。
例from ultralytics.utils.benchmarks import benchmark # Benchmark on GPU benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)詳しくは、パフォーマンス指標のセクションをご覧ください。