Ultralytics YOLOv8 を探索する

概要

YOLOv8 は、2023年1月10日に Ultralytics からリリースされ、精度と速度の両面で最先端のパフォーマンスを提供します。従来の YOLO バージョンの進歩に基づき、YOLOv8 は、幅広いアプリケーションにおけるさまざまな object detection タスクにとって理想的な選択肢となる新機能と最適化を導入しました。

YOLOv8 パフォーマンス比較チャート



Watch: Ultralytics YOLOv8 Model Overview
Ultralytics Platformで試す

Ultralytics Platform で YOLOv8 モデルを直接探索および実行できます。

YOLOv8 の主な特徴

  • 高度なバックボーンおよびネックアーキテクチャ: YOLOv8 は最先端のバックボーンおよびネックアーキテクチャを採用しており、feature extraction および object detection のパフォーマンスを向上させています。
  • アンカーフリーの分割 Ultralytics ヘッド: YOLOv8 は、アンカーベースのアプローチと比較して、より高い精度と効率的な検出プロセスに寄与するアンカーフリーの分割 Ultralytics ヘッドを採用しています。
  • 最適化された精度と速度のトレードオフ: 精度と速度の最適なバランスを維持することに重点を置いており、YOLOv8 は多様なアプリケーション領域におけるリアルタイムの object detection タスクに適しています。
  • 多様な事前学習済みモデル: YOLOv8 は、さまざまなタスクやパフォーマンス要件に対応する幅広い事前学習済みモデルを提供しており、特定のユースケースに最適なモデルを見つけやすくなっています。

サポートされているタスクとモード

YOLOv8 シリーズは、コンピュータービジョンの各タスクに特化した多様なモデルを提供しています。これらのモデルは、object detection から、instance segmentation、姿勢/キーポイント検出、指向性 object detection、分類といったより複雑なタスクまで、さまざまな要件に応えるように設計されています。

YOLOv8 シリーズの各バリエーションは、それぞれのタスクに合わせて最適化されており、高いパフォーマンスと精度を保証します。さらに、これらのモデルは、InferenceValidationTrainingExport を含むさまざまな動作モードと互換性があり、デプロイや開発のさまざまな段階での使用を容易にします。

モデルファイル名タスク推論 (Inference)検証学習Export
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt検出
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptインスタンスセグメンテーション
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptポーズ/キーポイント
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt方向付き検出
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt分類

この表は、YOLOv8 モデルのバリエーションの概要を提供し、特定のタスクへの適合性と、Inference、Validation、Training、Export などのさまざまな動作モードとの互換性を強調しています。YOLOv8 シリーズの汎用性と堅牢性を示しており、computer vision におけるさまざまなアプリケーションに適しています。

性能メトリクス

性能

See Detection Docs for usage examples with these models trained on COCO, which include 80 pretrained classes.

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms)
速度
A100 TensorRT
(ms)
パラメータ
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

YOLOv8の使用例

この例では、YOLOv8の基本的なトレーニングと推論の例を紹介します。これらのモードおよびその他の詳細なドキュメントについては、PredictTrainVal、およびExportのドキュメントページを参照してください。

以下の例は、物体検出を行うYOLOv8 Detectモデルを対象としています。その他のサポートされているタスクについては、SegmentClassifyOBB、およびPoseのドキュメントを参照してください。

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の公開について

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ヘッド、最先端のbackboneおよびネックアーキテクチャを組み込んでおり、精度と速度のトレードオフを最適化しているため、多様なアプリケーションに最適です。詳細については、概要および主な機能セクションを確認してください。

YOLOv8をさまざまなコンピュータビジョンのタスクに利用するにはどうすればよいですか?

YOLOv8は、物体検出、インスタンスセグメンテーション、ポーズ/キーポイント検出、指向性物体検出、分類など、幅広いコンピュータビジョンのタスクをサポートしています。各モデルバリエーションは、特定のタスクに合わせて最適化されており、推論検証トレーニングエクスポートといったさまざまな運用モードと互換性があります。詳細については、サポートされているタスクとモードセクションを参照してください。

YOLOv8モデルのパフォーマンス指標は何ですか?

YOLOv8モデルは、さまざまなベンチマークデータセット全体で最先端のパフォーマンスを達成しています。例えば、YOLOv8nモデルは、COCOデータセットで37.3のmAP (mean Average Precision) を達成し、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, half=False, device=0)

詳細については、パフォーマンス指標セクションを確認してください。

コメント