Ultralytics YOLO27:

Ultralytics YOLOv8を詳しく見る#

概要#

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

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



Watch: Ultralytics YOLOv8 Model Overview
Ultralytics Platformで試す

Ultralytics PlatformでYOLOv8モデルを直接探索して実行できます。

YOLOv8の主な機能#

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

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

YOLOv8シリーズは、コンピュータービジョンにおける特定のタスクに特化した多様なモデルを提供します。これらのモデルは、物体検出から、インスタンスセグメンテーション、分類、ポーズ/キーポイント検出、回転物体検出などのより複雑なタスクまで、さまざまな要件に対応するよう設計されています。

YOLOv8シリーズの各バリアントは、それぞれのタスクに合わせて最適化されており、高いパフォーマンスと精度を実現します。さらに、これらのモデルは、推論検証トレーニングエクスポートなど、さまざまな運用モードに対応しており、デプロイや開発の各段階で利用できます。

モデルファイル名タスクトレーニング検証推論エクスポート
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-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.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モデルの各バリアントの概要を示し、特定のタスクへの適用性と、推論、検証、トレーニング、エクスポートなどのさまざまな運用モードとの互換性を強調しています。YOLOv8シリーズの柔軟性と堅牢性を示しており、さまざまなコンピュータービジョンアプリケーションに適しています。

性能指標#

性能

COCOでトレーニングされたこれらのモデルの使用例については、80個の事前学習済みクラスを含む検出ドキュメントをご覧ください。

モデルサイズ
(ピクセル)
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.1
YOLOv8x64053.9479.13.5368.2257.8

YOLOv8の使用例#

この例では、YOLOv8のトレーニングと推論の基本的な例を紹介します。これらおよびその他のモードに関する完全なドキュメントについては、PredictTrainValExportのドキュメントページをご覧ください。

以下の例は、物体検出用のYOLOv8Detectモデルを対象としています。その他の対応タスクについては、SegmentClassifyPoseOBBのドキュメントをご覧ください。

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は、高度な機能によってリアルタイム物体検出のパフォーマンスを向上させるよう設計されています。以前のバージョンとは異なり、YOLOv8はアンカーフリーの分割Ultralyticsヘッド、最先端のバックボーンおよびネックアーキテクチャを採用し、精度と速度のトレードオフを最適化しているため、さまざまなアプリケーションに適しています。詳細については、概要主な機能のセクションをご覧ください。

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

  • 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)

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

コメント