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 | Detection | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-seg | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt | Instance Segmentation | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-cls | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt | Classification | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-pose | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt | Pose/Keypoints | ✅ | ✅ | ✅ | ✅ |
| YOLOv8-obb | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt | Oriented Detection | ✅ | ✅ | ✅ | ✅ |
この表では、YOLOv8 モデルバリアントの概要を示し、特定のタスクへの適用性と、推論、検証、トレーニング、エクスポートなどのさまざまな操作モードとの互換性を強調しています。これは YOLOv8 シリーズの多用途性と堅牢性を示しており、コンピュータビジョンにおけるさまざまなアプリケーションに適しています。
性能メトリクス#
YOLOv8 の使用例#
この例では、簡単な YOLOv8 のトレーニングと推論の例を提供します。これらおよびその他のモードに関する完全なドキュメントについては、Predict、Train、Val、および Export のドキュメントページをご覧ください。
以下の例は、オブジェクト検出用の YOLOv8 Detect モデルに関するものであることに注意してください。サポートされているその他のタスクについては、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 とは何ですか?また、以前の YOLO バージョンと何が異なりますか?#
YOLOv8 は、高度な機能によりリアルタイムオブジェクト検出のパフォーマンスを向上させるように設計されています。以前のバージョンとは異なり、YOLOv8 にはアンカーフリーの分割 Ultralytics ヘッド、最先端のバックボーンおよびネックアーキテクチャが組み込まれており、最適化された精度と速度のトレードオフを提供するため、多様なアプリケーションに最適です。詳細については、概要および主な機能のセクションをご確認ください。
YOLOv8 をさまざまなコンピュータビジョンのタスクでどのように使用できますか?#
YOLOv8 は、オブジェクト検出、インスタンスセグメンテーション、姿勢/キーポイント検出、傾き物体検出、分類など、幅広いコンピュータビジョンタスクをサポートしています。各モデルバリアントは特定のタスクに最適化されており、推論、検証、トレーニング、エクスポートなどのさまざまな操作モードと互換性があります。詳細については、サポートされているタスクとモードのセクションをご参照ください。
YOLOv8 モデルのパフォーマンスメトリクスはどのようになっていますか?#
YOLOv8 モデルは、さまざまなベンチマークデータセットにおいて最先端のパフォーマンスを実現します。たとえば、YOLOv8n モデルは、COCO データセットで 37.3 の mAP(平均精度平均)を達成し、A100 TensorRT で 0.99 ms の速度を達成します。さまざまなタスクおよびデータセットにおける各モデルバリアントの詳細なパフォーマンス指標は、パフォーマンス指標のセクションで見つけることができます。
YOLOv8 モデルのトレーニング方法は?#
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 モデルのパフォーマンスをベンチマークできますか?#
はい、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)詳細については、パフォーマンス指標のセクションをご確認ください。