コンテンツへスキップ

Ultralytics YOLOv8

概要

YOLOv8 は、リアルタイム物体検出器YOLO シリーズの最新版で、精度と速度の面で最先端の性能を提供します。これまでのYOLO バージョンの進化をベースに、YOLOv8 は新機能と最適化を導入し、幅広いアプリケーションにおけるさまざまな物体検出タスクに理想的な選択肢を提供します。

Ultralytics YOLOv8



見るんだ: Ultralytics YOLOv8 モデル概要

主な特徴

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

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

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

YOLOv8 シリーズの各バリエーションは、それぞれのタスクに最適化されており、高い性能と精度を保証します。さらに、これらのモデルは、推論検証トレーニングエクスポートなど、さまざまな操作モードに対応しており、展開や開発のさまざまな段階での使用が容易になっています。

モデルファイル名タスク推論バリデーショントレーニング輸出
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt検出
YOLOv8-セグyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.ptインスタンスのセグメンテーション
YOLOv8-ポーズyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.ptポーズ/キーポイント
YOLOv8-オッブyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt指向性検出
YOLOv8-cls(クルスyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt分類

この表は、YOLOv8 モデルバリアントの概要を示し、特定のタスクにおける適用可能性と、推論、検証、トレーニング、エクスポートなどのさまざまな動作モードとの互換性を強調しています。この表は、YOLOv8 シリーズの多用途性と堅牢性を示しており、コンピュータビジョンのさまざまなアプリケーションに適しています。

パフォーマンス指標

パフォーマンス

80の訓練済みクラスを含むCOCO上で訓練されたこれらのモデルの使用例については、Detection Docsを参照してください。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms
)
速度
A100 TensorRT
(ms
)
params
(M)
フロップス
(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

Open Image V7でトレーニングされたこれらのモデルの使用例については、Detection Docsを参照してください。

モデルサイズ
(ピクセル)
mAPval
50-95
速度
CPU ONNX
(ms
)
速度
A100 TensorRT
(ms
)
params
(M)
フロップス
(B)
YOLOv8n64018.4142.41.213.510.5
YOLOv8s64027.7183.11.4011.429.7
YOLOv8m64033.6408.52.2626.280.6
YOLOv8l64034.9596.92.4344.1167.4
YOLOv8x64036.3860.63.5668.7260.6

COCOで訓練されたこれらのモデルの使用例については、Segmentation Docsを参照してください。

モデルサイズ
(ピクセル)
mAPbox
50-95
mAPmask
50-95
速度
CPU ONNX
(ms
)
速度
A100 TensorRT
(ms
)
params
(M)
フロップス
(B)
YOLOv8n-セグ64036.730.596.11.213.412.6
YOLOv8s-セグ64044.636.8155.71.4711.842.6
YOLOv8m-セグ64049.940.8317.02.1827.3110.2
YOLOv8l-セグ64052.342.6572.42.7946.0220.5
YOLOv8x-セグ64053.443.4712.14.0271.8344.1

ImageNetで訓練されたこれらのモデルの使用例については、Classification Docsを参照してください。

モデルサイズ
(ピクセル)
acc
top1
acc
top5
速度
CPU ONNX
(ms
)
速度
A100 TensorRT
(ms
)
params
(M)
フロップス
(B) 640にて
YOLOv8n-cls(クルス22469.088.312.90.312.74.3
YOLOv8s-cls(クルス22473.891.723.40.356.413.5
YOLOv8m-cls(クルス22476.893.585.40.6217.042.7
YOLOv8l-cls(クルス22476.893.5163.00.8737.599.7
YOLOv8x-cls(クルス22479.094.6232.01.0157.4154.8

COCOで訓練されたこれらのモデルの使用例については、Pose Estimation Docsを参照してください。

モデルサイズ
(ピクセル)
mAPpose
50-95
mAPpose
50
速度
CPU ONNX
(ms
)
速度
A100 TensorRT
(ms
)
params
(M)
フロップス
(B)
YOLOv8n-ポーズ64050.480.1131.81.183.39.2
YOLOv8s-ポーズ64060.086.2233.21.4211.630.2
YOLOv8m-ポーズ64065.088.8456.32.0026.481.0
YOLOv8l-ポーズ64067.690.0784.52.5944.4168.6
YOLOv8x-ポーズ64069.290.21607.13.7369.4263.2
YOLOv8x-pose-p6128071.691.24088.710.0499.11066.4

DOTAv1で訓練されたこれらのモデルの使用例については、Oriented Detection Docsを参照のこと。

モデルサイズ
(ピクセル)
mAPtest
50
速度
CPU ONNX
(ms
)
速度
A100 TensorRT
(ms
)
params
(M)
フロップス
(B)
YOLOv8n-オッブ102478.0204.773.573.123.3
YOLOv8s-オッブ102479.5424.884.0711.476.3
YOLOv8m-オッブ102480.5763.487.6126.4208.6
YOLOv8l-オッブ102480.71278.4211.8344.5433.8
YOLOv8x-オッブ102481.361759.1013.2369.5676.7

使用例

この例では、単純なYOLOv8 トレーニングと推論の例を提供します。これらのモードや他のモードに関する完全なドキュメントはPredict,Train,ValandExportdocs ページを参照してください。

以下の例は、YOLOv8 オブジェクト検出のためのDetectモデルであることに注意してください。その他のサポートされるタスクについては、SegmentClassifyOBBdocs、Posedocsを参照してください。

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

CLI コマンドでモデルを直接実行できる:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=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ライセンスで提供されています。

よくあるご質問

YOLOv8 、以前のYOLO バージョンとの違いは?

YOLOv8 は、Ultralytics YOLO シリーズの最新版で、高度な機能によりリアルタイムの物体検出性能を向上させるよう設計されています。以前のバージョンとは異なり、YOLOv8 は、アンカーフリーのスプリット・ヘッド(Ultralytics )、最先端のバックボーンとネック・アーキテクチャを搭載し、精度と速度のトレードオフを最適化することで、多様なアプリケーションに理想的な製品となっています。詳細については、「概要」と「主な特長」をご覧ください。

コンピュータ・ビジョンのさまざまなタスクにYOLOv8 。

YOLOv8 は、物体検出、インスタンス分割、ポーズ/キーポイント検出、指向性物体検出、分類など、幅広いコンピュータビジョンタスクをサポートしています。各モデルのバリアントは、特定のタスクに最適化されており、推論検証トレーニングエクスポートなどのさまざまな操作モードに対応しています。詳細については、「サポートされるタスクとモード」のセクションを参照してください。

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

YOLOv8 モデルは、さまざまなベンチマークデータセットで最先端の性能を達成している。例えば、YOLOv8n モデルでは、COCO データセットで 37.3 の mAP(平均平均精度)、A100TensorRT で 0.99 ms の速度を達成しています。様々なタスクやデータセットにおける各モデルバリアントの詳細なパフォーマンスメトリクスは、パフォーマンスメトリクスのセクションで見ることができます。

YOLOv8 モデルのトレーニング方法は?

YOLOv8 モデルのトレーニングは、Python またはCLI のいずれかを使用して行うことができます。以下は、COCO8 データセット上で、COCO-pretrainedYOLOv8 モデルを使用して、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)
yolo train model=yolov8n.pt 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)
yolo benchmark model=yolov8n.pt data='coco8.yaml' imgsz=640 half=False device=0

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

📅作成:1年前 ✏️更新 13日前

コメント